Added support for single localization

This commit is contained in:
2026-09-08 18:12:58 +02:00
parent e30ac71044
commit 419207ac12
16 changed files with 287 additions and 102 deletions
+10 -3
View File
@@ -28,6 +28,12 @@ import { isValidLocale } from './helpers.js';
if (!slug) {
return undefined;
}
// Single-locale sites have no /pl, /en prefix — the language segment is
// dropped entirely (path is /o-nas, not /pl/o-nas). Detected automatically:
// one configured locale means one language, so no prefix is needed. The
// project's folder structure matches (app/[[...slug]] without [locale]).
const singleLocale = config.locales.length === 1;
const localeSegment = singleLocale ? '' : `/${locale}`;
if (prefix) {
const segment = prefix[locale];
// No archive slug in this locale means the entry is unreachable there —
@@ -36,12 +42,13 @@ import { isValidLocale } from './helpers.js';
if (!segment) {
return undefined;
}
return `/${locale}/${segment}/${slug}`;
return `${localeSegment}/${segment}/${slug}`;
}
if (slug === homeSlug) {
return `/${locale}`;
// Home collapses to the root: '/' for single-locale, '/pl' otherwise.
return localeSegment || '/';
}
return `/${locale}/${slug}`;
return `${localeSegment}/${slug}`;
}
/**
* Resolves the equivalent path for the same document in a different locale —