sdlxliff自動翻訳プログラムを作ってみた【Python+Google翻訳API+Trados2019】

translation_imagePython

どうも電☆砲です。
今回はタイトルの通り、Pythonを使ったプラグラミングによる自動翻訳プログラムを作成してみました。

背景

最近はTradosという翻訳支援ソフト(CAT)を使って翻訳の副業をやっているのですが、この翻訳に結構時間を取られるんですよね。。。ということで、ふとこの翻訳作業を自動化できないものかと思い、Pythonを使ってちょっと作成してみました。

開発環境

  • Windows 10 x64
  • Anaconda 5.2.0
  • Python 3.8.5
  • SDL Trados Studio 2019

今回はTradosという翻訳支援ソフトを使います。有料ソフトですが、こちらにある中華系のサイトからクラック(無料)版を入手できます。

自動翻訳のフローチャート&自動翻訳のコード

auto_translation_flowchart_with_google_api

全然複雑なことはしていません。翻訳したい.sdlxliff形式のファイルから、原文(source)と訳文(target)(ある場合)を抽出して、訳文がなければ、Google Apps Script(GAS)を利用して記述したAPIを使って自動翻訳して、原文と訳文のペア(CSV形式のバイリンガルファイル)を出力します。Google自動翻訳用のAPIについては、こちらを参考に作成しました。

こちら(GitHub)にコード一式とサンプル入力ファイル(テスト用)をアップロードしておきましたので、Tradosを使った自動翻訳を試してみたいという方は参考にしてみてください。

結果

自動翻訳の出力ファイル

こんな感じでA列に原文、B列に訳文(Google翻訳)を自動で出力することができます。ただし、訳文はGoogle翻訳そのままですので、ちゃんと前後の意味が通るように人手での訳文の修正が必要になります。

まとめ

今回はCSV形式で訳文を出力しましたが、これだと訳文をCSVファイルからsdlxliffファイルにコピペしないといけないので面倒です。次回は訳文を直接sdlxliffファイルに書き込むプログラムを書いてみたいと思います。
(2020年12月15日 追記)Trados専用のsdlxliffファイルから自動で翻訳して、その結果をsdlxliffファイルに戻して出力するプログラムができました!コードとサンプルは こちら(GitHub) からご覧ください。サンプルファイルの実行結果は以下の画像のようになります。これから機会があれば使いながら、バグ修正等は随時行っていきます。

auto_google_translation_from_trados_sdlxliff

参考サイト

3 分で作る無料の翻訳 API with Google Apps Script

Google翻訳APIを無料で作る方法

Problems parsing XML/XLIFF with inline elements

PythonでWeb APIを叩く

xml.etree.ElementTree — The ElementTree XML API

lxml.html

クローラ作成に必須!XPATHの記法まとめ

How do I match contents of an element in XPath (lxml)?

lxml の基本的な使用方法

トホホな疑問(13) Python、lxml、デフォルト名前空間とXPath

タイトルとURLをコピーしました