UNPKG

@allakando/allakando-i18n

Version:

Allakando's internationalization library

35 lines (34 loc) 1.3 kB
/** @preserve @license @cc_on * ---------------------------------------------------------- * @allakando/allakando-i18n version 0.0.4 * Allakando's internationalization library * Copyright (c) 2023 Allakando * All Rights Reserved. MIT License * https://mit-license.org/ * ---------------------------------------------------------- */ class s { constructor(a, t) { this.translationsByLocale = a, this.language = t, this.defaultLanguage = t, this.isDebugMode = !1; } setLanguage(a) { this.language = a; } translate(a) { return this.isDebugMode ? () => a : this.translationsByLocale[this.language] ? this.translationsByLocale[this.language][a] : this.translationsByLocale[this.defaultLanguage][a]; } getTranslations() { return this.isDebugMode ? Object.keys(this.translationsByLocale[this.defaultLanguage]).reduce((a, t) => (a[t] = () => t, a), {}) : this.translationsByLocale[this.language] ? this.translationsByLocale[this.language] : this.translationsByLocale[this.defaultLanguage]; } enableDebugMode() { this.isDebugMode = !0; } disableDebugMode() { this.isDebugMode = !1; } } const n = () => navigator.languages && navigator.languages.length > 1 ? navigator.languages[1] : navigator.language; export { s as TranslatorAPI, n as getUserLocale };