ASP.NET全球化与本地化 c#多国语言的支持 (项目支持多国语言的开发)
本站寻求有缘人接手,详细了解请联系站长QQ1493399855
ASP.NET 2.0及以上的开发平台,为全球化本地化应用程序提供了工具,而且实现起来非常简单。以下内容是使用c#,按照帮助一步步做的,将为初学者提供详细的实现步骤。
一 几个必要概念
(一) 支持全球化
由于Internet使得软件更容易跨越国家边界,所以全球化也就有了格外的重要。
1. 全球化
全球化是为本地化准备应用程序的过程。这一步包括确定应用程序中所有能够本地化的资源,并从可执行代码中分离车它们,一方便对它们进行修改。
2. 本地化能力
在此准备过程的本地化能力阶段,需要检查确定转化该应用程序是否真的不需要改变程序代码。
3. 本地化
再后,在此准备过程的本地化阶段,为新的区域性定制该应用程序。
(二) 区域性
1. 理解区域性
.NET框架通过通过指定某个区域性来标识本地化内容的目标用户。区域性是比语言更为精确的一个概念。例如:美国英语和英国英语在.NET框架中就是两个不同的区域性。要完全本地化某个应用程序,就必须依靠区域性而不能依靠语言。
2. 区域性代码
.NET框架通过一组缩写词来表示区域性。每个缩写词是由区域性代码后跟一个或多个次区域性代码组成。区域性代码均为小写字母,而次区域性代码则为大写字母。例如:
·ni-BE 标识荷兰(比利时)区域性。方便生活在比利时的荷兰用户使用。
·sr-SP-Latn 这是多个次区域性的示例,标识在塞尔维亚以拉丁字母蛇蝎的塞尔维亚语。
·es 标识西班牙区域性。这是个非特定区域性,也就是不再指定次区域性。
(三) 区域性的属性和方法
1. CurrentUICulture和CurrentCulture之间的区别
两者之间的区别在于.NET框架对他们的使用。CurrentUICulture属性用于从适当的文件检索区域性特定的资源(最重要的是用户界面文本)。CurrentCulture属性用于设置日期、时间、货币和数字格式,以及其他区域性的功能,包括排序顺序、字符串比较规则和包装规则等。
在没有看完整个本文的情况下,以下示例可以不看,以免混淆概念。
2. 可以通过使用System.Globallization命名空间中的CultureInfo类,简单更改线程的区域性。
具体改变一个线程的区域性
using System; using System.Globalization; using System.Threading; class test {public static void main(){Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");Console.WriteLine(CultureInfo.CurrentUICulture.Name);} }