我在我的网页上使用谷歌翻译工具用于网站,它工作正常,但当我在带有表单的页面上检查相同时,它不会更改输入字段中写入的值。
我是否遗漏了某些内容或谷歌翻译工具没有这样做?
PFB我测试的片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
autoDisplay: false,
layout: google.translate.TranslateElement.InlineLayout.SIMPLE
}, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<form>
<input type="text" value="system" />
<select>
<option value="welcome">Welcome</option>
</select>
<input type="radio" />Right?
<input type="submit" value="Submit" />
</form>
</body>
</html>
答案 0 :(得分:2)
显然,Google网站翻译器不会翻译input
元素值,即使在HTML源代码中设置也是如此。我也使用textarea
元素进行了测试,结果相同。但是, 通过表单字段以外的元素转换用户输入;可以使用contenteditable
属性创建此类元素,{{1}}属性广泛(但不是普遍)supported in modern browsers。但是需要额外的措施来使翻译的文本与表格一起提交(因为它不会在表格字段中)。
在我的书Going Global with JavaScript and Globalize.js中,我描述了自动翻译中的一些问题,并建议尽管在网页上通常使用小部件可能不是一个好主意,但它对于用户输入。例如,考虑一个讨论论坛,用英语进行讨论。您可以添加允许每个人使用其母语的功能,将其立即翻译成英语,检查并提交。有一个简单的演示: Translation of user input。 (它使用一个contenteditable元素并将翻译的内容写入隐藏字段。)