用途:为 RedisInsight 前端界面提供统一的国际化规范,英文(en)为源语言,保加利亚文(bg)为第二语言。
主要能力:使用 i18next + react-i18next 管理文案;语言文件位于 redisinsight/ui/src/i18n/locales/en.json 与 bg.json,采用扁平点号键;i18next.d.ts 依据 en.json 增强类型,使 t('…') 键名可被类型检查。
使用方式:React 组件内用 useTranslation() 的 t;非 React 代码(redux thunk、工厂、工具、消息构造器)用 import i18n from 'uiSrc/i18n' 的单例;句中含标记或链接时用 <Trans> 并映射 components;插值用 {{vars}} 传值;复数使用 count 与 key_one/key_other,不手写分支。后端错误按 errorCode 查 api.error.code.<n>.message/.title,resource 对象自动填充插值。
命名空间:按页面(如 browser.、workbench.、rdi.、settings.)或按来源(api.、notification.、common.)划分,共享标签放 common.。
限制与注意:en/bg 需保持键一致并按字母排序;空 bg 值可作待翻译占位并回退英文;动态键需 as never 转换且不会被提取工具发现;不要硬编码用户可见字符串,不要手改键顺序,不要手写复数逻辑。相关命令:npm run i18n:extract、npm run i18n:check、npm run type-check、npm run lint:ui;URL 追加 ?lang=bg 可预览保加利亚文。