Polyglot 国际化与本地化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/polyglot-zh。
技能介绍
要解决什么问题
界面里散落着硬编码中文或英文、日期数字按单一 locale 格式化、复数用 if (n === 1) 猜规则——这些做法在多语言上线时会直接变成漏翻、词序错乱和 RTL 布局炸裂。Polyglot 把 国际化(i18n) 与 本地化(l10n) 当成可执行的工程契约,而不是「后期找翻译补文案」。
技能如何工作
它围绕项目既有的标准 i18n 库,按「配方」拆成可重复步骤:
- 字符串提取(extract):把 UI 里的字面量迁到
t(),变量走插值,禁止拼接翻译片段。 - 键与消息格式(keys / pluralize):语义嵌套的键名空间;复数、性别、选择模式统一用 ICU MessageFormat,不假设英语复数规则。
- Intl 与区域(intl / locale):金额、日期、数字等区域敏感展示走 Intl API;BCP 47 与
Accept-Language做 locale 协商,避免硬编码en-US。 - RTL(rtl):通过
dir与 CSS 逻辑属性支撑从右到左排版。 - 翻译工作流(translate / mobile):TMS 集成与移动端原生 i18n 有对应参考路径。
核心原则写得很硬:语言即文化、上下文为王(同词不同译要注释给翻译)、渐进采用(先结构后填译)、发布前 每个语言环境 100% 覆盖率;UI 容器要预留约 40% 文本扩展空间。
边界与注意点
始终执行:项目标准库、插值、ICU、Intl、翻译上下文注释、dir 控制书写方向。
绝对禁止:组件内硬编码文案、翻译技术标识符/API 键、滥用 common.text 这类泛化键、拼接已翻译片段、覆盖率不足仍发布。
使用场景
- 出海版 Web 要新增多语言,需把组件里硬编码文案批量改成 `t()` 并整理语义嵌套的翻译键
- 订单数、库存等展示要按 CLDR 写 ICU MessageFormat,不能再用英语单复数的 `if` 分支
- 面向阿拉伯语用户,要在现有页面上配置 `dir`、逻辑属性 CSS,并检查 RTL 下布局是否错位
- 接 TMS 前要先做伪本地化并核对各 locale 翻译覆盖率是否达到 100%,歧义文案需附翻译注释
适合人员
- 负责出海 SaaS 前端、要把硬编码文案迁到项目标准 i18n 库并统一插值写法的前端工程师
- 同时维护 Web 与 iOS/Android 文案资源、需要按参考流程对接 TMS 的移动端开发者
- 把关各语言环境日期金额等 Intl 格式化,以及 BCP 47 / Accept-Language 协商的本地化工程师
- 发版前要做字符串提取审计、复数键规范检查,并确认 UI 能容纳文案扩展的技术负责人