@ weglot /अनुवाद-प्रतिक्रिया
अपने अनुवाद करें
प्रतिक्रिया,
Next.js या
विटे अनुप्रयोग
कोई t() रैपर नहीं, कोई JSON फ़ाइलें नहीं। एक बिल्ड प्लगइन और एक जोड़ें। Weglot API कुंजी: आपके JSX में मौजूद टेक्स्ट का अनुवाद आपके ऐप के बिल्ड होने पर किया जाता है, और आपकी टीम अनुवादों को संपादित करती है। Weglot कोड को छुए बिना।
प्रॉम्प्ट को कॉपी करें · · · दस्तावेज़ पढ़ें · एनपीएम पर देखें
111,368+ वैश्विक ब्रांड इस पर भरोसा करते हैं Weglot अपनी वेबसाइटों का अनुवाद करने के लिए
// what your users see
आपने जो JSX कोड लिखा है, वह हर भाषा में उपलब्ध है।
पाठ को एक बार लिखें। Weglot यह बिल्ड टाइम पर इसका अनुवाद करता है।
एक ही बटन, पाँच भाषाएँ। चौड़ाई का माप लाइव किया जाता है।
export default function Settings() { return ( <button>Save changes</button> ); } // no key, no t(), no en.json
कोई कुंजी नहीं, कोई t() नहीं। बस JSX में टेक्स्ट लिखें, इतना ही।
// how it works
चार चरण। आपके घटक यथावत रहेंगे।
स्रोत और लक्ष्य भाषाएँ आपके स्रोत से आती हैं। Weglot यह प्लगइन आपके कोड से नहीं, बल्कि प्रोजेक्ट से संबंधित है। यह प्लगइन बिल्ड टाइम पर आपके JSX में मौजूद टेक्स्ट को पढ़ता है और उसका अनुवाद प्राप्त करता है।
-
पैकेज इंस्टॉल करें और अपनी एपीआई कुंजी जोड़ें
एक बनाने के Weglot 2.0 प्रोजेक्ट खोलें, फिर प्रोजेक्ट सेटिंग्स से इसकी API कुंजी कॉपी करें। यह इससे शुरू होता है।
pk_। रखना.envवर्जन कंट्रोल से बाहर।टर्मिनल · .env$ npm install @weglot/translate-react # .env WEGLOT_API_KEY=pk_your_weglot_api_key
-
प्लगइन जोड़ें
अपनी Next.js कॉन्फ़िगरेशन को इससे रैप करें
withWeglot। बिंदुsourceRootउस फ़ोल्डर में जहाँ आपके पेज और कंपोनेंट मौजूद हैं।जोड़ना
weglotPluginइसे अपने Vite कॉन्फ़िगरेशन में जोड़ें। Webpack के साथ, इसे आयात करें।@weglot/translate-react/webpackबजाय।next.config.tsimport type { NextConfig } from "next"; import { withWeglot } from "@weglot/translate-react/next"; const nextConfig: NextConfig = {}; export default async function (): Promise<NextConfig> { return await withWeglot(nextConfig, { sourceRoot: "./app" }); }
vite.config.tsimport { defineConfig } from "vite"; import { weglotPlugin } from "@weglot/translate-react/vite"; export default defineConfig({ plugins: [weglotPlugin({ sourceRoot: "src" })], });
-
प्रदाता जोड़ें
अपने रूट लेआउट को इससे लपेटें
WeglotProviderNext.js एंट्री पॉइंट से, ताकि भाषा बदलने पर आपके सर्वर कंपोनेंट्स रीफ्रेश हो जाएं।अपने ऐप को इससे रैप करें
WeglotProvider, यथासंभव जल्दी।app/layout.tsximport { WeglotProvider } from "@weglot/translate-react/react/next"; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body> <WeglotProvider>{children}</WeglotProvider> </body> </html> ); }
src/main.tsximport { WeglotProvider } from "@weglot/translate-react/react"; root.render( <WeglotProvider> <App /> </WeglotProvider>, );
-
अपने प्रोजेक्ट की हर भाषा में निर्माण करें और उसे प्रकाशित करें।
प्रत्येक बिल्ड अनुपलब्ध अनुवादों को प्राप्त करता है Weglot और लिखता है
public/translations/<locale>.jsonउस फ़ोल्डर को अनदेखा करें। एक भाषा स्विचर जोड़ें।LocaleSwitcherयाuseWeglotContext..gitignorepublic/translations/
// under the hood
जब आप निर्माण करते हैं तो क्या होता है?
- 01 आपकी JSX फ़ाइल पढ़ता है
- 02 नया टेक्स्ट भेजता है
- 03 Weglot तब्दील हो
- 04 प्रत्येक भाषा के लिए एक फ़ाइल लिखता है
// every language of your project
एक ही बिल्ड, हर भाषा जिसे आप जोड़ते हैं
भाषाएँ चुनें Weglot अगले बैच में इन्हें शामिल किया जाएगा।
enWeglot में एक भाषा जोड़ें, फिर बिल्ड करें। अनुवाद फ़ाइलें आपके ऐप के साथ ही डिप्लॉय हो जाएंगी।
// built for coding agents
आपका एजेंट इसे सेट अप करता है
दोबारा लिखने की कोई जरूरत नहीं है, इसलिए बदलाव छोटा है और समीक्षा करना आसान है।






कोई भी कोडिंग एजेंट। आप जिस एजेंट का पहले से उपयोग कर रहे हैं, उसमें एक प्रॉम्प्ट पेस्ट करें।
दस्तावेज़ एजेंट पढ़ सकते हैं। प्रत्येक पृष्ठ के लिए एक llms.txt इंडेक्स और मार्कडाउन फ़ाइल उपलब्ध है।
package.jsonnext.config.tslayout.tsx.gitignore.envआप इस अंतर की समीक्षा कर सकते हैं। कोई स्ट्रिंग दोबारा नहीं लिखी गई है।
क्लाउड कोड में पेस्ट करें
कर्सर में पेस्ट करें (एजेंट मोड)
कोडेक्स में पेस्ट करें$ npm install @weglot/translate-react
प्रॉम्प्ट को कॉपी करें। आरंभ करने के लिए दिए गए गाइड के समान चरणों का पालन करें।
// what gets translated
यह प्लगइन टेक्स्ट और कोड में अंतर पहचानता है।
export default function Pricing() { return ( <section className="pricing"> <h2>Choose your plan</h2> <input placeholder="Email address" /> <a href="/signup">{"Start free trial"}</a> <span translate="no">Weglot</span> </section> ); }
पाठ का अनुवाद हो चुका है। JSX टेक्स्ट, लिटरल, कॉन्स्टेंट, ऑल्ट, टाइटल, प्लेसहोल्डर, एरिया-लेबल।
कोड को वैसे ही छोड़ दिया जाता है। क्लास के नाम, यूआरएल, लॉजिक।
यह आपका निर्णय है। किसी भी तत्व को यथावत रखें, या data- weglot -skip का उपयोग करें।
// for your team
कोड को छुए बिना संपादन और समीक्षा करें
समीक्षा में Weglot उत्पाद, विपणन और अनुवादक शब्दों का संपादन करते हैं।
किसी शब्द को ठीक करने के लिए कोई पुल रिक्वेस्ट नहीं है।
समीक्षाधीन विषयों पर नज़र रखें। प्रत्येक भाषा के लिए प्रगति देखें।
// fit
कब उपयोग करें Weglot और कब नहीं करना चाहिए
यह पैकेज अभी पूर्वावलोकन चरण में है। आज यह इस प्रकार है।
Next.js ऐप राउटर
का समर्थन कियाNext.js 15 या 16.0.4+, React 19.
विटे
का समर्थन कियाReact 19, Node 20.9 और उससे ऊपर के संस्करण के साथ काम करता है। Webpack भी काम करता है।
रिएक्ट सर्वर घटक
का समर्थन कियाभाषा बदलने से आपके सर्वर घटक रीफ़्रेश हो जाते हैं।
सीएमएस और एपीआई सामग्री
का समर्थन कियासाथ tDynamic Next.js सर्वर घटकों में।
गैर-डेवलपर्स द्वारा संपादन
का समर्थन कियासमीक्षा करें और संपादित करें Weglot डैशबोर्ड।
प्रत्येक भाषा के लिए एक यूआरएल
अभी तक नहींआज भाषा को कुकी में संग्रहित किया जाता है। यदि आपको प्रत्येक भाषा के लिए अनुक्रमित यूआरएल की आवश्यकता है, तो आप next-intl या Paraglide JS का उपयोग कर सकते हैं।
अनुवादों को रेपो फ़ाइलों के रूप में प्रस्तुत किया गया है।
अनुवाद क्रियाWeglot यह GitHub Actions में आपकी JSON लोकेल फ़ाइलों का अनुवाद करता है और एक पुल रिक्वेस्ट खोलता है। दस्तावेज़ देखें →
रिएक्ट 18, पेज राउटर
समर्थित नहींसाथ ही Next.js 14 या उससे पुराना संस्करण।
सीएमएस या वेबसाइट बिल्डर
यह पैकेज नहींआपकी साइट React में नहीं बनी है: कृपया इसका उपयोग करें Weglot 's CMS एकीकरण।
// compare
क्लासिक i18n लाइब्रेरी क्यों नहीं?
i18n लाइब्रेरी आपसे प्रत्येक स्ट्रिंग को एक कुंजी से बदलने और प्रति भाषा एक फ़ाइल रखने के लिए कहती है। Weglot यह आपके द्वारा पहले से लिखी गई स्ट्रिंग्स को पढ़ता है। विकल्पों की तुलना इस प्रकार है।
| मानदंड | Weglot@weglot/translate-react |
नेक्स्ट-इंटल / i18नेक्स्ट | पैराग्लाइड जेएस | सीएमएस मूल स्थानीयकरण |
|---|---|---|---|---|
| स्ट्रिंग को t() या संदेश फ़ंक्शन में लपेटें | बिल्ड टाइम पर JSX में कोई टेक्स्ट डिटेक्ट नहीं हुआ है। | हाँt("key") प्रत्येक स्ट्रिंग के लिए। |
हाँm.key() संदेश फ़ंक्शन। |
आपके कोड में मौजूद कंटेंट-ओनली स्ट्रिंग्स के लिए भी लाइब्रेरी की आवश्यकता होती है। |
| प्रत्येक भाषा के लिए अनुवाद फ़ाइलें | रखरखाव के लिए कुछ भी नहीं। बिल्ड के समय उत्पन्न, गिट द्वारा अनदेखा। | हां, आमतौर पर प्रत्येक स्थान के लिए एक JSON फ़ाइल होती है। | हां, प्रति स्थान एक संदेश फ़ाइल। | CMS में संग्रहीत नहीं है । |
| बहुभाषी रूटिंग और एसईओ (प्रत्येक भाषा के लिए यूआरएल, hreflang) | अभी तक नहीं। भाषा कुकी में संग्रहीत है। सभी भाषाओं के लिए समान यूआरएल, स्रोत भाषा अनुक्रमित। | next-intl: हाँ , लोकेल रूटिंग अंतर्निहित है। i18next: आपके फ्रेमवर्क सेटअप के माध्यम से। | जी हां, स्थानीयकृत यूआरएल अंतर्निहित हैं: लोकेल उपसर्ग, अनुवादित पथ या डोमेन। आप स्वयं hreflang टैग जोड़ सकते हैं। | फ्रंट एंड: एक हेडलेस सीएमएस सामग्री को स्थानीय भाषा के अनुसार संग्रहीत करता है। यूआरएल और एचआरईएफएलएनजी आपके फ्रंट एंड से आते हैं। |
| आपके लिए अनुवाद तैयार किए गए हैं | हां Weglot निर्माण के दौरान एलएलएम का उपयोग करके अनुवाद करता है। | नहीं, अपने स्वयं के अनुवाद या टीएमएस लाएँ। | आप इनलैंग सीएलआई मशीन ट्रांसलेशन टूलिंग या अपने कोडिंग एजेंट का उपयोग कर सकते हैं। | सशुल्क योजनाओं पर सशुल्क ऐड-ऑन एआई अनुवाद: कंटेंटफुल एआई एक्शन, सैनिटी एआई असिस्ट, स्ट्रैपी एआई ट्रांसलेशन। |
| डेवलपर की सहायता के बिना अनुवाद संपादित करें | हां, Weglot डैशबोर्ड में समीक्षा और संपादन करें। | JSON फ़ाइलों को संपादित न करें, या अलग से TMS न जोड़ें। | Fink inlang के वेब एडिटर का उपयोग करके, GitHub खाते के साथ। | हां, सीएमएस संपादक में। |
| एक प्रॉम्प्ट में कोडिंग एजेंट द्वारा स्थापित किया गया | जी हां, एक बार इंस्टॉल करें, दो बार कॉन्फ़िगरेशन में बदलाव करें। नीचे कॉपी करने योग्य प्रॉम्प्ट दिया गया है । | लंबा कार्य: एजेंट प्रत्येक स्ट्रिंग को कुंजियों और फाइलों में पुनः लिखता है। | लंबा कार्यinit एजेंटों के लिए संकेत दिए बिना चलता है, फिर प्रत्येक स्ट्रिंग एक बन जाती है m.key() संदेश। |
CMS में कॉन्फ़िगर किया गया ( लागू नहीं) । |
सामान्य प्रश्न
क्या यह एसईओ को संभालता है: प्रति भाषा एक यूआरएल और एचआरईएफएलएनजी?
आज नहीं। आगंतुक की भाषा कुकी में संग्रहित की जाती है और सभी भाषाओं को एक ही यूआरएल पर दिखाया जाता है, इसलिए खोज इंजन केवल मूल भाषा को ही अनुक्रमित करते हैं।
आप पेज के शीर्षक और विवरण का अनुवाद कर सकते हैं tDynamicAll में generateMetadataयदि आपको अभी प्रत्येक भाषा के लिए अनुक्रमित यूआरएल की आवश्यकता है, तो लोकेल रूटिंग वाली लाइब्रेरी का उपयोग करें, जैसे कि next-intl या Paraglide JS।
मैं CMS, API या उपयोगकर्ताओं से गतिशील सामग्री का अनुवाद कैसे करूँ?
यह प्लगइन केवल आपके कोड में लिखे टेक्स्ट का अनुवाद करता है। उस सामग्री के लिए जिसे आपका कोड कभी नहीं देखता, अलग से कॉल करें। tDynamic, tDynamicAll या tDynamicHtml से @weglot/translate-react/dynamic Next.js सर्वर घटकों में।
यदि API को 500 मिलीसेकंड से अधिक समय लगता है, या किसी टेक्स्ट का अनुरोध पहली बार किया जा रहा है, तो वे मूल टेक्स्ट लौटाते हैं। अनुवाद बाद के अनुरोध पर उपलब्ध होता है। यदि आप स्वयं डेटा कैश करते हैं, तो कैश को विज़िटर की भाषा पर निर्भर बनाएं।
Next.js या Vite: क्या बदलाव होते हैं?
Next.js का उपयोग करता है withWeglot से @weglot/translate-react/next और WeglotProvider से @weglot/translate-react/react/nextवाइट का उपयोग करता है weglotPlugin से @weglot/translate-react/vite और WeglotProvider से @weglot/translate-react/reactवेबपैक उपयोग करता है weglotPlugin से @weglot/translate-react/webpack.
डायनामिक कंटेंट फ़ंक्शन केवल Next.js सर्वर कंपोनेंट्स में ही चलते हैं।
क्या यह रिएक्ट सर्वर कंपोनेंट्स के साथ काम करता है?
हां, Next.js ऐप राउटर के साथ। आयात करें WeglotProvider से @weglot/translate-react/react/next ताकि भाषा बदलने से आपके सर्वर घटक रीफ्रेश हो जाएं। tDynamic, tDynamicAll और tDynamicHtml सर्वर घटकों में, सर्वर-साइड पर चलाएँ।
जब मैं निर्माण करता हूँ तो क्या होता है?
यह प्लगइन JSX फ़ाइल में मौजूद टेक्स्ट को ढूंढता है। sourceRoot और पूछता है Weglot इसमें अनुवाद के लिए एपीआई की कमी है। Weglot यह उन्हें एलएलएम के साथ उत्पन्न करता है, और बिल्ड तब तक प्रतीक्षा करता है जब तक कि... translationTimeout (डिफ़ॉल्ट रूप से 300 सेकंड)। फिर यह लिखता है public/translations/<locale>.json.
यदि अनुवाद विफल हो जाता है, तो बिल्ड विफल हो जाता है और जो कुछ भी प्राप्त हुआ है उसे स्थानीय कैश में रखता है: जारी रखने के लिए फिर से बिल्ड करें। buildMode: "cache-only"इस बिल्ड में कोई नेटवर्क कॉल नहीं की जाती है।
अनुवाद कहाँ संग्रहित किए जाते हैं?
आपके Weglot प्रोजेक्ट, जहां आप उनकी समीक्षा और संपादन करते हैं। प्रत्येक बिल्ड में प्राप्त अनुवाद भी सुरक्षित रहते हैं। <sourceRoot>/weglot/cache/<locale>.jsonउस फोल्डर को API को कॉल किए बिना बिल्ड में कमिट करें, या उसे अनदेखा करें। public/translations/ उत्पन्न होता है और अंदर जाता है .gitignore.
क्या-क्या अनुवादित होता है, और मैं किसी चीज को कैसे बाहर कर सकता हूँ?
JSX में टेक्स्ट, JSX एक्सप्रेशन के अंदर स्ट्रिंग लिटरल, कॉन्स्टेंट से पढ़ी गई स्ट्रिंग और एट्रिब्यूट जैसे title, alt, placeholder और aria-labelJSX के बाहर के कोड, URL, क्लास नाम और स्ट्रिंग्स को अपरिवर्तित रखा जाता है। जोड़ें translate="no" या data-weglot-skip किसी तत्व को मूल भाषा में रखने के लिए। अपने स्वयं के टेक्स्ट प्रॉप्स घोषित करें। translatableAttributes.
बिना कोड बदले अपने React ऐप को बहुभाषी बनाएं
पैकेज इंस्टॉल करें, अपनी एपीआई कुंजी डालें और बिल्ड करें।
$ npm install @weglot/translate-react
क्या आप इसे स्वयं करना पसंद करते हैं? दस्तावेज़ पढ़ें या npm पर पैकेज देखें।