如何实现 .NET 软件的多语言?

Python031

如何实现 .NET 软件的多语言?,第1张

VS好像专门的属性的~~~先Language属性里更改语言,然后傻瓜式的每一个中文改成外语,他会自己生成的资源的文件的,超简单~~

我认为第一种要更好一点~~因为制作简单,读取也方便,只有不到10行代码!

而第二种,貌似代码要用10行来做单位了吧~~

综上,我认为第一种好!

但是这是个人习惯问题!!习惯就是最好的~~

我在我的项目中是这样做的,给你做个参考吧。这个重写的方法你可以直接定义在当前页面的cs文件中。不过我是定义在页面基类中了。网站所有页面继承页面基类,就可以实现统一的多语言控制了。

protected override void InitializeCulture()

{

string strCurrentCulture = Request.QueryString["CurrentCulture"]//获取当前语言参数,你也可以从Session、Cookie、全局变量或是控件获取

if (!String.IsNullOrEmpty(strCurrentCulture))

{

try

{

Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)

UserStaticValue.CurrentCulture = strCurrentCulture

}

catch//如果当前语言参数不合法则默认显示中文

{

strCurrentCulture = "zh-cn"

//UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言

//Culture - 决定各种数据类型是如何组织,如数字与日期

Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)

}

}

else

{

strCurrentCulture = "zh-cn"

//UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言

//Culture - 决定各种数据类型是如何组织,如数字与日期

Thread.CurrentThread.CurrentUICulture = new CultureInfo(strCurrentCulture)

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(strCurrentCulture)

}

}

希望可以帮到你!

.NET运行平台称为.NET 框架,是.NET平台的基础架构,它创造了一个完全可操控的安全的和特性丰富的应用执行环境,这不但是的应用程序的开发与发布更加简单,并且实现了众多种类语音的无缝集成。

CLR是.NET框架的底层,某种程度上CLR 和 Java的虚拟机有异曲同工之妙,CLR的意义在于:从运行时的角度看,.NET是基于Windows系列操作系统的跨设备的统一运行平台而从开发者的角度来看,凡是符合公共语言规范的程序语言,所开发的程序都可以在任何有CLR的操作系统赶上执行和互操作,具有与平台无关的特性,同事可以相互调用。

作为编程语言,它是现代的,简单的完全面向对象的。