---
createdAt: 2024-08-13
updatedAt: 2025-09-16
title: कॉन्फ़िगरेशन
description: अपने एप्लिकेशन के लिए Intlayer को कॉन्फ़िगर करना सीखें। Intlayer को अपनी आवश्यकताओं के अनुसार अनुकूलित करने के लिए विभिन्न सेटिंग्स और विकल्पों को समझें।
keywords:
  - कॉन्फ़िगरेशन
  - सेटिंग्स
  - अनुकूलन
  - Intlayer
  - विकल्प
slugs:
  - doc
  - concept
  - configuration
history:
  - version: 6.0.0
    date: 2025-09-16
    changes: `live` आयात मोड जोड़ा
  - version: 6.0.0
    date: 2025-09-04
    changes: `hotReload` फ़ील्ड को `liveSync` से बदलें और `liveSyncPort` और `liveSyncURL` फ़ील्ड जोड़ें
  - version: 5.6.1
    date: 2025-07-25
    changes: `activateDynamicImport` को `importMode` विकल्प से बदलें
  - version: 5.6.0
    date: 2025-07-13
    changes: डिफ़ॉल्ट contentDir को `['src']` से बदलकर `['.']` करें
  - version: 5.5.11
    date: 2025-06-29
    changes: `docs` कमांड जोड़ें
---

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

## अवलोकन

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

---

## विषयसूची

<TOC/>

---

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

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

- `intlayer.config.ts`
- `intlayer.config.js`
- `intlayer.config.json`
- `intlayer.config.cjs`
- `intlayer.config.mjs`
- `.intlayerrc`

---

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

```typescript fileName="intlayer.config.ts" codeFormat="typescript"
import { Locales, type IntlayerConfig } from "intlayer";

const config: IntlayerConfig = {
  internationalization: {
    locales: [Locales.ENGLISH], // उपलब्ध भाषाओं की सूची
  },
  content: {
    autoFill: "./{{fileName}}.content.json", // सामग्री को स्वचालित रूप से भरने के लिए फ़ाइल पथ
    contentDir: ["src", "../ui-library"], // सामग्री निर्देशिकाएँ
  },
  middleware: {
    noPrefix: false, // क्या प्रीफ़िक्स को हटाना है
  },
  editor: {
    applicationURL: "https://example.com", // संपादक के लिए एप्लिकेशन URL
  },
  ai: {
    apiKey: process.env.OPENAI_API_KEY, // AI सेवा के लिए API कुंजी
    applicationContext: "This is a test application", // एप्लिकेशन संदर्भ
  },
  build: {
    importMode: "dynamic", // आयात मोड
  },
};

export default config;
```

```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
const { Locales } = require("intlayer");

/** @type {import('intlayer').IntlayerConfig} */
const config = {
  internationalization: {
    locales: [Locales.ENGLISH], // उपलब्ध भाषाओं की सूची
  },
  content: {
    contentDir: ["src", "../ui-library"], // सामग्री निर्देशिकाएँ
  },
  middleware: {
    noPrefix: false, // क्या प्रीफ़िक्स को हटाना है
  },
  editor: {
    applicationURL: "https://example.com", // संपादक के लिए एप्लिकेशन URL
  },
  ai: {
    apiKey: process.env.OPENAI_API_KEY, // AI सेवा के लिए API कुंजी
    applicationContext: "यह एक परीक्षण एप्लिकेशन है", // एप्लिकेशन संदर्भ
  },
  build: {
    importMode: "dynamic", // आयात मोड
  },
};

module.exports = config;
```

```json5 fileName=".intlayerrc" codeFormat="json"
{
  "internationalization": {
    "locales": ["en"], // उपलब्ध भाषाओं की सूची
  },
  "content": {
    "contentDir": ["src", "../ui-library"], // सामग्री निर्देशिकाएँ
  },
  "middleware": {
    "noPrefix": false, // क्या प्रीफ़िक्स को हटाना है
  },
  "editor": {
    "applicationURL": "https://example.com", // संपादक के लिए एप्लिकेशन URL
  },
  "ai": {
    "apiKey": "XXXX",
    "applicationContext": "यह एक परीक्षण एप्लिकेशन है",
  },
  "build": {
    "importMode": "dynamic",
  },
}
```

---

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

निम्नलिखित अनुभाग 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`
  - _डिफ़ॉल्ट_: `http://localhost:3000`
  - _विवरण_: एप्लिकेशन का 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 को गोपनीय रखा जाना चाहिए और सार्वजनिक रूप से साझा नहीं किया जाना चाहिए। कृपया इन्हें सुरक्षित स्थान पर रखें, जैसे कि पर्यावरण चर (environment variables) में।

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

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

- **liveSync**:
  - _प्रकार_: `boolean`
  - _डिफ़ॉल्ट_: `false`
  - _विवरण_: यह संकेत करता है कि जब CMS / विज़ुअल एडिटर / बैकएंड में कोई परिवर्तन होता है, तो एप्लिकेशन सर्वर को एप्लिकेशन की सामग्री को हॉट रीलोड करना चाहिए या नहीं।
  - _उदाहरण_: `true`
  - _नोट_: उदाहरण के लिए, जब कोई नया शब्दकोश जोड़ा या अपडेट किया जाता है, तो एप्लिकेशन पृष्ठ में दिखाने के लिए सामग्री को अपडेट करेगा।
  - _नोट_: लाइव सिंक को एप्लिकेशन की सामग्री को किसी अन्य सर्वर पर बाहरीकरण करने की आवश्यकता होती है। इसका मतलब है कि यह एप्लिकेशन के प्रदर्शन को थोड़ा प्रभावित कर सकता है। इसे सीमित करने के लिए, हम सुझाव देते हैं कि एप्लिकेशन और लाइव सिंक सर्वर को एक ही मशीन पर होस्ट किया जाए। साथ ही, लाइव सिंक और `optimize` के संयोजन से लाइव सिंक सर्वर पर कई अनुरोध भेजे जा सकते हैं। आपकी इन्फ्रास्ट्रक्चर के आधार पर, हम दोनों विकल्पों और उनके संयोजन का परीक्षण करने की सलाह देते हैं।

- **liveSyncPort**:
  - _प्रकार_: `number`
  - _डिफ़ॉल्ट_: `4000`
  - _विवरण_: लाइव सिंक सर्वर का पोर्ट।
  - _उदाहरण_: `4000`
  - _नोट_: लाइव सिंक सर्वर का पोर्ट।

- **liveSyncURL**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'http://localhost:{liveSyncPort}'`
  - _विवरण_: लाइव सिंक सर्वर का URL।
  - _उदाहरण_: `'https://example.com'`
  - _नोट_: डिफ़ॉल्ट रूप से localhost की ओर इशारा करता है लेकिन रिमोट लाइव सिंक सर्वर के मामले में इसे किसी भी URL में बदला जा सकता है।

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

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

#### गुण

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

- **cookieName**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'intlayer-locale'`
  - _विवरण_: लोकल को स्टोर करने के लिए उपयोग की जाने वाली कुकी का नाम।
  - _उदाहरण_: `'custom-locale'`
  - _नोट_: सत्रों के बीच लोकल को बनाए रखने के लिए उपयोग किया जाता है।

- **prefixDefault**:
  - _प्रकार_: `boolean`
  - _डिफ़ॉल्ट_: `false`
  - _विवरण_: क्या URL में डिफ़ॉल्ट लोकल शामिल किया जाए।
  - _उदाहरण_: `true`
  - _नोट_:
    - यदि `true` और `defaultLocale = 'en'`: पथ = `/en/dashboard` या `/fr/dashboard`
    - यदि `false` और `defaultLocale = 'en'`: पथ = `/dashboard` या `/fr/dashboard`

- **basePath**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `''`
  - _विवरण_: एप्लिकेशन URL के लिए बेस पथ।
  - _उदाहरण_: `'/my-app'`
  - _नोट_:
    - यदि एप्लिकेशन `https://example.com/my-app` पर होस्ट किया गया है
    - बेस पथ होगा `'/my-app'`
    - URL होगा `https://example.com/my-app/en`
    - यदि बेस पाथ सेट नहीं है, तो URL होगा `https://example.com/en`

- **serverSetCookie**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'always'`
  - _विवरण_: सर्वर पर लोकल कुकी सेट करने का नियम।
  - _विकल्प_: `'always'`, `'never'`
  - _उदाहरण_: `'never'`
  - _नोट_: नियंत्रित करता है कि लोकल कुकी हर अनुरोध पर सेट की जाए या कभी नहीं।

- **noPrefix**:
  - _प्रकार_: `boolean`
  - _डिफ़ॉल्ट_: `false`
  - _विवरण_: क्या URL से लोकल प्रीफिक्स को हटाना है।
  - _उदाहरण_: `true`
  - _नोट_:
    - यदि `true`: URL में कोई प्रीफिक्स नहीं होगा
    - यदि `false`: URL में प्रीफिक्स होगा
    - `basePath = '/my-app'` के साथ उदाहरण:
      - यदि `noPrefix = false`: URL होगा `https://example.com/my-app/en`
      - यदि `noPrefix = true`: URL होगा `https://example.com`

---

### सामग्री विन्यास

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

#### गुण

- **autoFill**:
  - _प्रकार_: `boolean | string | { [key in Locales]?: string }`
  - _डिफ़ॉल्ट_: `undefined`
  - _विवरण_: यह संकेत करता है कि सामग्री को AI का उपयोग करके स्वचालित रूप से कैसे भरा जाना चाहिए। इसे वैश्विक रूप से `intlayer.config.ts` फ़ाइल में घोषित किया जा सकता है।
  - _उदाहरण_: true
  - _उदाहरण_: `'./{{fileName}}.content.json'`
  - _उदाहरण_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
  - _नोट_: ऑटो फिल कॉन्फ़िगरेशन। यह हो सकता है:
    - boolean: सभी लोकल के लिए ऑटो फिल सक्षम करें
    - string: एकल फ़ाइल या वेरिएबल्स के साथ टेम्पलेट का पथ
    - object: प्रति-लोकल फ़ाइल पथ

- **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'`।

- **contentDir**:
  - _प्रकार_: `string[]`
  - _डिफ़ॉल्ट_: `['.']`
  - _उदाहरण_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
  - _विवरण_: वह डायरेक्टरी पथ जहाँ सामग्री संग्रहीत होती है।

- **dictionariesDir**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'.intlayer/dictionaries'`
  - _विवरण_: मध्यवर्ती या आउटपुट परिणामों को संग्रहीत करने के लिए डायरेक्टरी पथ।

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

- **unmergedDictionariesDir**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'.intlayer/unmerged_dictionary'`
  - _विवरण_: बिना मर्ज किए गए शब्दकोशों को संग्रहीत करने के लिए डायरेक्टरी।
  - _उदाहरण_: `'translations'`

- **dictionariesDir**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'.intlayer/dictionary'`
  - _विवरण_: स्थानीयकरण शब्दकोशों को संग्रहीत करने के लिए निर्देशिका।
  - _उदाहरण_: `'translations'`

- **i18nextResourcesDir**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'i18next_dictionary'`
  - _विवरण_: i18n शब्दकोशों को संग्रहीत करने के लिए निर्देशिका।
  - _उदाहरण_: `'translations'`
  - _नोट_: सुनिश्चित करें कि यह निर्देशिका i18next आउटपुट प्रकार के लिए कॉन्फ़िगर की गई हो।

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

- **mainDir**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'main'`
  - _विवरण_: मुख्य एप्लिकेशन फ़ाइलों को संग्रहीत करने के लिए निर्देशिका।
  - _उदाहरण_: `'intlayer-main'`

- **excludedPath**:
  - _प्रकार_: `string[]`
  - _डिफ़ॉल्ट_: `['node_modules']`
  - _विवरण_: सामग्री खोज से बाहर किए गए निर्देशिकाएँ।
  - _नोट_: यह सेटिंग अभी उपयोग में नहीं है, लेकिन भविष्य में लागू करने की योजना है।

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

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

#### गुण

- **mode**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `default`
  - _विवरण_: लॉगर के मोड को दर्शाता है।
  - _विकल्प_: `default`, `verbose`, `disabled`
  - _उदाहरण_: `default`
  - _नोट_: लॉगर का मोड। verbose मोड अधिक जानकारी लॉग करेगा, लेकिन इसे डिबगिंग के लिए उपयोग किया जा सकता है। disabled मोड लॉगर को अक्षम कर देगा।

- **prefix**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'[intlayer] '`
  - _विवरण_: लॉगर का उपसर्ग।
  - _उदाहरण_: `'[my custom prefix] '`
  - _Note_: लॉगर का उपसर्ग।

### एआई कॉन्फ़िगरेशन

सेटिंग्स जो Intlayer की एआई विशेषताओं को नियंत्रित करती हैं, जिसमें प्रदाता, मॉडल, और API कुंजी शामिल हैं।

यह कॉन्फ़िगरेशन वैकल्पिक है यदि आप [Intlayer डैशबोर्ड](https://intlayer.org/dashboard/project) पर एक एक्सेस कुंजी का उपयोग करके पंजीकृत हैं। Intlayer स्वचालित रूप से आपकी आवश्यकताओं के लिए सबसे कुशल और लागत-प्रभावी एआई समाधान का प्रबंधन करेगा। डिफ़ॉल्ट विकल्पों का उपयोग करने से बेहतर दीर्घकालिक रखरखाव सुनिश्चित होता है क्योंकि Intlayer लगातार सबसे प्रासंगिक मॉडलों का उपयोग करने के लिए अपडेट होता रहता है।

यदि आप अपनी स्वयं की API कुंजी या विशिष्ट मॉडल का उपयोग करना पसंद करते हैं, तो आप अपनी कस्टम एआई कॉन्फ़िगरेशन परिभाषित कर सकते हैं।
यह AI कॉन्फ़िगरेशन आपके Intlayer पर्यावरण में वैश्विक रूप से उपयोग किया जाएगा। CLI कमांड इन सेटिंग्स का उपयोग कमांड्स (जैसे `fill`) के लिए डिफ़ॉल्ट के रूप में करेंगे, साथ ही SDK, विज़ुअल एडिटर, और CMS भी इनका उपयोग करेंगे। आप कमांड पैरामीटर का उपयोग करके विशिष्ट उपयोग मामलों के लिए इन डिफ़ॉल्ट मानों को ओवरराइड कर सकते हैं।

Intlayer बेहतर लचीलापन और विकल्प के लिए कई AI प्रदाताओं का समर्थन करता है। वर्तमान में समर्थित प्रदाता हैं:

- **OpenAI** (डिफ़ॉल्ट)
- **Anthropic Claude**
- **Mistral AI**
- **DeepSeek**
- **Google Gemini**
- **Meta Llama**

#### गुण

- **provider**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: `'openai'`
  - _विवरण_: Intlayer की AI सुविधाओं के लिए उपयोग करने वाला प्रदाता।
  - _विकल्प_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`
  - _उदाहरण_: `'anthropic'`
  - _नोट_: विभिन्न प्रदाताओं के लिए अलग-अलग API कुंजी और मूल्य निर्धारण मॉडल हो सकते हैं।

- **model**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: कोई नहीं
  - _विवरण_: Intlayer की AI सुविधाओं के लिए उपयोग किया जाने वाला मॉडल।
  - _उदाहरण_: `'gpt-4o-2024-11-20'`
  - _नोट_: उपयोग किए जाने वाले विशिष्ट मॉडल प्रदाता के अनुसार भिन्न हो सकते हैं।

- **temperature**:
  - _प्रकार_: `number`
  - _डिफ़ॉल्ट_: कोई नहीं
  - _विवरण_: तापमान AI की प्रतिक्रियाओं की यादृच्छिकता को नियंत्रित करता है।
  - _उदाहरण_: `0.1`
  - _नोट_: उच्च तापमान AI को अधिक रचनात्मक और कम पूर्वानुमेय बनाता है।

- **apiKey**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: कोई नहीं
  - _विवरण_: चुने गए प्रदाता के लिए आपकी API कुंजी।
  - _उदाहरण_: `process.env.OPENAI_API_KEY`
  - _नोट_: महत्वपूर्ण: API कुंजियाँ गोपनीय रखनी चाहिए और सार्वजनिक रूप से साझा नहीं करनी चाहिए। कृपया सुनिश्चित करें कि इन्हें सुरक्षित स्थान पर रखा जाए, जैसे कि पर्यावरण चर (environment variables) में।

- **applicationContext**:
  - _प्रकार_: `string`
  - _डिफ़ॉल्ट_: कोई नहीं
  - _विवरण_: आपके एप्लिकेशन के बारे में अतिरिक्त संदर्भ AI मॉडल को प्रदान करता है, जिससे यह अधिक सटीक और संदर्भानुसार उपयुक्त अनुवाद उत्पन्न कर सके। इसमें आपके ऐप के डोमेन, लक्षित दर्शक, टोन, या विशिष्ट शब्दावली की जानकारी शामिल हो सकती है।

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

सेटिंग्स जो नियंत्रित करती हैं कि Intlayer आपके एप्लिकेशन की अंतरराष्ट्रीयकरण को कैसे अनुकूलित और बिल्ड करता है।

बिल्ड विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर लागू होते हैं।

> विकास मोड में, Intlayer विकास अनुभव को सरल बनाने के लिए शब्दकोशों के लिए स्थैतिक आयात का उपयोग करता है।

> जब अनुकूलित किया जाता है, तो Intlayer शब्दकोश कॉल को अनुकूलित करने के लिए बदल देगा, ताकि अंतिम बंडल केवल उन शब्दकोशों को आयात करे जो वास्तव में उपयोग किए जाते हैं।

#### गुण

- **optimize**:
  - _प्रकार_: `boolean`
  - _डिफ़ॉल्ट_: `process.env.NODE_ENV === 'production'`
  - _विवरण_: नियंत्रित करता है कि क्या बिल्ड को अनुकूलित किया जाना चाहिए।
  - _उदाहरण_: `true`
  - _नोट_: सक्षम होने पर, Intlayer शब्दकोशों के सभी कॉल को अनुकूलित करने के लिए बदल देगा। इस तरह अंतिम बंडल केवल उन शब्दकोशों को आयात करेगा जो उपयोग किए जाते हैं। सभी आयात स्थैतिक आयात के रूप में रहेंगे ताकि शब्दकोशों को लोड करते समय असिंक्रोनस प्रोसेसिंग से बचा जा सके।
  - _नोट_: Intlayer `useIntlayer` के सभी कॉल्स को `importMode` विकल्प द्वारा परिभाषित मोड से और `getIntlayer` को `getDictionary` से बदल देगा।
  - _नोट_: यह विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर निर्भर करता है।
  - _नोट_: सुनिश्चित करें कि सभी कुंजियाँ `useIntlayer` कॉल्स में स्थैतिक रूप से घोषित हों। उदाहरण के लिए `useIntlayer('navbar')`।

- **importMode**:
  - _प्रकार_: `'static' | 'dynamic' | 'live'`
  - _डिफ़ॉल्ट_: `'static'`
  - _विवरण_: नियंत्रित करता है कि शब्दकोश कैसे आयात किए जाते हैं।
  - _उदाहरण_: `'dynamic'`
  - _नोट_: उपलब्ध मोड:
    - "static": शब्दकोश स्थैतिक रूप से आयात किए जाते हैं। `useIntlayer` को `useDictionary` से बदलता है।
    - "dynamic": शब्दकोश Suspense का उपयोग करके गतिशील रूप से आयात किए जाते हैं। `useIntlayer` को `useDictionaryDynamic` से बदलता है।
  - "live": शब्दकोशों को लाइव सिंक API का उपयोग करके गतिशील रूप से प्राप्त किया जाता है। `useIntlayer` को `useDictionaryFetch` से बदलता है।
  - _नोट_: डायनेमिक इम्पोर्ट्स Suspense पर निर्भर करते हैं और रेंडरिंग प्रदर्शन को थोड़ा प्रभावित कर सकते हैं।
  - _नोट_: यदि अक्षम किया गया है, तो सभी लोकल एक साथ लोड होंगे, भले ही उनका उपयोग न किया जाए।
  - _नोट_: यह विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर निर्भर करता है।
  - _नोट_: सुनिश्चित करें कि `useIntlayer` कॉल्स में सभी कुंजी स्थैतिक रूप से घोषित हों। उदाहरण के लिए `useIntlayer('navbar')`।
  - _नोट_: यदि `optimize` अक्षम है, तो इस विकल्प को अनदेखा किया जाएगा।
  - _नोट_: यदि इसे "live" पर सेट किया गया है, तो केवल वे शब्दकोश जो रिमोट सामग्री शामिल करते हैं, और जिन्हें "live" फ्लैग के रूप में सेट किया गया है, उन्हें लाइव मोड के रूप में परिवर्तित किया जाएगा। अन्य शब्दकोशों को "dynamic" मोड के रूप में गतिशील रूप से आयात किया जाएगा ताकि फ़ेच क्वेरी की संख्या और लोड प्रदर्शन का अनुकूलन किया जा सके।
  - _नोट_: लाइव मोड शब्दकोशों को प्राप्त करने के लिए लाइव सिंक API का उपयोग करेगा। यदि API कॉल विफल हो जाती है, तो शब्दकोशों को "dynamic" मोड के रूप में गतिशील रूप से आयात किया जाएगा।
  - _नोट_: यह विकल्प `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` और `useDictionaryDynamic` फ़ंक्शनों को प्रभावित नहीं करेगा।

- **traversePattern**:
  - _प्रकार_: `string[]`
  - _डिफ़ॉल्ट_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
  - _विवरण_: पैटर्न जो यह परिभाषित करते हैं कि अनुकूलन के दौरान किन फ़ाइलों को ट्रैवर्स किया जाना चाहिए।
    - _उदाहरण_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
  - _नोट_: इसका उपयोग संबंधित कोड फ़ाइलों तक अनुकूलन को सीमित करने और बिल्ड प्रदर्शन में सुधार करने के लिए करें।
  - _नोट_: यदि `optimize` अक्षम है तो इस विकल्प को नजरअंदाज किया जाएगा।
  - _नोट_: ग्लोब पैटर्न का उपयोग करें।
