为BlogEngine添加标题自动翻译功能

       这次为大家带来的是利用Google API为BlogEngine添加标题自动翻译功能,应用在日志和自定义页面的URL别名上。

如果任何疑问,请给我留言

        修改BlogEngine.Web/admin/Add_entry.aspx
<asp:Content ID="Content1" ContentPlaceHolderID="cphAdmin" runat="Server">后添加
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

<script type="text/javascript">...</script>中加入以下Javascript代码:

    google.load("language", "1");
    
function GetTranslate()
    
{
        
var title = document.getElementById('<%=txtTitle.ClientID %>').value;
        
var slug = document.getElementById('<%=txtSlug.ClientID %>');
        google.language.translate(title,
"zh-cn", "en",
        
function(result) {  
            
if (!result.error) {
                slug.value
= result.translation;  
            }

            
else{
                GetSlug();
            }

        }
);
    }

找到<asp:TextBox runat="server" ID="txtSlug" TabIndex="9" Width="400" />,把它后面的<a...></a>改成:
<a href="javascript:void(GetTranslate());">Translate from title</a>

BlogEngine.Web/admin/Pages.aspx作同样的修改,这次改进就完成了

posted @ 2008-08-07 08:05 木子博客 阅读(1578) 评论(13) 编辑 收藏

 回复 引用 查看   
#1楼 2008-08-07 08:50 菜菜灰      
在哪里有Google API翻译接口的文档。
 回复 引用 查看   
#2楼 2008-08-07 08:59 玄猫(韩国峰)      
@菜菜灰
http://www.hanguofeng.cn/archives/web-client/google-ajax-language-api-developers-guide
我译的中文版,译的不好大家见笑了

 回复 引用   
#3楼 2008-08-07 09:05 积雨云[未注册用户]
不错 我也在看BlogEngine
 回复 引用 查看   
#4楼[楼主] 2008-08-07 09:09 木子博客      
@菜菜灰

http://code.google.com/apis/ajaxlanguage/documentation/这是Google翻译的Api文档

 回复 引用 查看   
#5楼 2008-08-07 09:11 Desmend      
好,我也想学习一下
 回复 引用 查看   
#6楼 2008-08-07 10:38 菜菜灰      
非常感谢这么热心的博客园园友
 回复 引用 查看   
#7楼[楼主] 2008-08-07 11:12 木子博客      
@菜菜灰

也是因为现在暑假才有时间写这些东西,等开学了要实习,就没有时间写这些了,谢谢你的关注~~这是我的动力噢

 回复 引用 查看   
#8楼 2008-08-07 11:22 菜菜灰      
为什么没有办法直接输出

google.load("language", "1");
function GetTranslate(title)
{
google.language.translate(title, "zh-cn", "en",
function(result)
{
if (!result.error)
{
document.write(result.translation);
}
});
}

 回复 引用 查看   
#9楼 2008-08-07 11:54 Icyflash      
看起来你很喜欢改源码呀。
BE的扩展功能也是很强大的,我之前就写过一个类似功能的扩展。

 回复 引用 查看   
#10楼[楼主] 2008-08-07 11:56 木子博客      
@菜菜灰

请先加上<script type="text/javascript" src="http://www.google.com/jsapi"></script>只有引用Google这个Api才能实现Google翻译

 回复 引用 查看   
#11楼[楼主] 2008-08-07 11:57 木子博客      
@Icyflash
主要是感觉BlogEngine有一些地方不太实用,所以就对它修改一下了,呵呵

 回复 引用 查看   
#12楼 2008-08-07 20:26 斯克迪亚      
有办法在C#中调用这个API吗?我对这方面不是很熟悉,范例也都是JS的
 回复 引用 查看   
#13楼[楼主] 2008-08-08 08:07 木子博客      
@斯克迪亚
可以啊,是以JSON来实现的,具体的请查看Google的文档http://code.google.com/apis/ajaxlanguage/documentation