簡體   English   中英

如何在用戶輸入時檢測用戶的語言

[英]how to detect user's language while he/she is typing

伙計們,我有這個問題的問題,我必須知道用戶在輸入文字時使用哪種語言來處理一些不良形狀的東西,我甚至在這里看了這個,但它沒有幫助我,你們可以幫助嗎我有正確的代碼?
我必須知道的語言是英語和波斯語:| 謝謝:) i need some javascript helps

<input type="text" id="give_me_the_lang">
<div id="show_lang_in_here"></div>

這是一個沒有真正檢測語言的解決方案,只是檢查用戶輸入是否只包含英文字母。 如果是,它在div中寫“英語”,否則寫“波斯語”。 碼:

 document.getElementById("give_me_the_lang").addEventListener("keyup", function() { if (/^[a-zA-Z]+$/.test(this.value)) { document.getElementById("show_lang_in_here").innerHTML = "English"; } else { document.getElementById("show_lang_in_here").innerHTML = "Persian"; } }); 
 <input type="text" id="give_me_the_lang"> <div id="show_lang_in_here"></div> 

表達式^[a-zA-Z]+$只檢查英文字母的字母,如果你用數字或任何其他字符書寫,結果將是“波斯語”。

檢測語言是一個普通的if或switch案例無法解決的任務......你有一個計算機學習問題要在這里解決我的朋友。

好消息是,已經有瘋狂的天才已經解決了你的問題,為什么不使用他們的可用解決方案呢?

https://cloud.google.com/translate/v2/getting_started#language_detect

  1. 注冊Google雲端平台
  2. 激活對Google Translate API的訪問權限
  3. 獲取API的瀏覽器訪問令牌。 您需要此令牌才能在JavaScript中使用它。
  4. 現在連接你的用戶界面,讓他們發揮魔力。

您的HTML將保持不變。 只要確保你也包含jQuery。

<input type="text" id="give_me_the_lang" />
<div id="show_lang_in_here"></div>

現在讓我們連接UI

$(function(){

    /* We want to listen to the keypress events from the user 
    *  Each time the user stops typing we wait a few milliseconds and then
    *  we ask Google to detect the language for us */
    var timeoutID;

    /* Replace this with your Google Translate API key */
    var myKey = 'XXXX';

    var detectLanguage = function(){

        $.ajax({
            method: 'GET',
            url: 'https://www.googleapis.com/language/translate/v2/detect',
            data: {
               key: myKey,
               q: $('#give_me_the_lang').val()
            }           
        }).done(function(response){

           /* Push the response to the UI */
           $('#show_lang_in_here').text(JSON.stringify(response.data.detections));
        });        
    };

    $('#give_me_the_lang').on('keyup, keypress, change', function(){
        clearTimeout(timeoutID);

        /* Lets wait half a second */
        setTimeout(detectLanguage, 500);
    });
});

要在解析中解析的是Google將發回的一系列檢測。

{
    "data": {
       "detections": [
         [
           {
            "language": "de",
            "isReliable": false,
            "confidence": 0.049747143
           }
         ]
       ]
    }
}

這是一個過於復雜的計算結果的完美例子...所以,我想說,如果這個人給你一個猜測,使用它,如果這個人給你更多,那么選擇你認為最適合你的用戶的那個基地(你沒有在朝鮮或玻利維亞蓋丘亞地區有客戶嗎?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM