ASP.NET本地化和用户定义的语言

时间:2009-07-08 16:02:41

标签: asp.net globalization resx

我正在开发一个asp.net Web应用程序,其中一个要求是用户必须能够选择他们想要的语言。我使用Resx文件来存储本地人。我的问题是什么我需要在每次加载页面时更改线程的CurrentCulture,或者有一种方法可以在登录用户从一个页面移动时自动处理到下一个。

1 个答案:

答案 0 :(得分:1)

是的,我相信你每次都需要设置它。更糟糕的是,您必须通过覆盖Page类的InitializeCulture方法来实现。我创建了一个SitePage,我的项目中的所有页面都继承而不是Page来执行此操作。

public class SitePage : Page
{
    protected override void InitializeCulture()
    {
        base.InitializeCulture();

        // Set both the CurrentCulture (for currency, date, etc) conversion, and the CurrentUICulture for resource file lookup.
        Thread.CurrentThread.CurrentCulture = whatever;
        Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
    }

}

进一步阅读:http://msdn.microsoft.com/en-us/library/bz9tc508.aspx