文档翻译方法、装置、存储介质以及电子设备与流程

文档序号:34570559发布日期:2023-06-28 11:59阅读:22来源:国知局
文档翻译方法、装置、存储介质以及电子设备与流程

本发明涉及翻译领域,具体而言,涉及一种文档翻译方法、装置、存储介质以及电子设备。


背景技术:

1、现有的文档翻译技术并未支持latex格式的翻译,所以对于这类文档的翻译,通常的做法是对其渲染生成的pdf文件使用现有的pdf文档翻译技术实现翻译。

2、然而,先将latex格式的文档渲染生成pdf文件,然后对pdf文件进行翻译,势必会造成翻译效率低的问题。


技术实现思路

1、本发明实施例提供了一种文档翻译方法、装置、存储介质以及电子设备,以至少解决翻译效率低的技术问题。

2、根据本发明实施例的一个方面,提供了一种文档翻译方法,包括:从待翻译的latex格式的原始文档中确定出需翻译的原始字符串;对上述原始字符串进行翻译,得到目标字符串;将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档。

3、作为一种可选的示例,上述对上述原始字符串进行翻译,得到目标字符串包括:将上述原始字符串中的每一个片段转换为字符串表示,生成原始字符串数组,以及原始元素类型标识;按照上述原始字符串中的字符串表示是否为纯文本将上述原始字符串转换为第一字符串,其中,上述第一字符串中包括特殊标识;过滤掉上述第一字符串中的上述特殊标识得到第二字符串;翻译上述第二字符串,得到翻译后的第三字符串;根据上述第一字符串、上述第二字符串以及上述第三字符串确定上述目标字符串。

4、作为一种可选的示例,上述按照上述原始字符串中的字符串表示是否为纯文本将上述原始字符串转换为第一字符串包括:在上述字符串表示为纯文本的情况下,保留上述字符串表示;在上述字符串表示为非纯文本的情况下,为上述字符串表示添加上述特殊标识。

5、作为一种可选的示例,上述根据上述第一字符串、上述第二字符串以及上述第三字符串确定上述目标字符串包括:对上述第二字符串和上述第三字符串做分词处理;在上述分词之间建立关联关系;确定第一字符串中上述特殊标识在上述第二字符串中的位置;按照上述关联关系和上述位置,在上述第三字符串中插入上述特殊标识,得到上述目标字符串。

6、作为一种可选的示例,上述翻译上述第二字符串,得到翻译后的第三字符串包括:按照上述第二字符串所在结构块所要求的翻译方式,翻译上述第二字符串,得到上述第三字符串。

7、作为一种可选的示例,上述将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档包括:按照上述目标字符串中的特殊标识,将上述目标字符串转换为目标字符串数组,以及目标元素类型标识;根据上述原始元素类型标识与上述目标元素类型标识的对应关系,将上述目标字符串数组中的每个子串对应到原始字符串数组中的每个子串,为上述原始字符串数组中的每一个对象添加对应字段并赋予字段值;根据每个对象的对应字段及字段值,将翻译后的上述目标字符串回填到上述原始文档中,得到上述目标文档。

8、作为一种可选的示例,上述根据上述原始元素类型标识与上述目标元素类型标识的对应关系,将上述目标字符串数组中的每个子串对应到原始字符串数组中的每个对象,为上述原始字符串数组中的每一个对象添加对象字段并赋予字段值包括:使用第一指针指向上述原始字符串数组中的第一个对象并使用第二指针指向上述目标字符串数组中的第一个子串;将上述第一指针指向的对象作为当前对象并将上述第二指针指向的子串作为当前子串,执行如下操作:在上述当前对象与上述当前子串对应的元素类型均为纯文本的情况下,为上述当前对象添加翻译字段,将上述当前子串的值赋予上述翻译字段,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象与上述当前子串对应的元素类型均为非纯文本,且上述当前对象与上述当前子串的特殊标识的序号不一致的情况下,为上述当前对象添加替换字段,将上述当前子串的特殊标识的序号的值赋予上述替换字段,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象与上述当前子串对应的元素类型均为非纯文本,且上述当前对象与上述当前子串的特殊标识的序号一致的情况下,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象为纯文本且上述当前子串对应的元素类型为非纯文本的情况下,为上述当前对象添加翻译字段,将上述翻译字段的值置为空,将上述第一指针指向下一个对象;在上述当前对象对应的元素类型为非纯文本且上述当前子串对应的元素类型为纯文本的情况下,为上述当前对象添加前翻译字段,将上述当前子串的值赋予上述前翻译字段,将上述第二指针指向下一个子串;在上述第一指针指向上述原始字符串子串的结束位置的情况下,为上述当前对象添加后翻译字段,将上述当前子串到上述目标字符串子串的结束位置间所有子串的拼接结果赋予上述后翻译字段,将上述第二指针指向上述目标字符串子串的结束位置;在上述第二指针指向上述目标字符串子串的结束位置的情况下,为上述当前对象到上述原始字符串子串的结束位置的所有对象添加翻译字段,将上述翻译字段的值置为空,将上述第一指针指向上述原始字符串子串的结束位置。

9、作为一种可选的示例,上述根据每个对象的对应字段及字段值,将翻译后的上述目标字符串回填到上述原始文档中,得到上述目标文档包括:在上述原始字符串数组中的对象包含翻译字段的情况下,将上述对象所指向的上述原始文档中的节点集合中,命令节点下的第一个纯文本节点或者纯文本节点集合中的第一个节点的文本修改为上述翻译字段的值,剩余的纯文本节点的值调整为空;在上述原始字符串数组中的对象包含前翻译字段的情况下,将上述对象指向的上述原始文档中的节点集合中,命令节点下的第一个节点或者纯文本节点集合中的第一个节点作为当前节点,在上述当前节点的父节点的子节点集合中,在上述当前节点所在索引处插入一个新的纯文本节点,将新的纯文本节点的值设置为上述前翻译字段的值;在上述原始字符串数组中的对象包含后翻译字段的情况下,将上述对象指向的上述原始文档中的节点集合中,命令节点下的最后一个节点或者纯文本节点集合中的最后一个节点作为当前节点,在上述当前节点的父节点的子节点集合中,在上述当前节点所在索引的后一个索引处插入一个新的纯文本节点,将新的纯文本节点的值设置为上述后翻译字段的值;在上述原始字符串数组中的对象包含替换字段的情况下,从上述对象对应的节点和替换字段对应序号对应的节点的最近公共父节点下的所有节点中,确定出待置换节点,对待置换节点的位置执行置换操作。

10、作为一种可选的示例,在将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档之后,上述方法还包括:根据译文的语种,为上述目标文档添加语言支持命令。

11、根据本发明实施例的另一方面,提供了一种文档翻译装置,包括:确定模块,用于从待翻译的latex格式的原始文档中确定出需翻译的原始字符串;翻译模块,用于对上述原始字符串进行翻译,得到目标字符串;回填模块,用于将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档。

12、作为一种可选的示例,上述确定模块包括:第一筛选单元,用于从上述原始文档的所有文件中,按照文件后缀名筛选出候选原始文件;生成单元,用于生成上述候选原始文件的文件树;第一确定单元,用于将上述候选原始文件中包含预定字符的文件作为入口文件;第二筛选单元,用于以上述入口文件为起始点,根据文件中的命令类型节点包含的文件引用关系,从上述候选原始文件中筛选出第一文件,其中,上述节点的类型根据上述文件树确定;第二确定单元,用于将上述第一文件中的段落确定为上述原始字符串。

13、作为一种可选的示例,上述生成单元包括:第一确定子单元,用于为上述候选原始文件创建根节点并将上述根节点作为当前节点;遍历子单元,用于遍历上述候选原始文件的字符串变量;每遍历到一个命令的开始符,为上述当前节点生成一个命令子节点并将上述命令子节点作为新的当前节点;每遍历到一个命令的结束符,将上述当前节点的父节点作为新的当前节点;每遍历到纯字符串,为上述当前节点生成一个文本子节点。

14、作为一种可选的示例,上述第二确定单元包括:生成子单元,用于根据上述第一文件的上述文件树,将上述第一文件生成为带有层级结构的中间表达,其中,上述层级结构中包括段落层;第二确定子单元,用于将上述段落层对应的字符串确定为上述原始字符串。

15、作为一种可选的示例,上述生成子单元还用于:将上述第一文件的上述文件树作为上述中间表达的文件层;将上述第一文件的上述文件树中的每个文档结构相关的命令节点作为上述中间表达的结构块层;将上述第一文件的上述文件树中的每个文档元素相关的命令节点作为上述中间表达的段落层;将上述第一文件的上述文件树中的每个叶子节点作为上述中间表达的片段层;为不同的上述结构块层构建不同的翻译策略。

16、作为一种可选的示例,上述翻译模块包括:转换单元,用于将上述原始字符串中的每一个片段转换为字符串表示,生成原始字符串数组,以及原始元素类型标识;按照上述原始字符串中的字符串表示是否为纯文本将上述原始字符串转换为第一字符串,其中,上述第一字符串中包括特殊标识;过滤掉上述第一字符串中的上述特殊标识得到第二字符串;翻译上述第二字符串,得到翻译后的第三字符串;根据上述第一字符串、上述第二字符串以及上述第三字符串确定上述目标字符串。

17、作为一种可选的示例,上述转换单元包括:第一处理子单元,用于在上述字符串表示为纯文本的情况下,保留上述字符串表示;在上述字符串表示为非纯文本的情况下,为上述字符串表示添加上述特殊标识。

18、作为一种可选的示例,上述转换单元包括:第二处理子单元,用于对上述第二字符串和上述第三字符串做分词处理;在上述分词之间建立关联关系;确定上述第一字符串中上述特殊标识在上述第二字符串中的位置;按照上述关联关系和上述位置,在上述第三字符串中插入上述特殊标识,得到上述目标字符串。

19、作为一种可选的示例,上述转换单元包括:翻译子单元,用于按照上述第二字符串所在结构块所要求的翻译方式,翻译上述第二字符串,得到上述第三字符串。

20、作为一种可选的示例,上述回填模块包括:回填单元,用于按照上述目标字符串中的特殊标识,将上述目标字符串转换为目标字符串数组,以及目标元素类型标识;根据上述原始元素类型标识与上述目标元素类型标识的对应关系,将上述目标字符串数组中的每个子串对应到原始字符串数组中的每个子串,为上述原始字符串数组中的每一个对象添加对应字段并赋予字段值;根据每个对象的对应字段及字段值,将翻译后的上述目标字符串回填到上述原始文档中,得到上述目标文档。

21、作为一种可选的示例,上述回填单元包括:回填子单元,用于使用第一指针指向上述原始字符串数组中的第一个对象并使用第二指针指向上述目标字符串数组中的第一个子串;将上述第一指针指向的对象作为当前对象并将上述第二指针指向的子串作为当前子串,执行如下操作:在上述当前对象与上述当前子串对应的元素类型均为纯文本的情况下,为上述当前对象添加翻译字段,将上述当前子串的值赋予上述翻译字段,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象与上述当前子串对应的元素类型均为非纯文本,且上述当前对象与上述当前子串的特殊标识的序号不一致的情况下,为上述当前对象添加替换字段,将上述当前子串的特殊标识的序号的值赋予上述替换字段,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象与上述当前子串对应的元素类型均为非纯文本,且上述当前对象与上述当前子串的特殊标识的序号一致的情况下,将上述第一指针指向下一个对象,将上述第二指针指向下一个子串;在上述当前对象为纯文本且上述当前子串对应的元素类型为非纯文本的情况下,为上述当前对象添加翻译字段,将上述翻译字段的值置为空,将上述第一指针指向下一个对象;在上述当前对象对应的元素类型为非纯文本且上述当前子串对应的元素类型为纯文本的情况下,为上述当前对象添加前翻译字段,将上述当前子串的值赋予上述前翻译字段,将上述第二指针指向下一个子串;在上述第一指针指向上述原始字符串子串的结束位置的情况下,为上述当前对象添加后翻译字段,将上述当前子串到上述目标字符串子串的结束位置间所有子串的拼接结果赋予上述后翻译字段,将上述第二指针指向上述目标字符串子串的结束位置;在上述第二指针指向上述目标字符串子串的结束位置的情况下,为上述当前对象到上述原始字符串子串的结束位置的所有对象添加翻译字段,将上述翻译字段的值置为空,将上述第一指针指向上述原始字符串子串的结束位置。

22、作为一种可选的示例,上述回填子单元还用于:在上述原始字符串数组中的对象包含翻译字段的情况下,将上述对象所指向的上述原始文档中的节点集合中,命令节点下的第一个纯文本节点或者纯文本节点集合中的第一个节点的文本修改为上述翻译字段的值,剩余的纯文本节点的值调整为空;在上述原始字符串数组中的对象包含前翻译字段的情况下,将上述对象指向的上述原始文档中的节点集合中,命令节点下的第一个节点或者纯文本节点集合中的第一个节点作为当前节点,在上述当前节点的父节点的子节点集合中,在上述当前节点所在索引处插入一个新的纯文本节点,将新的纯文本节点的值设置为上述前翻译字段的值;在上述原始字符串数组中的对象包含后翻译字段的情况下,将上述对象指向的上述原始文档中的节点集合中,命令节点下的最后一个节点或者纯文本节点集合中的最后一个节点作为当前节点,在上述当前节点的父节点的子节点集合中,在上述当前节点所在索引的后一个索引处插入一个新的纯文本节点,将新的纯文本节点的值设置为上述后翻译字段的值;在上述原始字符串数组中的对象包含替换字段的情况下,从上述对象对应的节点和替换字段对应序号对应的节点的最近公共父节点下的所有节点中,确定出待置换节点,对待置换节点的位置执行置换操作。

23、作为一种可选的示例,上述装置还包括:添加模块,用于在将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档之后,根据译文的语种,为上述目标文档添加语言支持命令。

24、根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述文档翻译方法。

25、根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的文档翻译方法。

26、在本发明实施例中,采用了从待翻译的latex格式的原始文档中确定出需翻译的原始字符串;对上述原始字符串进行翻译,得到目标字符串;将翻译后的上述目标字符串回填到上述原始文档中,得到翻译后的目标文档的方法,由于在上述方法中,对于预定格式的原始文档,可以从中确定出需翻译的原始字符串,然后对原始字符串进行翻译得到目标字符串,以及将目标字符串回填到原始文档中,从而不需要对latex格式的文档进行渲染才能翻译,实现了提高翻译效率的目的,进而解决了翻译效率低的技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1