2012-07-04 13 views
0

我在C#/ Winforms中必須支持多種語言的Visual Studio .NET下創建了一個對話框。我已設置對話框Localizable屬性爲True,然後選擇中性語言 - 法語並在對話框中輸入法語文本以及法語(法語)。我看到了相關的資源文件:如何解決.net WinForm對話本地化

AboutBox.fr-FR.resx
AboutBox.fr.resx
AboutBox.resx

爲了測試它,我設置線程的CurrentCulture和的CurrentUICulture到的CultureInfo(「FR -FR「),如下所示,然後創建對話框,但只顯示英文版本。我驗證了線程CurrentCulture和CurrentUICulture在對話框構造函數中仍然設置爲「fr-FR」。

  CultureInfo cultureInfo = new CultureInfo("fr-FR"); 
      Thread.CurrentThread.CurrentCulture = cultureInfo; 
      Thread.CurrentThread.CurrentUICulture = cultureInfo; 

該程序集的整體中性語言爲英美。

我在輸出窗口中看不到任何有用的消息。追蹤.NET本地化運行時行爲的原因的最佳方式是什麼?

+0

你是如何設置cultureinfo的。你能發佈確切的一行代碼嗎? –

+0

更新了代碼示例 – Mike

+0

我無法用一個簡單的Winforms應用程序來重現您的問題,該應用程序本地化了窗體的Text屬性。這幾乎是你遇到的麻煩 - 像這樣拍攝這樣的問題,如果它不適用於* one *屬性,那麼它對於其餘部分都不起作用。節省您輸入大量屬性值的麻煩。確切地說*爲什麼*你不能讓它工作在問題中是完全看不見的,也許你迷失在森林裏。 –

回答

0

事實證明,在用英文文本覆蓋設計器字段後面有C#代碼。在完成其餘翻譯之前,我正在嘗試進行快速測試。