多言語対応CMSは、ContentfulならFreeが2ロケール、Liteが3ロケール、Sanityなら言語追加そのものは無料という違いがあります。StoryblokはStarterが2ロケール、Growthが2ロケール込みで追加は1ロケール月額20米ドルです。言語数に加え、翻訳ごとに公開できるか、未翻訳を別言語で補うかを比較します。根拠は以下の各社公式資料です。

多言語ヘッドレスCMSを6製品で比較する

ロケールはen-USなどの言語・地域の組み合わせです。英語を米国向けと英国向けに分けるなら、単なる「英語1言語」と同じ数え方にならない場合があります。必要なコードで見積もります。

表の空欄は、参照した公式資料から仕様を確定できなかった項目です。「非対応」の意味ではありません。「状態」は翻訳品質の判定ではなく、公開・下書き、または編集工程を指します。API欄は代表的な取得方法です。

CMS

プラン別の言語数

翻訳の保存単位

未翻訳時のフォールバック

APIでの言語選択

言語別の状態管理

言語を増やす費用・制約

microCMS

専用ロケール枠としての記載なし

別コンテンツ・別API・言語別フィールドを設計

言語別API、または独自の言語項目・フィールドを使用

別コンテンツなら公開状態も別管理

別API方式はAPI枠を消費。Hobbyは5 API、Teamは10 API込み。設計・料金

Contentful

Free 2、Lite 3、Enterpriseは個別契約

標準はフィールド単位。エントリ単位等の設計も可能

欠けたフィールドの代替ロケールと連鎖を設定

CDAのlocale=en-US、全言語はlocale=*

Locale-based publishingで言語別の下書き・公開・変更状態。対象プランは要問い合わせ

Freeは0米ドル、Liteは月額300米ドル。3を超えるロケールはEnterpriseの個別契約。料金・翻訳設計・API・代替言語・状態

Sanity

Free・Growth・Enterpriseでロケール数の上限・追加課金なし。属性数等の上限は別

フィールド単位・ドキュメント単位を設計

GROQのcoalesce()で代替値を指定

GROQでlanguage等の保存値を絞り込み

ドキュメント単位なら翻訳ごとに独立公開

言語追加は無料。翻訳の持ち方で属性数・ドキュメント数を消費。料金・設計と取得

Strapi 5

追加数の上限なし。用意されたロケール一覧から選択

同じドキュメントの言語版。項目ごとに翻訳対象を設定

RESTのlocale=fr。省略時は既定ロケール

Draft & Publishで下書きと公開を管理。i18n導入時、一括公開・一括非公開は選択中のロケールだけが対象

Communityは無料。ホスティングと保守は別途見積もり。言語設定・API・公開・CMS料金

Storyblok

Starter 2、Growth 2込みで追加可能、Growth Plus 10、Premium・Eliteは個別契約

フィールド単位、フォルダー単位、スペース単位

フィールド単位ではfallback_langを指定

フィールド単位はlanguage=fr。フォルダー方式は対応するパス

個別翻訳の公開を有効化可能。言語別ワークフローはPremium・Elite

Growthは月額99米ドル+追加1ロケール月額20米ドル。Growth Plusは月額349米ドルで10枠。料金・翻訳設計・工程管理

genko.me

サブ言語はFreeが1つ、Plus・Proは数の上限なし。プラン仕様

共通ID・共通フィールド構成に言語別の値

既定は無効。lang_fallback=trueで公開中のメイン言語へ代替

lang=en、include=_langsで公開言語も取得

言語別に公開状態を管理

言語版も原稿容量に算入。多言語仕様・API

料金は米ドルの月払い表記で比較しています。microCMSとgenko.meはリンク先の円建て条件を確認してください。料金や契約条件は変わるため、契約前に公式料金表を確認します。

言語数と翻訳担当者で候補を絞る

2言語から増える予定も見積もる

開始時の2言語だけでなく、次の市場を追加したときの料金とデータ量を出します。例として、基本記事100件を5言語で用意するなら、最大500件分の言語別本文を管理します。保存上の件数は製品のモデル次第で、500件すべてが同じ課金単位になるわけではありません。

見積もりには、月額契約、追加ロケール、編集者、翻訳サービス、保存容量、API利用、運用保守を入れます。言語追加が無料でも、人による翻訳とレビューまで無料になるわけではありません。

開発者が設計するか、編集者が運用するか

既存のmicroCMS運用を継続し、言語別コンテンツの対応づけを開発側で持てるなら、別コンテンツ方式から試す判断ができます。言語を増やすたびに別APIを作る必要があるとは限りません。

項目ごとの共有と翻訳を組み立てたい場合はContentful、翻訳モデルとクエリをコードで調整したい場合はSanityが候補です。独自のサーバー運用を担えるチームならStrapiも比較します。言語別の編集工程を標準機能で管理したい場合は、Storyblokの対象プランを具体的な担当者構成で評価します。いずれも表の機能が必要な契約に含まれるかを確認します。

URLと翻訳ワークフローを契約前に試す

言語別URLと取得言語を対応づける

/ja/news/exampleと/en/news/exampleのようなURL設計を先に決め、言語別スラッグが必要かを整理します。共通IDがない設計では、元記事と翻訳記事を結ぶ識別子も用意します。CMSへの言語指定と、サイトのルーティングは一緒に検証します。

英語URLで日本語の本文を補う運用を許すかも決めます。許す場合は代替表示だとわかる案内を出し、翻訳済みとして扱いません。全文を原語に戻す場合と、欠けた項目だけ補う場合は、読者の体験が異なります。

URLやhreflangの実装は多言語サイトの作り方に分けています。無料枠も含めた候補整理には無料ヘッドレスCMS比較を参照してください。

公開状態と翻訳レビュー状態を分ける

「公開済み」は「最新の原稿まで翻訳済み」と同じではありません。原文の修正後に再翻訳が必要かを判断するため、翻訳対象の原文版、担当者、レビュー待ち、承認済みを運用表や必要な管理項目に持たせます。CMSの標準機能だけで足りると決めつけず、利用するプランで確認します。

試用では、次の一連の操作を担当者自身で行います。

  1. 原文だけを公開し、翻訳は下書きにします。

  2. 翻訳の一項目を空にして、APIの返却値を確認します。

  3. 翻訳を公開後、原文だけを更新して修正待ちを把握できるか試します。

  4. 一つの言語を非公開にし、サイトの一覧・詳細・言語切り替えを確認します。

画面で翻訳を選べるだけでなく、配信APIと公開操作まで一致していれば、必要な運用に合うかを判断できます。

よくある質問

無料で多言語CMSを使えますか?

Contentful FreeとStoryblok Starterは2ロケールです。Sanityは言語追加そのものを課金しません。Strapi Communityも無料ですが、サーバー費用と保守を別に考えます。容量や公開工程も表の公式資料で確認してください。

フィールド単位とエントリ単位はどちらがよいですか?

共通の商品情報の一部だけを翻訳するならフィールド単位を、地域ごとに記事構成や公開時期が違うならエントリ単位を試します。保存単位だけで公開条件は決まらないため、言語別公開も別に確認します。

翻訳のない言語を指定すると必ず元の言語が返りますか?

返却は製品と設定によります。項目単位の代替と原稿全体の代替も異なります。表の空欄を自動代替と解釈せず、未翻訳・空欄・非公開の3ケースでAPIを確認します。

翻訳状態を管理できればレビュー表は不要ですか?

下書き・公開の区別だけでは、原文変更への追従や校正完了はわかりません。担当者と承認工程を標準機能で表せるかを試し、足りない項目を補います。