热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

asp.net2005全球化(多语言)系统的solution(ZT)

1:将页面内所有的文本用一个Literal的server控件包起来;2:对图片的处理:HTML的标签在传src时在
1:将页面内所有的文本用一个Literal的server控件包起来;
2:对图片的处理:HTML的标签在传src时在中间加一个在CS里定义的全局变量来确实图片来源文件夹
Sample:
Html
<img src&#61;&#39;../test/<%&#61;IMGURL %>/button_add.gif&#39; onclick&#61;&#39;Javascript:alert("");&#39; id&#61;bbb/>
     CS
public partial class _Default : PageBase
{
       public string IMGURL ;
         protected void Page_Load(object sender, EventArgs e)
        {
           IMGURL &#61; this.GetIMGURL();
         }
}
PageBase
Public String GetIMGURL()
{
    String returnURL &#61; en-US;
string thisURL&#61; Request.UserLanguages[0].ToString();
           if (thisURL &#61;&#61; "en-US")
           {
              returnURL &#61; "EN"; //EN是项目里面一个EN的英文图片文件夹
           }
           else if(thisURL &#61;&#61; "zh-cn")
           {
              returnURL &#61; "CN";//CN是项目里面一个CN的中文图片文件夹
        }
}
Server的图片或图片按钮
在后台CS用赋值的方法ImageUrl赋图片地址&#xff0c;只是在中间加一个 GetIMGURL()返回的图片文件的名称
3&#xff1a;
 在页面设计视图下VS.NET 2005 菜单&#xff0d;Tools&#xff0d;Generate Local Resource&#xff0c;所产生的资源文件将会放在\App_LocalResources下面
就会生成一个相对应的关联本地化的资源文件&#xff0c;里面定义了页面所有的服务器控件的本地化资源&#xff0c;在里面可以修改它的值&#xff0c;这只是一个文字&#xff08;如中文&#xff09;的版本&#xff0c;如要建其它的版本复制一个刚才的资源&#xff0c;再粘贴在Generate Local Resource里面改名;: Default.aspx.en-US.resx等等,再将里面的值改成你需要的语言
区域性名称
区域性标识符
语言-国家/地区
zh-CN
0x0804
中文-中国
zh-TW
0x0404
中文-台湾
zh-CHS
0x0004
简体中文
zh-CHT
0x7C04
繁体中文
en
0x0009
英语
en-US
0x0409
英语-美国
en-GB
0x0809
英语-英国
uz-UZ-Cyrl
0x0843
乌兹别克语&#xff08;西里尔语&#xff09;- 乌兹别克斯坦
uz-UZ-Latn
0x0443
乌兹别克语&#xff08;拉丁&#xff09;- 乌兹别克斯坦
       
4 :Javascript里中文字和有文字图片的解决方法
解决js里一个麻烦的问题,共同调用一个JS文件&#xff0c;文件里有一个全局的变量var Lanflag&#xff0c;再在页面的开始处定义一个隐藏控件专门作为语言控制的flag&#xff0c;并在这个控件下将这个值赋给Lanflag;页面所的JS&#xff0c;返回文本的地方都要先对Lanflag进行判断&#xff0c;来决定使用哪种语言;
<asp:TextBox ID&#61;tag runat&#61;server Text&#61;"<%$ Resources:ALLflag %>" >asp:TextBox>//CSS隐藏
或者&#xff0c;在head 里面定义 lanflag &#61;<%&#61;ALLflag %>//Allflag是cs里面的全局变量 Allflag &#61; GetIMGURL()
5 CS时面返回到页面的文本
对response.write等返回的文本需要通过全局变量Allflag &#61; GetIMGURL()来判断输出文本&#xff1b;
6关于datagrid的header的两种改法:
1:将header变成模板列 文字用Literal包住
2:  bfIDResource为在资源文件里定义
6&#xff1a;这里再补充一点&#xff1a;
关于
   
这句话要生效必须在IE选项->常规的语言那里清空语言,不然会按IE设置
关于.net多语言实现(全球化)的参考文章&#xff1a;
http://www.west263.com/www/info/66477-1.htm
http://chs.gotdotnet.com/quickstart/aspplus/doc/resourcefiles.aspx
http://blog.csdn.net/uyi/archive/2006/03/07/618247.aspx
http://www.cnblogs.com/tonyjoule/archive/2005/04/12/9504.html
http://blog.csdn.net/lilei_jn/archive/2005/07/05/414592.aspx
http://www.pcdog.com/edu/aspdotnet/2006/04/i138599.html
http://www.dezai.cn/Article_Show.asp?ArticleID&#61;20178
上述只是本人择优选择的一种方案&#xff0c;如大家有更好的方法&#xff0c;欢迎提出来讨论&#xff1b;
                                                              --Mathew 2008-2-25
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId&#61;2155644



推荐阅读
author-avatar
516837745_d2d52c
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有