我正在本地化我构建的应用,我在这里遇到了问题。
我在AppResources.resx文件中添加了我在xaml中使用的所有字符串,并且我已经用.resx文件中的正确字符串绑定替换了xaml中的所有硬编码字符串,如下所示:< / p>
Text="{Binding Path=LocalizedResources.StringName, Source={StaticResource LocalizedStrings}}"
问题是我需要本地化几个App Bar按钮和一些Messabe Box,所以我需要一种方法来通过C#获取这些字符串。
我阅读了几个教程,我想到了这个,就本地化的App Bar按钮而言:
ApplicationBar = new ApplicationBar();
ResourceManager rm = new ResourceManager("AppResources", typeof(CreditiInfo).Assembly);
ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/back.png", UriKind.Relative));
appBarButton.Text = rm.GetString("BackAppBar");
ApplicationBar.Buttons.Add(appBarButton);
当我尝试分配给AppBar按钮时,我得到一个System.Resources.MissingManifestResourceException文本我从GetString方法中检索的字符串。 我错过了什么?
另外,我读到当您在WMAppManifest.xml文件中检查新语言时,Visual Studio应自动复制实际的AppResources.resx文件,并使用选中的新当前文化重命名该副本,但是当我尝试添加新语言不起作用。 我是否必须自己复制和重命名文件?在使用该语言设置的手机上运行时,它会识别新文件吗?
感谢您的帮助!
塞尔吉奥
答案 0 :(得分:1)
只需使用自动生成的AppResources
类
string resourceValue = AppResources.NameOfYourLocalizedResource;