首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >localizedString(forRegionCode:)使用应用程序不支持的语言

localizedString(forRegionCode:)使用应用程序不支持的语言
EN

Stack Overflow用户
提问于 2018-11-22 11:51:11
回答 1查看 575关注 0票数 2

iPad设置:

语言顺序是:

  1. 法语
  2. 中国人

该地区被设定为德国。

应用程序支持:

  • 中国人

pod支持:

  • 中国人
  • 法语。

现在,在吊舱中,当我像这样调用NSLocalizedStrings:NSLocalizedString("Search", tableName: nil, bundle: loginBundle, value: "", comment: "Search")时,我得到了中文翻译(正如预期的那样)。

然而,当我叫NSLocale.current.localizedString(forRegionCode:)时,我得到的是法语而不是中文的国名。NSLocale.current.languageCode"zh"NSLocale.current.regionCode"DE"

我怎样才能用目前使用的语言获得国家名称?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-22 21:06:24

应用程序中使用的语言首先是设备特定的,然后是应用程序特定的。因此,它首先在设备上使用最首选的语言,这在包中也是可用的。特别是,您可以通过查看Locale.preferredLanguages.first来测试问题发生的原因。

这里。所以,你可以得到你想要的东西:

代码语言:javascript
复制
Locale(identifier: Bundle.main.preferredLocalizations[0]).localizedString(forRegionCode:)

为了确保将包的首选本地化设置为中文,还可以使用Locale手动选择Locale(标识符:“zh”)。但是使用应用程序包可以解决这个问题,而不需要硬编码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53430414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档