2011-01-27 83 views
0

这里是我的代码:总是返回英语

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

我知道包变量指向正确的包,因为英国的值是否正确现身 - 见下文。

我的包结构如下:

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

我Localizable.strings是这样的:

在en.lproj目录

kTCStringMissing = “缺少的字段恩”;

在de.lproj目录

kTCStringMissing = “丢失的字段德”;

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

我错过了什么?

回答

0

imho你也必须引用密钥。 (详见Apple's Resource Programming Guide

即“kTCStringMissing”=“Missing Fields en”;

+1

键必须被引用,但通过使用苹果提供的命令行`genstrings`,``genstrings -o English.lproj/* .m``,您将遇到更少的问题。链接的文档讨论该工具。 – bdunagan 2011-06-24 13:36:26