SuperAPI AI 工具集

internationalization-helper

编程与开发

查看项目

更新于 10-15 16:46

技能介绍

用途:帮助在多语言应用中管理国际化(i18n)与本地化(l10n),包括提取硬编码字符串、维护翻译文件、检查语言区域覆盖情况。适用于用户要求添加 i18n 支持、新增语言、查找未翻译字符串或管理翻译文件的场景。

主要能力:

  1. 检测 i18n 框架:JavaScript/React 支持 react-i18next、react-intl、i18next、LinguiJS;Vue 支持 vue-i18n;Python 支持 gettext、Django i18n、Flask-Babel;Ruby/Rails 使用内置 I18n gem。通过导入、配置文件或翻译目录识别。
  2. 查找硬编码字符串:搜索 JSX/模板标签中的文本、警告/错误消息、表单标签与占位符、按钮文本、校验消息;排除代码注释、console.log 和测试字符串。
  3. 提取到翻译文件:支持 react-i18next 的 JSON 格式与 gettext 的 .po 格式。
  4. 组织翻译键:按功能命名空间(如 users.profile.title)、分组通用字符串(common.buttons.save)、描述上下文而非内容(errors.login.invalid)、保持命名一致。
  5. 检查翻译覆盖率:对比各语言文件找出缺失键,例如 en.json 150 个键、es.json 142 个(缺 8 个)。
  6. 处理复数:不同语言复数规则不同,示例 t('items', { count: 0 })。
  7. 日期、时间、数字格式化:使用 Intl.NumberFormat、Intl.DateTimeFormat 等区域感知格式化。
  8. RTL 支持:针对阿拉伯语、希伯来语,使用 direction: rtl、<html dir="rtl">、逻辑属性 margin-inline-start。
  9. 生成翻译模板:复制基础语言键并留空值供翻译。

最佳实践:翻译放在独立文件;用键而非源文本作键;为译者提供上下文;用长字符串测试(德语通常更长);复杂字符串用 ICU MessageFormat;避免拼接已翻译字符串;提取所有面向用户的文本。

支持文件:templates/i18n-config.js 提供配置示例,templates/locale-file.json 提供翻译文件模板。

限制:资料未提供具体安装命令、收费方式、平台支持范围或实际效果数据,暂未提供。