আন্তর্জাতিকীকরণ (i18n) 2026-09-03-এ নতুন
SveltePress একই সাইটে একাধিক লোকেল পরিবেশন করতে পারে। আন্তর্জাতিকীকরণ opt-in: locales না দিলে সাইট single-locale থাকে এবং আগের আচরণই বজায় থাকে।
লোকেল সক্রিয় করুন
sveltepress()-এ একটি locales ম্যাপ দিন। কী হলো URL prefix ('/' ডিফল্ট লোকেলের জন্য, '/zh/', '/bn/', …)। প্রতিটি এন্ট্রিতে BCP 47 lang, ভাষা সুইচারের জন্য label, এবং সেই লোকেলের সম্পূর্ণ theme options থাকতে হবে:
import { } from '@sveltepress/theme-default'
import { } from '@sveltepress/vite'
import { } from 'vite'
import { } from './config/locales'
export default ({
: [
({
: ({
// সব লোকেলের shared সাইট-লেভেল অপশন
}),
,
}),
],
}) locales না থাকলে SveltePress পাথ rewrite করে না, language switcher দেখায় না, এবং locale route tree স্ক্যান করে না।
রুট ও prefix
অনুবাদ করা পৃষ্ঠাগুলো ডিফল্ট লোকেলের একই logical route ID-এর পাশে রাখুন (src/routes/…, src/routes/zh/…, src/routes/bn/…)। ডিফল্ট লোকেল unprefixed /-এ থাকে। Navbar, sidebar, হোম action বাটন এবং feature card লিংকেও সেই logical path ব্যবহার করুন (যেমন /guide/introduction/); Default Theme সক্রিয় লোকেলের prefix যোগ করবে।
Language switcher ও fallback
locales কনফিগার থাকলে Default Theme navbar-এ language switcher দেখায়। ভাষা বদলালে documentation version, logical page, এবং in-view heading (#hash) একই থাকে। Historical version (/v/<id>/… বা /zh/v/<id>/…) থেকে সুইচ করলে টার্গেট লোকেলের একই frozen version-এ যায়; সেই পৃষ্ঠা না থাকলে current logical page, তারপর লোকেল home-এ fallback করে (svp-locale-fallback=1)।
virtual:sveltepress/locale
import {
,
,
,
,
} from 'virtual:sveltepress/locale' locales— কনফিগার করা ম্যাপ; i18n বন্ধ থাকলেnullresolveLocale/resolveLocalizedPath/resolveLocaleSwitch— সক্রিয় লোকেল, লিঙ্ক rewrite, সুইচার টার্গেট
SSR <html lang>
// @noErrors
import { createLocaleHandle } from '@sveltepress/vite/hooks'
import { locales } from '../config/locales'
export const handle = createLocaleHandle(locales) Per-locale llms ও sitemap
llms চালু থাকলে প্রতি লোকেলে আলাদা llms.txt / llms-full.txt লেখা হয়। sitemap.xml লোকেলগুলোর current page ও eligible historical version URL hreflang alternate-সহ তালিকাভুক্ত করে।
Locale-aware versioning
নতুন ভাষা যোগ করতে SveltePress প্যাকেজ কোড বদলাতে হয় না। locales-এ প্রিফিক্স দিন, পেজ রাখুন src/routes/<slug>/-এ; ডকুমেন্ট ভার্সন ব্যবহার করলে sveltepress versions init --locale <slug> চালান। ভাষা পরিবর্তন, সাইডবার এবং ঐতিহাসিক URL সেই প্রিফিক্স অনুসরণ করে।
প্রতি লোকেলের আলাদা manifest থাকতে পারে: / → sveltepress.versions.json (/v), /<slug>/ → sveltepress.versions.<slug>.json (/<slug>/v)। ডিফল্ট sveltepress versions build কনফিগার করা সব লোকেল draft করে এক output-এ compose করে। init / create / validate এবং এক-লোকেল draft-এ --locale দিন:
sveltepress versions build
sveltepress versions create 8.2 --label "8.2" --locale bn
sveltepress versions validate --locale bn বিস্তারিত: ডকুমেন্ট সংস্করণ ব্যবস্থাপনা ।
লোকেল অনুযায়ী সার্চ
Local Search <html lang="…"> অনুসরণ করে। DocSearch/custom search-এর জন্য প্রতি লোকেলে আলাদা theme options দিন। বিস্তারিত: সার্চ ।