春の翻訳&ドキュメンテーション祭りに参加

ということで参加してきました.WordPress はそんなに使ってないのですが(今はこのページともう一箇所だけ),普通にGettext での国際化のようなので最近翻訳してなくてコマンドとかも忘れてるし…てことで参加してきました.
会場は301コワーキングスペース.
IMGP9309 🏛️
こちらのビルの
IMGP9311 🏛️
その名の通り301号室です.

  • 鹿児島のコワーキングスペース 301 サンマルイチ | 鹿児島中央駅から徒歩3分 🏛️
  • 2014-05-17 12.44.13 🏛️
    #準備中の写真しかとってなかったですorz
    翻訳対象はドキュメント,プラグイン,テーマなど.鹿児島では Theme My Login Login LockDown をターゲットにすることに.

    Theme My Login は .pot があるのでお手軽だったのですが, Login LockDown は.pot の作成からでした.

    作業の前にdebian/ubuntu 環境だと,関連パッケージは以下のような感じで導入できます.

    % sudo apt-get install gettext-base gettext poedit

    .pot を作成します.初め以下のようにしていたのですが, _e の行が拾えません.

    % xgettext —keyword=’_’ —language php —from-code=UTF-8 -o ./loginlockdown.pot find $PWD -name *.php -type f

    試行錯誤して最終的に以下のように —keyword を複数指定することで恐らく全て抽出出来ました.

    % xgettext —keyword=’__’ —keyword=’_e’ —language php —from-code=UTF-8 -o ./loginlockdown.pot find $PWD -name *.php -type f

    .pot から ja.po の作成は以下のようにして行いました.

    % msginit —locale ja_JP.UTF-8 —input=loginlockdown.pot

    初め —locale ja としていたのですが,これだと charset=CHARSET となって先ずそうだったので ja_JP.UTF-8 を指定するようにしました.これで, charset=UTF-8 になりました.

    後はPoedit で翻訳して保存すると自動的に ja.mo も作成されます.
    手動で mo を作る場合は, % msgfmt ja.po -o ja.mo で行けます.
    #ちなみに今回 Poedit に有料版があるのを知りました! http://poedit.net/pro/ 🏛️

    ここでまた問題.
    ja.mo の結果が反映されない><

    source を見るとそもそも load_plugin_textdomain() が呼ばれていなそう.試しに書き換えてみると .mo が反映されました!
    #.pot が作れるのになぜ!?

    Screenshot from 2014-05-23 13:06:11 🏛️

    という辺りで今回は時間切れとなりました.
    別の方々が ja.po の翻訳をされていたのでそっちとマージするといい感じになりそうです.

    鹿児島会場の参加者は最終的に7人でした.
    そうそう!定期的にやりたいねって話になりました.次回は恐らく6/14(土)となりそうです.
    興味のある方は以下のFacebook Group をcheck!

    関連URL

    今回のハッシュタグ

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)