Intlayer Configuration Documentation
Overview
Intlayer configuración फ़ाइलों को प्लगइन के विभिन्न पहलुओं जैसे अंतर्राष्ट्रीयकरण, मिडलवेयर और सामग्री प्रबंधन को अनुकूलित करने की अनुमति देती है। इस दस्तावेज़ में कॉन्फ़िगरेशन में प्रत्येक प्रॉपर्टी का विस्तृत विवरण दिया गया है।
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;
// intlayer.config.cjs
const { Locales } = require("intlayer");
/** @type {import('intlayer').IntlayerConfig} */
const config = {
internationalization: {
locales: [Locales.ENGLISH],
},
content: {
typesDir: "content/types",
},
middleware: {
noPrefix: false,
},
};
module.exports = config;
// .intlayerrc
{
"internationalization": {
"locales": ["en"],
},
"content": {
"typesDir": "content/types",
},
"middleware": {
"noPrefix": false,
},
}
Configuration Reference
निम्नलिखित अनुभागों में Intlayer के लिए उपलब्ध विभिन्न कॉन्फ़िगरेशन सेटिंग्स का वर्णन किया गया है।
Internationalization Configuration
अंतर्राष्ट्रीयकरण से संबंधित सेटिंग्स को परिभाषित करता है, जिसमें उपलब्ध स्थानीयताएँ और अनुप्रयोग के लिए डिफ़ॉल्ट स्थानीयता शामिल हैं।
Properties
- locales:
- Type: string[]
- Default: ['en']
- Description: आवेदन में समर्थित स्थानीयताओं की सूची।
- Example: ['en', 'fr', 'es']
strictMode:
- Type: string
- Default: required_only
- Description: टाइपस्क्रिप्ट का उपयोग करके अंतर्राष्ट्रीयकरण की गई सामग्री के मजबूत कार्यान्वयन को सुनिश्चित करें।
- 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 या अन्य समर्पित वातावरण चर का उपयोग करके सेट किया जा सकता है।
clientId:
- Type: string | undefined
- Default: undefined
- Description: clientId और clientSecret इंटलेयर पैकेजों को ओAuth2 प्रमाणीकरण का उपयोग करके बैकएंड के साथ प्रमाणीकरण करने की अनुमति देते हैं। एक एक्सेस टोकन उस उपयोगकर्ता को प्रमाणित करने के लिए उपयोग किया जाता है जो परियोजना से संबंधित है। एक्सेस टोकन प्राप्त करने के लिए, पर जाएं https://back.intlayer.org/dashboard/project और एक खाता बनाएं।
- Example: true
- Note: महत्वपूर्ण: clientId और clientSecret को गुप्त रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया सुनिश्चित करें कि इन्हें एक सुरक्षित स्थान, जैसे कि वातावरण बदलने वालों में रखा गया है।
clientSecret:
- Type: string | undefined
- Default: undefined
- Description: clientId और clientSecret इंटलेयर पैकेजों को ओAuth2 प्रमाणीकरण का उपयोग करके बैकएंड के साथ प्रमाणीकरण करने की अनुमति देते हैं। एक एक्सेस टोकन उस उपयोगकर्ता को प्रमाणित करने के लिए उपयोग किया जाता है जो परियोजना से संबंधित है। एक्सेस टोकन प्राप्त करने के लिए, पर जाएं https://back.intlayer.org/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: इसका उपयोग सभी Intlayer-संबंधित निर्देशिकाओं को हल करने के लिए किया जाता है।
- 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: स्थानीयकरण शब्दकोशों के लिए निर्देशिका।
- i18nDictionariesDirName:
- Type: string
- Default: 'i18n_dictionary'
- Description: i18n शब्दकोश संग्रहीत करने के लिए निर्देशिका।
- Example: 'translations'
- Note: यदि यह परिणाम निर्देशिका स्तर पर नहीं है, तो i18nDictionariesDir को अपडेट करें।
- Note: सुनिश्चित करें कि i18n शब्दकोशों का आउटपुट i18next को शामिल करता है ताकि i18next के लिए शब्दकोश बनाए जा सकें।
i18nDictionariesDir:
- Type: string
- DerivedFrom: 'resultDir' / 'i18nDictionariesDirName'
- 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: यह सेटिंग अभी तक उपयोग में नहीं है, लेकिन भविष्य के कार्यान्वयन के लिए योजना बनाई गई है।
अगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंक