0

我在我的页面上为网站使用谷歌翻译工具,它工作正常,但是当我在带有表单的页面上检查相同的内容时,它并没有改变输入字段中写入的值。

我是否遗漏了什么或谷歌翻译工具没有做到这一点?

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>
4

1 回答 1

2

input显然,即使在 HTML 源代码中设置,Google 网站翻译器也不会翻译元素值。我也用一个textarea元素进行了测试,结果相同。但是,它确实通过表单字段以外的元素翻译用户输入。可以使用属性创建此类元素,该属性在现代浏览器中得到contenteditable广泛支持(尽管不是很普遍)。但是需要额外的措施来使翻译后的文本与表单一起提交(因为它不会在表单字段中)。

在我的《用 JavaScript 和 Globalize.js 走向全球》一书中,我描述了自动翻译中的一些问题,并建议虽然在网页上为其设置小部件可能不是一个好主意,但它可能对用户输入很有用. 例如,考虑一个以英语进行讨论的论坛。您可以添加功能,让每个人都使用他的母语,将其立即翻译成英语,检查并提交。有一个简单的演示: 用户输入的翻译。(它使用 contenteditable 元素并将翻译后的内容写入隐藏字段。)

于 2012-05-11T08:08:56.513 回答