1. 개요

 - 글로벌 서비스를 진행하는 웹 페이지의 경우 다국어를 적용해야한다.

 - 그러나 모든 처리를 서버 사이드에서 진행하기에는 굉장히 부담이 크다.

 - 특히나 외부 javascript 파일의 경우 더욱 골치가 아프다.

 - 그래서 간단히 사용할 수 있는 자바스크립트 모듈 "i18n"을 소개하려고 한다.

 - Github URL : https://github.com/jquery-i18n-properties/jquery-i18n-properties


2. 간단한 설명

 - 기본 jquery lib는 무조건 import해야함.

 - jquery-i18n-properties에서 .js 파일을 다운로드함

 - 소스에 추가


 - 소스 사용은 아래 Example을 참고하시기를

 - i18n 명칭이 약간 이상해서 검색해봄

- 국제화는 때로 줄여서 그저 "I18N"이라고도 표기하는데, 그 의미는 이 용어의 영어 표기에서 첫 글자인 "I"자와 마지막 글자인 "N"의 사이에 18글자가 들어가 있다는 의미이다.​

출처 : http://www.terms.co.kr/internationalization.html


아래는 github README.md 내에 포함된 자료를 복사 붙여넣기 한거다. 

Messages.properties: # This line is ignored by the plugin 

msghello = Hello msgworld = World 

msg_complex = Good morning {0}!

Messages_pt.properties:


# We only provide a translation for the 'msg_hello' key

msg_hello = Bom dia

MessagesptPT.properties:


#We only provide a translation for the 'msg_hello' key

msg_hello = Olá


Now, suppose these files are located on the bundle/ folder. One can invoke the plugin like below:


$.i18n.properties({

     name:'Messages'

     path:'bundle/'

     mode:'both',

     language:'pt_PT'

     callback: function() {

         // We specified mode: 'both' so translated values will be

         // available as JS vars/functions and as a map


         // Accessing a simple value through the map

         jQuery.i18n.prop('msg_hello');

         // Accessing a value with placeholders through the map

         jQuery.i18n.prop('msg_complex', 'John');


         // Accessing a simple value through a JS variable

         alert(msg_hello +' '+ msg_world);

         // Accessing a value with placeholders through a JS function

         alert(msg_complex('John'));

     } 

});​​




+ Recent posts