用途:为 OneKey 项目提供国际化(i18n)与翻译管理规范,适用于添加翻译、显示文本、处理 locale 或管理翻译键的场景。
主要能力与规则:明确禁止修改自动生成文件,包括 @onekeyhq/shared/src/locale/enum/translations.ts 与 @onekeyhq/shared/src/locale/json/*.json;禁止硬编码文本字符串,必须使用翻译键。违规可能导致翻译系统损坏、翻译工作丢失、i18n 流水线构建失败及国际用户本地化中断。
使用方式:组件内使用 useIntl 与 ETranslations,例如 intl.formatMessage({ id: ETranslations.global__confirm });组件外使用 appLocale.intl.formatMessage。翻译流程为:设计提供翻译键(如 prime::restore_purchases),运行 yarn fetch:locale,将键格式转换为 ETranslations.prime_restore_purchases,再在代码中使用。翻译键命名模式为 namespace__action_description,如 global__confirm、swap__select_token。
关键文件:翻译枚举 packages/shared/src/locale/enum/translations.ts,locale JSON packages/shared/src/locale/json/,应用 locale packages/shared/src/locale/appLocale.ts,默认 locale packages/shared/src/locale/getDefaultLocale.ts。相关技能包括 /1k-date-formatting 与 /1k-coding-patterns。详细指南见 i18n.md。