50字范文,内容丰富有趣,生活中的好帮手!
50字范文 > 巧用Word通配符为英中双语字幕文件中的简体中文制作一份副本

巧用Word通配符为英中双语字幕文件中的简体中文制作一份副本

时间:2023-09-20 06:17:49

相关推荐

巧用Word通配符为英中双语字幕文件中的简体中文制作一份副本

今天接到一个需要简繁转写的字幕文件,是一个纯文本的Word文件,英中对照,带时间码。很小,只有10几行。一开始,我还以为只需将各简体中文行替换为繁体中文即可,结果再一问客户,是要保留已有两种文字的字幕,添加繁体版本。

我所采用的简繁改写流程是完全自动化的,即运行程序,将简体中文文字转换为繁体中文(不是使用Word自带的那个简繁改写功能,而是自编的一个工具)。如果直接处理客户发来的文件,就会原地将简中替换为繁中。这样形成的文件就是英文和繁体中文对照了。这当然不是客户想要的,而想制作客户想要的三语对照,就必须手工粘贴。

有那么几秒钟,我确实想手工粘贴,因为内容并不多,真要粘贴的话,也就需要一两分钟。但,懒人出巧匠,我还是想找个更巧妙、更通用的流程。先考察一下具体的文字吧:

00:00:00-00:00:07

This is the 1st line of the 1st sentence,

这是第一句的第一行,

and this is the 2nd line.

而这是第二行。

00:00:07-00:00:23

This is the 1st line of the 2nd sentence,

这是第二句的第一行,

and this is the 2nd line,

而这是第二行,

And this is the 3rd and last line.

还有第三行,也就是最后一行。

(哈,我当然不会给你看客户发来的那个文件的真实内容(替客户保密的义务还是要遵守的)。

看到这种双语内容,我首先想到的是将其转换为表格形式,然后就可以对相应列进行操作,或者添加新的列。于是我将内容全选,然后选Inser > Convert to table,在弹出的对话框中为列数选2:

按OK,得到一个双列表格:

还不错吧,下面要做的,就是把右列英文全部选中,然后施加隐藏风格,保存文件后,用我那个自编工具进行简繁转换就行了。(左列中未隐藏的文字会被处理,其中时间码因为不包含任何中文字,所以会被原样保留。)处理完成的文件在Word中重新打开,将表格重新还原为正常的正文文件就行了。

上面这个操作,其实还是不具备通用性,因为中文得以放在一列,纯属巧合。只要哪行字幕前面或后面多个空行,中文文字就可能被分散到两列中去了。

于是用到Word的通配符替换功能,将([!^0013]{1,}[一-龤][!^0013]{1,5})替换为\1\2^l\2:

意思是:将任意汉字连同其前面换行以及紧接着的1到5个字符(换行除外)以及其后不限个数的字符(换行除外)找到,将那个找到换行以及找到的中文行复制一份,加上回车(软换行),然后再加上一份中文行,同时为替换后的内容加上高亮,结果如下:

下面要做的就是把所有内容隐藏,而新复制处理的那个中文行除外:

通配符表达式(^0011)([!^0011^0013]{1,1}[一-龤][!^0013]{1,})意思是:将任意汉字连同其前面1到5个字符(换行和软换行除外)和其后不限个数的字符(换行和软换行除外)找到,并且为了只找到以软换行开头的那个中文行副本,特地加上了^0011。替换结果如下:

这样,第二个简体中文行就都显示出来了。如果你乐意,你可以把所有文字选中,取消高亮。(那个高亮本来就是为了方便考察替换结果而专门添加的。)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。