我认为 StackOverflow 上从未有人问过这个问题。我正在编写一个 C# 程序,但这个问题适用于 Windows 7 下的任何编程语言。
由于我想让我的程序与尽可能多的国家/地区兼容(但手头上的时间有限),那么要测试的 10 个最常见的区域设置是什么?由于我使用的是 C#,因此可以通过以下方式找到:
CultureInfo.CurrentCulture.ToString()
据我所知,这些对应于以下项目:控制面板 -> 区域和语言 -> 格式
测试的简单方法是“English - (United States)”(在 C# 下是“en-US”)。 但这只是一个 - 我正在寻找另外 5-10 个左右。
前10名还应该包括“多样性”。例如,如果他们都使用句点作为小数点,那就没有多大帮助。我还希望至少有一个使用逗号作为小数点(如欧洲、南美、俄罗斯和其他国家所做的那样)。
同样,我想要使用“.”、“/”和“-”作为日期分隔符的语言环境。
所以我原来的问题现在有点复杂,但可能更有用。我想要最常用的语言环境,但对多样性有轻微到中等的偏向,以便我可以更轻松地推广测试,并更好地保证它们将在未经测试的语言环境下工作。
经过一个小时的搜索,我能想到的最好的结果就是一些根据他们自己的反馈提供“前 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 = 列表分隔符
全球化的一个棘手问题是处理从右到左 (RTL) 语言。因此,我会在您的列表中包含使用阿拉伯语(或希伯来语)的语言环境,例如
ar-EG
“阿拉伯语(埃及)”。
您还可以采用伪区域设置方法并使用 .NET 支持的伪区域设置进行测试,它表现出可能暴露全球化错误的特性。其中有三个:“Base”(这很方便,因为它可以生成可理解的文本,例如“[Шěđлеśđαỳ !!!], 8 ōf [Μäŕςћ !!] ōf 2006”)、“Mirrored”和“东亚语言” .
好的,所以我向 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.
如果我们按照全球语言的流行程度来看:
http://www.wolframalpha.com/input/?i=top+10+most+spoken+language
就“多样性”而言,这不是一个语言论坛。