Creation:2025-09-09Last update:2026-05-31

    Intlayer का उपयोग करके अपनी Nest बैकएंड वेबसाइट का अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)

    express-intlayer Express applications के लिए एक शक्तिशाली अंतर्राष्ट्रीयकरण (i18n) middleware है, जो आपकी बैकएंड सेवाओं को विश्व स्तर पर सुलभ बनाने के लिए डिज़ाइन किया गया है, जो क्लाइंट की प्राथमिकताओं के आधार पर स्थानीयकृत प्रतिक्रियाएं प्रदान करता है। चूंकि NestJS Express के शीर्ष पर बनाया गया है, आप express-intlayer को अपने NestJS applications में निर्बाध रूप से एकीकृत कर सकते हैं ताकि बहुभाषी सामग्री को प्रभावी ढंग से संभाल सकें।

    व्यावहारिक उपयोग के मामले

    • उपयोगकर्ता की भाषा में बैकएंड त्रुटियां प्रदर्शित करना: जब कोई त्रुटि होती है, तो संदेशों को उपयोगकर्ता की मूल भाषा में प्रदर्शित करना समझ में सुधार करता है और निराशा को कम करता है। यह विशेष रूप से गतिशील त्रुटि संदेशों के लिए उपयोगी है जो front-end components जैसे toasts या modals में दिखाए जा सकते हैं।

    • बहुभाषी सामग्री प्राप्त करना: डेटाबेस से सामग्री खींचने वाले applications के लिए, अंतर्राष्ट्रीयकरण यह सुनिश्चित करता है कि आप इस सामग्री को कई भाषाओं में प्रदान कर सकते हैं। यह e-commerce साइटों या content management systems जैसे प्लेटफॉर्म के लिए महत्वपूर्ण है जिन्हें product descriptions, articles और अन्य सामग्री को उपयोगकर्ता द्वारा पसंदीदा भाषा में प्रदर्शित करने की आवश्यकता है।

    • बहुभाषी ईमेल भेजना: चाहे वह transactional emails, marketing campaigns, या notifications हों, प्राप्तकर्ता की भाषा में ईमेल भेजना engagement और प्रभावशीलता को काफी हद तक बढ़ा सकता है।

    • बहुभाषी Push Notifications: मोबाइल applications के लिए, उपयोगकर्ता की पसंदीदा भाषा में push notifications भेजना इंटरैक्शन और retention को बढ़ा सकता है। यह व्यक्तिगत स्पर्श notifications को अधिक प्रासंगिक और कार्यान्वयन योग्य बना सकता है।

    • अन्य संचार: बैकएंड से किसी भी प्रकार का संचार, जैसे SMS messages, system alerts, या user interface updates, उपयोगकर्ता की भाषा में होने से लाभान्वित होता है, जिससे स्पष्टता सुनिश्चित होती है और समग्र user experience में वृद्धि होती है।

    बैकएंड का अंतर्राष्ट्रीयकरण करके, आपका application न केवल सांस्कृतिक अंतरों का सम्मान करता है बल्कि global market की जरूरतों के साथ बेहतर तरीके से संरेखित होता है, जो विश्व व्यापी आपकी सेवाओं को scale करने में एक महत्वपूर्ण कदम है।

    शुरुआत कैसे करें

    नया NestJS प्रोजेक्ट बनाएं

    bash
    npm install -g @nestjs/clinest new my-nest-app

    स्थापना

    express-intlayer का उपयोग शुरू करने के लिए, npm का उपयोग करके पैकेज इंस्टॉल करें:

    bash
    npx intlayer init --interactive
    --interactive ध्वज (flag) वैकल्पिक है। यदि आप एक AI एजेंट हैं तो intlayer-cli init का उपयोग करें।
    यह कमांड आपके एनवायरनमेंट को डिटेक्ट करेगी और आवश्यक पैकेज इंस्टॉल करेगी। उदाहरण के लिए:
    bash
    npm install intlayer express-intlayer

    tsconfig.json कॉन्फ़िगर करें

    TypeScript के साथ Intlayer का उपयोग करने के लिए, सुनिश्चित करें कि आपका tsconfig.json ES मॉड्यूल्स का समर्थन करने के लिए सेटअप किया गया है। आप यह module और moduleResolution विकल्पों को nodenext पर सेट करके कर सकते हैं।

    tsconfig.json
    {  compilerOptions: {    module: "nodenext",    moduleResolution: "nodenext",    // ... अन्य विकल्प  },}

    सेटअप

    अपने प्रोजेक्ट रूट में intlayer.config.ts बनाकर अंतरराष्ट्रीयकरण सेटिंग्स कॉन्फ़िगर करें:

    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;

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

    अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाएँ बनाएं और प्रबंधित करें:

    आपकी सामग्री घोषणाएँ आपकी एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक कि वे contentDir निर्देशिका (डिफ़ॉल्ट रूप से, ./src) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हों (डिफ़ॉल्ट रूप से, .content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml})।
    अधिक विवरण के लिए, सामग्री घोषणा प्रलेखन देखें।

    एक्सप्रेस मिडलवेयर सेटअप

    express-intlayer मिडलवेयर को अपने NestJS एप्लिकेशन में अंतरराष्ट्रीयकरण को संभालने के लिए एकीकृत करें:

    src/app.module.ts
    import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";import { AppController } from "./app.controller";import { AppService } from "./app.service";import { intlayer } from "express-intlayer";@Module({  imports: [],  controllers: [AppController],  providers: [AppService],})export class AppModule implements NestModule {  configure(consumer: MiddlewareConsumer) {    consumer.apply(intlayer()).forRoutes("*"); // सभी रूट्स पर लागू करें  }}

    अपनी सेवाओं या कंट्रोलर्स में अनुवादों का उपयोग करें

    अब आप अपनी सेवाओं या कंट्रोलर्स में अनुवादों तक पहुँचने के लिए getIntlayer फ़ंक्शन का उपयोग कर सकते हैं:

    src/app.service.ts
    import { Injectable } from "@nestjs/common";import { getIntlayer } from "express-intlayer";@Injectable()export class AppService {  getHello(): string {    return getIntlayer("app").greet; // अनुवाद प्राप्त करें  }}

    संगतता

    express-intlayer पूरी तरह से संगत है:

    यह विभिन्न वातावरणों में किसी भी अंतरराष्ट्रीयकरण समाधान के साथ सहजता से काम करता है, जिसमें ब्राउज़र और API अनुरोध शामिल हैं। आप मिडलवेयर को हेडर या कुकीज़ के माध्यम से लोकल का पता लगाने के लिए अनुकूलित कर सकते हैं:

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  // ... अन्य कॉन्फ़िगरेशन विकल्प  middleware: {    headerName: "my-locale-header", // हेडर नाम    cookieName: "my-locale-cookie", // कुकी नाम  },};export default config;

    डिफ़ॉल्ट रूप से, express-intlayer क्लाइंट की पसंदीदा भाषा निर्धारित करने के लिए Accept-Language हेडर की व्याख्या करेगा।

    कॉन्फ़िगरेशन और उन्नत विषयों पर अधिक जानकारी के लिए, हमारी दस्तावेज़ीकरण देखें।

    TypeScript कॉन्फ़िगर करें

    express-intlayer अंतर्राष्ट्रीयकरण प्रक्रिया को बेहतर बनाने के लिए TypeScript की मजबूत क्षमताओं का उपयोग करता है। TypeScript की स्थैतिक टाइपिंग यह सुनिश्चित करती है कि हर अनुवाद कुंजी का ध्यान रखा जाए, जिससे अनुवादों के छूटने का जोखिम कम होता है और रखरखाव में सुधार होता है।

    Autocompletion

    Translation error

    सुनिश्चित करें कि स्वचालित रूप से उत्पन्न प्रकार (डिफ़ॉल्ट रूप से ./types/intlayer.d.ts में) आपके tsconfig.json फ़ाइल में शामिल हैं।

    tsconfig.json
    {  // ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन  include: [    // ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन    ".intlayer/**/*.ts", // स्वचालित रूप से उत्पन्न प्रकार शामिल करें  ],}

    VS कोड एक्सटेंशन

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

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

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

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

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

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

    यह अनुशंसित है कि Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा किया जाए। इससे आप उन्हें अपने Git रिपॉजिटरी में कमिट करने से बच सकते हैं।

    इसे करने के लिए, आप अपनी .gitignore फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:

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