以编程方式更改应用程序中的区域格式

时间:2015-12-09 04:17:28

标签: ios objective-c localization

我想在应用程序中更改语言和区域格式。我可以做一些改变语言的事情。

int main(int argc, char * argv[])
{
  @autoreleasepool {

    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"zh_CN", nil] forKey:@"AppleLanguages"];
    [[NSUserDefaults standardUserDefaults] synchronize];

    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
  }
}

然后使用exit(0)退出应用程序;一旦用户改变了语言。

Change Language in the app programmatically

但是如何更改区域格式以匹配所选语言?这可行吗?

1 个答案:

答案 0 :(得分:0)

以编程方式更改应用中的语言。或者手动检查。

NSBundle * languageBundle = [NSBundle bundleWithPath:path]; NSString * lan = [languageBundle localizedStringForKey:键值:@""表:无];

NSLog(@"%@:%@%@",lan,[NSLocale canonicalLanguageIdentifierFromString:lan],[[[NSLocale alloc] initWithLocaleIdentifier:lan] displayNameForKey:NSLocaleIdentifier value:lan]);