先日、スパムコメント対策の話をしたばかりで、Akismetのかゆいところに手が届かない話をしましたが、今日リリースされたばかりの**「Akismet Notifier」**というプラグインを見つけました。「Notifier」とは「通知」のことですから、気になります。
あー、なるほど。
これはコメント投稿時にAkismetによってスパム判定されたとき、コメントの投稿者に対して「スパム判定されたよ」という旨のメッセージをダイアログで出すようです。オプションもなくて非常にシンプルなプラグインです。
Gettextによる翻訳に対応していて、翻訳データ(.poファイルや.moファイル)はスペイン語だけ入ってますね。日本語欲しいですね。作りましょうか。
翻訳データの作成
翻訳データは.poがテキストファイルで、これをパフォーマンスのためにバイナリ化したものが.moファイルです。.poファイルを編集して、.moファイルを書き出す流れになります。.poファイルの編集ツールとしては、「Poedit」が有名。日本語対応してるので、使い方はわかりやすいんじゃないかと。
詳しい使い方は割愛しますが、インストールしたら、[ファイル]→[設定]から、ソフトの設定をしておきましょう。
次に、.poファイルは既にあるスペイン語のもの(akismet-notifier/lang/akismetnotifier-es_ES.po
)を開きます。[カタログ]→[設定]より、翻訳データの設定画面を開き、「言語」項目を「日本語」に変更しておきます(「日本語(日本)」ではない)。
あとは、翻訳テキストを日本語で入れておきます。対象のテキストはダイアログで表示するメッセージひとつしかないので、気楽ですね。
翻訳対象のテキストは、
Dear reader, your comment has been classified as SPAM by our system, pending to be approved by a moderator.
なので、
読者様、あなたのコメントはモデレータに承認されるまでシステムによってスパムとして分類されます。
こんな感じにしておきました。
編集が終わったら、akismet-notifier/lang/akismetnotifier-ja.po
として別名保存しましょう。Poeditの設定で.moファイルの自動生成を有効にしていれば、同時にakismet-notifier/lang/akismetnotifier-ja.mo
ができるはずです。
ちなみに。日本語のロケール的にはja_JPを利用したいんですが、どうも上の記事によるとjaの方がいいらしいので、ファイル名はjaを採用していますし、言語指定も「日本語」にしています。「日本語(日本)」だとja_JPになります。
上の翻訳でいいのなら、ここにデータ置いておくんでどうぞ使ってください。
日本語化
用意したakismetnotifier-ja.po
とakismetnotifier-ja.mo
をサーバにアップロードします。wp-content/plugins/akismet-notifier/lang
下に配置すればいいです。これでWordPressが日本語設定のときに、日本語化されるはず・・・。
「はず」っていうのは確認してないからで。
確認したいんですけど、そのためにはどうやってスパム判定させればいいんですかね。匿名でURLだけの内容を書き込んでみたけど、通っちゃいました。オイ。Akismetは専用サーバでスパム判定してるみたいなので、どういうロジックで動いてるのか確認できないんですよね。このプラグインの作者さんはどうやって開発してたんだろう?
多分、ちゃんと動いてくれるでしょう(‘3‘)