अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
यह दस्तावेज़ पुराना है, आधार संस्करण को इस तिथि पर अपडेट किया गया है 29 अगस्त 2026.
अंग्रेजी दस्तावेज़ पर जाएँसंस्करण इतिहास
- "सॉलिड useIntlayer API उपयोग को सीधे प्रॉपर्टी एक्सेस में अपडेट करें"v8.9.04/5/2026
- "init कमांड जोड़ा गया"v7.6.031/12/2025
- "इतिहास शुरू किया गया"v7.6.031/12/2025
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer का उपयोग करके अपने Fastify बैकएंड वेबसाइट का अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
fastify-intlayer Fastify अनुप्रयोगों के लिए एक शक्तिशाली अंतर्राष्ट्रीयकरण (i18n) प्लगइन है, जिसे क्लाइंट की प्राथमिकताओं के आधार पर स्थानीयकृत प्रतिक्रियाएं प्रदान करके आपकी बैकएंड सेवाओं को विश्व स्तर पर सुलभ बनाने के लिए डिज़ाइन किया गया है।
GitHub पर पैकेज कार्यान्वयन देखें।
व्यावहारिक उपयोग के मामले
- उपयोगकर्ता की भाषा में बैकएंड त्रुटियां प्रदर्शित करना: जब कोई त्रुटि होती है, तो उपयोगकर्ता की मातृभाषा में संदेश प्रदर्शित करने से समझ में सुधार होता है और हताशा कम होती है। यह विशेष रूप से गतिशील त्रुटि संदेशों के लिए उपयोगी है जो टोस्ट या मोडल जैसे फ्रंट-एंड घटकों में दिखाए जा सकते हैं।
- बहुभाषी सामग्री प्राप्त करना: डेटाबेस से सामग्री प्राप्त करने वाले अनुप्रयोगों के लिए, अंतर्राष्ट्रीयकरण यह सुनिश्चित करता है कि आप इस सामग्री को कई भाषाओं में परोस सकें। यह ई-कॉमर्स साइटों या सामग्री प्रबंधन प्रणालियों जैसे प्लेटफार्मों के लिए महत्वपूर्ण है जिन्हें उपयोगकर्ता द्वारा पसंदीदा भाषा में उत्पाद विवरण, लेख और अन्य सामग्री प्रदर्शित करने की आवश्यकता होती है।
- बहुभाषी ईमेल भेजना: चाहे वह ट्रांजेक्शनल ईमेल हों, मार्केटिंग अभियान हों या सूचनाएं, प्राप्तकर्ता की भाषा में ईमेल भेजना जुड़ाव और प्रभावशीलता को काफी बढ़ा सकता है।
- बहुभाषी पुश सूचनाएं: मोबाइल अनुप्रयोगों के लिए, उपयोगकर्ता की पसंदीदा भाषा में पुश सूचनाएं भेजना बातचीत और प्रतिधारण में सुधार कर सकता है। यह व्यक्तिगत स्पर्श सूचनाओं को अधिक प्रासंगिक और कार्रवाई योग्य महसूस करा सकता है।
- अन्य संचार: बैकएंड से संचार का कोई भी रूप, जैसे एसएमएस संदेश, सिस्टम अलर्ट या यूजर इंटरफेस अपडेट, उपयोगकर्ता की भाषा में होने से लाभान्वित होता है, स्पष्टता सुनिश्चित करता है और समग्र उपयोगकर्ता अनुभव को बढ़ाता है।
बैकएंड को अंतर्राष्ट्रीय बनाकर, आपका अनुप्रयोग न केवल सांस्कृतिक मतभेदों का सम्मान करता है बल्कि वैश्विक बाजार की जरूरतों के साथ बेहतर रूप से मेल खाता है, जिससे यह आपकी सेवाओं को दुनिया भर में विस्तारित करने के लिए एक महत्वपूर्ण कदम बन जाता् है।
शुरुआत करना
GitHub पर एप्लिकेशन टेम्पलेट देखें।
इंस्टालेशन
fastify-intlayer का उपयोग शुरू करने के लिए, npm का उपयोग करके पैकेज इंस्टॉल करें:
कोड को क्लिपबोर्ड पर कॉपी करें
--interactiveध्वज (flag) वैकल्पिक है। यदि आप एक AI एजेंट हैं तोintlayer-cli initका उपयोग करें।
यह कमांड आपके एनवायरनमेंट को डिटेक्ट करेगी और आवश्यक पैकेज इंस्टॉल करेगी। उदाहरण के लिए:
कोड को क्लिपबोर्ड पर कॉपी करें
सेटअप
अपने प्रोजेक्ट रूट में intlayer.config.ts बनाकर अंतर्राष्ट्रीयकरण सेटिंग्स कॉन्फ़िगर करें:
कोड को क्लिपबोर्ड पर कॉपी करें
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [
Locales.ENGLISH,
Locales.FRENCH,
Locales.SPANISH_MEXICO,
Locales.SPANISH_SPAIN,
],
defaultLocale: Locales.ENGLISH,
},
};
export default config;
अपनी सामग्री घोषित करें
अनुवादों को संग्रहीत करने के लिए अपनी सामग्री घोषणाएं बनाएं और प्रबंधित करें:
कोड को क्लिपबोर्ड पर कॉपी करें
import { t, type Dictionary } from "intlayer";
const indexContent = {
key: "index",
content: {
exampleOfContent: t({
en: "Example of returned content in English",
fr: "Exemple de contenu renvoyé en français",
"es-ES": "Ejemplo de contenido devuelto en español (España)",
"es-MX": "Ejemplo de contenido devuelto en español (México)",
}),
},
} satisfies Dictionary;
export default indexContent;
आपकी सामग्री घोषणाएं आपके अनुप्रयोग में कहीं भी परिभाषित की जा सकती हैं जब तक कि वेcontentDirनिर्देशिका (डिफ़ॉल्ट रूप से,./src) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन (डिफ़ॉल्ट रूप से,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}) से मेल खाती हों।
अधिक विवरण के लिए, सामग्री घोषणा दस्तावेज़ देखें।
Fastify अनुप्रयोग सेटअप
fastify-intlayer का उपयोग करने के लिए अपना Fastify अनुप्रयोग सेटअप करें:
कोड को क्लिपबोर्ड पर कॉपी करें
import Fastify from "fastify";
import { intlayer, t, getDictionary, getIntlayer } from "fastify-intlayer";
import dictionaryExample from "./index.content";
const fastify = Fastify({ logger: true });
// अंतर्राष्ट्रीयकरण प्लगइन लोड करें
await fastify.register(intlayer);
// मार्ग
fastify.get("/t_example", async (_req, reply) => {
return t({
en: "Example of returned content in English",
fr: "Exemple de contenu renvoyé en français",
"es-ES": "Ejemplo de contenido devuelto en español (España)",
"es-MX": "Ejemplo de contenido devuelto en español (México)",
});
});
fastify.get("/getIntlayer_example", async (_req, reply) => {
return getIntlayer("index").exampleOfContent;
});
fastify.get("/getDictionary_example", async (_req, reply) => {
return getDictionary(dictionaryExample).exampleOfContent;
});
// सर्वर शुरू करें
const start = async () => {
try {
await fastify.listen({ port: 3000 });
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
};
start();
अनुकूलता
fastify-intlayer पूरी तरह से इनके साथ संगत है:
- React अनुप्रयोगों के लिए
react-intlayer - Next.js अनुप्रयोगों के लिए
next-intlayer - Vite अनुप्रयोगों के लिए
vite-intlayer
यह ब्राउज़र और एपीआई अनुरोधों सहित विभिन्न वातावरणों में किसी भी अंतर्राष्ट्रीयकरण समाधान के साथ निर्बाध रूप से काम करता है। आप हेडर्स या कुकीज़ के माध्यम से लोकेल का पता लगाने के लिए मिडलवेयर को कस्टमाइज़ कर सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
// ... अन्य कॉन्फ़िगरेशन विकल्प
routing: {
storage: [
{ type: "header", name: "my-locale-header" },
{ type: "cookie", name: "my-locale-cookie" },
],
},
};
export default config;
डिफ़ॉल्ट रूप से, fastify-intlayer क्लाइंट की पसंदीदा भाषा निर्धारित करने के लिए Accept-Language हेडर की व्याख्या करेगा।
कॉन्फ़िगरेशन और उन्नत विषयों पर अधिक जानकारी के लिए, हमारे दस्तावेज़ पर जाएँ।
TypeScript कॉन्फ़िगर करें
fastify-intlayer अंतर्राष्ट्रीयकरण प्रक्रिया को बढ़ाने के लिए TypeScript की मजबूत क्षमताओं का लाभ उठाता है। TypeScript की स्थिर टाइपिंग यह सुनिश्चित करती है कि हर अनुवाद कुंजी का ध्यान रखा गया है, जिससे लापता अनुवादों का जोखिम कम हो जाता है और रखरखाव में सुधार होता है।
सुनिश्चित करें कि ऑटो-जेनरेटेड टाइप (डिफ़ॉल्ट रूप से ./types/intlayer.d.ts पर) आपकी tsconfig.json फ़ाइल में शामिल हैं।
कोड को क्लिपबोर्ड पर कॉपी करें
VS Code एक्सटेंशन
Intlayer के साथ अपने विकास के अनुभव को बेहतर बनाने के लिए, आप आधिकारिक Intlayer VS Code Extension इंस्टॉल कर सकते हैं।
VS Code Marketplace से इंस्टॉल करें
यह एक्सटेंशन प्रदान करता है:
- अनुवाद कुंजियों के लिए Autocompletion।
- लापता अनुवादों के लिए Real-time error detection।
- अनुवादित सामग्री का Inline previews।
- आसानी से अनुवाद बनाने और अपडेट करने के लिए Quick actions।
एक्सटेंशन का उपयोग करने के तरीके के बारे में अधिक विवरण के लिए, Intlayer VS Code Extension दस्तावेज़ देखें।
Git कॉन्फ़िगरेशन
Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करने की अनुशंसा की जाती है। यह आपको उन्हें अपने Git रिपॉजिटरी में प्रतिबद्ध करने से बचने की अनुमति देता है।
ऐसा करने के लिए, आप अपनी .gitignore फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
अक्सर पूछे जाने वाले प्रश्न
i18nextके लिए Fastify प्लगइन्स: JSON नेमस्पेस पर आधारित रनटाइम लाइब्रेरी।Intlayer: Fastify जीवनचक्र के लिए अनुकूलितfastify-intlayerप्लगइन, पूर्ण TypeScript प्रकार, AI अनुवाद और फ़्रंटएंड के साथ एकीकृत शब्दकोश।
बैकएंड का अंतर्राष्ट्रीयकरण करने का मुख्य कारण यह है कि उपयोगकर्ता द्वारा पढ़े जाने वाले टेक्स्ट का एक बड़ा हिस्सा कभी भी फ्रंटएंड से होकर नहीं गुजरता: API त्रुटि संदेश, लेन-देन संबंधी ईमेल, पुश सूचनाएं, SMS और PDF निर्यात। इन्हें प्रति सत्र के बजाय प्रति अनुरोध हल की गई प्राप्तकर्ता की भाषा की आवश्यकता होती है।
Intlayer क्यों चुनें देखें।
पारंपरिक JSON कैटलॉग की तुलना में बहुत कम। Intlayer कंपाइलर बिल्ड समय पर शब्दकोशों को अनुकूलित करता है और प्रत्येक अनुरोध पर उन्हें फिर से पार्स नहीं करता है, जिससे मेमोरी उपयोग और कोल्ड स्टार्ट समय न्यूनतम रहता है। बंडल अनुकूलन देखें।
हाँ, माइग्रेशन गाइड का पालन करें या JSON फ़ाइलों को स्वचालित रूप से सिंक करें।
हाँ। 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: एक कुंजी से सामग्री फ़ाइल तक जाएं, स्ट्रिंग्स निकालें, और कमांड पैलेट से build, fill, test, push और pull चलाएं।
- LSP server: LSP का समर्थन करने वाले किसी भी संपादक में परिभाषा पर जाएं, अनुवादित मान का पूर्वावलोकन देखें, और कुंजी पूर्णता प्राप्त करें।
i18nextकॉल को भी संभालता है। - 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नियम हार्डकोडेड स्ट्रिंग्स को चिह्नित करता है।
