भाषा पहचानने की सुविधा

वेब पर उपलब्ध सुविधाएं: भाषा का पता लगाने की सुविधा

Language Detector API एक क्लाइंट-साइड वेब एपीआई है. इसे किसी टेक्स्ट स्ट्रिंग की भाषा की पहचान करने के लिए डिज़ाइन किया गया है. ब्राउज़र में स्थानीय तौर पर पहचान करने से, उपयोगकर्ता की निजता बेहतर होती है. साथ ही, बड़ी बाहरी लाइब्रेरी या सर्वर-साइड कॉल की ज़रूरत कम हो जाती है.

इस्तेमाल के मुख्य उदाहरण

  • अनुवाद की तैयारी: टेक्स्ट को अनुवादक के पास भेजने से पहले, सोर्स भाषा की पहचान करना.
  • सुरक्षा और फ़िल्टर करना: बुरे बर्ताव का पता लगाने जैसे टास्क के लिए, खास मॉडल लोड करना.
  • सुलभता: स्क्रीन रीडर के लिए, कॉन्टेंट को सही lang एट्रिब्यूट के साथ लेबल करना.
  • यूज़र इंटरफ़ेस (यूआई) को स्थानीय भाषा के हिसाब से बनाना: उपयोगकर्ता की इनपुट भाषा के हिसाब से, ऐप्लिकेशन के इंटरफ़ेस में बदलाव करना.

हार्डवेयर और सिस्टम की ज़रूरतें

  • ओएस: Windows 10/11, macOS 13+, Linux या Chromebook Plus.
  • स्टोरेज: 22 जीबी खाली जगह (अगर स्टोरेज 10 जीबी से कम हो जाता है, तो मॉडल को हटा दिया जाता है).
  • रैम/सीपीयू: 16 जीबी रैम और चार या इससे ज़्यादा सीपीयू कोर.
  • वीआरएएम: जीपीयू का इस्तेमाल करने पर, चार जीबी या इससे ज़्यादा.

लागू करने के बारे में जानकारी

1. मॉडल मैनेजमेंट और उपयोगकर्ता ऐक्टिवेशन

डिटेक्टर को इंस्टैंशिएट करने या डाउनलोड ट्रिगर करने से पहले, मॉडल की उपलब्धता की जांच करें.

ज़रूरी जानकारी: भाषा की पहचान करने वाले टूल को इंस्टैंशिएट करने या LanguageDetector.create() की मदद से मॉडल डाउनलोड करने की प्रोसेस, उपयोगकर्ता के जेस्चर (जैसे, बटन पर क्लिक करना) से शुरू होनी चाहिए. इससे मॉडल के downloadable या downloading स्टेटस में होने पर, NotAllowedError को रोका जा सकता है.

// Check if the model is available or downloadable
const availability = await LanguageDetector.availability();

if (availability !== 'unavailable') {
  button.addEventListener('click', async () => {
    const detector = await LanguageDetector.create({
      monitor(m) {
        m.addEventListener('downloadprogress', (e) => {
          console.log(`Downloaded ${e.loaded * 100}%`);
        });
      },
    });
  });
}

2. दौड़ने का पता लगाने की सुविधा

एपीआई, संभावित भाषाओं की रैंक वाली सूची दिखाता है. इसमें 0.0 से 1.0 के बीच का कॉन्फ़िडेंस स्कोर होता है.

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);

for (const result of results) {
  // result.detectedLanguage (e.g., 'de')
  // result.confidence (e.g., 0.999)
  console.log(result.detectedLanguage, result.confidence);
}

बहुत छोटे वाक्यांशों या एक शब्द पर डिटेक्टर का इस्तेमाल करने से बचें, क्योंकि इससे सटीक नतीजे मिलने की संभावना काफ़ी कम हो जाती है.

सुरक्षा और पर्यावरण

  • Iframe: क्रॉस-ऑरिजिन iframe को एपीआई ऐक्सेस करने के लिए, अनुमति से जुड़ी नीति की ज़रूरत होती है.

    <iframe
      src="https://cross-origin.example.com/"
      allow="language-detector"
    ></iframe>
    
  • वेब वर्कर: अनुमति की नीति से जुड़ी जटिलताओं की वजह से, यह एपीआई फ़िलहाल वेब वर्कर में उपलब्ध नहीं है.

  • निजता: इस प्रोसेस के दौरान, Google या तीसरे पक्षों को कोई डेटा नहीं भेजा जाता.

फ़ॉलबैक रणनीति

इस्तेमाल करने से पहले, देखें कि LanguageDetector ऑब्जेक्ट, ग्लोबल स्कोप में उपलब्ध है या नहीं:

if ('LanguageDetector' in self) {
  // The Language Detector API is supported.
} else {
  // Execute fallback strategy
}

अगर LanguageDetector एपीआई काम नहीं करता है या उपलब्धता की जांच करने पर 'unavailable' दिखता है, तो आपको ग्रेसफ़ुल फ़ॉलबैक करना होगा:

  1. रिमोट एपीआई फ़ॉलबैक: भाषा की पहचान करने के लिए, पहचान करने के अनुरोध को किसी सर्वर एंडपॉइंट या क्लाउड एपीआई (जैसे, Vertex AI Gemini API) पर रीडायरेक्ट करें.
  2. अनुकूल गिरावट: भाषा की पहचान करने वाले एलिमेंट/बटन बंद करें और उपयोगकर्ता को बताएं कि इस ब्राउज़र में, क्लाइंट-साइड पर भाषा की पहचान करने की सुविधा फ़िलहाल काम नहीं करती. इससे, किसी भी तरह की गड़बड़ी या क्रैश को रोका जा सकता है.