Macro

NSLocalizedStringWithDefaultValue

Returns a localized version of a string from the specified table in the given bundle while falling back on the given default value.

Declaration

#define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment)

Parameters

key

The key for a string in the specified table.

tableName

The name of the table containing the key-value pairs. Also, the suffix for the strings file (a file with the .strings extension) to store the localized string.

bundle

The bundle containing the strings file.

value

The value to return if key is nil or if a localized string for key can’t be found in the table.

comment

The comment to place above the key-value pair in the strings file.

Return Value

The result of sending localizedStringForKey:value:table: to bundle, passing the specified key, value, and tableName.

Discussion

Use this macro to generate a strings files named [tableName].strings located in bundle from your code using the genstrings utility. The initial value for key in the strings file will be value. You can specify Unicode characters in key using \\Uxxxx—see the -u option for for the genstrings utility.

As of OS X 10.11 and iOS 9, NSBundle is thread-safe. As such, NSLocalizedStringWithDefaultValue can safely be called from any execution context.

See Also

Localization

NSLocale

Information about linguistic, cultural, and technological conventions for use in formatting data for presentation.

NSOrthography

A description of the linguistic content of natural language text, typically used for spelling and grammar checking.

NSLocalizedString

Returns a localized version of a string.

NSLocalizedStringFromTable

Returns a localized version of a string from the specified table.

NSLocalizedStringFromTableInBundle

Returns a localized version of a string from the specified table in the given bundle.