利用资源文件实现多语言的系统
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]
具体如何架构的属于商业秘密;
于是自己写了一个最基本,最简单的功能;根据该原理可自己扩充~~~~;
忘了补充一下, 该功能在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]
相关文章推荐
- Winform 三层架构例子(3)--利用资源文件实现多国语言(含源代码)
- 利用.net的资源文件实现网站的多语言版本
- 利用资源文件实现窗体多语言
- 利用.net2.0的资源文件实现多语言开发!
- 利用.net2.0的资源文件实现多语言开发!
- 利用资源文件实现多国语言(含源代码)
- Winform 三层架构例子(3)--利用资源文件实现多国语言(含源代码)
- Hybrid模式-利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- 【COCOS2DX-LUA 脚本开发之十二】Hybrid模式-利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- 不同系统平台之间(Linux与Linux、Linux与Unix)利用NFS实现文件共享方法
- Net利用资源文件,创建多语言版本
- 利用文件操作的系统调用 实现 Linux 中的cp 功能
- 龙芯汇编语言-利用系统调用复制文件
- 利用python语言实现shp文件生成geojson文件
- 利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- java如何实现在系统资源管理器中选中指定文件/文件夹?
- c#使用资源文件实现多语言应用程序
- 【COCOS2DX-LUA 脚本开发之十二】Hybrid模式-利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- 利用leveldb实现文件系统的目录树
- 编程使用资源文件实现多语言页面(In Action)