JS는 어떻게 서로 다른 플랫폼에서 다중 언어 방식을 실현합니까

3021 단어 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() 트리거를 호출해야 한다.동적 부분을 직접 호출하면 된다.
/* 국제화를 위한 */
/*Kaiwii*/
/* 대응 관계표(key는 요소의 ID이고 value는 국제화된 디스플레이 내용 */*span 부분 */var spans = {"DemandDepositAccountTitle": "CCB Current Account"};//로컬 코드가 상호작용하는 부분 var locale_vars = {"enquiry Title": "Account Info Inquiry"}; var i18placeholder = {"단위 이름이나 계정을 입력하십시오": "Organization's Name/Account", "시작 날짜", 마감일: "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 += ""+locale_vars.enquiryTitle+"";
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기