बिल्ट-इन एआई की मदद से अनुवाद

पब्लिश करने की तारीख: 13 नवंबर, 2024, पिछली बार अपडेट किए जाने की तारीख: 20 मई, 2025

ज़्यादा जानकारी देने वाला वीडियो वेब एक्सटेंशन Chrome स्टेटस मकसद
MDN Chrome 138 Chrome 138 देखें शिपिंग की इच्छा

Chrome में Translator API का इस्तेमाल करके, ब्राउज़र में उपलब्ध एआई मॉडल की मदद से टेक्स्ट का अनुवाद करें.

आपकी वेबसाइट पर, दुनिया भर के लोगों के लिए वेबसाइट का कॉन्टेंट पहले से ही कई भाषाओं में उपलब्ध हो सकता है. Translator API की मदद से, उपयोगकर्ता अपनी पहली भाषा में योगदान दे सकते हैं. उदाहरण के लिए, लोग अपनी पहली भाषा में सहायता पाने के लिए चैट में हिस्सा ले सकते हैं. आपकी साइट, चैट को सहायता एजेंटों की भाषा में अनुवाद कर सकती है. ऐसा उपयोगकर्ता के डिवाइस से चैट के निकलने से पहले किया जाता है. इससे सभी उपयोगकर्ताओं को बेहतर, तेज़, और समावेशी अनुभव मिलता है.

आम तौर पर, वेब पर मौजूद कॉन्टेंट का अनुवाद करने के लिए, क्लाउड सेवा का इस्तेमाल करना पड़ता है. सबसे पहले, सोर्स कॉन्टेंट को सर्वर पर अपलोड किया जाता है. इसके बाद, सर्वर पर कॉन्टेंट का अनुवाद, टारगेट भाषा में किया जाता है. इसके बाद, अनुवाद किए गए टेक्स्ट को डाउनलोड करके उपयोगकर्ता को भेजा जाता है. क्लाइंट पर अनुवाद की सुविधा चलाने से, सर्वर ट्रिप में लगने वाला समय और अनुवाद सेवा को होस्ट करने की लागत कम हो जाती है.

अपनी प्रोफ़ाइल बनाना शुरू करें

Translator API, Chrome 138 के स्टेबल वर्शन में उपलब्ध है. सबसे पहले, सुविधा का पता लगाने की प्रोसेस चलाएं. इससे यह पता चलेगा कि ब्राउज़र, Translator API के साथ काम करता है या नहीं.

if ('Translator' in self) {
  // The Translator API is supported.
}

अनुवाद के लिए, आपको हमेशा टारगेट भाषा के बारे में पता होता है. हालांकि, ऐसा हो सकता है कि आपको सोर्स भाषा के बारे में हमेशा पता न हो. ऐसे मामलों में, Language Detector API का इस्तेमाल किया जा सकता है.

मॉडल डाउनलोड

Translator API, अच्छी क्वालिटी की खास जानकारी जनरेट करने के लिए ट्रेन किए गए मॉडल का इस्तेमाल करता है. यह एपीआई Chrome में पहले से मौजूद होता है. जब कोई वेबसाइट पहली बार इस एपीआई का इस्तेमाल करती है, तब एक एक्सपर्ट मॉडल डाउनलोड किया जाता है.

हार्डवेयर से जुड़ी ज़रूरी शर्तें देखें

Chrome में इन एपीआई का इस्तेमाल करके सुविधाएं चलाने वाले डेवलपर और उपयोगकर्ताओं के लिए, ये ज़रूरी शर्तें लागू होती हैं. अन्य ब्राउज़र के लिए, ऑपरेटिंग सिस्टम की अलग-अलग ज़रूरी शर्तें हो सकती हैं.

Language Detector और Translator API, डेस्कटॉप पर Chrome में काम करते हैं. ये एपीआई, फ़ोन या टैबलेट पर काम नहीं करते. Prompt API, Summarizer API, Writer API, और Rewriter API, Chrome में तब काम करते हैं, जब ये शर्तें पूरी होती हैं:

  • ऑपरेटिंग सिस्टम: Windows 10 या 11; macOS 13+ (Ventura और उसके बाद के वर्शन); या Linux. Android, iOS, और ChromeOS के लिए Chrome में, Gemini Nano का इस्तेमाल करने वाले एपीआई अभी काम नहीं करते.
  • स्टोरेज: जिस वॉल्यूम में आपकी Chrome प्रोफ़ाइल है उसमें कम से कम 22 जीबी खाली जगह होनी चाहिए.
  • जीपीयू: इसमें कम से कम 4 जीबी वीआरएएम होना चाहिए.
  • नेटवर्क: अनलिमिटेड डेटा या बिना पाबंदी वाला कनेक्शन.

Gemini Nano का सटीक साइज़ अलग-अलग हो सकता है, क्योंकि ब्राउज़र मॉडल को अपडेट करता है. मौजूदा साइज़ जानने के लिए, chrome://on-device-internals पर जाएं और मॉडल की स्थिति पर जाएं. मॉडल का साइज़ पता करने के लिए, सूची में दिया गया फ़ाइल पाथ खोलें.

यह पता लगाने के लिए कि मॉडल इस्तेमाल करने के लिए तैयार है या नहीं, एसिंक्रोनस Translator.availability() फ़ंक्शन को कॉल करें. अगर availability() का जवाब downloadable है, तो डाउनलोड होने की प्रोसेस के बारे में सुनो, ताकि उपयोगकर्ता को इसकी जानकारी दी जा सके. इसमें समय लग सकता है.

const availability = await Translator.availability();

देखें कि भाषा की जोड़ी के लिए सुविधा उपलब्ध है या नहीं

अनुवाद की सुविधा को भाषा पैक की मदद से मैनेज किया जाता है. इन्हें मांग पर डाउनलोड किया जाता है. लैंग्वेज पैक, किसी भाषा के लिए डिक्शनरी की तरह होता है.

  • sourceLanguage: टेक्स्ट की मौजूदा भाषा.
  • targetLanguage: वह भाषा जिसमें टेक्स्ट का अनुवाद किया जाना चाहिए.

स्ट्रिंग के तौर पर, BCP 47 भाषा के छोटे कोड इस्तेमाल करें. उदाहरण के लिए, स्पैनिश के लिए 'es' या फ़्रेंच के लिए 'fr'.

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// 'available'

downloadprogress इवेंट की मदद से, मॉडल डाउनलोड होने की प्रोसेस के बारे में सुनें:

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

अगर डाउनलोड नहीं हो पाता है, तो downloadprogress इवेंट बंद हो जाते हैं और ready प्रॉमिस अस्वीकार कर दिया जाता है.

अनुवादक को बनाना और चलाना

अनुवादक बनाने के लिए, उपयोगकर्ता के खाते को चालू करने की सुविधा देखें और एसिंक्रोनस create() फ़ंक्शन को कॉल करें. Translator create() फ़ंक्शन के लिए, विकल्पों वाला पैरामीटर ज़रूरी होता है. इसमें दो फ़ील्ड होते हैं. एक फ़ील्ड sourceLanguage के लिए और दूसरा targetLanguage के लिए होता है.

// Create a translator that translates from English to French.
const translator = await Translator.create({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

अनुवादक मिलने के बाद, एसिंक्रोनस translate() को कॉल करें.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

इसके अलावा, अगर आपको लंबे टेक्स्ट पर काम करना है, तो एपीआई के स्ट्रीमिंग वर्शन का इस्तेमाल किया जा सकता है. इसके लिए, translateStreaming() को कॉल करें.

const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
  console.log(chunk);
}

क्रम से किए गए अनुवाद

अनुवादों को क्रम से प्रोसेस किया जाता है. अगर आपको अनुवाद के लिए बहुत ज़्यादा टेक्स्ट भेजना है, तो पहले भेजे गए टेक्स्ट का अनुवाद पूरा होने तक, बाद में भेजे गए टेक्स्ट का अनुवाद नहीं किया जा सकेगा.

अपने अनुरोधों के सबसे अच्छे जवाब पाने के लिए, उन्हें एक साथ रखें और लोडिंग इंटरफ़ेस जोड़ें. जैसे, स्पिनर. इससे यह पता चलता है कि अनुवाद जारी है.

डेमो

Translator API को Language Detector API के साथ इस्तेमाल किया जा सकता है. इसे Translator और Language Detector API के प्लेग्राउंड में देखा जा सकता है.

अनुमतियों की नीति, iframe, और वेब वर्कर

डिफ़ॉल्ट रूप से, Translator API सिर्फ़ टॉप-लेवल की विंडो और उनके सेम-ऑरिजिन iframe के लिए उपलब्ध होता है. एपीआई का ऐक्सेस, क्रॉस-ऑरिजिन iframe को सौंपा जा सकता है. इसके लिए, अनुमति से जुड़ी नीति allow="" एट्रिब्यूट का इस्तेमाल करें:

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Translator API by
  setting the `allow="translator"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="translator"></iframe>

फ़िलहाल, Translator API को वेब वर्कर में इस्तेमाल नहीं किया जा सकता. ऐसा इसलिए है, क्योंकि हर वर्कर के लिए एक ज़िम्मेदार दस्तावेज़ तैयार करना मुश्किल है. इससे अनुमतियों से जुड़ी नीति की स्थिति की जांच की जा सकती है.

मानकीकरण में लगने वाली मेहनत

हम अलग-अलग ब्राउज़र के साथ काम करने की सुविधा के लिए, Translator API को स्टैंडर्ड बनाने पर काम कर रहे हैं.

Translator API और Language Detector API को W3C WebML वर्किंग ग्रुप ने अपनाया है. हमने Mozilla और WebKit से, स्टैंडर्ड के बारे में उनकी राय मांगी है.

सुझाव, शिकायत या राय दें

हमें यह देखने में खुशी होगी कि आपने क्या बनाया है. अपनी वेबसाइटों और वेब ऐप्लिकेशन को X, YouTube, और LinkedIn पर हमारे साथ शेयर करें.

Chrome में लागू करने के बारे में सुझाव/राय देने या शिकायत करने के लिए, गड़बड़ी की रिपोर्ट सबमिट करें या सुविधा का अनुरोध करें.