代码之家  ›  专栏  ›  技术社区  ›  Ben Zotto sberry

iPhone:NSLocalizedString从English.strings文件读取,即使设置了另一个lang

  •  4
  • Ben Zotto sberry  · 技术社区  · 14 年前

    我有一个应用程序,有一些非美国本地化.strings文件。它们在项目中的出现与我期望的一样:有一个Localizable.strings对象,以及“en”、“fr”等的子对象。其中每个对象都是一个UTF16文本文件,我已经验证了它们作为正确的二进制plist文件传播到构建包中。

    不过,在运行我的应用程序时,即使设备设置是其他语言,也只会返回英语Localizable.strings文件中的字符串

    所以:字符串文件看起来不错,构建和部署也不错。

    我还需要做些什么来“告诉”项目支持其他语言环境吗?

    5 回复  |  直到 14 年前
        1
  •  6
  •   ThomasRS    14 年前

    如果在项目的根目录下运行一个带有Localizable.strings文件的应用程序,清理是不够的,还需要从模拟器中删除该应用程序。

        2
  •  5
  •   Ben Zotto sberry    14 年前

    我把这个问题留在这里,以防其他人碰到这个问题。

        3
  •  2
  •   Rob    14 年前

    它还可以帮助在本地化.NIB后从模拟器中卸载应用程序,因为本地化版本将在新位置(如“en.lproj”、“fr.lproj”)中有两个(或更多)新文件。但是,当您构建模拟器时,删除旧的.xib文件太愚蠢了,因此它将继续加载旧的过时的xib文件,而不是新的本地化版本,直到您通过重新安装应用程序清除设备。

        4
  •  2
  •   Gianluca C    13 年前

    我这样解决: 我从模拟器中删除了应用程序,在xcode:Product->清洁

        5
  •  0
  •   Cœur N0mi    5 年前

    preferredLanguages currentLocale .

    NSLocalizedString是否不从正确的文件返回键控字符串?

    在本地化过程中,你必须确保你正在改变你认为你正在改变的东西。如果在首选项中更改语言,则会影响从localizable.strings文件返回的字符串。如果您更改区域格式下的设置,该格式仅为日期、货币符号等。