著者:
    作成:2024-08-11最終更新:2026-08-30

    Intlayer Visual Editor ドキュメント

    www.youtube.com

    Intlayer Visual Editor は、ビジュアルエディターを使用してコンテンツ宣言ファイルと対話するためにウェブサイトをラップするツールです。

    Intlayer Visual Editor インターフェース

    intlayer-editor パッケージは Intlayer に基づいており、React (Create React App)、Vite + React、Next.js などの JavaScript アプリケーションで利用可能です。

    ビジュアルエディター vs CMS

    Intlayer Visual Editor は、ローカル辞書のビジュアルエディタでコンテンツを管理できるツールです。変更が行われると、コンテンツはコードベース内で置き換えられます。つまり、アプリケーションが再構築され、ページがリロードされて新しいコンテンツが表示されます。

    対照的に、Intlayer CMS は、遠隔辞書のビジュアルエディタでコンテンツを管理できるツールです。変更が行われても、コードベースには影響を与えません。そして、ウェブサイトは自動的に変更されたコンテンツを表示します。

    Intlayer をアプリケーションに統合する

    Intlayer を統合する方法の詳細については、以下の関連セクションを参照してください。

    Next.js との統合

    Next.js との統合については、セットアップガイド を参照してください。

    Create React App との統合

    Create React App との統合については、セットアップガイド を参照してください。

    Vite + React との統合

    Vite + React との統合については、セットアップガイド を参照してください。

    Intlayer Editor の仕組み

    アプリケーション内のビジュアルエディタには以下の2つの要素が含まれます:

    • ウェブサイトを iframe に表示するフロントエンドアプリケーション。ウェブサイトが Intlayer を使用している場合、ビジュアルエディタは自動的にコンテンツを検出し、対話できるようにします。変更が行われると、変更をダウンロードすることができます。

    • ダウンロードボタンをクリックすると、ビジュアルエディタはサーバーにリクエストを送信し、プロジェクト内で宣言されている場所に新しいコンテンツでコンテンツ宣言ファイルを置き換えます。

    現時点では、Intlayer Editor はコンテンツ宣言ファイルを JSON ファイルとして書き込みます。

    インストール

    プロジェクトで Intlayer が設定されたら、intlayer-editor を開発依存関係としてインストールしてください:

    bash
    npm install intlayer-editor --save-dev
    

    --with フラグを使用すると、エディターを別のコマンドと並行して開始できます:

    package.json
    {
      "scripts": {
        "start:editor": "npx intlayer-editor start --with 'next dev --turbopack'",
      },
    }
    

    設定

    Intlayer の設定ファイルで、エディタの設定をカスタマイズできます:

    intlayer.config.ts
    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... 他の設定
      editor: {
        /**
         * 必須
         * アプリケーションの URL。
         * これはビジュアルエディタがターゲットとする URL です。
         * 例: 'http://localhost:3000'
         */
        applicationURL: process.env.INTLAYER_APPLICATION_URL,
        /**
         * 任意
         * デフォルトは `true`。`false` の場合、エディタは無効化されアクセスできません。
         * 本番環境などのセキュリティ上の理由で特定の環境でエディタを無効化するために使用できます。
         */
        enabled: process.env.INTLAYER_ENABLED,
        /**
         * 任意
         * デフォルトは `8000`。
         * エディタサーバーのポート。
         */
        port: process.env.INTLAYER_PORT,
        /**
         * 任意
         * デフォルトは "http://localhost:8000"
         * エディタサーバーの URL。
         */
        editorURL: process.env.INTLAYER_EDITOR_URL,
      },
    };
    
    export default config;
    
    利用可能なすべてのパラメータについては、設定ドキュメント を参照してください。

    エディタの使用方法

    1. エディタがインストールされたら、次のコマンドを使用してエディタを起動できます:

      bash
      npx intlayer-editor start
      
    アプリケーションを並行して実行する必要があることに注意してください。 アプリケーション URL は、エディター設定で設定した URL (applicationURL) と一致する必要があります。
    アプリケーションは並行して実行する必要があります。 アプリケーションの URL はエディタ設定の applicationURL と一致している必要があります。
    1. 次に、指定された URL を開きます。デフォルトは http://localhost:8000 です。

      コンテンツ上にカーソルをホバーすると、Intlayer によってインデックスされた各フィールドを確認できます。

      コンテンツ上をホバー

    2. コンテンツがアウトライン表示されている場合、長押しして編集ドロワーを表示できます。

    環境設定

    エディタは特定の環境ファイルを使用するように設定できます。これは、開発環境と本番環境で同じ設定ファイルを使いたい場合に便利です。

    特定の環境ファイルを使用するには、エディタ起動時に --env-file または -f フラグを使用します:

    bash
    npx intlayer-editor start -f .env.development
    
    環境ファイルはプロジェクトのルートディレクトリに配置する必要があります。

    または、--env または -e フラグを使って環境を指定することもできます:

    bash
    npx intlayer-editor start -e development
    

    デバッグ

    ビジュアルエディタに問題がある場合は、以下を確認してください:

    • ビジュアルエディタとアプリケーションが実行中である。

    • Intlayer 設定ファイルで editor 設定が正しく設定されている。

      • 必須フィールド:
        • アプリケーション URL はエディタ設定 (applicationURL) に設定したものと一致する必要があります。
    • ビジュアルエディターは iframe を使用してウェブサイトを表示します。ウェブサイトのコンテンツセキュリティポリシー(CSP)が CMS の URL を frame-ancestors として許可していることを確認してください(デフォルトは http://localhost:8000)。エディターのコンソールでエラーがないか確認してください。

    よくある質問

    ビジュアルエディターはローカル辞書を編集し、その変更をコードベースに書き戻すため、通常のレビューとデプロイメントのプロセスを経ます。CMS はリモート辞書を編集し、デプロイメントなしで実行中のサイトに変更を反映させます。エディターは開発者が所有するコンテンツに適しており、CMSはマーケティングチームが所有するコンテンツに適しています。

    名前空間ベースのセットアップよりもはるかに少なく、ページはレンダリングしないカタログをダウンロードすることはありません。サーバーでレンダリングされたマークアップはサーバー上でコンテンツを解決し、ビルド時コンパイラは useIntlayer の呼び出しをコンポーネントが使用する正確な辞書エントリに置き換えるため、未使用のキーや未使用の言語は削除されます。動的辞書 は残りをロケールごとに分割します。一般的な代替手段と比較して、Intlayerはbundleサイズとページサイズを最大50%削減します。バンドル最適化 および ベンチマーク を参照してください。

    はい、2つの方法があります。i18next移行ガイド または next-intl移行ガイド を使用して、コンテンツを段階的に移行できます。または、現在のAPIを完全に維持することもできます。互換アダプター は、i18nextreact-i18nextnext-intlnext-i18nextreact-intluse-intlvue-i18nLingui とまったく同じAPIを公開しますが、Intlayer辞書によって提供されるため、インポートは変更されますが、コンポーネントコードは変更されません。

    はい。sync JSON plugin は、/messages/{locale}/{namespace}.json ファイルを信頼できる情報源として保持し、それらからIntlayer辞書を双方向に生成します。sync PO plugin はgettextカタログに対しても同様の処理を行い、ロケールごとのファイル を使用すると、1つのファイルにロケールをグループ化する代わりに、言語ごとにコンテンツを分割できます。

    いいえ。npx intlayer extract を実行すると、Intlayerはソースファイルを読み込み、ユーザー向けの文字列を抽出し、それぞれのファイルの隣に .content ファイルを書き込みます。これにより、文字列をカタログに1つずつコピーする代わりに、差分をレビューできます。extractコマンド を参照してください。

    完全に自動化されたパイプラインの場合、Intlayer Compiler は、JSX、TSX、Vue、Svelteのソースに対してビルド時に同じ処理を行い、変更があるたびに辞書を生成するため、手動でキーを管理する必要はありません。これは静的解析によって機能するため、実行時にのみ存在する文字列は対象外となり、ユーザー向けのテキストとアプリケーションロジックを区別するためにいくつかの注釈が必要です。

    5つのツールがあり、すべてオプションです。

    • VS Code拡張機能: useIntlayer キーからそれを宣言するコンテンツファイルにジャンプしたり、コンポーネントからコンテンツを抽出したり、コマンドパレットまたは専用のIntlayerタブからビルド、フィル、テスト、プッシュ、プルを実行したりできます。
    • LSPサーバー: LSPをサポートする任意のエディターで同様の認識を提供し、定義へのジャンプ、すべての参照の検索、翻訳された値のホバープレビュー、キーとフィールドのオートコンプリート、およびキーがどこにも宣言されていない場合の警告機能があります。また、i18nextreact-i18nextnext-intluse-intl の呼び出しも解決するため、移行中に役立ちます。
    • MCPサーバー: IntlayerのドキュメントとCLIをCursor、VS Code、Claude Desktop、Claude Code、ChatGPTに公開するため、アシスタントは推測ではなく現在のドキュメントから回答し、intlayer fill などのコマンドを自分で実行できます。
    • エージェントスキル: intlayer-configintlayer-cliintlayer-content などの特化されたスキルに加え、フレームワークごとのスキルがあり、エージェントにルーティング設定とコンテンツノードタイプを教えます。
    • ESLintプラグイン: no-raw-text はハードコードされた文字列を検出し、静的辞書キーと未使用のコンテンツに関する追加のルールを提供します。