返回

gt-react@10.8.0

Ernest McCarter avatarErnest McCarter
gt-react10.8.0功能开关i18n翻译

概述

gt-react 10.8.0 中,我们新增了通过 enableI18n 字段控制的功能开关支持。这样你就可以按需禁用国际化,并且同时支持同步和异步加载模式。


同步行为

enableI18n 设为 false 时,i18n 功能会按以下方式被禁用:

  • 将区域设置列表限制为仅默认区域设置
  • 将用户的区域设置设为默认区域设置
<GTProvider enableI18n={false}>
  {/* i18n 已禁用 - 仅默认区域设置可用 */}
</GTProvider>

异步行为

对于动态功能开关,使用 enableI18nLoaded 指示加载状态:

<GTProvider 
  enableI18n={featureFlag} 
  enableI18nLoaded={isLoaded}
>
  {/* 内容 */}
</GTProvider>

enableI18nLoaded 不为 undefined 时:

  • false:功能开关正在加载中 (使用默认的 enableI18n 值)
  • true:功能开关已加载完成

在加载过程中,库会检查 generaltranslation.enable-i18n cookie 来确定当前状态。加载完成后,会优先采用显式指定的 enableI18n 值。


SSG/SSR 注意事项

对于 SSG,由于静态生成无法判断运行时功能开关的状态,因此当 enableI18n 的默认值为 false 时,首次渲染会被跳过。

SSR 目前的行为也类似,不过我们计划在后续版本中为 Next.js Pages Router 提供正式的 SSR 支持。对于 Next.js App Router,请改用 gt-next