A Django site.
3月 12, 2008
» 知っておくと便利な WordPress プラグイン国際化のコツ

初めての WordPress プラグイン日本語化ガイド」に引き続き今回は、WordPressのプラグイン国際化(日本語化)を何度かやったことがある方向け。知らなくても大丈夫だけど知っておくとさらに便利な情報です。

Poeditの翻訳メモリ機能

Poeditの翻訳メモリ機能を使う(by taiさん)
翻訳メモリを使うとかなり楽できる場合もあります。WordPress本体、WordPress MU、その他メジャーなプラグインの言語ファイルなどをメモリに追加しておくのをおすすめ。

text domain名を自動追加するPHPスクリプト

Automatticの国際化担当Nikolay が先日メーリングリストに投稿した、text domain名を追加する手間を省くためのスクリプト。add-textdomain.php ファイルを保存してプラグインと同じディレクトリに置き、以下のコマンドで実行。

php add-textdomain.php plugin-name.php textdomain-name

表示されたデータをプラグインファイルにコピー&ペーストします。

< ?php _e('message'); ?>

のようだったコードが、以下のように書き換えられているはずです。

< ?php _e('message', 'textdomain-name'); ?>

複数形用&説明追加用の国際化関数

WordPressの国際化関数は __()_e() に加えてあと2つあります。__ngettext()_c() です(どちらも値を返すだけで文字列の出力はしません)。

日本語ではあまり問題ないですが、__ngettext() 関数は名詞の複数形の翻訳を分けられようにしてくれます。他の言語にも訳される可能性を考え、単数・複数で単語が違う場合はこの関数を使っておくと親切です。

__ngettext('%s post available', '%s posts available', $posts_count, 'plugin-name');

例えば Editor というラベルが役割グループの「編集者」を意味するのか、テキスト編集用のツールである「エディタ」を意味するのかの説明を付けたいとき、_c() 関数を使えば | 記号のあとにコメントを追加できます。 | 記号以下に書かれたものは翻訳する前と後の文字列には影響がありません。

_c('Editor | Role' 'plugin-name');
_c('Editor | Text editor' 'plugin-name');

テキストエディターへのスニペット追加

よく使うコードが挿入しやすいよう、私はテキストエディターにコードスニペットを登録してます。たとえばskEditなら、

< ?php _e('[*sel]','plugintextdomain'); ?>

と言うスニペットを登録しておくと、元のテキストを選択して右クリックでこのコードを挿入できます([*sel]< ?php _e('$TM_SELECTED_TEXT','plugintextdomain'); ?>

TextMateではタブキーでスニペットが呼び出しできてさらに便利。最後に plugintextdomain を実際の textdomain 名に一括置換します。似た機能がある他のエディタも多くありますので、試してみてください。

3月 11, 2008
» 初めての WordPress プラグイン日本語化ガイド

WordPressプラグインの日本語化に便利なソフト、Poeditがv1.4にアップグレードされたのを機に、WordPressプラグイン翻訳に関する情報を書いてみます。あちこちで十分詳しく書かれているんですが(とくにMasayanさんのpoEdit 取扱説明書があれば最強!)、私も最初はよく分からなかったので…。はじめてプラグインの翻訳をされる方のガイド的にまとめてみました。Masayanさんのページの詳細説明を見る前にぜひ目を通してみてください。

必要なスキル

  • 英語プラグインの元言語と日本語の読み書き能力
  • PHPの基本的な知識
  • WordPress、WordPressプラグインの基本的な知識

必要なツール

  • Poedit(日本語で使えます。Windows、Mac OS X、Linuxバージョンが揃っています)
  • 日本語化したいプラグインのファイル
  • インストールしたWordPress(ローカルサーバーがあると最適)

日本語化の方法

ステップを大まかにまとめると、以下のようになります。

  1. プラグイン内にtext domain指定を加える
  2. プラグイン内の文字列を、WordPressの国際化関数、 __() と _e() を使って出力するようにする
  3. 翻訳用の .pot ファイルを作成する
  4. 日本語の .po 言語ファイルを作成する
  5. poEditで翻訳、保存する(日本語化用の .mo ファイルが作成される)
  6. プラグインを有効化してテスト

すでに国際化済みのプラグインに日本語版を足すだけの場合、1〜3は不要です。ローカルサーバーがあれば、.mo ファイルを保存するごとにリロードして画面上で確認ができるので便利ですよ。さらに、

  1. プラグインの作者さんに国際化済みのプラグイン+言語ファイルを送ってあげて、今後の開発に組み込んでもらうようお願いする
  2. WordPress Plugins/JSeriesでの配布・告知をする

というところまで完了すれば、他のユーザーさんや翻訳者さんにも非常に便利です。特に7は世界中のWPユーザーさんたちにも喜んでもらえるはず(作者さんが採用してくれればですが)!

その他の日本語ドキュメント

次回は第2弾として、「初めて」の次の段階で知っておくと便利なプラグイン国際化についてのコツを書きますね。

(3/12追記)「知っておくと便利な WordPress プラグイン国際化のコツ」公開しました。

2月 19, 2008
» 本の無料交換サイト、BookMoochが日本語化

私は単に「環境に良い」だけじゃなく、「合理的」とか「便利」とかいった条件も両方満たされるようなアイディアが好きです。だってそういうものでないときっと広まっていかないし、実用的ではないと思うので。

BookMoochロゴその条件にぴったり合う私の愛すべきサービスがあります。それは「BookMooch(ブックムーチ)」という、本の交換ができるサイト。Twitterでもつぶやいたのですが、このサイトに日本語版ができたことに気づいたのでご紹介します。

アメリカには古本屋さんも一応あるのですが、みんなが積極的に売買しているわけでもなくって、読んだら地下や物置にしまいっぱなし、ってことが多いような気がします。

スペースが広いからそれが可能というのはいいんですが、きっとゆくゆくは捨てられてしまうか古紙としてリサイクルという運命にあることがほとんど。リサイクルはもちろんいいことですが、それを行うこと自体にもエネルギーが必要ですし、すでにあるものをそのまま再利用する方が効率的なことは間違いありません。

古本だってせっかくまだ本としての価値があるのに、数回読んだだけで使われなくなってしまうなんてもったいない。そこで、BookMoochの出番です。

BookMoochのはじめかた

簡単に説明しましょう。

このサイト内では、クレジットカードの登録やペイパルアカウントなど何もいりません。本をもらうために必要なのは、

  • 物置や本棚の奥から引っ張り出してきた古本(まずは10冊)
  • 本を入れる封筒
  • 宛名書き用ペン
  • 送料(アメリカ国内ならペーパーバック1冊の場合2ドル弱)

これだけ。

入会して10冊手持ちの本を登録すると、1クレジットになるので、1冊と交換できます。さらに、あなたの本が誰かからリクエストされて、送ってあげれば1クレジットもらえます。この繰り返しでお金を使わず読みたい本が読め、いらない本は誰かに読んでもらえるというしくみ。

本の値段に関係なく、かかる費用は切手代だけです。自分の国以外から送ってもらう場合、2クレジット必要になりますが、逆に海外に送ってあげると3クレジットつくようになっています。

大半は英語の本なのですが、日本語の本他の言語の本もたくさんあります。本屋さんでも手に入りにくい国の本を必要としている人にも役に立ちそう。

この他にも図書館などに古本を寄付するという方法もありますね。でも、図書館だってみんなの古本をエンドレスに受け取るわけにはいかないし、必要としている本がもらえないということもあるはず。あげたい人と読みたい人両方が幸せになれるこういうサイトのサービスはもっと合理的だし、ネットならではだなと思います(実際、創業者のJohn Buckmanは図書館に大量の本を持って行ったものの、結局置く場所がなくて捨てられてしまったことからこのサイトを始めたとか!)。

BookMoochは著者の敵?

本の著者にとってはこんなサイトが人気になったら問題じゃないの?という声もあるかもしれませんが、私はあんまりそう思わないんですよね。自分の場合、無料で音楽が聞けるサイト(たとえばLast.fmとかPandora Radio、そしてYouTubeも)をよく使うようになって、今まで知らなかった曲を発見したり買ったりする機会が増えたし、同じようにBookMoochを眺めている間に在庫にない本が欲しくなって買うこともあります。

BookMooch自体もAmazonからの収入で成り立っているらしいし(参考:Bookmoochの裏側にあるビジネス)、こういうサイトが活発化することによって読書自体を促進することになるのではないかな?と思うんです。

その他の物々交換サイト

他にも本やCDなどをはじめとして、交換サイトはほんとにいろいろあります。サイトは英語のみですが、U-Exchangeなどは世界のどこでも参加可能のようです。

ZunafishSwitchPlanetSwaptree(以上3つはCD・DVD・ゲームもあり)、TitleTraderPaperBack SwapFrugalReader
DVD、CD、ゲームなどのメディア
Peerflix(DVDを3ドルから購入可能)、Goozex(ゲーム)
服や靴
Swango(郵送料、クレジット+小額のお金が必要)、Kizoodle(子供服など)、

「なんでも」
U-Exchange(車とかボートまであります)、SwapThing

BookMoochロゴライセンス:Creative Commons Attribution 2.5 license