mcpField
I
internationalization-i18n

internationalization-i18n

github.com/aj-geddes开发375637 次安装35 周前更新
代码仓库

关于 internationalization-i18n

面向开发多语言应用的国际化与本地化技能,适用于需要支持不同地区用户的开发者。内容涵盖翻译、区域格式、从右向左布局及翻译流程,并提供多种 i18n 库和方案的指南。

主要功能

  1. 01翻译与消息管理
  2. 02复数规则与 ICU 消息
  3. 03区域化日期和数字格式
  4. 04从右向左语言支持
  5. 05语言区域检测与切换
  6. 06翻译工作流指导

适用场景

  1. 01为应用添加多种语言
  2. 02按地区格式化日期和数字
  3. 03支持阿拉伯语或希伯来语布局
  4. 04管理翻译字符串与工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill internationalization-i18n

安装后在 Claude Code 中输入/internationalization-i18n确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
date-and-time-formatting.md
i18next-javascripttypescript.md
locale-detection.md
number-and-currency-formatting.md
pluralization-rules.md
python-i18n-gettext.md
react-intl-formatjs.md
rtl-right-to-left-language-support.md
server-side-i18n.md
translation-management.md
templates/
component-template.tsx

详细介绍

国际化(i18n)与本地化

目录

概述

全面介绍如何在应用程序中实现国际化与本地化,涵盖消息翻译、复数形式、日期/时间/数字格式化、RTL 语言,以及与常用 i18n 库的集成。

适用场景

  • 构建多语言应用程序
  • 为国际用户提供支持
  • 实现语言切换
  • 按不同区域设置格式化日期、时间和数字
  • 支持 RTL(从右向左)语言
  • 提取和管理翻译字符串
  • 实现复数规则
  • 设置翻译工作流

快速入门

最小可运行示例:

// i18n.ts
import i18next from "i18next";
import Backend from "i18next-http-backend";
import LanguageDetector from "i18next-browser-languagedetector";

await i18next
  .use(Backend)
  .use(LanguageDetector)
  .init({
    fallbackLng: "en",
    debug: process.env.NODE_ENV === "development",

    interpolation: {
      escapeValue: false, // React already escapes
    },

    backend: {
      loadPath: "/locales/{{lng}}/{{ns}}.json",
    },

    detection: {
      order: ["querystring", "cookie", "localStorage", "navigator"],
      caches: ["localStorage", "cookie"],
    },
  });
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
i18next(JavaScript/TypeScript)i18next(JavaScript/TypeScript)
React-Intl(Format.js)React-Intl(Format.js)
Python i18n(gettext)Python i18n(gettext)
日期和时间格式化日期和时间格式化
数字和货币格式化数字和货币格式化
复数规则复数规则
RTL(从右向左)语言支持RTL(从右向左)语言支持
翻译管理翻译管理
区域设置检测区域设置检测
服务端 i18n服务端 i18n

最佳实践

✅ 应该这样做
  • 将所有面向用户的字符串提取到翻译文件中
  • 对复杂消息使用 ICU 消息格式
  • 为每种语言正确支持复数形式
  • 使用适配区域设置的日期/时间/数字格式化
  • 为阿拉伯语、希伯来语等语言实现 RTL 支持
  • 提供回退语言(通常为英语)
  • 使用命名空间组织翻译
  • 使用伪本地化(ääçćëńţś)进行测试
  • 存储区域设置偏好(cookie、localStorage)
  • 在生产环境中聘请专业译者
  • 实现翻译管理工作流
  • 支持动态切换区域设置
  • 使用翻译记忆工具
❌ 不要这样做
  • 在代码中硬编码面向用户的字符串
  • 拼接已翻译的字符串
  • 假设所有语言都适用英语语法规则
  • 对所有语言都使用通用复数形式(one/many)
  • 忽略文本扩展问题(德语文本约长 30%)
  • 以特定区域格式存储日期/时间
  • 使用旗帜代表语言(旗帜 ≠ 语言)
  • 脱离上下文翻译技术术语
  • 混用翻译键和 UI 字符串
  • 忘记翻译替代文本、标题和占位符
  • 假设布局都是从左向右

评论

支持 Markdown