# स्टैटिक साइटों के लिए i18n — 5 लोकेल > CMS के बिना स्लैश-रूट लोकलाइज़ेशन: डिक्शनरी, डायनामिक [locale] पाथ, hreflang और पाँच भाषाओं को सिंक रखना। > > 2026-04-18 — y7.hk ## आर्किटेक्चर ``` /en/blog/hello ← डिफ़ॉल्ट लोकेल, फिर भी प्रिफ़िक्स्ड (स्पेशल केस से क्लीनर) /ru/blog/hello /zh/blog/hello /ja/blog/hello /de/blog/hello ``` तीन चलते हिस्से: 1. **डिक्शनरी** — हर लोकेल के लिए एक JSON, समान शेप, `Record` के रूप में टाइप्ड, ताकि कोई की खिसकने पर TypeScript चीखे। 2. **डायनामिक रूट** — `src/pages/[locale]/...` जिसमें `getStaticPaths()` हर लोकेल लौटाता है। 3. **कंटेंट फ़ॉलबैक** — पोस्ट एक बार `en/` में लिखो, जब तक अनुवाद न आएँ हर लोकेल में रेंडर करो। ## टाइप की वो चाल जो बचाती है ```ts export type Locale = "en" | "ru" | "zh" | "ja" | "de"; const dictionaries: Record = { en, ru, zh, ja, de }; ``` `typeof en` ही स्कीमा है। `en.json` में कोई की डालो और बाकी चार डिक्शनरी के पूरा होने तक बिल्ड फेल रहता है। ## head मत भूलो हर लोकेल के लिए `` प्लस `x-default`, हर पेज का canonical, और `Astro.url` से बने पाथ। सर्च इंजन इस बोरिंग प्लंबिंग को इनाम देते हैं।