Intlayer Configuration Documentation

    Overview

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


    Configuration File Support

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

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

    Example config file

    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;

    Configuration Reference

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


    Internationalization Configuration

    विभिन्न स्थानीयताओं और अनुप्रयोग के लिए डिफ़ॉल्ट स्थानीयता सहित अंतर्राष्ट्रीयकरण से संबंधित सेटिंग्स को परिभाषित करता है।

    Properties

    • locales:
      • Type: string[]
      • Default: ['en']
      • Description: अनुप्रयोग में समर्थित स्थानीयताओं की सूची।
      • Example: ['en', 'fr', 'es']
    • strictMode:

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

      • Type: string
      • Default: 'en'
      • Description: डिफ़ॉल्ट स्थानीयता जिसका उपयोग तब किया जाएगा जब अनुरोधित स्थानीयता नहीं मिलती।
      • Example: 'en'
      • Note: इसका उपयोग तब किया जाता है जब URL, कुकी, या हैडर में कोई स्थानीयता निर्दिष्ट नहीं की गई हो।

    Editor Configuration

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

    Properties

    • backendURL:

      • Type: string
      • Default: https://back.intlayer.org
      • Description: बैकेंड सर्वर का URL।
      • Example: http://localhost:4000
    • enabled:

      • Type: boolean
      • Default: true
      • Description: इंगित करता है कि क्या संपादक सक्रिय है।
      • Example: true
      • Note: इसे NODE_ENV, या अन्य समर्पित env वैरिएबल का उपयोग करके सेट किया जा सकता है।
    • clientId:

      • Type: string | undefined
      • Default: undefined
      • Description: clientId और clientSecret इंटलेयर पैकेजों को बैकएंड के साथ oAuth2 प्रमाणीकरण का उपयोग करके प्रमाणित करने की अनुमति देते हैं। एक पहुँच टोकन उस उपयोगकर्ता को प्रमाणित करने के लिए उपयोग किया जाता है जो प्रोजेक्ट से संबंधित है। पहुँच टोकन प्राप्त करने के लिए, जाएँ /dashboard/project और एक खाता बनायें।
      • Example: true
      • Note: महत्वपूर्ण: clientId और clientSecret को गोपनीय रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया सुनिश्चित करें कि इन्हें एक सुरक्षित स्थान पर रखा जाए, जैसे कि पर्यावरण चरों में।
    • clientSecret:

      • Type: string | undefined
      • Default: undefined
      • Description: clientId और clientSecret इंटलेयर पैकेजों को बैकएंड के साथ oAuth2 प्रमाणीकरण का उपयोग करके प्रमाणित करने की अनुमति देते हैं। एक पहुँच टोकन उस उपयोगकर्ता को प्रमाणित करने के लिए उपयोग किया जाता है जो प्रोजेक्ट से संबंधित है। पहुँच टोकन प्राप्त करने के लिए, जाएँ /dashboard/project और एक खाता बनायें।
      • Example: true
      • Note: महत्वपूर्ण: clientId और clientSecret को गोपनीय रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया सुनिश्चित करें कि इन्हें एक सुरक्षित स्थान पर रखा जाए, जैसे कि पर्यावरण चरों में।

    Middleware Configuration

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

    Properties

    • headerName:
      • Type: string
      • Default: 'x-intlayer-locale'
      • Description: HTTP हैडर का नाम जिसका उपयोग स्थानीयता निर्धारित करने के लिए किया जाता है।
      • Example: 'x-custom-locale'
      • Note: यह API-आधारित स्थानीयता निर्धारण के लिए उपयोगी है।
    • cookieName:
      • Type: string
      • Default: 'intlayer-locale'
      • Description: कुकी का नाम जिसका उपयोग स्थानीयता को संग्रहीत करने के लिए किया जाता है।
      • Example: 'custom-locale'
      • Note: सत्रों के बीच स्थानीयता को बनाए रखने के लिए उपयोग किया जाता है।
    • prefixDefault:
      • Type: boolean
      • Default: true
      • Description: यह निर्धारित करता है कि क्या URL में डिफ़ॉल्ट स्थानीयता को शामिल किया जाए।
      • Example: false
      • Note: यदि false, तो डिफ़ॉल्ट स्थानीयता के लिए URLs में कोई स्थानीयता प्रीफिक्स नहीं होगा।
    • basePath:
      • Type: string
      • Default: ''
      • Description: अनुप्रयोग URLs के लिए आधार पथ।
      • Example: '/my-app'
      • Note: यह अनुप्रयोग के लिए URLs को बनाने के तरीके को प्रभावित करता है।
    • serverSetCookie:
      • Type: string
      • Default: 'always'
      • Description: सर्वर पर स्थानीयता कुकी सेट करने के लिए नियम।
      • Options: 'always', 'never'
      • Example: 'never'
      • Note: नियंत्रित करता है कि क्या स्थानीयता कुकी को हर अनुरोध पर सेट किया गया है या कभी नहीं।
    • noPrefix:
      • Type: boolean
      • Default: false
      • Description: यह निर्धारित करता है कि क्या URLs से स्थानीयता प्रीफिक्स को हटा दिया जाए।
      • Example: true
      • Note: यदि true, तो URLs में स्थानीयता की जानकारी नहीं होगी।

    Content Configuration

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

    Properties

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

      • Type: string
      • DerivedFrom: 'baseDir' / 'contentDirName'
      • Description: वह निर्देशिका पथ जहाँ सामग्री संग्रहीत है।
    • resultDirName:
      • Type: string
      • Default: '.intlayer'
      • Description: वह निर्देशिका का नाम जहाँ परिणाम संग्रहीत होते हैं।
      • Example: 'outputOFIntlayer'
      • Note: यदि यह निर्देशिका आधार स्तर पर नहीं है, तो resultDir को अपडेट करें।
    • resultDir:

      • Type: string
      • DerivedFrom: 'baseDir' / 'resultDirName'
      • Description: वह निर्देशिका पथ जहाँ मध्यवर्ती या आउटपुट परिणाम संग्रहीत होते हैं।
    • moduleAugmentationDirName:

      • Type: string
      • Default: 'types'
      • Description: मॉड्यूल संवर्धन के लिए निर्देशिका, जो बेहतर IDE सुझावों और प्रकार की जाँच की अनुमति देती है।
      • Example: 'intlayer-types'
      • Note: सुनिश्चित करें कि इसे tsconfig.json में शामिल किया गया है।
    • moduleAugmentationDir:

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

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

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

      • Type: string
      • Default: 'types'
      • Description: शब्दकोश प्रकारों को संग्रहीत करने के लिए निर्देशिका।
      • Example: 'intlayer-types'
      • Note: यदि यह परिणाम निर्देशिका स्तर पर नहीं है, तो typesDir को अपडेट करें।
    • typesDir:

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

    Logger Configuration

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

    Properties

    • enabled:
      • Type: boolean
      • Default: true
      • Description: इंगीत करता है कि क्या लॉगर सक्षम है।
      • Example: true
      • Note: इसे NODE_ENV, या अन्य समर्पित env वैरिएबल का उपयोग करके सेट किया जा सकता है।
    • level:
      • Type: 'info' | 'warn' | 'debug' | 'log'
      • Default: 'log'
      • Description: लॉगर का स्तर।
      • Example: 'info'
      • Note: लॉगर का स्तर। यह या तो 'log', 'info', 'warn', 'error', या 'debug' हो सकता है।
    • prefix:
      • Type: string
      • Default: '[intlayer] '
      • Description: लॉगर का प्रीफिक्स।
      • Example: '[my custom prefix] '
      • Note: लॉगर का प्रीफिक्स।

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

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