Internationalization
The 15-locale baseline is released for Java, Rust, Go, Swift, Python, .NET and TypeScript. The retained conformance matrix executes 105 runtime-locale cells and 525 checker-message assertions.
Every generated workspace includes teaql-i18n.json. It separates runtime messages from generated domain vocabulary and contains all 15 canonical locale objects. Load the application catalog explicitly during startup; installing a Runtime Module never reads it or changes a database schema.
For Java, select a locale on trusted request context and translate checker results:
context.installI18nCatalog(catalog);
context.setLocaleCode("zh-CN");
context.translateCheckResults(results);
An unsupported code throws UnsupportedLocaleException before context state changes. Dynamic query JSON and federation payloads cannot replace the trusted locale or install templates.
Resolution is deterministic: application selected locale, built-in selected locale, application English, built-in English, then the stable message key. Stable checker rule ids, locations and interpolation values remain authoritative; localized text is display output.
Released versions
- Java
1.532-RELEASE/v6.1.0 - Rust
4.2.25 - Go
v0.1.5 - Swift
0.1.4 - Python
0.1.3 - .NET
0.1.3 - TypeScript
0.1.10
The first baseline deliberately excludes ICU MessageFormat, plural rules, currency/date formatting, automatic locale discovery, hot reload, remote translation services, pseudolocalization and RTL layout.
Read the Internationalization Design Baseline for the complete boundary and future candidates. Executable evidence lives in the TeaQL conformance repository.