আন্তর্জাতিকীকরণ (i18n) 2026-09-03-এ নতুন

SveltePress একই সাইটে একাধিক লোকেল পরিবেশন করতে পারে। আন্তর্জাতিকীকরণ opt-in: locales না দিলে সাইট single-locale থাকে এবং আগের আচরণই বজায় থাকে।

Opt-in locales

লোকেল সক্রিয় করুন

sveltepress()-এ একটি locales ম্যাপ দিন। কী হলো URL prefix ('/' ডিফল্ট লোকেলের জন্য, '/zh/', '/bn/', …)। প্রতিটি এন্ট্রিতে BCP 47 lang, ভাষা সুইচারের জন্য label, এবং সেই লোকেলের সম্পূর্ণ theme options থাকতে হবে:

vite.config.ts
import {  } from '@sveltepress/theme-default'
import {  } from '@sveltepress/vite'
import {  } from 'vite'
import {  } from './config/locales'

export default ({
  : [
    ({
      : ({
        // সব লোকেলের shared সাইট-লেভেল অপশন
      }),
      ,
    }),
  ],
})
ts

locales না থাকলে SveltePress পাথ rewrite করে না, language switcher দেখায় না, এবং locale route tree স্ক্যান করে না।

Locale routes and prefixes

রুট ও 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 and fallbacks

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/locale

virtual:sveltepress/locale

import {
  ,
  ,
  ,
  ,
} from 'virtual:sveltepress/locale'
ts
  • locales — কনফিগার করা ম্যাপ; i18n বন্ধ থাকলে null
  • resolveLocale / resolveLocalizedPath / resolveLocaleSwitch — সক্রিয় লোকেল, লিঙ্ক rewrite, সুইচার টার্গেট
createLocaleHandle

SSR <html lang>

src/hooks.server.js
// @noErrors
import { createLocaleHandle } from '@sveltepress/vite/hooks'
import { locales } from '../config/locales'

export const handle = createLocaleHandle(locales)
js
Per-locale llms and hreflang sitemap

Per-locale llms ও sitemap

llms চালু থাকলে প্রতি লোকেলে আলাদা llms.txt / llms-full.txt লেখা হয়। sitemap.xml লোকেলগুলোর current page ও eligible historical version URL hreflang alternate-সহ তালিকাভুক্ত করে।

Locale-aware versioning

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
sh

বিস্তারিত: ডকুমেন্ট সংস্করণ ব্যবস্থাপনা

লোকেল অনুযায়ী সার্চ

Local Search <html lang="…"> অনুসরণ করে। DocSearch/custom search-এর জন্য প্রতি লোকেলে আলাদা theme options দিন। বিস্তারিত: সার্চ

সর্বশেষ আপডেট: 2026/09/05 03:57