簡體   English   中英

Silverlight無法正確讀取我的資源文件

[英]Silverlight doesn't read my resource file correctly

我有為英語(MyResourcesFile1.resx)和法語(MyResourcesFile1.fr.resx)創建的.resx文件。 兩者都具有對Public的Access Modifier ,並且都是Embedded Resource

在app.xaml.cs中,甚至Application_Startup都包含:

  var languageInfo = new CultureInfo("fr");
  Thread.CurrentThread.CurrentCulture = languageInfo;
  Thread.CurrentThread.CurrentUICulture = languageInfo;

在Silverlight代碼的許多地方,我使用Visual Studio提供的生成的屬性。

 string myString = MyResourcesFile1.MyPropertyValue;

不幸的是,它僅從英語文件中獲取本地化的字符串。 為什么?

通過閱讀很多Microsoft文檔,我終於使它起作用了。

Visual Studio 2010還沒有菜單來添加Silverlight項目支持的語言。 為了使您的應用程序可以處理所有資源文件,需要對其進行修改。 第一步是使用NotePad打開項目解決方案。 完成后,搜索SupportedCultures 在括號內,您可以添加所需的語言(無需添加默認語言)。 所以我的現在看起來像這樣:

<SupportedCultures>fr
</SupportedCultures>

重新加載項目並進行編譯。 如果像我在“應用程序啟動”中一樣設置線程,則資源將正確加載並顯示。 我認為它不能動態更改,但對我來說不是必需的。

其中一個選項是安裝App.xaml.cs中的設置區域性,您可以在其中設置對象標記。

<object ...>
     ...
     <param name="culture" value="de-de" />
     <param name="uiculture" value="de-de" />
    ...
</object>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM