WPML

ほぼすべての多言語サイトには、翻訳されていないコンテンツがいくつか存在します。翻訳されていないコンテンツは他の言語で表示されないため、これはWPMLを使用する上で常に問題となっていました。これについて何か対策ができるか見ていきましょう。

WPMLは言語間を厳密に分離しています。すべての投稿やページはデータベース内で一意であり、その言語のコンテンツのみが含まれます。

言語を切り替えると、WPMLはその言語のコンテンツのみを表示します。

これは、サイトのナビゲーションには現在の言語のページ、カテゴリー、および投稿のみが表示されることを意味します。別の言語のコンテンツに切り替えると、言語が切り替わり、その言語のナビゲーションが表示されます。他のリンクをクリックすると、その別の言語のコンテンツに移動します。

コンテンツとナビゲーションで異なる言語を使用する際の問題点


コンテンツはある言語で表示しつつ、ナビゲーションは別の言語のままにする機能を求める声が寄せられています。しかし、これは非常に問題が多く、実現する方法は見つかっていません。

これを実現するには、無数の場所にフックを追加し、WordPressに実際とは異なるページにいると認識させる必要があります。これにより、膨大な量のコードが追加され、データベースクエリの数が大幅に増加してしまいます。

代替案:未翻訳コンテンツの自動複製


コンテンツとナビゲーションを別々の言語で表示することはできませんが、コンテンツをすべての言語に複製することは確実に可能です。私たちが検討しているのは以下の点です。

  • 翻訳ダッシュボード画面に、コンテンツを複製するための新しいボタンが追加されます。単なる「翻訳に送信」だけでなく、「コンテンツを複製」も選択できるようになります。これにより、翻訳ダッシュボードの強力なフィルター機能を使用して、複製するコンテンツを選択できます。

  • コンテンツを複製すると、WPMLは複製された投稿やページのリンクを自動的に調整します。これにより、インラインリンクは現在の言語を維持します。

  • WPMLは、複製されたコンテンツと翻訳されたコンテンツを区別して表示します。これにより、複製したコンテンツを後で翻訳することにした場合でも、それを見つけて翻訳に送信できます。

また、新規または更新されたコンテンツを自動的に複製するようにWPMLに指示する方法も追加する予定です。これにより、何かを作成または変更するたびに翻訳ダッシュボードを確認する手間が省けます。

メリット

パフォーマンスへの悪影響がない – この操作はすべてWordPress管理画面で一度だけ実行され、訪問者がサイトにアクセスするたびに実行されるわけではありません。私にとって、これが最大のメリットです。

確実に機能する – この変更には追加のフィルターやフックは必要なく、将来のWordPressの変更にも影響されません。また、テーマとの互換性も良好です。

選択可能である – どのコンテンツをいつ複製するかを自分で決定できます。

デメリット

完全な自動化ソリューションではない – WPMLに一度指示すればあとは勝手に実行される、という意味での完全な自動化ではありません。

複製されたコンテンツがデータベースに残る – これによりデータベースのサイズが大きくなります(ただし、思っているほど深刻ではありません)。WordPressのリビジョンシステムはこれよりもはるかに多くのメモリを消費しますが、それも大きな問題にはなっていません。

皆さんのご意見


これはかなり大規模な作業であり、私たちはこれまで躊躇していました。しかし、開発者の数が増えた現在、より大きな課題に取り組むことができます。

この作業に取り掛かる前に、皆さんがどう考えているかを確認し、私たちが何か見落としていないか確かめたいと思います。ぜひコメントを残してください!

この記事が役に立ちましたか?この記事を共有: