“bogo”言語スイッチャーの設置場所とカスタマイズ

このページでは多言語化プラグイン“bogo”を使って、1つのサイト(同一ドメイン内)に日本語のサイトと英語のサイトを完全に分離させ、なおかつ投稿記事の翻訳を兼ね備えたサイトを作り、“bobo”の言語スイッチャーを見やすくカスタマイズする方法を紹介します。

なお、日本語と英語のページをカテゴリーに分けて記事群を作る方法は以下の記事を参考にしてください。

日本語と英語のサイトを完全に分離する

言語スイッチャーの設置および英語ページ作成の詳細は以下の記事を参考にしてください。

世界とつながる英語のブログ|多言語化プラグイン “bogo”
日本語のブログ記事を英語に翻訳してアップロードするためのプラグイン “bogo” の導入から設定までを詳しく解説しています。

制作するサイトの目的は、1つのサイトの中に日本語サイトと英語サイトを作り、それぞれが別のサイトであるかのように分離させます。

ホームページ(トップページ)とプロフィールなどの固定ページは、日本語ページを先に作成し、 “bogo” の機能を使って英語ページを作成します。これで、英語ページのURLには「en」が追加され https://○○.com/en/○○ となり英語の固定ページが出来上がります。

これらの固定ページには「言語スイッチャー」を設置せずに、それぞれのホームページにはグローバルメニューに設置したリンクタブで移動するようにし、ホームページ以外の固定ページは、同一言語のページのみに移動できるようにしました。

Header&Global Menu

投稿記事については“bobo”本来の使い方を利用し、記事タイトルの上に言語スイッチを配置して、日本語記事と英語記事の双方に切り替えできるようにしました。

Posted articles

言語スイッチャーのカスタマイズ

デフォルトの言語スイッチャーを以下のようにカスタマイズします。

Language switcher

【カスタマイズの内容】

  • 国旗を表示しない
  • 言語スイッチャーの表記を変更
  • 閲覧中の言語への切り替えスイッチを表示しない

国旗を表示しない

テーマの function.php に以下のコードを記述すると国旗が非表示になります。

<PHP>

//bogo 国旗アイコンを削除
add_filter( 'bogo_use_flags','bogo_use_flags_false');
function bogo_use_flags_false(){
 return false;
}

言語スイッチャーの表記を変更

英語記事に表示される「日本語 」という表記を「 Japanese」に変更します。

<PHP>function.phpに以下のコードを記述

add_filter( 'bogo_language_switcher_links', function ( $links ) {
for ( $i = 0; $i < count( $links ); $i ++ ) {
// 日本語
if ( 'ja' === $links[ $i ]['locale'] ) {
$links[ $i ]['title'] = 'Japanese';
$links[ $i ]['native_name'] = 'Japanese';
}
// 英語
if ( 'en_US' === $links[ $i ]['locale'] || 'en' === $links[ $i ]['locale'] || 'en_NZ' === $links[ $i ]['locale'] ||'en_CA' === $links[ $i ]['locale'] ||'en_GB' === $links[ $i ]['locale'] ||'en_AU' === $links[ $i ]['locale'] ) {
$links[ $i ]['title'] = ' English ';
$links[ $i ]['native_name'] = ' English ';
}
}
return $links;
} );

※ 表示文字を変えたい場合は「native_name」の文字列を変更する

閲覧中の言語への切り替えスイッチを表示しない

日本語と英語のページに表示する言語スイッチは以下の通りにします。

【日本語と英語のページに表示する言語スイッチ】
  • 日本語の記事を閲覧中に日本語への切り替えは不要なので「言語切り替え|English」にする
  • 英語の記事を閲覧中に英語への切り替えは不要なので「Language Switdher|Japanese」にする

<CSS>style.cssに以下のコードを記述します。

.bogo-language-switcher .current {
    display: none;
}

最後に

英語と日本語のページをカテゴリーに分けて整理しても、表示させる方法を決めないと煩雑なサイトになります。海外に向けて発信するのか、日本国内で英語翻訳として紹介するのか、目的によっても整理の方法が変わってきます。目的に応じて自分なりに整理してみてください。

発信する目的が違っても、英語ページに日本語が表示されるのは良くないと思っています。英語ページの完全英語化には、まだ少し手を加える必要があります。

「目次」と「パンくずリスト」の英語化については下記で紹介しています。

タイトルとURLをコピーしました