プラグインの多言語対応にl10n_xx.yamlを使う

最近気づいたことですが、Movable Type 5では、プラグインを多言語対応にする際に、翻訳用の辞書をyamlで書くことができます。

Movable Type 4.xまででは、プラグインを多言語対応にする場合、翻訳用の辞書はPerlのモジュール(L10N/ja.pmなど)で作っていました。
モジュールの中に、翻訳元と翻訳先の対応をハッシュで記述する形です。

一方、Movable Type 5で、テーマの機能が追加されました。
テーマを多言語化対応にする際には、従来のPerlのモジュールを使うこともできますが、yaml形式で書くこともできます。
Perlのモジュールよりも、yamlの方が書き方がシンプルで、作業が若干楽になります。

Melody用テーマの移植の作業中に、Movable Typeのテーマ関係のソースを見ていたところ、「Movable Type 5では、テーマだけでなく、プラグインでもl10n_xx.yamlが使えるのでは?」ということに気付きました。
実際試してみると、特に問題なくl10n_xx.yamlを使うことができました。

l10n_xx.yamlで多言語対応を行う手順は、L10N/ja.pm等のPerlのモジュールを使う場合とほぼ同じです。
プラグインのソースの中で、多言語対応にしたい部分は、translateメソッドを使って翻訳を行います。
また、管理画面のテンプレート等の中で多言語対応にしたい部分は、<__trans phrase="○○○">の書き方を使います。
そして、プラグインのconfig.yamlに「l10n_lexicon」のキーを作り、その値として、各言語用の辞書ファイルの名前を書きます。
辞書ファイルは、config.yamlと同じディレクトリに入れます。

例えば、「Foo」という名前のプラグインを作り、日本語用の辞書として「l10n_ja.yaml」を使いたいとします。
この場合、config.yamlファイルの先頭部分を以下のように書きます。

name: Foo
id: Foo
・・・
l10n_lexicon:
    ja: l10n_ja.yaml
・・・