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

पब्लिश करने की तारीख: 12 नवंबर, 2024

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

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

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

उपलब्धता

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

फ़ीचर का पता लगाना

यह पता लगाने के लिए कि Translator API काम करता है या नहीं, नीचे दी गई सुविधा की पहचान करने वाला स्निपेट चलाएं.

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

भाषा के जोड़े के लिए सहायता देखना

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

canTranslate() फ़ंक्शन के लिए, दो फ़ील्ड वाले options पैरामीटर की ज़रूरत होती है:

  • sourceLanguage: टेक्स्ट की मौजूदा भाषा.
  • targetLanguage: वह आखिरी भाषा जिसमें टेक्स्ट का अनुवाद करना है.

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

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

canTranslate() फ़ंक्शन इनमें से कोई भी नतीजा दिखा सकता है:

  • no: इस ब्राउज़र में, अनुरोध के मुताबिक अनुवाद नहीं किया जा सकता.
  • readily: ब्राउज़र अनुरोध के मुताबिक अनुवाद कर सकता है.
  • after-download: ब्राउज़र अनुवाद कर सकता है, लेकिन इसके लिए ज़रूरी है कि वह काम का मॉडल या भाषा पैक डाउनलोड कर ले.

downloadprogress इवेंट का इस्तेमाल करके, डाउनलोड की प्रोग्रेस को सुना जा सकता है:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

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

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

अनुवादक बनाने के लिए, असाइनोक्रोनस translation.createTranslator() फ़ंक्शन को कॉल करें. canTranslate() की तरह, इसके लिए विकल्प पैरामीटर की ज़रूरत होती है. इसमें दो फ़ील्ड होते हैं, एक sourceLanguage के लिए और एक targetLanguage के लिए.

// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
  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 ?"

ऑरिजिन ट्रायल की सीमाएं

ऑरिजिन ट्रायल के दौरान, ये सीमाएं लागू होती हैं.

इस्तेमाल की जा सकने वाली भाषाओं के जोड़े

फ़िलहाल, अनुवाद के लिए ज़्यादा से ज़्यादा तीन भाषा पैक डाउनलोड किए जा सकते हैं. हम आने वाले समय में, इस सुविधा को ज़्यादा भाषाओं में उपलब्ध कराने के लिए काम कर रहे हैं. साथ ही, हम उपयोगकर्ता की निजता को बनाए रखने के लिए, ज़्यादा से ज़्यादा सुरक्षा देने की कोशिश करेंगे. canTranslate() फ़ंक्शन की मदद से, यह पुष्टि की जा सकती है कि आपको जिस भाषा के जोड़े की ज़रूरत है वह काम करता है या नहीं.

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

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

  • सोर्स और डेस्टिनेशन, दोनों भाषाओं को Chrome में पसंदीदा भाषाओं के तौर पर सेट किया गया हो.
  • इसके अलावा, इनमें से किसी एक भाषा को Chrome में पसंदीदा भाषा के तौर पर सेट किया गया है और दूसरी भाषा, इन लोकप्रिय भाषाओं में से एक है:
    • अंग्रेज़ी (en)
    • मैंडरिन चाइनीज़ (zh; सिंप्लिफ़ाइड) या ताइवान मैंडरिन (zh-Hant; ट्रेडिशनल)
    • जैपनीज़ (ja)
    • पॉर्चुगीज़ (pt)
    • रशियन (ru)
    • स्पैनिश (es)
    • तुर्किश (tr)
    • हिन्दी (hi)
    • वियतनामीज़ (vi)
    • बांग्ला (bn)

स्थानीय भाषा में टेस्ट करने के लिए, भाषा से जुड़ी पाबंदियों को बायपास करना

लोकल प्रोटोटाइप बनाने के लिए, --disable-features=TranslationAPIAcceptLanguagesCheck कमांड-लाइन विकल्प के साथ Chrome चलाकर, इन जांचों को बायपास किया जा सकता है. इसके अलावा, chrome://flags/#translation-api को भाषा पैक की सीमा के बिना चालू करें पर सेट करें.

भाषा पैक को मैन्युअल तरीके से इंस्टॉल और अनइंस्टॉल करने के लिए, chrome://on-device-translation-internals/ पर जाएं.

क्रम के मुताबिक अनुवाद

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

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

वेब वर्कर की उपलब्धता

ऑरिजिन ट्रायल के दौरान, Translator API सिर्फ़ मुख्य थ्रेड पर काम करता है. एपीआई के बड़े पैमाने पर उपलब्ध होने के बाद, हम इसे वेब वर्कर्स में इस्तेमाल करने की सुविधा उपलब्ध कराएंगे.

डेमो

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

स्टैंडर्ड बनाने की कोशिश

हम Translator API के स्टैंडर्ड वर्शन पर काम कर रहे हैं, ताकि यह पक्का किया जा सके कि वह अन्य ब्राउज़र पर भी काम करे.

हमारे एपीआई के प्रस्ताव को कम्यूनिटी का समर्थन मिला है. साथ ही, इस पर आगे चर्चा करने के लिए, इसे W3C वेब इनक्यूबेटर कम्यूनिटी ग्रुप पर भेज दिया गया है. Chrome टीम ने W3C के तकनीकी आर्किटेक्चर ग्रुप से सुझाव, राय या शिकायत मांगी. साथ ही, Mozilla और WebKit से स्टैंडर्ड के बारे में जानकारी मांगी.

हिस्सा लेना और सुझाव, शिकायत या राय शेयर करना

ऑरिजिन ट्रायल में शामिल होकर, Translator API की टेस्टिंग शुरू करें और अपने सुझाव, शिकायत या राय शेयर करें. आपके सुझाव, राय, और शिकायत से, इस एपीआई के आने वाले वर्शन और पहले से मौजूद सभी एआई एपीआई को बनाने और लागू करने के तरीके पर सीधा असर पड़ सकता है.