export const translations = $state({ values: {} }) export async function loadTranslation(lang){ var url = `${location.protocol}//${location.host.replace('5173','8080')}/api/translations/${lang}`; translations.values = await fetch(url).then(resp => resp.json()); } export function t(key,...args){ let set = translations.values; let keys = key.split('.'); for (let token of keys){ if (!set[token]){ console.warn('Missing translation for '+key); return keys[keys.length-1].replaceAll('_',' '); } set = set[token]; } for (var i in args) set = set.replace(`{${i}}`,args[i]); return set; }