关于NSLocalizedString()的一个问题

2012-02-16 21:38:07 +08:00
 1212e
这是我在.m文件里的一段代码:
UIActionSheet *someSheet = [[UIActionSheet alloc]
initWithTitle:NSLocalizedString(@"TITLE", nil)
delegate:self
cancelButtonTitle:@"CANCEL"
destructiveButtonTitle:nil
otherButtonTitles:@"option1", @"option2", nil
];

另外,我在 Localizable.strings (English) 文件里写了:
"TITLE" = "Share";
在 InfoPlist.strings (English) 文件里写了:
CFBundleDisplayName = "AppName";

Localizable.strings我只翻译了中文和英文两份,中文的strings就不写出来了.

我把iphone设定成中文,运行时TITLE会翻译成"标题",程序名也会变成对应的中文名.

但如果我把iphone设定成一个没有翻译过的语言,比如日语,程序内应该是默认用英语的.

桌面上App的名字的确变成了"AppName",可是程序里应该输出"Share"的位置直接输出了"TITLE".

这是为什么呢?
3796 次点击
所在节点    iDev
3 条回复
1212e
2012-02-16 21:48:02 +08:00
这是我在StackOverflow上面对这个的提问,无奈英语不太好,老外们似乎看不太懂?...
http://stackoverflow.com/questions/9309497/localizable-strings-english-doesnt-work-but-infoplist-strings-english-works
1212e
2012-02-16 22:51:21 +08:00
好吧...我自行解决了...Simulator -> Erase all (我去吐会血...
xilihwala
2012-02-17 01:53:16 +08:00
呵呵,这种郁闷的事情常遇到,清清更健康

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/27511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX