使用:
let languageIds = Bundle.main.localizations
获取语言ID列表。然后,您可以将每个语言ID转换为本地化语言名称:
let loc = Locale(identifier: langId) let name = loc.localizedString(forLanguageCode: langId) ?? "Unknown"
这里有一些代码可以在应用程序包中构建可用语言的字典。它以区域设置ID(语言ID)为键,每个值都是每个区域设置ID的本地化语言名称。
let langIds = Bundle.main.localizations var languages = [String:String]() for langId in langIds { let loc = Locale(identifier: langId) if let name = loc.localizedString(forLanguageCode: langId) { languages[langId] = name } else { // this should never be reached } }
该 Bundle 上课也提供了 preferredLocalizations 财产和一些其他相关的属性和功能。
Bundle
preferredLocalizations