blob: 61d083b418dbb322e9ff97fd5674a7f5bec5d9e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
let TR: { [key: string]: string } = {}
export async function init_locale(lang: string) {
const res = await fetch(`/locale/${encodeURIComponent(lang)}.json`, { headers: { "Accept": "application/json" } })
if (!res.ok) throw new Error("language pack download failed");
TR = await res.json()
}
export function tr(key: string, ...args: string[]): string {
let s = TR[key] ?? key;
if (args.length)
s = s.replace(/%(s|i)/ig, () => args.shift() ?? "[not provided]")
return s
}
|