From 1000eee4089ac975d9c1321bae737d82847da77a Mon Sep 17 00:00:00 2001 From: Richard Knoll Date: Mon, 9 Dec 2024 14:34:18 -0800 Subject: [PATCH] Fix localisation of help docs for langs like 'fr' (#10310) (#10311) For French the code is 'fr' which just returns a single part. We can just use whichever parts are returned for the paths. Co-authored-by: Matt Hillsdon <44397098+microbit-matt-hillsdon@users.noreply.github.com> --- webapp/src/blocks.tsx | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/webapp/src/blocks.tsx b/webapp/src/blocks.tsx index 3b808b96323a..cedc8035bdd8 100644 --- a/webapp/src/blocks.tsx +++ b/webapp/src/blocks.tsx @@ -2001,25 +2001,16 @@ function shouldEventHideFlyout(ev: Blockly.Events.Abstract) { function resolveLocalizedMarkdown(url: string) { const editorPackage = pkg.getEditorPkg(pkg.mainPkg); - const [initialLang, baseLang, initialLangLowerCase] = pxt.Util.normalizeLanguageCode(pxt.Util.userLanguage()); - const splitPath = url.split("/"); const fileName = splitPath.pop(); const dirName = splitPath.join("/"); - let pathsToTest: string[]; - - if (initialLang && baseLang && initialLangLowerCase) { - pathsToTest = [ - `${dirName}/_locales/${initialLang}/${fileName}`, - `${dirName}/_locales/${initialLangLowerCase}/${fileName}`, - `${dirName}/_locales/${baseLang}/${fileName}`, - url - ]; - } - else { - pathsToTest = [url]; - } + const [initialLang, baseLang, initialLangLowerCase] = pxt.Util.normalizeLanguageCode(pxt.Util.userLanguage()); + const priorityOrder = [initialLang, initialLangLowerCase, baseLang].filter((lang) => typeof lang === "string") + const pathsToTest = [ + ...priorityOrder.map(lang =>`${dirName}/_locales/${lang}/${fileName}`), + url + ] for (const path of pathsToTest) { const file = editorPackage.lookupFile(path);