我在IIS上托管了SL 4.0应用程序,可以更改GUI语言。问题是托管在一台机器上,语言功能有效,而另一台机器则没有。在这段代码中:
Thread.CurrentThread.CurrentCulture = new CultureInfo(message.NewCulture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(message.NewCulture);
在Windows7上,它使用正确的资源文件更新UICulture,而在Windows Server 2008上却没有。两个系统上的IIS设置似乎相同。有什么建议吗?
答案 0 :(得分:1)
您可能需要查看Tim Heuer就此主题制作的博客条目。
http://timheuer.com/blog/archive/2009/08/26/silverlight-string-localization.aspx
使用这篇博文,我能够在很短的时间内完成全球化/本地化,而且工作量极小。
听起来您需要查看设计器中的Access Modifier部分。您需要将其设置为Public才能在XAML绑定中使用它。还要检查所有RESX文件是否在文件属性中标记为嵌入式资源。
另外,请确保您的字符串资源字典具有类似的扩展名:
P.S。我希望你能阅读Tim的博客文章,他比我解释的更详细。另外根据我的个人经验,我无法动态地重新加载语言,直到我看一下标题为“公共修饰符变通方法并动态设置文化”的博客文章部分。
答案 1 :(得分:0)
R-单击包含本地化文件的程序集,选择卸载项目,然后编辑项目文件。项目文件采用XML格式。查找与SupportedCultures相关的XML标记(或类似的东西)。确保您的文化在列表中。
在我解决之前,本地化不想为我提供帮助。