是否可以为infoPlist.strings(应用程序名称)设置默认语言?

时间:2012-12-04 10:02:35

标签: iphone ios ipad localization

我有一个iPad应用程序,我想在其中本地化应用程序名称。 我知道如何通过添加infoPlist.strings文件来做到这一点。 (假设)直到现在我已经添加了两种语言俄语和英语,它们正常工作。 现在问题是任何其他我想将俄语名称设置为默认值。喜欢如果我选择法语然后应用程序名称应该是俄语,如果俄语然后俄语和如果英语然后只有应用程序名称应该是英语..

如果您需要更多信息,请与我们联系。 目前我正在使用以下代码。

    NSUserDefaults *localeDefaults = [NSUserDefaults standardUserDefaults];

    [localeDefaults removeObjectForKey:@"AppleLanguages"];

    NSString *currentDeviceLanguage = [NSLocale preferredLanguages][0];

#ifdef DEBUG
    NSLog(@"language:%@",currentDeviceLanguage);
#endif

    if([currentDeviceLanguage isEqualToString:@"en"])
    {
        [localeDefaults setObject:@[@"en"] forKey:@"AppleLanguages"];
    }
    else
    {
        [localeDefaults setObject:@[@"fr"] forKey:@"AppleLanguages"];
    }

    [localeDefaults synchronize];

2 个答案:

答案 0 :(得分:1)

我不认为这是支持的,Apple是一家讲英语的公司,所以英语是默认的“基线”语言。

我可以理解你为什么要在其他俄语国家(如乌克兰或白俄罗斯)默认俄语。

你可以制作一个乌克兰(英国)和白俄罗斯(是)本地化,只是复制俄语翻译,虽然我认为这将是一个丑陋的黑客攻击解决方案。

答案 1 :(得分:1)

可以使用Info.plist文件中的CFBundleDevelopmentRegion键进行此操作。如果应用程序不包含用户首选语言的本地化,请将其值设置为您希望系统使用的默认语言。