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

 2023-09-11 阅读 18 评论 0

摘要:以前很少接触多语言的系统,公司里有个比较不错的portal项目, 我看了有实现多语言的功能, 了解了下它的基本原理:利用资源文件保存不同的语言内容;例如中文一个资源文件, 英文一个资源文件, 日文...; 具体如何架构的属于商

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

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

 

语言在编写程序时利用助记,    于是自己写了一个最基本,最简单的功能;根据该原理可自己扩充~~~~;

 

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

 

开发系统用什么语言、1.   新建一个WebApplication, 然后在根目录新建两个资源文件:MultiLang.en-us.resx 和 MultiLang.zh-cn.resx。 目录结构如下:

 

 

语言本地化?2.  Default.aspx的Html如下:

            <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>&nbsp;&nbsp;
                        
<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
ExpandedBlockStart.gifContractedBlock.gif            
{
                Thread.CurrentThread.CurrentUICulture 
= new CultureInfo(userLan);
            }

            
catch
ExpandedBlockStart.gifContractedBlock.gif            
{
                Thread.CurrentThread.CurrentUICulture 
= new CultureInfo("en-us");
            }


            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.文件名.
   // 资源文件只能放在根目录下.

 

项目文件下载

多语言网站的实现。转载于:https://www.cnblogs.com/Lordan/archive/2008/07/24/1250658.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/46934.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息