From 4df2028153405493db630a10daee80d143ab748c Mon Sep 17 00:00:00 2001 From: Waxer59 Date: Sat, 12 Aug 2023 21:36:07 +0200 Subject: Fix translation status page (#495) --- docs-i18n-tracker/build.ts | 4 ++-- docs-i18n-tracker/lib/translation-status/builder.ts | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs-i18n-tracker/build.ts b/docs-i18n-tracker/build.ts index 3f17e311..1caca659 100644 --- a/docs-i18n-tracker/build.ts +++ b/docs-i18n-tracker/build.ts @@ -5,8 +5,8 @@ const translationStatusBuilder = new TranslationStatusBuilder({ pageSourceDir: '../docs/src/content/docs', htmlOutputFilePath: './dist/index.html', sourceLanguage: 'en', - targetLanguages: Object.keys(locales) - .filter((lang) => lang !== 'en') + targetLanguages: Object.values(locales) + .reduce((acc, { lang }) => lang !== "en" ? [lang, ...acc] : acc, []) .sort(), languageLabels: Object.values(locales) .filter((loc) => loc.lang !== 'en') diff --git a/docs-i18n-tracker/lib/translation-status/builder.ts b/docs-i18n-tracker/lib/translation-status/builder.ts index e4ce1846..dafc0f1d 100644 --- a/docs-i18n-tracker/lib/translation-status/builder.ts +++ b/docs-i18n-tracker/lib/translation-status/builder.ts @@ -122,8 +122,7 @@ export class TranslationStatusBuilder { const pages: PageIndex = { [this.sourceLanguage]: {}, }; - this.targetLanguages.forEach((lang) => (pages[lang] = {})); - + this.targetLanguages.forEach((lang) => (pages[lang.toLowerCase()] = {})); // Enumerate all markdown pages with supported languages in pageSourceDir, // retrieve their page data and update them const pagePaths = await glob(`**/*.{md,mdx}`, { @@ -132,7 +131,7 @@ export class TranslationStatusBuilder { const updatedPages = await Promise.all( pagePaths.sort().map(async (pagePath) => { const pathParts = pagePath.split('/'); - const isLanguageSubpathIncluded = this.targetLanguages.includes(pathParts[0]!); + const isLanguageSubpathIncluded = this.targetLanguages.map(el=>el.toLowerCase()).includes(pathParts[0]!); // If the first path of a file does not belong to a language, it will be by default a page of the original language set. const lang = isLanguageSubpathIncluded ? pathParts[0] : this.sourceLanguage; @@ -218,7 +217,7 @@ export class TranslationStatusBuilder { }; this.targetLanguages.forEach((lang) => { - const i18nPage = pages[lang]![subpath]!; + const i18nPage = pages[lang.toLowerCase()]![subpath]!; content.translations[lang] = { page: i18nPage, isMissing: !i18nPage, -- cgit