Reactive Translations
Make Translated text reactive so that when switching lang, text is reload on the fly Fixes: #77
This commit is contained in:
parent
8fdfb470cb
commit
84fe1df671
@ -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();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user