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



我有一个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];

我认为这不受支持,Apple是一家讲英语的公司,因此英语是默认的"基线"语言。

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

您可以对乌克兰(英国)和白俄罗斯(be)进行本地化,然后复制俄语翻译,尽管我认为这将是一个丑陋的黑客解决方案。

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

最新更新