Intlayer कॉन्फ़िगरेशन दस्तावेज़

    अवलोकन

    Intlayer कॉन्फ़िगरेशन फ़ाइलें प्लगइन के विभिन्न पहलुओं जैसे अंतर्राष्ट्रीयकरण, मिडलवेयर, और सामग्री प्रबंधन को अनुकूलित करने की अनुमति देती हैं। यह दस्तावेज़ कॉन्फ़िगरेशन में प्रत्येक प्रॉपर्टी का विस्तृत विवरण प्रदान करता है।


    कॉन्फ़िगरेशन फ़ाइल समर्थन

    Intlayer JSON, JS, MJS, और TS कॉन्फ़िगरेशन फ़ाइल प्रारूपों को स्वीकार करता है:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    उदाहरण कॉन्फ़िगरेशन फ़ाइल

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH],  },  content: {    typesDir: "content/types",  },  middleware: {    noPrefix: false,  },};export default config;

    कॉन्फ़िगरेशन संदर्भ

    निम्नलिखित अनुभाग Intlayer के लिए उपलब्ध विभिन्न कॉन्फ़िगरेशन सेटिंग्स का वर्णन करते हैं।


    अंतर्राष्ट्रीयकरण कॉन्फ़िगरेशन

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

    प्रॉपर्टीज़

    • locales:

      • प्रकार: string[]
      • डिफ़ॉल्ट: ['en']
      • विवरण: एप्लिकेशन में समर्थित लोकेल्स की सूची।
      • उदाहरण: ['en', 'fr', 'es']
    • requiredLocales:

      • प्रकार: string[]
      • डिफ़ॉल्ट: []
      • विवरण: एप्लिकेशन में आवश्यक लोकेल्स की सूची।
      • उदाहरण: []
      • नोट: यदि खाली है, तो सभी लोकेल्स strict मोड में आवश्यक हैं।
      • नोट: सुनिश्चित करें कि आवश्यक लोकेल्स को locales फ़ील्ड में भी परिभाषित किया गया है।
    • strictMode:

      • प्रकार: string
      • डिफ़ॉल्ट: inclusive
      • विवरण: टाइपस्क्रिप्ट का उपयोग करके अंतर्राष्ट्रीयकृत सामग्री के मजबूत कार्यान्वयन सुनिश्चित करें।
      • नोट: यदि "strict" पर सेट है, तो अनुवाद t फ़ंक्शन को प्रत्येक घोषित लोकेल्स को परिभाषित करना आवश्यक होगा। यदि एक लोकेल गायब है, या यदि कोई लोकेल आपके कॉन्फ़िगरेशन में घोषित नहीं है, तो यह त्रुटि देगा।
      • नोट: यदि "inclusive" पर सेट है, तो अनुवाद t फ़ंक्शन को प्रत्येक घोषित लोकेल्स को परिभाषित करना आवश्यक होगा। यदि एक लोकेल गायब है, तो यह चेतावनी देगा। लेकिन यह स्वीकार करेगा यदि कोई लोकेल आपके कॉन्फ़िगरेशन में घोषित नहीं है, लेकिन मौजूद है।
      • नोट: यदि "loose" पर सेट है, तो अनुवाद t फ़ंक्शन किसी भी मौजूदा लोकेल को स्वीकार करेगा।
    • defaultLocale:

      • प्रकार: string
      • डिफ़ॉल्ट: 'en'
      • विवरण: डिफ़ॉल्ट लोकेल जो अनुरोधित लोकेल न मिलने पर बैकअप के रूप में उपयोग किया जाता है।
      • उदाहरण: 'en'
      • नोट: यह URL, कुकी, या हेडर में निर्दिष्ट न होने पर लोकेल निर्धारित करने के लिए उपयोग किया जाता है।

    संपादक कॉन्फ़िगरेशन

    एकीकृत संपादक से संबंधित सेटिंग्स को परिभाषित करता है, जिसमें सर्वर पोर्ट और सक्रिय स्थिति शामिल है।

    प्रॉपर्टीज़

    • applicationURL:

      • प्रकार: string
      • डिफ़ॉल्ट: '*'
      • विवरण: एप्लिकेशन का URL। सुरक्षा कारणों से संपादक की उत्पत्ति को प्रतिबंधित करने के लिए उपयोग किया जाता है।
      • उदाहरण:
        • '*'
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • नोट: एप्लिकेशन का URL। सुरक्षा कारणों से संपादक की उत्पत्ति को प्रतिबंधित करने के लिए उपयोग किया जाता है। यदि '*' पर सेट है, तो संपादक किसी भी उत्पत्ति से सुलभ है।
    • port:

      • प्रकार: number
      • डिफ़ॉल्ट: 8000
      • विवरण: विज़ुअल संपादक सर्वर द्वारा उपयोग किया जाने वाला पोर्ट।
    • editorURL:

      • प्रकार: string
      • डिफ़ॉल्ट: 'http://localhost:8000'
      • विवरण: संपादक सर्वर का URL। सुरक्षा कारणों से संपादक की उत्पत्ति को प्रतिबंधित करने के लिए उपयोग किया जाता है।
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
        • ''*'
      • नोट: एप्लिकेशन से पहुंचने के लिए संपादक सर्वर का URL। सुरक्षा कारणों से उन उत्पत्तियों को प्रतिबंधित करने के लिए उपयोग किया जाता है जो एप्लिकेशन के साथ इंटरैक्ट कर सकती हैं। यदि '*' पर सेट है, तो संपादक किसी भी उत्पत्ति से सुलभ है। यदि पोर्ट बदला गया है, या यदि संपादक किसी अन्य डोमेन पर होस्ट किया गया है, तो इसे सेट किया जाना चाहिए।
    • cmsURL:

      • प्रकार: string
      • डिफ़ॉल्ट: 'https://intlayer.org'
      • विवरण: Intlayer CMS का URL।
      • उदाहरण: 'https://intlayer.org'
      • नोट: Intlayer CMS का URL।
    • backendURL:

      • प्रकार: string
      • डिफ़ॉल्ट: https://back.intlayer.org
      • विवरण: बैकएंड सर्वर का URL।
      • उदाहरण: http://localhost:4000
    • enabled:

      • प्रकार: boolean
      • डिफ़ॉल्ट: true
      • विवरण: यह इंगित करता है कि एप्लिकेशन विज़ुअल संपादक के साथ इंटरैक्ट करता है या नहीं।
      • उदाहरण: process.env.NODE_ENV !== 'production'
      • नोट: यदि true है, तो संपादक एप्लिकेशन के साथ इंटरैक्ट कर सकता है। यदि false है, तो संपादक एप्लिकेशन के साथ इंटरैक्ट नहीं कर सकता है। किसी भी स्थिति में, संपादक केवल विज़ुअल संपादक द्वारा सक्षम किया जा सकता है। विशिष्ट वातावरणों के लिए संपादक को अक्षम करना सुरक्षा को लागू करने का एक तरीका है।
    • clientId:

      • प्रकार: string | undefined
      • डिफ़ॉल्ट: undefined
      • विवरण: clientId और clientSecret Intlayer पैकेजों को oAuth2 प्रमाणीकरण का उपयोग करके बैकएंड के साथ प्रमाणित करने की अनुमति देते हैं। एक एक्सेस टोकन का उपयोग प्रोजेक्ट से संबंधित उपयोगकर्ता को प्रमाणित करने के लिए किया जाता है। एक्सेस टोकन प्राप्त करने के लिए, https://intlayer.org/dashboard/project पर जाएं और एक खाता बनाएं।
      • उदाहरण: true
      • नोट: महत्वपूर्ण: clientId और clientSecret को गुप्त रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया सुनिश्चित करें कि उन्हें एक सुरक्षित स्थान, जैसे पर्यावरण चर, में रखें।
    • clientSecret:

      • प्रकार: string | undefined
      • डिफ़ॉल्ट: undefined
      • विवरण: clientId और clientSecret Intlayer पैकेजों को oAuth2 प्रमाणीकरण का उपयोग करके बैकएंड के साथ प्रमाणित करने की अनुमति देते हैं। एक एक्सेस टोकन का उपयोग प्रोजेक्ट से संबंधित उपयोगकर्ता को प्रमाणित करने के लिए किया जाता है। एक्सेस टोकन प्राप्त करने के लिए, https://intlayer.org/dashboard/project पर जाएं और एक खाता बनाएं।
      • उदाहरण: true
      • नोट: महत्वपूर्ण: clientId और clientSecret को गुप्त रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया सुनिश्चित करें कि उन्हें एक सुरक्षित स्थान, जैसे पर्यावरण चर, में रखें।
    • hotReload:

      • प्रकार: boolean
      • डिफ़ॉल्ट: false
      • विवरण: यह इंगित करता है कि एप्लिकेशन को लोकेल कॉन्फ़िगरेशन में परिवर्तन का पता चलने पर हॉट रीलोड करना चाहिए या नहीं।
      • उदाहरण: true
      • नोट: उदाहरण के लिए, जब एक नया शब्दकोश जोड़ा या अपडेट किया जाता है, तो एप्लिकेशन पृष्ठ में प्रदर्शित सामग्री को अपडेट करेगा।
      • नोट: क्योंकि हॉट रीलोडिंग को सर्वर से निरंतर कनेक्शन की आवश्यकता होती है, यह केवल enterprise योजना के ग्राहकों के लिए उपलब्ध है।
    • dictionaryPriorityStrategy:

      • प्रकार: string
      • डिफ़ॉल्ट: 'local_first'
      • विवरण: स्थानीय और दूरस्थ शब्दकोश दोनों के मामले में प्राथमिकता देने की रणनीति। यदि 'distant_first' पर सेट है, तो एप्लिकेशन दूरस्थ शब्दकोशों को स्थानीय शब्दकोशों पर प्राथमिकता देगा। यदि 'local_first' पर सेट है, तो एप्लिकेशन स्थानीय शब्दकोशों को दूरस्थ शब्दकोशों पर प्राथमिकता देगा।
      • उदाहरण: 'distant_first'

    मिडलवेयर कॉन्फ़िगरेशन

    मिडलवेयर व्यवहार को नियंत्रित करने वाली सेटिंग्स, जिसमें एप्लिकेशन कुकीज़, हेडर, और लोकेल प्रबंधन के लिए URL प्रीफिक्स को कैसे संभालता है।

    प्रॉपर्टीज़

    • headerName:
      • प्रकार: string
      • डिफ़ॉल्ट: 'x-intlayer-locale'
      • विवरण: HTTP हेडर का नाम जो लोकेल निर्धारित करने के लिए उपयोग किया जाता है।
      • उदाहरण: 'x-custom-locale'
      • नोट: यह API-आधारित लोकेल निर्धारण के लिए उपयोगी है।

    • प्रकार: string
    • डिफ़ॉल्ट: 'intlayer-locale'
    • विवरण: कुकी का नाम जो लोकेल को स्टोर करने के लिए उपयोग किया जाता है।
    • उदाहरण: 'custom-locale'
    • नोट: सत्रों के बीच लोकेल को बनाए रखने के लिए उपयोग किया जाता है।
    • prefixDefault:
      • प्रकार: boolean
      • डिफ़ॉल्ट: true
      • विवरण: क्या URL में डिफ़ॉल्ट लोकेल शामिल करना है।
      • उदाहरण: false
      • नोट: यदि false, तो डिफ़ॉल्ट लोकेल के लिए URL में लोकेल प्रीफ़िक्स नहीं होगा।
    • basePath:
      • प्रकार: string
      • डिफ़ॉल्ट: ''
      • विवरण: एप्लिकेशन URL के लिए बेस पथ।
      • उदाहरण: '/my-app'
      • नोट: यह एप्लिकेशन के लिए URL कैसे बनाए जाते हैं, इसे प्रभावित करता है।
    • serverSetCookie:
      • प्रकार: string
      • डिफ़ॉल्ट: 'always'
      • विवरण: सर्वर पर लोकेल कुकी सेट करने का नियम।
      • विकल्प: 'always', 'never'
      • उदाहरण: 'never'
      • नोट: यह नियंत्रित करता है कि लोकेल कुकी हर अनुरोध पर सेट की जाए या कभी नहीं।
    • noPrefix:
      • प्रकार: boolean
      • डिफ़ॉल्ट: false
      • विवरण: क्या URL से लोकेल प्रीफ़िक्स को छोड़ना है।
      • उदाहरण: true
      • नोट: यदि true, तो URL में लोकेल जानकारी नहीं होगी।

    सामग्री कॉन्फ़िगरेशन

    एप्लिकेशन के भीतर सामग्री प्रबंधन से संबंधित सेटिंग्स, जिसमें डायरेक्टरी नाम, फ़ाइल एक्सटेंशन और व्युत्पन्न कॉन्फ़िगरेशन शामिल हैं।

    गुण

    • watch:
      • प्रकार: boolean
      • डिफ़ॉल्ट: process.env.NODE_ENV === 'development'
      • विवरण: यह इंगित करता है कि क्या Intlayer को ऐप में सामग्री घोषणा फ़ाइलों में परिवर्तनों को देखने और संबंधित शब्दकोशों को पुनः बनाने की आवश्यकता है।
    • fileExtensions:
      • प्रकार: string[]
      • डिफ़ॉल्ट: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
      • विवरण: शब्दकोश बनाने के लिए देखने के लिए फ़ाइल एक्सटेंशन।
      • उदाहरण: ['.data.ts', '.data.js', '.data.json']
      • नोट: फ़ाइल एक्सटेंशन को अनुकूलित करने से संघर्षों से बचने में मदद मिल सकती है।
    • baseDir:
      • प्रकार: string
      • डिफ़ॉल्ट: process.cwd()
      • विवरण: प्रोजेक्ट के लिए बेस डायरेक्टरी।
      • उदाहरण: '/path/to/project'
      • नोट: यह सभी Intlayer-संबंधित डायरेक्टरी को हल करने के लिए उपयोग किया जाता है।
    • dictionaryOutput:
      • प्रकार: string[]
      • डिफ़ॉल्ट: ['intlayer']
      • विवरण: उपयोग करने के लिए शब्दकोश आउटपुट का प्रकार, जैसे 'intlayer' या 'i18next'
    • contentDirName:
      • प्रकार: string
      • डिफ़ॉल्ट: 'src'
      • विवरण: वह डायरेक्टरी का नाम जहां सामग्री संग्रहीत की जाती है।
      • उदाहरण: 'data', 'content', 'locales'
      • नोट: यदि यह बेस डायरेक्टरी स्तर पर नहीं है, तो contentDir को अपडेट करें।
    • contentDir:

      • प्रकार: string
      • व्युत्पन्न: 'baseDir' / 'contentDirName'
      • विवरण: वह डायरेक्टरी पथ जहां सामग्री संग्रहीत की जाती है।
    • resultDirName:
      • प्रकार: string
      • डिफ़ॉल्ट: '.intlayer'
      • विवरण: वह डायरेक्टरी का नाम जहां परिणाम संग्रहीत किए जाते हैं।
      • उदाहरण: 'outputOFIntlayer'
      • नोट: यदि यह डायरेक्टरी बेस स्तर पर नहीं है, तो resultDir को अपडेट करें।
    • resultDir:

      • प्रकार: string
      • व्युत्पन्न: 'baseDir' / 'resultDirName'
      • विवरण: मध्यवर्ती या आउटपुट परिणाम संग्रहीत करने के लिए डायरेक्टरी पथ।
    • moduleAugmentationDirName:

      • प्रकार: string
      • डिफ़ॉल्ट: 'types'
      • विवरण: मॉड्यूल वृद्धि के लिए डायरेक्टरी, बेहतर IDE सुझाव और प्रकार जांच की अनुमति देती है।
      • उदाहरण: 'intlayer-types'
      • नोट: इसे tsconfig.json में शामिल करना सुनिश्चित करें।
    • moduleAugmentationDir:

      • प्रकार: string
      • व्युत्पन्न: 'baseDir' / 'moduleAugmentationDirName'
      • विवरण: मॉड्यूल वृद्धि और अतिरिक्त प्रकार की परिभाषाओं के लिए पथ।
    • dictionariesDirName:
      • प्रकार: string
      • डिफ़ॉल्ट: 'dictionary'
      • विवरण: शब्दकोश संग्रहीत करने के लिए डायरेक्टरी।
      • उदाहरण: 'translations'
      • नोट: यदि यह परिणाम डायरेक्टरी स्तर पर नहीं है, तो dictionariesDir को अपडेट करें।
    • dictionariesDir:

      • प्रकार: string
      • व्युत्पन्न: 'resultDir' / 'dictionariesDirName'
      • विवरण: स्थानीयकरण शब्दकोश संग्रहीत करने के लिए डायरेक्टरी।
    • i18nextResourcesDirName:
      • प्रकार: string
      • डिफ़ॉल्ट: 'i18next_dictionary'
      • विवरण: i18n शब्दकोश संग्रहीत करने के लिए डायरेक्टरी।
      • उदाहरण: 'translations'
      • नोट: यदि यह परिणाम डायरेक्टरी स्तर पर नहीं है, तो i18nextResourcesDir को अपडेट करें।
      • नोट: सुनिश्चित करें कि i18n शब्दकोश आउटपुट में i18next शामिल है ताकि i18next के लिए शब्दकोश बनाए जा सकें।
    • i18nextResourcesDir:

      • प्रकार: string
      • व्युत्पन्न: 'resultDir' / 'i18nextResourcesDirName'
      • विवरण: i18n शब्दकोश संग्रहीत करने के लिए डायरेक्टरी।
      • नोट: सुनिश्चित करें कि यह डायरेक्टरी i18next आउटपुट प्रकार के लिए कॉन्फ़िगर की गई है।
    • typeDirName:

      • प्रकार: string
      • डिफ़ॉल्ट: 'types'
      • विवरण: शब्दकोश प्रकार संग्रहीत करने के लिए डायरेक्टरी।
      • उदाहरण: 'intlayer-types'
      • नोट: यदि यह परिणाम डायरेक्टरी स्तर पर नहीं है, तो typesDir को अपडेट करें।
    • typesDir:

      • प्रकार: string
      • व्युत्पन्न: 'resultDir' / 'typeDirName'
      • विवरण: शब्दकोश प्रकार संग्रहीत करने के लिए डायरेक्टरी।
    • mainDirName:
      • प्रकार: string
      • डिफ़ॉल्ट: 'main'
      • विवरण: मुख्य फ़ाइलें संग्रहीत करने के लिए डायरेक्टरी।
      • उदाहरण: 'intlayer-main'
      • नोट: यदि यह परिणाम डायरेक्टरी स्तर पर नहीं है, तो mainDir को अपडेट करें।
    • mainDir:
      • प्रकार: string
      • व्युत्पन्न: 'resultDir' / 'mainDirName'
      • विवरण: वह डायरेक्टरी जहां मुख्य एप्लिकेशन फ़ाइलें संग्रहीत की जाती हैं।
    • excludedPath:
      • प्रकार: string[]
      • डिफ़ॉल्ट: ['node_modules']
      • विवरण: सामग्री खोज से बाहर की गई डायरेक्टरी।
      • नोट: यह सेटिंग अभी तक उपयोग में नहीं है, लेकिन भविष्य के कार्यान्वयन के लिए योजना बनाई गई है।

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

    लॉगर को नियंत्रित करने वाली सेटिंग्स, जिसमें उपयोग करने के लिए प्रीफ़िक्स शामिल है।

    गुण

    • mode:
      • प्रकार: string
      • डिफ़ॉल्ट: default
      • विवरण: लॉगर के मोड को इंगित करता है।
      • विकल्प: default, verbose, disabled
      • उदाहरण: default
      • नोट: लॉगर का मोड। वर्बोज़ मोड अधिक जानकारी लॉग करेगा, लेकिन इसे डिबगिंग उद्देश्यों के लिए उपयोग किया जा सकता है। डिसेबल्ड मोड लॉगर को निष्क्रिय कर देगा।
    • prefix:
      • प्रकार: string
      • डिफ़ॉल्ट: '[intlayer] '
      • विवरण: लॉगर का प्रीफ़िक्स।
      • उदाहरण: '[my custom prefix] '
      • नोट: लॉगर का प्रीफ़िक्स।

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

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