今回はアップデートがかかっても変更内容が消えないようにWordPressの翻訳ファイルを編集する方法を紹介します。
方法
- 1. 子テーマのfunctions.phpにフィルターフックを設置する
add_filter( 'load_textdomain_mofile', 'add_load_text_mofile', 99999, 2);
function add_load_text_mofile( $mofile, $domain ) {
$locale = get_locale();
$domain = 'my-woocommerce'; // 任意のものを設定してください
$myfile = get_stylesheet_directory() . '/languages/'. $domain .'-'. $locale . '.mo';
if ( is_file( $myfile ) && 'ja' == $locale ) $mofile = $myfile;
return $mofile;
}
- 2. 翻訳したい元のpoファイルをコピーして、コピーしたものを編集する
翻訳ファイルには.poファイルと.moファイルの2種類があり、.poファイルは編集用で.moファイルは読み込み用として使用されています。
.poファイルを編集するためにpoeditというアプリを使用します。※無料で使用可能です。
ダウンロード:https://poedit.net/download
編集したい.poファイルをpoeditで開くと下記のような画面になります。
↑画像赤枠のところで翻訳を編集し、「MOにコンパイル」をします。
そうすることで、.moファイルができます。
- 3. 子テーマ内に「languages」フォルダを作成し、2で作成した.poファイルと.moファイルを設置する
ディレクトリ構造は下記のようになります。
wp-content
│
└──themes
│
└──childtheme(子テーマの名前)
│
└──languages
│
├── ja.po (作成した翻訳ファイル)
└── ja.mo (作成した翻訳ファイル)
こちらでテーマやプラグインにアップデートがかかっても、子テーマの翻訳ファイルが読み込まれるため編集した翻訳が消えずに済みます!
Webエンジニアとして勤務。
観劇と音楽が趣味です。
最近のコメント