What is iOS Strings Resources, and how does it work for localization and internationalization?
File Extensions | .strings |
API Extension | strings |
Import | Yes |
Export | Yes |
Pluralization supported? | No |
Descriptions supported? | Yes |
Format Options | convert_placeholder, include_pluralized_keys |
Strings Resource files are standard localization files used for iOS and OS X applications. A Strings Resource file consists of key-value pairs connected by an “=” sign. It looks similar to a Java Properties file, except that both keys and values are wrapped in double-quotes and that each key-value pair ends with a semicolon.
If you generate Strings Resource files using a 3rd party tool (e.g. genstrings), it is possible that you end up having files with duplicate key strings. Generally, duplicate keys would not break the app, but it is always a good idea to remove these duplicates before initiating the translation process.
Format Options
Convert placeholder
Identifier | convert_placeholder |
Type | boolean |
Upload | No |
Download | Yes |
Default | false |
Description | Placeholder will be converted to match format specific requirements. Example: '$s' => '$@' |
Include pluralized keys
Identifier | include_pluralized_keys |
Type | boolean |
Upload | No |
Download | Yes |
Default | true |
Description | Also include pluralized keys in the locale file. |
Code Sample
"boolean_key" = "--- true\n";
"empty_string_translation" = "";
/* This is the amazing description for this key! */
"key_with_description" = "Check it out! This key has a description! (At least in some formats)";
"key_with_line-break" = "This translations contains\na line-break.";
"nested.deeply.key" = "Wow, this key is nested even deeper.";
"nested.key" = "This key is nested inside a namespace.";
"null_translation" = "";
"pluralized_key.one" = "Only one pluralization found.";
"pluralized_key.other" = "Wow, you have %s pluralizations!";
"pluralized_key.zero" = "You have no pluralization.";
"sample_collection" = "---\n- first item\n- second item\n- third item\n";
"simple_key" = "Just a simple key with a simple message.";
"unverified_key" = "This translation is not yet verified and waits for it. (In some formats we also export this status)";
More Information