2013-04-15 41 views
2

我們已經成功地本地化了我們的Windows窗體應用程序。一種形式拒絕使用本地化資源,並且始終與嵌入式資源一起顯示。我查了以下幾點:Windows窗體:窗體不是本地化的

  • 的形式本地化屬性爲true
  • 在運行時,UI文化設置正確
  • 衛星組件處於正確的位置
  • 隨着工具有Sysinternals我驗證該過程使用衛星組件
  • 我用IL-Spy打開衛星組件並檢查它是否包含翻譯資源
  • 在調試器中,我進入了Microsof適用於按鈕的ComponentResourceManager.ApplyResources方法。它找到文本屬性,但隨着代碼被優化,我看不到真正有趣的東西。

所有其他形式(不同的組件)以正確的語言出現,只有這一個... 我希望有人在那裏有一個有用的想法。

+0

好吧,請調試Debug構建。 –

回答

0

只是偶然發現了同樣的問題,但可以解決它。

我剛剛將本地化的resx文件導入到項目中。所以* .de.resx是該項目的一部分,但本地化資源並未應用於所有表單。

參考http://msdn.microsoft.com/library/y99d1cd3%28v=vs.110%29.aspx,本地化的資源文件應該出現在表單下方(作爲子項目)。

所以我的解決方案是: - 通過所有形式,將語言從Default更改爲German並返回到Default。 - 作爲一個結果是,* .de.resx文件被列爲形式 子項目 - 然後覆蓋與本地化的那些

然後,它適用於所有形式的剛創建* .de.resx文件。然而,我不知道爲什麼它以前用過3種格式。

向Windows Forms應用程序添加新語言的推薦方法是什麼?我是否真的需要單擊所有形式的應用程序才能創建新語言的空resx文件?當然,我可以手動編輯項目文件...