首页 >  毕业设计知识  > 正文

ASP.NET 实现国际化多语言选择

双击LocalizedText.resx进行编辑,添加一条新的字符串资源,如图所示:

复制LocalizedText.resx,粘贴到App_GlobalResources目录,重命名为LocalizedText.en-us.resx,双击进行编辑,添加一条新的字符串资源

,如图所示:

 

打开Default.aspx,切换到[设计]视图,从工具箱拖一个TextBox控件到页面上。切换到[源]视图,修改代码:

<asp:TextBox ID="TextBox1" runat="server" Text="<%$ Resources:LocalizedText, Msg1 %>"></asp:TextBox>

运行程序,切换语言设置,可以看到全局资源的使用效果了,如图所示:
中文(中国)

 

英语(美国)
 

 

动态切换语言设置

以上的介绍都是通过IE浏览器获取语言设置,其实我们可以自己设置使用哪种语言。

1)通过在每个页面里的Page节指定

<%@ Page Culture="en-us" UICulture="en-us" %>
如上所设,该页将使用en-us的语言设置。

注意:这只是个概要式写法,实际的页面中的Page一般都包含更多的属性。

2)通过在Web.Config里的globalization节指定

<system.web>
    <globalization Culture="en-us" UICulture="en-us" />
</system.web>
3)当然还有一种就是通过编程动态切换语言设置啦,这也是实际项目中经常用到的方式

打开Default.aspx,切换到[源]视图,添加如下代码

        <a href="?currentculture=zh-cn">中文(中国)</a>
        &nbsp;
        <a href="?currentculture=en-us">English(USA)</a>
打开Default.aspx.cs,添加如下代码

    String s;

    protected override void InitializeCulture()
    {
        s = Request.QueryString["currentculture"];
        if (!String.IsNullOrEmpty(s))
        {
            //UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言
            //Culture - 决定各种数据类型是如何组织,如数字与日期
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(s);
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(s);
        }
    }
记得添上这个引用

using System.Threading;

using System.Globalization;
运行程序,分别点击新增加的两个链接,效果如图所示:
中文(中国)


以上是本题目部分介绍,若需要完整版或不符合您的要求,请联系客服QQ:242219979

上一篇:另一个 SqlParameterCollection 中已包含 SqlParameter解决方案

下一篇:ASP.NET"正在中止线程"错误原因