现在的语言代码可以通过Locale.current.languageCode
检索,但是如果我需要一个更人性化的名字,比如“英语”或“日语”呢?
开发人员是否必须在应用程序中维护映射,还是有一种获取语言名称的本地方法?
发布于 2020-11-28 12:16:15
您可以对Locale对象使用localizedString(forLanguageCode:)方法。
let locale: Locale = .current
locale.localizedString(forLanguageCode: "pl_PL") // "Polish"
以及其他有用的函数,它们可以帮助您从代码中获得本地化的区域或货币名称。
locale.localizedString(forRegionCode: "pl") // "Poland"
locale.localizedString(forCurrencyCode: "PLN") // "Polish Zloty"
要使用与.current
不同的区域设置,可以很容易地用可用标识符之一初始化它。
let japanese = Locale(identifier: "ja_JP")
japanese.localizedString(forLanguageCode: "pl_PL") // "ポーランド語"
japanese.localizedString(forRegionCode: "pl") // "ポーランド"
japanese.localizedString(forCurrencyCode: "PLN") // "ポーランド ズウォティ"
https://stackoverflow.com/questions/65049438
复制相似问题