首页演练场案例展示应用文档博客
    • 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-02-07Last update:2025-06-29
    将此文档参考到您的 AI 助手
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

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

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

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

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

    文档的 GitHub 链接
    Copy

    复制文档 Markdown 到剪贴板

    条件内容 / Intlayer 中的条件

    条件如何工作

    在 Intlayer 中,通过 cond 函数实现条件内容,该函数将特定条件(通常是布尔值)映射到其对应的内容。这种方法使您能够根据给定条件动态选择内容。当与 React Intlayer 或 Next Intlayer 集成时,会根据运行时提供的条件自动选择适当的内容。

    设置条件内容

    要在您的 Intlayer 项目中设置条件内容,请创建一个包含条件定义的内容模块。以下是各种格式的示例。

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

    复制代码到剪贴板

    import { cond, type Dictionary } from "intlayer";
    
    const myConditionalContent = {
      key: "my_key",
      content: {
        myCondition: cond({
          true: "当条件为真时的内容",
          false: "当条件为假时的内容",
          fallback: "当条件不满足时的内容", // 可选
        }),
      },
    } satisfies Dictionary;
    
    export default myConditionalContent;
    如果未声明 fallback,当条件不满足时将使用最后声明的键作为 fallback。

    在 React Intlayer 中使用条件内容

    要在 React 组件中使用条件内容,请从 react-intlayer 包中导入并使用 useIntlayer 钩子。此钩子会获取指定键的内容,并允许您传入条件以选择适当的输出。

    **/*.tsx
    复制代码

    复制代码到剪贴板

    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    const ConditionalComponent: FC = () => {
      const { myCondition } = useIntlayer("my_key");
    
      return (
        <div>
          <p>
            {
              /* 输出: 当条件为真时的内容 */
              myCondition(true)
            }
          </p>
          <p>
            {
              /* 输出: 当条件为假时的内容 */
              myCondition(false)
            }
          </p>
          <p>
            {
              /* 输出: 当条件不满足时的内容 */
              myCondition("")
            }
          </p>
          <p>
            {
              /* 输出: 当条件不满足时的内容 */
              myCondition(undefined)
            }
          </p>
        </div>
      );
    };
    
    export default ConditionalComponent;

    其他资源

    有关配置和使用的更多详细信息,请参考以下资源:

    • Intlayer CLI 文档
    • React Intlayer 文档
    • Next Intlayer 文档

    这些资源提供了在各种环境和框架中设置和使用 Intlayer 的进一步见解。

    枚举
    性别
    Alt+→

    在此页面

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