diff --git a/lib/plugins/filter/template_locals/i18n.ts b/lib/plugins/filter/template_locals/i18n.ts index 73367d8df0..daca419db3 100644 --- a/lib/plugins/filter/template_locals/i18n.ts +++ b/lib/plugins/filter/template_locals/i18n.ts @@ -13,7 +13,13 @@ function i18nLocalsFilter(locals) { const pattern = new Pattern(`${i18nDir}/*path`); const data = pattern.match(locals.path); - if (data && data.lang && i18nLanguages.includes(data.lang)) { + if ( + typeof data !== 'undefined' + && !Array.isArray(data) + && typeof data !== 'boolean' + && data.lang + && i18nLanguages.includes(data.lang) + ) { lang = data.lang; page.canonical_path = data.path; } else {