我们的应用程序正在翻译成多种语言,我们需要有一个列出可能的语言的组合框。我们希望使用的语言的名称在语言(如法语为法语)。
是否有列出这些语言的“适当”命令?我们是否根据它们的英文名称按字母顺序排列?
更新: 这是我当前的列表(我想探索Brian Campbell提到的Unicode整理算法):
"???????",
"??",
"Nederlands",
"English",
"Français",
"Deutsch",
"???",
"???",
"Polski",
"??????? ????",
"Español",
"???????"
Run Code Online (Sandbox Code Playgroud)
更新2:这是ICU演示工具生成的列表,按美国语言环境排序。
Deutsch
English
Español
Français
Nederlands
Polski
??????? ????
???????
???????
???
??
???
Run Code Online (Sandbox Code Playgroud)
没有一个简单的答案,这是一个棘手的问题。首先,默认情况下,您应该使用操作系统提供的用户首选语言(如果这是您可以使用的一种语言)(例如,在Windows中,您将使用GetUserPreferredUILanguages,并在该列表中找到第一种语言)您需要翻译的内容)。
如果用户仍然需要选择一种语言(您希望他们能够覆盖其默认语言,或者如果您不支持他们的首选语言,则选择另一种语言),那么您就需要担心如何对语言进行排序语言。如果您有5种或10种语言,顺序可能没什么大不了的;您可以按字母顺序对它们进行排序。对于更长的列表,我会将您最常用的语言放在顶部,也许用户也将首选的语言放在顶部,然后将其余的按字母顺序排序。
当然,当语言可能用不同的脚本编写时,这就提出了如何按字母顺序排序。例如,???????? (Ellinika,希腊文)与???比较 (Nihongo,日语)?有几种可能的解决方案。您可以将每个脚本排序在一起,例如,基于罗马的脚本排在最前面,其次是西里尔字母,希腊语,韩语,韩文等等。或者,您可以按非罗马文字的英文名称或按其原名的罗马音译方式对它们进行排序。可能应该首选第一种或第三种解决方案;人们可能不知道其语言的英语名称,但是许多语言都有人们可能知道的英语音译。第一个解决方案(每个脚本单独排序)是Mac OS X语言选择的工作方式;
我不相信有针对此特定用法的标准,尽管存在Unicode排序算法,这可能是以相对语言中立的方式对混合脚本中的文本进行排序的最常见标准。
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |