C#使用Google实现在线翻译

本文部分参考了GitHub中wadereye的代码,在源代码基础上修改了部分针对tkk的筛选及使用逻辑。

由于谷歌的tkk值规则一直在变,且api的url也不是固定的,所以做了配置类,方便修改。

全部代码

GoogleTranslate主类:

 public static class GoogleTranslate
    {
        public static string TranslateChinese2English(string text)
        {
            return Translate(text, "zh-CN", "en");
        }

配置类

通过读取配置文件给主类传值,方便修改:

  public class ConfigHelper
    {

App.config配置:


    <add key="GoogleTranslate_Url" value="https://translate.google.cn/">add>
    <add key="GoogleTranslate_API" value="https://translate.google.cn/translate_a/single?client=webapp&sl={0}&tl={1}&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=sos&dt=ss&dt=t&otf=1&pc=1&ssel=3&tsel=0&xid=45662847&kc=2&tk={2}&q={3}">add>
    <add key="GoogleTranslate_tkkRegex" value="(?<=tkk:')(.*?)(?=')">add>

gettk.js

本js文件保存在根目录(文件名:gettk.js),供GoogleTranslate类调用,获取tkk:

使用

直接调用主类的公用方法即可:

 GoogleTranslate.TranslateChinese2English("需要翻译内容");

示例:

private void button1_Click(object sender, EventArgs e)
{
    richTextBox2.Text = GoogleTranslate.TranslateChinese2English(richTextBox1.Text);
}

C#使用Google实现在线翻译

Original: https://www.cnblogs.com/waw/p/15635529.html
Author: 狼人:-)
Title: C#使用Google实现在线翻译

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545674/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球