WordPress テーマをどのように翻訳するかは、必要なものによって異なります。サイト全体が英語以外の 1 つの言語で実行される場合は、次のサイトでサイト言語を切り替えます 設定 → 一般 そして、WordPressにテーマの言語パックをダウンロードさせたり、テーマを編集させたりしましょう .po/.mo Loco Translate や Poedit などのツールを使用した翻訳ファイル。訪問者に複数の言語から選択してもらいたい場合は、テーマ翻訳ファイルだけでサイト全体が 1 つの言語に切り替わるため、テーマのテキストとコンテンツを言語ごとに翻訳する多言語プラグインが必要です。
主なポイント
- テーマ文字列(ボタン、ラベル、“続きを読む”、“検索結果。..”) はテーマのコード内に存在し、テキスト ドメインを通じて翻訳されます
.po/.moファイル。 - WordPress。org ディレクトリのテーマは、サイトの言語を変更すると、translate。wordpress。org から言語パックを自動的に取得します。
- テーマの更新で上書きできないカスタム翻訳を保存します
wp-content/languages/themes/または、Loco Translate の保護されたフォルダー。 - 翻訳関数でラップされていないテキストは、によって翻訳できません
.poファイル。子テーマで修正するか、レンダリングされたページを翻訳するツールを使用します。 - 多言語サイトの場合、すべての言語に独自の URL と hreflang が必要です。A
.moファイルではそれが提供されていません。
まず、どのような “翻訳” が必要ですか?
| あなたの目標 | 何を使うか |
|---|---|
| サイト全体を 1 つの言語で表示します(たとえば、英語をテーマにしたドイツ語のみのサイト) | サイト言語設定とテーマの翻訳ファイル |
| 言語に欠けている、または間違っているいくつかのテーマフレーズを修正します | テーマの翻訳を編集するには、Loco Translate または Poedit を使用します |
| 訪問者は英語、ドイツ語、フランス語から選択します。. | テーマ文字列とコンテンツを言語ごとに翻訳する多言語プラグイン |
ほとんどの質問 “テーマをどのように翻訳するか” は実際には 3 番目のケースであるため、このガイドの後半で説明します。まず、テーマ翻訳の仕組みです。
WordPressテーマ翻訳の仕組み
翻訳対応テーマは、翻訳関数で表示されているすべての文字列をテーマの テキストドメイン、 テーマのスラッグに一致する一意のID。WordPressテーマハンドブックの例: Fabled Sunsetと呼ばれるテーマはテキストドメインを使用します fabled-sunset、 で宣言 style.css として Text Domain: fabled-sunset (WordPress 開発者 リソース).
テーマのテンプレートでは、文字列は次のようになります:
<?php esc_html_e( 'Read more', 'fabled-sunset' ); ?>
<?php echo esc_html( sprintf( __( 'Search results for: %s', 'fabled-sunset' ), get_search_query() ) ); ?>翻訳は に保存されます .po ファイル(人間が読めるもの)を作成し、コンパイルします .mo WordPress が実際に使用するファイルです。ハンドブックには、WordPress がサイトのロケールに基づいてテーマの翻訳を探す場所が 2 つ記載されています
wp-content/themes/your-theme/{domain-path}/{locale}.mowp-content/languages/themes/{textdomain}-{locale}.mo
WordPress 6。5 以降、翻訳をロードすることもできます .l10n.php ファイルは、WordPress。org 言語パックに含まれるより高速な PHP 形式です。aだけなら .mo ファイルは存在しますが、以前と同じように読み込まれます(WordPress Coreを作る).
ステップ1: テーマが翻訳対応かどうかを確認する
- テーマを開きます
style.cssそして、aを探しますText Domain:ライン。 - を探す
languagesa を含むフォルダー(または同様のもの).potテンプレートファイル。 - テンプレート ファイルをスポットチェックします。文字列は次のような関数でラップする必要があります
__(),_e(),esc_html__()またはesc_html_e()、 それぞれテキストドメインを持つ。
テーマにこれらのいずれも含まれていない場合、その文字列はハードコードされており、翻訳ファイルで翻訳することはできません。以下の “ハードコードされた文字列の修正” または多言語セクションにスキップします。
ステップ2: まず言語パックを試してみる
WordPressテーマディレクトリでホストされているテーマの場合、ハンドブックはあなたにメモします“翻訳をロードする必要はありません”: WordPressチェック wp-content/languages そして、translating WordPress プロジェクトから翻訳をダウンロードします。
- に 行く 設定 → 一般 そしてあなたを選びます サイト言語.
- に 行く ダッシュボード → アップデート そしてクリックします 翻訳を更新します プロンプトが表示された場合。
- サイトにアクセスしてください。テーマのボランティアがあなたの言語に翻訳した場合、ほとんどの文字列はすでに翻訳されています。
他の場所で購入したプレミアムテーマは通常、独自のものを発送します languages 代わりにフォルダーを作成します。テーマのドキュメントで含まれている言語を確認します。
ステップ3: 翻訳を編集または完了する
文字列が欠落している場合、または文言が気に入らない場合は、翻訳ファイルを編集してください。
オプションA: Loco Translate(WordPress内)
Loco Translate“WordPress翻訳ファイルのブラウザ内編集を提供”で、カスタム翻訳を保護された言語ディレクトリに保存できます wp-content/languages/loco/themesテーマの更新によって上書きされないようにします(WordPress。org プラグインディレクトリ).
- Loco Translate をインストールしてアクティブにします。
- に 行く ロコ翻訳 → テーマ そしてテーマを選びます。
- クリック 新しい言語言語を選択し、 カスタム (保護された)場所。
- 文字列を検索し、翻訳を入力してクリックします 保存する。Loco は をコンパイルします
.moあなたのためのファイル。
オプション B: Poedit(コンピュータ上)
- テーマをダウンロードしてください
.potファイル(または既存の.poあなたの言語のために)。 - Poedit で開き、ロケールの新しい翻訳を作成し、文字列を翻訳します。
- 保存。Poedit は両方を書きます
.poそしてコンパイルされた.mo. - ファイルの名前を に変更します
{textdomain}-{locale}例えばfabled-sunset-de_DE.poそして.mo、 にアップロードしますwp-content/languages/themes/.
テーマ フォルダー内にカスタム ファイルを置かないでください。テーマ アップデートにより、そのフォルダーと翻訳がテーマ フォルダーに置き換えられます。
ハードコードされた文字列の修正
テーマがテキストを直接出力する場合(<a>Read more</a>)、翻訳ファイルでは到達できません。最もクリーンなものから最も速いものまで、あなたのオプション:
- テーマ作者に聞く 文字列を翻訳可能にするため。テーマのすべてのユーザーに役立ちます。
- 子テーマでテンプレートを上書きします。 テンプレートファイルを子テーマにコピーし、文字列をラップします:
esc_html_e( 'Read more', 'my-child-theme' );。子テーマの翻訳をロードしますload_child_theme_textdomain()オン ザafter_setup_themeハンドブックが示すように、フック。 - レンダリングされたページを翻訳するツールを使用します コードではなく、ハードコードされたテキストを他のすべてとともに取得します。
開発者向けの注意: WordPress 6。7 以降、WordPress はテーマまたはプラグインが翻訳をロードするのが早すぎると警告します after_setup_theme または init (WordPress Coreを作る)。a が表示された場合 _load_textdomain_just_in_time 更新後の通知では、修正はテキスト ドメインをロードするコードに属します。
また、テーマの一部ではないものも覚えておいてください。ページと投稿のコンテンツ、作成したメニュー、ウィジェットのテキスト、編集したブロック パターン、カスタマイザーのテキスト、ページ ビルダーのレイアウトはすべてデータベースに保存されます。テーマ翻訳ファイルはそれらに触れません。
多言語ウェブサイトのテーマの翻訳
ある .mo ファイルは、サイト全体のテーマの文字列の言語を切り替えます。ある訪問者にはドイツ語を表示できず、別の訪問者にはフランス語を表示できず、コンテンツを翻訳することもできません。複数の言語でサイトを作成するには、さらに 3 つのものが必要です
- すべてのテキストが翻訳されていますテーマ文字列、メニュー、ウィジェット、コンテンツ、WooCommerce ボタンやチェックアウトなどのプラグイン出力が含まれます。
- 言語ごとに個別の URLなど
/de/そして/fr/。Googleは、Cookieやブラウザの設定ではなく、言語バージョンごとに異なるURLを推奨しています(Google検索セントラル). - Hreflang の注釈 検索エンジンが正しいバージョンを表示するようにバージョンをリンクします。見る hreflangタグを追加する方法.
ConveyThis の処理方法
WordPress 用の ConveyThis プラグイン(WordPress。org に 1,000+ アクティブ インストール、145 件の評価で 4。4/5 と評価)は、WordPress がレンダリングするページを翻訳するため、テーマの文字列、ハードコードされたテキスト、メニュー、ウィジェット、コンテンツ、プラグイン出力がすべて一緒に翻訳されます。、いいえ .po 維持するファイル。テーマが翻訳の準備ができていない場合、または言語ごとに翻訳ファイルを管理したくない場合に役立ちます。
実際には:
- 最初の草稿を自動的に作成し、その後編集します。 ページは機械翻訳されており、ビジュアル エディターで文字列を絞り込むと、ページ上の所定の位置に文字列が表示されるため、翻訳されたボタン ラベルがまだ適合しているかどうかを確認できます。
- 一貫した用語。 ある 用語集 ブランド名や製品名を翻訳しないか、どこでも同じように翻訳します。
- SEO対応URL。 各言語は、翻訳されたメタ タイトルと説明、および自動フレフランを備えた独自のサブフォルダーまたはサブドメインから提供されます。あなたもできます 翻訳されたURLをカスタマイズする.
- 除外事項。 特定のページまたは要素を元の言語で保持します 除外ルール.
- 210の言語アラビア語やヘブライ語などの右から左への言語も含まれます。
の WordPress統合ページ インストールをカバーし、 ステップバイステップのヘルプガイド セットアップについて説明します。より大きなサイトでパフォーマンスが懸念される場合は、ガイドを参照してください 多言語WordPressパフォーマンス.
トラブルシューティング: テーマ文字列が翻訳されない理由
- テキストドメインが間違っています。 関数呼び出しのドメインは、 のドメインと一致する必要があります
style.cssそしてファイル名に。 - ファイル名またはロケールが正しくありません。
de_DEないde; ファイルはサイト言語と正確に一致する必要があります。 - 間違ったフォルダ内のファイル、 またはテーマの更新によって上書きされます。
- 文字列がラップされていません 翻訳関数内(ハードコード)。
- 文字列はプラグインまたはデータベースから取得されますテーマではありません。プラグインの翻訳を検索するか、コンテンツ自体を編集します。
- キャッシング。 翻訳ファイルを変更した後、ページとオブジェクトのキャッシュをクリアします。
よくある質問
WordPress テーマを別の言語に翻訳するにはどうすればよいですか?
「設定」「一般」でサイト言語を設定し、翻訳を更新します。テーマに言語パックがない場合、または異なる文言が必要な場合は、Loco Translate または Poedit を使用して翻訳を作成または編集し、wp-content/languages/themes または Loco の保護されたフォルダーに保存します。
WordPress テーマの翻訳ファイルはどこに保存されますか?
WordPress は、fabled-sunset-de_DE。mo など、テキスト ドメインとロケールで名前が付けられたファイルを使用して、テーマ自身の言語フォルダーと wp-content/languages/themes を検索します。カスタム翻訳はテーマフォルダーの外で最も安全です。
テーマの更新により翻訳は削除されますか?
はい、テーマのフォルダー内に保存した場合はそうです。代わりに、wp-content/languages/themes または Loco Translate の保護されたディレクトリに保存します。
翻訳の準備ができていないテーマを翻訳できますか?
翻訳ファイルではそうではありません。文字列を子テーマの翻訳関数でラップするか、ConveyThis などのレンダリングされたページを翻訳するツールを使用します。
。po ファイルと。mo ファイルを使用すると、サイトが多言語になりますか?
いいえ。サイト全体のテーマの文字列の言語を変更します。多言語サイトには、コンテンツの翻訳、言語ごとの URL、および多言語プラグインが提供する hreflang が必要です。
テーマだけでなく、サイト全体を翻訳します
サイト訪問者が複数の言語で読めることが目標の場合は、それが可能です ConveyThis アカウントを作成します、 WordPress プラグインをインストールし、テーマとコンテンツを一緒に翻訳します。