众所周知,使用Google音译时必须按下空格键才能进行翻译。
但是要求是转换已经存储的值到从数据库获取的输入中,而不是实时用户输入的值。
我怀疑我们是否可以使用Google jspi自动转换输入值。
不点击空格键就无法翻译,因此我试图在单击特定按钮时按空格键进入每个班级,以便进行翻译。
例如,这里是一个按钮,如果单击此按钮,则按空格键进入每个班级并自动翻译。
我尝试在值后面添加空格,但是没有空格键事件没有改变
$('#translate').click(function(){
$('.npl').each(function(){
$(this).val($(this).val()+'');
})
})
$('.npl').nepalize();
$.fn.nepalize = function(){
var that = this[0];
google.load("elements", "1", {
packages: "transliteration"
});
function onLoad() {
var options = {
sourceLanguage: 'en', // or google.elements.transliteration.LanguageCode.ENGLISH,
destinationLanguage: ['ne'], // or [google.elements.transliteration.LanguageCode.HINDI],
shortcutKey: 'ctrl+g',
transliterationEnabled: true
};
var control = new google.elements.transliteration.TransliterationControl(options);
// Enable transliteration in the textfields with the given Class.
var elements = document.getElementsByClassName('npl');
control.makeTransliteratable(elements);
}
google.setOnLoadCallback(onLoad);
}
$('#translate').click(function(){
$('.npl').each(function(){
$(this).val($(this).val()+'');
})
})
$('.npl').nepalize();
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
</head>
<body>
<button id='translate'>Translate</button>
<input class="npl" value='Hello'>
<input class="npl" value='How are you' />
</body>
</html>
答案 0 :(得分:0)
尽管它应该是注释部分,但是我必须在这里解释并插入示例。在Google音译官网中,提到了如何翻译javascript
字符串。
我认为解决方案在以下代码中
https://developers.google.com/transliterate/v1/getting_started
//Load the Language API.
google.load("language", "1");
//Call google.language.transliterate()
google.language.transliterate(["Namaste"], "en", "hi", function(result) {
if (!result.error) {
var container = document.getElementById("transliteration");
if (result.transliterations && result.transliterations.length > 0 &&
result.transliterations[0].transliteratedWords.length > 0) {
container.innerHTML = result.transliterations[0].transliteratedWords[0];
}
}
});
如果可以转换javascript字符串,那将是最好的方法,因为我们可以从数据库中存储字符串。
我尝试过此操作,但结果为空
google.load("language", "1");
function initialize() {
google.language.transliterate(["Namaste"], "en", "ne", function(result) {
if (!result.error) {
var container = document.getElementById("transliteration");
if (result.transliterations && result.transliterations.length > 0 &&
result.transliterations[0].transliteratedWords.length > 0) {
container.innerHTML = result.transliterations[0].transliteratedWords[0];
}
}
});
}
google.setOnLoadCallback(initialize);
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google AJAX Language API - Basic Transliteration</title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
</head>
<body>
<div id="transliteration"></div>
</body>
</html>