全球兼容性的最常见区域设置

问题描述 投票:0回答:4

我认为 StackOverflow 上从未有人问过这个问题。我正在编写一个 C# 程序,但这个问题适用于 Windows 7 下的任何编程语言。

由于我想让我的程序与尽可能多的国家/地区兼容(但手头上的时间有限),那么要测试的 10 个最常见的区域设置是什么?由于我使用的是 C#,因此可以通过以下方式找到:

CultureInfo.CurrentCulture.ToString()

据我所知,这些对应于以下项目:控制面板 -> 区域和语言 -> 格式

测试的简单方法是“English - (United States)”(在 C# 下是“en-US”)。 但这只是一个 - 我正在寻找另外 5-10 个左右。

前10名还应该包括“多样性”。例如,如果他们都使用句点作为小数点,那就没有多大帮助。我还希望至少有一个使用逗号作为小数点(如欧洲、南美、俄罗斯和其他国家所做的那样)。

同样,我想要使用“.”、“/”和“-”作为日期分隔符的语言环境。

所以我原来的问题现在有点复杂,但可能更有用。我想要最常用的语言环境,但对多样性有轻微到中等的偏向,以便我可以更轻松地推广测试,并更好地保证它们将在未经测试的语言环境下工作。

c# internationalization locale globalization
4个回答
18
投票

经过一个小时的搜索,我能想到的最好的结果就是一些根据他们自己的反馈提供“前 10 名”的链接。为了帮助其他用户,我将结果结合起来,生成了这个可能中度到极不准确的前 12 名列表:

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 = 十进制符号。 y = 数字分组符号。 z = 列表分隔符。 URL 评级中的三个数字表示区域设置在每个列表中的位置。

来源:

可以使用此 URL 在区域和 C# 代码之间进行转换: http://www.csharp-examples.net/culture-names/

下面是我个人将检查的最终过滤列表。我删除了与其他文化相似或几乎相似的文化(主要是在日期、时间和符号/分隔符方面;-如果您的标准是其他东西,我会更加关注上面的列表)。我还添加了孟加拉语(印度)和丹麦语(丹麦),它们与其他语言完全不同。

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 = 十进制符号。 y = 数字分组符号。 z = 列表分隔符


6
投票

全球化的一个棘手问题是处理从右到左 (RTL) 语言。因此,我会在您的列表中包含使用阿拉伯语(或希伯来语)的语言环境,例如

ar-EG
“阿拉伯语(埃及)”。

您还可以采用伪区域设置方法并使用 .NET 支持的伪区域设置进行测试,它表现出可能暴露全球化错误的特性。其中有三个:“Base”(这很方便,因为它可以生成可理解的文本,例如“[Шěđлеśđαỳ !!!], 8 ōf [Μäŕςћ !!] ōf 2006”)、“Mirrored”和“东亚语言” .


0
投票

好的,所以我向 ChatGPT 询问了世界上 40 种最常用语言的主要语言环境变体,它生成了这个(相当不错的)列表:

Certainly! Below is a list of the 40 most-spoken languages in the world,
along with major locale codes for each language:

1. **Mandarin Chinese:**
   - Mainland China: zh_CN
   - Taiwan: zh_TW
   - Hong Kong (Cantonese): zh_HK

2. **Spanish:**
   - Spain: es_ES
   - Mexico: es_MX
   - United States: es_US
   - Argentina: es_AR

3. **English:**
   - United States: en_US
   - United Kingdom: en_GB
   - Canada: en_CA
   - Australia: en_AU
   - India: en_IN
   - South Africa: en_ZA

4. **Hindi:**
   - India: hi_IN

5. **Arabic:**
   - Saudi Arabia: ar_SA
   - Egypt: ar_EG

6. **Bengali:**
   - Bangladesh: bn_BD
   - India: bn_IN

7. **Portuguese:**
   - Brazil: pt_BR
   - Portugal: pt_PT

8. **Russian:**
   - Russia: ru_RU

9. **Urdu:**
   - Pakistan: ur_PK
   - India: ur_IN

10. **Indonesian:**
    - Indonesia: id_ID

11. **German:**
    - Germany: de_DE
    - Austria: de_AT
    - Switzerland: de_CH

12. **Japanese:**
    - Japan: ja_JP

13. **Swahili:**
    - Kenya: sw_KE
    - Tanzania: sw_TZ

14. **Telugu:**
    - India: te_IN

15. **Marathi:**
    - India: mr_IN

16. **French:**
    - France: fr_FR
    - Canada: fr_CA
    - Switzerland: fr_CH
    - Belgium: fr_BE

17. **Wu Chinese:**
    - China: wuu_CN

18. **Turkish:**
    - Turkey: tr_TR

19. **Korean:**
    - South Korea: ko_KR
    - North Korea: ko_KP

20. **Tamil:**
    - India: ta_IN
    - Sri Lanka: ta_LK

21. **Italian:**
    - Italy: it_IT
    - Switzerland: it_CH

22. **Vietnamese:**
    - Vietnam: vi_VN

23. **Yue Chinese:**
    - Hong Kong: yue_HK

24. **Hausa:**
    - Nigeria: ha_NG

25. **Punjabi:**
    - Pakistan: pa_PK
    - India: pa_IN

26. **Malayalam:**
    - India: ml_IN

27. **Burmese:**
    - Myanmar: my_MM

28. **Hakka Chinese:**
    - China: hak_CN

29. **Tagalog:**
    - Philippines: tl_PH

30. **Ukrainian:**
    - Ukraine: uk_UA

31. **Gujarati:**
    - India: gu_IN

32. **Polish:**
    - Poland: pl_PL

33. **Uzbek:**
    - Uzbekistan: uz_UZ

34. **Javanese:**
    - Indonesia: jv_ID

35. **Xiang Chinese:**
    - China: hsn_CN

36. **Sunda:**
    - Indonesia: su_ID

37. **Malay:**
    - Malaysia: ms_MY

38. **Nepali:**
    - Nepal: ne_NP

39. **Zulu:**
    - South Africa: zu_ZA

40. **Czech:**
    - Czech Republic: cs_CZ

Please note that there might be additional regional variants or dialects
not covered in this list. The locales provided are some of the major ones
associated with each language.

-3
投票

如果我们按照全球语言的流行程度来看:

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

就“多样性”而言,这不是一个语言论坛。

© www.soinside.com 2019 - 2024. All rights reserved.