Localization 如果您有一个本地化为pt br和pt pt的应用程序,如果系统仅报告,您应该选择哪种语言;pt";密码?
如果您的应用程序本地化为Localization 如果您有一个本地化为pt br和pt pt的应用程序,如果系统仅报告,您应该选择哪种语言;pt";密码?,localization,internationalization,culture,Localization,Internationalization,Culture,如果您的应用程序本地化为pt br和pt,如果系统仅报告ptcode(通用葡萄牙语),您应该选择哪种语言 此问题与应用程序、桌面、移动或基于浏览器的应用程序的性质无关。假设您无法从其他来源获取地区信息,您必须选择一种语言作为默认语言 该问题也适用于更多情况,包括: pt-pt和pt-br en-us和en-gb fr-fr和fr-CA zh cn,zh tw,…-事实上,在这种情况下,我知道zh可以作为简体中文的主要语言,其中完整的代码是zh-hans。对于繁体中文而言,对于像zh-tw,zh
pt br
和pt
,如果系统仅报告pt
code(通用葡萄牙语),您应该选择哪种语言
此问题与应用程序、桌面、移动或基于浏览器的应用程序的性质无关。假设您无法从其他来源获取地区信息,您必须选择一种语言作为默认语言
该问题也适用于更多情况,包括:
和pt-pt
pt-br
和en-us
en-gb
和fr-fr
fr-CA
,zh cn
,…-事实上,在这种情况下,我知道zh tw
可以作为简体中文的主要语言,其中完整的代码是zh
。对于繁体中文而言,对于像zh-hans
,zh-tw
,zh-hant-tw
,zh-hk
这样的代码,正确的代码(规范)应该是zh-mo
zh-hant
Q2:如果系统报告简体中文(PRC)(
zh cn
)为用户的首选语言,并且我只翻译英文和繁体中文(en,zh tw
)我应该从两个选项中选择什么:en
或zh tw
?您希望葡萄牙或巴西有更多的用户吗?相应地挑选
对于您的一般解决方案,您可以通过阅读了解。通常,您应该将“猜测缺少的参数”问题与“匹配我想要的区域设置列表与我拥有的区域设置列表”问题分开。他们是不同的 猜测缺失的部分 这些都是棘手的领域,甚至(可能)带有政治色彩 但除了极少数例外,规则是选择语言的“原始国家”。 例外情况主要基于人口。 所以fr,fr,es,es,等等。 一些例外情况:pt BR代替pt pt,en US代替en GB zh映射到zh CN也是普遍接受的(并且是中国标准所要求的) 您可能还需要查看国家以确定脚本,或者反过来看。 例如,az=>az但az Arab=>az Arab IR,az_IR=>az_Arab_IR 匹配“想要”与“拥有” 这涉及到匹配想要的语言列表和拥有的语言列表。 处理清单会让事情变得更难。如果可能的话,结果也应该以智能的方式进行排序。(例如,如果
want=[fr-ro]
和have=[en-fr-CA-fr-ro]
那么您可能想要[fr-fr-CA-ro]
具有不同脚本的语言之间不应该存在匹配。因此,zh-TW不应该回退到zh-CN,而mn-Mong不应该回退到mn-Cyrl。
棘手的地方:理论上,sr-Cyrl不应该回退到sr-Latn,但用户可能会理解它。ro-Cyrl可能回退到ro-Latn,但不是相反
一些参考资料
- RFC4647处理语言回退(但在这种情况下不是很有用,因为它遵循“从右切入”规则)
- ICU 4.2和更新版本(我认为是4.0版本的草案)在
中添加了uloc.h
(以及uloc\u类似的子标签
),实现了uloc\u最小化子标签
- 同样在ICU
中,还有来自HTTP的uloc.h
uloc_acceptLanguage和
来处理想要与拥有。但是它们是无用的,因为它们以一个eNumeration*作为输入,并且没有公共API来构建一个eNumerationuloc_acceptLanguage
- 除了简单的RFC4647之外,还有一些关于语言匹配的工作
- 位于的ActionScript中的区域设置匹配
- 新Flash播放器10.1中的API >代码> FLASH。全球化命名空间做标记猜测和语言匹配()。它在TR—35上工作,可以超越@并考虑操作。例如,如果<代码>有[JA ]。ja@collation=根ja@calendar=日语]和
那么最佳匹配取决于所需的操作。对于日期格式ja@calendar=日语是更好的匹配项,但要进行排序ja@collation=根want=[ja@calendar=日语;排序规则=部首]
谢谢,这看起来是一个很好的信息来源。我认为“代码> PT BR ,<代码> FR FR ,<代码> ZHCN和<代码> Eng/<代码>可以被认为是他们的组中的主要组成部分。“EN美国而不是EN。”我认为最后一个应该是E-GB(后裔:-)。谢谢托马斯。