问题描述
|
我在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设置似乎相同。有什么建议在哪里看?
解决方法
您可能想看看Tim Heuer在该主题上撰写的Blog条目。
http://timheuer.com/blog/archive/2009/08/26/silverlight-string-localization.aspx
使用此博客文章,我能够在短时间内和最少的工作量下实现全球化/本地化。
听起来您需要看一下设计器中的“访问修饰符”部分。您需要将其设置为Public以便在XAML绑定中使用它。还要检查所有RESX文件在文件属性中是否都标记为Embedded Resource。
另外,请确保您的字符串资源字典具有类似内容的扩展名:
附言希望您能阅读Tim的博客文章,他比我解释的要详细得多。同样根据我的个人经验,我无法动态地重新加载该语言,直到我看了博客文章中名为“公共修饰符解决方法并动态设置文化”的部分。
,R单击包含本地化文件的部件,选择卸载项目,然后编辑项目文件。项目文件为XML格式。寻找与SupportedCultures相关的XML标记(或类似的标记)。确保您的文化在列表中。
在解决该问题之前,本地化不想为我服务。