【问题标题】:language settings in iosios中的语言设置
【发布时间】:2012-08-30 06:20:57
【问题描述】:

我有一点小麻烦。 我为不在设备常规设置中可用语言列表中的语言创建了 Localizable.string 文件。

即使语言设置为英语,如何强制应用读取它? 我可以为这个国家设置区域格式,但不能设置语言。

谢谢

马尔科

【问题讨论】:

  • 请让标题更具描述性:)

标签: ios settings localizable.strings nslocale


【解决方案1】:

花了一些时间后,我找到了解决方案。事实上,答案是将区域格式设置为其他语言,然后将主文件更改为如下所示:

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

        if ([[[NSLocale currentLocale]localeIdentifier]isEqualToString:@"sl_SI"]) {
            [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"sl", nil] forKey:@"AppleLanguages"];
        } else {
            [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
        }

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

用于将语言设置为斯洛文尼亚语。其他语言与之类似。

【讨论】:

  • 是的,那是正确的,但也许我会复制旧的 AppleLanguages 键并操作数组而不是完全替换它......你知道.. 这样仍然会提供正确的回退
  • 我不太清楚你的意思。
  • 嘿嘿抱歉.. 我的意思是:你有一个来自操作系统的数组,其中包含 {DE,EN,FR,CH,...}(n 个条目)。现在你只用 1: {SI} 替换它。也许最好为现有数组添加前缀:{SI,DE,EN,FR,CH,...}(n+1 个条目)
  • 嗯,...是的,也许您是对的,但是如果您只需要一种语言,...或者这种方法有些失败?
  • 通常,当不支持“主要语言”时,操作系统将回退到指定的其他语言.. 对于 xibs 或图像或字符串文件.. 无论如何——这主要是比抱歉更安全提案:)
猜你喜欢
  • 2013-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
相关资源
最近更新 更多