我正在我的页面上使用谷歌翻译工具的网站,它工作得很好,但当我检查相同的页面与表单,它没有改变输入字段内的值。
我是不是漏掉了什么,或者谷歌翻译工具不能做什么?
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>发布于 2012-05-11 16:08:57
显然,谷歌网站翻译器不会翻译input元素的值,即使设置在HTML源中也是如此。我也使用textarea元素进行了测试,结果相同。但是,它确实通过表单字段以外的元素转换用户输入;这样的元素可以使用广泛(尽管不是很通用)的supported in modern browsers属性contenteditable创建。但是需要额外的措施来使翻译后的文本与表单一起提交(因为它不会在表单字段中)。
在我的书Going Global with JavaScript and Globalize.js中,我描述了自动翻译中的一些问题,并建议尽管在网页上为自动翻译提供小部件可能不是一个好主意,但它对于用户输入可能是有用的。例如,考虑一个讨论论坛,其中讨论是用英语进行的。你可以添加一些功能,让每个人都可以使用他的母语,让它立即翻译成英语,签出来,然后提交。这里有一个简单的演示:Translation of user input。(它使用contenteditable元素并将翻译后的内容写入隐藏字段。)
https://stackoverflow.com/questions/10546360
复制相似问题