开发多语言翻译软件icken李鸣

目前市面上有各式各样的翻译软件,在中国相对常见的是英汉互译类的软件,如金山词霸等,但是进行国际化的程序开发的时候,经常需要进行多个语言的翻译,比如英语译成俄文,中文译成西文等,但是市场上很少见到这么多的专业翻译软件,即便有,谁的机器装这么多的大型软件,在经济上和机器承受能力上都有一定的限制。后来发现网上有很多的在线翻译的网站,比如雅虎的“翻译鱼”,可以实现N多种语言的互译,对相关的工作能起到很大的帮助作用。但是由于浏览器固有的缺陷,使用起来还有一定的不方便性,根据本人的习惯,决定开发一个客户端程序,并把翻译鱼的功能嵌入到程序中,那样就会很方便了。

二、开发

开发环境:VS2003

开发语言:C#

数据库:无

1. 系统初始化

为了简洁,程序只有一个主界面,没有任何的配置界面及配置文件。说到这里,也许您会问,没有配置文件,那么要如何设定系统能翻译哪些语言呢?这个很简单,我直接抓取了翻译鱼的网页,对其中的文本进行分析,找到了它所能处理的语言列表,直接放在我的界面上就可以了,这样无论它以后增加了什么语言,我都可以自动适应。

抓取网页使用了WebClient这个类,用法如下:

int pos_ = pos;

while (pos > 0 && pos_ > 0)

if (pos > 0)

if (pos_ > 0)

FillSingleOption(option);

上述函数中引用了一个名为FillSingleOption的函数,它的作用是把每一行语言取出来,填充到界面上的语言选择框中,代码主要部分如下:

if (hash[value] == null)

hash[value] = text;

Lang lang = new Lang();

呀呀呀,真是一环套一环,上面这个小小的函数中,居然又出现了一个新的类,名字叫Lang,它是干什么的呢?它就是用来向CheckList中填充信息用的。为什么要向Items中加一个类呢,因为添加的时候,只能添加一个对象,而我需要记录的信息包括zh-en这样的代码和“中文-英文”这样的文字,所以没办法,只好麻烦一些,写了个类。这个类的代码只有几行,就是两个属性,记录两个值,不过有一点需要注意,必须重写ToString函数,否则添加到CheckList中的将显示为“Object”字样。

类的代码如下:

public class Lang

private string value_;

private string text;

public string Value

get{return value_;} set{value_ = value;}

public string Text

get{return text;} set{text = value;}

public override string ToString()

return text;

哇,真是有史以来最小的一个类了,不过它也算完成了它的史命了。

到目前为止,初始化结束!

2. 翻译

程序启动后,真正的工作就要开始了,我设定了两个文本框,一个用于输入源字符,另一个用于输出,与翻译鱼不同的是,我这里可以同时选择多种翻译条件,并且在输出的时候,拼在一起,特别方便。

上述URL中,有三个参数,分别说明如下:

Ø more=1 这个是好像必须要写,是它系统规定的

Ø trtext=China 这个指的是需要翻译的源内容

Ø lp=en_ru 这个指的是用何种规则来实现翻译,当前指的是英语翻译成俄文

那么它翻译的结果会以什么样的形式来返回呢?我们都希望这个页面直接返回一个结果就行了,可是我没能如愿,它实际上返回的还是一个页面,翻译结果被嵌入其中,没办法,只能用程序把翻译结果再深挖出来,好在有前面的网页抓取的经验,我们可以直接看一下相关的代码:

string result = "";

Lang lang = (Lang)o;

if (src != "")

if (pos > 0)

if (pos_ > 0)

哇,看起来挺乱,其实一点也不乱,就是取出网页的内容,找到相应的位置,并找到结束符号,取出相应内容即可,对了,别忘了对取出的结果做一下Trim。

仔细看一下上述代码,发现已经同时实现了多种翻译同时进行,并且把结果进行拼接。

三、结束

太抽象了,来个直观的,看一下界面吧:

对了,输出结果框的字体别忘了改成Arial,如果用默认的宋体,可能有些文字显示的不好看,但是如果有些国家的文字无法正确显示,那就不是本程序的问题了,需要你的系统自己去安装相应的语言包了。

THE END
0.→免费软件,翻译成俄文,例句,中文бесплатнораспространяемоепрограммноеобеспечение, бесплатноеПО, фривер是“免费软件"到 俄文 的最佳翻译。 免费软件 + 添加翻译 中文-俄文字典 бесплатнораспространяемоепрограjvzq<84|j0mmq|gg0eun1ƒm1tw5&G>*:7'>E'N='D6+C;.J:'DJ&CO*G6'HC'K;
1.中俄翻译软件能否实现实时翻译?中俄翻译软件有哪些优势?中俄翻译软件具体教程! 福昕翻译网站产品中的中俄翻译软件具体教程如下:首先,打开此工具并选择中俄翻译软件。然后,将需要翻译的中文文本输入到指定的文本框中。接下来,选择翻译方向为中文到俄文,并点击“翻译”按钮。软件将会自动将中文文本翻译成俄文,并在页面上显示翻译结果。用户可以根据需要进行复制、保存或分享翻译结jvzquC41yy}/hx}kvuugv€ftg0io1ofp{k5{kzp1:85;7mvon
2.缅甸语翻译(缅甸语翻译中文翻译器)V1.1.12安卓中文版缅甸语翻译,缅甸语翻译(缅甸语翻译中文翻译器)应用是一款中缅互译软件,中文翻译就在缅甸语翻译APP。这款缅甸语翻译应用程序使用方便、准确。结果可以朗读出来,非常实用,便于用户学习。jvzquC41o0msgnszh0ipo8fpftujf8844:;70qyon
3.什么是机器翻译?(科普向)最近流行恶搞歌词或者古诗词,将它们用翻译软件先翻译成英文,再翻译成日文,再翻译成俄文,不断翻译下去,最后翻译回中文,这样你就会得到一段无厘头搞笑文字。 举个例子,翻译:躺在你学校的操场看星空,教室里的灯还亮着你没走。翻译顺序是:中、英、日、俄、意、法、德、西、韩、中,看看会得到什么吧。 jvzquC41dnuh0lxfp0tfv8Lqfa]fkbfpi1gsvrhng1jfvjnnu172;@;;;7>