こんにちは。OneTapNoteというFlutterアプリをiosで公開しているのですが、多言語対応(日本語、英語、簡体中国語、繁体中国語、韓国語、フランス語)の6ヶ国語に対応しています。私は日本語しか話せないため、翻訳機に頼るわけですが、Application Resource Bundle (.arb)ファイルの単語を1つずつ翻訳してコピペをチマチマするのは、どうなん?って7ヶ国語目(イタリア語)を対応しようとしてる時にようやく気付いたわけです。
アプリケーション リソース バンドル (.arb) は、JSON に基づくローカライズ ファイル形式であり、ローカライズ可能なリソースが JSON オブジェクトとしてエンコードされます。
詳しくは公式ドキュメントを参照ください。
要するに、ARBファイルはJSON形式なので、JSONファイルを翻訳してくれるサービスがあれば楽することが出来ます。探したら、今の時代どんなサービスでもありますね!DevTranslateというサービスでしてくれるようです。なんですが、この記事掲載時点では、私が対応したいイタリア語はPROプランにしないと出来ません。残念。。英語とかドイツ語ならいけそうです。今度ドイツ語対応する時には使ってみよう!
ということで、他に無料サービスは無さそうだったので、翻訳APIを使用して自分で作る事にします。こういう時に環境構築せずに使える「Google Colab」を使います。GASとかでも手軽に出来そうですね。特にこだわりはないですが、GmailやGoogleカレンダーなどのGoogleサービスを使うならGASが良いですが、今回はそういうわけでもなく、私がPythonの方が慣れているのでGoogle Colabを使わせてもらいます。
前提条件
本プログラムの動作条件は以下です。
- GoogleColabが使用できること
- DeepL APIが使用できること
私は1か月に500,000文字に制限されたDeepL API Freeプランで登録しています。登録する際はクレジットカードの登録をする必要があるため、登録に抵抗がある人がいるかもしれません。ちなみに、で自分でPROプランを選ばない限り、勝手に料金がかかって、クレジットカードから引き落とされるということはないです。(本記事掲載時点のため、詳細は公式HPを確認ください)
多言語ファイル 翻訳プログラム
ARBファイルを指定しますが、JSON等に変更してお使いください。GoogleColabはこんな感じで一時的にちょっとしたプログラムを作りたいという時にオススメです。
コメント