localizable.strings - 在模拟器中工作,但在设备上不工作

时间:2012-02-20 13:49:06

标签: ios xcode localization ios-simulator

我的语言有问题。我只在我的设备上看到用NSLocalizedString定义的每个条目的ID_String。在storyborad中设置的所有文本/图像等都正确显示。如果我使用模拟器,一切都很好!

所以,我希望您使用NSLocalizedString - 可以稍后使用该选项翻译我的应用程序。此时我的应用程序仅限德语。

  • 我使用storybord选项。在选项中,我将本地化设置为德国
  • 我将一个字符串文件添加到我的项目中,同时使用德语本地化
  • 此文件中的所有行看起来像" OK_Button" ="好的&#34 ;;

在我的项目文件夹中有一个de.lproj文件夹,包括storybord,InfoPlist.strings和localizable.strings

这两个蜇被保存为UTF16。我在TextWrangler中打开这些文件并再次保存它们。

我搜索了几天的原因,但我没有看到我的问题。 有没有一个想法是错的,或者我的代码中缺少什么?

3 个答案:

答案 0 :(得分:3)

默认情况下,Max OS X使用不区分大小写的文件系统,但是在设备上没有工作的一个原因是iOS OS使用区分大小写的文件系统。检查以确保您的文件名为"Localizable.strings"

答案 1 :(得分:0)

问题的另一个原因可能是Localizable.strings目录中有Base.lproj个文件。它使iPhone使用Base翻译文件而不是正确的翻译文件。

请参阅:Creating Strings Files for User-Facing Text in Your Code

答案 2 :(得分:0)

如果上述解决方案对您不起作用,则问题可能与您的“编辑架构”及其运行语言有关。这就是为什么您的设备会打开与预期不同的语言。

Open your Edit Schema

  1. 选择左侧菜单中的“运行”卡片
  2. 找到左侧的“选项”标签并选择“应用语言”
  3. 确保您选择了“系统语言”

即使我的设备安装了我的应用支持的语言,我的编辑模式发送了不同的语言。这就是为什么它打开英文版的原因,这是默认的。