Documentation
Docs/en/reference/text-format/index.md
Generated Text And Localization Reference
Generated reference. Do not edit directly. Update
BuildTools/TextFormatInterface.json, then runpython BuildTools/docs_text_format.py --write.
| Index | Syntax | Languages | Prototype text | Runtime | Validation | Canonical JSON | Guide |
This reference describes the reusable Engine-owned text-pack, language, prototype-text, runtime lookup, and inline color contract. Concrete game pack catalogs and formatting lexems remain project-owned.
Contract status
| Field | Value |
|---|---|
| Stability | experimental |
| Support policy | The contract is generated for a pinned Engine revision. Projects own language policy, pack catalogs, translation workflow, semantic key conventions, and any game-specific lexem or argument formatter. |
| Source manifest | BuildTools/TextFormatInterface.json |
| Contract digest | 85212eb8b0cd9addf3004e707478457679e362084025b40e5d28b97cc0745e87 |
| Source filename | <TextPack>.<Language>.fotxt |
| Baked filename | <ResourcePack>.<TextPack>.<Language>.fotxt-bin |
| Raw entry | {Key1}{Key2}{Text} |
| Reference | Entries | Purpose |
|---|---|---|
| Syntax | 7 | Raw brace fields, key identity, multiline text, and variants. |
| Languages | 10 | Filename selection, defaults, rebakes, and normalization. |
| Prototype text | 8 | $Text grammar, inheritance, pack routing, and decoding. |
| Runtime | 8 methods / 2 rendering rules | Script lookup, language switching, server boundary, and color tags. |
Boundary
Included:
- .fotxt file naming, brace-field syntax, multiline values, structured keys, and duplicate variants
- BakeLanguages ordering, incremental rebakes, bake-time language normalization, and binary output names
- $Text prototype fields, inheritance, output-pack routing, escape decoding, and validation
- client and server script lookup surfaces, language switching, and inline renderer color tags
Excluded:
- project language priorities, translation ownership, terminology, and release-readiness policy
- project-specific lexems, argument substitution, random-choice syntax, dialog formatting, and chat wrappers
- concrete pack names beyond the five Engine-generated prototype packs
- font selection, layout, shaping, and general GUI authoring