WordPress管理画面の一部英語化に対する安全寄りの切り分けと対応方針
WordPress管理画面で「Add Page」「Add Plugin」「Collapse menu」などの文言だけが英語表示になるケースでは、翻訳ファイルの不整合が原因である可能性があります。 ただし、本番環境で翻訳ファイルを一括更新する場合は影響範囲が広くなるため、状況に応じて対応範囲を慎重に判断する必要があります。
発生していた症状
今回確認された症状は、WordPressの管理画面全体が完全に英語化しているわけではなく、一部の管理画面文言だけが英語で表示されるというものでした。 具体的には、固定ページ、投稿、プラグイン、ユーザー、テーマ、メディア関連の操作ラベルや、左メニュー下部の折りたたみボタンなどが対象です。
- Add Page
- Add Post
- Add Plugin
- Add User
- Add Theme
- Add Media File
- Add New
- Collapse menu
このような症状では、WordPress本体の言語設定だけを確認しても原因が特定できない場合があります。 サイトの表示言語は日本語になっていても、内部で読み込まれる翻訳ファイルの内容が現在のWordPress本体バージョンと一致していない場合、一部の文字列だけが翻訳されず、英語のまま残ることがあります。
原因として考えられる翻訳ファイルの不整合
WordPressの日本語表示は、/wp-content/languages/ 配下にある翻訳ファイルによって制御されています。
当初は ja.mo、ja.po、ja.l10n.php の3ファイルが主な対象と考えられました。
しかし、管理画面の英語表示が残る場合は、WordPress共通翻訳だけでなく、管理画面専用の翻訳ファイルも関係している可能性が高くなります。
- /wp-content/languages/ja.mo
- /wp-content/languages/ja.po
- /wp-content/languages/ja.l10n.php
ただし、この3ファイルだけでは不完全でした。
管理画面側の文言には admin-ja.* 系の翻訳ファイルが関係するため、より正確には以下の6ファイルをセットで確認する必要があります。
- /wp-content/languages/ja.mo
- /wp-content/languages/ja.po
- /wp-content/languages/ja.l10n.php
- /wp-content/languages/admin-ja.mo
- /wp-content/languages/admin-ja.po
- /wp-content/languages/admin-ja.l10n.php
また、マルチサイト環境の場合は admin-network-ja.* 系のファイルも候補に入ります。
ただし通常の単一サイトであれば、まずは ja.* と admin-ja.* の整合性確認を優先するのが現実的です。
本番環境で翻訳ファイルを差し替える場合の注意点
STG環境で正常化した翻訳ファイルを本番へ反映する場合、最小作業としては対象ファイルをバックアップしたうえで差し替える流れになります。 ただし、翻訳ファイルはWordPress本体の広い範囲に影響するため、管理画面の一部文言だけを直したい場合でも、確認範囲は一定以上必要になります。
ja.* および admin-ja.* 系ファイルを必ず退避します。
/wp-content/languages/ フォルダを丸ごと再生成する必要はありません。
まずは原因に関係する可能性が高いファイルに絞って差し替えるほうが、安全寄りの対応になります。
プラグイン追加が禁止されている場合の代替案
管理画面の一部文言だけを補正したい場合、MUプラグインで管理画面限定の表示補正を行う方法もあります。 しかし、今回の前提ではプラグイン追加が禁止されているため、この方法は採用できません。
その場合、翻訳ファイルを直接触らずにピンポイント補正する現実的な選択肢としては、既存テーマの functions.php に管理画面限定の補正処理を追加する方法があります。
これはプラグイン追加ではありませんが、テーマ改修に該当するため、運用ルール上許可されている場合のみ採用できます。
| 対応方法 | 影響範囲 | 特徴 |
|---|---|---|
| 翻訳ファイル差し替え | WordPress本体の翻訳全体 | 根本修復に近いが、確認範囲が広くなる |
| MUプラグイン補正 | 管理画面の指定文言のみ | 影響範囲は狭いが、プラグイン追加禁止の場合は不可 |
| functions.php補正 | 管理画面の指定文言のみ | テーマ改修が許可される場合のみ有効 |
functions.phpで管理画面だけ補正するコード例
以下は、管理画面内で指定した英語文言だけを日本語へ置換するサンプルです。
is_admin() で管理画面に限定しているため、フロント側のページ本文やテーマ表示には影響しにくい構成です。
ただし、本番反映前には必ずSTG環境で検証してください。
/**
* 管理画面の一部英語表記をピンポイントで日本語へ補正
*/
add_action('admin_menu', function () {
global $menu, $submenu;
$label_map = array(
'Add Page' => '新規固定ページを追加',
'Add Post' => '新規投稿を追加',
'Add Plugin' => '新規プラグインを追加',
'Add User' => '新規ユーザーを追加',
'Add Theme' => '新規テーマを追加',
'Add Media File' => 'メディアファイルを追加',
'Add New' => '新規追加',
'Collapse menu' => 'メニューを閉じる',
);
if (is_array($menu)) {
foreach ($menu as $menu_key => $menu_item) {
if (isset($menu_item[0])) {
$plain_label = wp_strip_all_tags($menu_item[0]);
if (isset($label_map[$plain_label])) {
$menu[$menu_key][0] = $label_map[$plain_label];
}
}
}
}
if (is_array($submenu)) {
foreach ($submenu as $parent_slug => $submenu_items) {
if (!is_array($submenu_items)) {
continue;
}
foreach ($submenu_items as $submenu_key => $submenu_item) {
if (isset($submenu_item[0])) {
$plain_label = wp_strip_all_tags($submenu_item[0]);
if (isset($label_map[$plain_label])) {
$submenu[$parent_slug][$submenu_key][0] = $label_map[$plain_label];
}
}
}
}
}
}, 9999);
add_filter('gettext', function ($translated_text, $text, $domain) {
if (!is_admin()) {
return $translated_text;
}
$text_map = array(
'Add Page' => '新規固定ページを追加',
'Add Post' => '新規投稿を追加',
'Add Plugin' => '新規プラグインを追加',
'Add User' => '新規ユーザーを追加',
'Add Theme' => '新規テーマを追加',
'Add Media File' => 'メディアファイルを追加',
'Add New' => '新規追加',
'Collapse menu' => 'メニューを閉じる',
);
if (isset($text_map[$text])) {
return $text_map[$text];
}
return $translated_text;
}, 20, 3);
この方法は、翻訳ファイルそのものを修復するものではありません。
あくまで管理画面上に出ている一部の英語文言を、表示上ピンポイントで補正するための暫定対応です。
根本原因は /wp-content/languages/ 内の翻訳ファイル不整合である可能性が高いため、将来的には翻訳ファイルの整合性確認と正式修復を行うのが望ましいです。
本番反映後の確認項目
管理画面限定の補正を行う場合でも、反映後の確認は必要です。 ただし、翻訳ファイル全体を差し替える場合に比べると、確認対象はかなり絞り込めます。
- 管理画面左メニュー
- 固定ページ > 新規追加
- 投稿 > 新規追加
- プラグイン > 新規追加
- ユーザー > 新規追加
- 外観 > テーマ追加
- メディア追加関連の表示
- 左メニュー下部の「Collapse menu」表示
併せて、管理画面以外のフロント表示に影響が出ていないか、トップページや主要下層ページを代表的に確認しておくと安心です。
まとめ
今回のようにWordPress管理画面の一部だけが英語化する場合、原因は /wp-content/languages/ 内の日本語翻訳ファイル不整合である可能性が高いです。
特に、通常の ja.* 系だけではなく、管理画面専用の admin-ja.* 系ファイルも確認対象に含める必要があります。
根本対応としては、STGで正常化した翻訳ファイルを本番へ反映する方法があります。 一方で、本番環境での影響範囲を最小化したい場合は、プラグイン追加の可否やテーマ改修の可否を踏まえ、管理画面限定の表示補正という選択肢も検討できます。
実務上は、まずSTGで原因を切り分け、本番ではバックアップと戻し手順を用意したうえで、最小範囲から反映することが安全です。 「翻訳ファイルを丸ごと再生成する」のではなく、原因に近い箇所へ絞って対応することが、リスクを抑えた運用につながります。
※本記事のコードは一例です。実際の反映時は、使用中テーマ、WordPress本体バージョン、権限設計、運用ルールに合わせて検証してください。