总是返回英语

发布于 2024-10-14 18:39:13 字数 636 浏览 2 评论 0 原文

这是我的代码:

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

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

我的包结构如下所示:

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

我的 Localized.strings 如下所示:

在 en.lproj 目录中:

kTCStringMissing = "Missing Fields en";

在 de.lproj 目录中:

kTCStringMissing = "Missing Fields de";

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

我缺少什么?

Here is my code:

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

I know that the bundle variable is pointing to the correct bundle because the English value is coming out correctly -- see below.

My bundle structure looks like this:

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

My Localizable.strings look like this:

in the en.lproj directory:

kTCStringMissing = "Missing Fields en";

in the de.lproj directory:

kTCStringMissing = "Missing Fields de";

But when I run my app in the simulator, after setting the language to Deutsch, and the region to Deutschland, the *string object above always has value "Missing Fields en".

What am I missing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

太阳哥哥 2024-10-21 18:39:13

恕我直言,你也必须引用密钥。
(参见Apple 的资源编程指南了解详细信息)

即 "kTCStringMissing" = "Missing Fields en";

imho you have to quote the keys, too.
(see Apple's Resource Programming Guide for details)

i.e. "kTCStringMissing" = "Missing Fields en";

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文