ComunicWeb/assets/js/common/langs.js

78 lines
2.1 KiB
JavaScript
Raw Normal View History

/**
* Lang functions
*
* @author Pierre HUBERT
*/
/**
* Get current language
*
* @return {String} The id of the current language
*/
ComunicWeb.common.langs.getCurrentLanguage = function(){
return "fr";
//return ComunicWeb.__config.defaultLanguage;
};
/**
* Include and install specified language
*
* @param {String} languageID The languageID to install
*/
ComunicWeb.common.langs.installLanguage = function(languageID){
//Generate filename to include
var fileToInclude = ComunicWeb.__config.languagesPath + languageID + ".inc.js";
//Include filename
ComunicWeb.common.jsFiles.includeFile(fileToInclude);
};
/**
* Language initiator
*
* @return Boolean False if it fails
*/
ComunicWeb.common.langs.initLanguages = function(){
//Debug message
ComunicWeb.debug.logMessage("Get and install languages...");
//Get languages to install
this.__currentLang = this.getCurrentLanguage();
this.__defaultLang = ComunicWeb.__config.defaultLanguage;
//Install default language (made by default)
//this.installLanguage(this.__defaultLang);
//If selected language is different than default one, install it too
if(this.__currentLang !== this.__defaultLang)
this.installLanguage(this.__currentLang);
//Everything is OK
return 0;
}
/**
* Return a string in correct language
*
* @param {String} stringName The name of the string to show
* @param {Array} stringParams The optionnal parametres to include with the string
* @return {String} The string ready to show
*/
ComunicWeb.common.langs.getTranslatedText = function(stringName, stringParams){
//Try to get string
if(this[this.__currentLang][stringName])
var string = this[this.__currentLang][stringName];
else if(this[this.__defaultLang][stringName])
var string = this[this.__defaultLang][stringName];
else
var string = "No Translated String";
//Change string with parametres if required
if(stringParams){
for(i in stringParams){
string = string.replace("%p", stringParams[i]);
}
}
return string;
}