首页 文章

为整个解决方案设置当前文化

提问于
浏览
5

我正在尝试在具有多个项目和线程的解决方案中支持多种语言 .

我有2个资源文件,一个用英文字符串,一个用法文字符串 .

我将当前的文化设置如下:

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(isEnglish ? "en-US" : "fr-CA");

有没有办法在全局范围内为整个解决方案设置当前文化,或者我是否必须为需要访问字符串的每个线程执行此操作?

3 回答

  • 0

    在.NET Framework 4.5中,CultureInfo.DefaultThreadCurrentCulture Property获取或设置当前应用程序域中线程的默认区域性 .

    在.NET Framework 4和早期版本中,默认情况下,所有线程的文化都设置为Windows系统文化 . 对于当前文化与默认系统文化不同的应用程序,此行为通常是不合需要的 . 在.NET Framework 4.5中,DefaultThreadCurrentCulture属性使应用程序能够定义应用程序域中所有线程的默认区域性 .

  • 4

    您可以在web.config中的system.Web中添加全球化部分

    <globalization culture="en-US" uiCulture="en-US" />
    
  • 10

    设置 CurrentThread 后,它将在应用程序的持续时间内设置 . 在初始化任何 UI 之前,请确保执行此操作 . 请查看此MSDN blog以获取更多信息 .

相关问题