c#winform如何实现中英文转换
3个回答
展开全部
如果你要实现自己写的话你必须有英语词汇库才能实现,
最好如楼上所说调用谷歌的接口来做翻译效果,
下面附上代码
/// <summary>
/// 翻译方法
/// </summary>
/// <param name="textstr">需要翻译的内容</param>
/// <param name="language">被翻译的语言</param>
/// <param name="tolanguage">翻译成的语言</param>
/// <returns></returns>
public static string GetGoogtextStr(string textstr, string language, string tolanguage)
{
WebClient web = new WebClient();
WebHeaderCollection headers = new WebHeaderCollection();
headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded; charset=utf-8";
headers[HttpRequestHeader.Referer] = "http://translate.google.cn/";
web.Headers = headers;
string text = textstr;
string url = string.Format("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={0}&langpair={1}%7C{2}", text, language, tolanguage);
byte[] bystr = web.DownloadData(url);
string urldata = GetText(System.Web.HttpUtility.UrlDecode(bystr, Encoding.UTF8));
return urldata;
}
Hashtable array = new Hashtable();
array.Add("sq", "阿尔巴尼亚语");
array.Add("ar", "阿拉伯语");
array.Add("ga", "爱尔兰语");
array.Add("et", "爱沙尼亚语");
array.Add("be", "白俄罗斯语");
array.Add("bg", "保加利亚语");
array.Add("is", "冰岛语");
array.Add("pl", "波兰语");
array.Add("fa", "波斯语");
array.Add("af", "布尔文(南非荷兰语)");
array.Add("da", "丹麦语");
array.Add("de", "德语");
array.Add("ru", "俄语");
array.Add("fr", "法语");
array.Add("tl", "菲律宾语");
array.Add("fi", "芬兰语");
array.Add("ko", "韩语");
array.Add("nl", "荷兰语");
array.Add("gl", "加利西亚语");
array.Add("ca", "加泰罗尼亚语");
array.Add("cs", "捷克语");
array.Add("hr", "克罗地亚语");
array.Add("lv", "拉脱维亚语");
array.Add("lt", "立陶宛语");
array.Add("ro", "罗马尼亚语");
array.Add("mt", "马耳他语");
array.Add("ms", "马来语");
array.Add("mk", "马其顿语");
array.Add("no", "挪威语");
array.Add("pt", "葡萄牙语");
array.Add("ja", "日语");
array.Add("sv", "瑞典语");
array.Add("sr", "塞尔维亚语");
array.Add("sk", "斯洛伐克语");
array.Add("sl", "斯洛文尼亚语");
array.Add("sw", "斯瓦希里语");
array.Add("th", "泰语");
array.Add("tr", "土耳其语");
array.Add("cy", "威尔士语");
array.Add("uk", "乌克兰语");
array.Add("es", "西班牙语");
array.Add("iw", "希伯来语");
array.Add("el", "希腊语");
array.Add("hu", "匈牙利语");
array.Add("it", "意大利语");
array.Add("yi", "意第绪语");
array.Add("hi", "印地语");
array.Add("id", "印尼语");
array.Add("en", "英语");
array.Add("vi", "越南语");
array.Add("zh", "中文");
语言标志传这些就可以了GetGoogtextStr(textstr, “zh”, "en")//这样就是将中文翻译为英文
调用上面的方法就可以实现简单的翻译了,支持30多种语言
下面是核心接口.
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={0}&langpair={1}%7C{2}
{0}:表示被翻译字符
{1}:被翻译字符的语言
{2}:翻译的目标字符
因为是GET提交方式,那么就限定了字符长度,可以说是一大遗憾.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询