iPhone lproj 文件夹的区域设置代码
在哪里可以找到我的项目本地化文件夹的区域设置名称缩写列表? (例如 en
表示英语,fr
表示法语)。
我希望学习德语、西班牙语和其他语言。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在哪里可以找到我的项目本地化文件夹的区域设置名称缩写列表? (例如 en
表示英语,fr
表示法语)。
我希望学习德语、西班牙语和其他语言。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
您可以将它们称为
English.lproj
、Spanish.lproj
等。“缩写名称”实际上是 IETF 语言标签(即 BCP 47),只不过您使用
pt_PT.lproj
而不是pt-PT.lproj
。实际的解释例程位于 https:// /github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/PlugIn.subproj/CFBundle_Locale.c,由
CFBundleGetLocalizationInfoForLocalization
函数确定。此处复制:此处:
zh_HK
和繁体中文
(两者具有与zh_TW
相同的代码编号)之类的内容。从 iOS 10.3.1 开始,Apple 实际使用以下 lproj 名称列表:
You can just call them
English.lproj
,Spanish.lproj
, etc.The "abbreviated names" are actually IETF language tags (i.e. BCP 47), except that you use
pt_PT.lproj
instead ofpt-PT.lproj
.The actual interpretation routine is in https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/PlugIn.subproj/CFBundle_Locale.c, determined by the
CFBundleGetLocalizationInfoForLocalization
function. Replicated here:Here:
zh_HK
andTraditional Chinese
(both have same code number aszh_TW
), probably through the more sophisticated CFLocale list.As of iOS 10.3.1, the following list of lproj names are actually used by Apple:
不久,您应该在大多数情况下使用两个字母代码,如 BCP 47 代码。
更长,如 Apple 官方文档 你应该使用 BCP 47代码。
现在的经验法则是使用尽可能短且有意义的代码。您应该使用它,因为这可以最大限度地覆盖类似区域设置。
例如,如果您本地化为俄语,则应仅使用
ru
代码,而不是ru-RU
等替代代码。这很重要,因为如果您使用短代码,来自其他讲俄语的国家/地区的用户将看到您的俄语应用程序。否则,您将仅对来自俄罗斯的使用俄语的用户显示俄语。如果您想了解有关语言代码的更多信息,包括最常用语言的推荐代码,您应该阅读我一年多前写的一篇短文 http://blog.i18n.ro/simplified-locale-codes/ - 请记住,关于葡萄牙语和有一些技巧中文,但对于其他语言,您可以使用下面的列表。
阿拉伯语 (ar)、捷克语 (cs)、丹麦语 (da)、德语 (de)、希腊语 (el)、芬兰语 (fi)、希伯来语 (he)、匈牙利语 (hu)、意大利语 (it)、日语 ( ja)、韩语 (ko)、挪威语 (nb)、荷兰语 (nl)、波兰语 (pl)、罗马尼亚语 (ro)、俄语 (ru)、瑞典语 (sv)、土耳其语 (tr)、乌克兰语 (uk)。
Shortly, you should use two letters codes for most cases, as specified by BCP 47 codes.
Longer, as specified by official Apple documentation you are supposed to use BCP 47 codes.
Now the rule of thumb is to use the shortest code possible that makes sense. You should use this because this maximizes the coverage for similar locales.
For example, if you localize in Russian, you should use only
ru
code, instead of alternatives likeru-RU
. This is important because if you use the short code, the users from other countries that are speaking Russian will see your application in Russian. Otherwise you will display Russian only for people using Russian language from Russia.If you want to know more information about language codes including recommended codes for most used languages, you should to read a short article I wrote more than a year ago http://blog.i18n.ro/simplified-locale-codes/ - Remember that there are some tricks regarding Portuguese and Chinese but for other languages you can use the list below.
Arabic (ar), Czech (cs), Danish (da), German (de), Greek (el), Finnish (fi), Hebrew (he), Hungarian (hu), Italian (it), Japanese (ja), Korean (ko), Norwegian (nb), Dutch (nl), Polish (pl), Romanian (ro), Russian (ru), Swedish (sv), Turkish (tr), Ukrainian (uk).
德语是
de
,西班牙语是es
。这些代码的一般格式是语言代码_国家代码
或者
languageCode
(指定语言而非国家/地区时用作默认值)。因此,您可以执行以下操作:
en
(通用英语)、en_GB
(英语,但来自英国)、fr_FR
(法语,来自法国)、和fr_CH
(瑞士法语)。语言代码是 ISO 639-1 标准的一部分,国家/地区代码来自 ISO 3166 标准。
German is
de
, Spanish ises
. The general format for these codes islanguageCode_CountryCode
or
languageCode
(used as the default for when a language is specified, but not a country).So you can do things like
en
(generic english),en_GB
(english, but from the UK),fr_FR
(French from France), andfr_CH
(swiss french).Language codes are part of the ISO 639-1 standard, and country codes are from the ISO 3166 standard.
这个问题已经得到解答,但我认为多个来源让这个问题变得更加混乱。事实上,iOS 有 30 种语言,它将被识别为 .lproj 文件夹。它不接受任何区域代码,因此告诉它 fr-CA 不会为您提供法语加拿大语,而只会使用您的英语字符串。您需要使用该语言的两个字母代码(en.lproj、fr.lproj、es.lproj、de.lproj 等)。此规则的唯一例外是中文,简体中文应为 zh_Hans,繁体中文应为 zh_Hant。
更令人困惑的是,iTunes 应用商店有一组不同的语言,它可以理解,并且它确实可以识别许多区域版本,例如澳大利亚英语和巴西葡萄牙语。
这里有 iOS 和 iTunes 当前支持的语言和语言代码的完整(和更新)列表:
This question has been answered but I think made more confusing by the multiple sources. The fact is that iOS has 30 languages that it will recognize as .lproj folders. It won't accept any regional codes, so telling it fr-CA won't get you French Canadian, but rather will simply use your English strings. You need to use the two-letter code for the language (en.lproj, fr.lproj, es.lproj, de.lproj, and so on). The only exception to this rule is Chinese, which should be zh_Hans for Simplified Chinese and zh_Hant for Traditional Chinese.
What makes this even more confusing is that the iTunes App Store has a different set of languages that it understands, and it does recognize many regional versions like Australian English and Brazilian Portuguese.
There is a complete (and updated) list of the current supported languages and language codes for both iOS and iTunes here:
http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html