अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "सॉलिड useIntlayer API उपयोग को सीधे प्रॉपर्टी एक्सेस में अपडेट करें"v8.9.04/5/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer के साथ अपना Create React App अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
एप्लेट टेम्पलेट को जाँचें.
इंटलेयर क्या है?
react-i18next या i18next जैसे मुख्य समाधानों की तुलना में, Intlayer एक ऐसा समाधान है जो निम्नलिखित जैसे एकीकृत अनुकूलन के साथ आता है:
इंटलेयर एक अभिनव, ओपन-सोर्स अंतर्राष्ट्रीयकरण (i18n) लाइब्रेरी है जिसे आधुनिक वेब एप्लिकेशन में बहुभाषी समर्थन को सरल बनाने के लिए डिज़ाइन किया गया है।
अपने पेजों में विशाल JSON फ़ाइलों को लोड करने के बजाय, केवल आवश्यक सामग्री लोड करें। Intlayer आपके bundle और page sizes को 50% तक कम करने में मदद करता है।
अपने एप्लिकेशन की content को scope करना बड़े पैमाने पर एप्लिकेशन के लिए रखरखाव को सुविधाजनक बनाता है। आप अपने पूरे content codebase की समीक्षा करने के मानसिक भार के बिना एक एकल feature folder को duplicate या delete कर सकते हैं। इसके अलावा, Intlayer पूरी तरह से typed है ताकि आपकी content की सटीकता सुनिश्चित की जा सके।
कंटेंट को एक साथ रखने से Large Language Models (LLMs) को आवश्यक context कम हो जाता है। Intlayer के साथ एक suite of tools भी आता है, जैसे CLI missing translations को test करने के लिए, LSP, MCP, और agent skills, ताकि AI agents के लिए developer experience (DX) को और भी smooth बनाया जा सके।
अपनी CI/CD पाइपलाइन में अपनी पसंद के LLM का उपयोग करके अपने AI प्रदाता की लागत पर अनुवाद को स्वचालित करें। Intlayer एक compiler भी प्रदान करता है जो सामग्री निष्कर्षण को स्वचालित करता है, साथ ही एक web platform जो पृष्ठभूमि में अनुवाद करने में सहायता करता है।
इंटलेयर के साथ, आप कर सकते हैं:
बड़ी JSON फ़ाइलों को components से जोड़ने से performance और reactivity की समस्याएं हो सकती हैं। Intlayer आपकी content loading को build time पर optimize करता है।
</Accordion>
- आसानी से अनुवाद प्रबंधित करें घटक स्तर पर घोषणात्मक शब्दकोशों का उपयोग करके।
- मेटाडेटा, रूट्स और सामग्री को गतिशील रूप से स्थानीयकृत करें।
- टाइपस्क्रिप्ट समर्थन सुनिश्चित करें स्वचालित रूप से उत्पन्न प्रकारों के साथ, जो ऑटोकम्प्लीशन और त्रुटि पहचान में सुधार करता है।
- उन्नत सुविधाओं का लाभ उठाएं, जैसे गतिशील लोकेल पहचान और स्विचिंग।
रिएक्ट एप्लिकेशन में इंटलेयर सेट अप करने के लिए चरण-दर-चरण गाइड
निर्भरता स्थापित करें
npm का उपयोग करके आवश्यक पैकेज स्थापित करें:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
--interactiveध्वज (flag) वैकल्पिक है। यदि आप एक AI एजेंट हैं तोintlayer-cli initका उपयोग करें।यह कमांड आपके एनवायरनमेंट को डिटेक्ट करेगी और आवश्यक पैकेज इंस्टॉल करेगी। उदाहरण के लिए:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
intlayer
मुख्य पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, सामग्री घोषणा, ट्रांसपिलेशन, और CLI कमांड्स के लिए अंतर्राष्ट्रीयकरण उपकरण प्रदान करता है।
react-intlayer
पैकेज जो इंटलेयर को रिएक्ट एप्लिकेशन के साथ एकीकृत करता है। यह रिएक्ट अंतर्राष्ट्रीयकरण के लिए संदर्भ प्रदाता और हुक प्रदान करता है।
react-scripts-intlayer
react-scripts-intlayerकमांड्स और प्लगइन्स को इंटलेयर के साथ क्रिएट रिएक्ट ऐप आधारित एप्लिकेशन में एकीकृत करता है। ये प्लगइन्स क्राको पर आधारित हैं और वेबपैक बंडलर के लिए अतिरिक्त कॉन्फ़िगरेशन शामिल करते हैं।
अपने प्रोजेक्ट का कॉन्फ़िगरेशन
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फाइल बनाएं:
intlayer.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // आपकी अन्य भाषाएँ ], defaultLocale: Locales.ENGLISH, }, }; export default config;इस कॉन्फ़िगरेशन फाइल के माध्यम से, आप स्थानीयकृत URL, मिडलवेयर रीडायरेक्शन, कुकी नाम, अपनी सामग्री घोषणाओं का स्थान और एक्सटेंशन, कंसोल में इंटलेयर लॉग्स को अक्षम करना, और अधिक सेट कर सकते हैं। उपलब्ध पैरामीटरों की पूरी सूची के लिए कॉन्फ़िगरेशन दस्तावेज़ देखें।
अपने CRA कॉन्फ़िगरेशन में इंटलेयर को एकीकृत करें
अपने स्क्रिप्ट्स को react-intlayer का उपयोग करने के लिए बदलें
package.jsonकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
react-scripts-intlayerस्क्रिप्ट्स CRACO पर आधारित हैं। आप इंटलेयर क्राको प्लगइन पर आधारित अपना सेटअप भी लागू कर सकते हैं। यहाँ उदाहरण देखें।अपनी सामग्री घोषित करें
अनुवादों को संग्रहीत करने के लिए अपनी सामग्री घोषणाओं को बनाएं और प्रबंधित करें:
src/app.content.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { t, type Dictionary } from "intlayer"; import React, { type ReactNode } from "react"; const appContent = { key: "app", content: { getStarted: t<ReactNode>({ hi: ( <> <code>src/App.tsx</code> संपादित करें और पुनः लोड करने के लिए सहेजें </> ), en: ( <> Edit <code>src/App.tsx</code> and save to reload </> ), fr: ( <> Éditez <code>src/App.tsx</code> et enregistrez pour recharger </> ), es: ( <> Edita <code>src/App.tsx</code> y guarda para recargar </> ), }), reactLink: { href: "https://reactjs.org", content: t({ hi: "रिएक्ट सीखें", en: "Learn React", fr: "Apprendre React", es: "Aprender React", }), }, }, } satisfies Dictionary; export default appContent;आपकी सामग्री घोषणाएँ आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक वे
contentDirनिर्देशिका (डिफ़ॉल्ट रूप से,./src) में शामिल हैं। और सामग्री घोषणा फाइल एक्सटेंशन से मेल खाती हैं (डिफ़ॉल्ट रूप से,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml})।अधिक विवरण के लिए सामग्री घोषणा दस्तावेज़ देखें।
यदि आपकी सामग्री फाइल में TSX कोड शामिल है, तो आपको अपनी सामग्री फाइल में
import React from "react";आयात करने पर विचार करना चाहिए।अपने कोड में इंटलेयर का उपयोग करें
अपने एप्लिकेशन में अपनी सामग्री शब्दकोशों का उपयोग करें:
src/App.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import logo from "./logo.svg"; import "./App.css"; import type { FC } from "react"; import { IntlayerProvider, useIntlayer } from "react-intlayer"; const AppContent: FC = () => { const content = useIntlayer("app"); return ( <div className="App"> <img src={logo} className="App-logo" alt="logo" /> {content.getStarted} <a className="App-link" href={content.reactLink.href.value} target="_blank" rel="noopener noreferrer" > {content.reactLink.content} </a> </div> ); }; const App: FC = () => ( <IntlayerProvider> <AppContent /> </IntlayerProvider> ); export default App;नोट: यदि आप अपने कंटेंट को
stringएट्रिब्यूट जैसेalt,title,href,aria-label, आदि में उपयोग करना चाहते हैं, तो आपको फ़ंक्शन के वैल्यू को कॉल करना होगा, जैसे:htmlकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
useIntlayerहुक के बारे में अधिक जानने के लिए, डॉक्यूमेंटेशन देखें।अपनी सामग्री की भाषा बदलें
वैकल्पिकअपनी सामग्री की भाषा बदलने के लिए, आप
useLocaleहुक द्वारा प्रदान किए गएsetLocaleफ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन आपको एप्लिकेशन की लोकेल सेट करने और सामग्री को अपडेट करने की अनुमति देता है।src/components/LocaleSwitcher.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
// आवश्यक मॉड्यूल आयात करें import { Locales } from "intlayer"; import { useLocale } from "react-intlayer"; const LocaleSwitcher = () => { const { setLocale } = useLocale(); return ( <button onClick={() => setLocale(Locales.English)}> भाषा को अंग्रेज़ी में बदलें </button> ); };useLocaleहुक के बारे में अधिक जानने के लिए, डॉक्यूमेंटेशन देखें।अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ें
वैकल्पिकइस चरण का उद्देश्य प्रत्येक भाषा के लिए अद्वितीय रूट बनाना है। यह SEO और SEO-अनुकूल URL के लिए उपयोगी है। उदाहरण:
plaintextकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
डिफ़ॉल्ट रूप से, डिफ़ॉल्ट लोकेल के लिए रूट्स प्रीफिक्स नहीं होते हैं। यदि आप डिफ़ॉल्ट लोकेल को प्रीफिक्स करना चाहते हैं, तो आप अपनी कॉन्फ़िगरेशन में
middleware.prefixDefaultविकल्प कोtrueपर सेट कर सकते हैं। अधिक जानकारी के लिए कॉन्फ़िगरेशन डॉक्यूमेंटेशन देखें।अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ने के लिए, आप एक
LocaleRouterकंपोनेंट बना सकते हैं जो आपके एप्लिकेशन के रूट्स को रैप करता है और लोकेल-आधारित रूटिंग को संभालता है। यहां React Router का उपयोग करते हुए एक उदाहरण है:फिर, आप अपने एप्लिकेशन में
LocaleRouterघटक का उपयोग कर सकते हैं:src/App.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { LocaleRouter } from "./components/LocaleRouter"; import type { FC } from "react"; // ... आपका AppContent घटक const App: FC = () => ( <LocaleRouter> <AppContent /> </LocaleRouter> );जब स्थानीय बदलता है तो URL बदलें
वैकल्पिकलोकेल परिवर्तन के समय URL को बदलने के लिए, आप
useLocalehook द्वारा प्रदान किए गएonLocaleChangeprop का उपयोग कर सकते हैं। समानांतर में, आपreact-router-domसेuseLocationऔरuseNavigatehooks का उपयोग करके URL पाथ को अपडेट कर सकते हैं।src/components/LocaleSwitcher.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { useLocation, useNavigate } from "react-router-dom"; import { Locales, getHTMLTextDir, getLocaleName, getLocalizedUrl, } from "intlayer"; import { useLocale } from "react-intlayer"; import { type FC } from "react"; const LocaleSwitcher: FC = () => { const { pathname, search } = useLocation(); // वर्तमान URL पथ प्राप्त करें। उदाहरण: /fr/about?foo=bar const navigate = useNavigate(); const { locale, availableLocales, setLocale } = useLocale({ onLocaleChange: (locale) => { // अपडेटेड स्थानीय भाषा के साथ URL बनाएं // उदाहरण: /es/about?foo=bar const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale); // URL पथ को अपडेट करें navigate(pathWithLocale); }, }); return ( <div> <button popoverTarget="localePopover">{getLocaleName(locale)}</button> <div id="localePopover" popover="auto"> {availableLocales.map((localeItem) => ( <a href={getLocalizedUrl(location.pathname, localeItem)} hrefLang={localeItem} aria-current={locale === localeItem ? "page" : undefined} onClick={(e) => { e.preventDefault(); setLocale(localeItem); }} key={localeItem} > <span> {/* स्थानीय भाषा - जैसे FR */} {localeItem} </span> <span> {/* अपनी स्थानीय भाषा में भाषा - जैसे Français */} {getLocaleName(localeItem, locale)} </span> <span dir={getHTMLTextDir(localeItem)} lang={localeItem}> {/* वर्तमान स्थानीय भाषा में भाषा - जैसे Francés जब वर्तमान स्थानीय भाषा Locales.SPANISH हो */} {getLocaleName(localeItem)} </span> <span dir="ltr" lang={Locales.ENGLISH}> {/* अंग्रेजी में भाषा - जैसे French */} {getLocaleName(localeItem, Locales.ENGLISH)} </span> </a> ))} </div> </div> ); };दस्तावेज़ संदर्भ:
HTML भाषा और दिशा विशेषताओं को स्विच करें
वैकल्पिकजब आपका एप्लिकेशन कई भाषाओं का समर्थन करता है, तो
<html>टैग कीlangऔरdirविशेषताओं को वर्तमान स्थानीय भाषा के अनुसार अपडेट करना महत्वपूर्ण है। ऐसा करने से सुनिश्चित होता है:- सुलभता: स्क्रीन रीडर और सहायक तकनीकें सही
langविशेषता पर निर्भर करती हैं ताकि सामग्री को सही ढंग से उच्चारित और व्याख्या किया जा सके। - पाठ रेंडरिंग:
dir(दिशा) विशेषता यह सुनिश्चित करती है कि पाठ सही क्रम में प्रस्तुत किया गया है (जैसे, अंग्रेजी के लिए बाएं से दाएं, अरबी या हिब्रू के लिए दाएं से बाएं), जो पठनीयता के लिए आवश्यक है।
जब भी लोकेल बदलता है, इन एट्रिब्यूट्स को डायनामिक रूप से अपडेट करके, आप सभी समर्थित भाषाओं में उपयोगकर्ताओं के लिए एक सुसंगत और सुलभ अनुभव सुनिश्चित करते हैं।
हुक को लागू करना
HTML एट्रिब्यूट्स को प्रबंधित करने के लिए एक कस्टम हुक बनाएं। यह हुक लोकेल परिवर्तनों को सुनता है और एट्रिब्यूट्स को तदनुसार अपडेट करता है:
src/hooks/useI18nHTMLAttributes.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { useEffect } from "react"; import { useLocale } from "react-intlayer"; import { getHTMLTextDir } from "intlayer"; /** * वर्तमान लोकेल के आधार पर HTML <html> तत्व के `lang` और `dir` एट्रिब्यूट्स को अपडेट करता है। * - `lang`: ब्राउज़रों और सर्च इंजनों को पेज की भाषा की जानकारी देता है। * - `dir`: सही पढ़ने के क्रम को सुनिश्चित करता है (जैसे, अंग्रेजी के लिए 'ltr', अरबी के लिए 'rtl')। * * यह डायनामिक अपडेट सही टेक्स्ट रेंडरिंग, सुलभता और एसईओ के लिए आवश्यक है। */ export const useI18nHTMLAttributes = () => { const { locale } = useLocale(); useEffect(() => { // भाषा एट्रिब्यूट को वर्तमान लोकेल में अपडेट करें। document.documentElement.lang = locale; // वर्तमान लोकेल के आधार पर टेक्स्ट दिशा सेट करें। document.documentElement.dir = getHTMLTextDir(locale); }, [locale]); };अपने एप्लिकेशन में हुक का उपयोग करना
मुख्य घटक में हुक को एकीकृत करें ताकि लोकेल बदलने पर HTML एट्रिब्यूट्स अपडेट हो जाएं:
src/App.tsxकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import type { FC } from "react"; import { IntlayerProvider, useIntlayer } from "react-intlayer"; import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes"; import "./App.css"; const AppContent: FC = () => { // लोकेल के आधार पर <html> टैग के lang और dir एट्रिब्यूट्स को अपडेट करने के लिए हुक लागू करें। useI18nHTMLAttributes(); // ... आपके घटक का बाकी हिस्सा }; const App: FC = () => ( <IntlayerProvider> <AppContent /> </IntlayerProvider> ); export default App;इन परिवर्तनों को लागू करके, आपका एप्लिकेशन:
- सुनिश्चित करेगा कि भाषा (
lang) एट्रिब्यूट वर्तमान लोकेल को सही ढंग से प्रतिबिंबित करता है, जो एसईओ और ब्राउज़र व्यवहार के लिए महत्वपूर्ण है। - टेक्स्ट दिशा (
dir) को लोकेल के अनुसार समायोजित करेगा, जिससे विभिन्न पढ़ने के क्रम वाली भाषाओं के लिए पठनीयता और उपयोगिता बढ़ेगी। - एक अधिक सुलभ अनुभव प्रदान करेगा, क्योंकि सहायक तकनीकें इन एट्रिब्यूट्स पर निर्भर करती हैं।
- सुलभता: स्क्रीन रीडर और सहायक तकनीकें सही
टाइपस्क्रिप्ट कॉन्फ़िगरेशन
Intlayer टाइपस्क्रिप्ट का उपयोग मॉड्यूल ऑगमेंटेशन के साथ करता है ताकि आपका कोडबेस मजबूत हो सके।


सुनिश्चित करें कि आपकी टाइपस्क्रिप्ट कॉन्फ़िगरेशन में ऑटो-जनरेटेड टाइप्स शामिल हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
गिट कॉन्फ़िगरेशन
यह अनुशंसा की जाती है कि Intlayer द्वारा जनरेट की गई फाइलों को अनदेखा करें। यह आपको उन्हें अपने गिट रिपॉजिटरी में कमिट करने से बचने की अनुमति देता है।
इसके लिए, आप अपनी .gitignore फाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
VS Code Extension
Intlayer के साथ अपने development अनुभव को बेहतर बनाने के लिए, आप आधिकारिक Intlayer VS Code Extension को install कर सकते हैं।
VS Code Marketplace से Install करें
यह extension निम्नलिखित प्रदान करता है:
- Translation keys के लिए Autocompletion।
- Missing translations के लिए Real-time error detection।
- Translated content के Inline previews।
- Translations को आसानी से create और update करने के लिए Quick actions।
Extension का उपयोग कैसे करें, इसके बारे में अधिक जानकारी के लिए, Intlayer VS Code Extension documentation को देखें।
आगे बढ़ें
आगे बढ़ने के लिए, आप विजुअल एडिटर को लागू कर सकते हैं या सीएमएस का उपयोग करके अपनी सामग्री को बाहरी रूप से प्रबंधित कर सकते हैं।
