घरसैंडबॉक्सशोकेसएप्पडॉकब्लॉग
    • Englishअंग्रेज़ी
      EN
    • русскийरूसी
      RU
    • 日本語जापानी
      JA
    • françaisफ़्रेंच
      FR
    • 한국어कोरियाई
      KO
    • 中文चीनी
      ZH
    • españolस्पेनिश
      ES
    • Deutschजर्मन
      DE
    • العربيةअरबी
      AR
    • italianoइतालवी
      IT
    • British Englishब्रिटिश अंग्रेज़ी
      EN-GB
    • portuguêsपुर्तगाली
      PT
    • हिन्दीहिन्दी
      HI
    • Türkçeतुर्की
      TR
    • polskiपोलिश
      PL
    • Indonesiaइंडोनेशियाई
      ID
    • Tiếng Việtवियतनामी
      VI
    • українськаयूक्रेनियाई
      UK
    /
    फ्रेमवर्क द्वारा डॉक्स फ़िल्टर करें
    Alt+←
    Intlayer का क्यों लाभ
    शुरू करें
    अवधारणा
    • Intlayer कैसे काम करता है
    • कॉन्फ़िगरेशन
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • विज़ुअल एडिटर
    • CMS
    • CI/CD एकीकरण
    • अनुवादबहुवचनगणनाशर्तलिंगसम्मिलनफ़ाइलनेस्टिंगMarkdownHTMLफ़ंक्शन फेचिंग
    • प्रति लोकेल फ़ाइल
    • कंपाइलर
    • स्वतः भरण
    • परीक्षण
    • बंडल ऑप्टिमाइज़ेशन
    पर्यावरण
    • Next.js 14 और ऐप राउटर
      Next.js 15
      Next.js बिना लोकेल URL
      Next.js और पेज राउटर
      कंपाइलर
    • Tanstack Start Solid
    • Astro और React
      Astro और Svelte
      Astro और Vue
      Astro और Solid
      Astro और Preact
      Astro और Lit
      Astro और Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt और Vue
    • Vite और Solid
    • SvelteKit
    • Vite और Preact
    • Vite और Vanilla JS
    • Vite और Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native और Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx और React
    Plugins
    • JSON
    • gettext (.po)
    VS Code एक्सटेंशन
    एजेंट
    • इंटलेयर MCP सर्वर
    • एजेंट कौशल
    रिलीज
    • v8
    • v7
    • v6
    बेंचमार्क
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    ब्लॉग
    प्रश्न करें
    1. Documentation
    2. पर्यावरण
    3. Lynx and react
    Creation:2025-03-09Last update:2026-05-06
    GitHub पर एप्लिकेशन टेम्पलेट देखें

    इस पृष्ठ के लिए एक एप्लिकेशन टेम्पलेट उपलब्ध है।

    इस दस्तावेज़ को अपने पसंदीदा AI एसिस्टेंट के साथ संदर्भित करें
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके

    संस्करण इतिहास

    1. "सॉलिड useIntlayer API उपयोग को सीधे प्रॉपर्टी एक्सेस में अपडेट करें"
      v8.9.04/5/2026
    2. "init कमांड जोड़ें"
      v7.5.930/12/2025
    3. "प्रारंभिक इतिहास"
      v5.5.1029/6/2025

    इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।

    अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखें
    इस दस्तावेज़ को संपादित करें

    अगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।

    दस्तावेज़ के लिए GitHub लिंक
    Copy

    दस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें

    Intlayer के साथ अपना Lynx and React mobile app अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)

    एप्लीकेशन टेम्पलेट पर देखें।

    इंटलेयर क्या है?

    इंटलेयर एक नवोन्मेषी, ओपन-सोर्स अंतर्राष्ट्रीयकरण (i18n) लाइब्रेरी है जो आधुनिक अनुप्रयोगों में बहुभाषीय समर्थन को सरल बनाती है। यह कई जावास्क्रिप्ट/टाइपस्क्रिप्ट वातावरणों में काम करती है, लिनक्स सहित (react-intlayer पैकेज के माध्यम से)।

    इंटलेयर के साथ, आप कर सकते हैं:

    • आसानी से अनुवाद प्रबंधित करें घटक स्तर पर घोषणात्मक शब्दकोशों का उपयोग करके।
    • टाइपस्क्रिप्ट समर्थन सुनिश्चित करें स्वचालित रूप से उत्पन्न प्रकारों के साथ।
    • सामग्री को गतिशील रूप से स्थानीयकृत करें, जिसमें यूआई स्ट्रिंग्स शामिल हैं (और वेब के लिए रिएक्ट में, यह HTML मेटाडेटा आदि को भी स्थानीयकृत कर सकता है)।
    • उन्नत सुविधाओं का लाभ उठाएं, जैसे गतिशील लोकेल पहचान और स्विचिंग।

    चरण 1: निर्भरताएँ स्थापित करें

    अपने लिनक्स प्रोजेक्ट से, निम्नलिखित पैकेज स्थापित करें:

    bash
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    npm install intlayer react-intlayer lynx-intlayernpx intlayer init

    पैकेज

    • intlayer
      कॉन्फ़िगरेशन, शब्दकोश सामग्री, प्रकार जनरेशन, और CLI कमांड्स के लिए मुख्य i18n टूलकिट।

    • react-intlayer
      रिएक्ट एकीकरण जो संदर्भ प्रदाताओं और रिएक्ट हुक प्रदान करता है जिन्हें आप लिनक्स में लोकेल प्राप्त करने और स्विच करने के लिए उपयोग करेंगे।

    • lynx-intlayer
      लिनक्स एकीकरण जो इंटलेयर को लिनक्स बंडलर के साथ एकीकृत करने के लिए प्लगइन प्रदान करता है।


    चरण 2: एक इंटलेयर कॉन्फ़िग बनाएं

    अपने प्रोजेक्ट रूट (या कहीं भी सुविधाजनक) में, एक इंटलेयर कॉन्फ़िग फ़ाइल बनाएं। यह इस प्रकार दिख सकती है:

    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;

    इस कॉन्फ़िग में, आप कर सकते हैं:

    • अपने समर्थित लोकेल्स की सूची कॉन्फ़िगर करें।
    • एक डिफ़ॉल्ट लोकेल सेट करें।
    • बाद में, आप अधिक उन्नत विकल्प जोड़ सकते हैं (जैसे, लॉग्स, कस्टम सामग्री निर्देशिकाएँ, आदि)।
    • अधिक जानकारी के लिए इंटलेयर कॉन्फ़िगरेशन डॉक्स देखें।

    चरण 3: लिनक्स बंडलर में इंटलेयर प्लगइन जोड़ें

    लिनक्स के साथ इंटलेयर का उपयोग करने के लिए, आपको अपने lynx.config.ts फ़ाइल में प्लगइन जोड़ने की आवश्यकता है:

    lynx.config.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { defineConfig } from "@lynx-js/rspeedy";import { pluginIntlayerLynx } from "lynx-intlayer/plugin";export default defineConfig({  plugins: [    // ... अन्य प्लगइन्स    pluginIntlayerLynx(),  ],});

    चरण 4: इंटलेयर प्रदाता जोड़ें

    अपने एप्लिकेशन में उपयोगकर्ता भाषा को सिंक्रनाइज़ रखने के लिए, आपको अपने रूट घटक को react-intlayer से IntlayerProvider घटक के साथ रैप करना होगा।

    साथ ही, आपको यह सुनिश्चित करने के लिए intlayerPolyfill फ़ंक्शन फ़ाइल जोड़नी होगी कि इंटलेयर सही ढंग से काम कर सके।

    src/index.tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { root } from "@lynx-js/react";import { App } from "./App.js";import { IntlayerProvider } from "react-intlayer";import { intlayerPolyfill } from "lynx-intlayer";// इंटलेयर पॉलिफिल लागू करेंintlayerPolyfill();root.render(  <IntlayerProvider>    <App />  </IntlayerProvider>);if (import.meta.webpackHot) {  import.meta.webpackHot.accept();}

    चरण 5: अपनी सामग्री घोषित करें

    अपने प्रोजेक्ट में कहीं भी सामग्री घोषणा फ़ाइलें बनाएं (आमतौर पर src/ के भीतर), किसी भी एक्सटेंशन प्रारूप का उपयोग करके जिसे इंटलेयर समर्थन करता है:

    • .content.json
    • .content.ts
    • .content.tsx
    • .content.js
    • .content.jsx
    • .content.mjs
    • .content.mjx
    • .content.cjs
    • .content.cjx
    • आदि।

    उदाहरण:

    src/app.content.ts
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { t, type Dictionary } from "intlayer";
    
    const appContent = {
      key: "app",
      content: {
        title: "React",
        subtitle: t({
          hi: "लिनक्स पर",
          en: "on Lynx",
          fr: "sur Lynx",
          es: "en Lynx",
        }),
        description: t({
          hi: "लोगो पर टैप करें और मज़े करें!",
          en: "Tap the logo and have fun!",
          fr: "Appuyez sur le logo et amusez-vous!",
          es: "¡Toca el logo y diviértete!",
        }),
        hint: [
          t({
            hi: "संपादित करें",
            en: "Edit",
            fr: "Modifier",
            es: "Editar",
          }),
          " src/App.tsx ",
          t({
            hi: "अपडेट देखने के लिए!",
            en: "to see updates!",
            fr: "pour voir les mises à jour!",
            es: "para ver actualizaciones!",
          }),
        ],
      },
    } satisfies Dictionary;
    
    export default appContent;
    सामग्री घोषणाओं पर विवरण के लिए, Intlayer की सामग्री दस्तावेज़ देखें।

    चरण 4: अपने घटकों में Intlayer का उपयोग करें

    स्थानीयकृत सामग्री प्राप्त करने के लिए बाल घटकों में useIntlayer हुक का उपयोग करें।

    src/App.tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { useCallback, useState } from "@lynx-js/react";import { useIntlayer } from "react-intlayer";import "./App.css";import arrow from "./assets/arrow.png";import lynxLogo from "./assets/lynx-logo.png";import reactLynxLogo from "./assets/react-logo.png";import { LocaleSwitcher } from "./components/LocaleSwitcher.jsx";export const App = () => {  const [alterLogo, setAlterLogo] = useState(false);  const { title, subtitle, description, hint } = useIntlayer("app");  const onTap = useCallback(() => {    // केवल पृष्ठभूमि    setAlterLogo(!alterLogo);  }, [alterLogo]);  return (    <view>      <view className="Background" />      <view className="App">        <view className="Banner">          <view className="Logo" bindtap={onTap}>            {alterLogo ? (              <image src={reactLynxLogo} className="Logo--react" />            ) : (              <image src={lynxLogo} className="Logo--lynx" />            )}          </view>          <text className="Title">{title}</text>          <text className="Subtitle">{subtitle}</text>        </view>        <view className="Content">          <image src={arrow} className="Arrow" />          <text className="Description">{description}</text>          <text className="Hint">            {hint[0]}            <text style={{ fontStyle: "italic" }}>{hint[1]}</text>            {hint[2]}          </text>        </view>        <LocaleSwitcher />        <view style={{ flex: 1 }}></view>      </view>    </view>  );};
    जब स्ट्रिंग-आधारित प्रॉप्स (जैसे, बटन का title या Text घटक का children) में content.someKey का उपयोग करते हैं, वास्तविक स्ट्रिंग प्राप्त करने के लिए content.someKey.value कॉल करें।

    (वैकल्पिक) चरण 5: ऐप का स्थानीय सेटिंग बदलें

    अपने घटकों से स्थानीय सेटिंग बदलने के लिए, आप useLocale हुक के setLocale मेथड का उपयोग कर सकते हैं:

    src/components/LocaleSwitcher.tsx
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    import { type FC } from "react";import { getLocaleName } from "intlayer";import { useLocale } from "react-intlayer";export const LocaleSwitcher: FC = () => {  const { setLocale, availableLocales, locale } = useLocale();  return (    <view      style={{        display: "flex",        flexDirection: "row",        justifyContent: "center",        alignItems: "center",        gap: 10,      }}    >      {availableLocales.map((localeEl) => (        <text          key={localeEl}          style={{            color: localeEl === locale ? "#fff" : "#888",            fontSize: "12px",          }}          bindtap={() => setLocale(localeEl)}        >          {getLocaleName(localeEl)}        </text>      ))}    </view>  );};

    यह Intlayer सामग्री का उपयोग करने वाले सभी घटकों का पुनः रेंडर ट्रिगर करता है, जो अब नई स्थानीय सेटिंग के लिए अनुवाद दिखा रहे हैं।

    अधिक विवरण के लिए useLocale दस्तावेज़ देखें।

    TypeScript कॉन्फ़िगर करें (यदि आप TypeScript का उपयोग करते हैं)

    Intlayer टाइप परिभाषाएँ एक छिपे हुए फ़ोल्डर (डिफ़ॉल्ट रूप से .intlayer) में उत्पन्न करता है ताकि ऑटो-कम्प्लीशन में सुधार हो और अनुवाद त्रुटियों को पकड़ा जा सके:

    json5
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    // tsconfig.json{  // ... आपका मौजूदा TS कॉन्फ़िग  "include": [    "src", // आपका स्रोत कोड    ".intlayer/types/**/*.ts", // <-- सुनिश्चित करें कि ऑटो-जनरेटेड टाइप्स शामिल हैं    // ... जो कुछ भी आप पहले से शामिल करते हैं  ],}

    यह निम्नलिखित सुविधाओं को सक्षम करता है:

    • ऑटो-कम्प्लीशन आपके शब्दकोश कुंजियों के लिए।
    • टाइप चेकिंग जो चेतावनी देता है यदि आप एक गैर-मौजूद कुंजी तक पहुँचते हैं या प्रकार का मिलान नहीं होता है।

    Git कॉन्फ़िगरेशन

    Intlayer द्वारा उत्पन्न ऑटो-जनरेटेड फ़ाइलों को कमिट करने से बचने के लिए, अपने .gitignore में निम्नलिखित जोड़ें:

    bash
    कोड कॉपी करें

    कोड को क्लिपबोर्ड पर कॉपी करें

    #  Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करें.intlayer

    VS Code एक्सटेंशन

    Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक Intlayer VS Code एक्सटेंशन इंस्टॉल कर सकते हैं।

    VS Code मार्केटप्लेस से इंस्टॉल करें

    यह एक्सटेंशन प्रदान करता है:

    • अनुवाद कुंजियों के लिए ऑटो-कम्प्लीशन।
    • लापता अनुवादों के लिए रियल-टाइम त्रुटि पहचान।
    • अनुवादित सामग्री के इनलाइन पूर्वावलोकन।
    • अनुवादों को आसानी से बनाने और अपडेट करने के लिए त्वरित क्रियाएं। Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक Intlayer VS Code एक्सटेंशन इंस्टॉल कर सकते हैं।

    VS Code मार्केटप्लेस से इंस्टॉल करें

    यह एक्सटेंशन प्रदान करता है:

    • अनुवाद कुंजियों के लिए ऑटोकम्प्लीशन।
    • लापता अनुवादों के लिए रीयल-टाइम त्रुटि पहचान।
    • अनुवादित सामग्री के इनलाइन पूर्वावलोकन।
    • अनुवादों को आसानी से बनाने और अपडेट करने के लिए त्वरित क्रियाएं।

    एक्सटेंशन का उपयोग कैसे करें, इसके लिए देखें Intlayer VS Code एक्सटेंशन दस्तावेज़।


    आगे बढ़ें

    • विज़ुअल एडिटर: अनुवादों को विज़ुअली प्रबंधित करने के लिए Intlayer विज़ुअल एडिटर का उपयोग करें।
    • CMS एकीकरण: आप अपने शब्दकोश सामग्री को CMS से बाहरीकरण और प्राप्त भी कर सकते हैं।
    • CLI कमांड्स: Intlayer CLI का अन्वेषण करें जैसे अनुवाद निकालना या लापता कुंजियों की जाँच करना।

    Adonis
    JSON
    Alt+→

    इस पृष्ठ में

      चर्चाएं गुमनाम हैं और सामान्य मुद्दों को संबोधित करने के लिए नियमित रूप से समीक्षा की जाती हैं। फीचर आइडिया, डॉक्यूमेंटेशन पर फीडबैक, या Intlayer से संबंधित कुछ भी साझा करने में संकोच न करें, हम इस इनपुट का उपयोग अपने रोडमैप को आकार देने और उत्पाद को बेहतर बनाने के लिए करते हैं।

      npm install intlayer react-intlayer lynx-intlayernpx intlayer init
      import { defineConfig } from "@lynx-js/rspeedy";import { pluginIntlayerLynx } from "lynx-intlayer/plugin";export default defineConfig({  plugins: [    // ... अन्य प्लगइन्स    pluginIntlayerLynx(),  ],});
      import { root } from "@lynx-js/react";import { App } from "./App.js";import { IntlayerProvider } from "react-intlayer";import { intlayerPolyfill } from "lynx-intlayer";// इंटलेयर पॉलिफिल लागू करेंintlayerPolyfill();root.render(  <IntlayerProvider>    <App />  </IntlayerProvider>);if (import.meta.webpackHot) {  import.meta.webpackHot.accept();}
      import { useCallback, useState } from "@lynx-js/react";import { useIntlayer } from "react-intlayer";import "./App.css";import arrow from "./assets/arrow.png";import lynxLogo from "./assets/lynx-logo.png";import reactLynxLogo from "./assets/react-logo.png";import { LocaleSwitcher } from "./components/LocaleSwitcher.jsx";export const App = () => {  const [alterLogo, setAlterLogo] = useState(false);  const { title, subtitle, description, hint } = useIntlayer("app");  const onTap = useCallback(() => {    // केवल पृष्ठभूमि    setAlterLogo(!alterLogo);  }, [alterLogo]);  return (    <view>      <view className="Background" />      <view className="App">        <view className="Banner">          <view className="Logo" bindtap={onTap}>            {alterLogo ? (              <image src={reactLynxLogo} className="Logo--react" />            ) : (              <image src={lynxLogo} className="Logo--lynx" />            )}          </view>          <text className="Title">{title}</text>          <text className="Subtitle">{subtitle}</text>        </view>        <view className="Content">          <image src={arrow} className="Arrow" />          <text className="Description">{description}</text>          <text className="Hint">            {hint[0]}            <text style={{ fontStyle: "italic" }}>{hint[1]}</text>            {hint[2]}          </text>        </view>        <LocaleSwitcher />        <view style={{ flex: 1 }}></view>      </view>    </view>  );};
      import { type FC } from "react";import { getLocaleName } from "intlayer";import { useLocale } from "react-intlayer";export const LocaleSwitcher: FC = () => {  const { setLocale, availableLocales, locale } = useLocale();  return (    <view      style={{        display: "flex",        flexDirection: "row",        justifyContent: "center",        alignItems: "center",        gap: 10,      }}    >      {availableLocales.map((localeEl) => (        <text          key={localeEl}          style={{            color: localeEl === locale ? "#fff" : "#888",            fontSize: "12px",          }}          bindtap={() => setLocale(localeEl)}        >          {getLocaleName(localeEl)}        </text>      ))}    </view>  );};
      // tsconfig.json{  // ... आपका मौजूदा TS कॉन्फ़िग  "include": [    "src", // आपका स्रोत कोड    ".intlayer/types/**/*.ts", // <-- सुनिश्चित करें कि ऑटो-जनरेटेड टाइप्स शामिल हैं    // ... जो कुछ भी आप पहले से शामिल करते हैं  ],}
      #  Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करें.intlayer