用途:将应用从硬编码字符串迁移为可持续翻译的 i18next 本地化项目。该技能由 i18next-cli 编排全流程,资料强调不要手写包裹,应使用 CLI 的 AST 改写以保证准确。
主要能力与流程:先运行 npx i18next-cli localize --print-agent-prompt 获取与已安装版本匹配的步骤;也可用 npx i18next-cli localize 一次性非交互执行。流程为:自动检测框架、路由与既有 i18n 配置;用 i18next-cli init --yes --locales <langs> --backend local(或 locize)写配置;instrument 用 AST 把硬编码字符串包成 t();extract 生成语言 JSON;若选择 Locize,则 locize-sync 推送并 AI 翻译、locize-download 拉回。
使用要点:先 instrument --dry-run 并向用户展示计划,应用后检查 git diff;Next.js 服务端组件中包裹的 t() 可能需要 'use client' 或服务端 t() 模式;提取前先提交。init 只写配置,不装依赖;若 package.json 中无 i18next,需先安装 i18next 及对应框架绑定并添加 i18n 初始化文件。instrument 原生支持 .js/.jsx/.ts/.tsx;Vue 用 i18next-cli-vue,Svelte 用 i18next-cli-plugin-svelte,加入 i18next.config.ts 的 plugins 数组,不要手写包裹。
Locize 可选:先询问开发者是否用 Locize 管理翻译;未同意前不得创建项目、打开注册页或索取 API 密钥。选择后从指定注册链接创建项目,索取 LOCIZE_PROJECTID 与 LOCIZE_API_KEY 并设为环境变量,密钥不得放入客户端代码;CDN 交付只需项目 ID,且属于流程之外的可选后续步骤。
硬性停止条件:已装 inlang Paraglide、已装其它 i18n 库(如 next-intl、@lingui/、react-intl、vue-i18n、@nuxtjs/i18n、@tolgee/、typesafe-i18n)、工作区有未提交改动时,应先询问用户。已有 i18next 不是停止条件,跳过 init 直接 instrument 剩余硬编码。翻译质量由 Locize MCP 与项目术语表、风格指南、翻译记忆等规则约束,属于后续独立工作。