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

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

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

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

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

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

शुरू करें

Language Detector और Translator APIs, Chrome के डेस्कटॉप वर्शन पर काम करते हैं. ये एपीआई, फ़ोन या टैबलेट पर काम नहीं करते.

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

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

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

मॉडल डाउनलोड

Translator API, अच्छी क्वालिटी के अनुवाद जनरेट करने के लिए, किसी विशेषज्ञ मॉडल का इस्तेमाल करता है. यह एपीआई, Chrome में बिल्ट-इन होता है. साथ ही, जब कोई वेबसाइट पहली बार इस एपीआई का इस्तेमाल करती है, तब मॉडल डाउनलोड किया जाता है.

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

भाषा की जोड़ी के लिए सहायता की जांच करना

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

  • 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 के Chrome वर्शन में, ये भाषाएं इस्तेमाल की जा सकती हैं.

कोड भाषा
ar अरबी
bg बल्गैरियन
bn बांग्ला
cs चेक
da डैनिश
de जर्मन
el ग्रीक
en अंग्रेज़ी
es स्पैनिश
fi फ़िनिश
fr फ़्रांसीसी
hi हिन्दी
hr क्रोएशियन
hu हंगेरियन
id इंडोनेशियन
it इटैलियन
iw हिब्रू
ja जापानी
kn कन्नड़
ko कोरियन
lt लिथुएनियन
mr मराठी
nl डच
no नॉर्वीजन
pl पोलिश
pt पॉर्चुगीज़
ro रोमेनियन
ru रूसी
sk स्लोवाक
sl स्लोवेनियन
sv स्वीडिश
ta तमिल
te तेलुगु
th थाई
tr टर्किश
uk यूक्रेनियन
vi वियतनामी
zh चाइनीज़
zh-Hant चाइनीज़ (ट्रेडिशनल)

डेमो

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

अनुमति से जुड़ी नीति, iframe, और Web Worker

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

<!--
  The host site 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>

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

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

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

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