ナビゲーションをスキップする
更新済み
6月 7, 2024
この記事は古い。 テーマとプラグインのWPML互換性の達成をご参照ください。

このガイドでは、多言語のWordPressテーマを作成する方法を紹介します。多言語テーマは、単にすべてのテキストをGetTextコールでラップし、.moファイルを提供するだけではありません。テーマのテキストをローカライズすることは一つの大きなステップですが、他にもやらなければならないことがあります。

多言語サイト用のテーマは、利用可能な言語を表示し、どの言語で表示するかを選択でき、各言語で正しく表示する必要がある。

これらが必要なことだ:

  1. さまざまな言語に対応したローカライゼーションの提供
  2. ユーザーが1つの言語から他の言語に切り替えられるようにする。
  3. 言語ごとに適切なコンテンツを返す
  4. WPMLに翻訳が必要なものを伝える

翻訳可能なテーマの準備

テーマを異なる言語で表示するためには、テキストを表示する前に翻訳を通過させる必要がある。 WordPressはこのためにGetTextを使用し、あなたのテーマもそうすべきである。

WordPressテーマのローカライズについて投稿しました。 テーマのテキストをGetText呼び出しでラップし、翻訳(.moファイル)を作成し、テーマに適用する方法を説明します。

異なる言語の切り替え

言語スイッチャーにより、利用可能な言語が表示され、選択することができる。

言語スイッチャーにはさまざまなフォームがある。 コンパクトな言語名のドロップダウンメニューを好む人もいる。 また、国旗を表示するものや、横書きまたは縦書きの言語リストを表示するものもある。

WPMLは言語スイッチャーを簡単に実装できます。 ウィジェットとして組み込むこともできる独自のドロップダウン言語スイッチャーが組み込まれています。 この言語スイッチャーは、国旗、言語名とその翻訳を表示することができます。 WPML->Languages メニューから設定できます。

また、独自のカスタム言語スイッチャーを作成し、テーマ内のさまざまな場所に挿入することもできます。 カスタム言語スイッチャーのマニュアルページでは、作成方法と一般的な使用例を説明しています。 あなたのテーマにカスタム言語スイッチャーを追加することで、華やかさとエレガントさが加わり、テーマが多言語サイト向けであることが顧客に一目瞭然となります。

適切な言語でコンテンツを提供する

多くのテーマには、ページ、カテゴリー、タグへのリンクがハードコードされています。

WPMLはWordPressの標準API関数をフックし、言語ごとにフィルターをかけます。

例えば、電話をするとき:

$args = array( 'category' => 1 );
$myposts = get_posts( $args );

カテゴリー「1」が英語のカテゴリーで、スペイン語への翻訳がカテゴリー「4」だとする。 スペイン語のページを表示してこのコードを実行すると、WPMLはフィルター内のカテゴリー番号を “4 “に置き換えます。

そのためには、WordPressのAPIコールだけを使用し、手動でデータベースへの問い合わせを行わないようにしなければなりません(これはそれ自体悪い習慣です)。

この機能はWPML-> Languages でコントロールできます。 IDを自動的に調整するオプションを探す。

WPMLに翻訳が必要なものを伝える

WPMLは言語設定ファイルを読み込むことができます。 このファイルは、あなたのテーマについて知る必要のあるすべてを伝える。

これには、管理テキスト、カスタムフィールド、カスタムタイプが含まれます。

一度このXMLファイルを作成すれば、WPMLは自動的に設定され、ユーザーは設定画面をクリックすることなく多言語サイトを運営することができます。