iPad设置:
语言顺序是:
该地区被设定为德国。
应用程序支持:
pod支持:
现在,在吊舱中,当我像这样调用NSLocalizedStrings:NSLocalizedString("Search", tableName: nil, bundle: loginBundle, value: "", comment: "Search")时,我得到了中文翻译(正如预期的那样)。
然而,当我叫NSLocale.current.localizedString(forRegionCode:)时,我得到的是法语而不是中文的国名。NSLocale.current.languageCode是"zh",NSLocale.current.regionCode是"DE"
我怎样才能用目前使用的语言获得国家名称?
发布于 2018-11-22 21:06:24
应用程序中使用的语言首先是设备特定的,然后是应用程序特定的。因此,它首先在设备上使用最首选的语言,这在包中也是可用的。特别是,您可以通过查看Locale.preferredLanguages.first来测试问题发生的原因。
见这里。所以,你可以得到你想要的东西:
Locale(identifier: Bundle.main.preferredLocalizations[0]).localizedString(forRegionCode:)为了确保将包的首选本地化设置为中文,还可以使用Locale手动选择Locale(标识符:“zh”)。但是使用应用程序包可以解决这个问题,而不需要硬编码。
https://stackoverflow.com/questions/53430414
复制相似问题