2010-03-11 59 views
4

我有一個Strings.resxStrings.nl.resx文件。 第一個包含一個英文字符串,另一個是荷蘭字符串。它們是C# Class Library項目的一部分:ModuleASP.NET MVC:本地化問題(文化錯誤的resx文件)

public static string testString() 
{   
     //I Force the culture to always be english 
     Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US"); 
     Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US"); 
     return Strings.Hello; 
} 

當我把他們從一個簡單的Console Application,它的工作原理:

Console.WriteLine(Module.testString()); //English string gets returned 

當我做同樣的從我ASP.NET MVC的應用程序,我得到的荷蘭語版本...

public ActionResult testCulture() 
    { 
     return Content(Module.testString()); //Dutch string gets returned..?! 
    } 

我使用的是荷蘭語Windows,所以任何自動設置都將是Dutch.But當文化被硬編碼爲en-us時,我怎麼能得到不同的字符串?

我在這裏失蹤了什麼?

回答

3

你有任何指定的中性資源語言嗎?如果它設置爲"nl""nl-NL",則對未找到的資源的任何請求最終將最終獲取"nl"資源。由於您沒有Strings.en-US.resxStrings.en.resx,因此設置CurrentUICulture"en-US"會使系統使用中性資源語言。

0

檢查,如果你的web.config是不是有其設置爲荷蘭

如果您正在使用Internet Explorer中的語言,去工具> Internet選項並單擊語言按鈕全球化標籤,如果在英文版之前顯示荷蘭語,請更改它