国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

JS如何在不同平臺實現多語言方式

瀏覽:126日期:2024-04-30 10:04:08

應用場景:

在不同移動平臺(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>';

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 南召县| 彭阳县| 乐平市| 那曲县| 鄂托克旗| 五莲县| 丰原市| 常山县| 调兵山市| 望谟县| 云南省| 铁岭县| 峡江县| 三亚市| 华坪县| 弥渡县| 紫阳县| 雅江县| 乐安县| 淅川县| 长宁区| 安塞县| 赤峰市| 视频| 青岛市| 瑞安市| 罗山县| 博乐市| 唐山市| 邵阳市| 宁南县| 玛沁县| 巴青县| 麦盖提县| 新沂市| 土默特左旗| 永靖县| 扶绥县| 饶平县| 于都县| 开原市|