diff --git a/frontend/src/i18n.js b/frontend/src/i18n.js index d8909f1..8c39fb4 100644 --- a/frontend/src/i18n.js +++ b/frontend/src/i18n.js @@ -10,9 +10,10 @@ */ import { getCookie, setCookie } from './utils.js'; +import { reactive } from 'vue'; const default_lang = "EN"; -let langs; +const langs = reactive({}); /** @@ -27,8 +28,8 @@ let langs; export default function i18n(key, options) { let ret = langs[key]; if(options != null){ - for (let key in options) { - ret = ret.replaceAll("$" + key, options[key]); + for (let option in options) { + ret = ret.replaceAll("$" + option, options[option]); } } return ret; @@ -47,14 +48,12 @@ export async function loadLangs(lang){ const content = await (await fetch(filename)).text(); const lines = content.split("\n"); - let filteredLines = {}; for (let line of lines) { if(!line.trim().startsWith("#") && line.trim() != ""){ let split = line.indexOf("=") - filteredLines[line.substr(0, split)] = line.substr(split+1, line.length); + langs[line.substr(0, split)] = line.substr(split+1, line.length); }; } - langs = filteredLines; } await loadLangs();