サポート » プラグイン » wordpress4以降の管理画面、「サイトの言語」との連動について

  • 解決済 suzuyan

    (@suzuyan)


    オフィシャルから誘導していただき、こちらに記載させていただきます。

    WordPress4.0(WP4)以降の管理画面に、「サイトの言語」なる設定が追加されましたが、こちらの設定と、Bogo(https://wordpress.org/plugins/bogo/)の動作が連動していないのではないかと思われます。
    こちらなにか情報がありましたらご教授いただけますと助かります。

    再現手順
    1.Bogoのインストールされていない状態で、管理画面の「設定」>「一般」>「サイトの言語」を切り替えると、システムの言語が切り替わります。
    具体的には、例えば、「英語」にすると、管理画面の左メニューを含めて全て英語表記に切り替わります。

    2.Bogoをインストールした状態で、管理画面におけるBogoの言語切り替えプルダウン(ヘッダーに表示されるもの)を「英語」にすると、管理画面の左メニューを含めて全て英語表記に切り替わります。ただなぜか英語に切り替わらないプラグインも存在します(「MTS Simple Booking」等)
    またこの際、「サイトの言語」の設定は「日本語」のまま(正確には設定が変わらない状態)となります

    3.「2.」の状態の時、「サイトの言語」の設定を日本語→英語、に変更すると、Bogoの切り替えに追随しなかったプラグインも切り替わりました。

    「3.」のプラグインの表記は、フロントページ(管理画面ではない通常のサイト部分)での表示も、Bogoの切り替えスイッチャー(通常サイト部分にショートコードで表示させるものです)に反応せず、「サイトの言語」の切り替えには反応しました。

    上記の事を前提に、Bogoの切り替えスイッチャーでも、反応しないプラグインの言語を切り替えたいと考えています。

    以下のURLのページに対策が書いてありましたが、Bogoのコードを拝見したところ、すでに対策は行ってあるように見受けられました。
    http://designhack.slashlab.net/how-to-make-multilingual-wordpress-site-with-bogo-plugin/

    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 suzuyan

    (@suzuyan)

    補足となります。

    上記「2.」で、Bogoをインストールした状態で、管理画面におけるBogoの言語切り替えプルダウンを「日本語」にした状態で、「サイトの言語」を「英語」にした場合、管理画面の表示は英語に切り替わりません(左メニューを含めて日本語表記のまま)
    ただし、「サイトの言語」に追随するプラグインの表記のみ、英語に変わります。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    まず、管理画面の「設定」>「一般」>「サイトの言語」の設定値である言語と、管理画面ログイン時に上部のアドミンバーで切り替えられる言語はまったくの別物です。連動はしません。

    「サイトの言語」の設定は、そのサイトのデフォルトの言語を設定するもので、wp-config.php の WPLANG 定数で以前は指定されていたものと同等です。Bogo が有効化されていない場合はこの設定が有効なロケール設定として機能します。

    アドミンバーに表示される言語切り替えは Bogo 独自のもので、こちらはログインしているユーザー個別の言語設定です(つまりあなたがここで言語を切り替えたとしてもそのサイトの他のユーザーの言語には影響しません)。Bogo 有効化時、管理画面のロケール設定にはこちらが優先されます。

    MTS Simple Booking 等が Bogo のロケール設定に追随しない理由はわかりません。WordPress 公式のプラグインディレクトリから配布されているものでもないようなので、すみませんがこれ以上の調査はできません。

    トピック投稿者 suzuyan

    (@suzuyan)

    ご回答ありがとうございます。>Takayuki Miyoshi様

    ご説明により、Bogoの「アドミンバーで切り替えられる言語」と「サイトの言語」が違うものを切り替えていることが理解出来ました。

    「アドミンバーで切り替えられる言語」>ユーザー個別の言語設定
    「サイトの言語」>サイトのデフォルトの言語

    この場合、追随しないプラグイン側の多言語化方法に問題がある(つまり今回の場合は”ユーザー個別の言語設定”を考慮しない、できない方法)と考え、調査致しました。

    この方法が問題の全てに当てはまるとは考えにくいですが、今回のケース(MTS Simple Booking )では以下のとおりです。

    このプラグインでは独自の方法でpoファイルを読み込んでいるようでしたので、これを「plugins_loaded」をadd_actionさせ、「load_plugin_textdomain()」を実行させると、うまく切り替わるようになりました。

    add_action( ‘plugins_loaded’, My_load_plugin_textdomain);

    みたいな感じとなります。

    力技での修正で、理解が追いついていませんが、ご参考までに記載します。

    トピック投稿者 suzuyan

    (@suzuyan)

    こちら解決済とさせていただきます

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「wordpress4以降の管理画面、「サイトの言語」との連動について」には新たに返信することはできません。