2010-03-23 19 views
11

如果您的應用程序本地化爲pt-brpt-pt,如果系統僅報告pt代碼(通用葡萄牙語),應選擇什麼語言?如果您的應用程序已本地化爲pt-br和pt-pt,如果系統僅報告「pt」代碼,您應該選擇哪種語言?

此問題與應用程序,桌面,移動設備或基於瀏覽器的性質無關。我們假設假設您無法從其他來源獲取地區信息,並且您必須選擇一種語言作爲默認語言。

問題不適用,以及更多的情況包括:

  • pt-ptpt-br
  • en-usen-gb
  • fr-frfr-CA
  • zh-cnzh-tw,... - 事實上在這種情況下,我知道zh可以用作主要語言Sim plified Chinese其中完整代碼爲zh-hans。對於繁體中文,其代碼如zh-tw,zh-hant-tw,zh-hk,zh-mo正確的代碼(規範)應該是zh-hant

Q1如何我確定一個指定的元語言的主要語言?

我需要一個至少包含葡萄牙語,英語和法語的解決方案。

Q2:如果系統報告的簡體中文(中國)(zh-cn)作爲用戶的首選語言,我有翻譯只爲英文和繁體中文(中國en,zh-tw我應該從兩個選項中進行選擇:enzh-tw

回答

10

一般來說,你應該從「匹配我想要的區域設置列表與我所具有的區域設置列表」問題中分離出「猜測缺失的參數」問題。他們是不同的。

猜測缺少的部分

這些都是棘手的領域,甚至(可能)充滿政治色彩。

但是除了極少數例外,規則是選擇語言的「原始國家」。 例外主要基於人口。 因此fr-FR適用於fr,es-ES等 一些例外:pt-BR替代pt-PT,en-US替代en-GB。

zh也映射到zh-CN也被普遍接受(並且被中國標準要求)。

您可能還得看看國家來確定腳本,或者反過來看。 比如AZ => AZ-AZ但AZ-阿拉伯=> AZ-阿拉伯-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和MN-旺不應該退回到mr-Cyrl Tricky區域:sr-Cyrl在理論上不應該回退到sr-Latn,但用戶可能會理解,ro-Cyrl可能會倒退到ro-Latn,但不會倒過來。 Some references

+0

「en-US而不是en-US」。我認爲最後一個應該是en-GB。 – Thomas 2010-03-23 18:59:11

+0

固定(後人:-)。謝謝托馬斯。 – 2010-03-24 09:03:35

4

您是否期望在葡萄牙或巴西有更多的用戶?相應地選擇。

對於您的一般解決方案,您可以通過閱讀Ethnologue找到答案。

+0

謝謝,這看起來像一個很好的信息來源。從它我認爲'pt-br','fr-fr','zh-cn'和'en-us'可以被認爲是他們組中的主流。 – sorin 2010-03-23 14:29:45

相關問題