src/js/i18n.js
changeset 843 75ba66457232
parent 840 ac66e2240e1e
equal deleted inserted replaced
53:7b55777486c3 843:75ba66457232
       
     1 IriSP.I18n = function() {
       
     2     this.messages = {};
       
     3     this.base_lang = 'en';
       
     4 }
       
     5 
       
     6 IriSP.I18n.prototype.getLanguage = function(lang) {
       
     7     var _lang = (
       
     8         typeof lang != "undefined"
       
     9         ? lang
       
    10         : (
       
    11             typeof IriSP.language != "undefined"
       
    12             ? IriSP.language
       
    13             : this.base_lang
       
    14         )
       
    15     );
       
    16     return (
       
    17         typeof this.messages[_lang] == "object"
       
    18         ? _lang
       
    19         : (
       
    20             typeof this.messages[this.base_lang] == "object"
       
    21             ? this.base_lang
       
    22             : null
       
    23         )
       
    24     )
       
    25 }
       
    26 
       
    27 IriSP.I18n.prototype.getMessages = function(lang) {
       
    28     var _lang = this.getLanguage(lang);
       
    29     return (
       
    30         _lang != null
       
    31         ? this.messages[_lang]
       
    32         : {}
       
    33     );
       
    34 }
       
    35 
       
    36 IriSP.I18n.prototype.getMessage = function(message, lang) {
       
    37     var _msgs = this.getMessages(lang);
       
    38     return (
       
    39         typeof _msgs[message] != "undefined"
       
    40         ? _msgs[message]
       
    41         : message
       
    42     )
       
    43 }
       
    44 
       
    45 IriSP.I18n.prototype.addMessage = function(lang, messagekey, messagevalue) {
       
    46     if (typeof this.messages[lang] == "undefined") {
       
    47         this.messages[lang] = {};
       
    48     }
       
    49     this.messages[lang][messagekey] = messagevalue;
       
    50 }
       
    51 
       
    52 IriSP.I18n.prototype.addMessages = function(messagesObj) {
       
    53     var _this = this;
       
    54     IriSP.underscore(messagesObj).each(function(_messages, _lang) {
       
    55         IriSP.underscore(_messages).each(function(_value, _key) {
       
    56             _this.addMessage(_lang, _key, _value);
       
    57         })
       
    58     });
       
    59 }
       
    60 
       
    61 IriSP.i18n = new IriSP.I18n();
       
    62 
       
    63 IriSP.i18n.addMessages({
       
    64     "fr": {
       
    65         "loading_wait": "Chargement en cours, veuillez patienter…"
       
    66     },
       
    67     "en": {
       
    68         "loading_wait": "Loading, please wait…"
       
    69     }
       
    70 })