ナビゲーションをスキップする
更新済み
3月 14, 2024

文字列翻訳ページで翻訳したい文字列が見つからない? では、その一般的な理由と、どこでそれを見つけることができるかを見ていこう。

最もよく検索される文字列

翻訳可能なハードコード文字列

何が起こっているのか?

なぜこの文字列が見つからないのか?

解決策

何が起こっているのか?

テーマやプラグインは完全に翻訳可能なのに、フロントエンドで翻訳の一部または全部が表示されない。

なぜこの文字列が見つからないのか?

テーマやプラグインを追加した後に言語を設定する。 つまり、WordPressは翻訳ファイルを更新していなかったのだ。

何が起こっているのか?

テーマやプラグインが一部の言語に完全に翻訳されていない。

あるいは

テーマやプラグインのを使うのではなく、独自の翻訳を追加したい。

なぜこの文字列が見つからないのか?

デフォルトでは、WPMLはこれらの文字列を読み込まない。 これにより、文字列Translationテーブルをすっきりと管理しやすくすることができる。

管理者と設定の文字列

何が起こっているのか?

なぜこの文字列が見つからないのか?

解決策

何が起こっているのか?

テーマやプラグインの設定、オプション、Eメールのテキストを翻訳したい。

なぜこの文字列が見つからないのか?

デフォルトでは、WPMLはこれらの文字列を読み込まない。 これにより、文字列Translationテーブルをすっきりと管理しやすくすることができる。

ダイナミック文字列

何が起こっているのか?

なぜこの文字列が見つからないのか?

解決策

何が起こっているのか?

、名前や注文番号、特定の条件で表示されるテキスト、ユーザーが作成したテキストなど、変更される要素のプレースホルダを持つテキストを翻訳したい。

なぜこの文字列が見つからないのか?

文字列翻訳では、特定の条件に基づいて変更されるテキストが、”Hello, John!”ではなく、”Hello, %s!”のようにプレースホルダテキストで表示されることがある。このようなプレースホルダのために、画面に表示されているフレーズを正確に検索しても結果が返らないことがある。

ユーザープロファイル文字列

何が起こっているのか?

なぜこの文字列が見つからないのか?

解決策

何が起こっているのか?

ユーザーのプロフィールから名前や経歴を翻訳したい。


なぜこの文字列が見つからないのか?

デフォルトでは、WPMLはこれらの文字列を読み込まない。 これにより、文字列Translationテーブルをすっきりと管理しやすくすることができる。

その他の文字列

何が起こっているのか?

なぜこの文字列が見つからないのか?

解決策

何が起こっているのか?

翻訳がすべてのサーバーで同期されない


なぜこの文字列が見つからないのか?

文字列翻訳は、1つのサーバーにMOファイルのみを保存する。 あなたのサイトが複数のサーバーで動作している場合、他のサーバーで処理されるすべてのリクエストは文字列を翻訳しない。

テーマとプラグインの翻訳を更新する

多くのWordPressテーマやプラグインには独自の翻訳が付属している。 あなたのテーマがそうであるかどうかを確認するには、WordPressテーマリポジトリと WordPressプラグインリポジトリを訪問する。 次に、テーマまたはプラグインのページに行き、「Languages」(プラグインの場合)または「Translations」 (テーマの場合)と書かれたセクションで翻訳状況を確認する。

WordPressプラグインの言語セクション

WordPressテーマの翻訳可能セクション

翻訳可能なテーマやプラグインをインストールした後にWPMLで言語を設定した場合、これらの翻訳がフロントエンドで欠けているように見えるかもしれない。

その表示方法はこうだ:

  1. サイトの管理画面から、ダッシュボード → アップデートに進む。
  2. 翻訳セクションまでスクロールダウンし、翻訳の更新をクリックする。
テーマの翻訳を更新する

フロントエンドで、以前は欠けていたテーマ翻訳のページを表示できるようになった。 更新された翻訳が表示されるはずだ。

テーマやプラグインが提供する翻訳が気に入らない?翻訳を編集して更新する方法を見る

自動登録文字列を一時的に有効にする

文字列の自動登録を一時的に有効にして翻訳することもできる:

  • 翻訳可能なハードコード文字列で、通常はサイトのテーマやプラグインに由来する。 テーマやプラグインには翻訳可能な文字列がたくさん含まれていることがある。 WPMLとString Translationテーブルに負担がかからないように、WPMLはすべての文字列を自動ロードしない。 また、テーマやプラグインがアップデートされるたびに自動スキャンすることもない。 例えば、”送信 “ボタンや “カートに入りました “というメッセージなどである。
  • 動的文字列とは、コードの中で静的ではなく、特定の条件やアクションに基づいて変化する文字列のことである。 例えば、ある挨拶は “Welcome back, John!”と表示され、別の挨拶は “Welcome back, Emily!”と表示されるかもしれない。

これらの文字列を翻訳するには、まずWPML → String Translationで 文字列の自動登録機能を有効にする必要がある。

重要: 文字列の自動登録オプションを有効にすると、WPMLはあなたや他のユーザーがフロントエンドで訪れたページで未翻訳の文字列を検索する。 最良の結果を得るには、別のタブを開き、翻訳したい文字列のあるページに行く。 WPMLが文字列を見つけたら、特長をオフにし、String Translationページを更新する。 翻訳可能な文字列がテーブルに表示されるはずだ。

翻訳用文字列の自動登録を有効にする

文字列翻訳から文字列を削除する

あなたやあなたのサイトの訪問者が自動登録文字列を有効にして複数のページを閲覧した場合、String Translationテーブルにたくさんの新しい文字列が読み込まれるのを見るかもしれない。 これらの多くは同じドメインから来ている可能性があり、まったく翻訳したくないかもしれない。

特定のドメインからの文字列を翻訳する予定がない場合は、一度にすべて削除することができる。 これを行うには、文字列の削除ボタンをクリックする。 次に、ドメインを選択し、[削除]をクリックして、文字列翻訳からそのドメインの文字列をすべて削除する。

ドメインごとに文字列を削除する

テーマやプラグインをスキャンする

あなたのサイトのテーマやプラグインに文字列がないかスキャンするのは、以下の場合に限る:

テーマやプラグインから来るすべての文字列を String Translation テーブルに読み込む。 これには、サイトのバックエンドにも表示される文字列も含まれる。 その結果、テーマやプラグインをスキャンすると、String Translationに数百から数千の新しい文字列が追加される可能性がある。

部分的に翻訳されたテーマやプラグインをスキャンすると、文字列翻訳テーブルで翻訳が必要な文字列がプラスアイコンで外観表示される。 アイコンをクリックすると、既存の翻訳が表示され、それを使用するか、独自の翻訳で上書きするかを選択できる。

テーマやプラグインをスキャンする:

  1. WPML → テーマとプラグインのローカライズに アクセスし、 テーマまたはプラグインを選択する。
  2. クリックしてスキャンする。
文字列のためにテーマをスキャンする

これで文字列翻訳ページで文字列を見つけることができるはずだ。

管理者と設定の文字列を翻訳する

WordPressサイトの管理エリアからカスタマイズできるが、サイト訪問者のためにフロントエンドに表示されるテキストを翻訳したい場合がある。 これには以下が含まれる:

  • フッターテキスト、著作権表示、カスタムメッセージなど、テーマオプションパネルからのテキスト
  • プラグインのオプションや設定で設定されたラベル、メッセージ、その他のカスタムテキスト
  • WordPressのコア設定(時間フォーマットなど)の一部
  • ウィジェットのタイトルとコンテンツ、特にWordPressの管理画面で設定できるもの

多くのテーマやプラグインは、こうしたテキストを wp_optionsテーブルに保存している。 これらのテキストを翻訳するには、まず登録する必要がある:

  1. WPML→文字列翻訳 に進む。
  2. ページを一番下までスクロールし、管理画面のテキストを翻訳するリンクをクリックする。
文字列翻訳ページの下部にある「管理画面のテキストを翻訳」リンク
  1. これで、検索可能な管理文字列のリストが表示される。 文字列を選択し、文字列翻訳に追加をクリックする。 あるいは、WPML設定ファイルとしてエクスポートをクリックして、言語設定ファイルで使用するコードスニペットを生成することもできる。
文字列翻訳に管理文字列を選択して追加する

これでString Translationページに文字列が表示され、翻訳可能になるはずだ。

ユーザーメタ情報を翻訳可能にする

WordPressでは、ユーザープロフィールには名前、ニックネーム、経歴などのフィールドがある。 プラグインによっては、例えば投稿にAuthorボックスを追加することで、フロントエンドにこのカスタマイズ可能なユーザー情報を表示することができる。

このユーザー情報を翻訳するには、まずユーザーのタイプを翻訳可能にする必要がある:

  1. WPML → 文字列翻訳に進み、「その他のオプション」セクションまでスクロールダウンする。
  2. 編集をクリックし、翻訳可能にしたいユーザータイプを選択する。 そして、適用をクリックする。
ユーザータイプの翻訳を可能にする
  1. 文字列翻訳ページをリフレッシュし、ドメイン内ドロップダウンメニューを使って著者ドメインを検索する。
著者ドメイン内の文字列を検索する

これでリストに翻訳可能なフィールド名が表示されるはずだ。 それでも特定のフィールドが表示されない場合は、ユーザー → プロフィールに進み、スペースや単語を追加してフィールドを少し変更する。 変更を保存すると、String Translationテーブルに文字列が表示されるはずだ。

ユーザーメタデータの翻訳についての詳細はこちら。

複数のサーバーで動作するサイトの翻訳ファイルを同期する

デフォルトでは、String TranslationはMOファイルを1つのサーバーにのみ保存する。 つまり、サイトが複数のサーバーで動作している場合、他のサーバーで処理されるリクエストはすべて文字列を翻訳しない。

WPML 4.4.0では、サーバー間でMOファイルを同期するカスタムモードを有効にできる。 そのためには、以下をwp-configファイルに追加する:

define( 'WPML_ST_SYNC_TRANSLATION_FILES', true );

注意:この同期モードは、あなたのサイトのパフォーマンスに影響を与える可能性のあるロジックの別のレイヤーを追加する。 必要な場合にのみ使用することをお勧めする。

翻訳したいテキストのソースを見つける

文字列翻訳では、別の翻訳方法を必要とするため、テキストを見つけられないことがある。 例えば、テンプレートやフォームから来るほとんどのテキストを、Translation Managementを使って翻訳することができる。

文字列翻訳で翻訳可能なテキストを登録しようとする前に、そのテキストがどこから来たのかを調べてみよう。

これが簡単なガイドだ:

テキストの種類これらのテキストはどこで翻訳できるのか?
テンプレートからのテキスト(WordPressサイトエディターテンプレートElementorテンプレートなど)翻訳管理ダッシュボード
アドバンスドカスタムフィールド(ACF)のフィールドラベルと値割り当てられたフィールドを持つ投稿/ページを翻訳する場合
WordPress のフォームとフォームフィールド(Contact Form 7Gravity Forms など)翻訳管理ダッシュボード

それでも翻訳できない場合は、WPMLサポートに連絡すること。 翻訳したいテキストが、特定の翻訳ワークフローを必要とするテーマやプラグインから来ているか、WPMLと互換性がない可能性がある。
また、テーマやプラグインが作者によってローカライズされていない場合、テキストの一部またはすべてを翻訳することはできないことを覚えておいてほしい。