JS多语种方式

方案:

在不同的移动平台(IOS。Android)上,并建立了HTML页面通信框架。主要业务逻辑HTML发展;我要支持多语言开发。

动机:

通过积极主动的信息方式,前一页完成初始化,获取当前语言选项。项。调用相应的JS文件(每种语言相应一个JS文件)解析页面。

实现细节:

  • 向本地语言框架发请求获取语言种类。
$(document).on("pageinit",function(){
               /*Kaiwii 向本地代码发请求获取当前语言种类*/
               });
  • 本地语言框架触发回调函数(JS方法):依据语言选项,动态将相应语言的JS文件嵌入HTML而且触发其运行;
/*Kaiwii 本地语言框架回调本方法*/
function GetLanguageCodeCallBack(Jstring,ERROR){
    var i18File = $("script[name='i18']");
    if(i18File.length==0){//没有成功载入js文件
        var i18FileLink = "<script name='i18' src='../../js/i18.js'></script>";
        switch (Jstring){
            case "EN":
                i18FileLink = "<script name='i18' src='../../js/i18.js'></script>";
                break;
            case "CN":
                i18FileLink = "<script name='i18' src='../../js/i18_CN.js'></script>";
                break;
        }
        $("head").append(i18FileLink);
    }else{//成功载入js文件
        switch (Jstring){
            case "EN":
                $(i18File).attr("src","../../js/i18.js");
                break;
            case "CN":
                $(i18File).attr("src","../../js/i18_CN.js");
                break;
        }
        /*主动触发更新HTML*/
        updatei18Spans();
    }
}
  • 不同语言相应的JS文件(如i18.js):

1、使用JSON对象存储KEY-VALUE[不同语言版本号的JS文件不过VALUE不同(VALUE为相应语言版本号中的值)];

2、HTML中的静态部分须要调用JS方法改动DOM对象的属性方式完毕多语言动态化(通过调用updatei18spans()触发)。动态部分直接调用就可以。

/*用于国际化*/
<pre name="code" class="javascript">/*Kaiwii*/

/*相应关系表(key为元素的ID,value为国际化下的显示内容*//*span 部分*/var spans = {"DemandDepositAccountTitle":"CCB Current Account"};//本地代码交互的部分var locale_vars = {"enquiryTitle":"Account Info Inquiry"};var i18placeholder = {"请输入单位名称或账号":"Organization‘s Name/Account","
開始日期":"Start Date"," 截止日期":"End Date"};function updatei18Spans(){ for(index in spans){ $("span[i18Id=‘"+index+"‘]").html(spans[index]); } for(index in i18placeholder){ $("input[placeholder=‘"+index+"‘]").attr("placeholder",i18placeholder[index]); }}$(function(){//载入显示内容方法
updatei18Spans(); });


  • 调用多语言动态框架改动:

1、静态部分:

HTML上:

<span i18Id="DemandDepositAccountTitle"></span>

2、动态部分:

JS代码中:

liElement += "<span ACC_NO='"+ACC_NO+"' CshEx_Cd='"+CshEx_Cd+"' CcyCd='"+CcyCd+"' onclick='renderBAL(this)' class='font14' style='color:#306ed2'>"+locale_vars.enquiryTitle+"</span>";

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-09 20:15:31

JS多语种方式的相关文章

JS兼容方式获取浏览器的宽度

<script type="text/javascript"> //need to wait until onload so body is available window.onload = function(){ function getWindowWidth(){ if (window.innerWidth){ return window.innerWidth; } else if (document.documentElement.clientWidth){ ret

JS 引入方式 基本数据类型 运算符 控制语句 循环 异常

一.JS引入方式 什么是JavaScript? JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的. JavaScript的嵌入方式 1.行间事件 <input type="button" name="clicktook" onclick= "alert("ok!");"> 2.页面scrip标签嵌入

js post 方式 新开窗口

js中一般新打开窗口很简单直接window.open(url);就可以了, 但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求: 1,js中实现post提交 2,返回的页面在新窗口显示 首先我是这么做的: $.ajax({ type: "POST", url: '${contextPath}/analyse/detail.do', data: {carNum :carNum,ids:refIds}, success: fun

用HTML/JS/PHP方式实现页面延时跳转

WEB开发中经常会遇到页面跳转或延时跳转的需求,掌握各种页面跳转方式非常必要. 以下是我总结有用HTML/JS/PHP三类方式实现跳转的方法,例子皆为三秒后跳转到index.php 页面. 1,HTML 方法: 在 HEAD 中添加 <meta> 标签 <meta http-equiv=”refresh” content=”3;url=’index.php’” > 2,JS 控制跳转方法 A.Location 直接加链接方式 <script type="text/j

js 继承方式

js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现方式可以实现多继承)实现原理:让父类的构造函数成为子类的方法,然后调用该子类的方法,通过this关键字给所有的属性和方法赋值 function Parent(firstname)   {       this.fname=firstname;       this.age=40;       thi

js基础( js嵌入方式、输出语句)

s现在的作用 1.验证表单(以前的网速慢) 2.页面特效 (PC端的网页效果) 3.移动端 (移动 web 和app) 4.异步和服务器交互(ajax) 5.服务器端开发 (nodejs) 前端的标准 javaScript  THML  Css HTML  提供网页上显示的内容 (结构) css 美化网页 (样式) javaScript  控制网页行为 (行为) 设计原则 结构.样式.行为---- 分离 javaScript的组成 ECMAScript    JavaScript的语法规范 (v

你所未知的3种 Node.js 代码优化方式

from:https://cnodejs.org/topic/56cc2fd6c045c3743304bec6 Node.js 程序的运行可能会受 CPU 或输入输出操作的限制而十分缓慢.从 CPU 角度看,程序运行缓慢的典型原因之一就是未经优化的「热点路径」(一段经常被访问的代码).从输入输出角度看,程序运行速度的局限可能是受底层操作系统影响,也可能是出于 Node 本身的故障.更或者,一个运行缓慢的程序可能跟 Node 本身没有任何关系,问题在于外部资源,比如数据库查询或是 API 调用缓慢

qq第3方登录的JS实现方式记录

首先申请qq第3方登录接入的appkey和appid,具体方式http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 在网站首页如index.html head上加入<meta property="qc:admins" content="212010447760171776375" /> 在网站第3方登录页面如qqlogin.html引入 <script ty

08 js系统函数、js函数调用方式

在js 中函数分为:用户自定义函数.系统函数(查阅文档) 常用函数的介绍eval <html> <head> </head> <body> <script language="javascript"> var str="window.alert('OK')"; //需求是把str当做一个脚本来执行 eval(str);//计算 JavaScript 字符串,并把它作为脚本代码来执行. </script