Skip to main content
डॉक्यूमेंटेशन
लर्निंग सेंटर

विस्तृत गाइड, ट्यूटोरियल और API डॉक्यूमेंटेशन के साथ कंटेंट मॉडरेशन में महारत हासिल करें

क्विक लिंक

भाषा पहचान

Discuse किसी संदेश की भाषा पहचानता है, ताकि उस पर कार्रवाई करने से पहले आप सही मॉडरेशन नियम लागू कर सकें। check_language सक्षम करके टेक्स्ट को POST https://api.discuse.com/api/v2/check पर भेजें, और पहचाने गए भाषा कोड को results.language.language से पढ़ें। जिस भाषा की आपको आवश्यकता है, उससे अलग सामग्री को फ़्लैग करने के लिए expected_language जोड़ें।

भाषा पहचान किस काम आती है?

पहले से भाषा पहचान लेने से आप:

  • भाषा-विशिष्ट मॉडरेशन थ्रेशहोल्ड लागू कर सकते हैं
  • सामग्री को सही समीक्षकों या सपोर्ट टीम तक भेज सकते हैं
  • कम्युनिटी की भाषा नीति लागू कर सकते हैं
  • फ़ीड को भाषा के आधार पर फ़िल्टर या स्थानीयकृत कर सकते हैं

मैं भाषा कैसे पहचानूँ?

curl -X POST https://api.discuse.com/api/v2/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "content": {
      "text": "Bonjour, comment allez-vous aujourd'\''hui?"
    },
    "settings": {
      "check_language": true
    }
  }'

प्रतिक्रिया फ़ॉर्मैट

{
  "has_violations": false,
  "cached": false,
  "results": {
    "language": {
      "language": "fr",
      "confidence": 0.99,
      "hit": false
    }
  }
}

पहचाना गया भाषा कोड results.language.language में होता है। जब expected_language लागू होता है, तो detected और expected भी भरे जाते हैं (नीचे देखें)।

भाषा परिणाम कौन-से फ़ील्ड लौटाता है?

Field Type Meaning
language string पहचाना गया भाषा कोड (जैसे en, fr, es)
confidence number पहचान का भरोसा स्तर (0.0–1.0)
expected string लागू किया गया भाषा कोड, जब expected_language सेट हो
detected string पहचाना गया कोड (language का उपनाम, एनफ़ोर्समेंट के दौरान भरा जाता है)
hit bool जब पहचानी गई भाषा expected से मेल नहीं खाती, तो True
delete_only bool True होने पर, संदेश को आगे कोई दंड दिए बिना हटा देना चाहिए
error string केवल तब मौजूद होता है जब पहचान विफल हो

कौन-सी भाषाएँ समर्थित हैं?

Discuse ISO-शैली के भाषा कोड लौटाता है। आम तौर पर पहचानी जाने वाली भाषाओं में शामिल हैं:

Code Language Code Language
en अंग्रेज़ी de जर्मन
es स्पेनिश fr फ़्रेंच
it इतालवी pt पुर्तगाली
nl डच pl पोलिश
ru रूसी uk यूक्रेनी
zh चीनी ja जापानी
ko कोरियाई ar अरबी
hi हिन्दी tr तुर्की

किसी तय सूची को हार्डकोड करने के बजाय मान को सीधे results.language.language से पढ़ें।

मैं किसी खास भाषा को कैसे लागू करूँ?

expected_language को उस कोड पर सेट करें जिसकी आपको आवश्यकता है। जब पहचानी गई भाषा अलग होती है, तो language.hit true होता है और expected/detected भर दिए जाते हैं:

अनुरोध:

{
  "content": { "text": "Hola, cómo estás?" },
  "settings": {
    "check_language": true,
    "expected_language": "en"
  }
}

प्रतिक्रिया:

{
  "has_violations": true,
  "message": "Content is not in expected language",
  "results": {
    "hits": true,
    "language": {
      "language": "es",
      "detected": "es",
      "expected": "en",
      "confidence": 0.97,
      "hit": true
    }
  }
}

उपयोग के मामले

केवल अंग्रेज़ी वाले फ़ोरम

async function validatePost(post) {
  const result = await fetch('https://api.discuse.com/api/v2/check', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({
      content: { text: post.content },
      settings: { check_language: true, expected_language: 'en' }
    })
  }).then(r => r.json());

  if (result.results.language.hit) {
    return {
      approved: false,
      reason: 'Posts must be in English',
      detected_language: result.results.language.language
    };
  }
  return { approved: true };
}

बहु-भाषा रूटिंग

async function routeContent(content) {
  const result = await checkLanguage(content.text);
  const language = result.results.language.language;

  const moderatorQueue = {
    en: 'english-moderation',
    es: 'spanish-moderation',
    fr: 'french-moderation',
    de: 'german-moderation',
    default: 'general-moderation'
  };

  const queue = moderatorQueue[language] || moderatorQueue.default;
  await addToQueue(queue, content);
  return { queued: true, language };
}

कंटेंट मॉडरेशन के साथ संयोजन

एक ही अनुरोध में sentiment और spam के साथ भाषा पहचान चलाएँ:

{
  "content": {
    "text": "User message in any language"
  },
  "settings": {
    "check_language": true,
    "check_sentiment": true,
    "check_spam": true
  }
}

इसके बाद पहचानी गई भाषा आपके प्रति-भाषा sentiment थ्रेशहोल्ड तय कर सकती है:

const LANGUAGE_THRESHOLDS = {
  en: { toxicity: 0.7, profanity: 0.6 },
  de: { toxicity: 0.6, profanity: 0.5 },
  es: { toxicity: 0.7, profanity: 0.7 },
  default: { toxicity: 0.7, profanity: 0.6 }
};

async function moderateContent(text) {
  const result = await checkText(text); // check_language + check_sentiment
  const language = result.results.language.language;
  const thresholds = LANGUAGE_THRESHOLDS[language] || LANGUAGE_THRESHOLDS.default;
  const sentiment = result.results.sentiment;

  if (sentiment.toxicity > thresholds.toxicity) {
    return { action: 'block', reason: 'toxic_content' };
  }
  if (sentiment.profanity > thresholds.profanity) {
    return { action: 'flag', reason: 'profanity' };
  }
  return { action: 'allow' };
}

सर्वोत्तम तरीके

छोटे टेक्स्ट का ध्यान रखें

बहुत छोटी स्ट्रिंग पर पहचान कम भरोसेमंद होती है। न्यूनतम लंबाई से कम होने पर जाँच छोड़ दें:

async function smartLanguageCheck(text) {
  if (text.length < 20) {
    return { language: 'unknown', confidence: 0 };
  }
  const result = await checkLanguage(text);
  return result.results.language;
}

परिणाम कैश करें

async function getLanguageWithCache(text, contentId) {
  const cached = await cache.get(`lang:${contentId}`);
  if (cached) return JSON.parse(cached);

  const result = await checkLanguage(text);
  const language = result.results.language;
  await cache.set(`lang:${contentId}`, JSON.stringify(language), 'EX', 3600);
  return language;
}

उपयोग सीमाएँ

भाषा पहचान आपके टेक्स्ट-विश्लेषण कोटा से ली जाती है:

Plan Monthly Analyses
Basic 1,000
Gold 5,000
Platinum 15,000
Ultimate 30,000

कैश की गई प्रतिक्रियाएँ आपके कोटा में नहीं गिनी जातीं।

इंटीग्रेशन उदाहरण

Node.js

const checkLanguage = async (text, expectedLanguage = null) => {
  const settings = { check_language: true };
  if (expectedLanguage) settings.expected_language = expectedLanguage;

  const response = await fetch('https://api.discuse.com/api/v2/check', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({ content: { text }, settings })
  });

  return response.json();
};

Python

import os
import requests

def check_language(text, expected_language=None):
    settings = {'check_language': True}
    if expected_language:
        settings['expected_language'] = expected_language

    response = requests.post(
        'https://api.discuse.com/api/v2/check',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['DISCUSE_API_KEY']
        },
        json={'content': {'text': text}, 'settings': settings}
    )
    return response.json()

अगले कदम

Discuse टीम द्वारा लिखा गया · अंतिम अपडेट June 2026

संबंधित लेख

Text Analysis और Sentiment Detection

टेक्स्ट content में spam, toxicity, profanity का पता लगाएँ और sentiment का विश्लेषण करें

Image NSFW Detection

अनुपयुक्त images और adult content का अपने-आप पता लगाएँ और फ़िल्टर करें

Spam Detection

टेक्स्ट और messages के लिए AI-संचालित spam filtering