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