Google API -将字符串翻译成EN语言:(
Google API - Translate a string into EN language :(
我正在尝试制作一个简单的基于web的应用程序,将非英语(非EN)字符串翻译成英语(EN)语言。为此,我使用谷歌的翻译API (v1- JS)。
首先,我检测的是div标签中提供的语言(注意,页面编码设置为UTF-8)。
然后我试图翻译文本,如果它是在非EN语言,然后它将显示在检测到的语言标签下方。
我能够获得检测到的语言,但翻译从未发生!(
任何帮助都将是非常感激的。
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script
src="http://www.google.com/jsapi?key=mykeyfrxwexdfwezfdhfxcewx" type="text/javascript"></script>
<script type="text/javascript">
/*
* How to detect the language of text.
*/
google.load("language", "1");
function initialize() {
var content = document.getElementById('content');
// Setting the text in the div.
content.innerHTML = '<div id="text">Hola, me alegro mucho de verte.<'/div><div id="detected"><'/div><div id="transtext"/>';
// Grabbing the text to translate
var text = document.getElementById("text").innerHTML;
// Detect the language of the text.
google.language.detect(text, function(result) {
var detected = document.getElementById("detected");
// If there wasn't an error in the request
if (!result.error) {
var langCode = result.language;
var langName;
// Loop through the languages enum so that we can find the actual name of the language.
// Learn about the languages enum here:
// http://code.google.com/apis/ajaxlanguage/documentation/reference.html#LangNameArray
for ( var i in google.language.Languages) {
var thisLangCode = google.language.Languages[i];
if (thisLangCode == langCode) {
// find the language code, store the language name.
langName = i;
break;
}
}
// See the detected language.
detected.innerHTML = 'Detected: "' + result.language
+ '" - aka "' + langName + '"';
}
});
google.language.translate(text, 'es', 'en', function(result) {
var translated = document.getElementById("transtext");
if (result.transtext) {
translated.innerHTML = result.transtext;
}
});
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body style="font-family: Arial; border: 0 none;">
<div id="content">Loading...</div>
</body>
</html>
3点注意事项
您实际上没有在detect的回调中调用translate。翻译结果不包含属性转换文本。你需要的是翻译。我怀疑你想在公共领域发布你的API密钥
查找修改后的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script
src="http://www.google.com/jsapi?key=xxxxxxxxxxxxxxx>" type="text/javascript"></script>
<script type="text/javascript">
/*
* How to detect the language of text.
*/
google.load("language", "1");
function initialize() {
var content = document.getElementById('content');
// Setting the text in the div.
content.innerHTML = '<div id="text">Hola, me alegro mucho de verte.<'/div><div id="detected"><'/div><div id="transtext"/>';
// Grabbing the text to translate
var text = document.getElementById("text").innerHTML;
// Detect the language of the text.
google.language.detect(text, function(result) {
var detected = document.getElementById("detected");
// If there wasn't an error in the request
if (!result.error) {
var langCode = result.language;
var langName;
// Loop through the languages enum so that we can find the actual name of the language.
// Learn about the languages enum here:
// http://code.google.com/apis/ajaxlanguage/documentation/reference.html#LangNameArray
for ( var i in google.language.Languages) {
var thisLangCode = google.language.Languages[i];
if (thisLangCode == langCode) {
// find the language code, store the language name.
langName = i;
break;
}
}
// See the detected language.
detected.innerHTML = 'Detected: "' + result.language
+ '" - aka "' + langName + '"';
google.language.translate(text, result.language, 'en', function(result) {
var translated = document.getElementById("transtext");
if (result.translation) {
translated.innerHTML = result.translation;
}
});
}
});
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body style="font-family: Arial; border: 0 none;">
<div id="content">Loading...</div>
</body>
</html>
相关文章:
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- Express服务器中语言子域的最佳实践
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 下载所选语言的pdf文件
- keith wood日期选择器日期格式和语言
- 为现有Roslyn语言lexer/parser选择基于javascript的代码编辑器
- 正如我所能做的引导提醒,按下一个按钮可以更改语言
- 量角器-如何在量角器中设置默认的打字语言
- Javascript/jQuery替换tamil语言输入框中的最后一个单词
- 如何获取整个laravel语言(本地化)数据
- 如何覆盖jqGrid's语言默认值
- moment.js年份/数字格式,阿拉伯语言环境
- 我使用什么语言来创建像Webly这样的拖放功能
- Porting duff's设备从C语言转换为JavaScript
- 如何更改web应用程序的语言.有没有这样的api
- 我可以用JavaScript判断访问者是否'的语言环境遵循美国风格或世界其他地区's风格
- 获取每种语言的跨度标题,并插入新的跨度中
- TinyMCE使用Javascript动态更改语言
- Google API -将字符串翻译成EN语言:(