2012-11-29 61 views
2

我在這個格式的各種語言資源文件:MyApplication\Resources\MyForm\Index.resx訪問不同的培養資源文件

我可以訪問當前培養的資源文件還行。但是,如果我想找到不同的文化資源文件(例如,Index.de.resx),我正在努力尋找一種方法來實現它。

ci = new System.Globalization.CultureInfo("de"); 
rm = new ResourceManager("MyApplication.Resources.MyForm", Assembly.GetExecutingAssembly()); 
lg = rm.GetString("Lang", ci);  

我得到的錯誤說:

找不到適合指定區域性或中性文化的任何資源。確保在編譯時「MyApplication.Resources.MyForm」已正確嵌入或鏈接到程序集「BallotApplication」中,或者確保所有需要的附屬程序集均可加載並完全簽名。

我的資源文件是公開的,生成操作是「嵌入式資源」。

回答

1

您的資源文件被正確命名,但是,您沒有設置完整且正確的CultureInfo

它需要全名即de-DE

完整的代碼分解爲語言(de)部分和國家(DE)部分,由-連字符分開。

ci = new System.Globalization.CultureInfo("de"); 

應該

ci = new System.Globalization.CultureInfo("de-DE"); 

其他例子是:

  1. en-US =英語(美國)
  2. en-CA =英語加拿大
  3. en-GB =英語大不列顛
  4. fr-CA =法語加拿大
  5. fr-FR =法語法國在CultureInfo

更多信息。

+0

非常感謝Darren – user1863802

+0

非常歡迎。很高興我能幫上忙。 – Darren