c# – 如何在运行时更改CurrentCulture?

c# – 如何在运行时更改CurrentCulture?,第1张

概述我需要根据每个文化的资源文件在运行时改变文化. 根据两种文化,我需要以我的形式更改控件的属性 其中指定了.resx文件 resorces1.aspx.resx // default resorces1.aspx.he-IL.resx // hebrew culture 我可以使用回退资源加载页面,或者通过pageload给出UICulture =“he-IL”值,并且可以使用所需的资源加载页面. 我需要根据每个文化的资源文件在运行时改变文化.

根据两种文化,我需要以我的形式更改控件的属性
其中指定了.resx文件

resorces1.aspx.resx // default resorces1.aspx.he-IL.resx // hebrew culture

我可以使用回退资源加载页面,或者通过pageload给出UICulture =“he-IL”值,并且可以使用所需的资源加载页面.

问题是我需要在运行时进行这些更改.

1 ..在我更改一个按钮点击事件的值后

btn_change_Click(....)    {        UICulture = "he-IL" ;    }

它仍然返回到初始化值“en-US”

在运行时如何对UICulture进行更改?

2 ..如果我不知道它是“en-US”,怎么能引用后备资源文件?

解决方法 改变当前的UI文化:
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("he-IL");

或者更好的是,检索他的IL-IL文化的缓存的只读实例:

System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("he-IL");

At run time,ASP.NET uses the resource file that is the best match for the setting of the CurrentUICulture property. The UI culture for the thread is set according to the UI culture of the page. For example,if the current UI culture is Spanish,ASP.NET uses the compiled version of the WebResources.es.resx file. If there is no match for the current UI culture,ASP.NET uses resource fallback. It starts by searching for resources for a specific culture. If those are not available,it searches for the resources for a neutral culture. If these are not found,ASP.NET loads the default resource file. In this example,the default resource file is WebResource.resx.

总结

以上是内存溢出为你收集整理的c# – 如何在运行时更改CurrentCulture?全部内容,希望文章能够帮你解决c# – 如何在运行时更改CurrentCulture?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1236340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存