■多言語対応(Bogo)
※Bogoよりも、上に記載した Multisite Language Switcher の方がいいかも
Bogoでの対応例
見かけのURLは、言語ごとのディレクトリに分割される
別のプラグインを使ったり、別々にWordPressを設置したり、マルチサイトを活用したり、など他にも色々な方法が考えられる
Bogoを使ってWordpressを多言語化 - 株式会社クオックス|QOX Inc.
https://qox.jp/blog/bogo-wordpress/
■導入
Bogo - WordPress プラグイン
https://ja.wordpress.org/plugins/bogo/
プラグインを導入して有効化する
管理画面メニューの「ツール」に「Bogo」が追加され…るらしいが昔のバージョンの話?
代わりに、管理画面メニューに「Languages」が追加された
「更新」にBogoの言語ファイルが現れた。更新するとメニューが「言語」になり、内容も翻訳された
インストールが完了すると、管理画面の右上に言語切替のメニューが表示される
普通に日本語で記事を投稿する
投稿後に「翻訳を追加」から追加すると、その記事に紐付いた投稿が作成される
タイトルをクリックすると、その記事の編集画面に移動するので、翻訳した内容に編集する
http://localhost/wordpress/ で日本語の記事が表示され、
http://localhost/wordpress/en/ で英語の記事が表示される
記事内に言語切替リンクを組み込みたい場合、本文に「[bogo]」と書けば置換される
■カテゴリ
Bogoを使ってWordpressを多言語化 - 株式会社クオックス|QOX Inc.
https://qox.jp/blog/bogo-wordpress/
カテゴリは言語ごとにトップのカテゴリを作成し、その配下にそれぞれ作成するのが無難かも
■テーマ内で言語によって処理を分岐
Bogoを使ってWordpressを多言語化 - 株式会社クオックス|QOX Inc.
https://qox.jp/blog/bogo-wordpress/
<?php if ( get_locale() == 'en_US' ) : ?>
en
<?php else : ?>
ja
<?php endif ?>
■カスタム投稿タイプに対応
標準では、通常の投稿と固定ページにのみ対応している
以下の方法で、カスタム投稿タイプにも対応できる
WordPress Bogo をカスタム投稿タイプでも使う - Qiita
https://qiita.com/gatespace/items/75e70f5ae162c2962dcc
/**
* Support custom post type with bogo.
*
* @param array $localizable Supported post types.
* @return array
*/
function my_localizable_post_types( $localizable ) {
$args = array(
'public' => true,
'_builtin' => false
);
$custom_post_types = get_post_types( $args );
return array_merge( $localizable, $custom_post_types );
}
add_filter( 'bogo_localizable_post_types', 'my_localizable_post_types', 10, 1 );
■サブドメインでの言語切替に対応
英語版は「/en/」に作られるなど、言語はサブディレクトリで切り分けられる
サブドメインでの切り分けに対応できるか
要調査だが難しそう