Zum Inhalt springen

i18n-Überblick

Greentic bietet umfassende Unterstützung für Internationalisierung (i18n) durch die Bibliothek greentic-i18n. Sie ermöglicht:

  • Deterministische Zeichenfolgen-IDs
  • Locale-basierte Nachrichtenauflösung
  • Übersetzung von Adaptive Cards
  • Sprachumschaltung zur Laufzeit

Deterministische IDs

Die Spezifikation I18nId v1 verwendet BLAKE3-Hashing für konsistente, kollisionsresistente Kennungen.

Mehrere Formate

Unterstützung für die Übersetzungsformate JSON, YAML, PO und XLIFF.

Cards-Integration

Integrierte Unterstützung für die Übersetzung von Adaptive Cards.

Umschaltung zur Laufzeit

Sprache pro Session ohne Neustart ändern.

Source String: "Hello, World!"
┌─────────────────────────────────┐
│ BLAKE3 Hash Function │
│ blake3(normalize(string)) │
└─────────────────────────────────┘
I18nId: "i18n:v1:abc123def456"
┌─────────────────────────────────┐
│ Translation Lookup │
│ locale_map[id] → "Halo!" │
└─────────────────────────────────┘

Für Adaptive Cards:

Terminal-Fenster
greentic-cards2pack extract-i18n --input ./cards --output i18n/en.json

Mit greentic-i18n-translator (betrieben von Codex CLI):

Terminal-Fenster
greentic-i18n-translator translate --langs fr,de,ja --en i18n/en.json

Oder automatische Übersetzung während der Pack-Generierung:

Terminal-Fenster
greentic-cards2pack generate \
--cards ./cards --out ./pack --name demo \
--auto-translate --langs fr,de,ja
i18n:
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 locale

Die Locale wird in dieser Reihenfolge aufgelöst:

  1. Locale auf Session-Ebene (pro Benutzer gesetzt)
  2. Standard auf Team-Ebene
  3. Standard auf Tenant-Ebene
  4. Globaler Standard
# Set session locale
- id: set_language
type: state
config:
action: set
key: "locale"
value: "id" # Indonesian

Jede Sprache wird unterstützt. Häufige Konfigurationen:

LocaleSprache
enEnglisch
idIndonesisch
jaJapanisch
zhChinesisch
esSpanisch
deDeutsch