diff -r 7b55777486c3 -r 75ba66457232 src/js/i18n.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/js/i18n.js Fri Apr 06 16:55:34 2012 +0200 @@ -0,0 +1,70 @@ +IriSP.I18n = function() { + this.messages = {}; + this.base_lang = 'en'; +} + +IriSP.I18n.prototype.getLanguage = function(lang) { + var _lang = ( + typeof lang != "undefined" + ? lang + : ( + typeof IriSP.language != "undefined" + ? IriSP.language + : this.base_lang + ) + ); + return ( + typeof this.messages[_lang] == "object" + ? _lang + : ( + typeof this.messages[this.base_lang] == "object" + ? this.base_lang + : null + ) + ) +} + +IriSP.I18n.prototype.getMessages = function(lang) { + var _lang = this.getLanguage(lang); + return ( + _lang != null + ? this.messages[_lang] + : {} + ); +} + +IriSP.I18n.prototype.getMessage = function(message, lang) { + var _msgs = this.getMessages(lang); + return ( + typeof _msgs[message] != "undefined" + ? _msgs[message] + : message + ) +} + +IriSP.I18n.prototype.addMessage = function(lang, messagekey, messagevalue) { + if (typeof this.messages[lang] == "undefined") { + this.messages[lang] = {}; + } + this.messages[lang][messagekey] = messagevalue; +} + +IriSP.I18n.prototype.addMessages = function(messagesObj) { + var _this = this; + IriSP.underscore(messagesObj).each(function(_messages, _lang) { + IriSP.underscore(_messages).each(function(_value, _key) { + _this.addMessage(_lang, _key, _value); + }) + }); +} + +IriSP.i18n = new IriSP.I18n(); + +IriSP.i18n.addMessages({ + "fr": { + "loading_wait": "Chargement en cours, veuillez patienter…" + }, + "en": { + "loading_wait": "Loading, please wait…" + } +})