[英]how to detect user's language while he/she is typing
這是一個沒有真正檢測語言的解決方案,只是檢查用戶輸入是否只包含英文字母。 如果是,它在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
您的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.