To test i18n in iOS app add to launch arguments next:
-NSDoubleLocalizedStrings YES
- will double localized texts - will help to test layout and help to find missed localization.
-NSShowNonLocalizedStrings YES
- non localized string will SCREAM! on you uppercased
Also useful at development state could be using pseudo-localization string. (inspired by: https://stackoverflow.com/questions/13939766/are-there-any-good-tools-for-ios-pseudo-localization)
You can achieve this with the Translate Toolkit.
Step 1 - convert .strings file to PO by prop2po
converter:
prop2po Localizable.strings en.po
Step 2 - rewrite it by podebug in the desired rewrite format.
podebug --rewrite=unicode en.po en_rewritten.po
Step 3 - convert it back to .strings
po2prop en_rewritten.po rewritten.strings -t Localizable.strings
Use it for development and debugging
to find a duplicated localized key - value you can use next bash script:
sort Localizable.strings | uniq -c | grep -v '^ *1 '
Good to validate Localized files by:
plutil -lint Localized.strings