2012-07-26 18 views
0

我有兩個資源文件,Emails.es.resx(es-ES)和Emails.eu.resx(eu-ES),並且我有一個問題從eu-ES文件檢索字符串myLib.Emails.ResourceManager.GetString("textKey", "eu-ES");總是從資源文件返回字符串與默認語言

在本地這個工作正常,但在服務器,是一個Web應用程序+ IIS,不工作,總是返回一個正確的值「textKey」,但默認語言ES-ES。

我清理了解決方案並重建了所有內容,但沒有結果。

有誰知道會發生什麼?

+0

你試過[這種方式](http://stackoverflow.com/a/1142840/825024)? – Otiel 2012-07-26 11:25:53

+0

是的,我試過了,但沒有工作。謝謝! – 2012-07-26 12:50:03

回答

0

確保您設置了正確的文化。假設您在網站默認頁面的某個地方給出了選項,用戶可以選擇語言。在語言改變時,將所選語言保存在應用程序狀態的某個地方.. session或catch或任何套件。集文化如下 explained at following link:

protected void Page_PreInit(object sender, System.EventArgs e) { 

    System.Globalization.CultureInfo lang = null; 
    lang = new System.Globalization.CultureInfo("zh-CN"); 

    System.Threading.Thread.CurrentThread.CurrentCulture = lang; 
    System.Threading.Thread.CurrentThread.CurrentUICulture = lang; 

} 

現在找回您的資源..它應該返回正確的。

+0

檢索您選擇的語言/文化,並在下面的行中使用而不是「zh-CN」。 System.Globalization.CultureInfo( 「ZH-CN」); – Munawar 2012-07-26 11:53:06

+0

您應該將其放入web.config文件中,更易於更改。 system.web中有一個全球化標籤,您可以在其中設置這些語言! – 2012-07-26 12:00:21

+0

是的,我試圖改變這些屬性,但不工作。是否可能需要更改IIS中的某些選項? – 2012-07-26 12:48:54