您的位置:首页 > 其它

利用资源文件实现多语言的系统

2008-07-24 16:38 417 查看
以前很少接触多语言的系统,公司里有个比较不错的portal项目, 我看了有实现多语言的功能, 了解了下它的基本原理:利用资源文件保存不同的语言内容;例如中文一个资源文件, 英文一个资源文件, 日文...;

具体如何架构的属于商业秘密;

于是自己写了一个最基本,最简单的功能;根据该原理可自己扩充~~~~;

忘了补充一下, 该功能在VS2003下开发, 或许在VS2005下不能通过。

1. 新建一个WebApplication, 然后在根目录新建两个资源文件:MultiLang.en-us.resx 和 MultiLang.zh-cn.resx。 目录结构如下:

<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 360px; POSITION: absolute; TOP: 160px" cellSpacing="1"

cellPadding="1" width="400" border="1">

<TR>

<TD align="center" colSpan="2"><FONT face="宋体">

<asp:Label id="LabTitle" runat="server" /></FONT></TD>

</TR>

<TR>

<TD></TD>

<TD></TD>

</TR>

<TR>

<TD>

<asp:Label id="LabUserName" runat="server" /></TD>

<TD>

<asp:TextBox id="TextBox1" runat="server"></asp:TextBox></TD>

</TR>

<TR>

<TD></TD>

<TD></TD>

</TR>

<TR>

<TD>

<asp:Label id="LabPassword" runat="server" /></TD>

<TD>

<asp:TextBox id="TextBox2" runat="server"></asp:TextBox></TD>

</TR>

<TR>

<TD></TD>

<TD></TD>

</TR>

<TR>

<TD></TD>

<TD>

<asp:Button id="BtnSubmit" runat="server"></asp:Button>  

<asp:Button id="BtnCancel" runat="server"></asp:Button></TD>

</TR>

<TR>

<TD></TD>

<TD></TD>

</TR>

</TABLE>

3. CS 文件代码:

导入命名空间:

using System.Threading;

using System.Reflection;

using System.Resources;

using System.Globalization;

userLan = Request.UserLanguages[0].ToString();

try

catch

ResourceManager myResource = new ResourceManager("ResourceProject.MultiLang",Assembly.GetExecutingAssembly());

this.LabTitle.Text = myResource.GetString("@LabTitle");

this.LabUserName.Text = myResource.GetString("@LabUserName");

this.LabPassword.Text = myResource.GetString("@LabPassword");

this.BtnSubmit.Text = myResource.GetString("@BtnSubmit");

this.BtnCancel.Text = myResource.GetString("@BtnCancel");

4. MultiLang.en-us 文件内容:



5. MultiLang.zh-cn文件内容:



6. 最后的效果:

英文界面:



中文界面:



说明及注意:

// 资源文件的命名规则: 文件名.语言代码.resx.

// 实例化规则: 项目namespace.文件名.

// 资源文件只能放在根目录下.


[b]项目文件下载[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐