Deterministic IDs
Spesifikasi I18nId v1 menggunakan hashing BLAKE3 untuk identifier yang konsisten dan tahan benturan.
Greentic menyediakan dukungan internasionalisasi (i18n) yang komprehensif melalui library greentic-i18n. Library ini memungkinkan:
Deterministic IDs
Spesifikasi I18nId v1 menggunakan hashing BLAKE3 untuk identifier yang konsisten dan tahan benturan.
Multi-Format
Dukungan untuk format terjemahan JSON, YAML, PO, dan XLIFF.
Cards Integration
Dukungan bawaan untuk menerjemahkan Adaptive Cards.
Runtime Switching
Ubah bahasa per session tanpa restart.
Source String: "Hello, World!" │ ▼┌─────────────────────────────────┐│ BLAKE3 Hash Function ││ blake3(normalize(string)) │└─────────────────────────────────┘ │ ▼I18nId: "i18n:v1:abc123def456" │ ▼┌─────────────────────────────────┐│ Translation Lookup ││ locale_map[id] → "Halo!" │└─────────────────────────────────┘Untuk Adaptive Cards:
greentic-cards2pack extract-i18n --input ./cards --output i18n/en.jsonMenggunakan greentic-i18n-translator (didukung oleh Codex CLI):
greentic-i18n-translator translate --langs fr,de,ja --en i18n/en.jsonAtau lakukan auto-translate saat generate 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 di-resolve dengan urutan berikut:
# Set session locale- id: set_language type: state config: action: set key: "locale" value: "id" # IndonesianBahasa apa pun didukung. Konfigurasi yang umum:
| Locale | Language |
|---|---|
en | Inggris |
id | Indonesia |
ja | Jepang |
zh | Tionghoa |
es | Spanyol |
de | Jerman |