6月 212014
 

先日、スパムコメント対策の話をしたばかりで、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.poakismetnotifier-ja.moをサーバにアップロードします。wp-content/plugins/akismet-notifier/lang下に配置すればいいです。これでWordPressが日本語設定のときに、日本語化されるはず・・・。

「はず」っていうのは確認してないからで。

確認したいんですけど、そのためにはどうやってスパム判定させればいいんですかね。匿名でURLだけの内容を書き込んでみたけど、通っちゃいました。オイ。Akismetは専用サーバでスパム判定してるみたいなので、どういうロジックで動いてるのか確認できないんですよね。このプラグインの作者さんはどうやって開発してたんだろう?

多分、ちゃんと動いてくれるでしょう(‘3‘)

コメントを残す

Top