Mezzanine にはと
Mezzanine の
翻訳の
翻訳ファイルを
参考記事
前提
OS Version
sw_vers ---------------------------- ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1108 ----------------------------
python Version
python -V ---------------------- Python 2.7.10 ----------------------
django-admin-tools の インストール
翻訳には、makemessages
、compilemessages
を
これらの
django-admin-tools
を
pip install django-admin-tools
適当な
CommandError で、gettext
が
gettext
を
django-admin.py makemessages -------------------------------------- CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed. --------------------------------------
gettext の インストール
brew で
brew install gettext --------------------------------------- /usr/local/Cellar/gettext/0.19.8.1: 1,934 files, 16.9M ---------------------------------------
makemessages
をdjango-admin.py makemessages -l ja --------------------------------------- CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed. ---------------------------------------
brew link --force gettext --------------------------------------- Linking /usr/local/Cellar/gettext/0.19.8.1... 185 symlinks created ---------------------------------------
Mezzanine リポジトリに 対して 実施した こと
Mezzanine の
djangoプロジェクトならほぼ
github で folk。 clone して、 branchを 作成する。
Folk した
リポジトリを ローカルに git clone する。 git clone https://github.com/{フォークしたリポジトリ}.git
Local に
ブランチ(作業用)を 作成 git branch develop_sandbox
作成した
ブランチに 移動 git checkout develop_sandbox
編集対象の、 django.po を リストアップ
これは、
mezzanineのdjango.po
ファイルが
find ./ -name django.po | grep /ja/ ------------------------------------------------ .//mezzanine/accounts/locale/ja/LC_MESSAGES/django.po .//mezzanine/blog/locale/ja/LC_MESSAGES/django.po .//mezzanine/conf/locale/ja/LC_MESSAGES/django.po .//mezzanine/core/locale/ja/LC_MESSAGES/django.po .//mezzanine/forms/locale/ja/LC_MESSAGES/django.po .//mezzanine/galleries/locale/ja/LC_MESSAGES/django.po .//mezzanine/generic/locale/ja/LC_MESSAGES/django.po .//mezzanine/mobile/locale/ja/LC_MESSAGES/django.po .//mezzanine/pages/locale/ja/LC_MESSAGES/django.po .//mezzanine/twitter/locale/ja/LC_MESSAGES/django.po ------------------------------------------------
django.po ファイルの 編集
ディレクトリ移動
cd .//mezzanine/accounts
makemessages の
実行 実行するまで、django-admin.py makemessages -l ja
わかりませんでしたが、 既存の 翻訳済メッセージも 引き継がれた 状態で、 差分メッセージが 追加&削除された django.po
ファイルが生成されます。
もう1つ 階層が 上でも、 django-admin.py makemessages -l ja
は実行できますが、 django.poファイル内の、 メッセージ使用箇所の ファイル名と 行数の 記述、が 変わってきます。
このため、 アプリケーションディレクトリで、 makemessages
を実行した ほうが よいかと 思います。
以下、変更箇所の 例を 抜粋。 # アプリケーションディレクトリ直下で生成した場合 #: templates/accounts/account_signup.html:11
# mezzanineディレクトリ(1つ上の階層で実行した場合) #: accounts/templates/accounts/account_signup.html:11
msgid に
対する 翻訳文字列 msgstr を 割り当てる。 msgid に 対して、 msgstrが 未設定 ""
の箇所に 翻訳した 文字列を 設定します。
例えば、以下のようになります。 msgid "Email" msgstr "Eメール"
compilemessages を
実行 django-admin.py compilemessages -l ja
一通り
作業が 終わったら git commit git commit -m "modify django.po" ./locale/ja/LC_MESSAGES/django.po git commit -m "generate django.mo" ./locale/ja/LC_MESSAGES/django.mo
この作業を、
編集後の ファイルを Pull Reuqest
master ブランチに
切り替え git checkout master
squash
オプションでマージ squash したのは、git merge –-squash develop_sandbox
pull request する 際に 嫌がられたりするかもだったため、 実施しました。
他の翻訳系の pull request は まと まってなかったりしたので、 そのままでも OK かもしれません。 commit して、
push します。 Github 上で
Pull Request 送付
しばし待つ。で、 まってたら、 マージしてもらえました。
ちなみに 気になっていた 箇所に ついて
ブログ投稿の
チェックボックスが
これを
元旦に
今年も
以上です。
コメント