数字是否需要本地化?

时间:2009-10-18 04:19:33

标签: localization numbers

这似乎是一个愚蠢的问题。希伯来语,阿拉伯语和所有语言中的数字“10”是否为“10”?在处理本地化时,我没有在任何地方看到你需要对数字做任何特别的事情。也许数字格式,但数字本身呢?我认为数字在从右到左的语言中会有所不同,但translate.google.com会给我相同的数字。谁能证实这一点?

6 个答案:

答案 0 :(得分:6)

  • 不同的语言可以使用不同的数字标记;
  • 数字表示不同。例如,英语中的1,234.56在德语中表示为1.234'56。

所以答案是肯定的。

答案 1 :(得分:6)

阿拉伯语和日语(?)对数字有不同的字形,但标准系统非常普遍,通常不会转换数字。

如果您正在使用.NET格式化功能,那么数字将根据系统首选项进行格式化(我在这里说逗号和小数点)

答案 2 :(得分:3)

数字0-9通常不需要任何本地化,除了像AndreyT这样的小调整,但那些与任何东西相关的“字体”更多。

唯一需要考虑的重要事项是大量代表。

例如,取1mio $

在瑞士,它将是:

$ 1'000'000 .-

在美国

$ 1,000,000

在日本会是 $ 100万

我不知道其他地方,但你明白了。

对于日本而言,如果不使用汉字,数字大于10'000则非常罕见。

但我认为你应该看看那个进行本地化的人。

答案 3 :(得分:3)

对于实际数字本身(而不是浮点数,数千个分隔符等),实际上语言之间存在差异。

Hebrew numerals实际上使用希伯来字母作为数字系统,但它仅用于“传统”数字,例如犹太历中的年份,希伯来圣经中的章节,诗句和页码,在列表中(类似于使用罗马数字而不是数字)等。但是对于所有其他情况,使用Hindu-Arabic numerals(例如1,2,3,4 ......)并从左到右书写,即使希伯来文的其余部分是从右到左书写的(即NML KJIHG 123 FEDC BA)。

在阿拉伯语中,大多数国家使用Arabic-Indic numerals,但也可以理解印度 - 阿拉伯数字。

在任何情况下,.NET本地化都应该处理所有转换和显示问题,除非您渲染自己的GUI,否则您无需做任何特别的事情。

答案 4 :(得分:1)

有很多可以在数字中定位的铃声。例如,在美国,数字的小数部分(如果它具有小数部分)用点分隔,而在俄罗斯通常使用逗号。在美国,逗号将用于分隔数字中的三位数组,而在俄罗斯,根本不将它们分开,或者空间用于此目的(或者可能是其他字符,但不是逗号)。等等(尽管大多数格式选项适用于货币数量)。

即使是自己编写字符的首选方法也可能取决于区域设置。在美国,'7'的字符通常用两个笔划写,而在欧洲,它通常有第三个笔划 - 通过中间的短水平线。当然,这不太重要,因为两冲程版本仍然在任何地方都被认可。

答案 5 :(得分:0)

如果出于数学目的显示数字(例如,显示5 + 3 = 8),则使用标准数字0-9。这些几乎在数学中普遍使用。

如果要显示高度本地化的内容 (例如,沙特阿拉伯街头小贩的销售点系统的定价),少数几个国家/地区使用使用不同数字的本地化语言。

尽管了解0-9,但世界上大多数人还是可以的。

我发现此网站是一个很好的入门指南:https://phrase.com/blog/posts/number-localization/

一些例子:

例如,孟加拉语使用孟加拉语-阿萨姆语数字系统, 数字与西方阿拉伯文系统不同:০、১、২、৩、৪、৫、৬、৭, ৮、৯。

例如,在沙特阿拉伯等一些地区, 代表当地数字系统中的数字,东方阿拉伯语,而不是 西方阿拉伯文系统。

请记住,我们在这里只是在谈论数字。当涉及小数(/),小数(。),百分比(%),大数字分隔符(,),数字符号(#)等时,大多数区域都有特定的规则,这是另一个主题。它们不是通用的。