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)

大家都在看

  • Qt MetaObject 详解

    如果一个类的声明中包含Q_OBJECT宏,那么qmake将为这个类生成 meta信息,这个信息在前一篇中所提到的moc文件中。这一篇通过解析这个一个示例moc文件来阐述这些meta…

    技术杂谈 2023年6月1日
    0122
  • 【转】SVG动态图标是如何实现的

    这篇文章给大家分享的内容是SVG动态图标是如何实现的,有需要的朋友可以参考一下。 在 loading.io 上能看到好多效果惊艳的loading图标。它们都是用svg写成的,寥寥几…

    技术杂谈 2023年6月1日
    094
  • perf火炬图【转】

    转自:https://www.cnblogs.com/linhaostudy/p/16098864.html 正文回到顶部 1、perf命令简要介绍 1.1 perf采集数据 让我…

    技术杂谈 2023年5月31日
    0120
  • QSC的算法讲座第三季开始啦

    【背景】我已经毕业两年了,正所谓金三银四,现在正是刷题跳槽的好时节。上周同组的兄弟也讲了一下做自媒体的好处,所以我也开始重新举办算法讲堂了。 【时间】2020年12月7日~2020…

    技术杂谈 2023年6月1日
    0103
  • 华为暑期实习通用软件开发面经

    华为暑期实习 通用软件开发工程师 数据存储与机器视觉 面经 机试 7.6 第一题 字符串匹配 给五行英文句子,找出来其中的网址,网址以http或https开头,以com结尾,不要重…

    技术杂谈 2023年7月23日
    094
  • POJ 2155 Matrix (二维线段树)

    Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17226 Accepted: 6461 Des…

    技术杂谈 2023年5月31日
    0122
  • android系统中常见问题及分类

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月10日
    097
  • [学习笔记]Java枚举

    在Java中,枚举是一种特殊的类,一般用于表示一组常量; 定义枚举时使用 enum关键字,各个常量使用逗号分隔; 也可以在类的内部定义枚举: 每个枚举都以内部类的形式实现,且所有的…

    技术杂谈 2023年7月24日
    078
  • 高级 NFC 概览

    将 NFC 标签与 Android 设备结合使用时,用于读取和写入标签数据的主要格式是 NDEF。当设备扫描具有 NDEF 数据的标签时,Android 会尽可能在解析消息和通过 …

    技术杂谈 2023年5月31日
    0108
  • 什么是 inode ?

    一般来说,面试不会问 inode 。但是 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存的基础。 理解inode,要从文件储存说起。 文件储存在硬盘上…

    技术杂谈 2023年5月31日
    0126
  • 彰显个性│博客园的自定义主题

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    093
  • 国运之争 功在当下

    国运之争 中华复兴 郭继承讲的好 国运之争 系于当代,下一代 树报国志 成栋梁材 十年累积 三年中考 三年高考 四年大学 道德在内修心思价值观念 仁爱在外制态度情绪言行 业果在平时…

    技术杂谈 2023年5月31日
    0111
  • cgroup-v1在android中的应用实现浅析

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月10日
    088
  • 支持MPI的hdf5库的编译

    作者:朱金灿 因为最近要研究并行I/O,据说hdf5文件格式可以支持并行I/O,深度学习框架Caffe用的是hdf格式,所以决定把hdf5库的源码编译一下。 首先得安装MPI的开发…

    技术杂谈 2023年5月31日
    0135
  • 《EPSANet: An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network》论文笔记

    然而,上述方法仍然存在两个重要和具有挑战性的问题。第一个是如何高效地捕捉和利用不同尺度特征图的空间信息,丰富特征空间。第二个是通道或空间注意只能有效捕获局部信息,而不能建立远程通道…

    技术杂谈 2023年6月21日
    0101
  • VS Code 连接访问本地主机上的Docker容器

    使用VS Code编辑器修改调试代码很方便,将它与Docker容器结合起来更会大幅提升开发效率。其实VS Code连接本地主机上的Docker容器要比远程连接服务器上的Docker…

    技术杂谈 2023年7月11日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球