AgentSkillsCN

internationalization

本技能重点覆盖 Unicode(UTF-8、UTF-16)、ICU4C 库、区域设置处理、排序规则、数字/日期格式化,以及 ETS stdlib 的 i18n API。适用于以下场景:(1) 实现国际化功能;(2) 使用 ICU 库;(3) 针对不同区域设置进行格式化;(4) 处理 Unicode 文本;(5) 支持从右向左书写的语言;或 (6) 设计具备区域感知能力的 API。

SKILL.md
--- frontmatter
name: internationalization
description: Important skill covering Unicode (UTF-8, UTF-16), ICU4C library, locale handling, collation, number/date formatting, and i18n APIs for ETS stdlib. Use this skill when: (1) Implementing i18n features, (2) Using ICU library, (3) Formatting for locales, (4) Handling Unicode text, (5) Supporting RTL languages, or (6) Designing locale-aware APIs.

Internationalization

Quick Start

Locale-aware formatting:

typescript
// Format number with locale
formatNumber(1234.56, "en_US");  // "1,234.56"
formatNumber(1234.56, "de_DE");  // "1.234,56"

ICU integration:

cpp
// C++ side with ICU
auto formatter = icu::NumberFormat::createInstance(locale);
formatter->format(number, result);

Unicode handling:

  • UTF-8, UTF-16 encodings
  • Code points vs graphemes
  • Normalization (NFC, NFD)

Key Concepts

Unicode:

  • Code points: Unique numbers
  • Graphemes: User-perceived characters
  • Surrogate pairs: Emoji, > 0xFFFF

ICU Library:

  • Locale handling
  • Number/currency formatting
  • Date/time formatting
  • Collation (sorting)