【问题标题】:always returning english总是返回英语
【发布时间】:2011-01-27 17:29:40
【问题描述】:

这是我的代码:

    NSString *string = [bundle localizedStringForKey:@"kTCStringMissing" value:@"" table:nil];

我知道 bundle 变量指向正确的 bundle,因为英文值正确输出 - 见下文。

我的包结构如下所示:

ToyCalculatorUI.bundle  
  en.lproj [directory]  
    Localizable.strings [file]
  de.lproj [directory]
    Localizable.strings [file]

我的 Localizable.strings 如下所示:

在 en.lproj 目录中:

kTCStringMissing = "缺失字段";

在 de.lproj 目录中:

kTCStringMissing = "缺失字段";

但是当我在模拟器中运行我的应用程序时,在将语言设置为 Deutsch 并将区域设置为 Deutschland 之后,上面的 *string 对象始终具有值“Missing Fields en”。

我错过了什么?

【问题讨论】:

    标签: iphone ios localization nsbundle nslocalizedstring


    【解决方案1】:

    恕我直言,您也必须引用密钥。 (详见Apple's Resource Programming Guide

    即"kTCStringMissing" = "缺少字段 en";

    【讨论】:

    • 这些键必须被引用,但使用genstrings,Apple 提供的命令行:genstrings -o English.lproj/ *.m,您会遇到更少的问题。链接的文档讨论了该工具。
    猜你喜欢
    • 2019-02-11
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2015-08-11
    • 2020-02-08
    • 2019-05-11
    • 2020-08-09
    • 2015-12-16
    相关资源
    最近更新 更多