SuperAPI AI 工具集

i18n-localization

前端与建站

查看项目

更新于 10-16 05:45

技能介绍

用途:提供国际化(i18n)与本地化(L10n)的实践模式,让应用可被翻译,管理翻译内容、语言包与从右到左(RTL)语言支持。

主要能力:

  • 概念说明:i18n、L10n、Locale(语言加地区,如 en-US、tr-TR)、RTL 语言(阿拉伯语、希伯来语)。
  • 使用场景判断:面向公众的 Web 应用与 SaaS 通常需要 i18n;内部工具视情况而定;单一地区应用可考虑未来需求;个人项目可选。
  • 实现模式示例:React 使用 react-i18next 的 useTranslation;Next.js 使用 next-intl 的 useTranslations;Python 使用 gettext 的 gettext。
  • 文件结构:locales 目录下按语言分子目录(en、tr、ar 等),每种语言再按功能拆分为 common.json、auth.json、errors.json 等。
  • 最佳实践:使用翻译键而非原始文本,按功能命名空间拆分翻译,支持复数形式,按地区处理日期与数字格式,提前规划 RTL,复杂字符串使用 ICU 消息格式;避免在组件中硬编码字符串、拼接已翻译文本、假设文本长度、忽略 RTL 布局、在同一文件混用语言。
  • 常见问题处理:缺失翻译回退到默认语言;硬编码字符串用 linter 或检查脚本发现;日期用 Intl.DateTimeFormat;数字用 Intl.NumberFormat;复数用 ICU 消息格式。
  • RTL 支持:CSS 逻辑属性,如 margin-inline-start、padding-inline-end;对 dir="rtl" 下的图标可用 transform: scaleX(-1)。
  • 发布前检查清单:所有面向用户的字符串使用翻译键;支持的语言均有语言包;日期与数字使用 Intl API;测试 RTL 布局;配置回退语言;组件中无硬编码字符串。

使用方式:项目内可运行检查脚本检测硬编码字符串与缺失翻译:python scripts/i18n_checker.py <project_path>。

限制:资料未提供该技能支持的具体框架版本、安装命令、依赖要求、性能数据或授权信息,暂未提供。