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

在我的另一篇博文《图片批量压缩》中,有介绍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

最新文章

  1. 【BZOJ-3627】路径规划 分层图 + Dijkstra + spfa
  2. Zabbix监控disk performance
  3. Hibernate-Criteria用法
  4. 编译过程中,termcap.h 文件找不到路径 licli.a终于生成
  5. CentOS-6.4无线上网命令行配置
  6. TFS 2010 让安装更简单,也让VSS成为历史
  7. Rouh set 入门知识3(上下近似集,正负域,边界域)
  8. oracle定时备份与删除N天前备份文件
  9. 提高mindmanager 8的启动速度
  10. APM代码学习笔记1
  11. android:改动PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色
  12. MVC EF 修改 封装类 通用泛型方法(二)
  13. Java之【线程通信】--标志位练习2
  14. Android - Fragment (一)定义
  15. 基于Python的Web应用开发实践总结
  16. adb.exe 已停止工作 解决
  17. Hadoop 搭建集群的步骤
  18. Jenkins安装时Web页面报错提示离线安装
  19. asp.net mvc5轻松实现插件式开发
  20. JSON常见操作

热门文章

  1. TED_Topic7:How we unearthed the spinosaurus
  2. 【LibreOJ】#6395. 「THUPC2018」城市地铁规划 / City 背包DP+Prufer序
  3. 第14月第1天 uialterview 键盘 uibutton圆角
  4. Django用ajax进行post请求
  5. 阿里云OSS 中文名称地址不对
  6. Linux Power Managment详解 【转】
  7. 关于Mysql5.6半同步主从复制的开启方法【转】
  8. webRTC视频通话,https协议,录制端和播放端
  9. 001_Eclipse编写第一个Java程序
  10. Java 构造 BSON 数据类型