अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "दस्तावेज़ीकरण की शुरुआत"v9.4.024/8/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
intlayer Elysia प्लगइन दस्तावेज़
Elysia के लिए intlayer प्लगइन उपयोगकर्ता की locale का पता लगाता है और route context में एक intlayer ऑब्जेक्ट इंजेक्ट करता है। यह अनुरोध संदर्भ के भीतर global translation फ़ंक्शनों के उपयोग को भी सक्षम बनाता है।
उपयोग
कोड को क्लिपबोर्ड पर कॉपी करें
वही helpers स्टैंडअलोन exports के रूप में भी उपलब्ध हैं, इसलिए आप route context को डीस्ट्रक्चर किए बिना उन्हें कॉल कर सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
विवरण
प्लगइन निम्नलिखित कार्य करता है:
- लोकेल पहचान: यह क्लाइंट द्वारा स्पष्ट रूप से सेट की गई locale को storage (cookie, header) से पढ़ता है, फिर
Accept-Languageheader से नेगोशिएट की गई locale पर fallback करता है। - कॉन्टेक्स्ट इंजेक्शन: यह Elysia route context में एक
intlayerप्रॉपर्टी जोड़ता है, जिसमें शामिल हैं:locale: इस अनुरोध के लिए उपयोग की जाने वाली locale, जिसमेंlocale_storageकोlocale_detectedपर वरीयता मिलती है।locale_storage: क्लाइंट द्वारा cookie या header के माध्यम से स्पष्ट रूप से मांगी गई locale।locale_detected: अनुरोध के headers से नेगोशिएट की गई locale।defaultLocale:intlayer.config.tsमें fallback के रूप में कॉन्फ़िगर की गई locale।t: एक अनुवाद फ़ंक्शन।getIntlayer: कुंजी द्वारा dictionaries प्राप्त करने वाला फ़ंक्शन।getDictionary: dictionary ऑब्जेक्ट्स को प्रोसेस करने वाला फ़ंक्शन।
- Context Management: यह एक असिंक्रोनस संदर्भ प्रबंधित करने के लिए
AsyncLocalStorageका उपयोग करता है, जिससे वैश्विक Intlayer फ़ंक्शन (t,getIntlayer,getDictionary) संदर्भ ऑब्जेक्ट पास किए बिना रिक्वेस्ट-विशिष्ट locale तक पहुंच सकें।
Node पर आधारित Intlayer प्लगइनों के विपरीत,elysia-intlayercls-hookedके बजायAsyncLocalStorageपर निर्भर करता है, क्योंकिcls-hookedasync_hooks.createHookपर निर्भर है, जिसे Bun लागू नहीं करता।
रिस्पॉन्स मैप होते ही रिक्वेस्ट संदर्भ मुक्त कर दिया जाता है, ताकि स्टैंडअलोन helpers कभी भी पहले से समाप्त हो चुके अनुरोध के विरुद्ध हल न हों। जब उन्हें प्लगइन द्वारा संभाले गए अनुरोध के बाहर कॉल किया जाता है, तो वे कॉन्फ़िगर की गई डिफ़ॉल्ट locale पर fallback करते हैं।
कॉन्फ़िगरेशन
प्लगइन आपकी intlayer.config.ts फ़ाइल पढ़ता है। आप locale पहचान के लिए उपयोग किए जाने वाले cookie और header को कस्टमाइज़ कर सकते हैं:
कोड को क्लिपबोर्ड पर कॉपी करें
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH],
defaultLocale: Locales.ENGLISH,
},
routing: {
storage: [
{ type: "header", name: "my-locale-header" },
{ type: "cookie", name: "my-locale-cookie" },
],
},
};
export default config;
कॉन्फ़िगरेशन के बारे में अधिक जानकारी के लिए, कॉन्फ़िगरेशन दस्तावेज़ देखें।
