开发者

Do numbers need to be localized?

This seems like a stupid question. Is the number "10" refered to "10" in Hebrew, Arabic, and all languages? I'm not seeing anywhere where it says you need to do anything special with numbers w开发者_Go百科hen dealing with localization. Maybe number format but what about the number itself? I would think that numbers would read differently in right-to-left languages but translate.google.com is giving me the same number back. Can anyone confirm this?


Arabic and Japanese (?) do have different glyphs for numbers, but the standard system is so commonplace, that usually numbers are not converted.

If you're using the .NET formatting functions, then the numbers will be formatted according to the system preferences (I'm talking commas and decimal points here)


  • Different languages can use different digit sigils;
  • Number representation is different. eg 1,234.56 in English is represented as 1.234'56 in German.

So the answer is yes.


The digits 0-9 usually don't require any localization, except minor tweaks like AndreyT said, but those are more "fonts" related than anything.

The only important thing to take into account is large number representation.

For example, take 1mio$

In Switzerland, it will be:

$1'000'000.-

in US

$1,000,000

In Japan it will be $100万

I don't know other place, but you got the idea.

For Japan, it's very uncommon to see numbers greater than 10'000 without using a kanji.

But I think you should see with the person doing the localization.


For the actual numbers themselves (and not floating poing, thousands seperator, etc) there are in fact differences between languages.

Hebrew numerals actually use the Hebrew letters as a number system, though it is used only for "traditional" numbers, such as the year in the Jewish calendar, the chapter, verse and page numbers in the Hebrew Bible, in lists (similar to using roman numerals instead of numbers), etc. But for all other cases, Hindu-Arabic numerals are used (e.g. 1, 2, 3, 4...) and are written left-to-right, even while the rest of the Hebrew text is written right-to-left (i.e. NML KJIHG 123 FEDC BA).

In Arabic, most countries use the Arabic-Indic numerals, but the Hindu-Arabic numerals are also understood.

In any case, .NET localization should take care of all conversions and display issues, and there's nothing special you need to do unless you render your own GUI.


There quite a few tings that can be localized in numbers. For example, in USA the fractional part of a number (if it has a fractional part) is separated by a dot, while in Russia a comma is normally used. In USA commas would be used to separate three-digit groups in the number, while in Russia it is not customary to separate them at all, or space is used for that purpose (or maybe some other character, but not a comma). And so on (although most of the formatting options apply to monetary quantities).

Even the preferred way to write characters themselves can depend on locale. In USA the character for '7' is usually written in two strokes, while in Europe it quite often has a third stroke - a short horizontal line through the middle. This, of course, is less important, since the two-stroke version is still recognized everywhere.


If you are displaying the numbers for math purposes (for example, showing 5 + 3 = 8), then use the standard digits 0-9. These are used nearly universally in mathematics.

If you are displaying something that is highly localized (i.e. pricing on a street vendor's point-of-sale system in Saudi Arabia), there are a handful of countries that use different digits that are localized to their respective languages.

Most regions of people in the world will be fine with understanding 0-9 though.

I found this website to be a good starting guide: https://phrase.com/blog/posts/number-localization/

Some examples:

Bengali, for example, uses the Bengali–Assamese numeral system, whose digits differ from the Western Arabic system: ০, ১, ২, ৩, ৪, ৫, ৬, ৭, ৮, ৯.

In some locales like Saudi Arabia, for example, it’s common to represent numbers in the local numeral system, Eastern Arabic, and not the Western Arabic system.

Keep in mind that we are just talking about digits here. When it comes to fractions (/), decimals (.), percentages (%), large number separators (,), number symbols (#), etc. most regions have specific rules and that's a whole other topic. They are not universal.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜