【发布时间】:2012-01-07 01:01:04
【问题描述】:
我知道很多开发者就是这样做的:他们开始用英语开发他们的应用程序,并输入NSLoclaizedString(@"Tap this to do that!", @"Telling what to do...") 而不是简单的@"Tap this to do that!"。
然后他们运行genstrings,它通过提取所有这些字符串以某种方式创建了一个 Localizable.strings 文件。混乱的部分:代码中使用的长文本成为关键。有用。直到有一天您快速进入您的代码并更改英文字符串并忘记 Localization 并且它充当所有那些 Localizable.strings 文件的关键。
所以我倾向于使用不会与字符串混淆的“真实”键。为了快速测试,我创建了一个本地化为英语和法语的项目。然后我将模拟器语言设置为德语。因为,您知道,如果用户看到像 TTTDT 这样的密钥,那将非常糟糕。
因此,只有英语和德语就位,我启动了演示应用程序。我得到的是来自英文 Localizable.strings 文件的英文文本。
结论:如果应用程序没有涵盖操作系统语言,NSLocalizedString 似乎会回退到英文文件。
问题:假设始终存在一个Localizable.strings (English) 文件,并且文件中的键是正确格式的值。是否存在 NSLocalizedString 会失败,然后直接显示 key 的情况?
【问题讨论】:
标签: iphone ios ipad localization nslocalizedstring