WordPressのユーザーインターフェース翻訳(POT,PO,MO)

WordPressの翻訳を修正するときにある程度の知識があると便利なのでまとめてみました。

 

まずは、どんな翻訳システムをWordPressでは利用しているのか?

 

WordPressのユーザーインターフェース翻訳はGUNのgettext翻訳システムを採用している。

このGUNのgettext翻訳システムは複数タイプのファイル(POT、PO、MO)がある。languageファイルを覗くと「PO」「MO」のファイルが入っているかと思います。

 

POT

テキストファイル。基本言語(英語)の文言が入っているが翻訳は空白。

 

PO

テキストファイル。1つの言語に1つのPOファイルが作成される。

 

MO

バイナリファイル。POファイルからコンパイルして生成されたファイル

 

これらのファイルを操作するにはPoeditが必要。

 

作成手順

PoeditでPOTを元に新しいカタログを作成します。

カタログの設定でjaに設定します。

 

あとは、翻訳を作り、保存し、「wp-content/languages/plugins/」にアップロードすれば反映されます。

 

作成するあたって保存するファイル名は重要です。

例えば「<?php _e( ‘ソーステキスト’, ‘ドメイン’ ); ?>」とプログラム本体に記述されています。

この場合にファイル名は「ドメイン-ja」にしないと作成した翻訳ファイルを認識して翻訳してもらえません。

もし、翻訳が適用されないと思ったときにはチェックしてみるとよいかと思います。

 

ホームページ作成しているときに翻訳調整することがあると思いますので知っていると便利です。

WordPressでユーザー情報を変更したときにメール送信されるのを止める方法

WordPressのユーザー情報を変更したときに自動的にメール送信されるのを止めたい!

そんなときは、FUNCTION.PHPに「Filter」を掛けると対応できる。

// 「ユーザー登録時」に「管理メールアドレス宛」のメール送信停止する
add_filter( 'wp_new_user_notification_email_admin', '__return_false' );

// 「ユーザー登録時」に「登録ユーザー宛」にメール送信停止する
add_filter( 'wp_new_user_notification_email', '__return_false' );

// 「メールアドレス変更時」にメール送信停止する
add_filter( 'send_email_change_email', '__return_false' );

// 「パスワード変更時」のメール送信停止する
add_filter( 'send_password_change_email', '__return_false' );

// 「パスワードリセット時」のメール送信停止する
add_filter( 'wp_password_change_notification_email', '__return_false' );

 

とりあえず、function.phpにfilterを記述して動作するか確認しましょう。