अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "सॉलिड useIntlayer API उपयोग को सीधे प्रॉपर्टी एक्सेस में अपडेट करें"v8.9.04/5/2026
- "init कमांड जोड़ें"v7.5.930/12/2025
- "लेआउट अपडेट करें और 404 को हैंडल करें"v7.5.627/12/2025
- "दस्तावेज़ अपडेट किया गया"v6.1.53/10/2025
- "React Router v7 के लिए जोड़ा"v5.8.24/9/2025
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer के साथ अपना React Router v7 अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
यह गाइड दिखाता है कि कैसे Intlayer को React Router v7 प्रोजेक्ट्स में seamless अंतरराष्ट्रीयकरण के लिए एकीकृत किया जाए, जिसमें locale-aware रूटिंग, TypeScript समर्थन, और आधुनिक विकास प्रथाएँ शामिल हैं।
यह गाइड फ्रंटएंड राउटिंग पर केंद्रित है। fs-routes राउटिंग के लिए, Intlayer with React Router v7 File-System Routes गाइड देखें।
Table of Contents
विकल्पों पर इन्टलेयर क्यों?
रिएक्ट-आई18नेक्स्ट या आई18नेक्स्ट जैसे मुख्य समाधानों की तुलना में, इंटलेयर एक ऐसा समाधान है जो एकीकृत अनुकूलन के साथ आता है जैसे:
पूर्ण रिएक्ट राउटर कवरेज
इंटलेयर को लोकेल-अवेयर रूटिंग, लोकेल डिटेक्शन के लिए मिडलवेयर, और स्केलिंग इंटरनेशनलाइजेशन (i18n) के लिए आवश्यक सभी सुविधाओं की पेशकश करके रिएक्ट राउटर के साथ पूरी तरह से काम करने के लिए अनुकूलित किया गया है।
बंडल का आकार
अपने पृष्ठों में विशाल JSON फ़ाइलें लोड करने के बजाय, केवल आवश्यक सामग्री लोड करें। इंटलेयर आपके बंडल और पृष्ठ आकार को 50% तक कम करने में मदद करता है।
रखरखाव
आपके एप्लिकेशन की सामग्री का दायरा बड़े पैमाने के अनुप्रयोगों के लिए रखरखाव की सुविधा प्रदान करता है। आप अपने संपूर्ण सामग्री कोडबेस की समीक्षा करने के मानसिक बोझ के बिना किसी एक फीचर फ़ोल्डर की नकल कर सकते हैं या उसे हटा सकते हैं। इसके अतिरिक्त, आपकी सामग्री की सटीकता सुनिश्चित करने के लिए Intlayer पूरी तरह से टाइप किया गया है।
एआई एजेंट
सामग्री का सह-स्थानीकरण बड़े भाषा मॉडल (एलएलएम) द्वारा आवश्यक संदर्भ को कम करता है। इंटलेयर टूल के एक सूट के साथ भी आता है, जैसे CLI ताकि लापता अनुवादों का परीक्षण किया जा सके,LSP, MCP, और agent skills, AI एजेंटों के लिए डेवलपर अनुभव (DX) को और भी आसान बनाने के लिए।
स्वचालन
अपने एआई प्रदाता की कीमत पर अपनी पसंद के एलएलएम का उपयोग करके अपने सीआई/सीडी पाइपलाइन में अनुवाद करने के लिए स्वचालन का उपयोग करें। इंटलेयर सामग्री निष्कर्षण को स्वचालित करने के लिए एक कंपाइलर के साथ-साथ पृष्ठभूमि में अनुवाद में मदद करने के लिए एक वेब प्लेटफ़ॉर्म भी प्रदान करता है।
प्रदर्शन
बड़े पैमाने पर JSON फ़ाइलों को घटकों से जोड़ने से प्रदर्शन और प्रतिक्रियाशीलता संबंधी समस्याएं हो सकती हैं। इंटलेयर बिल्ड समय पर आपकी सामग्री लोडिंग को अनुकूलित करता है।
किसी भी देव के साथ स्केलिंग
सिर्फ एक i18n समाधान से अधिक, Intlayer एक स्व-होस्टेड विज़ुअल एडिटर और एक [पूर्ण] प्रदान करता है सीएमएस](/hi/doc/concept/cms) आपकी बहुभाषी सामग्री को वास्तविक समय में प्रबंधित करने में मदद करता है, जिससे अनुवादकों, कॉपीराइटरों और टीम के अन्य सदस्यों के साथ सहयोग सहज हो जाता है। सामग्री को स्थानीय और/या दूरस्थ रूप से संग्रहीत किया जा सकता है।
React Router v7 एप्लिकेशन में Intlayer सेटअप करने के लिए चरण-दर-चरण मार्गदर्शिका
निर्भरताएँ स्थापित करें
अपनी पसंदीदा पैकेज मैनेजर का उपयोग करके आवश्यक पैकेज स्थापित करें:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
--interactiveध्वज (flag) वैकल्पिक है। यदि आप एक AI एजेंट हैं तोintlayer-cli initका उपयोग करें।यह कमांड आपके एनवायरनमेंट को डिटेक्ट करेगी और आवश्यक पैकेज इंस्टॉल करेगी। उदाहरण के लिए:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
intlayer
intlayer
मुख्य पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, सामग्री घोषणा, ट्रांसपाइलेशन, और CLI कमांड्स के लिए अंतरराष्ट्रीयकरण उपकरण प्रदान करता है।react-intlayer
वह पैकेज जो Intlayer को React एप्लिकेशन के साथ एकीकृत करता है। यह React अंतरराष्ट्रीयकरण के लिए संदर्भ प्रदाता और हुक्स प्रदान करता है।vite-intlayer
इसमें Vite प्लगइन शामिल है जो Intlayer को Vite बंडलर के साथ एकीकृत करता है, साथ ही उपयोगकर्ता की पसंदीदा भाषा का पता लगाने, कुकीज़ प्रबंधित करने, और URL पुनर्निर्देशन को संभालने के लिए मिडलवेयर भी शामिल है।
अपने प्रोजेक्ट का कॉन्फ़िगरेशन
फ़ाइल-सिस्टम आधारित रूट्स के साथ React Router v7 एप्लिकेशन में Intlayer सेटअप करने के लिए चरण-दर-चरण मार्गदर्शिका
See Application Template on GitHub.
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फ़ाइल बनाएं:
कोड को क्लिपबोर्ड पर कॉपी करें
import { type IntlayerConfig, Locales } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
defaultLocale: Locales.ENGLISH,
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
},
};
export default config;
इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URL, मिडलवेयर पुनर्निर्देशन, कुकी नाम, आपकी सामग्री घोषणाओं का स्थान और एक्सटेंशन, कंसोल में Intlayer लॉग को अक्षम करना, और भी बहुत कुछ सेट कर सकते हैं। उपलब्ध सभी पैरामीटर की पूरी सूची के लिए, कॉन्फ़िगरेशन दस्तावेज़ देखें।
अपने Vite कॉन्फ़िगरेशन में Intlayer को एकीकृत करें
अपने कॉन्फ़िगरेशन में intlayer प्लगइन जोड़ें:
vite.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
intlayer()Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह सामग्री घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में उनकी निगरानी करता है। यह Vite एप्लिकेशन के भीतर Intlayer पर्यावरण चर को परिभाषित करता है। इसके अतिरिक्त, यह प्रदर्शन को अनुकूलित करने के लिए उपनाम प्रदान करता है।React Router v7 रूट्स कॉन्फ़िगर करें
अपने रूटिंग कॉन्फ़िगरेशन को स्थानीय-जानकारी वाले रूट्स के साथ सेट करें:
app/routes.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
लेआउट कंपोनेंट बनाएं
अपने रूट लेआउट और स्थानीय-विशिष्ट लेआउट सेट करें:
रूट लेआउट
app/root.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
अपनी सामग्री घोषित करें
अपनी अनुवादों को संग्रहीत करने के लिए अपनी सामग्री घोषणाएँ बनाएं और प्रबंधित करें:
app/routes/[lang]/page.content.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
आपकी सामग्री घोषणाएँ आपकी एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक कि वे
contentDirनिर्देशिका (डिफ़ॉल्ट रूप से,./app) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हों (डिफ़ॉल्ट रूप से,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml})।अधिक विवरण के लिए, सामग्री घोषणा प्रलेखन देखें।
स्थानीय-जानकारी वाले घटक बनाएँ
स्थानीय-जानकारी वाले नेविगेशन के लिए
LocalizedLinkघटक बनाएँ:app/components/localized-link.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
यदि आप स्थानीयकृत मार्गों पर नेविगेट करना चाहते हैं, तो आप
useLocalizedNavigateहुक का उपयोग कर सकते हैं:app/hooks/useLocalizedNavigate.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
अपने पृष्ठों में Intlayer का उपयोग करें
अपने एप्लिकेशन में अपने कंटेंट डिक्शनरीज़ तक पहुँचें:
स्थानीयकृत होम पेज
app/routes/page.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
useIntlayerहुक के बारे में अधिक जानने के लिए, डॉक्यूमेंटेशन देखें।यदि आपका ऐप पहले से मौजूद है, तो आप हजारों घटकों को एक सेकंड में बदलने के लिए Intlayer कंपाइलर को एक्सट्रैक्ट कमांड के साथ उपयोग कर सकते हैं।
एक लोकल स्विचर कंपोनेंट बनाएं
उपयोगकर्ताओं को भाषाएँ बदलने की अनुमति देने के लिए एक कॉम्पोनेंट बनाएं:
app/components/locale-switcher.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
useLocaleहुक के बारे में अधिक जानने के लिए, कृपया दस्तावेज़ देखें।HTML एट्रिब्यूट्स प्रबंधन जोड़ें
HTML lang और dir एट्रिब्यूट्स को प्रबंधित करने के लिए एक हुक बनाएं:
app/hooks/useI18nHTMLAttributes.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
फिर इसे अपने रूट कॉम्पोनेंट में उपयोग करें:
app/routes/layout.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
Middleware जोड़ें
आप अपने एप्लिकेशन में server-side routing जोड़ने के लिए
intlayerProxyका उपयोग भी कर सकते हैं। यह plugin URL के आधार पर current locale को automatically detect करेगा और appropriate locale cookie सेट करेगा। यदि कोई locale निर्दिष्ट नहीं है, तो plugin उपयोगकर्ता की browser language preferences के आधार पर सबसे उपयुक्त locale निर्धारित करेगा। यदि कोई locale detect नहीं होता है, तो यह default locale पर redirect कर देगा।ध्यान दें कि उत्पादन में
intlayerProxyका उपयोग करने के लिए, आपकोvite-intlayerपैकेज कोdevDependenciesसेdependenciesमें स्विच करना होगा।Intlayer v9 के बाद से,
intlayerProxy()सीधेintlayer()plugin में bundled है औरrouting.enableProxyoption के माध्यम से डिफ़ॉल्ट रूप से सक्षम है (trueडिफ़ॉल्ट है)। इसे नीचे दिखाए गए अनुसार अलग से पंजीकृत करना अब वैकल्पिक है — इसे backward compatibility के लिए और उन setups के लिए रखा गया है जिन्हें plugin order को नियंत्रित करने की आवश्यकता है। opt out करने के लिएrouting.enableProxy: falseसेट करें। v9 release notes देखें।vite.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
अपने घटकों की सामग्री निकालें
वैकल्पिकयदि आपके पास मौजूदा कोडबेस है, तो हजारों फ़ाइलों को बदलना समय लेने वाला हो सकता है।
इस प्रक्रिया को आसान बनाने के लिए, Intlayer आपके घटकों को बदलने और सामग्री निकालने के लिए एक कंपाइलर / एक्सट्रैक्टर का प्रस्ताव करता है।
इसे सेट करने के लिए, आप अपनी
intlayer.config.tsफ़ाइल में एकcompilerअनुभाग जोड़ सकते हैं:intlayer.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... आपका शेष कॉन्फ़िगरेशन compiler: { /** * इंगित करता है कि क्या कंपाइलर सक्षम होना चाहिए। */ enabled: true, /** * आउटपुट फ़ाइलों का पथ परिभाषित करता है */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * इंगित करता है कि क्या घटकों को बदलने के बाद सहेजा जाना चाहिए। उस तरह से, कंपाइलर को ऐप बदलने के लिए केवल एक बार चलाया जा सकता है, और फिर इसे हटाया जा सकता है। */ saveComponents: false, /** * शब्दकोश कुंजी उपसर्ग */ dictionaryKeyPrefix: "", }, }; export default config;अपने घटकों को बदलने और सामग्री निकालने के लिए एक्सट्रैक्टर चलाएँ
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
v9 के बाद से,
intlayerCompilerकोintlayerplugin में शामिल किया गया है। इसलिए आपको इसे manually जोड़ने की आवश्यकता नहीं है।intlayerCompiler प्लगइन शामिल करने के लिए अपनी
vite.config.tsअपडेट करें:vite.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
Configure TypeScript
Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
Ensure your TypeScript configuration includes the autogenerated types:
कोड को क्लिपबोर्ड पर कॉपी करें
Git Configuration
It is recommended to ignore the files generated by Intlayer. This allows you to avoid committing them to your Git repository.
To do this, you can add the following instructions to your .gitignore file:
कोड को क्लिपबोर्ड पर कॉपी करें
VS Code Extension
To improve your development experience with Intlayer, you can install the official Intlayer VS Code Extension.
Install from the VS Code Marketplace
This extension provides:
- Autocompletion for translation keys.
- Real-time error detection for missing translations.
- Inline previews of translated content.
- Quick actions to easily create and update translations.
For more details on how to use the extension, refer to the Intlayer VS Code Extension documentation.
Go Further
To go further, you can implement the visual editor or externalize your content using the CMS.
दस्तावेज़ संदर्भ
यह व्यापक मार्गदर्शिका आपको Intlayer को React Router v7 के साथ पूरी तरह से अंतरराष्ट्रीयकृत एप्लिकेशन के लिए एकीकृत करने के लिए आवश्यक सभी जानकारी प्रदान करती है, जिसमें स्थानीय-जानकारी वाले रूटिंग और TypeScript समर्थन शामिल हैं।
