ASP.NET 实现中英转换

本文介绍如何在ASP.NET应用程序中集成Google翻译API来实现文本的自动翻译功能,包括从中文到英文及从英文到中文的翻译示例。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


namespace WebApplication3
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            GoogleTranslate g = new GoogleTranslate();
            var name=g.TranslateChineseToEnglish("我爱你");
        }
    }
}


using System.Net;

public class GoogleTranslate
{


    /// <summary> 
    /// 使用WebRequest获取Google翻译后的内容 
    /// </summary> 
    /// <param name="strTranslateString">需要翻译的内容 asp.net </param> 
    /// <param name="strRequestLanguage">原文语种</param> 
    /// <param name="strResultLanguage">译文语种</param> 
    /// <returns></returns> 
    private string GetGoogleTranslateJSONString(string strTranslateString, string strRequestLanguage, string strResultLanguage)
    {
        WebRequest request = HttpWebRequest.Create(
    "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + strTranslateString + "&langpair=" + strRequestLanguage + "%7C" + strResultLanguage);
        request.Credentials = CredentialCache.DefaultCredentials;
        HttpWebResponse response =
            (HttpWebResponse)request.GetResponse();
        Stream dataStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(dataStream);
        string responseFromServer = reader.ReadToEnd();
        reader.Close();
        dataStream.Close();
        response.Close();
        return responseFromServer;
    }




    /// <summary>
    /// 翻译
    /// </summary>
    /// <param name="strTranslateString">需要翻译的内容</param>
    /// <param name="strRequestLanguage">原文语种</param>
    /// <param name="strResultLanguage">译文语种</param>
    /// <returns></returns>
    public string MultiLanguageTranslate(string strTranslateString, string
        strRequestLanguage, string strResultLanguage)
    {
        try
        {
            if (!string.IsNullOrEmpty(strTranslateString))
            {
                TranslateString transtring = (TranslateString)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(GetGoogleTranslateJSONString(strTranslateString,
                                                                                                                                                strRequestLanguage,
                                                                                                                                                strResultLanguage),
                                                                                                                  typeof(TranslateString));
                if (transtring.responseStatus == 200)
                    return transtring.responseData.translatedText;
                else
                    return "There was an error.";
            }
            else
            {
                return strTranslateString;
            }
        }
        catch (Exception e)
        {
            return e.Message;
        }
    }




    /// <summary>
    /// 翻译
    /// 默认地将英文翻译成简体中文
    /// </summary>
    /// <param name="TranslateString">需要翻译的内容</param>
    /// <returns></returns>   
    public string TranslateEnglishToChinese(string strTranslateString)
    {
        return MultiLanguageTranslate(strTranslateString, "en", "zh-CN");
    }


    /// <summary>
    /// 翻译
    /// 默认地将简体中文翻译成英文 www.52mvc.com
    /// </summary>
    /// <param name="TranslateString">需要翻译的内容</param>
    /// <returns></returns>
    public string TranslateChineseToEnglish(string strTranslateString)
    {
        return MultiLanguageTranslate(strTranslateString, "zh-CN", "en");
    }


}




/// <summary> 
/// 译文的反系列化类 
/// </summary> 
public class TranslateString
{
    private TranslatedText responsedata;
    public TranslatedText responseData
    {
        get { return responsedata; }
        set { responsedata = value; }
    }
    private string responsedetails;
    public string responseDetails
    {
        get { return responsedetails; }
        set { responsedetails = value; }
    }
    private int responsestatus;
    public int responseStatus
    {
        get { return responsestatus; }
        set { responsestatus = value; }
    }


    /**/
    /// <summary> 
    /// 译文内容 
    /// </summary> 
    public class TranslatedText
    {
        private string translatedtext;
        public string translatedText
        {
            get { return translatedtext; }
            set { translatedtext = value; }
        }
    }

}

http://blog.youkuaiyun.com/jhl52771/article/details/8233591

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值