多言語サイトで必要なときにだけ各言語にエントリを複製する #craftcms

Craft CMS で多言語サイトを作るときの設定は色々書いてきた。

言語ごとに独自に作成する

多言語サイトだけど、各言語にすべてのエントリがあるわけじゃない場合もある。
各言語で完全に独自に作ることもできる。

日本語と英語のサイトがある前提で、このセクションの設定にあるサイト設定で「作成したサイトにのみ保存する」を選べばそのように使える。

20210902-1950.png

この設定をすることでサイトごと(多くの場合は言語ごと)に自由にエントリを作成できる。

エントリによって利用するサイト(言語)を選択する

とりあえず日本語で作っておいて、必要に応じて英語サイトにも同じエントリを作成して、原稿を翻訳する、ということもできる。

セクションの設定にあるサイト設定で「各エントリで保存先のサイトを選択する」を選ぶ。

20210902-1950_2021-09-02-105324_nqus.png

これでエントリを作成してみる。

まずは日本語でエントリを作成する。

20210902-1953.png

英語を見てみるとエントリは出てこない。

20210902-1955.png

日本語の状態。

20210902-1955_01.png

ここで日本語のサイトで、複製先を選択してみる。

20210902-1955_02.png

英語サイトでのステータスも選択できるが、取りあえずこれで英語サイトに複製ができる。

20210902-1956.png

英語に翻訳すれば、英語だけ翻訳が適用される。

20210902-1957.png

翻訳の設定自体はフィールドの設定に関係する。

この状態で、日本語のエントリを確認してみる。

20210902-1957_01.png

タイトル、test translation のフィールドは日本語のままだけど、翻訳を許可していない test_text は英語と同じデータが入っている。

この辺の挙動は良く忘れるのでなんかちゃんと整理した方が良さそうだ。


ちなみに、日本語で見ると「他のサイトにエントリを同じ言語で保存する」だが

20210902-1950_2021-09-02-110150_spky.png

英語で見ると「Save entries to other site with the same language」

20210902-2002.png

なので、意味としては英語の方がわかりやすい。

関連記事