अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "प्रत्यक्ष संपत्ति पहुँच के लिए Solid useIntlayer API के उपयोग को अपडेट किया गया"v8.9.04/5/2026
- "स्थिर संस्करण जारी किया गया"v8.0.026/1/2026
- "init कमांड जोड़ा गया"v8.0.030/12/2025
- "प्रारंभिक इतिहास"v5.5.1029/6/2025
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer का उपयोग करके अपनी Angular 22 (Vite) वेबसाइट का अनुवाद करें
विषय-सूची
विकल्पों पर इन्टलेयर क्यों?
ngx-translate या angular-l10n जैसे मुख्य समाधानों की तुलना में, Intlayer एक ऐसा समाधान है जो एकीकृत अनुकूलन के साथ आता है जैसे:
इंटलेयर को घटक-स्तरीय सामग्री स्कोपिंग, आलसी-लोड किए गए अनुवाद, और स्केलिंग अंतर्राष्ट्रीयकरण (i18n) के लिए आवश्यक सभी सुविधाओं की पेशकश करके एंगुलर के साथ पूरी तरह से काम करने के लिए अनुकूलित किया गया है।
अपने पृष्ठों में विशाल JSON फ़ाइलें लोड करने के बजाय, केवल आवश्यक सामग्री लोड करें। इंटलेयर आपके बंडल और पृष्ठ आकार को 50% तक कम करने में मदद करता है।
आपके एप्लिकेशन की सामग्री का दायरा बड़े पैमाने के अनुप्रयोगों के लिए रखरखाव की सुविधा प्रदान करता है। आप अपने संपूर्ण सामग्री कोडबेस की समीक्षा करने के मानसिक बोझ के बिना किसी एक फीचर फ़ोल्डर की नकल कर सकते हैं या उसे हटा सकते हैं। इसके अतिरिक्त, आपकी सामग्री की सटीकता सुनिश्चित करने के लिए Intlayer पूरी तरह से टाइप किया गया है।
सामग्री का सह-स्थानीकरण बड़े भाषा मॉडल (एलएलएम) द्वारा आवश्यक संदर्भ को कम करता है। इंटलेयर टूल के एक सूट के साथ भी आता है, जैसे CLI ताकि लापता अनुवादों का परीक्षण किया जा सके,LSP, MCP, और agent skills, AI एजेंटों के लिए डेवलपर अनुभव (DX) को और भी आसान बनाने के लिए।
अपने एआई प्रदाता की कीमत पर अपनी पसंद के एलएलएम का उपयोग करके अपने सीआई/सीडी पाइपलाइन में अनुवाद करने के लिए स्वचालन का उपयोग करें। इंटलेयर सामग्री निष्कर्षण को स्वचालित करने के लिए एक कंपाइलर के साथ-साथ पृष्ठभूमि में अनुवाद में मदद करने के लिए एक वेब प्लेटफ़ॉर्म भी प्रदान करता है।
बड़े पैमाने पर JSON फ़ाइलों को घटकों से जोड़ने से प्रदर्शन और प्रतिक्रियाशीलता संबंधी समस्याएं हो सकती हैं। इंटलेयर बिल्ड समय पर आपकी सामग्री लोडिंग को अनुकूलित करता है।
सिर्फ एक i18n समाधान से अधिक, Intlayer एक स्व-होस्टेड विज़ुअल एडिटर और एक [पूर्ण] प्रदान करता है सीएमएस](/hi/doc/concept/cms) आपकी बहुभाषी सामग्री को वास्तविक समय में प्रबंधित करने में मदद करता है, जिससे अनुवादकों, कॉपीराइटरों और टीम के अन्य सदस्यों के साथ सहयोग सहज हो जाता है। सामग्री को स्थानीय और/या दूरस्थ रूप से संग्रहीत किया जा सकता है।
Angular एप्लिकेशन में Intlayer सेट करने के लिए चरण-दर-चरण मार्गदर्शिका
GitHub पर एप्लिकेशन टेम्पलेट देखें।
निर्भरताएँ स्थापित करें
npm का उपयोग करके आवश्यक पैकेज स्थापित करें:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
--interactiveध्वज (flag) वैकल्पिक है। यदि आप एक AI एजेंट हैं तोintlayer-cli initका उपयोग करें।यह कमांड आपके एनवायरनमेंट को डिटेक्ट करेगी और आवश्यक पैकेज इंस्टॉल करेगी। उदाहरण के लिए:
bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
intlayer
कोर पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, सामग्री घोषणा, ट्रांसपिलेशन, और CLI कमांड के लिए अंतर्राष्ट्रीयकरण उपकरण प्रदान करता है।
angular-intlayer वह पैकेज जो Intlayer को Angular एप्लिकेशन के साथ एकीकृत करता है। यह Angular अंतर्राष्ट्रीयकरण के लिए संदर्भ प्रदाता (context providers) और हुक प्रदान करता है।
@angular-builders/custom-esbuild Angular CLI के esbuild कॉन्फ़िगरेशन को अनुकूलित करने के लिए आवश्यक है।
अपने प्रोजेक्ट का कॉन्फ़िगरेशन
आर्किटेक्चर
इस आर्किटेक्चर में,
angular-intlayerprovideIntlayer()प्रदान करता है, जोsrc/app/app.config.tsमें पंजीकृत होता है ताकि प्रत्येक कंपोनेंटuseIntlayerसिग्नल के माध्यम से अपनी कंटेंट पढ़ सके। Angular CLI को कस्टम esbuild बिल्डर पर स्विच किया जाता है, औरesbuild.plugins.tsआपकी कंटेंट घोषणाओं को देखने और फिर से बनाने के लिए Intlayer प्लगइन को बिल्ड में पंजीकृत करता है। कंटेंट घोषणाएंsrc/app/में कंपोनेंट्स के साथ रखी जाती हैं।bashकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
कॉन्फ़िगरेशन
अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएँ:
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, मिडलवेयर रीडायरेक्शन, कुकी नाम, अपनी सामग्री घोषणाओं का स्थान और एक्सटेंशन सेट कर सकते हैं, कंसोल में Intlayer लॉग अक्षम कर सकते हैं, और बहुत कुछ कर सकते हैं। उपलब्ध मापदंडों की पूरी सूची के लिए, कॉन्फ़िगरेशन दस्तावेज़ देखें।
अपने Angular कॉन्फ़िगरेशन में Intlayer को एकीकृत करें
Intlayer को Angular CLI के साथ एकीकृत करने के लिए, आपको एक कस्टम बिल्डर का उपयोग करने की आवश्यकता है। यह मार्गदर्शिका मानती है कि आप Vite/esbuild का उपयोग कर रहे हैं (Angular 22 परियोजनाओं के लिए डिफ़ॉल्ट)।
सबसे पहले, कस्टम esbuild बिल्डर का उपयोग करने के लिए अपने
angular.jsonको संशोधित करें।buildऔरserveकॉन्फ़िगरेशन अपडेट करें:angular.jsonकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
सुनिश्चित करें कि आप
angular.jsonमेंyour-app-nameको अपने प्रोजेक्ट के वास्तविक नाम से बदल दें।अगला, अपने प्रोजेक्ट के रूट में एक
esbuild.plugins.tsफ़ाइल बनाएँ:esbuild.plugins.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
intlayerEsbuildPluginफ़ंक्शन Intlayer के साथ esbuild को कॉन्फ़िगर करता है। यह सामग्री घोषणा फ़ाइलों को संभालने के लिए प्लगइन इंजेक्ट करता है और इष्टतम प्रदर्शन के लिए कॉन्फ़िगरेशन सेट करता है।NX उपयोगकर्ता: NX के Angular बिल्डर्स Node के मूल ESM रिज़ॉल्यूशन के माध्यम से प्लगइन फ़ाइलों को लोड करते हैं और तुरंत TypeScript प्लगइन फ़ाइलों को संकलित नहीं करते हैं। इसके बजाय
.mjsफ़ाइल का उपयोग करें और तदनुसारangular.jsonमेंpluginsसंदर्भ को अपडेट करें:esbuild.plugins.mjsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
फिर
angular.jsonमें"./esbuild.plugins.ts"के बजाय"./esbuild.plugins.mjs"को इंगित करें।अपनी सामग्री की घोषणा करें
अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाएँ बनाएँ और प्रबंधित करें:
src/app/app.content.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
import { t, type Dictionary } from "intlayer"; const appContent = { key: "app", content: { title: t({ en: "Hello", fr: "Bonjour", es: "Hola", }), congratulations: t({ en: "Congratulations! Your app is running. 🎉", fr: "Félicitations! Votre application est en cours d'exécution. 🎉", es: "¡Felicidades! Tu aplicación está en ejecución. 🎉", }), exploreDocs: t({ en: "Explore the Docs", fr: "Explorer les Docs", es: "Explorar los Docs", }), learnWithTutorials: t({ en: "Learn with Tutorials", fr: "Apprendre avec les Tutoriels", es: "Aprender con los Tutorios", }), cliDocs: "CLI Docs", angularLanguageService: t({ en: "Angular Language Service", fr: "Service de Langage Angular", es: "Servicio de Lenguaje Angular", }), angularDevTools: "Angular DevTools", github: "Github", twitter: "Twitter", youtube: "Youtube", }, } satisfies Dictionary; export default appContent;आपकी सामग्री घोषणाओं को आपके एप्लिकेशन में कहीं भी परिभाषित किया जा सकता है जब तक कि वे
contentDirनिर्देशिका (डिफ़ॉल्ट रूप से,./src) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन (डिफ़ॉल्ट रूप से,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}) से मेल खाएं।अधिक जानकारी के लिए, सामग्री घोषणा दस्तावेज़ देखें।
अपने कोड में Intlayer का उपयोग करें
अपने पूरे Angular एप्लिकेशन में Intlayer की अंतर्राष्ट्रीयकरण सुविधाओं का उपयोग करने के लिए, आपको एप्लिकेशन कॉन्फ़िगरेशन में Intlayer प्रदान करने की आवश्यकता है।
src/app/app.config.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
फिर, आप किसी भी घटक के भीतर
useIntlayerफ़ंक्शन का उपयोग कर सकते हैं।src/app/app.component.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
और आपके टेम्पलेट में:
src/app/app.component.htmlकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
Intlayer सामग्री को एक
Signalके रूप में लौटाया जाता है, इसलिए आप सिग्नल को कॉल करके मानों तक पहुँचते हैं:content().title।अपनी सामग्री की भाषा बदलें
वैकल्पिकअपनी सामग्री की भाषा बदलने के लिए, आप
useLocaleफ़ंक्शन द्वारा प्रदान किए गएsetLocaleफ़ंक्शन का उपयोग कर सकते हैं। यह आपको एप्लिकेशन के लोकेल को सेट करने और उसके अनुसार सामग्री को अपडेट करने की अनुमति देता है।भाषाओं के बीच स्विच करने के लिए एक घटक बनाएँ:
src/app/locale-switcher.component.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
फिर, इस घटक का उपयोग अपने
app.component.tsमें करें:src/app/app.component.tsकोड कॉपी करेंकोड को क्लिपबोर्ड पर कॉपी करें
TypeScript को कॉन्फ़िगर करें
Intlayer TypeScript के लाभों को प्राप्त करने और आपके कोडबेस को मजबूत बनाने के लिए मॉड्यूल संवर्द्धन (Module Augmentation) का उपयोग करता है।


सुनिश्चित करें कि आपके TypeScript कॉन्फ़िगरेशन में स्वत: उत्पन्न प्रकार शामिल हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
Git कॉन्फ़िगरेशन
Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करने की अनुशंसा की जाती है। यह आपको उन्हें अपने Git रिपॉजिटरी में कमिट करने से बचने की अनुमति देता है।
ऐसा करने के लिए, आप अपनी .gitignore फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
VS Code एक्सटेंशन
Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक Intlayer VS Code Extension स्थापित कर सकते हैं।
यह एक्सटेंशन प्रदान करता है:
- अनुवाद कुंजियों के लिए स्वत: पूर्णता।
- गुम अनुवादों के लिए रीयल-टाइम त्रुटि पहचान।
- अनुवादित सामग्री का इनलाइन पूर्वावलोकन।
- अनुवादों को आसानी से बनाने और अपडेट करने के लिए त्वरित क्रियाएँ।
एक्सटेंशन का उपयोग करने के तरीके के बारे में अधिक जानकारी के लिए, Intlayer VS Code Extension दस्तावेज़ देखें।
आगे बढ़ें
आगे जाने के लिए, आप विज़ुअल एडिटर को लागू कर सकते हैं या CMS का उपयोग करके अपनी सामग्री को बाहरी रूप दे सकते हैं।
अक्सर पूछे जाने वाले प्रश्न
- अंतर्निहित
@angular/localize: प्रति भाषा अलग संकलन। ngx-translateऔरTransloco: रनटाइम कैटलॉग।Intlayer: Standalone components, Signal inputs, और Vite पर आधारित नया बिल्ड पाइपलाइन।
Intlayer क्यों चुनें देखें।
नेमस्पेस-आधारित समाधानों की तुलना में बहुत कम, क्योंकि एक पृष्ठ कभी भी उस कैटलॉग को डाउनलोड नहीं करता है जिसे वह रेंडर नहीं करता है। बिल्ड-टाइम कंपाइलर useIntlayer कॉल को घटक द्वारा उपयोग की जाने वाली सटीक प्रविष्टियों से बदल देता है, और गतिशील शब्दकोश शेष को प्रति लोकेल विभाजित करते हैं, जिससे बंडल 50% तक कम हो जाता है। बंडल अनुकूलन और बेंचमार्क देखें।
काफी हद तक हाँ। कंटेंट को स्थानांतरित करने के लिए ngx-translate माइग्रेशन गाइड या Transloco माइग्रेशन गाइड का पालन करें। आप धीरे-धीरे भी माइग्रेट कर सकते हैं: sync JSON प्लगइन आपके मौजूदा JSON कैटलॉग को source of truth के रूप में रखता है और उनसे Intlayer डिक्शनरी जनरेट करता है, ताकि जब आप टेम्पलेट को एक-एक करके स्थानांतरित करें तो दोनों लेयर सिंक में रहें।
हाँ। sync JSON plugin आपकी /messages/{locale}/{namespace}.json फ़ाइलों को सत्य का स्रोत बनाए रखता है और दोनों दिशाओं में उनसे Intlayer dictionaries बनाता है। sync PO plugin gettext catalogs के लिए भी ऐसा ही करता है, और per locale files आपको locales को एक फ़ाइल में समूहीकृत करने के बजाय भाषा के अनुसार content को विभाजित करने देते हैं।
नहीं। npx intlayer extract चलाएं और Intlayer आपकी source files को पढ़ता है, user facing strings को निकालता है और प्रत्येक के बगल में एक .content file लिखता है, इसलिए आप strings को एक catalog में एक-एक करके कॉपी करने के बजाय एक diff की समीक्षा करते हैं। extract command देखें।
पूर्ण स्वचालन के लिए, Intlayer Compiler बिल्ड समय पर यही काम करता है और प्रत्येक परिवर्तन पर शब्दकोश उत्पन्न करता है।
पाँच उपकरण, सभी वैकल्पिक:
- VS Code extension:
useIntlayerकुंजी से उसे घोषित करने वाली सामग्री फ़ाइल पर जाएं, घटकों से सामग्री निकालें, और कमांड पैलेट या Intlayer टैब से build, fill, test, push और pull चलाएं। - LSP server: LSP का समर्थन करने वाले किसी भी संपादक में समान सुविधा, परिभाषा पर जाएं, अनुवादित मान का पूर्वावलोकन देखें, और कुंजी पूर्णता प्राप्त करें।
i18next,react-i18next,next-intlऔरuse-intlकॉल का भी समर्थन करता है। - MCP server: Cursor, VS Code, Claude Desktop, Claude Code और ChatGPT के लिए Intlayer दस्तावेज़ और CLI प्रदान करता है।
- Agent skills: केंद्रित कौशल जैसे
intlayer-config,intlayer-cliऔरintlayer-content। - ESLint plugin:
no-raw-textनियम हार्डकोडेड स्ट्रिंग्स को चिह्नित करता है।
