अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
संस्करण इतिहास
- "locale न देने पर, request के locale की प्रतीक्षा करता है (Next.js headers और cookies)"v9.5.1228/9/2026
- "प्रारंभिक दस्तावेज़ीकरण"v9.4.023/8/2026
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
दस्तावेज़: intlayer में getIntlayerAsync फ़ंक्शन
विवरण
getIntlayerAsync फ़ंक्शन अपनी key के आधार पर एक डिक्शनरी चुनता है और दिए गए locale के लिए उसकी content को resolve करता है, केवल उस locale को लोड करते हुए।
यह getIntlayer का asynchronous counterpart है, जिसका उपयोग उन जगहों पर किया जाता है जहां डिक्शनरी rendering के बाहर पढ़ी जाती है, route head / metadata builders, loaders, server functions।
जहां getIntlayer merged डिक्शनरी को pull करता है जिसमें हर locale है, वहीं build plugins (@intlayer/babel, @intlayer/swc) इस call को getDictionaryAsync(loaderMap, key, locale) में rewrite करते हैं, जो .intlayer/dynamic_dictionaries/ में per-locale chunks की ओर इशारा करते हैं। इसलिए bundle केवल वास्तव में अनुरोधित locale को ही carry करता है।
इन plugins के बिना, एक unoptimized build, call synchronous dictionary registry के माध्यम से resolve होती है: वही content, per-locale split के बिना।
मुख्य विशेषताएं:
getIntlayerके समान typed keys, selectors और returned content- Optimized builds में केवल अनुरोधित locale chunk को load करता है
- एक ही chunk के लिए Concurrent calls एक single load share करती हैं
asyncmetadata builders, loaders और server functions में उपयोग के लिए सुरक्षित
फ़ंक्शन सिग्नेचर
कोड को क्लिपबोर्ड पर कॉपी करें
पैरामीटर
key: DictionaryKeys- विवरण: डिक्शनरी की कुंजी जिसे पढ़ना है, जैसा कि आपकी content files में घोषित किया गया है।
- प्रकार:
DictionaryKeys, हर घोषित डिक्शनरी कुंजी का एक union। - आवश्यक: हाँ
localeOrSelector: LocalesValues | DictionarySelector- विवरण: content को interpret करने के लिए locale, या dynamic dictionaries के लिए एक selector object।
'fr': एक locale{ item: 2 }: एक collection item (हर item को array के रूप में पाने के लिएitemको omit करें){ variant: 'black-friday' }: एक नाम दिया गया variant (defaultके लिए omit करें){ variant: { id: 'prod_abc', userId: '123' } }: एक structured variant- कोई भी selector एक locale ले सकता है:
{ item: 2, locale: 'fr' }
- प्रकार:
LocalesValues | DictionarySelector - आवश्यक: नहीं (वैकल्पिक)। छोड़ने पर, यह
getIntlayerकी तरह resolve होता है (request का locale, फिर संग्रहीत locale, फिरdefaultLocale)। asynchronous होने के कारण, यह request के locale की प्रतीक्षा भी कर सकता है जब वह केवल asynchronous रूप से पढ़ा जा सके: Next.js Server Components,generateMetadataऔर route handlers में, यह request केheaders()औरcookies()पढ़ता है, जैसेnext-intlayer/serverकाgetLocale()। यह पढ़ना route को dynamic rendering में ले जाता है, इसलिए यह तभी होता है जबIntlayerProviderने पहले से locale न दिया हो।
- विवरण: content को interpret करने के लिए locale, या dynamic dictionaries के लिए एक selector object।
plugins: Plugins[]- विवरण: Custom node transformers जो base interpreter plugins को replace करते हैं। Advanced use only।
- प्रकार:
Plugins[] - आवश्यक: नहीं (Optional)
Returns
- प्रकार:
Promise<Content>, एक promise जो आपकी घोषणा से टाइप किए गए dictionary की interpreted content को resolve करता है।
उदाहरण उपयोग
बुनियादी उपयोग
कोड को क्लिपबोर्ड पर कॉपी करें
import { getIntlayerAsync } from "intlayer";
const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
getIntlayer vs getIntlayerAsync
सभी डेटा सामग्री को स्पष्ट रूप से देखने के लिए तालिका को मोडल में खोलें
getIntlayer | getIntlayerAsync | |
|---|---|---|
| Returns | सामग्री | सामग्री का एक promise |
| Dictionary loaded | मर्ज किया गया शब्दकोश (सभी locales) | केवल अनुरोधित locale का chunk |
| Best suited for | Rendering, synchronous code paths | Metadata, loaders, server functions |
| Requires a plugin? | नहीं | नहीं, per-locale split को build plugins की आवश्यकता है |
दोनों एक ही arguments स्वीकार करते हैं और एक ही सामग्री return करते हैं: एक से दूसरे में स्विच करने से केवल कब और कितना load होता है, यह बदलता है।
संबंधित Functions
TypeScript
कोड को क्लिपबोर्ड पर कॉपी करें
