# Statik Siteler için i18n — 5 Yerel > CMS olmadan slash-rota yerelleştirmesi: sözlükler, dinamik [locale] yolları, hreflang ve beş dili senkron tutmak. > > 2026-04-18 — y7.hk ## Mimari ``` /en/blog/hello ← varsayılan yerel, yine de prefixli (özel durumdan daha temiz) /ru/blog/hello /zh/blog/hello /ja/blog/hello /de/blog/hello ``` Üç hareketli parça: 1. **Sözlükler** — yerel başına bir JSON, aynı şema, `Record` olarak tipli; böylece bir anahtar kaydığında TypeScript bağırır. 2. **Dinamik rotalar** — `src/pages/[locale]/...` ve her yerele dönen `getStaticPaths()`. 3. **İçerik geri düşüşü** — yazıları bir kez `en/` altında yaz, çeviriler gelene kadar her yerelin altında render et. ## Seni kurtaran tip hilesi ```ts export type Locale = "en" | "ru" | "zh" | "ja" | "de"; const dictionaries: Record = { en, ru, zh, ja, de }; ``` `typeof en` şemadır. `en.json`'a anahtar ekle ve diğer dört sözlük yetişene kadar build kırılır. ## Head'i unutma Her yerel için `` artı `x-default`, sayfa başına canonical ve `Astro.url`'den türetilen yollar. Arama motorları sıkıcı tesisatı ödüllendirir.