अपने प्रश्न को पूछें और दस्तावेज़ का सारांश प्राप्त करें, इस पृष्ठ और आपके चुने हुए AI प्रदाता का उपयोग करके
इस पृष्ठ की सामग्री एक AI द्वारा अनुवादित की गई है।
अंग्रेजी में मूल सामग्री के अंतिम संस्करण देखेंअगर आपके पास इस दस्तावेज़ को सुधारने के लिए कोई विचार है, तो कृपया GitHub पर एक पुल अनुरोध सबमिट करके योगदान देने में संकोच न करें।
दस्तावेज़ के लिए GitHub लिंकदस्तावेज़ का Markdown को क्लिपबोर्ड पर कॉपी करें
Intlayer का उपयोग करके अपने Next.js 15 को next-intl वेबसाइट के साथ अनुवादित करें | अंतरराष्ट्रीयकरण (i18n)
यह गाइड आपको Next.js 15 (App Router) ऐप में next-intl के सर्वोत्तम अभ्यासों के माध्यम से मार्गदर्शन करता है, और दिखाता है कि Intlayer को मजबूत अनुवाद प्रबंधन और स्वचालन के लिए कैसे ऊपर जोड़ा जाए।
next-i18next vs next-intl vs Intlayer में तुलना देखें।
- जूनियर्स के लिए: एक कार्यशील बहुभाषी ऐप प्राप्त करने के लिए चरण-दर-चरण अनुभागों का पालन करें।
- मध्य स्तर के डेवलपर्स के लिए: payload अनुकूलन और सर्वर/क्लाइंट पृथक्करण पर ध्यान दें।
- वरिष्ठों के लिए: स्थैतिक जनरेशन, मिडलवेयर, SEO एकीकरण, और स्वचालन हुक्स पर ध्यान दें।
हम क्या कवर करेंगे:
- सेटअप और फ़ाइल संरचना
- संदेशों को लोड करने के तरीके का अनुकूलन
- क्लाइंट और सर्वर कंपोनेंट का उपयोग
- SEO के लिए मेटाडेटा, साइटमैप, रोबोट्स
- स्थानीय रूटिंग के लिए मिडलवेयर
- Intlayer को ऊपर जोड़ना (CLI और स्वचालन)
next-intl का उपयोग करके अपना एप्लिकेशन सेट करें
next-intl निर्भरताएँ इंस्टॉल करें:
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
सेटअप और कंटेंट लोड करना
केवल उन namespaces को लोड करें जिनकी आपकी routes को आवश्यकता है और प्रारंभ में locales को मान्य करें। जब संभव हो तो सर्वर कंपोनेंट्स को synchronous रखें और केवल आवश्यक संदेशों को क्लाइंट पर भेजें।
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
क्लाइंट कंपोनेंट में उपयोग
आइए एक क्लाइंट कंपोनेंट का उदाहरण लें जो एक काउंटर रेंडर करता है।
अनुवाद (आकार पुन: उपयोग किया गया; इन्हें next-intl संदेशों में अपनी पसंद के अनुसार लोड करें)
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
क्लाइंट कंपोनेंट
कोड को क्लिपबोर्ड पर कॉपी करें
पेज क्लाइंट संदेश में "about" संदेश जोड़ना न भूलें (केवल उन namespaces को शामिल करें जिनकी आपके क्लाइंट को वास्तव में आवश्यकता है)।
एक सर्वर कंपोनेंट में उपयोग
यह UI कंपोनेंट एक सर्वर कंपोनेंट है और इसे क्लाइंट कंपोनेंट के अंतर्गत रेंडर किया जा सकता है (पेज → क्लाइंट → सर्वर)। इसे सिंक्रोनस रखें प्रीकंप्यूटेड स्ट्रिंग्स पास करके।
कोड को क्लिपबोर्ड पर कॉपी करें
नोट्स:
formattedCountसर्वर-साइड पर कंप्यूट करें (जैसे,const initialFormattedCount = format.number(0)).- सर्वर कंपोनेंट्स में फंक्शन्स या नॉन-सीरियलाइजेबल ऑब्जेक्ट्स पास करने से बचें।
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
कोड को क्लिपबोर्ड पर कॉपी करें
स्थानिक रूटिंग के लिए मिडलवेयर
स्थानीय पता लगाने और रूटिंग को संभालने के लिए एक मिडलवेयर जोड़ें:
कोड को क्लिपबोर्ड पर कॉपी करें
सर्वोत्तम प्रथाएँ
- html
langऔरdirसेट करें:src/app/[locale]/layout.tsxमें,getLocaleDirection(locale)के माध्यम सेdirकी गणना करें और<html lang={locale} dir={dir}>सेट करें। - namespace द्वारा संदेश विभाजित करें: JSON को locale और namespace (जैसे,
common.json,about.json) के अनुसार व्यवस्थित करें। - क्लाइंट पेलोड को कम करें: पेजों पर, केवल आवश्यक namespaces को
NextIntlClientProviderको भेजें (जैसे,pick(messages, ['common', 'about']))। - स्थैतिक पेजों को प्राथमिकता दें:
export const dynamic = 'force-static'को एक्सपोर्ट करें और सभीlocalesके लिए स्थैतिक पैरामीटर जनरेट करें। - सिंक्रोनस सर्वर कंपोनेंट्स: प्रीकंप्यूटेड स्ट्रिंग्स (अनुवादित लेबल, फॉर्मेटेड नंबर) पास करें, बजाय असिंक्रोनस कॉल्स या नॉन-सीरियलाइजेबल फंक्शन्स के।
next-intl के ऊपर Intlayer को लागू करें
intlayer डिपेंडेंसीज़ इंस्टॉल करें:
कोड को क्लिपबोर्ड पर कॉपी करें
intlayer कॉन्फ़िगरेशन फ़ाइल बनाएं:
कोड को क्लिपबोर्ड पर कॉपी करें
package.json स्क्रिप्ट जोड़ें:
कोड को क्लिपबोर्ड पर कॉपी करें
नोट्स:
intlayer fill: आपके कॉन्फ़िगर किए गए लोकल्स के आधार पर आपकी AI प्रदाता का उपयोग करके गायब अनुवादों को भरता है।intlayer test: गायब/अमान्य अनुवादों की जांच करता है (इसे CI में उपयोग करें)।
आप तर्क और प्रदाताओं को कॉन्फ़िगर कर सकते हैं; देखें Intlayer CLI।