CN105242932B - 一种基于delphi工具开发的软件的自动翻译方法 - Google Patents
一种基于delphi工具开发的软件的自动翻译方法 Download PDFInfo
- Publication number
- CN105242932B CN105242932B CN201510681710.XA CN201510681710A CN105242932B CN 105242932 B CN105242932 B CN 105242932B CN 201510681710 A CN201510681710 A CN 201510681710A CN 105242932 B CN105242932 B CN 105242932B
- Authority
- CN
- China
- Prior art keywords
- character
- read
- files
- original language
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 10
- 238000011161 development Methods 0.000 title claims abstract description 9
- 230000018109 developmental process Effects 0.000 title claims abstract description 9
- 238000013519 translation Methods 0.000 claims abstract description 30
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000014616 translation Effects 0.000 description 24
- 238000000151 deposition Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及翻译技术领域,尤其涉及一种基于DELPHI工具开发的软件的自动翻译方法。主要是定位提取然后通过外部语言翻译系统翻译源语言,这种自动翻译方法翻译效率高且准确性高。
Description
技术领域
本发明涉及翻译技术领域,尤其涉及一种基于DELPHI工具开发的软件的自动翻译方法。
背景技术
现有技术有很多采用DELPHI工具开发的软件应用于外贸行业,随着外贸行业的越来越发达,这些软件会用在不同的国家使用,这样就需要翻译成不同的语言,但是现有技术主要是采用手工逐个查找对应单词和词组进行翻译,这样不但翻译效率低下,而且会出现找不全、拷贝粘贴错误等各种问题。
发明内容
本发明所要解决的技术问题是:提供一种翻译效率高且准确性高的自动翻译方法。
本发明所采用的技术方案是:一种基于DELPHI工具开发的软件的自动翻译方法,其特征在于,它包括以下步骤:
(1)、查找待翻译的软件源代码工程目录,查找该工程目录下的所有文件;
(2)、将查找到的所有文件根据后缀分成不同的组别,然后根据组别依次进行需要翻译的源语言定位;
(3)、将定位好的所有需要翻译的源语言提取出来导入到表格内,并且表格内还设有需要翻译的源语言所对应的文件中的位置;
(4)、通过外部语言翻译系统将表格中的源语言翻译成所需要的目标语言,并且与步骤(3)中表格中的位置对应;
(5)、然后根据步骤(4)中目标语言与位置的对应,将目标语言导入到文件中,并且将相对应的源语言替换掉。
所述步骤(2)的具体步骤包括:
A、将查找到的所有文件根据后缀分为pas文件组、dfm文件组以及dpr文件,然后进行需要翻译的源语言定位;
B、首先进行dfm文件组中需要翻译的源语言定位;
C、然后进行pas文件组以及dpr文件中需要翻译的源语言定位。
所述步骤B中进行dfm文件组中需要翻译的源语言定位主要包括以下步骤:
B-1、提取一个dfm文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到字符“#”,则跳转到下一步,若没有读取到字符“#”,则跳转到下一行继续读取,直到读取到字符“#”再跳转到下一步;
B-2、依次读取“#”字符之后的字符,若读取到“#”字符、“’”字符、空格以及“)”字符其中一个则停止读取,取两者之间的字符串为需要翻译的源语言,然后跳转到下一步;若没有读取到“#”字符、“’”字符、空格以及“)”字符,则取最开始读到的“#”字符之后的一个字符到行尾符号之间的字符串为需要翻译的源语言,然后跳转到下一步;
B-3、继续读取字符,当读取到字符“#”,则跳转到步骤B-2,若没有读取到字符“#”,则跳转到下一行继续读取,直到读取到字符“#”再跳转到B-2,若将这个dfm文件中所有的字符读完还是没有读取到“#”,则跳转到步骤B-1,若所有的dfm文件均读取完后则停止读取。
所述步骤C中进行pas文件组以及dpr文件中需要翻译的源语言定位主要包括以下步骤:
C-1、提取一个pas文件或者dpr文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到“’”字符,则跳转到下一步,若没有读取到“’”字符,则跳转到下一行继续读取,直到读取到“’”字符再跳转到下一步;
C-2、依次读取“’”字符之后的字符,若先读取到“//”字符而未读取到“’”字符或“{”字符,则判断之前读到的“’”字符无效,跳转到下一行,然后跳转到下一步;若先读取到“’”字符而未读取到“//”字符与“{”字符,则取两个“’”字符之间的字符串为需要翻译的源语言,然后跳转到下一步;若先读取到“{”字符,则需要继续读取,直到读取到“’”字符,然后将两个“’”字符之间的字符串取出,再从这个字符串中刚才读到的“{”字符开始依次读取,若读取到“}”字符,则将第一个“’”字符与“{”字符之间的字符串作为需要翻译的源语言,然后再将“}”字符与第二个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步,若没有读取到“}”字符,则将两个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步;
C-3、继续读取字符,若读取到“’”字符,则跳转到步骤C-2,若没有读取到“’”字符,则跳转到下一行继续读取,若将这个pas文件或者dpr文件中所有的字符读完还是没有读取到“’”字符,则跳转到步骤C-1,若所有的pas文件或者dpr文件均读取完后则停止读取。
采用以上结构与现有方法相比,本发明具有以下优点:通过精确定位需要翻译的源语言,然后将定位好的源语言取出翻译成目标语言,然后再根据定位将源语言替换成翻译好的目标语言,这样翻译效率较高,且翻译准确性较高。
具体实施方式
以下通过具体实施方式对本发明做进一步描述,但是本发明不仅限于以下具体实施方式。
一种基于DELPHI工具开发的软件的自动翻译方法,它包括以下步骤:
(1)、查找待翻译的软件源代码工程目录,查找该工程目录下的所有文件;
(2)、将查找到的所有文件根据后缀分成不同的组别,然后根据组别依次进行需要翻译的源语言定位;
(3)、将定位好的所有需要翻译的源语言提取出来导入到表格内,并且表格内还设有需要翻译的源语言所对应的文件中的位置;
(4)、通过外部语言翻译系统将表格中的源语言翻译成所需要的目标语言,并且与步骤(3)中表格中的位置对应;所述外部语言翻译系统是指现有技术网上能找到的翻译系统,如谷歌翻译、百度翻译等;
(5)、然后根据步骤(4)中目标语言与位置的对应,将目标语言导入到文件中,并且将相对应的源语言替换掉。因为源语言的位置都是定位好的,所以只要翻译好了就能用翻译过后的语言替换掉源语言。
所述步骤(2)的具体步骤包括:
A、将查找到的所有文件根据后缀分为pas文件组、dfm文件组以及dpr文件,然后进行需要翻译的源语言定位;因为DELPHI工具开发出来的软件主要需要的翻译的就pas文件组、dfm文件组以及dpr文件这三类文件,
B、首先进行dfm文件组中需要翻译的源语言定位;
C、然后进行pas文件组以及dpr文件中需要翻译的源语言定位。因为pas文件组以及dpr文件比较相似,所以源语言的定位方法是一样的。
所述步骤B中进行dfm文件组中需要翻译的源语言定位主要包括以下步骤:
B-1、提取一个dfm文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到“#”字符,则跳转到下一步,若没有读取到“#”字符,则跳转到下一行继续读取,直到读取到“#”字符再跳转到下一步;
B-2、依次读取“#”字符之后的字符,若读取到“#”字符、“’”字符、空格以及“)”字符其中一个则停止读取,取两者之间的字符串为需要翻译的源语言,然后跳转到下一步;若没有读取到“#”字符、“’”字符、空格以及“)”字符,则取最开始读到的“#”字符之后的一个字符到行尾符号之间的字符串为需要翻译的源语言,然后跳转到下一步;“#”字符作为起始字符,而“#”字符、“’”字符、空格、“)”字符以及行尾字符作为结束字符,两者之间的是为需要翻译的源语言。并且在将源语言取出时需要将源语言原先的位置进行标记,比如说源语言是处于哪个文件中的第几行第几列的,方便之后替换;
B-3、继续读取字符,当读取到“#”字符,则跳转到步骤B-2,若没有读取到“#”字符,则跳转到下一行继续读取,直到读取到“#”字符再跳转到B-2,若将这个dfm文件中所有的字符读完还是没有读取到“#”字符,则跳转到步骤B-1,若所有的dfm文件均读取完后则停止读取。
所述步骤C中进行pas文件组以及dpr文件中需要翻译的源语言定位主要包括以下步骤:
C-1、提取一个pas文件或者dpr文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到“’”字符,则跳转到下一步,若没有读取到“’”字符,则跳转到下一行继续读取,直到读取到“’”字符再跳转到下一步;
C-2、依次读取“’”字符之后的字符,若先读取到“//”字符而未读取到“’”字符或“{”字符,则判断之前读到的“’”字符无效,跳转到下一行,然后跳转到下一步;若先读取到“’”字符而未读取到“//”字符与“{”字符,则取两个“’”字符之间的字符串为需要翻译的源语言,然后跳转到下一步;若先读取到“{”字符,则需要继续读取,直到读取到“’”字符,然后将两个“’”字符之间的字符串取出,再从这个字符串中刚才读到的“{”字符开始依次读取,若读取到“}”字符,则将第一个“’”字符与“{”字符之间的字符串作为需要翻译的源语言,然后再将“}”字符与第二个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步,若没有读取到“}”字符,则将两个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步;pas文件组以及dpr文件这两种文件中,需要的源语言主要是处于两个“’”字符之间的,但是如果两个“’”字符之间存在“//”字符,则“//”字符前面那个“’”字符是无效的,而且如果后一个“’”字符是与“//”字符处于同一行也是无效的,并且如果两个“’”字符之间出现“{”字符与“}”字符的组合,则“{”字符与“}”字符之间的字符串并不是源语言是不需要定位取出的,而处于两个“’”字符之间而并不处于“{”字符与“}”字符之间的字符串是源语言,是需要定位取出的,即在取出源语言时需要将源语言原先的位置进行标记,比如说源语言是处于哪个文件中的第几行第几列的,方便之后替换;
C-3、继续读取字符,若读取到“’”字符,则跳转到步骤C-2,若没有读取到“’”字符,则跳转到下一行继续读取,若将这个pas文件或者dpr文件中所有的字符读完还是没有读取到“’”字符,则跳转到步骤C-1,若所有的pas文件或者dpr文件均读取完后则停止读取。
Claims (1)
1.一种基于DELPHI工具开发的软件的自动翻译方法,其特征在于,它包括以下步骤:
(1)、查找待翻译的软件源代码工程目录,查找该工程目录下的所有文件;
(2)、将查找到的所有文件根据后缀分成不同的组别,然后根据组别依次进行需要翻译的源语言定位;
(3)、将定位好的所有需要翻译的源语言提取出来导入到表格内,并且表格内还设有需要翻译的源语言所对应的文件中的位置;
(4)、通过外部语言翻译系统将表格中的源语言翻译成所需要的目标语言,并且与步骤(3)中表格中的位置对应;
(5)、然后根据步骤(4)中目标语言与位置的对应,将目标语言导入到文件中,并且将相对应的源语言替换掉;
所述步骤(2)的具体步骤包括:
A、将查找到的所有文件根据后缀分为pas文件组、dfm文件组以及dpr文件,然后进行需要翻译的源语言定位;
B、首先进行dfm文件组中需要翻译的源语言定位;
C、然后进行pas文件组以及dpr文件中需要翻译的源语言定位;
所述步骤B中进行dfm文件组中需要翻译的源语言定位主要包括以下步骤:
B-1、提取一个dfm文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到“#”字符,则跳转到下一步,若没有读取到“#”字符,则跳转到下一行继续读取,直到读取到“#”字符再跳转到下一步;
B-2、依次读取“#”字符之后的字符,若读取到“#”字符、“’”字符、空格以及“)”字符其中一个则停止读取,取两者之间的字符串为需要翻译的源语言,然后跳转到下一步;若没有读取到“#”字符、“’”字符、空格以及“)”字符,则取最开始读到的“#”字符之后的一个字符到行尾符号之间的字符串为需要翻译的源语言,然后跳转到下一步;
B-3、继续读取字符,当读取到“#”字符,则跳转到步骤B-2,若没有读取到“#”字符,则跳转到下一行继续读取,直到读取到“#”字符再跳转到B-2,若将这个dfm文件中所有的字符读完还是没有读取到“#”字符,则跳转到步骤B-1,若所有的dfm文件均读取完后则停止读取;
所述步骤C中进行pas文件组以及dpr文件中需要翻译的源语言定位主要包括以下步骤:
C-1、提取一个pas文件或者dpr文件,然后按照顺序将文件中的字符依次读入到内存中,若读取到“’”字符,则跳转到下一步,若没有读取到“’”字符,则跳转到下一行继续读取,直到读取到“’”字符再跳转到下一步;
C-2、依次读取“’”字符之后的字符,若先读取到“//”字符而未读取到“’”字符或“{”字符,则判断之前读到的“’”字符无效,跳转到下一行,然后跳转到下一步;若先读取到“’”字符而未读取到“//”字符与“{”字符,则取两个“’”字符之间的字符串为需要翻译的源语言,然后跳转到下一步;若先读取到“{”字符,则需要继续读取,直到读取到“’”字符,然后将两个“’”字符之间的字符串取出,再从这个字符串中刚才读到的“{”字符开始依次读取,若读取到“}”字符,则将第一个“’”字符与“{”字符之间的字符串作为需要翻译的源语言,然后再将“}”字符与第二个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步,若没有读取到“}”字符,则将两个“’”字符之间的字符串作为需要翻译的源语言,然后跳转到下一步;
C-3、继续读取字符,若读取到“’”字符,则跳转到步骤C-2,若没有读取到“’”字符,则跳转到下一行继续读取,若将这个pas文件或者dpr文件中所有的字符读完还是没有读取到“’”字符,则跳转到步骤C-1,若所有的pas文件或者dpr文件均读取完后则停止读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510681710.XA CN105242932B (zh) | 2015-10-21 | 2015-10-21 | 一种基于delphi工具开发的软件的自动翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510681710.XA CN105242932B (zh) | 2015-10-21 | 2015-10-21 | 一种基于delphi工具开发的软件的自动翻译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105242932A CN105242932A (zh) | 2016-01-13 |
CN105242932B true CN105242932B (zh) | 2018-08-31 |
Family
ID=55040591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510681710.XA Active CN105242932B (zh) | 2015-10-21 | 2015-10-21 | 一种基于delphi工具开发的软件的自动翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105242932B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134401A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段定位方法、装置、计算机设备和存储介质 |
CN110134586A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段纠正方法、装置、计算机设备和存储介质 |
CN110134404A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码翻译方法、装置、计算机设备和存储介质 |
CN111158805B (zh) * | 2019-11-19 | 2022-06-17 | 厦门天锐科技股份有限公司 | Delphi软件源语言翻译系统、方法、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1212406A (zh) * | 1997-09-23 | 1999-03-31 | 金旗 | 计算机自动准确翻译系统 |
CN1506875A (zh) * | 2002-12-12 | 2004-06-23 | 华为技术有限公司 | 语言本地化中特征字符串的提取与替换方法 |
CN103020040A (zh) * | 2011-09-27 | 2013-04-03 | 富士通株式会社 | 源语言改写处理方法和设备及机器翻译系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5893133A (en) * | 1995-08-16 | 1999-04-06 | International Business Machines Corporation | Keyboard for a system and method for processing Chinese language text |
JP3915876B2 (ja) * | 2000-12-28 | 2007-05-16 | セイコーエプソン株式会社 | 文字列データの処理方法および処理装置 |
-
2015
- 2015-10-21 CN CN201510681710.XA patent/CN105242932B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1212406A (zh) * | 1997-09-23 | 1999-03-31 | 金旗 | 计算机自动准确翻译系统 |
CN1506875A (zh) * | 2002-12-12 | 2004-06-23 | 华为技术有限公司 | 语言本地化中特征字符串的提取与替换方法 |
CN103020040A (zh) * | 2011-09-27 | 2013-04-03 | 富士通株式会社 | 源语言改写处理方法和设备及机器翻译系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105242932A (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105242932B (zh) | 一种基于delphi工具开发的软件的自动翻译方法 | |
CN104317788B (zh) | Android多国语言翻译方法和装置 | |
US8234106B2 (en) | Building a translation lexicon from comparable, non-parallel corpora | |
Hasler et al. | Source sentence simplification for statistical machine translation | |
CN104380270B (zh) | 存储器的根表转换 | |
CN102222004B (zh) | 交换机专用语言转换为c语言的方法 | |
WO2014209810A2 (en) | Methods and apparatuses for mining synonymous phrases, and for searching related content | |
JP2009151777A (ja) | 音声言語パラレルコーパスのアライメント方法及び装置 | |
CN102135956B (zh) | 一种基于词位标注的藏文分词方法 | |
CN111178088A (zh) | 一种面向xml文档的可配置神经机器翻译方法 | |
JP2023027194A (ja) | 翻訳方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム | |
CN105068990A (zh) | 一种面向机器翻译的多策略英文长句分割方法及装置 | |
AU2021100730A4 (en) | Method and apparatus for transliterating special term of arabic geographical name, translation device, and storage medium | |
US9298694B2 (en) | Generating a regular expression for entity extraction | |
US9984065B2 (en) | Optimizing generation of a regular expression | |
CN112687271B (zh) | 语音翻译方法、装置、电子设备和存储介质 | |
CN105630764A (zh) | 有限状态机的地址解析方法及装置 | |
CN105069001A (zh) | 计算机辅助翻译方法 | |
Misu et al. | A bootstrapping approach for SLU portability to a new language by inducting unannotated user queries | |
CN104679871A (zh) | 一种汉语文本检索方法及汉语文本检索装置 | |
CN107220381A (zh) | 一种面向问答系统的输入文本自动纠错方法 | |
CN112183074A (zh) | 一种数据增强方法、装置、设备及介质 | |
CN102567424B (zh) | 一种诗词关联库系统及其实现方法和电子学习设备 | |
CN103678424A (zh) | 一种文档校对的方法和装置 | |
KR101027007B1 (ko) | 대역어 사전 특화 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |