首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果您的应用程序本地化为pt-br和pt-pt,如果系统只报告"pt“代码,您应该选择哪种语言?

如果您的应用程序本地化为pt-br和pt-pt,如果系统只报告"pt“代码,您应该选择哪种语言?
EN

Stack Overflow用户
提问于 2010-03-23 13:07:49
回答 2查看 6.4K关注 0票数 14

如果您的应用程序本地化为pt-brpt-pt,那么如果系统只报告pt代码(通用葡萄牙语),您应该选择哪种语言?

这个问题独立于应用程序的性质,桌面、移动或基于浏览器。让我们假设您无法从另一个源获取区域信息(),您必须选择一种语言作为默认语言。

这个问题也适用于更多的案件,包括:

  • pt-ptpt-br
  • en-usen-gb
  • fr-frfr-CA
  • zh-cnzh-tw,。事实上,在这种情况下,我知道zh可以作为简体中文的主要语言,而完整的代码是zh-hans。对于繁体汉语来说,使用zh-twzh-hant-twzh-hkzh-mo等代码时,正确的代码(规范)应该是zh-hant

Q1:如何确定指定的元语言的主导语言?

我需要一个解决方案,至少包括葡萄牙语,英语和法语。

en Q2:如果系统将简体中文(zh-cn)列为用户首选语言,而我仅为英文和繁体中文(en,zh-tw) 提供翻译,我应该从以下两个选项中选择什么:或Q2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-23 18:43:15

通常,您应该将“猜测缺少的参数”问题与“匹配我想要的区域设置列表与我所拥有的区域设置列表”问题分开。它们是不同的。

猜测缺少的部件

这些都是棘手的领域,甚至(潜在的)政治上的指责。

但除了极少数例外,规则是选择语言的“原始国家”。例外情况主要以人口为基础。因此,fr、es-ES等的fr-FR是一些例外: pt-BR代替pt-PT,en-US代替en-GB.

它也是普遍接受(并要求中国的标准),zh映射到zh-CN。

你可能还得看看国家来决定剧本,或者反过来看。例如az => az-AZ,az- => az-Arab-IR,和az_IR => az_Arab_IR。

匹配“希望”与“拥有”

这涉及到匹配一个想要的列表和一个有语言的列表。处理清单会让事情变得更困难。如果可能的话,结果也应该以一种明智的方式进行排序。(例如,如果want = [ fr ro ]have = [ en fr_CA fr_FR ro_RO ],那么您可能希望[ fr_FR fr_CA ro_RO ]作为结果。

不同脚本的语言之间不应该有匹配。因此,zh-TW不应该倒退到zh-CN,而Mong不应该倒退到mn.棘手的领域:sr在理论上不应该倒退到sr,但用户可能会理解它。罗-西尔可能会回到罗-拉,但不是相反的。

几个参考文献

  • RFC 4647处理语言回退(但在本例中并不十分有用,因为它遵循“从右剪切”规则)。
  • ICU4.2和更新版本(我认为是4.0中的草案)在uloc.h中有uloc_addLikelySubtags (和uloc_minimizeSubtags)。实现子标签
  • 在重症监护病房( uloc.h ),也有uloc_acceptLanguageFromHTTPuloc_acceptLanguage处理想要的和有的。但是,尽管它们是无用的,因为它们接受一个UEnumeration*作为输入,并且没有公共API来构建UEnumeration。
  • 除了简单的RFC 4647之外,还有一些关于语言匹配的工作。请参阅http://cldr.unicode.org/development/design-proposals/languagedistance
  • ActionScript at http://code.google.com/p/as3localelib/中的区域匹配
  • 新Flash 10.1 flash.globalization命名空间中的API同时执行标记猜测和语言匹配(US/FlashPlatform/beta/reference/actionscript/3/flash/globalization/package-detail.html)。它可以在TR-35上工作,可以超越@并考虑操作。例如,如果have = [ ja ja@collation=radical ja@calendar=japanese ]want = [ ja@calendar=japanese;collation=radical ],那么最好的匹配取决于您想要的操作。对于日期格式化,ja@calendar=japanese是更好的匹配,但是对于排序规则,您需要ja@collation=radical
票数 11
EN

Stack Overflow用户

发布于 2010-03-23 13:49:03

你希望在葡萄牙或巴西有更多的用户吗?选择相应的。

对于您的一般解决方案,您可以通过阅读民族来找到答案。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2500066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档