Javascript国际化的方案

目前Ajax框架是层出不穷,而且功能变得越来越强大,从而使得Web页面发展为现在的三层结构之说:HTML + CSS + Script。在使用Javascript的时候涉及到其中一个国际化的问题。

Javascript中没有像Java那样拥有国际化的方案,但是可以使用一些技巧来达到目的。首先将在脚本中用到的文字全部保存到每个语种的文件中,比如简体中文zh_CN.js、英文en.js等等,然后使用动态语言判断客户端浏览器或Cookies的语言来决定加载对应语种的js文件,这样就实现了国际化的效果。

但是对于保存文本的变量而言有不同的形式,可以每个文本指定一个变量,也可以将所有的变量保存到一个或几个数组中。我发现ExtJS框架是采用通过覆盖对应模块的类属性来实现不同模块中文本的多语种显示。下面我就举例来说明这种方式:

/* base.js */

if (javatang== null) var javatang= {};

if (javatang.lang == null) javatang.lang = new function(){
this.sampleText= "This is sample text";
// 设置下面的属性 ...
};

/* zh_CN.js */
this.sampleText = "例子";

在HTML页面中调用方式如下:

<!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="gbk" >
<head>
<meta http-equiv="content-type" content="text/html; charset=gbk" />
<title> Title </title>
<script type="text/javascript" src="base.js"></script>
<script type="text/javascript" src="zh_CN.js"></script>
<script type="text/javascript">
// 下面开始在页面中调用
</script>
</head>

<body>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值