fix: load_lang shouldn't prioritize super-languages over user-specified order

Massimo Melina committed Mar 14, 2023 at 11:41 UTC d38239bd5f520db50b642fa233b2397ff889dd47
1 file changed +8 -9
src/frontEndApis.ts
+8 -9
@@ -76,17 +76,16 @@ export const frontEndApis: ApiHandlers = {
76 async load_lang({ lang }) {
77 const ret: any = {}
78 const langs = wantArray(lang)
79 - const tried: string[] = []
79 for (let k of langs) {
80 k = k.toLowerCase()
82 - while (1) {
83 - if (tried.includes(k)) break
84 - tried.push(k)
85 - try { ret[k] = JSON.parse(await readFile(`hfs-lang-${k}.json`, 'utf8')) }
86 - catch {}
87 - const i = k.lastIndexOf('-')
88 - if (ret[k] || i < 0) break
89 - k = k.slice(0, i)
81 + try { ret[k] = JSON.parse(await readFile(`hfs-lang-${k}.json`, 'utf8')) }
82 + catch {
83 + while (1) {
84 + k = k.substring(0, k.lastIndexOf('-'))
85 + if (!k) break
86 + if (!langs.includes(k))
87 + langs.push(k)
88 + }
89 }
90 }
91 return ret