\n\n\n```\n\n \n \n\nTo use embedded file content in Svelte components, retrieve it via the `useIntlayer` hook. The store is accessed with `$`. Here's an example:\n\n```svelte fileName=\"**/*.svelte\"\n\n\n
\n
{$content.myFile}
\n
\n```\n\n
\n \n\nTo use embedded file content in Preact components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { FC } from \"preact\";\nimport { useIntlayer } from \"preact-intlayer\";\n\nconst FileComponent: FC = () => {\n const { myFile } = useIntlayer(\"my_key\");\n\n return (\n
\n
{myFile}
\n
\n );\n};\n\nexport default FileComponent;\n```\n\n
\n \n\nTo use embedded file content in SolidJS components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```tsx fileName=\"**/*.tsx\" codeFormat={[\"typescript\", \"esm\"]}\nimport type { Component } from \"solid-js\";\nimport { useIntlayer } from \"solid-intlayer\";\n\nconst FileComponent: Component = () => {\n const { myFile } = useIntlayer(\"my_key\");\n\n return (\n
\n
{myFile}
\n
\n );\n};\n\nexport default FileComponent;\n```\n\n
\n \n\nTo use embedded file content in Angular components, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"app.component.ts\" codeFormat=\"typescript\"\nimport { Component } from \"@angular/core\";\nimport { useIntlayer } from \"angular-intlayer\";\n\n@Component({\n selector: \"app-file\",\n template: `\n
\n
{{ content().myFile }}
\n
\n `,\n})\nexport class FileComponent {\n content = useIntlayer(\"my_key\");\n}\n```\n\n
\n \n\nTo use embedded file content with `vanilla-intlayer`, retrieve it via the `useIntlayer` hook. Here's an example:\n\n```typescript fileName=\"**/*.ts\" codeFormat={[\"typescript\", \"esm\"]}\nimport { installIntlayer, useIntlayer } from \"vanilla-intlayer\";\n\ninstallIntlayer();\n\nconst content = useIntlayer(\"my_key\").onChange((newContent) => {\n document.getElementById(\"file-content\")!.textContent = newContent.myFile;\n});\n\n// Initial render\ndocument.getElementById(\"file-content\")!.textContent = content.myFile;\n```\n\n \n\n\n## 多言語対応Markdownの例\n\n多言語対応の編集可能なMarkdownファイルをサポートするために、`file`を`t()`および`md()`と組み合わせて使用し、Markdownコンテンツファイルの異なる言語バージョンを定義できます。\n\n```typescript fileName=\"**/*.content.ts\" contentDeclarationFormat={[\"typescript\", \"esm\", \"commonjs\"]}\nimport { file, t, md, type Dictionary } from \"intlayer\";\n\nconst myMultilingualContent = {\n key: \"my_multilingual_key\",\n content: {\n myContent: md(\n t({\n en: file(\"src/components/test.en.md\"),\n fr: file(\"src/components/test.fr.md\"),\n es: file(\"src/components/test.es.md\"),\n })\n ),\n },\n} satisfies Dictionary;\n\nexport default myMultilingualContent;\n```\n\nこの設定により、ユーザーの言語設定に基づいてコンテンツを動的に取得することが可能になります。IntlayerのビジュアルエディターやCMSで使用される場合、システムはコンテンツが指定されたMarkdownファイルから来ていることを認識し、それらが編集可能なままであることを保証します。\n\n## Intlayerがファイルコンテンツを処理する方法\n\n`file`関数はNode.jsの`fs`モジュールに基づいており、指定されたファイルの内容を読み取り、辞書に挿入します。IntlayerのビジュアルエディターやCMSと組み合わせて使用される場合、Intlayerは辞書とファイルの関係を追跡できます。これによりIntlayerは以下を可能にします:\n\n- コンテンツが特定のファイルから来ていることを認識する。\n- リンクされたファイルが編集されたときに辞書のコンテンツを自動的に更新する。\n- ファイルと辞書の同期を確保し、コンテンツの整合性を維持します。\n\n## 追加リソース\n\nIntlayerでのファイル埋め込みの設定および使用方法の詳細については、以下のリソースを参照してください:\n\n- [Intlayer CLI ドキュメント](/ja/doc/concept/cli)\n- [React Intlayer ドキュメント](/ja/doc/environment/create-react-app)\n- [Next Intlayer ドキュメント](/ja/doc/environment/nextjs/15)\n- [Markdown コンテンツ ドキュメント](/ja/doc/concept/content/markdown)\n- ファイルと辞書の同期を確保し、コンテンツの整合性を保持します。\n\n## 追加リソース\n\nIntlayerでのファイル埋め込みの設定および使用方法の詳細については、以下のリソースを参照してください:\n\n- [Intlayer CLI ドキュメント](/ja/doc/concept/cli)\n- [React Intlayer ドキュメント](/ja/doc/environment/create-react-app)\n- [Next Intlayer ドキュメント](/ja/doc/environment/nextjs/15)\n- [Markdown コンテンツ ドキュメント](/ja/doc/concept/content/markdown)\n- [翻訳コンテンツ ドキュメント](/ja/doc/concept/content/translation)\n\nこれらのリソースは、ファイル埋め込み、コンテンツ管理、およびIntlayerのさまざまなフレームワークとの統合に関するさらなる洞察を提供します。\n","description":"file 関数を使用して外部ファイルをコンテンツ辞書に埋め込む方法を学びます。このドキュメントでは、Intlayerがファイルコンテンツを動的にリンクおよび管理する方法を説明します。","url":"https://intlayer.org/ja/doc/concept/content/file","datePublished":"2025-03-13","dateModified":"2025-06-29","version":"5.5.10","keywords":"ファイル, 国際化, ドキュメント, Intlayer, Next.js, JavaScript, React","license":"https://raw.githubusercontent.com/aymericzip/intlayer/refs/heads/main/LICENSE","audience":{"@type":"Audience","audienceType":"開発者、コンテンツマネージャー"}}
    著者:
    作成:2025-03-13最終更新:2025-06-29

    ファイルコンテンツ / Intlayerでのファイル埋め込み

    ファイル埋め込みの仕組み

    Intlayerでは、file 関数を使用して外部ファイルの内容を辞書に埋め込むことができます。この方法により、Intlayerはソースファイルを認識し、IntlayerビジュアルエディターやCMSとのシームレスな統合を可能にします。直接的な importrequire、または fs によるファイル読み込み方法とは異なり、file を使用するとファイルが辞書に関連付けられ、ファイルが編集されるとIntlayerがコンテンツを動的に追跡および更新できるようになります。

    ファイルコンテンツの設定

    Intlayerプロジェクトにファイルコンテンツを埋め込むには、コンテンツモジュール内で file 関数を使用します。以下に異なる実装例を示します。

    **/*.content.ts
    import { file, type Dictionary } from "intlayer";
    
    const myFileContent = {
      key: "my_key",
      content: {
        myFile: file("./path/to/file.txt"),
      },
    } satisfies Dictionary;
    
    export default myFileContent;

    React Intlayerでのファイルコンテンツの使用

    To use embedded file content in a React component, import and use the useIntlayer hook from the react-intlayer package. This retrieves the content from the specified key and allows it to be displayed dynamically.

    **/*.tsx
    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    const FileComponent: FC = () => {
    const { myFile } = useIntlayer("my_key");
    
    return (
      <div>
        <pre>{myFile}</pre>
      </div>
    );
    };
    
    export default FileComponent;

    多言語対応Markdownの例

    多言語対応の編集可能なMarkdownファイルをサポートするために、filet()およびmd()と組み合わせて使用し、Markdownコンテンツファイルの異なる言語バージョンを定義できます。

    **/*.content.ts
    import { file, t, md, type Dictionary } from "intlayer";
    
    const myMultilingualContent = {
      key: "my_multilingual_key",
      content: {
        myContent: md(
          t({
            en: file("src/components/test.en.md"),
            fr: file("src/components/test.fr.md"),
            es: file("src/components/test.es.md"),
          })
        ),
      },
    } satisfies Dictionary;
    
    export default myMultilingualContent;

    この設定により、ユーザーの言語設定に基づいてコンテンツを動的に取得することが可能になります。IntlayerのビジュアルエディターやCMSで使用される場合、システムはコンテンツが指定されたMarkdownファイルから来ていることを認識し、それらが編集可能なままであることを保証します。

    Intlayerがファイルコンテンツを処理する方法

    file関数はNode.jsのfsモジュールに基づいており、指定されたファイルの内容を読み取り、辞書に挿入します。IntlayerのビジュアルエディターやCMSと組み合わせて使用される場合、Intlayerは辞書とファイルの関係を追跡できます。これによりIntlayerは以下を可能にします:

    • コンテンツが特定のファイルから来ていることを認識する。
    • リンクされたファイルが編集されたときに辞書のコンテンツを自動的に更新する。
    • ファイルと辞書の同期を確保し、コンテンツの整合性を維持します。

    追加リソース

    Intlayerでのファイル埋め込みの設定および使用方法の詳細については、以下のリソースを参照してください:

    追加リソース

    Intlayerでのファイル埋め込みの設定および使用方法の詳細については、以下のリソースを参照してください:

    これらのリソースは、ファイル埋め込み、コンテンツ管理、およびIntlayerのさまざまなフレームワークとの統合に関するさらなる洞察を提供します。