用途:该技能为 OneKey 项目提供国际化与翻译规范,适用于新增文案、调用翻译或处理 locale 的场景。
主要能力与规则:翻译枚举文件 @onekeyhq/shared/src/locale/enum/translations.ts 与 locale JSON 文件均为自动生成,明确禁止手动修改,否则会破坏 i18n 系统、丢失翻译并导致构建失败;组件中禁止硬编码文本,必须使用翻译键;不得直接向枚举文件添加翻译键。
使用方式:在组件内用 useFormatMessage 或 formatMessage 显示翻译文本,翻译键遵循 namespace__action_or_description 命名模式,如 global__confirm、swap__select_token。组件内示例使用 react-intl 的 useIntl 配合 ETranslations;组件外用 appLocale.intl.formatMessage。更新翻译键时运行 yarn fetch:locale 从远端拉取最新键并更新枚举。设计稿键如 prime::restore_purchases 转为代码时把 :: 替换为下划线,使用 ETranslations.prime_restore_purchases。
适用场景:OneKey 各平台(web、native、桌面、扩展)的本地化开发。系统采用自动语言检测与回退,回退链在 getDefaultLocale.ts 中实现。
限制:涉及具体收益、收费与价格等信息暂未提供;须严格遵守禁止事项,避免破坏翻译流程。