ACFML – WordPressでの多言語ACFおよびACF Proカスタムフィールド
サイトのすべてのカスタムフィールドを多言語化します。ACFMLはAdvanced Custom FieldsおよびACF Proに多言語サポートを追加します。すべてのフィールドタイプ、フィールドグループ、オプションページに加え、フィールドラベル自体もカバーします。Repeater、Flexible Content、Clone、条件付きロジック、PHPで登録されたローカルフィールドを含むACF Proのセットアップもすべてサポートされています。Multilingual CMSおよびMultilingual Agencyに含まれています。
すべてのACFフィールドタイプの多言語化
ACFを使用してサイトを構築する場合、ACFMLはACFおよびACF Proカタログのすべてのフィールドタイプをカバーします。
- TextおよびWysiwygフィールドは言語ごとに翻訳されます。
- RepeaterおよびFlexible Contentの行は言語間で同期を保ちます。
- Image、File、Galleryフィールドは言語ごとにローカライズされたアセットに切り替えることができます。
- Link、Relationship、Post Objectフィールドは言語間で正しく関連付けられたままになります。
- Date Picker、Color Picker、Map、およびその他のインタラクティブなフィールドは言語ごとに正しく動作します。
ACFを通じて登録したカスタム投稿タイプ、タクソノミー、オプションページも、そのラベルを含めて翻訳されます。ACFで構築したサイト全体がACFMLで多言語化され、一部だけが対象になるわけではありません。
言語ごとに同じ内容と異なる内容の選択
ACFフィールドグループの翻訳動作は1つではありません。サイトのOur Teamページでは、すべての言語で同じチームメンバーを表示します。名前や略歴は翻訳し、構造はそのまま維持します。Eventsページでは、対象者に応じて異なるイベントを表示します。言語ごとにまったく異なるイベントを表示します。Product Specsページではこれらが混在します。説明は翻訳し、SKUや価格は同じままにします。
ACFMLはこれら3つのケースすべてをフィールドグループごとに処理します。Same fields across languages、Different fields across languages、および混在するセットアップ用のExpert Modeです。各フィールドグループの目的に合ったモードを選択すると、ACFMLが翻訳動作を自動的に設定します。
フィールドごとの翻訳制御
フィールドグループ内では、すべてのフィールドに独自の翻訳設定が適用されます。
- 翻訳。フィールドの値は言語ごとに翻訳されます。
- コピー。フィールドの値は言語間で同期を保ちます。一度編集すると他の言語にも反映されます。
- 一度だけコピー。フィールドの値は新しい翻訳のベースとして使用され、その後は各言語バージョンを個別に編集できます。
- 翻訳不可。フィールドは完全に無視されます(例:内部の管理画面専用フィールドなど)。
フィールドタイプごとの適切なデフォルト設定が最初から用意されています。TextおよびWysiwygフィールドのデフォルトは翻訳で、Image、Link、Numberなどの構造化フィールドのデフォルトはコピーです。プリセットの完全なリファレンスは、ACFカスタムフィールドを翻訳する方法に記載されています。
言語間で同期を保つRepeaterおよびFlexible Contentの行
RepeaterおよびFlexible Contentフィールドは、他のツールで多言語ACFのセットアップが頻繁に破綻する原因となります。行の同期が外れ、レイアウトが分岐し、翻訳者には見覚えのないコンテンツが表示されます。ACFMLはデフォルトで、言語間で行の構造を同期させます。翻訳者には同じ行が同じ順序で表示され、翻訳可能な各サブフィールドが適切な位置に配置されます。言語ごとに異なる構造(例:言語ごとに異なるイベントリストなど)が必要な場合は、一度だけコピーの設定を使用することで対応できます。
ローカルフィールド(PHPで登録)にも同じ翻訳動作を適用
多くの本番サイトでは、ACFの管理UIではなくPHPでACFフィールドを登録しています(ポータビリティ、バージョン管理、またはテーマに同梱された設定のため)。ACFML 2.2.0(2026年2月)では、ローカルフィールドを完全にサポートしています。フィールドグループの定義でwpml_cf_preferencesキーを使用して各フィールドの翻訳設定を指定し、ACF > ToolsからWPMLに同期すると、管理画面にフィールドグループの宣言が反映されます。ACFのローカルJSONファイルは、サイト間でエクスポートおよびインポートする際に設定を保持します。手順の詳細は、ハウツーページのPHPまたはJSONで登録されたフィールドの設定に記載されています。
エッジケース向けのデベロッパーフック
カスタムフィールドの翻訳ロジック(特定のフィールドを除外する、フィールドタイプのデフォルト設定をグローバルに上書きする、翻訳者から注釈を隠すなど)を持つサイト向けに、ACFMLは2つのフィルター(acfml_should_translate_acf_entity、acfml_field_group_mode_field_translation_preference)と4つの定数(ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS、ACFML_HIDE_FIELD_ANNOTATIONS、ACFML_REPEATER_SYNC_DEFAULT、ACFML_SCAN_LOCAL_FIELDS)を提供しています。コード例を含む完全なリファレンスは、ACFMLフックと定数のリファレンスに記載されています。
ACFチームとの共同開発と保守
WPMLとACFチームは継続的な互換性のために緊密に連携しており、これは共同のACF互換性ページで確認できます。ACFまたはACF Proがリリースされると、ACFMLもそれに追従します。新しい翻訳動作のためにACFMLがACF側のサポートを必要とする場合、リバースエンジニアリングではなく、統合機能が共同で構築されます。
WPMLに含まれるACFML
ACFMLはMultilingual CMSおよびWPML Agencyに同梱されています。追加の購入やサイトごとの料金は不要です。WPMLを購入すれば、アカウントがカバーするすべてのACFサイトを多言語化できます。すでにWPMLをお持ちの場合は、WPMLダウンロードページからACFMLを有効化してください。