Aud*_*234 6 macos localization swift
我有一个语言代码,例如“en_US”,并且我正在尝试从中获取一个友好的名称,例如“English”。
这就是我现在正在做的事情:
Locale.current.localizedString(forLanguageCode: code)
Run Code Online (Sandbox Code Playgroud)
它可以工作,但对于中文等语言,它并不能完全达到我想要的效果。
zh-Hans应返回“简体中文”,并zh-Hant应返回“繁体中文”。
然而,他们都只是返回“Chinese”。您如何让他们返回正确的值?
您可以使用 NSLocaledisplayName(forKey:value:)来代替。
let code = "en_US"
if let identifier = (Locale.current as NSLocale).displayName(forKey: .identifier, value: code) {
print(identifier) /// English (United States)
}
Run Code Online (Sandbox Code Playgroud)
let code = "zh_Hans"
if let identifier = (Locale.current as NSLocale).displayName(forKey: .identifier, value: code) {
print(identifier) /// Chinese, Simplified
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |