
// --------------------------------------------------------------------------------------
// English (en_us, en_gb, en)
// --------------------------------------------------------------------------------------

const lang_en =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Type to search for an entity to add",
            "error_retreiving" : "Could not retrieve available entities !",
            "loading" : "Loading available entities...",
        }, 
        "popup" : {
            "remove_all" : "Remove all dynamically added graphs ?",
            "enable_panel" : "Enable entity history info panel ?",
            "disable_panel" : "Disable entity history info panel ?"
        },
        "menu" : {  
            "export_csv" : "Export as CSV",
            "export_stats" : "Export statistics as CSV",
            "remove_all" : "Remove all added graphs",
            "enable_panel" : "Enable history info panel",
            "disable_panel" : "Disable history info panel"
        },
        "ranges" : {
            "l_hour" : "< 1 H",
            "hour" : "1 H",
            "n_hours" : "%1 H",
            "day" : "1 Day",
            "n_days" : "%1 Days",
            "week" : "1 Week",
            "n_weeks" : "%1 Weeks",
            "month" : "1 Month",
            "n_months" : "%1 Months",
            "year" : "1 Year"
        },
        "interval" : {
            "_10m" : "10 min",
            "hourly" : "Hourly",
            "daily" : "Daily",
            "monthly" : "Monthly",
            "rawline" : "As line"
        }
    }
}


// --------------------------------------------------------------------------------------
// French (fr)
// --------------------------------------------------------------------------------------

const lang_fr =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Tapez ici pour rechercher une entité à ajouter",
            "error_retreiving" : "Impossible de récupérer les entités !",
            "loading" : "Chargement des entités disponibles...",
        }, 
        "popup" : {
            "remove_all" : "Supprimer tous les graphiques ajoutés dynamiquement ?",
            "enable_panel" : "Activer le panneau d'historique des entités ?",
            "disable_panel" : "Déactiver le panneau d'historique des entités ?"
        },
        "menu" : {  
            "export_csv" : "Exporter le CSV",
            "export_stats" : "Exporter le CSV des statistiques",
            "remove_all" : "Supprimer tous les graphiques",
            "enable_panel" : "Activer le panneau d'historique",
            "disable_panel" : "Déactiver le panneau d'historique"
        },
        "ranges" : {
            "l_hour" : "< 1 H",
            "hour" : "1 H",
            "n_hours" : "%1 H",
            "day" : "1 Jour",
            "n_days" : "%1 Jours",
            "week" : "1 Sem",
            "n_weeks" : "%1 Sem",
            "month" : "1 Mois",
            "n_months" : "%1 Mois",
            "year" : "1 An"
        },
        "interval" : {
            "_10m" : "10 min",
            "hourly" : "Heure",
            "daily" : "Journée",
            "monthly" : "Mensuel",
            "rawline" : "Linéaire"
        }
    }
}


// --------------------------------------------------------------------------------------
// German (de)
// --------------------------------------------------------------------------------------

const lang_de =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Entität suchen oder auswählen",
            "error_retreiving" : "Entitäten konnten nicht geladen werden !",
            "loading" : "Lade verfügbare Entitäten...",
        }, 
        "popup" : {
            "remove_all" : "Alle dynamisch hinzugefügten Diagramme entfernen ?",
            "enable_panel" : "Verlaufsinfo für Entitäten aktivieren ?",
            "disable_panel" : "Verlaufsinfo für Entitäten deaktivieren ?"
        },
        "menu" : {  
            "export_csv" : "Als CSV exportieren",
            "export_stats" : "Statistik als CSV exportieren",
            "remove_all" : "Alle Diagramme entfernen",
            "enable_panel" : "Verlaufsinfo aktivieren",
            "disable_panel" : "Verlaufsinfo deaktivieren"
        },
        "ranges" : {
            "l_hour" : "< 1 Std",
            "hour" : "1 Stunde",
            "n_hours" : "%1 Stdn.",
            "day" : "1 Tag",
            "n_days" : "%1 Tage",
            "week" : "1 Woche",
            "n_weeks" : "%1 Wo.",
            "month" : "1 Monat",
            "n_months" : "%1 Monate",
            "year" : "1 Jahr"
        },
        "interval" : {
            "_10m" : "10 Min",
            "hourly" : "Stündlich",
            "daily" : "Täglich",
            "monthly" : "Monatlich",
            "rawline" : "Als Linie"
        }
    }
}


// --------------------------------------------------------------------------------------
// Spanish (es)
// --------------------------------------------------------------------------------------

const lang_es =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Seleccionar entidad a añadir",
            "error_retreiving" : "No se encuentran entidades disponibles!",
            "loading" : "Cargando entidades ...",
        }, 
        "popup" : {
            "remove_all" : "Borrar gráficos añadidos dinámicamente ?",
            "enable_panel" : "Habilitar panel info historia entidades ?",
            "disable_panel" : "Deshabilitar panel info historia entidades ?"
        },
        "menu" : {  
            "export_csv" : "Exportar como CSV",
            "export_stats" : "Exportar estadísticas como CSV",
            "remove_all" : "Borrar gráficos añadidos",
            "enable_panel" : "Activar panel info historia",
            "disable_panel" : "Desactivar panel info historia"
        },
        "ranges" : {
            "l_hour" : "< 1 H",
            "hour" : "1 H",
            "n_hours" : "%1 H",
            "day" : "1 Día",
            "n_days" : "%1 Días",
            "week" : "1 Sem.",
            "n_weeks" : "%1 Sem.",
            "month" : "1 Mes",
            "n_months" : "%1 Meses",
            "year" : "1 Año"
        },
        "interval" : {
            "_10m" : "10 min",
            "hourly" : "Horario",
            "daily" : "Diario",
            "monthly" : "Mensual",
            "rawline" : "Línea"
        }
    }
}


// --------------------------------------------------------------------------------------
// Dutch (nl)
// --------------------------------------------------------------------------------------

const lang_nl =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Typ om te zoeken naar een entiteit om toe te voegen",
            "error_retreiving" : "Kan beschikbare entiteiten niet ophalen !",
            "loading" : "Beschikbare entiteiten laden...",
        }, 
        "popup" : {
            "remove_all" : "Alle dynamisch toegevoegde grafieken verwijderen ?",
            "enable_panel" : "Schakel het informatiepaneel over de geschiedenis van de entiteit in ?",
            "disable_panel" : "Schakel het informatiepaneel over de geschiedenis van de entiteit uit ?"
        },
        "menu" : {  
            "export_csv" : "Exporteren als CSV",
            "export_stats" : "Exporteer statistieken als CSV",
            "remove_all" : "Verwijder alle toegevoegde grafieken",
            "enable_panel" : "Deelvenster Geschiedenisinfo inschakelen",
            "disable_panel" : "Schakel geschiedenisinfopaneel uit"
        },
        "ranges" : {
            "l_hour" : "< 1 u",
            "hour" : "1 u",
            "n_hours" : "%1 u",
            "day" : "1 Dag",
            "n_days" : "%1 Dagen",
            "week" : "1 Week",
            "n_weeks" : "%1 Weken",
            "month" : "1 Maand",
            "n_months" : "%1 Maand",
            "year" : "1 Jaar"
        },
        "interval" : {
            "_10m" : "10 minuten",
            "hourly" : "Per uur",
            "daily" : "Dagelijks",
            "monthly" : "Maandelijks",
            "rawline" : "Lijngrafiek"
        }
    }
}


// --------------------------------------------------------------------------------------
// Polish (pl)
// --------------------------------------------------------------------------------------

const lang_pl =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Wpisz, aby wyszukać i dodać encję",
            "error_retreiving" : "Nie można pobrać dostępnych elementów !",
            "loading" : "Ładowanie dostępnych elementów...",
        }, 
        "popup" : {
            "remove_all" : "Usuń wszystkie wykresy ?",
            "enable_panel" : "Włącz panel informacji o historii ?",
            "disable_panel" : "Wyłącz panel informacji o historii ?"
        },
        "menu" : {  
            "export_csv" : "Eksportuj w CSV",
            "export_stats" : "Eksportuj statystyki w CSV",
            "remove_all" : "Usuń wszystkie dodane grafiki",
            "enable_panel" : "Włącz panel historia",
            "disable_panel" : "Wyłącz panel historia"
        },
        "ranges" : {
            "l_hour" : "< 1 H",
            "hour" : "1 H",
            "n_hours" : "%1 H",
            "day" : "1 Dzień",
            "n_days" : "%1 Dni",
            "week" : "1 Tydzień",
            "n_weeks" : "%1 Tyg",
            "month" : "1 Miesiąc",
            "n_months" : "%1 Mies",
            "year" : "1 Rok"
        },
        "interval" : {
            "_10m" : "10 minut",
            "hourly" : "Godzina",
            "daily" : "Dzień",
            "monthly" : "Miesiąc",
            "rawline" : "As line"       // TODO
        }
    }
}


// --------------------------------------------------------------------------------------
// Swedish (sv)
// --------------------------------------------------------------------------------------

const lang_sv =
{
	"ui": {
		"label": {
			"type_to_search": "Skriv för att söka efter en enhet att lägga till",
			"error_retreiving": "Kunde inte hämta tillgängliga enheter!",
			"loading": "Laddar tillgängliga enheter..."
		},
		"popup": {
			"remove_all": "Ta bort alla dynamiskt tillagda grafer?",
			"enable_panel": "Aktivera panelen för enhetens historikinformation?",
			"disable_panel": "Inaktivera panelen för enhetens historikinformation?"
		},
		"menu": {
			"export_csv": "Exportera som CSV",
			"export_stats": "Exportera statistik som CSV",
			"remove_all": "Ta bort alla tillagda grafer",
			"enable_panel": "Aktivera historikinfo-panelen",
			"disable_panel": "Inaktivera historikinfo-panelen"
		},
		"ranges": {
			"l_hour": "< 1 tim",
			"hour": "1 tim",
			"n_hours": "%1 timmar",
			"day": "1 dag",
			"n_days": "%1 dagar",
			"week": "1 vecka",
			"n_weeks": "%1 veckor",
			"month": "1 månad",
			"n_months": "%1 månader",
			"year": "1 år"
		},
		"interval": {
			"_10m": "10 min",
			"hourly": "Varje timme",
			"daily": "Varje dag",
			"monthly": "Varje månad",
            "rawline" : "As line"       // TODO
		}
	}
}


// --------------------------------------------------------------------------------------
// Danish (da)
// --------------------------------------------------------------------------------------

const lang_da =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Indtast for at søge efter en entitet, der skal tilføjes",
            "error_retreiving" : "Fejl ved indlæsning af entiteter !",
            "loading" : "Indlæser tilgængelige entiteter...",
        }, 
        "popup" : {
            "remove_all" : "Fjern alle dynamisk tilføjede grafer ?",
            "enable_panel" : "Brug historik graf som standard ?",
            "disable_panel" : "Fravælg historik graf som standard ?"
        },
        "menu" : {  
            "export_csv" : "Eksporter som CSV",
            "export_stats" : "Eksporter statistik som CSV",
            "remove_all" : "Fjern alle tilføjede grafer ",
            "enable_panel" : "Brug historik graf som standard",
            "disable_panel" : "Deaktivér historik graf som standard"
        },
        "ranges" : {
            "l_hour" : "< 1 T",
            "hour" : "1 T",
            "n_hours" : "%1 T",
            "day" : "1 dag",
            "n_days" : "%1 dage",
            "week" : "1 uge",
            "n_weeks" : "%1 uger",
            "month" : "1 måned",
            "n_months" : "%1 måneder",
            "year" : "1 år"
        },
        "interval" : {
            "_10m" : "10 min",
            "hourly" : "Hver time",
            "daily" : "Daglig",
            "monthly" : "Månedlig",
            "rawline" : "As line"       // TODO
        }
    }
}


// --------------------------------------------------------------------------------------
// Slovak (sk)
// --------------------------------------------------------------------------------------

const lang_sk =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Napíšte, ak chcete vyhľadať entitu, ktorú chcete pridať",
            "error_retreiving" : "Nepodarilo sa načítať dostupné entity !",
            "loading" : "Načitavanie dostupných entít...",
        }, 
        "popup" : {
            "remove_all" : "Odstrániť všetky dynamicky pridané grafy ?",
            "enable_panel" : "Povoliť informačný panel histórie ?",
            "disable_panel" : "Zakázať informačný panel histórie ?"
        },
        "menu" : {  
            "export_csv" : "Export ako CSV",
            "export_stats" : "Export štatistiky ako CSV",
            "remove_all" : "Odstrániť všetky pridané grafy",
            "enable_panel" : "Povoliť informačný panel histórie",
            "disable_panel" : "Zakázať informačný panel histórie"
        },
        "ranges" : {
            "l_hour" : "< 1 H",
            "hour" : "1 H",
            "n_hours" : "%1 H",
            "day" : "1 deň",
            "n_days" : "%1 dní",
            "week" : "1 týždeň",
            "n_weeks" : "%1 týždňov",
            "month" : "1 mesiac",
            "n_months" : "%1 mesiacov",
            "year" : "1 rok"
        },
        "interval" : {
            "_10m" : "10 min",
            "hourly" : "Hodinovo",
            "daily" : "Denne",
            "monthly" : "Mesačné",
            "rawline" : "Ako čiara"
        }
    }
}


// --------------------------------------------------------------------------------------
// Russian (ru)
// --------------------------------------------------------------------------------------

const lang_ru =
{
    "ui" : {
        "label" : {
            "type_to_search" : "Начните поиск объекта для добавления",
            "error_retreiving" : "Невозможно загрузить доступные объекты!",
            "loading" : "Загрузка доступных объектов...",
        }, 
        "popup" : {
            "remove_all" : "Очистить все добавленные графики?",
            "enable_panel" : "Активировать историю в панели информации",
            "disable_panel" : "Деактивировать историю в панели информации"
        },
        "menu" : {  
            "export_csv" : "Экспортировать как CSV",
            "export_stats" : "Экспортировать статистику как CSV",
            "remove_all" : "Очистить все добавленные графики",
            "enable_panel" : "Активировать историю в панели информации",
            "disable_panel" : "Деактивировать историю в панели информации"
        },
        "ranges" : {
            "l_hour" : "< 1 Ч",
            "hour" : "1 Ч",
            "n_hours" : "%1 Ч",
            "day" : "1 День",
            "n_days" : "%1 Дн",
            "week" : "1 Неделя",
            "n_weeks" : "%1 Нед",
            "month" : "1 Месяц",
            "n_months" : "%1 Мес",
            "year" : "1 Год"
        },
        "interval" : {
            "_10m" : "10 мин",
            "hourly" : "По часам",
            "daily" : "По дням",
            "monthly" : "По месяцам",
            "rawline" : "Линия"
        }
    }
}


// --------------------------------------------------------------------------------------
// Language localization helper functions
// --------------------------------------------------------------------------------------

var languages = {
    'en': lang_en,
    'fr': lang_fr,
    'de': lang_de,
    'es': lang_es,
    'nl': lang_nl,
    'pl': lang_pl,
    'sv': lang_sv,
    'da': lang_da,
    'sk': lang_sk,
    'ru': lang_ru
};

var language = 'en';

function setLanguage(l)
{
    language = 'en';
    let lang = l.replace('-', '_').split('_');
    if( lang && lang.length > 0 && languages[lang[0]] ) language = lang[0];
}

function i18n(t, a0)
{
    let v = t.split('.').reduce((o,i) => o[i], languages[language]);
    if( v === undefined ) 
        v = t.split('.').reduce((o,i) => o[i], languages['en']);
    if( v && a0 ) v = v.replace('%1', a0);
    return v;
}


