我需要根据每种文化的资源文件在运行时更改文化 .
我需要根据指定.resx文件的两种文化来更改表单中控件的属性
resorces1.aspx.resx // default
resorces1.aspx.he-IL.resx // hebrew culture
我可以使用fallback资源加载页面,或者在pageload上加载 UICulture = "he-IL"
值,并且可以使用所需资源加载 .
问题是我需要在运行时进行这些更改 .
1 ..在我更改按钮单击事件的值后
btn_change_Click(....)
{
UICulture = "he-IL" ;
}
它仍然返回到“en-US”的初始值
如何在运行时提交对UICulture的更改?
2 ..如果我不知道它是“en-US”,我如何引用回退资源文件?
3 回答
更改当前的UI文化:
或更好,检索he-IL文化的缓存只读实例:
max把我设置在正确的道路上,以前我没有遇到任何事情,但它确实帮助我对msdn文档做了一个小调整:
http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
列表框包含不同的文化,第一个和选定的一个也是默认文化,我保存在页面加载,在其他加载它没有效果,因为列表框已经作为值 .
我无法得到这里描述的“后备”工作 . 我正在使用全局资源文件的语言,当用户选择的文化文件中缺少标签时,它不会默认返回默认文化中的标签?我最终创建了一个执行回退的方法 . 我正在寻找更好的方法来改变文化(当没有找到标签时)并偶然发现这篇文章,所以我想我会和一些内容 .
在我的实用程序类中:public String getLabelResource(String sLabelID,String sLangCd){