用途:在 React 与原生 JavaScript 应用中按最佳实践实现国际化(i18n),覆盖消息标记、提取、翻译、编译与语言激活的完整流程。
主要能力:提供 Trans、Plural、Select、useLingui 等 React 宏,以及 t、msg、plural、select 等核心宏;支持复数与精确匹配(_N)、日期与数字本地化格式化(i18n.date、i18n.number)、显式消息 ID、context 消歧与译者注释;给出 Next.js App Router/RSC 的服务端初始化规则。
使用方式:用 I18nProvider 包裹应用;用宏标记待翻译文本;执行 lingui extract 提取消息;翻译目录后执行 lingui compile 编译;在应用中加载并激活语言。配置写在 lingui.config.js,用 defineConfig 指定 sourceLocale、locales 与 catalogs 路径。模块级常量用 msg 做惰性翻译,非 JSX 字符串用 useLingui 的 t。
适用场景:React 组件文本、元素属性、提示与函数参数翻译,动态切换语言,按需加载语言目录,以及 Next.js 服务端组件中的翻译。
限制与注意:优先使用宏而非运行时组件以减小打包体积;消息中避免复杂表达式,否则会退化为占位符;宏不能在模块级使用,需改用 msg;Next.js 中需在服务端布局与页面都初始化语言,并确保先 i18n.activate(locale) 再 setI18n(i18n);可安装 eslint-plugin-lingui 检查常见错误。具体版本、收费与平台支持资料未提供。