aboutsummaryrefslogtreecommitdiff
path: root/test-client/locale.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-17 21:33:08 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-17 21:33:08 +0200
commit976e2fc3e25bfd08c755aa222a45c42a53b0b8e0 (patch)
treee73b304827d149770a94b533569b08aa35ac4cad /test-client/locale.ts
parent666adbf669afc06d87aa28f1a8ca120c5612d3a4 (diff)
downloadhurrycurry-976e2fc3e25bfd08c755aa222a45c42a53b0b8e0.tar
hurrycurry-976e2fc3e25bfd08c755aa222a45c42a53b0b8e0.tar.bz2
hurrycurry-976e2fc3e25bfd08c755aa222a45c42a53b0b8e0.tar.zst
tc: localization
Diffstat (limited to 'test-client/locale.ts')
-rw-r--r--test-client/locale.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/test-client/locale.ts b/test-client/locale.ts
new file mode 100644
index 00000000..61d083b4
--- /dev/null
+++ b/test-client/locale.ts
@@ -0,0 +1,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
+}