我有一个应用程序,有一些非美国Localizable.strings文件.它们出现在项目中,正如我所期望的那样:有一个Localizable.strings对象,以及"en","fr"等的子对象.其中每个都是UTF16文本文件,我已经验证它们会被传播作为正确的二进制plist文件进入构建包.
但是,在运行我的应用程序时,即使设备设置是其他语言,也只有我的英文Localizable.strings文件中的字符串会回来
来自NSLocale的首选语言是例如"fr"我可以看到设备设置以某种方式通过,因为系统工具栏按钮("撤消"等)被翻译.
但我的字符串仍然是英文.(请注意,它们来自.strings文件,因为我已对其进行了编辑以进行验证.)
所以:字符串文件似乎没问题,并且可以构建和部署.
还有什么我需要做的"告诉"项目是否支持其他语言环境?
谢谢!
我有:
-(IBAction)about {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"About", @"Title of AlertView")
message:@"App name \n© My name \n2010"
delegate:self
cancelButtonTitle:NSLocalizedString(@"Back", @"Cancel Button Title")
otherButtonTitles:nil];
[alert show];
[alert release];
}
Run Code Online (Sandbox Code Playgroud)
在Localizable.strings中:
/* Title of AlertView */
"About" = "Über";
/* Cancel Button Title */
"Back" = "Zurück";
Run Code Online (Sandbox Code Playgroud)
我的问题:当语言是德语时它是德语但是当我将语言改为英语时,警报视图仍然是德语
怎么了?
我有一个应该被本地化的应用程序(两种语言,英语是默认的).
但是,我似乎只获得所有字符串的英文版本,无论系统默认语言是什么.我可能遗漏了一些微不足道的东西,但我现在已经阅读了几个教程而没有任何解决方案.
我把这行添加到main(),
NSLog(@"Current locale is: %@", [[NSLocale currentLocale] localeIdentifier]);Run Code Online (Sandbox Code Playgroud)
并且产生的打印输出是en_US,而系统设置为使用本地化语言.
我检查了构建输出,应用程序包包含XX.lproj文件夹,因为我认为它们应该(并且它们是UTF-16,我确认了这一点).
我错过了什么?
编辑:当我通过分发证书通过iTunes部署应用程序时,我的本地化似乎正在工作,但在使用XCode(Command-R或类似的)时却没有.有谁知道我的调试配置设置中缺少什么?