अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "लोकल मैपर दस्तावेज़ जोड़ें"v5.7.227/7/2025
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
लोकल मैपर
लोकल मैपर एक शक्तिशाली उपकरण है जो आपके इंटलेयर एप्लिकेशन में अंतरराष्ट्रीयकरण डेटा के साथ काम करने में मदद करता है। यह लोकल-विशिष्ट डेटा को परिवर्तित और व्यवस्थित करने के लिए तीन मुख्य फ़ंक्शन प्रदान करता है: 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का सम्मान करता है
यह आपके एप्लिकेशन में स्थिरता सुनिश्चित करता है और कॉन्फ़िगरेशन की पुनरावृत्ति को कम करता है।