用途:为 Kibana 的 React 组件与服务端代码添加国际化,统一处理所有用户可见文本。
主要能力:提供 i18n.translate(非 JSX 场景)、i18n.formatList(本地化列表)与 <FormattedMessage>(JSX 场景)等 API;支持复数、select 分支、内联日期/时间/数字格式化,以及 <FormattedDate>、<FormattedTime>、<FormattedNumber>、<FormattedRelative>、<FormattedRelativeTime> 等格式化组件。
使用方式:从 @kbn/i18n 导入 i18n,从 @kbn/i18n-react 导入 FormattedMessage 等,禁止直接从 react-intl 导入。JSX 渲染用 <FormattedMessage>,字符串属性(aria-label、title、placeholder)、服务端、回调与事件处理用 i18n.translate()。消息 ID 结构为 {namespace}.{area}.[{subArea}].{descriptiveName}{TypeSuffix},须以 .i18nrc.json 中的命名空间开头并以类型后缀结尾。修改后运行 node scripts/i18n_check --fix 校验。
限制:id 与 defaultMessage 必须是静态字面量,values 键须与占位符完全匹配;不得拆分单句或相互引用的句子;避免 injectI18n、intl.formatMessage、FormattedPlural 等旧模式。具体收费、平台与效果暂未提供。