我有一个应用程序有一些非美国Localizable.strings文件。他们出现在项目中,我期望他们:有一个Localizable.strings对象,以及用于“en”,“fr”等的子对象。每个都是UTF16文本文件,并且我已验证它们会传播进入构建包作为正确的二进制plist文件。iPhone:NSLocalizedString从英文.strings文件读取甚至当另一个lang被设置时
当运行我的应用程序,但是,即使在设备设置一些其他的语言,只能从我的英语Localizable.strings的字符串文件回来
从NSLocale首选语言例如“fr”我可以看到设备设置正在通过某种方式获得,因为系统工具栏按钮(“撤消”等)被翻译。
但我的字符串仍然是英文。 (请注意,它们来自.strings文件,因为我编辑了该文件来进行验证。)
因此:字符串文件看起来不错,并且已构建并部署成功。
有什么我需要做的“告诉”项目,其他语言环境支持?
谢谢!
亚当,感谢您的回答。当我将偏好中的语言更改为“法语”时,我的首选语言是“fr”(这是正确的)。但是,然后NSLocalizedString从我的英文.strings文件中返回字符串。有任何想法吗? – 2010-06-04 05:11:43
为了清晰起见,更新了问题。 – 2010-06-04 06:08:28
您正在将国际标题下的语言设置为法语,因此应该从localizable.strings下的“fr”文件中获取文本。我猜想由于某种原因它会回落到英语 - 您的字符串文件或选定的编码可能有问题吗?我不完全确定这一点,但在字符串文件中可能不匹配的引号或分号可能会导致此问题。当然你的密钥资源必须存在。 – 2010-06-04 06:12:59