这是我在别一个站看到的,做个记号,http://www.javatang.com/archives/2008/04/20/5034268.html
目前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>
</html>
分享到:
相关推荐
Kiwi国际化全流程解决方案
一健国际化全流程解决方案,适用于Nodejs/VUE/REACT/uniapp等
它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,支持多语言,路由嵌套,动态路由,权限验证等很多功能特性。 同时,它也提供了首页的数据图表展示,个人中心,主题换肤,表单表格,数据统计等常用的页面...
它基于 vue 和 element-ui实现。它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型
一健国际化全流程解决方案,适用于Nodejs/VUE/REACT/uniapp等
简介 react-i18next 是基于 i18next 的一款强大的国际化框架,可以用于 react 和 react-native 应用,是目前非常主流的国际化解决方案。 i18next 有着以下优点: 基于i18next不仅限于react,学一次就可以用在...
流星的全面国际化解决方案 流星国际化 tap-i18n是一个软件包,它为Meteor应用程序和软件包提供了全面的解决方案,其目标是标准化软件包开发人员对其软件包进行国际化的方式。 参与tap:i18n: 由开发 为了 。 相关...
开箱即用的中台前端/设计解决方案。bulb: TypeScript: 应用程序级 JavaScript 的语言;区块: 通过区块模板快速构建页面; 优雅美观:基于 Ant Design 体系精心设计;常见设计模式:提炼自中后台应用的典型页面和场景...
它基于 Airbnb 在Backbone.js 和 Node apps 添加国际化功能的经验,提供了一个插值和多元化(interpolation and pluralization)的简单解决方案。Polyglot 是零依赖的。国际化(I18n)对 Airbnb 十分重要,业务涉及...
适用于 react 的 I18n 动态化解决方案 任何建议、问题 更新日志 注意 1.使用时需要注意 cxy-react-i18n 的版本和主要依赖 concent 的版本。需要保持一致。 2.当前支持的 concent 版本为:2.15.14 示例 项目中已使用 ...
大数据分析模型平台解决方案 数据源层:采集网站、Wap网站、App、应用系统等原始数据。 数据处理层:利用数据仓库、数据挖掘、数据流处理、数据实时处理等大数据技术进行数据运算、存储。 数据应用层:提供数据...
它使用了最新的前端技术栈,内置了 i18n 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。相信不管你的需求是什么,本项目都能帮助到...
FrenchKiss.js 是一个用JavaScript编写的超快速轻量级i18n帮助程序库,可在浏览器和NodeJS环境中运行。 它为处理国际化提供了一种简单而快速的解决方案。
我选择该名称是因为它不是一个完整的国际化解决方案,并且范围有限。 js是因为它是用JavaScript编写的。 Lepet.js使用参考 具有包含要翻译内容HTML文档。 重要的是,内容应位于文档内部,以防止出现以下错误时将...
下一个本地化 由支持的的简约本地化解决方案和。 :sparkles: 特征支持所有渲染模式:(静态)| ●(SSG)| λ(服务器)。 理想伴侣少于1000个字节-包括依赖项! 多元化支持没有构建步骤,没有强制执行的约定。目录...
Cell 插件用于开发B/S结构程序,使用Asp, Asp.Net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 · 具备Cell组件的所有特色...
Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 · 具备Cell组件的所有特色...
懒人专用的国际化方案,适合中文项目后期快速国际化。 模板和JS里面直接使用中文,后期国际化再根据资源文件替换生成不同的语言文件 sample code gulp.task('i18n', function() { var dict = { cn: require('i18n/...
它为处理国际化提供了一个简单且真正快速的解决方案。 现在,FrenchKiss是目前最快的i18n JS软件包,通过JIT编译翻译并运行基准测试,它的工作速度比任何其他i5n JS快5至1000倍! 最低要求: :warning: ...
需要更复杂的解决方案(例如,支持多元化,货币,日期管理)的用户应改用其他图书馆(国际化框架): 要与i18n-js库进行比较,请参考;如何使用使用npm安装: npm install ilocale 或下载以下两个文件之一: ES6...