我有一个问题:
我应该做一个多语言的应用程序,我想知道一种快速管理图形元素的方法。 方法是:
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
if ([countryCode isEqualToString:@"US"]){
//something to do
}
在这个例子中,我可以在每个viewcontroller中设置图形元素,但是没有一个快速的解决方案可以做到这一切?例如在plsit文件中?
答案 0 :(得分:2)
是的,我想你可以。 看本教程: http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial 有一段说它可以为不同的语言设置不同的文件夹。
如果dos现在有效,至少你可以有一个单例类,你只需要检查一次“countryCode”,在那里设置它并在你的“if”语句中引用它。
我希望这会有所帮助。
答案 1 :(得分:1)
如果您正在使用XCode 4,只需创建.strings文件,然后在文件检查器中点击“+”按钮,然后选择要添加的语言。在每个文件中,您将拥有(键,值)对。例如(“firstViewTitle”=“First View”;)。在.m文件中只是将NSLocalizedString分配给UI对象的标题。正在运行尝试清理目标。希望我清楚自己
答案 2 :(得分:0)
您可以在应用中本地化所需的每个项目。 例如。在Xcode中导入资源(例如图像)后,只需在导航器(左侧)中选择资源,然后在“助手”(右侧)中搜索“本地化”组,然后单击“+”按钮。它第一次创建一个新文件夹,并将资源移动到该文件夹(默认为“英语”)。稍后您可以根据需要添加任意数量的语言,对于每种语言,Xcode将创建一个专用文件夹,然后您就可以在本地更改每种语言的资源。例如。如果您有一个“图像按钮”,其中包含您想要本地化的文本,一旦您创建了所有这些文件夹,您就可以在本地更改图像文件。唯一要求:当然保持同名。然后iOS将能够根据当前设备/模拟器本地化设置获取正确的文件。 请注意,如果您更改了某些内容,但未正确编译捆绑包并避免头痛,而调试最简单的解决方案是清理构建并从设备/模拟器中删除并重新安装应用程序。
答案 3 :(得分:0)