用python快速生成Trados Studio读取的XML格式QA配置文件
背景&目的
Trados Studio中自带的QA Checker功能十分强大,可以检查英文写作中常见的空格、标点等问题,还能够实现自定义正则的检查、禁用词的检查。
但是在Trados中,正则和禁用词的检查只能逐项输入,也可以导入或导出特定格式的配置文件,但并没有将外部规则或禁用词批量导入的方法。
若能够将外部的规则或禁用词批量导入,能够降低手动操作的工作量。
工具
Trados Studio(2014以上)
python环境
原理&具体方法
QA Checker的配置文件后缀时sdlqasettings,但实质就是xml文件,稍加阅读就能理解其中的标记含义和规律。比如检查禁用词的部分中,每一条都是如下结构:
<Setting Id="WrongWordPairs编号"><WrongWordDef xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Sdl.Verification.QAChecker">
<CorrectWord>正确词语</CorrectWord>
<WrongWord>错误词语</WrongWord>
<_CorrectWord>正确词语</_CorrectWord>
<_WrongWord>错误词语</_WrongWord>
</WrongWordDef></Setting>
上面代码中的正确词语、错误词语都是自定义的,编号则是自动生成的(从0开始)。多条检查项对应的代码依次连接,首尾有其他设置项对应的内容,可以视为固定不变的。
翻译中常会用excel来记录术语,只要将表格中的错误词语、正确词语分别填充到上述结构、再合并到一起,添加首尾部分的内容即可。
def wordlist(file):
import xlrd
filename = file.split('xls')[0] + 'wordlist.sdlqasettings' # 定义输出文件名
xls2txt = open(filename, 'w', encoding='utf-8') # 创建写入的文件
data = xlrd.open_workbook(file) # 打开excel表格
table = data.sheets()[0] # 读取第一个sheet
rows = table.nrows # excel文件的行数
cols = table.ncols # excel文件的列数
pair_index = 0
word_list = ''
f