【问题标题】:How to set specific language in iOS simulator?如何在 iOS 模拟器中设置特定语言?
【发布时间】:2014-04-16 12:53:52
【问题描述】:

到目前为止我已经这样做了:

但我仍然将语言设置为英语:

有人知道我是否遗漏了什么吗?


编辑:

如果我这样做:

- (void)logAllLocales
{
   NSLocale *curentLocale = [NSLocale currentLocale];
   NSArray *locales = [[NSLocale availableLocaleIdentifiers] sortedArrayUsingSelector:@selector(compare:)];
   for (NSString *locale in locales)
   NSLog(@"locale '%@' is: %@'", locale, [curentLocale displayNameForKey:NSLocaleIdentifier value:locale]);
}

结果:

‘sv’是:瑞典语’

‘sv_FI’是:瑞典语(芬兰)’

‘sv_SE’是:瑞典语(瑞典)’

我将获得三个瑞典语言环境选项,因此从技术上讲,“sv”应该可以。但我也测试了其他选项,但没有运气。

但是,如果模拟器需要重置以更改语言,那么我认为我的问题得到了解答。在启动时传入参数是不可能的。 =)

【问题讨论】:

  • hej,在模拟器(你的第二张图片)中,你有“英语”,你应该在模拟器中设置瑞典语。 (另外:只需在你的 iPhone 上试试。)
  • 眼前有选项(第二张截图),随便改吧
  • 好吧,我经常部署到模拟器。在每次部署之前,我通常想用一个 hoy-key 清理整个模拟器:我已将“重置内容和设置...”连接到 cmd+K。即使我通过下面指出的非常明显的方式明确设置它,这也会使模拟器重置回英语。 (设置 > 常规 > 国际)我真的希望它成为发布时传递的参数。这是一种非常乏味的每次手动操作的方式,尤其是当我目前只使用瑞典语、挪威语和丹麦语时。 =)
  • 假设您本地化为“Swedish (Sweden)”,则需要使用sv-SE(Swedish (Sweden)) 作为键,否则将不匹配,因为您的本地化设置为sv-SE 而不是不仅仅是sv!
  • 此外,在这种情况下,不要指望运营商文本会发生变化 - 这需要重新启动模拟器。当您将参数传递给启动时,它只会更改应用程序的区域设置和语言,而不是整个系统。还有其他(可搜索的)方法来更改模拟器的整体语言

标签: ios objective-c ios-simulator


【解决方案1】:

这与您在物理设备中使用的过程相同。 进入 Settings > General > International 并将 LanguageEnglish 更改为 Swedish


根据问题中的第三条评论进行编辑

问题是我经常部署到模拟器。在每次部署之前,我通常想用一个 hoy-key 清理整个模拟器:我已将“重置内容和设置...”连接到 cmd+K。即使我通过下面指出的非常明显的方式明确设置它,这也会使模拟器重置回英语。 (设置 > 常规 > 国际)我真的希望它成为发布时传递的参数。这是一种非常乏味的每次手动操作的方式,尤其是当我目前只使用瑞典语、挪威语和丹麦语时。 =)

尝试将 Localizable.string (En) 中的整个内容替换为瑞典语/挪威语和丹麦语内容。所以模拟器是英文的,从英文字符串文件中读取,但是以另一种语言显示内容。

【讨论】:

  • 谢谢,但我已经知道了。 =) 我真的很想在启动时作为参数传递,而不必每次都手动进行。
  • Obiouvsly 您必须将英语瞬时保存在另一个文件中。这是开发的解决方案,而不是发布的解决方案。当您发布该应用程序时,将英语放入英语,将瑞典语放入瑞典语等等。
  • 我想我已经得出结论,在启动时将参数传递给模拟器是不可能的。应用程序中的语言实际上是使用正确的语言,这很重要。 =)
【解决方案2】:

如果我说得对,要更改模拟器语言,您只需从附加的模拟器屏幕截图上的“语言”选项中更改它。点按它并选择您想要的语言。

【讨论】:

  • 是的,这就是我想要做的,但在我部署时会自动执行。如果我每天这样做超过 500 次,那会很烦人。 =)
【解决方案3】:

正如我在上次编辑中所说。我认为这是不可能的,因为模拟器必须重置才能真正改变系统语言。

【讨论】:

    【解决方案4】:

    我有 Xcode 13.2.1 并且能够通过修改方案选项来配置应用程序语言。

    • 编辑方案 > 选项 > 应用程序语言

    应用将使用您提供的语言设置启动。
    无需从模拟器设置中手动更改。


    学分:

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 2015-10-04
      • 2011-12-13
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 2016-08-02
      • 2017-12-28
      • 2013-01-21
      相关资源
      最近更新 更多