अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
अपने पसंदीदा AI एसिस्टेंट में Intlayer MCP सर्वर को एकीकृत करके आप सभी दस्तावेज़ को सीधे ChatGPT, DeepSeek, Cursor, VSCode से प्राप्त कर सकते हैं।
MCP सर्वर दस्तावेज़ देखेंइस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
लोकल मैपर
लोकल मैपर एक शक्तिशाली उपकरण है जो आपके इंटलेयर एप्लिकेशन में अंतरराष्ट्रीयकरण डेटा के साथ काम करने में मदद करता है। यह लोकल-विशिष्ट डेटा को परिवर्तित और व्यवस्थित करने के लिए तीन मुख्य फ़ंक्शन प्रदान करता है: localeMap, localeFlatMap, और localeRecord।
लोकल मैपर कैसे काम करता है
लोकल मैपर एक LocaleData ऑब्जेक्ट पर काम करता है जिसमें किसी लोकल के बारे में सभी आवश्यक जानकारी होती है:
type LocaleData = { locale: LocalesValues; // वर्तमान लोकल कोड (जैसे, 'en', 'fr') defaultLocale: LocalesValues; // डिफ़ॉल्ट लोकल कोड isDefault: boolean; // क्या यह डिफ़ॉल्ट लोकल है locales: LocalesValues[]; // सभी उपलब्ध लोकल्स की सूची urlPrefix: string; // इस लोकल के लिए URL उपसर्ग (जैसे, '/fr' या '')};
मैपर फ़ंक्शन आपके कॉन्फ़िगरेशन में प्रत्येक लोकल के लिए यह डेटा स्वचालित रूप से उत्पन्न करते हैं, निम्न बातों को ध्यान में रखते हुए:
- आपके कॉन्फ़िगर किए गए लोकल्स की सूची
- डिफ़ॉल्ट लोकल सेटिंग
- क्या डिफ़ॉल्ट लोकल को URL में उपसर्गित किया जाना चाहिए
मुख्य फ़ंक्शन
localeMap
एक मैपर फ़ंक्शन का उपयोग करके प्रत्येक लोकल को एक एकल ऑब्जेक्ट में परिवर्तित करता है।
localeMap<T>( mapper: (locale: LocaleData) => T, locales?: LocalesValues[], defaultLocale?: LocalesValues, prefixDefault?: boolean): T[]
उदाहरण: रूट ऑब्जेक्ट्स बनाना
import { localeMap } from "intlayer";const routes = localeMap((localizedData) => ({ path: localizedData.urlPrefix, name: localizedData.locale, isDefault: localizedData.isDefault, locales: localizedData.locales, defaultLocale: localizedData.defaultLocale,}));// परिणाम:// [// { path: '/', name: 'en', isDefault: true, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },// { path: '/fr', name: 'fr', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },// { path: '/es', name: 'es', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' }// ]
localeFlatMap
localeMap के समान, लेकिन मैपर फ़ंक्शन ऑब्जेक्ट्स की एक सरणी लौटाता है जिसे एक एकल सरणी में समतल किया जाता है।
localeFlatMap<T>( mapper: (locale: LocaleData) => T[], locales?: LocalesValues[], defaultLocale?: LocalesValues, prefixDefault?: boolean): T[]
उदाहरण: प्रत्येक लोकल के लिए कई रूट बनाना
import { localeFlatMap } from "intlayer";const routes = localeFlatMap((localizedData) => [ { path: localizedData.urlPrefix, name: localizedData.locale, isDefault: localizedData.isDefault, }, { path: `${localizedData.urlPrefix}/about`, name: `${localizedData.locale}-about`, isDefault: localizedData.isDefault, },]);// परिणाम:// [// { path: '/', name: 'en', isDefault: true },// { path: '/about', name: 'en-about', isDefault: true },// { path: '/fr', name: 'fr', isDefault: false },// { path: '/fr/about', name: 'fr-about', isDefault: false },// { path: '/es', name: 'es', isDefault: false },// { path: '/es/about', name: 'es-about', isDefault: false }// ]
localeRecord
एक रिकॉर्ड ऑब्जेक्ट बनाता है जहाँ प्रत्येक लोकल एक कुंजी होती है जो मैपर फ़ंक्शन द्वारा परिवर्तित मान से मैप होती है।
localeRecord<T>( mapper: (locale: LocaleData) => T, locales?: Locales[], defaultLocale?: Locales, prefixDefault?: boolean): Record<Locales, T>
उदाहरण: अनुवाद फ़ाइलें लोड करना
import { localeRecord } from "intlayer";const translations = localeRecord(({ locale }) => require(`./translations/${locale}.json`));// परिणाम:// {// en: { welcome: 'स्वागत है', hello: 'नमस्ते' },// fr: { welcome: 'Bienvenue', hello: 'Bonjour' },// es: { welcome: 'Bienvenido', hello: 'Hola' }// }
लोकल मैपर सेट करना
लोकल मैपर स्वचालित रूप से आपके Intlayer कॉन्फ़िगरेशन का उपयोग करता है, लेकिन आप पैरामीटर पास करके डिफ़ॉल्ट सेटिंग्स को ओवरराइड कर सकते हैं:
डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग करना
import { localeMap } from "intlayer";// intlayer.config.ts से कॉन्फ़िगरेशन का उपयोग करता हैconst routes = localeMap((data) => ({ path: data.urlPrefix, locale: data.locale,}));
कॉन्फ़िगरेशन ओवरराइड करना
import { localeMap } from "intlayer";// लोकल और डिफ़ॉल्ट लोकल को ओवरराइड करेंconst customRoutes = localeMap( (data) => ({ path: data.urlPrefix, locale: data.locale }), ["en", "fr", "de"], // कस्टम लोकल "en", // कस्टम डिफ़ॉल्ट लोकल true // URLs में डिफ़ॉल्ट लोकल का प्रीफिक्स जोड़ें);
उन्नत उपयोग के उदाहरण
नेविगेशन मेनू बनाना
import { localeMap } from "intlayer";const navigationItems = localeMap((data) => ({ label: data.locale.toUpperCase(), href: data.urlPrefix || "/", isActive: data.isDefault, flag: `/flags/${data.locale}.svg`,}));
साइटमैप डेटा जनरेट करना
import { localeFlatMap } from "intlayer";const sitemapUrls = localeFlatMap((data) => [ { url: `${data.urlPrefix}/`, lastmod: new Date().toISOString(), changefreq: "daily", priority: data.isDefault ? 1.0 : 0.8, }, { url: `${data.urlPrefix}/about`, lastmod: new Date().toISOString(), changefreq: "मासिक", priority: data.isDefault ? 0.8 : 0.6, },]);
डायनेमिक अनुवाद लोडिंग
import { localeRecord } from "intlayer";const translationModules = localeRecord(({ locale }) => ({ messages: import(`./locales/${locale}/messages.json`), validation: import(`./locales/${locale}/validation.json`), metadata: { locale, direction: ["ar", "he", "fa"].includes(locale) ? "rtl" : "ltr", },}));
कॉन्फ़िगरेशन एकीकरण
Locale Mapper आपके Intlayer कॉन्फ़िगरेशन के साथ सहजता से एकीकृत होता है:
- लोकल: स्वचालित रूप से configuration.internationalization.locales का उपयोग करता है
- डिफ़ॉल्ट लोकल: configuration.internationalization.defaultLocale का उपयोग करता है
- URL प्रीफिक्सिंग: configuration.middleware.prefixDefault का सम्मान करता है
यह आपके एप्लिकेशन में स्थिरता सुनिश्चित करता है और कॉन्फ़िगरेशन की पुनरावृत्ति को कम करता है।
दस्तावेज़ इतिहास
संस्करण | तिथि | परिवर्तन |
---|---|---|
5.7.2 | 2025-07-27 | लोकल मैपर दस्तावेज़ जोड़ें |