asp.net(C#)软件中多语言解决方案

本文介绍了如何在ASP.NET(C#)软件中实现多语言版本,包括使用资源文件处理静态界面文本,以及处理动态生成的文字的方法。通过设置不同语言的资源文件,结合Global.asax的配置和按钮事件,实现了用户切换语言的功能。同时,对于程序控制动态生成的文字,提出了数据库设计和语言类的处理方案。
摘要由CSDN通过智能技术生成

B/S或者C/S软件中都会涉及多语言版本的问题,那么如何在编程过程中尽量减少因为多语言而带来的程序复杂性呢?下面是我想到的一个解决方案,希望广大网友们各抒己见,我用asp.net(C#)语言抛砖引玉了.

软件语言版本就是软件界面上的文字.我将界面上的文字分为两种类型:1 直接放在界面上的文字(在asp.net中大部分这些文字都是控件上一个属性的值) 2 由程序控制动态生成的文字(大部分是生成的控件上一个属性的值) ,所以所谓多语言版本的对这些文字的控制.

下面是我的解决方案:

一 对直接放在界面上的文字的处理
主要是使用资源文件来处理:(方法引用自:http://singlepine.cnblogs.com/articles/253309.html)

1.建立工程,比如Document,配置webconfig

<appSettings>
<add key="DefaultCulture" value="zh-cn" />
<add key="CNCulture" value="zh-cn" />
<add key="ENCulture" value="en-us" />
</appSettings>
2.添加资源文件
右键添加新项目,选中Assembly Resource File,命名为strings.en-us.resx和strings.zh-cn.resx,然后配置如下
2.1 strings.en-us.resx

<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值