WordPress管理画面一部英語化の不具合を修正する対処方法


WordPress Lab / Translation Issue

WordPress管理画面の一部英語化に対する安全寄りの切り分けと対応方針

WordPress管理画面で「Add Page」「Add Plugin」「Collapse menu」などの文言だけが英語表示になるケースでは、翻訳ファイルの不整合が原因である可能性があります。 ただし、本番環境で翻訳ファイルを一括更新する場合は影響範囲が広くなるため、状況に応じて対応範囲を慎重に判断する必要があります。

対象:WordPress管理画面 論点:日本語翻訳ファイル 方針:最小影響での補正

発生していた症状

今回確認された症状は、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.moja.poja.l10n.php の3ファイルが主な対象と考えられました。 しかし、管理画面の英語表示が残る場合は、WordPress共通翻訳だけでなく、管理画面専用の翻訳ファイルも関係している可能性が高くなります。

当初確認対象としていたファイル
  • /wp-content/languages/ja.mo
  • /wp-content/languages/ja.po
  • /wp-content/languages/ja.l10n.php

ただし、この3ファイルだけでは不完全でした。 管理画面側の文言には admin-ja.* 系の翻訳ファイルが関係するため、より正確には以下の6ファイルをセットで確認する必要があります。

管理画面の英語化で優先確認すべき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.* 系ファイルを必ず退避します。
STGで正常化したファイルをアップロード STGで表示確認済みの翻訳ファイルを、本番の同一パスへ反映します。
管理画面の表示を確認 「Add Page」「Add Plugin」「Collapse menu」など、問題が出ていた文言が日本語化されているか確認します。
代表ページのフロント確認 翻訳ファイルの影響を考慮し、トップページ、下層ページ、投稿ページなど代表的な画面を確認します。
問題があれば即時復旧 想定外の表示崩れや文言変更があった場合は、バックアップしたファイルへ戻します。
重要な判断ポイント

/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/ 内の翻訳ファイル不整合である可能性が高いため、将来的には翻訳ファイルの整合性確認と正式修復を行うのが望ましいです。

本番反映後の確認項目

管理画面限定の補正を行う場合でも、反映後の確認は必要です。 ただし、翻訳ファイル全体を差し替える場合に比べると、確認対象はかなり絞り込めます。

最低限確認したい画面
  1. 管理画面左メニュー
  2. 固定ページ > 新規追加
  3. 投稿 > 新規追加
  4. プラグイン > 新規追加
  5. ユーザー > 新規追加
  6. 外観 > テーマ追加
  7. メディア追加関連の表示
  8. 左メニュー下部の「Collapse menu」表示

併せて、管理画面以外のフロント表示に影響が出ていないか、トップページや主要下層ページを代表的に確認しておくと安心です。

まとめ

今回のようにWordPress管理画面の一部だけが英語化する場合、原因は /wp-content/languages/ 内の日本語翻訳ファイル不整合である可能性が高いです。 特に、通常の ja.* 系だけではなく、管理画面専用の admin-ja.* 系ファイルも確認対象に含める必要があります。

根本対応としては、STGで正常化した翻訳ファイルを本番へ反映する方法があります。 一方で、本番環境での影響範囲を最小化したい場合は、プラグイン追加の可否やテーマ改修の可否を踏まえ、管理画面限定の表示補正という選択肢も検討できます。

実務上は、まずSTGで原因を切り分け、本番ではバックアップと戻し手順を用意したうえで、最小範囲から反映することが安全です。 「翻訳ファイルを丸ごと再生成する」のではなく、原因に近い箇所へ絞って対応することが、リスクを抑えた運用につながります。

※本記事のコードは一例です。実際の反映時は、使用中テーマ、WordPress本体バージョン、権限設計、運用ルールに合わせて検証してください。


AILPENGINE。自動進化型AI-LP。公開後も、成果に合わせて進化する! 行動計測、分析、構成改善、成果最大化。自前計測、CTA位置最適化、レポート可視化。LP改善を相談する(相談無料)。

日本ドラフトのAIチャットボットで問い合わせ対応を効率化・自動化!24時間365日対応、簡単設定、マルチプラットフォーム対応で人件費・工数を削減。今すぐ無料で相談する

※当社は、当サイトに掲載する情報について、正確性・完全性・有用性その他一切の事項を保証するものではありません。
また、当サイトの情報をご利用いただいたことにより生じた損害、ならびに当サイトからリンクまたはバナー等を通じて移動した外部サイトにおいて提供される情報・サービス等により生じた損害について、当社は一切の責任を負いかねます。