皆さん、英語ドキュメントを翻訳して資料に興すのは面倒くさいですよね?
僕は最近ドキュメントの多言語化の対応を任されて面倒くさいな・・・の一言でした
面倒臭さを解消するためにPythonとGASを使って、翻訳かけてドキュメントとして保存するプログラムを作成しました
まず元ファイルはHTMLまたはPDFで作成された文書ドキュメントファイルです
これらのファイルを解析し、文面のみ翻訳して内容を書き換えて保存していくのですが、翻訳はGoogle翻訳にやらせることにしました。
さて、私が考えなければならないのは元文書を解析して翻訳したい文言をどうやって翻訳しさせて文書を書き換えるか?でした。
ここでPythonのBeautifulSoupと呼ばれるライブラリで文書ファイルをスクレイピングかけて内容を解析し、文言を抽出してから解析をかけます。抽出した文言を翻訳させたい場合どうしたか?
それはGASでGoogle翻訳を実行するREST APIを作成しました。doPOSTメソッド内でGoogle翻訳を実行します。
翻訳結果はJSONレスポンスとして返却します。
GASで作成したAPIを公開設定した上で、Pythonコード上で翻訳したい文言と翻訳言語’情報をJSONとして渡しPostします。
JSONレスポンスが返却されたら、翻訳後の文言をBeautifulSoupで開いた文書情報内の構成データに対して置き換えます。
全て翻訳が終わったら、置き換え後の文書情報をBeatifulSoupのprettifyメソッドを呼びString型化されたの全てのドキュメント情報を元にファイルを作成します。
これで翻訳後のファイルが出来上がります。
覚書ですが、もっといい組み方があったら更新していきます。但し、翻訳しすぎるとGoogle翻訳側で翻訳のしすぎやバカヤロウwみたいなエラーが返ってくるのでそこをなんとかしたい所ですね・・・・
今後の課題ですね・・・最近YouTubeチャンネルでエンジニアチャンネルという物にハマりまして、影響を受けてるんですけどねオススメですよ
それではまた!!