Objective c Xcode本地化
我有一个关于如何在Xcode项目中设置默认语言的问题。 我的Mac OS X应用程序支持德语和英语 每次在系统设置中未选择英语时,默认语言为德语。 我想将默认语言切换为英语,以便非德语用户获得英语用户界面。 将Plist文件中的本地化本地开发区域更改为英语并没有解决问题。 我试图在代码中做到这一点,但这不是苹果公司在HIGs中推荐的 Sampleproject托管在Github上 Xcode版本是5.1.1 我最近将截图添加到存储库中。正如您在german.png屏幕截图中看到的,选择了法语和葡萄牙语,但Mac OS选择德语作为语言。我希望语言是英语 测试与分析 我在scheme editor>Run.app>Arguments>Arumings中添加了-NSShowNonLocalizedStrings YES,并在启动时传递。这会将找不到本地化变体的任何字符串转换为大写。 结果是,我看到了所有的大写字母 要切换开发语言,请使用AppleLanguages。 结果,出现了en定位 要切换应用程序的语言,您还可以使用以下应用程序: 了解更多信息 解决方案 经过一番搜索和测试,我找到了以下解决方案:Objective c Xcode本地化,objective-c,xcode,macos,localization,Objective C,Xcode,Macos,Localization,我有一个关于如何在Xcode项目中设置默认语言的问题。 我的Mac OS X应用程序支持德语和英语 每次在系统设置中未选择英语时,默认语言为德语。 我想将默认语言切换为英语,以便非德语用户获得英语用户界面。 将Plist文件中的本地化本地开发区域更改为英语并没有解决问题。 我试图在代码中做到这一点,但这不是苹果公司在HIGs中推荐的 Sampleproject托管在Github上 Xcode版本是5.1.1 我最近将截图添加到存储库中。正如您在german.png屏幕截图中看到的,选择了法语和葡
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", @"de", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
这会将语言英语设置为默认语言。另一个选项是创建自己的本地化类。调用您的类,它可以强制本地化为您想要的任何语言:
- (NSString*) MyLocalizedString:(NSString*) label;
{
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSString* preferredLanguage = [defs objectForKey:@"LocalizedLanguage"];
NSString *path = [[NSBundle mainBundle] pathForResource:preferredLanguage ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
NSString *result = [NSString stringWithFormat:@"%@",[languageBundle localizedStringForKey:label value:@"" table:nil]];
return(result);
}
- (NSLocale *) forceEnglishLocalization;
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"en" forKey:@"LocalizedLanguage"];
NSLocale * currentLocale;
currentLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
return(currentLocale);
}
需要帮助本地化您的Xcode应用程序吗
请添加一些屏幕截图并提供更多信息。