homebridge-flume
Version:
Homebridge plugin to integrate Flume devices into HomeKit.
41 lines • 1.27 kB
JavaScript
import { readFileSync } from 'fs';
import merge from 'lodash.merge';
import de from './de.js';
import en from './en.js';
import es from './es.js';
export var Language;
(function (Language) {
Language["DE"] = "de";
Language["EN"] = "en";
Language["ES"] = "es";
})(Language || (Language = {}));
const Translations = {
[Language.DE]: de,
[Language.EN]: en,
[Language.ES]: es,
};
export function getTranslation(language) {
return Translations[language] ?? {};
}
export function getStrings(language) {
return merge({}, en, getTranslation(language));
}
export let strings = en;
export function setLanguage(configPath) {
let isoLang;
try {
const systemConfig = readFileSync(configPath, { encoding: 'utf8' });
isoLang = JSON.parse(systemConfig).platforms.filter((c) => c.platform === 'config')[0].lang;
}
catch {
// nothing
}
if (isoLang === undefined || isoLang.trim().length === 0 || isoLang === 'auto') {
isoLang = Intl.DateTimeFormat().resolvedOptions().locale.split('-')[0];
}
const currentLanguage = isoLang in Translations ? isoLang : Language.EN;
if (currentLanguage !== Language.EN) {
strings = getStrings(currentLanguage);
}
}
//# sourceMappingURL=i18n.js.map