diff --git a/src/i18n/utils.ts b/src/i18n/utils.ts index a6afe62..8532dc1 100644 --- a/src/i18n/utils.ts +++ b/src/i18n/utils.ts @@ -12,6 +12,7 @@ export function formatArticlesByLangs(data: Record[] = []; + const push = (article: MDXInstance, lang: LanguageKeys) => { + articles.push(article); + article.frontmatter.lang = lang; + }; for (const key of Object.keys(modules)) { - const langs = Object.keys(modules[key]); - for (const articleLang of langs) { + const langs = Object.keys(modules[key]) as LanguageKeys[]; + for (const lang of langs) { const isNonDefaultLanguage = !langs.includes(siteLang) && langs.length === 1; const article = modules[key]; - if (articleLang === siteLang) { - articles.push(article[siteLang]); - article[siteLang].frontmatter.lang = siteLang; - } - - if (isNonDefaultLanguage) { - articles.push(article[articleLang]); - article[articleLang].frontmatter.lang = articleLang; - } + if (lang === siteLang) push(article[siteLang], siteLang); + if (isNonDefaultLanguage) push(article[lang], lang); } } diff --git a/src/utils/url.ts b/src/utils/url.ts index a003805..6957833 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -7,8 +7,8 @@ export const encode = (data: object) => { .join("&"); }; -export const getLanguageFromURL = (pathname: string) => { - const lang = pathname.split("/")[1]; +export const getLanguageFromURL = (pathname: string): LanguageKeys => { + const lang = pathname.split("/")[1] as LanguageKeys; if (Object.hasOwn(languages, lang)) return lang; return DEFAULT_LANGUAGE; };