अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
यह दस्तावेज़ पुराना है, आधार संस्करण को इस तिथि पर अपडेट किया गया है 22 अगस्त 2026.
अंग्रेजी दस्तावेज़ पर जाएँसंस्करण इतिहास
- "routing.domains कॉन्फ़िगरेशन के माध्यम से डोमेन-आधारित लोकेल रूटिंग जोड़ी गई।"v8.5.02/4/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
कस्टम डोमेन (Custom Domains)
Intlayer डोमेन-आधारित लोकेल रूटिंग का समर्थन करता है, जिससे आप समर्पित होस्टनेम से विशिष्ट लोकेल की सेवा कर सकते हैं। उदाहरण के लिए, चीनी आगंतुकों को intlayer.org/zh के बजाय intlayer.zh पर निर्देशित किया जा सकता है।
यह कैसे काम करता है
routing में domains मैप प्रत्येक लोकेल को एक होस्टनेम के साथ जोड़ता है। Intlayer इस मैप का उपयोग दो स्थानों पर करता है:
- URL जनरेशन (
getLocalizedUrl): जब लक्ष्य लोकेल वर्तमान पेज की तुलना में अलग डोमेन पर होता है, तो एक पूर्ण (absolute) URL लौटाया जाता है (जैसेhttps://intlayer.zh/about)। जब दोनों डोमेन मैच करते हैं, तो एक सापेक्ष (relative) URL लौटाया जाता है (जैसे/fr/about)। - सर्वर प्रॉक्सी (Next.js और Vite): आने वाले अनुरोधों को उस डोमेन के आधार पर रीडायरेक्ट या रीराइट किया जाता है जिस पर वे आते हैं।
विशेष बनाम साझा डोमेन (Exclusive vs. shared domains)
मुख्य अंतर विशेषता (exclusivity) है:
- विशेष डोमेन (Exclusive domain) - केवल एक लोकेल उस होस्टनेम पर मैप होता है (जैसे
zh → intlayer.zh)। डोमेन स्वयं लोकेल की पहचान करता है, इसलिए पथ (path) में कोई लोकेल उपसर्ग (prefix) नहीं जोड़ा जाता है।https://intlayer.zh/aboutचीनी सामग्री परोसता है। - साझा डोमेन (Shared domain) - एक ही होस्टनेम पर कई लोकेल मैप होते हैं (जैसे
enऔरfrदोनोंintlayer.orgपर मैप होते हैं)। सामान्य उपसर्ग-आधारित रूटिंग लागू होती है।intlayer.org/fr/aboutफ्रांसीसी सामग्री परोसता है।
कॉन्फ़िगरेशन
कोड को क्लिपबोर्ड पर कॉपी करें
जो लोकेल domains में सूचीबद्ध नहीं हैं, वे बिना किसी डोमेन ओवरराइड के मानक उपसर्ग रूटिंग का उपयोग करना जारी रखते हैं।
URL जनरेशन
getLocalizedUrl कॉल के संदर्भ के आधार पर स्वचालित रूप से सही URL प्रकार उत्पन्न करता है।
समान-डोमेन लोकेल (relative URL)
कोड को क्लिपबोर्ड पर कॉपी करें
क्रॉस-डोमेन लोकेल (absolute URL)
कोड को क्लिपबोर्ड पर कॉपी करें
लोकेल के अपने डोमेन से सेवा करना
कोड को क्लिपबोर्ड पर कॉपी करें
वर्तमान डोमेन ऑटो-डिटेक्शन
currentDomain वैकल्पिक है। छोड़े जाने पर, getLocalizedUrl इसे इस क्रम में हल करता है:
- पूर्ण इनपुट URL का होस्टनेम (जैसे
https://intlayer.org/about→intlayer.org)। - ब्राउज़र वातावरण में
window.location.hostname। - यदि कोई भी उपलब्ध नहीं है (बिना स्पष्ट विकल्प के SSR), तो समान-डोमेन लोकेल के लिए एक सापेक्ष URL लौटाया जाता है और कोई पूर्ण URL उत्पन्न नहीं होता है - यह सुरक्षित फॉलबैक है।
कोड को क्लिपबोर्ड पर कॉपी करें
डोमेन के साथ getMultilingualUrls
getMultilingualUrls प्रत्येक लोकेल के लिए getLocalizedUrl कॉल करता है, इसलिए यह कॉलर के डोमेन के आधार पर सापेक्ष और पूर्ण URL का मिश्रण उत्पन्न करता है:
कोड को क्लिपबोर्ड पर कॉपी करें
ये पूर्ण URL SEO के लिए <link rel="alternate" hreflang="..."> टैग में उपयोग करने के लिए तैयार हैं।
Type Inference
routing.domains को generated module augmentation में serialize किया जाता है, इसलिए
getLocalizedUrl और getLocalizedPath अपने return type को exact
URL तक narrow करते हैं जिसे एक domain-routed locale resolve करता है — prefix suppression शामिल है।
कोड को क्लिपबोर्ड पर कॉपी करें
URL type दोनों values का union है जो function return कर सकता है: locale के domain पर
absolute URL, और relative URL जो तब return होता है जब rendered किया जा रहा page
पहले से ही उस domain पर रहता है। getLocalizedPath के पास ऐसी कोई
ambiguity नहीं है - यह कभी भी origin emit नहीं करता - इसलिए यह एक single literal रहता है।
Locales जो एक domain share करते हैं अपना normal prefix type में भी keep करते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
routing.domainsको बदलने के बाद types को regenerate करें (npx intlayer build, या कोई dev server run) - narrowing generated__RoutingRegistryसे आता है, config file से नहीं।
प्रॉक्सी व्यवहार (Proxy Behaviour)
Next.js
intlayerProxy मिडलवेयर डोमेन रूटिंग को स्वचालित रूप से संभालता है। इसे अपने middleware.ts में जोड़ें:
कोड को क्लिपबोर्ड पर कॉपी करें
रीडायरेक्ट (Redirect) - अनुरोध किसी दिए गए लोकेल उपसर्ग के लिए गलत डोमेन पर आता है:
कोड को क्लिपबोर्ड पर कॉपी करें
रीराइट (Rewrite) - अनुरोध बिना उपसर्ग के लोकेल के विशेष डोमेन पर आता है:
कोड को क्लिपबोर्ड पर कॉपी करें
Vite
intlayerProxy Vite प्लगइन विकास के दौरान समान तर्क लागू करता है:
Intlayer v9 के बाद से,intlayerProxy()सीधेintlayer()plugin में bundled है औरrouting.enableProxyविकल्प के माध्यम से डिफ़ॉल्ट रूप से सक्षम है (trueडिफ़ॉल्ट रूप से)। इसे अलग से पंजीकृत करना जैसा कि नीचे दिखाया गया है अब वैकल्पिक है — यह backward compatibility के लिए और उन setups के लिए रखा गया है जिन्हें plugin order को नियंत्रित करने की आवश्यकता है।routing.enableProxy: falseसेट करके opt out करें। v9 release notes देखें।
कोड को क्लिपबोर्ड पर कॉपी करें
नोट: स्थानीय विकास में आप आमतौर परlocalhostपर होते हैं, इसलिए क्रॉस-डोमेन रीडायरेक्ट किसी अन्य स्थानीय पोर्ट के बजाय लाइव डोमेन की ओर इशारा करेंगे। यदि आपको स्थानीय रूप से मल्टी-डोमेन रूटिंग का परीक्षण करने की आवश्यकता है, तो hosts-फ़ाइल ओवरराइड (जैसे127.0.0.1 intlayer.zh) या रिवर्स प्रॉक्सी का उपयोग करें।
लोकेल स्विचर (Locale Switcher)
next-intlayer का useLocale हुक डोमेन-जागरूक नेविगेशन को स्वचालित रूप से संभालता है। जब कोई उपयोगकर्ता किसी दूसरे डोमेन पर लोकेल पर स्विच करता है, तो हुक क्लाइंट-साइड राउटर पुश के बजाय पूर्ण-पेज नेविगेशन (window.location.href) करता है, क्योंकि Next.js राउटर ओरिजिन (origins) को पार नहीं कर सकता है।
कोड को क्लिपबोर्ड पर कॉपी करें
किसी अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं है - useLocale आंतरिक रूप से window.location.hostname का पता लगाता है और router.replace (समान डोमेन) और window.location.href (क्रॉस-डोमेन) के बीच निर्णय लेता है।
SEO: hreflang वैकल्पिक लिंक
डोमेन-आधारित रूटिंग का उपयोग आमतौर पर hreflang के साथ खोज इंजन को यह बताने के लिए किया जाता है कि प्रत्येक भाषा के लिए किस URL को इंडेक्स करना है। वैकल्पिक URL का पूरा सेट उत्पन्न करने के लिए getMultilingualUrls का उपयोग करें:
कोड को क्लिपबोर्ड पर कॉपी करें
यह उत्पन्न करता है:
कोड को क्लिपबोर्ड पर कॉपी करें
मुख्य उपयोगिताएँ (Core Utilities)
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
| उपयोगिता (Utility) | विवरण |
|---|---|
getLocalizedUrl(url, locale, { currentDomain }) | सापेक्ष या पूर्ण URL लौटाता है, यह इस पर निर्भर करता है कि लक्ष्य लोकेल वर्तमान डोमेन पर है या नहीं। |
getMultilingualUrls(url, { currentDomain }) | लोकेल-कीड (locale-keyed) मैप लौटाता है, जिसमें आवश्यकतानुसार सापेक्ष और पूर्ण URL मिश्रित होते हैं। |
getPrefix(locale, { domains }) | विशेष-डोमेन लोकेल के लिए एक खाली उपसर्ग लौटाता है, अन्यथा सामान्य उपसर्ग। |
