CN107577482A - 软件语种的自动转换方法和装置 - Google Patents
软件语种的自动转换方法和装置 Download PDFInfo
- Publication number
- CN107577482A CN107577482A CN201710750617.9A CN201710750617A CN107577482A CN 107577482 A CN107577482 A CN 107577482A CN 201710750617 A CN201710750617 A CN 201710750617A CN 107577482 A CN107577482 A CN 107577482A
- Authority
- CN
- China
- Prior art keywords
- languages
- text
- software
- storage position
- conversion
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例公开了一种软件语种的自动转换方法和装置。所述方法包括:由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置;对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容;根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。本发明实施例提供的软件语种的自动转换方法和装置能够大大提高软件中文本的语种转换的效率。
Description
技术领域
本发明实施例涉及软件开发技术领域,尤其涉及一种软件语种的自动转换方法及装置。
背景技术
随着国际一体化趋势,在软件研发领域,越来越有必要为软件准备多套语种配置,以适应不同国别、不同语种用户的需要。
当软件研发人员使用某种语种完成软件开发之后,如果要转换软件语种,或者要对软件进行多语种配置,须对软件相关文件、数据库进行词条语种转换。如果没有任何工具,就必须手动对需替换词条逐字逐句提取,翻译后再次手动逐字逐句替换或者形成配置文件。特别是对于大型***软件,该方法人力成本耗费较大,同时因该工作只能由软件开发人员来承担,给软件开发带来了较大的工作负担。
发明内容
针对上述技术问题,本发明实施例提供了一种软件语种的自动转换方法和装置,以提供软件中文本的语种转换效率。
一方面,本发明实施例提供了一种软件语种的自动转换方法,所述方法包括:
由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置;
对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容;
根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
另一方面,本发明实施例还提供了一种软件语种的自动转换装置,所述装置包括:
提取及存储模块,用于由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置;
转换及更新模块,用于对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容;
替换模块,用于根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
本发明实施例提供的软件语种的自动转换方法和装置,通过由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容,根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本,大大提高了软件中文本的语种转换效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明第一实施例提供的软件语种的自动转换方法的流程图;
图2是本发明第二实施例提供的软件语种的自动转换方法的流程图;
图3是本发明第三实施例提供的软件语种的自动转换方法中转换及更新操作的流程图;
图4是本发明第四实施例提供的软件语种的自动转换装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
第一实施例
本实施例提供了软件语种的自动转换方法的一种技术方案。在该技术方案中,软件语种的自动转换方法由软件语种的自动转换装置执行。并且,软件语种的自动转换装置通常集成在一台固定端的计算设备中。
参见图1,软件语种的自动转换方法包括:
S11,由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置。
本领域普通技术人员应当理解,软件的程序代码当中经常出现一些功能文本。这些功能文本的作用并不在于指示程序执行的执行逻辑,而在于对运行的软件的一些组件进行标识、说明。例如,在一个可视化软件界面的初始化程序中,会出现可视化界面上各个组件的显示名称,比如界面上各个按钮的显示名称,功能菜单中各个菜单项的显示名称。
这些功能文本还可能出现在界面上的一些提示组件中,在常规状态下,这些提示组件并不会被激活显示。例如,在软件界面上,只有界面上的一些组件获得焦点时,才会相应的显示与这些组件相关联的文本提示信息。ToolTip组件是这类提示组件中最具典型性的代表。
可以理解的是,软件程序代码中的功能文本往往是基于一种语言而写就的。选择何种语言写就这些功能文本通常由程序开发人员确定。但是,如果软件的使用者并不熟悉程序开发人员所指定的语言,就会造成软件使用上的问题。为了适应软件使用者的实际需要,避免为软件使用造成不必要的障碍,需要对程序代码中上述的功能文本进行语种转换。
进行功能文本的语种转换时,首先需要从程序代码中识别上述的功能文本。典型的,对于上述功能文本的识别可以是基于语种而进行的。例如,普通的程序代码是ASC II字符,而功能文本是中文、日文、蒙古文,或者其他语种的文字。
在完成上述功能文本的识别之后,完成由程序代码中对上述功能文本的提取。需要注意的是,执行上述提取操作之后,需要对功能文本的提取位置进行记录。对提取位置进行记录的目的在于,方便完成语种转换之后目标文本的更新操作。
完成上述提取操作之后,将提取得到的功能文本存储至目标存储位置。目标存储位置可以是指定地址的目标文件,或者是数据库中指定的数据表。
在本实施例中程序代码可以各种计算机可执行的程序代码。例如,程序代码可以是:Java程序代码、JavaScript程序代码、JSP程序代码、PL/SQL程序代码,或者MySQL程序代码。
S12,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容。
对文本的语种转换通常是基于预置语料的语种转换。典型的,预置语料可以是由语种转换的源语种指向目标语种的词典。而且,词典中预置的目标语种的数量可能是多个。
完成语种转换之后,根据转换结果对目标存储位置中的存储内容进行更新。通常情况下,更新之后,目标存储位置中存储的存储内容仅包含一种目标语种的文本信息。在一些特殊情况下,目标存储位置可能会存储有包含两种以上语种的文本信息。
S13,根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
在执行替换的过程中,需要使用在提取过程中记录的提取位置信息,从而避免替换过程中的替换错位的问题。
完成上述替换操作之后,根据替换以后的程序代码再次运行软件,则软件中目标文本已经完成了语种转换。
可以想见,通过上述过程执行软件的语种转换,人工手动执行的操作较少,大部分转换操作由机器自动完成,因而大大提高了语种转换的执行效率。
本实施例通过由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容,以及根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本,大大提高了软件中文本的语种转换效率。
第二实施例
本实施例以本发明上述实施例为基础,进一步的提供了软件语种的自动转换方法的另一种技术方案。在该技术方案中,软件语种的自动转换方法还包括:检查在所述目标存储位置中是否存在无需语种转换的文本;检查在所述目标存储位置中是否存在能够合并的需要语种转换的文本。
参见图2,软件语种的自动转换方法包括:
S21,由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置。
S22,检查在所述目标存储位置中是否存在无需语种转换的文本。
可以理解的是,文本的提取逻辑的设置可能并不完善,造成一些本来无需语种转换的文本被错误的提取出来。因此,在完成功能文本的提取之后,立即对提取得到的文本进行检查,以便从中剔除无需语种转换的文本。
举例来说,就基于语种的提取逻辑而言,由于仅仅将ASC II码字识别为普通的程序代码,而将所有其他的字符识别为功能文本,则汉语全角字符“OK”则会被识别为功能文本。而事实上,大部分国家和地区的软件使用者是了解该字符的具体含义的。
S23,检查在所述目标存储位置中是否存在能够合并的需要语种转换的文本。
除了无需语种转换的文本以外,还有一些需要语种转换的文本在形式上相近,可以通过一次操作完成语种转换功能,而不是需要经过多次语种转换的繁琐过程。例如,文本“Accept”与文本“ACCEPT”就可以通过合并操作,降低语种转换操作的操作次数。
如果页面中处于样式考虑,把语义上一致的词条,中间进行了分割,则也会出现需要合并的情况。例如,词条“中<span>|</span>国”及词条“中国”是两个需要合并的词条。
通过上述两项检查,从识别得到的功能文本中剔除无需语种转换的文本,又从需要语种转换的文本中找寻到能够合并的文本项,使得文本的语种转换操作的效率大大提升。
S24,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容。
S25,根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
本实施例通过在文本提取之后,检查是否存在无需语种转换的文本,以及检查是否存在能够合并的文本,减少了无谓的语种转换操作,进一步的提高语种转换的执行效率。
第三实施例
本实施例以本发明上述实施例为基础,进一步的提供了软件语种的自动转换方法中转换及更新操作的一种技术方案。在该技术方案中,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容包括:根据预置的语种转换词典对所述目标存储位置中的文本进行语种转换;对完成语种转换的文本进行合法性检查;根据所述语种转换的结果更新所述目标存储位置中的存储内容。
参见图3,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容包括:
S31,根据预置的语种转换词典对所述目标存储位置中的文本进行语种转换。
具体的,上述语种转换的操作又可以分成下面几个子操作:在语种转换字典的源语种词条中查找转换的源语种词条;在词典中查找与上述源语种词条相对应的目标语种词条。查找得到了目标语种词条,就完成了文本的语种转换操作。
S32,对完成语种转换的文本进行合法性检查。
合法性检查的操作在本实施例中是一个可选操作。其目的在于,避免语种转换的目标文本中出现语法上不合理的文本。例如,在Java代码中源代码:text=”邮件Account”,经过语种转换后变为:text=LocaleUtil.getText(language,”Email.java_22”)+”Acount”。
开发人员可以快速浏览,原词条所在语句行和替换后语句行,如果觉得有问题,可以直接在中间文件中修改,确认没有问题,进行国际化项目生成。
S33,根据所述语种转换的结果更新所述目标存储位置中的存储内容。
本实施例通过根据预置的语种转换词典对所述目标存储位置中的文本进行语种转换,对完成语种转换的文本进行合法性检查,并且根据所述语种转换的结果更新所述目标存储位置中的存储内容,实现了文本语种转换过程的转换及更新子操作。
第四实施例
本实施例提供了软件语种的自动转换装置的一种技术方案。参见图4,在该技术方案中,软件语种的自动转换装置包括:提取及存储模块41、转换及更新模块44、替换模块45。
提取及存储模块41用于由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置。
转换及更新模块44用于对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容。
替换模块45用于根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
进一步的,软件语种的自动转换装置还包括:第一检查模块42及第二检查模块43。
第一检查模块42用于检查在所述目标存储位置中是否存在无需语种转换的文本。
第二检查模块43,用于检查在所述目标存储位置中是否存在能够合并的需要语种转换的文本。
进一步的,转换及更新模块44包括:转换单元,以及更新单元。
转换单元用于根据预置的语种转换词典对所述目标存储位置中的文本进行语种转换。
更新单元用于根据所述语种转换的结果更新所述目标存储位置中的存储内容。
进一步的,转换及更新模块还包括:合法性检查单元。
合法性检查单元用于对完成语种转换的文本进行合法性检查。
进一步的,所述目标存储位置包括:中间文件,或者数据库中的数据表。
进一步的,提取及存储模块41包括:提取单元、设置单元,以及存储单元。
提取单元用于利用语种特征由软件的程序代码中提取需要语种转换的文本。
设置单元用来设置用于文本存储的数据表的数据表地址。
存储单元根据已设置的数据表地址,将提取的需要语种转换的文本存储至所述数据表。
进一步的,所述程序代码包括:Java程序代码、JavaScript程序代码、JSP程序代码、PL/SQL程序代码,或者MySQL程序代码。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种软件语种的自动转换方法,其特征在于,包括:
由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置;
对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容;
根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
2.根据权利要求1所述的软件语种的自动转换方法,其特征在于,还包括:
检查在所述目标存储位置中是否存在无需语种转换的文本;
检查在所述目标存储位置中是否存在能够合并的需要语种转换的文本。
3.根据权利要求1所述的软件语种的自动转换方法,其特征在于,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容包括:
根据预置的语种转换词典对所述目标存储位置中的文本进行语种转换;
根据所述语种转换的结果更新所述目标存储位置中的存储内容。
4.根据权利要求3所述的软件语种的自动转换方法,其特征在于,对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容还包括:
对完成语种转换的文本进行合法性检查。
5.根据权利要求1至4任一所述的软件语种的自动转换方法,其特征在于,所述目标存储位置包括:中间文件,或者数据库中的数据表。
6.根据权利要求5所述的软件语种的自动转换方法,其特征在于,由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至数据库中的数据表包括:
利用语种特征由软件的程序代码中提取需要语种转换的文本;
设置用于文本存储的数据表的数据表地址;
根据已设置的数据表地址,将提取的需要语种转换的文本存储至所述数据表。
7.根据权利要求1至4任一所述的软件语种的自动转换方法,其特征在于,所述程序代码包括:Java程序代码、JavaScript程序代码、JSP程序代码、PL/SQL程序代码,或者MySQL程序代码。
8.一种软件语种的自动转换装置,其特征在于,包括:
提取及存储模块,用于由软件的程序代码中提取需要语种转换的文本,并将所述文本存储至目标存储位置;
转换及更新模块,用于对存储在所述目标存储位置中的文本进行语种转换,并根据所述语种转换的结果更新所述目标存储位置中的存储内容;
替换模块,用于根据更新后的所述目标存储位置的存储内容,替换所述需要语种转换的文本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750617.9A CN107577482A (zh) | 2017-08-28 | 2017-08-28 | 软件语种的自动转换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710750617.9A CN107577482A (zh) | 2017-08-28 | 2017-08-28 | 软件语种的自动转换方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107577482A true CN107577482A (zh) | 2018-01-12 |
Family
ID=61029590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710750617.9A Pending CN107577482A (zh) | 2017-08-28 | 2017-08-28 | 软件语种的自动转换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577482A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134586A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段纠正方法、装置、计算机设备和存储介质 |
CN113033150A (zh) * | 2021-03-18 | 2021-06-25 | 深圳市元征科技股份有限公司 | 一种程序文本的编码处理方法、装置以及存储介质 |
US11630655B2 (en) | 2019-06-26 | 2023-04-18 | International Business Machines Corporation | Merging data structure definitions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667118A (zh) * | 2008-09-02 | 2010-03-10 | 华为技术有限公司 | 多语言版本的开发、替换方法及装置 |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
-
2017
- 2017-08-28 CN CN201710750617.9A patent/CN107577482A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667118A (zh) * | 2008-09-02 | 2010-03-10 | 华为技术有限公司 | 多语言版本的开发、替换方法及装置 |
CN105138350A (zh) * | 2015-07-29 | 2015-12-09 | 北京四方继保自动化股份有限公司 | 一种组态软件国际化多语言的实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134586A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码片段纠正方法、装置、计算机设备和存储介质 |
WO2020206839A1 (zh) * | 2019-04-12 | 2020-10-15 | 深圳壹账通智能科技有限公司 | 代码片段纠正方法、装置、计算机设备和存储介质 |
US11630655B2 (en) | 2019-06-26 | 2023-04-18 | International Business Machines Corporation | Merging data structure definitions |
CN113033150A (zh) * | 2021-03-18 | 2021-06-25 | 深圳市元征科技股份有限公司 | 一种程序文本的编码处理方法、装置以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10795799B2 (en) | Website debugger for natural language translation and localization | |
US11244121B2 (en) | Natural language translation and localization | |
CN109284145A (zh) | 多语言配置文件的生成和展示方法及装置、设备和介质 | |
JP2009519534A (ja) | テキスト編集装置及び方法 | |
CN104899010A (zh) | 源代码的多语言化方法及*** | |
CN101667118A (zh) | 多语言版本的开发、替换方法及装置 | |
CN107577482A (zh) | 软件语种的自动转换方法和装置 | |
CN102364437A (zh) | 多语言站点开发***及其实现方法 | |
CN111144210A (zh) | 图像的结构化处理方法及装置、存储介质及电子设备 | |
CN103970751A (zh) | 多国语言网页转换***及方法 | |
CN113836947B (zh) | 机器翻译译后的术语翻译方法、装置、设备及存储介质 | |
WO2019042349A1 (zh) | 操作***框架的翻译方法、移动终端和存储装置 | |
US8041556B2 (en) | Chinese to english translation tool | |
US9002772B2 (en) | Scalable rule-based processing system with trigger rules and rule evaluator | |
JP5747698B2 (ja) | 要件管理支援装置 | |
US20140189640A1 (en) | Native Language IDE Code Assistance | |
CN111443979B (zh) | 文档处理方法、装置、计算机设备及存储介质 | |
CN111638930A (zh) | 基于shell配置iOS多语言脚本方法及*** | |
US6912516B1 (en) | Place name expressing dictionary generating method and its apparatus | |
US7503036B2 (en) | Testing multi-byte data handling using multi-byte equivalents to single-byte characters in a test string | |
KR102118322B1 (ko) | 원문과 번역문 파일을 개별적으로 생성하는 문서 번역 서버 및 번역 방법 | |
CN104641367B (zh) | 用于格式化电子字符序列的格式化模块、***和方法 | |
CN113515443A (zh) | 多国语言自动核对方法、装置、计算机设备及存储介质 | |
JP4909754B2 (ja) | 地名表記辞書作成方法および地名表記辞書作成装置 | |
JP6076285B2 (ja) | 翻訳装置、翻訳方法及び翻訳プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180112 |