サイトの多言語化プラグイン Bogo利用の際の注意
2021年12月28日
2か国語対応のサイト構築の際に利用した、多言語サイト用プラグインBogoについて、色々と注意が必要だったので覚書。
プラグインの導入は特に注意することはない。
まずデフォの国旗の表示をなくしたり、EnglishのUnited Statesを消したりする設定をFunctions.phpに。
カスタム投稿を利用する場合はそれ用の設定も必要。以下functions.phpに追加↓
// Bogo 言語スイッチのEnglishの(United States)を削除 function replace_bogo_text($output){ return str_replace(' (United States)','',$output); } add_filter( 'bogo_language_switcher','replace_bogo_text'); // Bogo 国旗アイコンを削除 function bogo_use_flags_false(){ return false; } add_filter( 'bogo_use_flags','bogo_use_flags_false'); // Support custom post type with bogo. function my_localizable_post_types( $localizable ) { $localizable[] = 'your_post_type_name'; return $localizable; } add_filter( 'bogo_localizable_post_types', 'my_localizable_post_types', 10, 1 );
自作のナビゲーションには自動では対応しないので条件分岐で対応するか、Wordpressのメニューを使用する。
Wordpressのメニュー設定はfunctions.phpに設定を記述しないといけないので、どちらが良いとも言えない。
そのほか、フッター部分のリンクが指定言語にならなかったり、それぞれの言語用に設定をし直さなくてはならない箇所が多いので多用した条件分岐がが以下。
<?php $locale = get_locale(); if('zh_CN' == $locale ) { echo '展 览';} else { echo 'Exhibition';} ?>
例としては、メニューはもとよりaboutページのgoogle mapを国ごとに変更したり、ページの各見出しの変更に利用。
最もわからなかったのが、パーマリンク。/%category%/を無くすための仕様は全て使えなかった
(メイン言語ではOKでも他言語で404、子カテゴリーの問題かも)ので、プラグインは使わず、/%category%/%post_name%/のみの設定で運用。