這里我想做一個簡單的翻譯器。我想做一個直接翻譯句子的翻譯器。我以這段代碼為例。但這只適用于翻譯一個詞。如果將兩個或多個單詞組合在一起,則不能直接與翻譯的兩個單詞一起出現。如何讓代碼在一幀中顯示更多的單詞?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TRANSLATOR</title>
<style>
body, input {
font-size: 20;
}
body {
text-align: center;
}
</style>
<script>
function checkForTranslation(){
var input = document.getElementById("inputTextField").value;
var outputDiv = document.getElementById("translationOutputDiv");
input = input.toLowerCase();
if (input == "i") return outputDiv.innerHTML = "aku";
if (input == "love") return outputDiv.innerHTML = "cinta";
if (input == "you") return outputDiv.innerHTML = "kamu";
}
</script>
</head>
<body>
<h2>TRANSLATOR</h2>
<input placeholder="Masukkan kalimat" id="inputTextField" type="text" onkeyup="checkForTranslation()">
<div id="translationOutputDiv" style="display: inline">[translation]</div>
</body>
</html>
如果你試試看,如果你輸入“i”,它會顯示“aku”,但如果你輸入“i love”,你不會得到翻譯“aku cinta”。這就是我要解決的所有問題。
uj5u.com熱心網友回復:
一種忽略語言之間語言學復雜差異的天真方法是將您的輸入拆分為一組單詞,然后修改您的翻譯器以使用引數來接受單詞并回傳翻譯。
function translateWord(input){
if (input == "i") return "aku";
if (input == "love") return "cinta";
if (input == "you") return "kamu";
return input;
}
function checkForTranslation(){
var inputs = document.getElementById("inputTextField").value.split(/\s /);
var outputDiv = document.getElementById("translationOutputDiv");
for (let i=0; i<inputs.length; i ) {
inputs[i]=translateWord(inputs[i].toLowerCase());
}
outputDiv.innerHTML = inputs.join(' ');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/537910.html
標籤:javascript打字稿功能翻译getelementbyid
上一篇:如何讓我的代碼再次呼叫該函式以重新開始?(Python)
下一篇:meta標簽幾個常用方法!