/**
* Módulo de internacionalización, utilizado para gestionar el idioma desplegado en nicho y comunidad ecológica.
*
* @namespace language_module
*/
var language_module = (function(verbose) {
var _language_selected;
var _language_label_selected;
var _first_load;
var _map_module,
_variable_module,
_res_display_module,
_table_module,
_histogram_module;
var _tipo_modulo;
var _VERBOSE = verbose
/**
* Éste método inicializa las variables necesarias para el proceso de internacionalización y realiza la carga de los archivos de idiomas.
*
* @function _initilizeElementsForLanguage
* @private
* @memberof! language_module
*
* @param {object} main_pede - Referencia al controlador de nicho o communidad ecológica
* @param {integer} tipo_modulo - Tipo de controlador para enlazar el módulo de internacionalización
*/
function _initilizeElementsForLanguage(main_pede, tipo_modulo) {
_VERBOSE ? console.log("_initilizeElementsForLanguage") : _VERBOSE;
_tipo_modulo = tipo_modulo;
_first_load = true;
if ($.cookie("language") == undefined) {
_language_selected = 'es_MX';
$.cookie("language", _language_selected);
}
else{
_language_selected = $.cookie("language");
}
$.i18n.properties({
name: 'nicho',
path: 'javascripts/in/bundle/',
mode: 'both',
language: _language_selected,
checkAvailableLanguages: true,
async: true,
callback: function() {
_VERBOSE ? console.log("idiomas cargados") : _VERBOSE;
if ($.cookie("language") == undefined) {
_VERBOSE ? console.log("undefined") : _VERBOSE;
$.cookie("language", _language_selected);
_loadLabels(_first_load);
_first_load = false;
}
else {
_VERBOSE ? console.log("language loaded") : _VERBOSE;
_language_selected = $.cookie("language");
_VERBOSE ? console.log(_language_selected) : _VERBOSE;
_loadLabels(_first_load);
}
// carga los modulos siguientes una vez que se han cargado los archivos de idiomas
main_pede.loadModules();
}
});
$('ul.dropdown-menu li a.idioma').click(function(e) {
_language_selected = e.target.getAttribute("value");
_language_label_selected = e.target.getAttribute("label");
$.cookie("language", _language_selected);
_VERBOSE ? console.log("value: " + _language_selected) : _VERBOSE;
_VERBOSE ? console.log("label: " + _language_label_selected) : _VERBOSE;
$("#btn_idioma").attr("value", _language_selected);
$.i18n.properties({
name: 'nicho',
path: 'javascripts/in/bundle/',
mode: 'both',
language: _language_selected,
checkAvailableLanguages: true,
async: true,
callback: function() {
_loadLabels(_first_load);
_updateLanguageModules(_first_load);
}
});
e.preventDefault();
});
}
/**
* Método getter del módulo de internacionalización.
*
* @function getI18
* @public
* @memberof! net_module
*
*/
function getI18() {
return $.i18n;
}
/**
* Éste método actualiza los labels de los controladores de nicho, comunidad y del módulo variable.
*
* @function _updateLanguageModules
* @private
* @memberof! language_module
*
* @param {boolean} first_load - Bandera que indica si es la primera carga del módulo de internacionalización
*/
function _updateLanguageModules(first_load) {
if (first_load)
return;
_VERBOSE ? console.log("_updateLanguageModules") : _VERBOSE;
if (_tipo_modulo != 2) {
_res_display_module.updateLabels();
}
}
/**
* Éste método asigna a variables globales instancias de los módulos de histograma, mapa y controladores de nicho y comunidad ecológica.
*
* @function addModuleForLanguage
* @public
* @memberof! language_module
*
* @param {object} res_display_module - Controlador de nicho ecológico
* @param {object} histogram_module - Módulo histograma
* @param {object} map_module - Módulo mapa
* @param {object} variable_module - Módulo variable
*/
function addModuleForLanguage(res_display_module, histogram_module, map_module, variable_module) {
_VERBOSE ? console.log("addModuleForLanguage") : _VERBOSE;
_map_module = map_module;
_variable_module = variable_module;
_res_display_module = res_display_module;
// para red no es necesario
_histogram_module = histogram_module;
}
/**
* Éste método realiza la actualización de los labels de los elementos visuales de de nicho y comunidad ecológica.
*
* @function _loadLabels
* @private
* @memberof! language_module
*
* @param {boolean} first_load - Bandera que indica si es la primera carga del módulo de internacionalización
*/
function _loadLabels(firstLoad) {
_VERBOSE ? console.log("_loadLabels") : _VERBOSE;
_VERBOSE ? console.log("tipo_modulo: " + _tipo_modulo) : _VERBOSE;
// labels para nicho
if (_tipo_modulo == 0) {
$("#lb_titulo").text($.i18n.prop('lb_titulo'));
$("#lb_sub_titulo").text($.i18n.prop('lb_sub_titulo'));
$("#nicho_link").text($.i18n.prop('nicho_link'));
$("#a_espanol").text($.i18n.prop('a_espanol'));
$("#a_ingles").text($.i18n.prop('a_ingles'));
if (firstLoad) {
$("#btn_idioma").text($.i18n.prop('btn_idioma') + " ");
}
else {
// agregar casos si se agregan mas idiomas
if (_language_selected == "es_MX") {
$("#btn_idioma").text($.i18n.prop('a_espanol') + " ");
}
else {
$("#btn_idioma").text($.i18n.prop('a_ingles') + " ");
}
}
$("#btn_idioma").append('<span class="caret"></span>');
$("#lb_especie").text($.i18n.prop('lb_especie'));
$("#nom_sp").attr("placeholder", $.i18n.prop('esp_name'));
$("#lb_example").text($.i18n.prop('lb_example'));
// $("#lb_restricciones").text($.i18n.prop('lb_restricciones'));
$("#lb_resumen").text($.i18n.prop('lb_resumen'));
$("#lb_construccion").text($.i18n.prop('lb_construccion'));
$("#lb_validacion").text($.i18n.prop('lb_validacion') + ":");
$("#lb_apriori").text($.i18n.prop('lb_apriori') + ":");
$("#lb_occ_min").text($.i18n.prop('lb_occ_min') + ":");
$("#lb_mapprob").text($.i18n.prop('lb_mapprob') + ":");
$("#lb_reg_fecha").text($.i18n.prop('lb_reg_fecha') + ":");
$("#lb_mapprob").text($.i18n.prop('lb_mapprob') + ":");
$("#lb_range_fecha").text($.i18n.prop('lb_range_fecha') + ":");
$("#reload_map").text($.i18n.prop('reload_map'));
$("#tab_resumen").text($.i18n.prop('tab_resumen'));
$("#tab_validacion").text($.i18n.prop('tab_validacion'));
$("#labelFecha").text($.i18n.prop('labelFecha', "1500", $.i18n.prop('val_actual')));
$("#lb_sfecha").text($.i18n.prop('lb_si'));
$("#lb_panel_region").text($.i18n.prop('lb_panel_region'));
$("#lb_seccion_region").text($.i18n.prop('lb_seccion_region'));
$("#lb_estados").text($.i18n.prop('lb_estados'));
$("#lb_ecos").text($.i18n.prop('lb_ecos'));
$("#lb_seccion_tools").text($.i18n.prop('lb_seccion_tools'));
$("#lb_tools_ayuda").text($.i18n.prop('lb_tools_ayuda'));
$("#lb_panel_variables").text($.i18n.prop('lb_panel_variables'));
$("#a_taxon_fuente").text($.i18n.prop('a_taxon'));
$("#a_clima_fuente").text($.i18n.prop('a_clima'));
$("#a_topo_fuente").text($.i18n.prop('a_topo'));
$("#a_taxon_sumidero").text($.i18n.prop('a_taxon'));
$("#a_clima_sumidero").text($.i18n.prop('a_clima'));
$("#a_topo_sumidero").text($.i18n.prop('a_topo'));
$("#btn_variable_fuente").text($.i18n.prop('btn_variable') + " ");
$("#btn_variable_fuente").append('<span class="caret"></span>');
$("#btn_variable_sumidero").text($.i18n.prop('btn_variable') + " ");
$("#btn_variable_sumidero").append('<span class="caret"></span>');
$("#lb_occ").text($.i18n.prop('lb_occ') + ":");
$("#lb_occ_celda").text($.i18n.prop('lb_occ_celda') + ":");
$("#lb_sum_reino").text($.i18n.prop('a_item_reino') + ":");
$("#lb_sum_phylum").text($.i18n.prop('a_item_phylum') + ":");
$("#lb_sum_clase").text($.i18n.prop('a_item_clase') + ":");
$("#lb_sum_orden").text($.i18n.prop('a_item_orden') + ":");
$("#lb_sum_familia").text($.i18n.prop('a_item_familia') + ":");
$("#lb_sum_genero").text($.i18n.prop('a_item_genero') + ":");
$("#lb_sum_especie").text($.i18n.prop('a_item_especie') + ":");
$("#a_item_reino_fuente").text($.i18n.prop('a_item_reino'));
$("#a_item_phylum_fuente").text($.i18n.prop('a_item_phylum'));
$("#a_item_clase_fuente").text($.i18n.prop('a_item_clase'));
$("#a_item_orden_fuente").text($.i18n.prop('a_item_orden'));
$("#a_item_familia_fuente").text($.i18n.prop('a_item_familia'));
$("#a_item_genero_fuente").text($.i18n.prop('a_item_genero'));
$("#a_item_reino_sumidero").text($.i18n.prop('a_item_reino'));
$("#a_item_phylum_sumidero").text($.i18n.prop('a_item_phylum'));
$("#a_item_clase_sumidero").text($.i18n.prop('a_item_clase'));
$("#a_item_orden_sumidero").text($.i18n.prop('a_item_orden'));
$("#a_item_familia_sumidero").text($.i18n.prop('a_item_familia'));
$("#a_item_genero_sumidero").text($.i18n.prop('a_item_genero'));
$("#btn_variable_bioclim").text($.i18n.prop('btn_variable_bioclim') + " ");
$("#btn_variable_bioclim").append('<span class="caret"></span>');
$("#a_item_bio00").text($.i18n.prop('a_item_bio00'));
$("#a_item_bio01").text($.i18n.prop('a_item_bio01'));
$("#a_item_bio02").text($.i18n.prop('a_item_bio02'));
$("#a_item_bio03").text($.i18n.prop('a_item_bio03'));
$("#a_item_bio04").text($.i18n.prop('a_item_bio04'));
$("#a_item_bio05").text($.i18n.prop('a_item_bio05'));
$("#a_item_bio06").text($.i18n.prop('a_item_bio06'));
$("#a_item_bio07").text($.i18n.prop('a_item_bio07'));
$("#a_item_bio08").text($.i18n.prop('a_item_bio08'));
$("#a_item_bio09").text($.i18n.prop('a_item_bio09'));
$("#a_item_bio10").text($.i18n.prop('a_item_bio10'));
$("#a_item_bio11").text($.i18n.prop('a_item_bio11'));
$("#a_item_bio12").text($.i18n.prop('a_item_bio12'));
$("#a_item_bio13").text($.i18n.prop('a_item_bio13'));
$("#a_item_bio14").text($.i18n.prop('a_item_bio14'));
$("#a_item_bio15").text($.i18n.prop('a_item_bio15'));
$("#a_item_bio16").text($.i18n.prop('a_item_bio16'));
$("#a_item_bio17").text($.i18n.prop('a_item_bio17'));
$("#a_item_bio18").text($.i18n.prop('a_item_bio18'));
$("#a_item_bio19").text($.i18n.prop('a_item_bio19'));
$("#btn_variable_bioclim_time").text($.i18n.prop('btn_variable_bioclim_time') + " ");
$("#btn_variable_bioclim_time").append('<span class="caret"></span>');
$("#a_actual").text($.i18n.prop('a_actual'));
$("#a_f50").text($.i18n.prop('a_f50'));
$("#get_esc_ep").text($.i18n.prop('get_esc_ep'));
$("#lb_resultados").text($.i18n.prop('lb_resultados'));
$("#send_email_csv").text($.i18n.prop('send_email_csv'));
$("#cancel_email_csv").text($.i18n.prop('cancel_email_csv'));
$("#lb_modal_shp").text($.i18n.prop('lb_modal_shp'));
$("#lb_des_modal_shp").text($.i18n.prop('lb_des_modal_shp'));
$("#send_email_shp").text($.i18n.prop('send_email_shp'));
$("#cancel_email_shp").text($.i18n.prop('cancel_email_shp'));
$("#lb_modal_csv").text($.i18n.prop('lb_modal_csv'));
$("#csv_request").attr("title", $.i18n.prop('lb_descarga_tbl'));
$("#lb_des_modal_csv").text($.i18n.prop('lb_des_modal_csv'));
$("#email_address").attr("placeholder", $.i18n.prop('email_address'));
$("#email_address_shp").attr("placeholder", $.i18n.prop('email_address_shp'));
// actualiza los titulos de las tablas
$('#example tr:eq(0) th:eq(0)').text($.i18n.prop('lb_decil'));
$('#example tr:eq(0) th:eq(1)').text($.i18n.prop('lb_especie_tbl'));
$('#example tr:eq(0) th:eq(2)').text($.i18n.prop('lb_epsilon'));
$('#example tr:eq(0) th:eq(3)').text($.i18n.prop('tip_tbl_score'));
$('#example tr:eq(0) th:eq(4)').text($.i18n.prop('lb_procentaje_occ'));
$('#tdisplay tr:eq(0) th:eq(0)').text($.i18n.prop('lb_genero_tbl'));
$('#tdisplay tr:eq(0) th:eq(1)').text($.i18n.prop('lb_especie_tbl'));
// $('#tdisplay tr:eq(0) th:eq(2)').text($.i18n.prop('lb_raster'));
// $('#tdisplay tr:eq(0) th:eq(3)').text($.i18n.prop('lb_rango'));
$('#tdisplay tr:eq(0) th:eq(2)').text($.i18n.prop('lb_nij'));
$('#tdisplay tr:eq(0) th:eq(3)').text($.i18n.prop('lb_nj'));
$('#tdisplay tr:eq(0) th:eq(4)').text($.i18n.prop('lb_ni'));
$('#tdisplay tr:eq(0) th:eq(5)').text($.i18n.prop('lb_n'));
$('#tdisplay tr:eq(0) th:eq(6)').text($.i18n.prop('lb_epsilon'));
$('#tdisplay tr:eq(0) th:eq(7)').text($.i18n.prop('tip_tbl_score'));
$('#tdisplay tr:eq(0) th:eq(8)').text($.i18n.prop('a_item_reino'));
$('#tdisplay tr:eq(0) th:eq(0)').text($.i18n.prop('a_item_phylum'));
$('#tdisplay tr:eq(0) th:eq(10)').text($.i18n.prop('a_item_clase'));
$('#tdisplay tr:eq(0) th:eq(11)').text($.i18n.prop('a_item_orden'));
$('#tdisplay tr:eq(0) th:eq(12)').text($.i18n.prop('a_item_familia'));
}
else if (_tipo_modulo == 1) {
$("#lb_titulo_net").text($.i18n.prop('lb_titulo_net'));
$("#net_link").text($.i18n.prop('net_link'));
$("#lb_fuente").text($.i18n.prop('lb_fuente'));
$("#lb_sumidero").text($.i18n.prop('lb_sumidero'));
$("#btn_topo").text($.i18n.prop('btn_topo'));
// **** rep
$("#lb_sub_titulo").text($.i18n.prop('lb_sub_titulo'));
$("#a_espanol").text($.i18n.prop('a_espanol'));
$("#a_ingles").text($.i18n.prop('a_ingles'));
if (firstLoad) {
$("#btn_idioma").text($.i18n.prop('btn_idioma') + " ");
}
else {
// agregar casos si se agregan mas idiomas
if (_language_selected == "es_MX") {
$("#btn_idioma").text($.i18n.prop('a_espanol') + " ");
}
else {
$("#btn_idioma").text($.i18n.prop('a_ingles') + " ");
}
}
$("#btn_idioma").append('<span class="caret"></span>');
$("#generaRed").attr("title", $.i18n.prop('lb_genera_red'));
$("#limpiaRed").attr("title", $.i18n.prop('lb_limpia_red'));
$("#title_barnet").text($.i18n.prop('titulo_hist_eps'));
$("#lb_occ_min").text($.i18n.prop('lb_occ_min') + ":");
$("#generaRed").text($.i18n.prop('generaRed'));
}
// index
else {
$("#lb_title_index").text($.i18n.prop('lb_title_index'));
$("#lb_title_qs").text($.i18n.prop('lb_title_qs'));
$("#a_modelo_nicho").text($.i18n.prop('a_modelo_nicho'));
$("#a_modelo_comunidad").text($.i18n.prop('a_modelo_comunidad'));
if (firstLoad) {
$("#btn_idioma").text($.i18n.prop('btn_idioma') + " ");
}
else {
// agregar casos si se agregan mas idiomas
if (_language_selected == "es_MX") {
$("#btn_idioma").text($.i18n.prop('a_espanol') + " ");
}
else {
$("#btn_idioma").text($.i18n.prop('a_ingles') + " ");
}
}
$("#btn_idioma").append('<span class="caret"></span>');
$("#send_email_login").text($.i18n.prop('send_email_login'));
$("#cancel_email_csv").text($.i18n.prop('cancel_email_csv'));
$("#lb_modal_login").text($.i18n.prop('lb_modal_login'));
$("#lb_des_modal_login").text($.i18n.prop('lb_des_modal_login'));
}
}
/**
* Éste método realiza el llmado a la función que inicializa las variables necesarias para el proceso de internacionalización.
*
* @function startLanguageModule
* @private
* @memberof! language_module
*
* @param {object} main_pede - Referencia al controlador de nicho o communidad ecológica
* @param {integer} tipo_modulo - Tipo de controlador para enlazar el módulo de internacionalización
*/
function startLanguageModule(main_pede, tipo_modulo) {
_VERBOSE ? console.log("startLanguageModule") : _VERBOSE;
_initilizeElementsForLanguage(main_pede, tipo_modulo);
}
return{
startLanguageModule: startLanguageModule,
getI18: getI18,
addModuleForLanguage: addModuleForLanguage
}
});