NSLocalizedString - 强制特定于国家/地区的字符串文件

时间:2016-12-08 13:12:57

标签: ios xcode localization nslocalizedstring localizable.strings

我们在使用捆绑字符串文件处理NSLoaclizedString时遇到了奇怪的行为。

我们维护了我们的字符串文件:

  • de_AT(奥地利德语)
  • de_DE(德国德语)

我们没有设置任何基本/默认字符串文件,因为我们通常不想为每个区域定义应该使用哪个字符串文件。所以

  • 波兰地区应使用de_DE
  • 意大利地区应使用de_AT

在我们的测试中,我们刚刚发现,如果语言环境不匹配,NSLocalizedString只会将第一个包(de_AT)与任何Locale无关。 有没有办法定义/控制我们想要查看翻译的Locale?

我们只找到了该语言的参数“tableName”,但没有语言&特定国家/地区的语言环境...我们不希望为每种可用的语言和组合创建Localizable.strings。国家。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的我们研究了很多,我们当前的解决方案是创建独立的Localizable.strings文件并为每个语言环境命名:

  • de_AT.strings
  • de_DE.strings

根据我们的映射逻辑,我们然后设置正确的bundleName ...