多语言生成工具(Web应用程序)

在当今开放的年代里,国际化潮流越来越密切的时代里,发展为多种语言的趋势就越来越强了。当今在互联网的时代里,web应用程序的范围越来越广泛,但是要做成多语言功能的web应用需要付出很多的人力财力。
为此,制作一个多语言的工具的必要性就迫在眉睫;
我就在工作闲于写了个针对web应用的多语言生成工具。
制作背景:
我采用了我同事的一个多语言模块,我只是把这个模块的引用地址加入到了每个页面。
如下:

1 None.gif HB.Localization localization  =   new  HB.Localization();
2 None.gif // 传入当前文件的资源文件所在的位置,格式为:"项目名.Globalization.当前文件名"
3 None.gif  localization.LocalResource  =   " HBWeb.Globalization.DossierBaseInfo " ;
4 None.gif   // 下面一句获取当前的程序集。
5 None.gif   localization.ExcutingAssembly  =  System.Reflection.Assembly.GetExecutingAssembly();
生成原理:
根据前台和后台的代码来找中文单词,让后再用我的一个多语言处理类进行处理。如果是前台的就用
1 None.gif <% #var %>
后台的就可以生成相应的后台变量如下:
1 None.gif string  strName  =  XM0;
2 None.gif…………
3 None.gif
4 None.giftxtName.Text  =  XM0;
5 None.gif……
6 None.gif
7 None.gif
下面来列个例子:
 1 ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Page language="c#" Codebehind="HBweb.aspx.cs" AutoEventWireup="false" Inherits="HB.CreateSubCollection"  %>
 2 None.gif <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
 3 None.gif < HTML >
 4 None.gif     < HEAD >
 5 None.gif         < title >
 6 None.gif             我的标题
 7 None.gif         </ title >
 8 None.gif         < meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
 9 None.gif         < meta  name ="CODE_LANGUAGE"  Content ="C#" >
10 None.gif         < meta  name ="vs_defaultClientScript"  content ="JavaScript" >
11 None.gif         < meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
12 None.gif         < base  target ="_self" >
13 None.gif     </ HEAD >
14 None.gif     < body  MS_POSITIONING ="GridLayout"  scroll ="no" >
15 None.gif         < form  id ="Form1"  method ="post"  runat ="server" >
16 None.gif       <asp:lable id="lable1" >标题</asp:lable>
17 None.gif         </ form >
18 None.gif        
19 None.gif     </ body >
20 None.gif </ HTML >
21 None.gif

前台生成后:
 1 ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Page language="c#" Codebehind="HBweb.aspx.cs" AutoEventWireup="false" Inherits="HB.CreateSubCollection"  %>
 2 None.gif <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
 3 None.gif < HTML >
 4 None.gif     < HEAD >
 5 None.gif         < title >
 6 None.gif             <% =WDBT0 %>
 7 None.gif         </ title >
 8 None.gif         < meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
 9 None.gif         < meta  name ="CODE_LANGUAGE"  Content ="C#" >
10 None.gif         < meta  name ="vs_defaultClientScript"  content ="JavaScript" >
11 None.gif         < meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
12 None.gif         < base  target ="_self" >
13 None.gif     </ HEAD >
14 None.gif     < body  MS_POSITIONING ="GridLayout"  scroll ="no" >
15 None.gif         < form  id ="Form1"  method ="post"  runat ="server" >
16 None.gif       <asp:lable id="lable1" ></asp:lable>
17 None.gif         </ form >
19 None.gif     </ body >
20 None.gif </ HTML >
21 None.gif
后台生成了:
 1       public   string  WDBT0  =   "" ;     // 我的标题
 2           public   string  BT1    =   "" ;        // 标题
 3           #region  多语言设置
 4           ///   <summary>
 5           ///  多语言参数设置
 6           ///   </summary>
 7           private   void  InitText()
 8          {
 9              HB.Localization localization  =   new  HB.Localization();
10               // 传入当前文件的资源文件所在的位置,格式为:"项目名.Globalization.当前文件名"
11              localization.LocalResource  =   " HB.Globalization.HBweb " ;
12               // 下面一句获取当前的程序集。
13              localization.ExcutingAssembly  =  System.Reflection.Assembly.GetExecutingAssembly();
14 
15              WDBT0  =   =  localization.LocalResourceManager.GetString( " WDBT0  " );  // 我的标题
16              BT1  =   =  localization.LocalResourceManager.GetString( " BT1  " );  // 标题
17              label1.Text  =  BT1;
18              
19          }
20           #endregion
然后在onload事件里就会自动增加一这么一行:
1        private   void  Page_Load( object  sender, System.EventArgs e)
2          {
3               //  在此处放置用户代码以初始化页面            
4              InitText();
5              ……
6          }
后面有我的源代码,希望同志们多提意见,我们一起改进。
多语言生成工具
源代码

转载于:https://www.cnblogs.com/HeroBeast/archive/2007/02/25/656360.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值