決定論的 ID
I18nId v1 spec は、一貫性があり衝突耐性のある identifier のために BLAKE3 hashing を使用します。
Greentic は、greentic-i18n library を通じて包括的な国際化(i18n)サポートを提供します。これにより次のことが可能になります。
決定論的 ID
I18nId v1 spec は、一貫性があり衝突耐性のある identifier のために BLAKE3 hashing を使用します。
複数フォーマット
JSON、YAML、PO、XLIFF の翻訳フォーマットをサポートします。
Cards 統合
Adaptive Cards を翻訳するための組み込みサポートがあります。
Runtime 切り替え
再起動なしで 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.jsongreentic-i18n-translator を使用する場合(Codex CLI powered):
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 | Language |
|---|---|
en | English |
id | Indonesian |
ja | Japanese |
zh | Chinese |
es | Spanish |
de | German |