欢迎来到我的地盘:今天是

若得山花插满头,莫问奴归处!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
1:将页面内所有的文本用一个Literal的server控件包起来;
 
2:对图片的处理:HTML的<img>标签在传src时在中间加一个在CS里定义的全局变量来确实图片来源文件夹
   Sample:
    Html
     <img src='../test/<%=IMGURL %>/button_add.gif' onclick='javascript:alert("");' id=bbb/>
     CS
    public partial class _Default : PageBase
{
       public string IMGURL ;
         protected void Page_Load(object sender, EventArgs e)
        {
           IMGURL = this.GetIMGURL();
         }
}
PageBase
Public String GetIMGURL()
{
    String returnURL = en-US;
string thisURL= Request.UserLanguages[0].ToString();
           if (thisURL == "en-US")
           {
              returnURL = "EN"; //EN是项目里面一个EN的英文图片文件夹
           }
           else if(thisURL == "zh-cn")
           {
              returnURL = "CN";//CN是项目里面一个CN的中文图片文件夹
        }
}
 
Server的图片或图片按钮
在后台CS用赋值的方法ImageUrl赋图片地址,只是在中间加一个 GetIMGURL()返回的图片文件的名称
 
3
 在页面设计视图下VS.NET 2005 菜单-ToolsGenerate Local Resource,所产生的资源文件将会放在\App_LocalResources下面
就会生成一个相对应的关联本地化的资源文件,里面定义了页面所有的服务器控件的本地化资源,在里面可以修改它的值,这只是一个文字(如中文)的版本,如要建其它的版本复制一个刚才的资源,再粘贴在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
乌兹别克语(西里尔语)- 乌兹别克斯坦
uz-UZ-Latn
0x0443
乌兹别克语(拉丁)- 乌兹别克斯坦
       
 
4 :JavaScript里中文字和有文字图片的解决方法
解决js里一个麻烦的问题,共同调用一个JS文件,文件里有一个全局的变量var Lanflag,再在页面的开始处定义一个隐藏控件专门作为语言控制的flag,并在这个控件下将这个值赋给Lanflag;页面所的JS,返回文本的地方都要先对Lanflag进行判断,来决定使用哪种语言;
<asp:TextBox ID=tag runat=server Text="<%$ Resources:ALLflag %>" ></asp:TextBox>//CSS隐藏
<script language=javascript> Lanflag = document.getElementById(tag).value;</script>
或者,在head 里面定义 lanflag =<%=ALLflag %>//Allflag是cs里面的全局变量 Allflag = GetIMGURL()
 
5 CS时面返回到页面的文本
对response.write等返回的文本需要通过全局变量Allflag = GetIMGURL()来判断输出文本;
 
6关于datagrid的header的两种改法:
1:将header变成模板列 文字用Literal包住
2: <asp:BoundField   DataField="ID"     ControlStyle-Width="20"   HeaderText   =   "colum1"   meta:resourcekey="bfIDResource"   /> bfIDResource为在资源文件里定义
6:这里再补充一点:
关于<system.web>
    <globalization uiCulture="zh-CN" culture="zh-CN"/>
这句话要生效必须在IE选项->常规的语言那里清空语言,不然会按IE设置
关于.net多语言实现(全球化)的参考文章:
http://www.dezai.cn/Article_Show.asp?ArticleID=20178
 
 
 
上述只是本人择优选择的一种方案,如大家有更好的方法,欢迎提出来讨论;
                                                              --Mathew 2008-2-25
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2155644

posted on 2008-03-07 10:25  莫问奴归处  阅读(456)  评论(0)    收藏  举报
轩轩娃