अंतर्राष्ट्रीयकरण (i18n)
Apothem प्रलेखन साइट किस तरह अपना लोकेल समूह घोषित करती है, hreflang वैकल्पिक-भाषा लिंक उत्सर्जित करती है, दाएँ-से-बाएँ रेंडरिंग संभालती है, और अनुवाद की कमी को ईमानदारी से सामने लाती है।
यह पृष्ठ प्रलेखित करता है कि Apothem प्रलेखन साइट एकाधिक
भाषाओं को किस तरह संभालती है: वह जो लोकेल समूह घोषित करती है, वह hreflang तंत्र जो उत्सर्जित करती है,
उसकी दाएँ-से-बाएँ तत्परता, और प्रति-लोकेल अनुवाद की ईमानदार स्थिति।
निर्णय सारांश
- प्लेटफ़ॉर्म: Next.js App Router + Fumadocs। साइट
site/से बनाई गई है। लोकेल समूहsite/lib/i18n.tsमें घोषित है, और वैकल्पिक-भाषा लिंक तंत्रsite/lib/hreflang.tsमें रहता है। - लोकेल समूह: घोषित। बारह लोकेल का Modern Dev Cohort केननिकल सत्य-स्रोत के रूप में घोषित है, जिसमें अंग्रेज़ी स्रोत लोकेल है।
- प्रति-लोकेल राउटिंग: अभी सक्षम नहीं। जब केवल अंग्रेज़ी सामग्री मौजूद है, तब समूह के आर-पार लोकेल-उपसर्ग वाले मार्ग सक्षम करना ग्यारह सामग्री-रहित मार्ग बनाएगा जो चुपचाप अंग्रेज़ी स्रोत पर वापस लौट जाते हैं। यह उसी तरह का चुपचाप-केवल-अंग्रेज़ी बहाव है जिसे i18n अनुशासन वर्जित करता है, इसलिए राउटिंग तब तक एकल-लोकेल रहती है जब तक समीक्षित अनुवादित सामग्री न आए।
hreflangतंत्र: सक्रिय। प्रत्येक पृष्ठ एक<link rel="alternate">समुच्चय उत्सर्जित करता है जो प्रत्येक उस लोकेल को कवर करता है जिसके पास रचित सामग्री है, साथ ही एकx-defaultवापसी। अनुवाद की प्रतीक्षा करने वाले लोकेल छोड़ दिए जाते हैं — कभी अंग्रेज़ी वापसी की ओर इंगित नहीं किए जाते — इसलिए खोज इंजनों को सटीक रूप से बताया जाता है कि कोई अनुवाद मौजूद नहीं है।- दाएँ-से-बाएँ तत्परता: यथास्थान। साझा स्टाइलशीट पूरे में तार्किक CSS
गुणों का उपयोग करती हैं, इसलिए अरबी पृष्ठ अरबी सामग्री आने पर
dir="rtl"के तहत सही रेंडर होते हैं। - मशीनी अनुवाद नीति: कोई भी असमीक्षित नहीं भेजा जाता। कोई मशीनी-अनुवादित पृष्ठ गद्य प्रकाशित नहीं किया जाता। अनुवाद मशीन द्वारा बीजित किया जाता है और किसी भी लोकेल को अनुवादित चिह्नित करने से पहले मानवीय समीक्षा पर अवरुद्ध होता है।
लोकेल समूह
Modern Dev Cohort बारह लोकेल घोषित करता है। अंग्रेज़ी साइट रूट पर परोसी जाती है; ग्यारह लक्ष्य घोषित किए जाते हैं ताकि स्टैक अंतर्राष्ट्रीयकरण-तत्पर हो और अनुवाद की कमी चुपचाप के बजाय स्पष्ट हो।
| कोड | पथ | भाषा | दिशा | सामग्री |
|---|---|---|---|---|
en | / | अंग्रेज़ी | LTR | अनुवादित (स्रोत) |
zh-CN | /zh-cn/ | सरलीकृत चीनी | LTR | लंबित |
es | /es/ | स्पेनिश | LTR | लंबित |
pt-BR | /pt-br/ | ब्राज़ीली पुर्तगाली | LTR | लंबित |
fr | /fr/ | फ़्रेंच | LTR | लंबित |
de | /de/ | जर्मन | LTR | लंबित |
ja | /ja/ | जापानी | LTR | लंबित |
ko | /ko/ | कोरियाई | LTR | लंबित |
ru | /ru/ | रूसी | LTR | लंबित |
id | /id/ | इंडोनेशियाई | LTR | लंबित |
ar | /ar/ | अरबी | RTL | लंबित |
hi | /hi/ | हिन्दी | LTR | लंबित |
समूह एकमात्र सत्य-स्रोत है; इसमें संशोधन एक सुविचारित निर्णय से होते हैं, कभी चुपचाप संपादन से नहीं।
hreflang कैसे काम करता है
site/lib/hreflang.ts वह alternates.languages मानचित्र बनाता है जिसे Next.js
प्रत्येक पृष्ठ के <head> में रेंडर करता है। इसका निर्माण एक नियम का सम्मान करता है: किसी लोकेल का
वैकल्पिक-भाषा लिंक केवल तब उत्सर्जित होता है जब उस लोकेल के पास रचित
सामग्री हो। चूँकि अंग्रेज़ी आज एकमात्र अनुवादित लोकेल है, प्रत्येक पृष्ठ
ठीक दो लिंक उत्सर्जित करता है:
<link rel="alternate" hreflang="en" href="https://apothem.ahmedgad.com/..." />
<link rel="alternate" hreflang="x-default" href="https://apothem.ahmedgad.com/..." />पृष्ठ का canonical लिंक सदैव उसका अपना URL होता है — यह कभी लोकेल के आर-पार
इंगित नहीं करता। जैसे-जैसे किसी लोकेल की सामग्री आती है और उसकी स्थिति
site/lib/i18n.ts में अनुवादित में बदलती है, उस लोकेल का hreflang लिंक स्वतः उत्सर्जित होने लगता है,
और प्रति-लोकेल राउटिंग उसी बदलाव-समुच्चय में सक्षम हो जाती है।
दाएँ-से-बाएँ रेंडरिंग
अरबी समूह का दाएँ-से-बाएँ लोकेल है। साइट इसके लिए तैयार है:
- केवल तार्किक CSS गुण। साझा स्टाइलशीट और घटक
भौतिक गुणों (
margin-left,text-align: left) के बजाय तार्किक गुण (margin-inline-start,padding-inline-end,text-align: start,inset-inline-start) का उपयोग करते हैं। तार्किक गुणdir="rtl"के तहत स्वतः पलट जाते हैं, इसलिए वही स्टाइलशीट दोनों दिशाओं को सही ढंग से परोसती है। - दिशा विशेषता। अरबी सामग्री आने पर अरबी पृष्ठ
lang="ar"के साथ-साथ<html>तत्व परdir="rtl"सेट करते हैं। - द्विदिश सामग्री। मिश्रित-दिशा स्ट्रिंग — उदाहरण के लिए एक अरबी पैराग्राफ के भीतर
एक अंग्रेज़ी कमांड —
<bdi>में लपेटे जाते हैं ताकि अंतःस्थापित बाएँ-से-दाएँ क्रम दाएँ-से-बाएँ प्रवाह के भीतर सही रेंडर हो।
एक अनुवाद जोड़ना
साइट को किसी समूह लोकेल में अनुवादित करने के लिए:
- उस लोकेल के लिए समीक्षित अनुवादित पृष्ठ रचें।
site/lib/i18n.tsमें लोकेल की सामग्री स्थिति को अनुवादित में बदलें।- इसका
hreflangलिंक उत्सर्जित होने लगता है और इसके मार्ग पहुँच-योग्य बन जाते हैं।
जब तक किसी लोकेल का अनुवाद रचा और समीक्षित न हो जाए, तब तक अंग्रेज़ी पृष्ठ को सत्य-स्रोत के रूप में रखें। कोई मशीनी-अनुवादित सामग्री असमीक्षित नहीं भेजी जाती।
वर्तमान स्थिति और एक अनुवादित संग्रह तक का पथ
आज साइट अंतर्राष्ट्रीयकरण-तत्पर है पर सामग्री में केवल-अंग्रेज़ी है।
अवसंरचना — समूह घोषणा, hreflang तंत्र, तार्किक-CSS
दाएँ-से-बाएँ तत्परता — यथास्थान है; प्रति-लोकेल अनुवादित संग्रह नहीं है।
एक पूर्णतः अनुवादित संग्रह फ़ीचर-स्तरीय कार्य है: प्रत्येक लोकेल के पृष्ठ
मशीन-बीजित किए जाते हैं और फिर मानव-समीक्षित होते हैं, और एक रिलीज़ तभी अंतर्राष्ट्रीयकरण
उत्पादन-तैयार होती है जब प्रत्येक लोकेल अपनी समीक्षा सीमा पार कर ले। तब तक,
समूह घोषित है, कमी दृश्यमान है, और कोई असमीक्षित अनुवाद नहीं भेजा जाता।
Apothem में योगदान — डेवलपर मार्गदर्शिका
केननिकल स्कीमा, फ़्रंटमैटर आवश्यकताओं, और सत्यापन प्रक्रियाओं के साथ नियम, कमांड, हेल्पर, कौशल, और हुक रचकर Apothem पारिस्थितिकी तंत्र को बनाए रखें और विस्तारित करें।
ब्लॉग
Apothem की हार्नेस-अज्ञेय कॉन्फ़िगरेशन आर्किटेक्चर पर रिलीज़ घोषणाएँ और तकनीकी गहन-विश्लेषण।