使用WindowsAPICodePack实现翻译功能

仅限于以下几种语言间的翻译:

在我的另一篇博文《图片批量压缩》中,有介绍WindowsAPICodePack库,该库是微软提供的一套基于Win7及以上版本操作系统的系统库,可以帮助我们完成一些代码很难完成的系统层面操作。本文就介绍其中的一个强大功能:语言的翻译转换功能。WindowsAPICodePack库下载地址:官方主页

程序界面如下:

获取所有翻译类别代码:

?




//获取所有翻译类别

        private
MappingService[] GetSpecifiedMappingServices(string
CategoryName)

        {

            MappingService[] transliterationServices = null;

            try

            {

                MappingEnumOptions enumOptions = new
MappingEnumOptions() { Category = CategoryName };

                transliterationServices = MappingService.GetServices(enumOptions);

            }

            catch
(LinguisticException exc)

            {

                MessageBox.Show(exc.Message);

            }

            return
transliterationServices;

        }

  

解释:前面贴出的可以翻译的几种语言,是系统给出的,并不是博主创造的,上面的代码就是从系统中获取所有支持的语言翻译功能。

翻译功能代码如下:

?




private
string LanguageConverter(Guid serviceGuid, string
sourceContent)

        {

            string
transliterated = null;

            if
((sourceContent != null) && (sourceContent.Length > 0))

            {

                try

                {

                    MappingService mapService = new
MappingService(serviceGuid);

                    using
(MappingPropertyBag bag = mapService.RecognizeText(sourceContent, null))

                    {

                        transliterated = bag.GetResultRanges()[0].FormatData(new
StringFormatter());

                    }

                }

                catch
(LinguisticException exc)

                {

                    MessageBox.Show(exc.Message);

                }

            }

            return
transliterated;

        }

  

解释:通过serviceGuid初始化不同的翻译器,serviceGuid就是下拉列表中选择的语言的guid。

调用翻译功能的代码:

?




try

            {

                guidService = ((DataItem)comboBox1.SelectedItem).guid;

                string
result = LanguageConverter(guidService.GetValueOrDefault(), txtSource.Text);

                if
((result != null) && (result.Length > 0))

                {

                    txtResult.Text = result;

                }

            }

            catch
(Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

  

解释:略。

下载:Demo  
Code

使用WindowsAPICodePack实现翻译功能,布布扣,bubuko.com

时间: 2024-08-01 15:24:57

使用WindowsAPICodePack实现翻译功能的相关文章

微信公众平台开发(22) 翻译功能开发

原文: http://www.cnblogs.com/imaker/p/5491433.html 一.简介 上一篇文章介绍了微信公众平台天气预报功能的开发,实现了微信公众平台的第一个实际应用,在接下来的这一篇文章中,我们将对微信翻译功能进行简单开发,以供读者参考. 二.思路分析 和上一篇查询天气的思路差不多,首先要对用户发送过来的消息进行判断,判断消息里是否含有"翻译"关键字,如果含有,则提取待翻译内容,然后调用网络上开放的翻译API 进行相关翻译. 三.翻译API 分析 网络上有很多

asp.net c#轻松调用百度在线翻译功能

首先去百度:注册个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.Linq; using Syst

微信公众平台开发(六) 翻译功能开发

原文地址:http://www.cnblogs.com/mchina/p/3170565.html 一.简介 上一篇文章介绍了微信公众平台天气预报功能的开发,实现了微信公众平台的第一个实际应用,在接下来的这一篇文章中,我们将对微信翻译功能进行简单开发,以供读者参考. 二.思路分析 和上一篇查询天气的思路差不多,首先要对用户发送过来的消息进行判断,判断消息里是否含有“翻译”关键字,如果含有,则提取待翻译内容,然后调用网络上开放的翻译API 进行相关翻译. 三.翻译API 分析 网络上有很多翻译AP

几行代码为自己的网站添加划词翻译功能

为网站添加自动翻译网页.网页划词.在线翻译.在线词典.每日一句功能. 适合各类网站 百变语种,自动翻译网页 把中文的网站,变成十几种不同语种的网站,会不会感觉很新奇? 要实现自动翻译网站上文字的功能,看似很困难,但是通过,百度,Google的翻译小工具实现起来就非常简单.只要添加一段网页源代码,就可以翻译多种语种的网页,让其他国家的用户也能看懂你的网站. 说简单,那是真简单--将以下代码加入网站合适位置,就可以实现网页的多语种翻译了. 如果使用的是CMS网站管理系统,如joomla,phpwin

YoMail邮箱客户端6.0发布--gmail、yahoo、hotmail等多账号登录+翻译功能

4月11日,YoMail邮箱客户端 新版 6.0 正式发布.经过一段时间的测试,新增的系列功能获得用户的一致好评.应YoMail邮箱客户端粉丝的要求,并结合了目前国内已经引入企业协同办公系统进行团队办公协同.任务管理的几十个行业的实际应用背景需求,YoMail 6.0 Mac 版 和 YoMail 6.0 Windows版本 增加了用户期盼的 多账号邮件管理.即时翻译.数据统计报告等特色功能,并且全面提升了邮件收发速度,尤其是对国外邮箱的邮件收发和管理,如:Yahoo邮箱.Hotmail邮箱.G

给Mac系统浏览器扩展翻译功能

Google Chrome可以即时翻译网页.可是,如果你用惯了Safari,不想安装Google Chrome,又需要对外文网页即时翻译,那么,请看下面: 前提:先打开Safari,点击"显示-显示个人收藏栏"(或者直接按快捷键??B),地址栏下出现"个人收藏栏". 方法一: 1.按快捷键?D,先把任意一个网页添加到"个人收藏栏"中. 2.右键点击"个人收藏栏"中刚添加的网页链接按钮,点击"编辑地址": 3

react项目开发中出现浏览器翻译功能造成的bug

最近使用react开发一个项目时,测试提出一个bug,说是在某些浏览器上面本来是序号‘’5‘’变成了大写的‘’五‘’ 自己却一直无法重现,最后发现是测试人员浏览器打开了翻译功能 解决方案: 解决思路是将index.ejs的html lang='en'改为lang='zh',这样设置网页就不会自动翻译了,就是翻译了也只是中文翻译成中文,不会再出现大写五了. 后续: 不过如果自己还将网页翻译为中文,列表页存在一个问题就是,翻页的时候列表数据刷新不出来 右侧数据有的没有被渲染成功 原文地址:https

Android使用有道翻译API实如今线翻译功能

在Android应用中,加入在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API.首先要申请一个key,申请地址为:有道翻译API申请地址. 申请之后就会得到一个keyfrom和一个key. 获取翻译结果的数据接口为:http://fanyi.youdao.com/openapi.do? keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&a

关于网站调用在线翻译api实现翻译功能

在做一些网站的时候偶尔会遇到需要中英文翻译的部分,也许是提供用户在线翻译的功能,也可能是把用户输入的一整段文字进行翻译.小龙最近就遇到这么一个事儿,对接中外两方用户的沟通,为了对语言不那么顺畅的用户提供一点点帮助,在网站里嵌入了自动翻译的功能,就简化了用户复制黏贴,再打开百度翻译的步骤了. 小龙用的是有道提供的api,普通用户就可以免费使用的.有道提供了网页模块的调用法和数据接口型的,网页模块的会比较简单一些,在他们官网上把写好的代码复制进html就好,这边简单展开以下数据接口型的调用. 首先,