首页演练场案例展示应用文档博客
    • English英语
      EN
    • русский俄语
      RU
    • 日本語日语
      JA
    • français法语
      FR
    • 한국어韩语
      KO
    • 中文中文
      ZH
    • español西班牙语
      ES
    • Deutsch德语
      DE
    • العربية阿拉伯语
      AR
    • italiano意大利语
      IT
    • British English英国英语
      EN-GB
    • português葡萄牙语
      PT
    • हिन्दी印地语
      HI
    • Türkçe土耳其语
      TR
    • polski波兰语
      PL
    • Indonesia印度尼西亚语
      ID
    • Tiếng Việt越南语
      VI
    • українська乌克兰语
      UK
    /
    按框架筛选文档
    Alt+←
    为什么Intlayer?
    开始
    概念
    • Intlayer如何工作
    • 配置
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • 可视化编辑器
    • CMS
    • CI/CD集成
    • 翻译复数枚举条件性别插入文件嵌套MarkdownHTML函数获取
    • 每个语言环境的文件
    • 编译器
    • 自动填充
    • 测试
    • 打包优化
    环境
    • Next.js 14和应用路由器
      Next.js 15
      Next.js 无 locale URL
      Next.js和页面路由器
      编译器
    • Tanstack Start Solid
    • Astro和React
      Astro和Svelte
      Astro和Vue
      Astro和Solid
      Astro和Preact
      Astro和Lit
      Astro和Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt和Vue
    • Vite和Solid
    • SvelteKit
    • Vite和Preact
    • Vite和Vanilla JS
    • Vite和Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native和Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx和React
    Plugins
    • JSON
    • gettext (.po)
    VS Code扩展
    代理
    • MCP服务器
    • 代理技能
    发布
    • v8
    • v7
    • v6
    基准测试
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    博客
    问问题
    1. Documentation
    2. 概念
    3. 内容声明
    4. 文件
    Creation:2025-03-13Last update:2025-06-29
    将此文档参考到您的 AI 助手
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    使用您最喜欢的AI助手总结文档,并引用此页面和AI提供商

    版本历史

    1. "初始化历史记录"
      v5.5.102025/6/29

    此页面的内容已使用 AI 翻译。

    查看英文原文的最新版本
    编辑此文档

    如果您有改善此文档的想法,请随时通过在GitHub上提交拉取请求来贡献。

    文档的 GitHub 链接
    Copy

    复制文档 Markdown 到剪贴板

    文件内容 / 在 Intlayer 中嵌入文件

    文件嵌入的工作原理

    在 Intlayer 中,file 函数允许将外部文件内容嵌入到字典中。这种方法确保 Intlayer 识别源文件,实现与 Intlayer 可视化编辑器和 CMS 的无缝集成。与直接使用 import、require 或 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 中使用文件内容

    要在 React 组件中使用嵌入的文件内容,请从 react-intlayer 包中导入并使用 useIntlayer 钩子。该钩子会从指定的 key 中获取内容,并允许动态显示。

    **/*.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 文件,您可以结合使用 file、t() 和 md() 来定义 Markdown 内容文件的不同语言版本。

    **/*.content.ts
    复制代码

    复制代码到剪贴板

    import { file, t, md, type Dictionary } from "intlayer";
    
    const myMultilingualContent = {
      key: "my_multilingual_key",
      content: {
        myContent: md(
          t({
            zh: file("src/components/test.zh.md"),
            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 CLI 文档
    • React Intlayer 文档
    • Next Intlayer 文档
    • Markdown 内容文档
    • 确保文件与字典之间的同步,保持内容的完整性。

    额外资源

    有关在 Intlayer 中配置和使用文件嵌入的更多详细信息,请参阅以下资源:

    • Intlayer CLI 文档
    • React Intlayer 文档
    • Next Intlayer 文档
    • Markdown 内容文档
    • 翻译内容文档

    这些资源提供了关于文件嵌入、内容管理以及 Intlayer 与各种框架集成的更多见解。

    插入
    嵌套
    Alt+→

    在此页面

      讨论是匿名的,并会定期审查以解决常见问题。欢迎分享功能想法、对文档的反馈或任何与 Intlayer 相关的内容, 我们会利用这些意见来制定路线图并改进产品。