このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "「ライブ同期」セクションを専用ページ(live-sync.md)に移動し、ここには簡単な紹介とリンクのみを残した"v9.0.02026/7/8
- "「セルフホスティング」セクションを追加: Docker Composeブートストラップ、サービスインベントリ、SDK設定、オプション機能、アップグレードノート"v9.0.02026/6/30
- "プログラムによるCMSアクセスに関する @intlayer/api SDK (createIntlayerCMS) セクションを追加"v9.0.02026/6/29
- "ライブ同期のドキュメントを追加"v6.0.12025/9/22
- "`hotReload` フィールドを `liveSync` に置き換え"v6.0.02025/9/4
- "履歴を初期化"v5.5.102025/6/29
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
Intlayer コンテンツ管理システム(CMS)ドキュメント
Intlayer CMSは、Intlayerプロジェクトのコンテンツを外部化できるアプリケーションです。
そのために、Intlayerは「遠隔辞書(distant dictionaries)」の概念を導入しています。

目次
遠隔辞書の理解
Intlayerは「ローカル辞書」と「遠隔辞書」を区別しています。
「ローカル」辞書とは、Intlayerプロジェクト内で宣言されている辞書のことです。例えば、ボタンの宣言ファイルやナビゲーションバーなどです。この場合、コンテンツは頻繁に変更されることを想定していないため、コンテンツを外部化することは意味がありません。
「遠隔」辞書とは、Intlayer CMSを通じて管理される辞書のことです。これは、チームがウェブサイト上で直接コンテンツを管理できるようにするために役立ち、さらにA/Bテスト機能やSEOの自動最適化を利用することも目的としています。
ビジュアルエディターとCMSの違い
Intlayer Visual エディターは、ローカル辞書のコンテンツをビジュアルエディターで管理できるツールです。変更が行われると、コンテンツはコードベースに置き換えられます。つまり、アプリケーションが再ビルドされ、ページがリロードされて新しいコンテンツが表示されることを意味します。
これに対して、Intlayer CMSは、遠隔辞書のコンテンツをビジュアルエディターで管理できるツールです。変更が行われても、コンテンツはコードベースに影響を与えません。そして、ウェブサイトは自動的に変更されたコンテンツを表示します。
統合
パッケージのインストール方法の詳細については、以下の該当セクションを参照してください。
Next.jsとの統合
Next.jsとの統合については、セットアップガイドを参照してください。
Create React Appとの統合
Create React Appとの統合については、セットアップガイドを参照してください。
Vite + Reactとの統合
Vite + Reactとの統合については、セットアップガイドを参照してください。
設定
Intlayer CMSにログインするには、次のコマンドを実行してください:
コードをクリップボードにコピー
これにより、デフォルトのブラウザが開き、認証プロセスを完了し、Intlayerサービスを使用するために必要な認証情報(Client IDとClient Secret)を受け取ることができます。
Intlayerの設定ファイル内で、CMSの設定をカスタマイズできます:
コードをクリップボードにコピー
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
// ... その他の設定
editor: {
/**
* 必須
*
* アプリケーションのURL。
* これはビジュアルエディターがターゲットとするURLです。
*/
applicationURL: process.env.INTLAYER_APPLICATION_URL,
/**
* 必須
*
* エディターを有効にするためにクライアントIDとクライアントシークレットが必要です。
* これらはコンテンツを編集しているユーザーを識別するために使用されます。
* Intlayerダッシュボードのプロジェクト(https://app.intlayer.org/projects)で新しいクライアントを作成することで取得できます。
* clientId: process.env.INTLAYER_CLIENT_ID,
* clientSecret: process.env.INTLAYER_CLIENT_SECRET,
*/
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* 任意
*
* Intlayer CMSをセルフホスティングしている場合、CMSのURLを設定できます。
*
* Intlayer CMSのURL。
* デフォルトでは https://intlayer.org に設定されています。
*/
cmsURL: process.env.INTLAYER_CMS_URL,
/**
* オプション
*
* Intlayer CMSをセルフホスティングしている場合、バックエンドのURLを設定できます。
*
* Intlayer CMSのURL。
* デフォルトでは https://back.intlayer.org に設定されています。
*/
backendURL: process.env.INTLAYER_BACKEND_URL,
},
};
export default config;
クライアントIDとクライアントシークレットをお持ちでない場合は、Intlayerダッシュボード - プロジェクトで新しいクライアントを作成して取得できます。
利用可能なすべてのパラメータについては、設定ドキュメントを参照してください。
CMSの使用方法
設定のプッシュ
Intlayer CMSを設定するには、intlayer CLIコマンドを使用できます。
コードをクリップボードにコピー
intlayer.config.ts設定ファイルで環境変数を使用している場合は、--env引数を使って希望の環境を指定できます:
コードをクリップボードにコピー
このコマンドは設定をIntlayer CMSにアップロードします。
辞書をプッシュする
ロケール辞書をリモート辞書に変換するには、intlayer CLIコマンドを使用できます。
コードをクリップボードにコピー
intlayer.config.ts設定ファイルで環境変数を使用している場合は、--env引数を使って希望の環境を指定できます。
コードをクリップボードにコピー
このコマンドは初期コンテンツの辞書をアップロードし、Intlayer プラットフォームを通じて非同期に取得および編集できるようにします。
辞書の編集
その後、Intlayer CMS で辞書を確認および管理できるようになります。
@intlayer/api SDK を使用したプログラムによるアクセス
CLI およびビジュアルエディターを超えて、Intlayer は @intlayer/api パッケージで型付き SDK を提供しています。これにより、CMS をヘッドレスコンテンツデータベースとして扱うことができます。プロジェクトの取得、辞書の取得、および独自のアプリケーション、スクリプト、または CI パイプラインから直接、それらをプッシュまたは更新できます。
SDK は認証を処理します。clientId と clientSecret が利用可能であれば(Intlayer の設定または環境変数で)、OAuth2 アクセストークンを自動的に取得および更新し、すべてのリクエストに署名します。
インストール
コードをクリップボードにコピー
仕組み: オーセンティケーター + エンドポイント
SDK は、バンドルサイズを小さくするために、意図的に2つの別々のインポートに分割されています。
createIntlayerCMS— 軽量なオーセンティケーターを作成します。これは認証情報と管理されたアクセストークンのみを保持し、特定のドメインについては何も知りません。dictionaryEndpoint、projectEndpoint、… — ドメインごとのエンドポイントバインダーで、それぞれ独自のサブパス(@intlayer/api/dictionary、@intlayer/api/project、…)からインポートされます。必要なエンドポイントにオーセンティケーターを渡します。
各エンドポイントは個別にインポートされるため、バンドルには実際に使用するドメインのみが含まれます。dictionaryEndpoint をインポートしても、プロジェクト、AI、その他のドメインクライアントがプルインされることはありません。
コードをクリップボードにコピー
WARNING CMS の認証情報 (clientId/clientSecret) はコンテンツへの書き込みアクセスを許可します。オーセンティケーターはサーバー側(サーバーアクション、ルートハンドラー、スクリプト、CI)でのみ作成してください。クライアント側コードにインポートしたり、認証情報をブラウザに公開したりしないでください。
ビルド時の設定に依存しない場合は、認証情報を明示的に渡します。
コードをクリップボードにコピー
認証情報は、Intlayer Dashboard - Projects で新しいアクセスキーを作成して取得できます。
プロジェクトの取得
コードをクリップボードにコピー
辞書の取得
コードをクリップボードにコピー
辞書のプッシュと更新
CMS をデータベースとして使用してコンテンツを書き戻します。
コードをクリップボードにコピー
ヒント: 繰り返しを避けるためにバインドされたエンドポイントを再利用します。
typescriptコードをコピーコードをクリップボードにコピー
単一メソッドの抽出
すべてのエンドポイントメソッドはすでに認証されており、スタンドアロンであるため(独自のトークン処理を保持しているため)、1つを抽出して渡すことができます。例えば、依存関係として注入する場合などです。
コードをクリップボードにコピー
ライブ同期
ライブ同期は、アプリが実行時に CMS のコンテンツ変更を反映できるようにします。再ビルドや再デプロイは不要です。有効にすると、更新がライブ同期サーバーにストリームされ、アプリケーションが読み込む辞書が更新されます。
設定方法、Live Sync サーバーの起動、ローカル開発ワークフロー、制約事項などの完全なガイドは、Live Sync ドキュメントを参照してください。
セルフホスティング
Intlayer は、独自のインフラストラクチャ上で完全に実行できます。Docker Compose を使用して、フルスタック(ダッシュボード、API、データベース、オブジェクトストレージ、メール)を1行でブートストラップできます。
コードをクリップボードにコピー
完全なセットアップガイド、環境変数リファレンス、アップグレード手順、バックアップ/復元手順については、セルフホスティングガイドを参照してください。
デバッグ
CMSで問題が発生した場合は、以下を確認してください:
アプリケーションが稼働していること。
editorの設定がIntlayerの設定ファイルで正しく行われていること。- 必須フィールド:
- アプリケーションのURLは、エディター設定の
applicationURLと一致している必要があります。 - CMSのURL
- アプリケーションのURLは、エディター設定の
- 必須フィールド:
プロジェクトの設定がIntlayer CMSにプッシュされていることを確認してください。
ビジュアルエディターはiframeを使用してウェブサイトを表示します。ウェブサイトのコンテンツセキュリティポリシー(CSP)がCMSのURLを
frame-ancestors(デフォルトは 'https://app.intlayer.org')として許可していることを確認してください。エディターのコンソールでエラーがないか確認してください。
