やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

python国際化用ライブラリBabelについて調べインストールした

使えそうなので。

調査

Pylon自体はWebフレームワークらしいが、国際化についての詳しい説明がある。情報が少ないため非常にありがたい。

ライブラリではなくツールだが、Pythonソースコードpygettext.pymsgfmt.pyがある。pot, po, moファイルを作成するのに使う。手順はこちらを参考にした。

Babelはライブラリ。Pylonの説明をみても、基本的な手順は変わらない。

ただし、便利な点がたくさんある。翻訳対象箇所の一括抽出、potの書式設定、poのマージ(一部更新)など。ライブラリというより、充実したツールに見える。

Babel

コマンドラインだけを見ても便利である。

あとは翻訳処理を自動化するためのAPIフレームワーク等が欲しい。

翻訳対象テキスト抽出

下記にある関数を使えば、翻訳対象テキストが抽出できそう。

POファイル作成

翻訳したテキストを埋め込んだPOファイルを作成したい。

コード例から察するに、poファイルのmsgid,msgstrは、Catalog.id, Catalog.stringに該当するようだ。potファイルを作成し、それを読み込ませ、Catalogオブジェクトで取得し、Catalog.stringに翻訳済みテキストを設定すれば、翻訳済みpoファイルが作成できそう。

Babel インストール

pyenvにてPython3.6.1をインストール

(game) $ pip install Babel
Collecting Babel
  Downloading Babel-2.5.1-py2.py3-none-any.whl (6.8MB)
    100% |████████████████████████████████| 6.8MB 51kB/s 
Requirement already satisfied: pytz>=0a in /media/mint/85f78c06-a96e-4020-ac36-9419b7e456db/mint/root/tools/pyenv/3.6.1/venv/game/lib/python3.6/site-packages (from Babel)
Installing collected packages: Babel
Successfully installed Babel-2.5.1

開発環境

所感

次回、使ってみたい。