ASP.NET国际化

原创 2007年09月21日 09:35:00
ASP.NET国际化
 
  编码支持
  本地化支持
  配置设置
--------------------------------------------------------------------------------
编码支持
ASP.NET 在内部使用 Unicode。此外,ASP.NET 还使用 .NET 框架类库中的 String 类和相关的实用工具函数,它们也是内部 Unicode。与外界连接时,可以用几种方法来配置 ASP.NET 以使用已定义的编码,包括 .aspx 文件的编码、请求数据和响应数据。例如,可以用 Unicode 编码方式存储 .aspx 文件并将页的 HTML 输出转换为 ANSI 代码页,如 ISO-8859-1。

本地化支持

通过 CultureInfo 类可以访问区域设置的属性。此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 CurrentCulture,和用于区域设置特定的资源数据查找的 CurrentUICulture。

以下代码显示了 Web 服务器上的区域性值。注意:CultureInfo 类是完全限定的。

<%@Import Namespace="System.Globalization"%>
...
<%=CultureInfo.CurrentCulture.NativeName%>
<%=CultureInfo.CurrentUICulture.NativeName%>

结果如下:


English (United States)
English (United States)
对于如日期/时间格式或货币这样与区域设置相关的数据,ASP.NET 使用公共语言运行库中的 .NET 框架类库支持。ASP.NET 页上的代码可以使用与区域设置相关的格式化例程,如 DateTime.Format。例如,下列代码以长格式显示当前日期:第一行依照系统区域设置,第二行依照德语 (“de”) 区域设置:

<%=DateTime.Now.ToString("f")%>
<%=DateTime.Now.ToString("f", new System.Globalization.CultureInfo("de-DE"))%>

结果如下:


06
06

配置设置
创建 ASP.NET 页或代码隐藏模块时,开发人员可以使用 .NET 框架类库为全球化环境或本地化应用程序提供必要的功能。ASP.NET 还提供使 ASP.NET 应用程序的开发和管理变得容易的配置设置。

ASP.NET 使用配置文件来提供通常也由子目录继承的目录设置。每个文件都可以包含 Globalization 节,在其中可以指定默认的编码和区域性。如果值为相关的类 Encoding 和 CultureInfo 所接受,则它们是有效的。在 .NET 框架 SDK 中可以找到有关 Encoding 和 CultureInfo 类的更多信息。

<configuration>
  <system.web>
    <globalization
      fileEncoding="utf-8"
      requestEncoding="utf-8"
      responseEncoding="utf-8"
      culture="en-US"
      uiCulture="de-DE"
    />
  </system.web>
</configuration>

在 Globalization 节中,fileEncoding 的值决定 ASP.NET 编码 .aspx 文件的方式,requestEncoding 和 responseEncoding 的值决定请求数据和响应数据的编码方式。
Web.config 文件中的 Globalization 节的属性也可以在 Page 指令上指定(fileEncoding 除外,因为它应用于文件本身)。这些设置仅对特定页有效并且重写 Web.config 文件的设置。下列示例指令指定页应对响应使用“法语”区域性设置和 UTF-8 编码:

<%@Page Culture="fr-FR" UICulture="fr-FR" ResponseEncoding="utf-8"%>

注意:在页内,可以通过设置 Thread.CurrentCulture 和 Thread.UICulture 以编程方式更改区域性值。


本节小结
ASP.NET 支持 .aspx 文件、请求数据和响应数据的广泛编码。
CultureInfo 类提供对区域设置相关数据的支持,在该类中跟踪两个值 CurrentCulture 和 CurrentUICulture。
可以为每台计算机、每个目录和每页配置国际化设置
 

ASP.NET MVC应用程序中实现国际化(结合使用AngularJS)

我们无法预知未来的路,只得集中精力走好脚下的每一步。该发生的总会发生,不管你是否为此焦虑。向前走,向前看,生活就这么简单。每一个坚强的人,都有一颗柔软的心,摆正心态,温柔自相随,哭给自己听,笑给别人看...
  • WuLex
  • WuLex
  • 2016年10月05日 11:59
  • 1189

ASP.NET 国际化应用程序总结

ASP.NET应用程序的国际化基本上有两种方案,一种是在数据库中建立语言映射表,从数据库中取出国际化后的资源;第二种是在应用程序中建议资源文件,根据语言进行切换。在这里我想说的是第二种方法。 1.我...
  • gxiangzi
  • gxiangzi
  • 2011年08月14日 11:42
  • 3611

ASP.Net本地化/国际化解决方案原理和代码示例

解决方案原理:ASP.NET本地化支持 通过 CultureInfo 类可以访问区域设置的属性。此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 Curr...
  • snaill
  • snaill
  • 2007年12月06日 14:27
  • 2905

asp.net开发国际化的程序十个例子

Globalized Web Applications & ASP.NETby Max Poliashenko and Chip Andrews 例子1(a)>(b)Response.Write(""...
  • zitjubiz
  • zitjubiz
  • 2002年05月10日 09:51
  • 782

asp.net mvc数据标记国际化

初用asp.net mvc3 和 4,发现asp.net mvc提供非常好框架,今天在做例子的时候想到标题国际化问题,比如:Albums中有AlbumArtUrl属性,我希望在中文环境下显示“专辑艺术...
  • qing2005
  • qing2005
  • 2013年02月26日 15:03
  • 4269

HTML5中的新国际化标签及属性

H5问世其实也有很长一段时间了,时至今日,大部分浏览器都号称对其进行了支持,但效果如何呢?随便找个前端问问,标准答案一般会是——呵呵~~~虽然H5对视频、音频、图象、动画,以及同电脑的交互都已经标准化...
  • spring1208
  • spring1208
  • 2017年04月14日 17:20
  • 3481

.NET中实现网站的国际化

原文地址:http://dotnet.9sssd.com/aspnet/art/949 网站在开发的过程中需要实现多语言版本,我们暂且认为有英语和汉语两个版本。网站结构包括,UI过程,res...
  • XuWei_XuWei
  • XuWei_XuWei
  • 2014年07月02日 15:52
  • 551

ASP.NET MVC 多语言配置

步骤1:打开VS2015新建测试项目。 步骤2:创建资源文件。 步骤3:新建类CultureModule public class CultureModule : IHttpMod...
  • Sky_666
  • Sky_666
  • 2017年02月18日 14:42
  • 2153

使用 jQuery.i18n.properties 实现Web 前端的国际化

国际化是现在 Web 应用程序开发中的重要一环。jQuery.i18n.properties 是一款轻量级的 jQuery 国际化插件,能在不对后端做任何更改的情况下,实现 Web 前端的国际化。与其...
  • lzy_168
  • lzy_168
  • 2014年11月16日 13:44
  • 3045

web系统国际化方案

web系统国际化方案前言很多时候一个系统发展到一定环境,就需要兼容到各种各样的国家。而这种兼容除了语言,还包含时区,数据,还有服务器速度等。 其实需要考虑的东西也蛮多的,我最近因为做外国服系统,所以...
  • rth362147773
  • rth362147773
  • 2017年06月25日 01:58
  • 988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET国际化
举报原因:
原因补充:

(最多只允许输入30个字)