C#调用百度翻译API实现一个翻译功能

前言

虽然百度翻译相对于谷歌翻译在准确性方面还有很大的提升空间,但网络的现实情况及百度翻译接口的免费易用性方面让我们选择百度翻译接口。下面来一起看看详细的步骤吧

方法如下

appId 和 passWord 需要到百度翻译开放平台申请

using System;
using System.Net;
using System.Web.Security;
using System.Web.Script.Serialization;

namespace TranslatorOfWang
{
    class TranslateFunction
    {
        public static string Translate(string content)
        {
            string languageFrom = "en", languageTo = "zh";
            if (Translate(content, languageFrom, languageTo).Error_code == null)
            {
                return Translate(content, languageFrom, languageTo).Trans_result[0].Dst;
            }
            else
                return Translate(content, languageFrom, languageTo).Error_msg;
        }
        public static PostResult Translate(string content, string languageFrom, string languageTo)
        {
            string appId = "2018111519456789", passWord = "gMk8wEKxENvbpUcvFxxx", randomNum = new Random().Next().ToString();
            string md5Sign = FormsAuthentication.HashPasswordForStoringInConfigFile(appId + content + randomNum + passWord, "MD5").ToLower();
            string FullRequest = "http://api.fanyi.baidu.com/api/trans/vip/translate?q=" + content + "&from=" + languageFrom + "&to=" + languageTo + "&appid=" + appId + "&salt=" + randomNum + "&sign=" + md5Sign;
            string m_Content = new WebClient().DownloadString(FullRequest);
            PostResult m_postResult = new JavaScriptSerializer().Deserialize<PostResult>(m_Content);
            return m_postResult;
        }
        public  class PostResult{
            public string Error_code { set; get; }
            public string Error_msg { set; get; }
            public string From { set; get; }
            public string To { set; get; }
            public TranslateContent[] Trans_result { set; get; }
        }
        public class TranslateContent
        {
            public string Src { set; get; }
            public string Dst { set; get; }
        }
    }
}

PostResult为百度API返回的值类型组成的一个自定义类,类里的每个名字和百度翻译API返回值里名字要一致。

升级功能:

先将要翻译的文本写入TXT文档,存入主目录下的File目录下,可以用以下代码读取后翻译,用以解决每次翻译,百度翻译有句子长短限制的问题。TBTxtName.txt为要翻译的文件名,要替换的符号以及语言可自己选择。

        public void ReadAndTranslate()
        {
            string TextName = “TBTxtName.txt”;
            string path = "File/";
            StreamReader sr = new StreamReader(path + TextName + ".txt", Encoding.Default);
            StreamWriter m_SW = new StreamWriter(path + DateTime.Now.ToString("yyyymmddhhmm") + "TransLated" + ".txt", true);

            //去除符号重新定义句子
            string xx = sr.ReadToEnd();
            string[] split = xx.Split(new char[] { '.','!','?', ';', ',', ':' });

            string content;
            for (int i = 0; i < split.Length; i++)
            {
                content = split[i];
                if (content != null & content != "" & content != " " & content != "\n" & content != "\t" & content != "\r")
                {
                    string line = TranslationFunction.Translate(content);
                    m_SW.WriteLine(line);
                    //m_SW.WriteLine(content);
                }
            }
            m_SW.Dispose();
            m_SW.Close();
        }

总结

到此这篇关于C#调用百度翻译API实现一个翻译功能的文章就介绍到这了,更多相关C#调用百度翻译API内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#实现谷歌翻译API示例代码

    由于谷歌翻译官方API是付费版本,本着免费和开源的精神,分享一下用C#实现谷歌翻译API的代码.这个代码非常简单,主要分两块:通过WebRequest的方式请求内容:获取Get方式的请求参数(难点在于tk的获取). 一.WebRequest代码 var webRequest = WebRequest.Create(url) as HttpWebRequest; webRequest.Method = "GET"; webRequest.CookieContainer = cookie;

  • asp.net c# 调用百度pai实现在线翻译,英文转中文

    首先去百度:注册个apikey http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91API 然后代码如下只看红色部分就可以了: 复制代码 代码如下: using System; using System.Collections.Generic; using System.L

  • C#调用百度翻译API实现一个翻译功能

    前言 虽然百度翻译相对于谷歌翻译在准确性方面还有很大的提升空间,但网络的现实情况及百度翻译接口的免费易用性方面让我们选择百度翻译接口.下面来一起看看详细的步骤吧 方法如下 appId 和 passWord 需要到百度翻译开放平台申请 using System; using System.Net; using System.Web.Security; using System.Web.Script.Serialization; namespace TranslatorOfWang { class

  • Android 调用百度地图API示例

    Android 调用百度地图API 一.到 百度地图开发平台下载SDK http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的百度sdk中的jar包拷贝到项目的libs目录下 2.在application中添加开发密钥 3.添加所需的权限 <uses-

  • 详解vue项目中调用百度地图API使用方法

    步骤一:申请百度地图密钥: JavaScript API v1.4以及以前的版本无序申请秘钥(ak),自v1.5版本开始需要先申请秘钥(ak),才可以使用,如需获取更高的配额,需要申请  认证企业用户.百度地图API 链接地址:http://lbsyun.baidu.com/apiconsole/key 步骤二:在index.html中添加百度地图JavaScript API接口: <script src="http://api.map.baidu.com/api?v=1.4"

  • C#调用百度地图API根据地名获取经纬度geocoding

    目录 前言 步骤 一.到百度地图开放平台注册认证,并创建应用,获取ak 二.查看api文档 三.创建GeocodingMap类,根据地名获取经纬度 参考 前言 公司的一个内部网站维护,需要根据地名填写经纬度,最终同echarts生成地图. 之前数据比较少,直接经纬度查询查的,https://jingweidu.bmcx.com/ 现在数据越来越多,手动查询太麻烦,于是想到通过地图api批量查询,最后选择了百度地图API. 步骤 一.到百度地图开放平台注册认证,并创建应用,获取ak 百度地图开放平

  • python 3调用百度OCR API实现剪贴板文字识别

    本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字. #!python3 import urllib.request, urllib.parse import os, io, sys, json, socket import base64 from PIL import ImageGrab socket.setdefaulttimeout(30) def get_auth(): apikey = 'your apikey' secret_key

  • uniapp调用百度语音实现录音转文字功能

    经历三天时间各种遇到困难 之后终于实现了这个功能,参照网上了许多文章 才找到一个能正常实现的方法,网上能找到的例子都不起作用,相信很多人困惑在这,为了避免别人出现这种情况,我分享我的代码,绝对可用,包括 uniapp前端使用了recorderManager和java端调用百度语音转文字,我相信很多人都很需要我写的东西,我只试验了安卓手机,html5 + 里面 plus.speech这个方式就不要用了,不好用,调用百度的语音识别时在百度的管理控制台会看到dev_id这个参数没传的错误也没找到添加这

  • Python3调用百度AI识别图片中的文字功能示例【测试可用】

    本文实例讲述了Python3调用百度AI识别图片中的文字功能.分享给大家供大家参考,具体如下: 首先pip install命令安装baidu-aip模块,如下图所示(这里使用pip3 install baidu-aip命令): 编辑Python代码时注意,需要首先引入AipOcr和re两个模块,即: from aip import AipOcr import re 示例代码如下: from aip import AipOcr import re APP_ID='***' API_KEY='***

  • python3调用百度翻译API实现实时翻译

    今天需要做一个翻译的工具,找到之前写过的有道翻译,已经不能用了,最后看到百度翻译还不错,不过官方版本是Python2,我需要Python3,就自己写了一个: # coding: utf8 ''' @Author: LCY @Contact: lchuanyong@126.com @blog: http://http://blog.csdn.net/lcyong_ @Date: 2018-01-15 @Time: 19:19 说明: appid和secretKey为百度翻译文档中自带的,需要切换为

  • python调用百度REST API实现语音识别

    目前,语音识别,即将语音内容转换为文字的技术已经比较成熟,遥想当时锤子发布会上展示的讯飞输入法语音识别,着实让讯飞火了一把.由于此类语音识别需要采集大量的样本,才能达到一定的准确度,个人很难从零开始搭建.但是,许多拥有语音识别技术的公司,或多或少会提供一些API或者SDK供开发者使用,这样就把语音识别的门槛降到了一个很低的程度,只需几行代码即可实现.下面我介绍以下如何使用Python调用百度的REST API实现一个简单的语音识别. 注册账号,并成为开发者 打开 http://yuyin.bai

  • java调用百度定位api服务获取地理位置示例

    复制代码 代码如下: package test; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.net.URL;import java.nio.charset.Charset; import org.json.JSONException;imp

随机推荐