I read a lot about Base Translation in Xcode but some parts seem far away from being intuitive or correct.
localizable.strings
For this question I assume to have an App with base translation and CFBundleDevelopmentRegion = en
.
Expected behavior
1) What is inside base translation of localizable.strings
?
It should be english. So all Apps with a missing translation should fall back to base (=english).
2) What do new translations base upon?
When I export xliff
files for translation they should source on base translation.
3) Is english needed beside base which is english?
I should not need an english translation, since base is english
Actual behavior
1) I don't see a use for base translation of localizable.strings
. It is not used as fallback. It is not used for new translations.
2) xliffs for new languages depend on CFBundleDevelopmentRegion
, so in this case the english translation. E.g: I export xliff for fr
-> I get a file which has english translation to work out french translation.
3) To have xliff not to depend on the key in NSLocalizedString
I need to have a localizable.strings
in english.
This ends me up in the following.
1) I don't have a base localization for localizable.strings
2+3) Instead I need a localization for english and for that I need english as supported language beside base
.
XIB/Storyboard
In XIB/Storyboard it is different! I understand that base
here could be something abstract like "Header Label" or "username" since I can't describe that otherwise.
All together
I don't need base
for anything. Instead I need the language of CFBundleDevelopmentRegion
plus each localization I need additionally as translations.
Questions
1) Is base a concrete language (e.g. english) or an abstract description (e.g. "username")?
2) Do I need the CFBundleDevelopmentRegion
as a concrete localization beside base?