Contentful純正「Locale Field Populator」でロケール間の一括コピーを試してみた

Contentful純正「Locale Field Populator」でロケール間の一括コピーを試してみた

2026.03.09

どうも!オペ部の西村祐二です!

Contentfulのブログを書きたいなと思い、最近のアップデート情報を眺めていたところ、良さそうなリリースを見つけました。

2026年2月にContentful公式からリリースされたLocale Field PopulatorというMarketplaceアプリです(Changelogで告知)。

Contentfulで多言語コンテンツを管理していると、「同じ内容を複数のロケールにコピーする作業」が地味に面倒ですよね。特にEN-USで書いた内容をEN-UK・EN-AUにも展開するような、ほぼ同じだけどロケールごとにフィールドを埋めないといけないケースは手作業だとかなり辛いものがあります。
Locale Field Populatorはそのあたりを楽にしてくれるアプリみたいです。

実際にインストールして試してみたので、気づいたことをまとめます。

試してみた

Locale Field PopulatorをContentfulのMarketplaceからインストールし、Contentful 101のチュートリアルで作成したコンテンツタイプを対象に、フィールド値の自動コピーを試しました。

環境:

  • Contentful Web App
  • ロケール構成: EN-US(ソース)、EN-UK(英語バリアント)
  • スペースの管理者(Admin)権限が必要(Marketplaceアプリのインストールのため)
  • スペースに2つ以上のロケールが設定済みであること(ロケールが1つだけだとコピー先がないため)

0. 事前準備:ロケールの追加

Locale Field Populatorはソースロケールの値をターゲットロケールにコピーするアプリなので、スペースに2つ以上のロケールが必要です。

エントリのサイドバーを見ると、Active locales にロケールが1つしか表示されていない場合は、先にロケールを追加しましょう。

CleanShot 2026-03-08 at 16.08.50@2x

ロケールの追加手順

  1. 上部ナビゲーションバーの Settings ドロップダウンを開く
  2. Environment settings の中にある Locales をクリック

CleanShot 2026-03-08 at 16.11.11@2x

  1. Locales画面が表示される。現在のロケール一覧を確認し、左下の + Add locale をクリック

CleanShot 2026-03-08 at 16.12.23@2x

  1. ロケール設定画面で以下を設定する
    • Locale: 追加したいロケールを選択(例: English (United Kingdom) (en-GB)
    • Fallback locale: フォールバック先を指定(不要なら None (no fallback) のまま)
    • Locale settings: 必要に応じてチェック
      • Enable this locale in response: Delivery API / Preview API のレスポンスにこのロケールを含める
      • Enable editing for this locale: エディターでこのロケールの編集を有効にする
      • Allow required fields to be empty for this locale: 必須フィールドが空でも公開可能にする(必須フィールドがあるコンテンツモデルでは有効にしておくと便利)
  2. 画面上部の Save をクリック

CleanShot 2026-03-08 at 16.42.13@2x

エントリでロケールを有効にする

ロケールを追加しただけでは、エントリのエディターには反映されない場合があります。エントリのサイドバーから有効化します。

  1. エントリを開き、サイドバーの Active locales セクションにある Edit locales list をクリック
  2. 「Edit locales list」ダイアログで、追加したロケール(例: English (United Kingdom) (en-GB))にチェックを入れる
  3. Save をクリック

CleanShot 2026-03-08 at 16.49.22@2x

フィールドのローカライゼーションを有効にする

コンテンツモデル側で、各フィールドのローカライゼーション設定を有効にする必要があります。

  1. 上部ナビゲーションの Content model をクリック
  2. 対象のコンテンツタイプ(例: Tutorial Blog Post)を選択
  3. ローカライズしたいフィールド(例: Title)の編集ボタンをクリック
  4. Settings タブを開く
  5. Field options の中にある Enable localization of this field にチェックを入れる
  6. Confirm をクリック
  7. コピーしたい他のフィールド(Body等)にも同様の設定を繰り返す
  8. 画面上部の Save をクリックしてコンテンツタイプを保存

CleanShot 2026-03-08 at 16.31.15@2x

1. アプリのインストール

  1. Contentful Web Appにログイン
  2. 上部メニューから AppsMarketplace を選択
  3. 検索バーで「Locale Field Populator」を検索
  4. アプリの詳細画面が表示される。Features に以下が記載されていることを確認
    • Automatically copies field values from a source locale to selected target locales
    • Works recursively across all populated fields in an entry
    • Ideal for teams managing content in multiple, similar languages like English (US), English (UK), and English (CA)
  5. 右上の Install をクリック

CleanShot 2026-03-08 at 15.26.32@2x

2. スペースと環境の選択

Install をクリックすると「Select space & environment」ダイアログが表示される。

  1. Space ドロップダウンからインストール先のスペースを選択
  2. Environment ドロップダウンから環境を選択
  3. Continue をクリック

CleanShot 2026-03-08 at 15.25.54@2x

3. コンテンツタイプの割り当て

「Set up Locale Field Populator」画面で、アプリを有効にするコンテンツタイプを選択する。

  1. Content types ドロップダウンをクリック
  2. Locale Field Populatorを使いたいコンテンツタイプにチェックを入れる
  3. 右上の Install をクリックしてセットアップ完了

CleanShot 2026-03-08 at 15.27.37@2x

4. フィールド値の自動コピーを実行

セットアップが完了したら、実際にエントリでLocale Field Populatorを使ってみます。

CleanShot 2026-03-08 at 16.05.07@2x

  1. Content メニューから、ステップ3で選択したコンテンツタイプのエントリを開く
  2. エディター画面の右側サイドバーLocale Field Populator のパネルが表示されていることを確認
  3. ソースロケール(コピー元)を選択(例: English (US))
  4. ターゲットロケール(コピー先)を選択(例: English (UK))
  5. Populate ボタンをクリック

CleanShot 2026-03-08 at 16.44.20@2x

  1. Preview changes 画面が表示される。SourceとTargetの差分が色付きで確認できる。コピーしたくないフィールドがあれば Adopt this field のチェックを外す

CleanShot 2026-03-08 at 16.46.02@2x

  1. 確認後、Confirm をクリックして適用。完了後はChanges appliedが表示されます。

CleanShot 2026-03-08 at 16.46.24@2x

アプリはエントリ内のすべてのフィールドに対して再帰的に動作し、ソースロケールの値をターゲットロケールに一括コピーします。

CleanShot 2026-03-08 at 16.47.18@2x

CleanShot 2026-03-08 at 16.47.30@2x

気づいたこと

良かった点

  • 手作業が激減する: フィールドごとにコピー&ペーストしたりする作業がワンクリックで完了します。10フィールド以上あるエントリだと、特に便利に感じるんじゃないかと思いました。
  • 差分プレビューでフィールドごとに適用を選べる: 実行前に Preview changes 画面が表示され、SourceとTargetの差分が色付きで確認できます。フィールドごとに Adopt this field のチェックで適用対象を選べるので、意図しない上書きを防げます。この点はかなり安心感があると思います。
    Pasted image 20260308235830
  • 公式アプリの安心感: Contentful公式が開発・メンテナンスしているので、APIの仕様変更にも追従してくれるだろうという安心感があります。サードパーティ製のツールだとメンテナンスが止まるリスクがあるので、この点は大きいかなと思います。

注意すべき点

  • 「類似言語」間でのみ動作する: アプリの説明に「Ideal for teams managing content in multiple, similar languages like English (US), English (UK), and English (CA)」とあるとおり、英語バリアント同士のような類似言語間のコピーを想定したアプリのようです。実際に試したところ、EN-USをソースにした場合、ターゲットロケールにはEN-UKやEN-AUなどの英語バリアントのみが表示され、Japanese(ja)のような全く異なる言語はターゲットとして選択できませんでした。EN-US → JA のような異言語間コピーには使えませんでした。
    Pasted image 20260308165028
  • 「コピー」であって「同期」ではない: 一度コピーした後にソースロケールを更新しても、ターゲットロケールには自動反映されません。あくまで実行時点のスナップショットをコピーする動作のようです。
  • フィールドのローカライゼーション設定が有効になっていないフィールドは対象外です。コンテンツモデルの設定で「Enable localization of this field」にチェックが入っているか事前に確認してください。
  • フォールバックロケールとの違いを理解しておく: Contentfulのフォールバックロケールは、Content Delivery APIおよびContent Preview APIでの配信時に空のフィールドに対してフォールバック値を返す仕組みです。Locale Field Populatorは実際にフィールド値をコピーするので、目的が異なります。

まとめ

Locale Field Populatorは、Contentfulでの多言語コンテンツ管理における手作業を大幅に削減してくれるアプリだと思いました。特に英語バリアント(EN-US / EN-UK / EN-AU 等)のような類似言語を複数扱うチームにとっては便利なのではないかなと思います。

一方で、類似言語間でのみ動作する(EN-US → JAのような異言語間コピーは不可)という制約や、「同期」ではなく「コピー」である点は押さえておく必要があります。

誰かの参考になれば幸いです。


参考リンク:

この記事をシェアする

FacebookHatena blogX

関連記事