使用谷歌翻译C#版本.
2021-04-14 11:25
标签:text pre 亲测 内容 国内 .net ref 开发工具 sub 工作需要,把一个程序翻译为多语言版,很悲催的其中一个语种为土耳其语.国内开放API的翻译均不支持.微软的实在是麻烦.网上找到一个c#版,修修改改,凑合用.亲测有效. 开发工具:VS2013 需要引用多个单元 需要多个引用包. 网上要保存js文件,我直接写成全局变量 核心执行代码如下: 有了此例子,后续准备扩展为Delphi.需要的知识如下: idhttp get :http协议, superobject: json库, TPerlRegEx:正则表达式 comObje:js HTTPApp:httpEncode,汉字转码,发送翻译请求的时候使用. 使用谷歌翻译C#版本. 标签:text pre 亲测 内容 国内 .net ref 开发工具 sub 原文地址:https://www.cnblogs.com/FrankSz/p/8962370.htmlusing System.Web;
using System.Net;
using System.Text.RegularExpressions;
using System.IO;
using MSScriptControl;
//引用-->添加引用-->com-->类型库,注意引用该库后程序环境必须为X86.更改项目属性即可,影响不大 js解析包
//引用-->添加引用-->选择最近项目-->Newtonsoft.Json.dll json解析库.该DLL网上可以下载
string GetTkkJS = @"
var b = function (a, b)
{
for (var d = 0; d >> c : a c ? g[d++] = c : (2048 > c ? g[d++] = c >> 6 | 192 : (55296 == (c & 64512) && f + 1 > 18 | 240,
g[d++] = c >> 12 & 63 | 128) : g[d++] = c >> 12 | 224, g[d++] = c >> 6 & 63 | 128), g[d++] = c & 63 | 128)
}
a = h;
for (d = 0; d a && (a = (a & 2147483647) + 2147483648);
a %= 1E6;
return a.toString() + ""."" + (a ^ h)
}";
///
//结果示例
//ResultText = ‘[[["I love you","我爱你",null,null,1],[null,null,null,"Wǒ ài nǐ"]],null,"zh-CN",null,null,[["我爱你",null,[["I love you",1000,true,false]],
// [[0,3]],"我爱你",0,0]],1,null,[["zh-CN"],null,[1],["zh-CN"]],null,null,null,null,null,[["我","爱","你"]]]‘
string ResultText = Convert.ToString(TempResult[0][0][0]); //数组json,第一个数组里边的第一个数组的第一个内容.嵌套数据,
return ResultText;
}
public string GetResultHtml(string url, CookieContainer cookie, string referer)
{
var html = "";
var webRequest = WebRequest.Create(url) as HttpWebRequest;
webRequest.Method = "GET";
/*网上程序代码,自己用chrome浏览器F12查看追踪修改为下列两行,同样执行成功.20180427
//webRequest.CookieContainer = cookie;
//webRequest.Referer = referer;
//webRequest.Timeout = 20000;
//webRequest.Headers.Add("X-Requested-With:XMLHttpRequest");
//webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
webRequest.Accept = "*/*";
webRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
using (var webResponse = (HttpWebResponse)webRequest.GetResponse())
{
using (var reader = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
html = reader.ReadToEnd();
reader.Close();
webResponse.Close();
}
}
return html;
}
///