このページは、それ以外のもの(あまり人気のないテーマやプラグイン、WPMLの互換性対応が追いつく前に開発者がリリースしたごく最近のバージョン、特定の症状が発生したサイト向けの少数の一般的なヘルパー)のために存在します。ほとんどのクライアントがこのページを開くことはありません。このページを開く必要があるのは、通常、WPMLサポートから特定のトグルを指示されたり、貼り付けるwpml-config.xmlを指示されたりした場合です。
互換性については2つの設定サブページがあり、このページではその両方を説明します。
- WPML設定互換性には、一般的な症状に対するトグルが含まれています。
- WPML設定カスタム XML 設定は、独自の
wpml-config.xmlを記述する場所です(このページの後半で説明します)。
最も一般的なデフォルト設定(投稿タイプ別、タクソノミー別、フィールド別の翻訳設定)のUIは、翻訳されるものとされないもので説明されている別の設定ページにあります。ほとんどのクライアントはそのUIを使用し、必要な設定がそこにない場合にのみこのページを使用します。
互換性トグル
WPML設定互換性を開きます。
このページには4つのカードがあります。各カードは、特定のクラスの互換性の問題を対象としています。
ローカライズオプション – 翻訳が読み込まれないテーマとプラグイン向け
テーマやプラグインに独自のUI翻訳(/languages/フォルダー内の.moファイル)がすでに含まれているにもかかわらず、その翻訳がサイトに表示されない場合、ローカライズオプションカードにある3つのトグルを使用して、WPMLがそれらを見つけて適用できるようにします。
load_textdomainを使用してテーマの.moファイルを自動的に読み込む:テーマのテキストドメインに対して、WPMLに強制的にload_textdomain()を呼び出させます。テーマの翻訳がディスク上に存在するのに表示されない場合に使用します。- テキストドメインを入力:自動検出されたテキストドメインを上書きします。一部のテーマは非標準の方法でテキストドメインを登録しますが、このフィールドを使用すると明示的に指定できます。
- gettext呼び出しが文字列リテラルを使用しない場合にテーマまたはプラグインのテキストドメインを使用する:リテラル文字列の代わりに可変引数を使用して
__()を呼び出すテーマまたはプラグインの互換性フラグです。WPMLはこれらを自動検出できませんが、このトグルを使用すると翻訳を適用できるようになります。
WPMLサポートからこのページを指示された場合は、設定するトグルとテキストドメインが伝えられます。
テーマを多言語で機能させる
多言語機能のためにIDを調整する:単一言語を前提としてハードコードされているテーマ(例:「アイキャッチ画像ID」を一度保存し、すべての言語で同じ画像を使用するテーマ)向けの互換性レイヤーです。
最新のWPML互換テーマのほとんどはこれを必要としません。古いテーマやWPMLをあまり考慮していないテーマでは必要になる場合があります。コンテンツの参照(画像、メニュー、おすすめアイテムなど)が誤って他の言語に漏れている場合は、これをオンにします。
AJAX操作の言語フィルタリング
AJAXの言語フィルタリングをサポートするために言語Cookieを保存する:一部のプラグインは、フィルタリングされた製品リスト、AJAXでページ分割された投稿リスト、入力中の検索結果などのコンテンツを取得するためにAJAXを使用します。言語Cookieがないと、AJAXエンドポイントはどの言語で応答すべきかがわからず、間違った言語の結果を返します。
フランス語のページの訪問者が、AJAXで読み込まれたセクションから英語の結果を受け取るという症状が見られる場合は、Cookieをオンにします。これは、この種のバグ全体を1つのチェックボックスで修正するものです。
ログインページと登録ページ
ログインページと登録ページの翻訳を許可する:WordPressに組み込まれている/wp-login.phpと登録画面は、WPMLが翻訳する通常のコンテンツの一部ではありません。これらはテーマのテンプレートチェーンの外にあります。このトグルを使用すると、これらがWPMLの翻訳可能なページのセットに追加されます。
サイトがnginxで実行されている場合、このトグルにはサーバー設定の微調整も必要です。このページには、正確な設定ブロックが記載されたWPMLのnginxガイドへのリンクがあります。
テーマとプラグインのテキスト – ここの設定と別の場所にあるスキャナー
テーマとプラグインの文字列に関する2種類の作業は、2つの画面に分かれています。
- このページの設定:テーマやプラグインにすでに含まれている翻訳(
load_textdomain、テキストドメインの上書き、非リテラルのgettext)の互換性を処理します。 - スキャナーは独自の画面です:まだ翻訳用に登録されていないテーマやプラグインの文字列を見つける必要がある場合は、管理テキスト翻訳画面を使用します。この画面には、翻訳の文字列タブにある「探している文字列が見つからない場合」セクションからアクセスできます。
文字列スキャンのワークフロー全体については、文字列の翻訳を参照してください。
カスタムwpml-config.xml
WPML互換のテーマとプラグインには、どのフィールド、投稿タイプ、タクソノミー、ショートコード、メタキーを翻訳可能にするかをWPMLに正確に伝えるwpml-config.xmlファイルが同梱されています。WPMLは有効化時にこれを読み込みます。主要で人気のあるすべてのテーマとプラグインにおいて、これは翻訳が追加の設定なしで正しく機能することを意味します。何もする必要はありません。
テーマやプラグインに同梱されているwpml-config.xmlがサイトに不十分な場合は、独自のファイルを作成します。WPMLは、テーマやプラグインに同梱されているものの上にそれを適用します。
独自のwpml-config.xmlを作成する場合
3つのシナリオがあります。
- 翻訳が必要なフィールドが同梱のwpml-config.xmlにない:テーマやプラグインの開発者がカスタムフィールドを翻訳可能として宣言していませんが、サイトで翻訳する必要がある場合です。
- フィールドのデフォルトが間違っている:同梱のwpml-config.xmlで何かがコピーとしてマークされているが、翻訳にしたい場合、またはその逆の場合です。
- カスタムテーマまたはプラグインを構築している:コードにwpml-config.xmlファイルを同梱する代わりに、WPMLの設定ページからその翻訳の動作を宣言したい場合です。
どの場合でも、貼り付ける正確なwpml-config.xmlとともに、WPMLサポートがこのページを指示することがあります。ほとんどはサポート主導のアクションですが、開発者主導の場合もあります。
テーマファイルではなくWPMLの管理画面でwpml-config.xmlを編集する理由
テーマやプラグイン自体のwpml-config.xmlを直接編集することもできます。しかし、その変更は次にテーマやプラグインが更新されたときに失われます。WPML設定カスタム XML 設定にあるWPMLの管理画面内エディタは、テーマやプラグインに同梱されているものの上にwpml-config.xmlを重ねるため、更新後も維持されます。サイト固有の微調整を行うのに適した場所です。
wpml-config.xmlの形式
このページはXMLエディタです。<wpml-config>...</wpml-config>ブロックを貼り付けて保存すると、WPMLがwpml-config.xmlを適用します。
ショートコードを翻訳可能として宣言する最小限のwpml-config.xml:
<wpml-config>
<shortcodes>
<shortcode>
<tag>add_to_cart_link</tag>
</shortcode>
</shortcodes>
</wpml-config>
通常宣言する要素タイプ:
<custom-fields>:カスタムフィールドをtranslate、copy、copy-once、またはnothingとしてマークします。<custom-types>:カスタム投稿タイプを翻訳可能として宣言します。<taxonomies>:カスタムタクソノミーを翻訳可能として宣言します。<shortcodes>:WPMLがコンテンツを翻訳すべきショートコードをリストします。<custom-term-fields>:タームメタデータ用です。
各要素には独自の属性があります(例:カスタムフィールドのaction="translate")。完全なwpml-config.xmlリファレンス(すべての要素、すべての属性、すべての許可された値)については、WPML開発者情報を参照してください。
実践的なワークフロー
WPMLサポートから貼り付けるwpml-config.xmlブロックが提供された場合:
- WPML設定カスタム XML 設定を開きます。
- 提供されたXMLを既存の
<wpml-config>ブロック内に貼り付けます(完全なブロックが提供された場合は内容を置き換えます)。 - 保存します。
- WPMLはwpml-config.xmlをすぐに適用します。新しい翻訳可能な投稿タイプやフィールドを宣言した場合、そのエントリはすぐにWPML設定投稿タイプの翻訳またはWPML設定カスタムフィールド翻訳に表示されます。
カスタムテーマやプラグインを構築しており、そのWPML設定をコードに同梱したい場合は、代わりに同じ<wpml-config>ブロックをテーマやプラグインのルートにあるwpml-config.xmlファイルに配置します。WPMLは有効化時にこれを読み込みます。管理画面内のエディタはサイト固有の微調整用であり、同梱ファイルはテーマやプラグイン自体のデフォルト用です。