Most Common Locales for Worldwide Compatibility

I don't think this has ever been asked on StackOverflow. I am writing a program in C #, but this question applies to any programming language under Windows 7.

Since I want to make my program compatible with as many countries as possible (but with limited time at hand), what are the 10 most common test locations? Since I am using C # this can be found using:

CultureInfo.CurrentCulture.ToString()

      

As far as I know, they correspond to the items under Control Panel -> Region and Language -> Format

A hassle-free test would be "english - (US)" (which under C # is "en-US"). This is just one - I'm looking for another 5-10 or so.

The top 10 should also include "diversity". For example, if they all used the period as a decimal point, this is not very useful. I would also like to at least use a comma as a decimal point (like Europe, South America, Russia and others).

Similarly, I would like locales to use ".", "/" And "-" as the date separator.

So my original question is now a little more complicated, but potentially much more useful. I want to use the most commonly used locales, but with a slight to moderate bias towards diversity, so that I can generalize testing more easily with a much better assurance that they will work in untested places.

+3


source to share


3 answers


After searching for an hour, the best I could come up with are a few links that feed the "top 10" based on their own feedback. To help other users, I've combined the results to create this, probably in moderation, to a wildly imprecise top 12 list:

C# code  URL pos   Windows region format       Short date   Long time    xyz
en-US    1,1,1     English (United States)     M/D/yyyy     h:mm:ss tt   .,,
zh-CN    2,2,20    Chinese (simplified, PRC)   yyyy/M/d     H:mm:ss      .,,
ru-RU    4,10,5    Russian (Russia)            dd.MM.yyyy   H:mm:ss      , ;
fr-FR    8,5,7     French (France)             dd/MM/yyyy   HH:mm:ss     , ;
es-ES    5,9,10    Spanish (Spain)             dd/MM/yyyy   H:mm:ss      ,.;
en-GB    11,7,2    English (United Kingdom)    dd/MM/yyyy   HH:mm:ss     .,,
de-DE    12,3,3    German (Germany)            dd.MM.yyyy   HH:mm:ss     ,.;
pt-BR    10,6,10   Portuguese (Brazil)         dd/MM/yyyy   HH:mm:ss     ,.;
en-CA    14,8,12   English (Canada)            dd/MM/yyyy   h:mm:ss tt   .,,
es-MX    13,13,13  Spanish (Mexico)            dd/MM/yyyy   hh:mm:ss tt  .,,
it-IT    16,6,-    Italian (Italy)             dd/MM/yyyy   HH:mm:ss     ,.;
ja-JP    15,8,30   Japanese (Japan)            yyyy/MM/dd   H:mm:ss      .,,

      

x = decimal character. y = digit grouping character. z = list separator. The three numbers in the URL rank represent how far away the locale was in each list.

Sources:



You can use this url to convert between region and C # code: http://www.csharp-examples.net/culture-names/

Below is the final filtered list that I will personally check. I've removed cultures that are similar or close to other cultures (mostly in terms of dates, times and characters / separators - if your criteria is something else, I'd pay more attention to the list above). I also added Bengali (India) and Danish (Denmark) which are very different from the others.

C# code   URL pos  Windows region format       Short date    Long time    xyz
en-US     1,1,1    English (United States)     M/D/yyyy      h:mm:ss tt   .,,
de-DE     12,3,3   German (Germany)            dd.MM.yyyy    HH:mm:ss     ,.;
fr-FR     8,5,7    French (France)             dd/MM/yyyy    HH:mm:ss     , ;
zh-CN     2,2,20   Chinese (simplified, PRC)   yyyy/M/d      H:mm:ss      .,,
es-ES     5,9,10   Spanish (Spain)             dd/MM/yyyy    H:mm:ss      ,.;
ru-RU     4,10,5   Russian (Russia)            dd.MM.yyyy    H:mm:ss      , ;
en-GB     11,7,2   English (United Kingdom)    dd/MM/yyyy    HH:mm:ss     .,,

bn-IN     -,-,-    Bengali (India)             dd-MM-yy      HH.mm.ss     .,,
da-DK     -,-,-    Danish (Denmark)            dd-MM-yyyy    HH:mm:ss     ,.;

      

x = decimal character. y = digit grouping character. z = list separator

+10


source


One tricky aspect to globalization is working with right to left languages ​​(RTL). So I would include a language that uses Arabic (or Hebrew) in your list, for example ar-EG

"Arabic (Egypt)".



You can also take a pseudo-local approach and test using . .NET supported pseudo data that demonstrates features that can cause globalization errors. There are three of them, "Base" (which is convenient as it gives clear text such as "[Shezđđśđśđỳ !!!], 8 ōf [Μäŕςћ !!] ōf 2006"), "Mirror" and "East Asian" ,.

+3


source


If we talk about the popularity of languages ​​around the world:

http://www.wolframalpha.com/input/?i=top+10+most+spoken+language

As far as "diversity" is concerned, this is not a language forum.

0


source







All Articles