
SAPO.namespace('Utility');SAPO.Utility.I18n={version:'1.1',_baseLang:'pt_PT',_baseObj:{},_testMode:false,_loadedDicts:[],init:function(baseLangObject){this._loadedDicts=[];this.append(baseLangObject);},append:function(baseLangObject){this._loadedDicts.push(baseLangObject);this._reload();},getLang:function(){return this._baseLang;},setLang:function(langCode){this._baseLang=langCode;this._reload();},alias:function(){return function(){return this.text.apply(this,arguments);}.bindObj(this);},text:function(str){if(typeof str!=='string'){return;}
var original,res;if(!this._baseObj){original=str;}
else{res=this._baseObj[str];original=(typeof res==='undefined')?(this._testMode?'['+str+']':str):res;}
var re=false,i,l=arguments.length;if(l>1){for(i=1;i<l;++i){if(typeof arguments[i]!=='undefined'){re=new RegExp('{%s:'+i+'}','');if(re.test(original)){original=original.replace(re,arguments[i]);}
else{original=original.replace(/\{%s\}/,arguments[i]);}
re=null;re=false;}}}
original=original.replace(/\{%s(\:\d*)?\}/ig,'');return original;},ntext:function(strSin,strPlur,count){if(typeof strSin==='string'&&typeof strPlur==='string'&&typeof count==='number'){return(count===1)?strSin:strPlur;}
else{var words=strSin;count=strPlur;var lastIndex=words.length-1;return words[(count>=lastIndex)?lastIndex:count];}},_reload:function(){this._baseObj={};var d,di,df,k;for(di=0,df=this._loadedDicts.length;di<df;++di){d=this._loadedDicts[di][this._baseLang];for(k in d){this._baseObj[k]=d[k];}}}};