|
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 }) |