Deterministic IDs
I18nId v1 规范使用 BLAKE3 哈希来生成一致、抗冲突的标识符。
Greentic 通过 greentic-i18n 库提供完整的国际化(i18n)支持。它支持:
Deterministic IDs
I18nId v1 规范使用 BLAKE3 哈希来生成一致、抗冲突的标识符。
Multi-Format
支持 JSON、YAML、PO 和 XLIFF 翻译格式。
Cards Integration
内置对 Adaptive Cards 翻译的支持。
Runtime Switching
无需重启即可按 session 切换语言。
Source String: "Hello, World!" │ ▼┌─────────────────────────────────┐│ BLAKE3 Hash Function ││ blake3(normalize(string)) │└─────────────────────────────────┘ │ ▼I18nId: "i18n:v1:abc123def456" │ ▼┌─────────────────────────────────┐│ Translation Lookup ││ locale_map[id] → "Halo!" │└─────────────────────────────────┘对于 Adaptive Cards:
greentic-cards2pack extract-i18n --input ./cards --output i18n/en.json使用 greentic-i18n-translator(由 Codex CLI 驱动):
greentic-i18n-translator translate --langs fr,de,ja --en i18n/en.json或者在生成 pack 时自动翻译:
greentic-cards2pack generate \ --cards ./cards --out ./pack --name demo \ --auto-translate --langs fr,de,jai18n: default_locale: "en" locales: en: "translations/en.json" id: "translations/id.json" ja: "translations/ja.json"- id: greet type: reply config: message_key: "i18n:v1:abc123" # Resolved based on session localelocale 按以下顺序解析:
# Set session locale- id: set_language type: state config: action: set key: "locale" value: "id" # Indonesian支持任意语言。常见配置如下:
| Locale | 语言 |
|---|---|
en | 英语 |
id | 印度尼西亚语 |
ja | 日语 |
zh | 中文 |
es | 西班牙语 |
de | 德语 |