WPML
ステータス
解決済み

問題の概要

言語ロケールを変更した場合(たとえば、ドイツ語をde_DEからde_DE_formalに変更した場合など)、文字列の翻訳が表示されなくなることがあります。

この問題は、WPMLが一致する言語ロケールのMOファイルを見つけられなくなるために発生します。この例の場合、some-domain-de_DE_formal.moを探しますが、そのようなファイルは存在しません。その代わり、WPMLにはsome-domain-de_DE.moの記録しかありません。

回避策

この問題を解決するには、2つの手順を実行する必要があります。

1. WPML -> 文字列翻訳ページで翻訳した文字列がある場合は、WPML -> サポート -> トラブルシューティングページを開き、Show custom MO Files Pre-generation dialog boxボタンをクリックします。表示されたダイアログで青いボタンをクリックして、カスタムMOファイルを再生成します。

2. ほとんどの場合、最初の手順だけでは不足しているすべての文字列を修復できません。これは、一部の値が他のプラグインやテーマによって提供されるネイティブMOファイルの欠落に起因する可能性があるためです。これを解決するには、不足しているMOファイルを見つけ、新しい言語コードを使用した新しい名前でコピーを作成する必要があります。

この例では、文字列が通常woocommerce-de_DE.moファイルから読み込まれる場合、そのファイルを見つけ、現在のロケールに一致する名前(woocommerce-de_DE_formal.mo)を使用してコピーを作成する必要があります。サイトで使用されている不足しているファイルをすべてコピーする必要があります。

これらのMOファイルが見つかる一般的な場所は次のとおりです。


  • ../wp-content/languages/

  • ../wp-content/plugins/plugin-in-question/

  • ../wp-content/plugins/plugin-in-question/languages/

最後に、データベースのwp_icl_mo_files_domainsテーブルで特定のパスを見つけることもできます。

すべての既知の問題 →