2014-01-30 46 views
1

在我的應用程序中,我已經使用了許多文化代碼,如de-DE,es-ES,cz-CZ等。 所有語言都正常工作。但是,我在文化系統Lt-sr-SP(塞爾維亞語,拉丁語)中遇到了錯誤。不支持的文化代碼

當我打電話:

var culture = new CultureInfo(Settings.Default.UI_Language); 

其中Settings.Default.UI_Language =「LT-SR-SP」我得到一個錯誤,該培養是不受支持,培養代碼是無效的培養代碼標識(在荷蘭人,所以我不能在這裏真正複製它,但對大多數人來說沒有意義)。

對於所有使用的語言,我有一個專用的字符串資源文件,但我甚至用一種語言進行檢查,我沒有這樣的資源文件,我沒有在這種情況下得到錯誤。

+1

根據.NET CultureInfo頁面,這不是正確的文化代碼,其中microsoft將其列爲「sr-SP-Latn」:http://msdn.microsoft.com/zh-cn/library/system .globalization.cultureinfo(vs.71).aspx – Tejs

+0

也許這個列表也可以工作,但是我使用解決方案中的文化名稱和來自http://techmantium.com/culture-codes/的列表...現在可以工作,但是謝謝你讓我知道還有更多(不同的)列表。 –

回答

2

如果您使用以下代碼搜索可用的文化,您會發現您正在查找的代碼不在可用文化集中。

var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.Name.Equals("Lt-sr-SP")); 

如果您搜索使用

var culture = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.EnglishName.Contains("Serbian")); 

你可以看到你正在尋找的文化代碼爲SR-LATN-RS。

+0

我確實找到了比我之前使用的列表更好的鏈接:http://techmantium.com/culture-codes/ –