2012-03-14 71 views
3

我不認爲這是有史以來問過StackOverflow。我正在編寫一個C#程序,但這個問題適用於Windows 7下的任何編程語言。全球兼容性的最常見語言環境

由於我想讓我的程序與儘可能多的國家(儘管時間有限)兼容,但是什麼是前10個最常見的語言環境進行測試?由於我使用C#,這可以通過使用發現:

CultureInfo.CurrentCulture.ToString() 

據我所知,這些對應與項目下:控制面板 - >區域和語言選項 - >格式

一個沒有-brainer測試將是「英語 - (美國)」(在C#下是「en-US」)。 這只是一個 - 我正在尋找另外5-10個左右。

前10名還應包括'品種'。例如,如果他們都使用小數點作爲週期,那麼這將不會很有幫助。我還希望至少有一個使用逗號作爲小數點(如歐洲,南美,俄羅斯和其他國家)。

同樣,我想要使用'。','/'和' - '作爲日期分隔符的語言環境。

所以我原來的問題現在有點複雜,但可能更有用。我想要最常用的語言環境,但是對於多種語言有輕微至中等的偏見,這樣我就可以更容易地推廣測試,並且更好地保證它們能夠在未經測試的語言環境下工作。

+0

這不是一個真正的編程問題 - 它是一個人口統計學問題。 – Oded 2012-03-14 22:14:41

+0

雖然它適用於編程,因爲錯誤很容易在其他國家出現,而這些國家似乎在本地很好地工作。我還能在哪裏發佈這個問題? – 2012-03-14 22:32:48

+0

它適用於編程並不重要 - 它也適用於市場營銷和銷售。我不知道它屬於哪裏,但我不相信它屬於SO。 – Oded 2012-03-15 09:36:40

回答

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 =列表分隔符

+0

感謝您分享您的結果!爲我節省了一些時間 – 2014-11-05 12:25:57

0

如果我們採用的語言向全世界普及:

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

至於「品種」,這是不是一種語言的論壇。

+0

謝謝,雖然這不一定適用於該語言下的計算機用戶。它也不說明「多樣性」的偏見,它允許我測試儘可能少的語言環境,更有可能在整個領域進行概括。最後,我想要Windows語言環境,而不是語言本身。 – 2012-03-14 22:15:41

3

全球化的一個棘手方面是處理從右到左(RTL)語言。因此,我會在您的列表中包含使用阿拉伯語(或希伯來語)的語言環境,例如ar-EG「阿拉伯語(埃及)」。

您也可以採用僞區域設置方法並使用.NET-supported pseudo-locales進行測試,這些方法展現出可能暴露全球化錯誤的特性。其中有三個,「基地」(這是很方便的,因爲它產生可理解的文本,如「[Шěđлеśđαỳ!!!],8ōf[Μŕŕςћ!!]ōf2006」),「鏡像」和「東亞語言」 。

+0

請注意,要成功構建使用僞區域設置的.NET應用程序,您可能必須配置您的系統。請參閱http://stackoverflow.com/questions/8577187/getting-visual-studio-to-build-pseudo-language-qps-ploc-satellite-assemblies – Clafou 2012-03-15 10:56:24

+0

謝謝 - 以前從來不知道僞區域設置。 – 2012-03-15 12:49:09