Added support for single localization
This commit is contained in:
Vendored
+10
-3
@@ -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 —
|
||||
|
||||
Reference in New Issue
Block a user