我认为在StackOverflow上从来没有人问过这个问题。我正在写一个C#程序,但这个问题适用于Windows7下的任何编程语言。
既然我想让我的程序与尽可能多的国家兼容(但手头的时间有限),那么最常用的10种语言环境是什么?因为我使用的是C#,所以可以使用以下命令找到它:
CultureInfo.CurrentCulture.ToString()据我所知,这些与以下项目相对应:控制面板->区域和语言->格式
一个简单的测试就是"English -(美国)“(在C#下是"en-US")。这只是一个-我正在寻找另一个5-10左右。
前10名还应该包括“多样性”。例如,如果它们都使用句点作为小数点,这将不是很有帮助。我还希望至少有一个使用逗号作为小数点(就像欧洲、南美、俄罗斯和其他国家一样)。
同样,我希望区域设置使用“.”、“/”和“-”作为日期分隔符。
所以我最初的问题现在有点复杂,但可能更有用。我想要使用最多的语言环境,但对变化有轻微的偏向,这样我就可以更容易地推广测试,并更好地保证它们将在未经测试的语言环境下工作。
发布于 2012-03-15 10:56:26
经过一个小时的搜索,我能找到的最好的结果是一些基于他们自己的反馈提供了“前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等级中的三个数字表示区域设置在每个列表中的排名。
资料来源:
可以使用这个网址在region和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=列表分隔符
发布于 2012-03-15 18:54:00
全球化的一个棘手方面是处理从右到左(RTL)的语言。因此,我会在您的列表中包含一个使用阿拉伯语(或希伯来语)的语言环境,例如ar-EG“阿拉伯语(埃及)”。
您还可以采用伪区域设置方法并使用.NET-supported pseudo-locales进行测试,它展示了可以暴露全球化bug的特性。它们有三个,“基础”(这是方便的,因为它产生诸如"Шěđлеśđαỳ!,8ōfΜäŕςћ!!ōf 2006“之类的易懂文本)、”镜像“和”东亚语言“。
发布于 2012-03-15 06:12:27
如果我们根据世界范围内语言的流行程度来衡量:
http://www.wolframalpha.com/input/?i=top+10+most+spoken+language
就“多样性”而言,这不是一个语言论坛。
https://stackoverflow.com/questions/9711066
复制相似问题