.このガイドは多言語のWordPressテーマの作成方法を説明します。 多言語のテーマはGetText 呼び出しで全テキストを取り囲み、.moファイルを提供するだけではありません。 テーマのテキストをローカライズ(現地語化)することは大きなステップですが、他にもすることがあります。

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

以下がその実施項目です。

  1. 他言語をローカライズする。
  2. ユーザーに一言語から他言語にスイッチさせる。
  3. テーマ内のリンクを調整し、他言語に正しく向かうようにする(例、ホームページ)。
  4. 外部リンクを調整する。

テーマを翻訳のために準備する。

テーマが他言語を表示するようにするためには、テキストが表示される前に翻訳されなくてはなりません。 WordPressはこのためにGetTextを使用します。あなたのテーマもこれを使用するべきです。

以前私どもはWordPressテーマをローカライズすることについての記事を書きました。この記事はテーマのテキストをいかにGetText 呼び出しで取り囲み、翻訳を作成し、(.moファイル)、テーマに適用するか説明しています。

言語間でのスイッチ

言語スイッチャーはビジターにどの言語が利用できるか示し、言語を選択させます。

言語スイッチャーにはいろいろなフォーマットがあります。 人によっては言語名が書かれたコンパクトなドロップダウンメニューを好む方もいます。 ある人は国旗を表示し、また他の人は並行または垂直の言語リストを表示します。

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

ユーザーは自分の言語スイッチャーをカスタマイズして、テーマのいろいろな所へ挿入できます。 カスタム言語スイッチャーのマニュアルページが作成方法を説明し、よく使用される例を提供します。

ホームページリンク

ホームページリンクはあなたのサイトの独自のリンクです。 このページはURLは提供されますが、ページ名は提供されない唯一のページです。

あなたがhttp://example.com/へ行く時、あなたは実際には example.com ドメインの「/」ページに行きます。WordPress は自動的にhttp://example.comから http://example.com/ へリダイレクトします。

なぜこんな説明しているかというと、ホームページリンクの正しい作成に重要だからです。 通常、WordPressはホームページリンクの作成には以下のステートメントを使用します。

<a href="<?php echo get_option('home'); ?>/"

これにより(the get_options(‘home’) call)サイトのURLを取り、最後に「/」を付け加えます。

多言語のサイトを運営している場合、この方法は使用できません。 初期設定の言語はいまだに http://example.com, 内にありますが、その他の言語は違うURLにあるかもしれません。 WPMLは正しいホームページの場所に戻る機能を提供します。

<a href="<?php echo icl_get_home_url() ?>"

これをホームページへ案内するハードコード化されたリンクがある全ての場所に使用すべきです。

リンクの調整

多くのテーマがページやカテゴリーやタグへのハードコード化されたリンクを含んでいます。

WPMLはページ、投稿文、タグ、カテゴリーをリンクし、リンクテキストとURLの両方を正しい言語で読ませる機能を含んでいます。

あなたのテーマがハードコード化されたリンクを含む場合、これらをWPMLの 多言語リンク自動調整に取り替えてください。

相対リンクを避ける

リンクによってはテーマに直接置かれたスタイルシート、画像、Javascript、その他のファイルへの相対リンクを持つものもあります。 多言語サイトを運営する場合、これは問題を起こす可能性があります。

違う言語のコンテンツのほとんどが違うURLに存在します。 相対リンクを使うと、下手すると存在するはずのファイルが無くなることがあります。

テーマ内の他のページには常に絶対リンクを使用するよう計算すべきです。 WordPressはあなたのテーマに完全なURLを提供します。 例えば、あなたがテーマのディレクトリにあるfaviconにリンクする必要があるとします。以下を使用してください。

<link rel="shortcut icon" href="<?php bloginfo('template_url'); ?>/favicon.ico" />

上記はURLの構造に関わらずfaviconに絶対URLを作成します。