Skip to content

generate: documentation - #7

Merged
reromanlee merged 14 commits into
mainfrom
generate/documentation
Oct 11, 2026
Merged

reromanlee merged 14 commits into
mainfrom
generate/documentation

Conversation

@reromanlee

@reromanlee reromanlee commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

ReactiveLocalizer 1.0.0

What's new

  1. A README and guides in Documentation/: usage, every feature, the exact grammar of .lang and .catalog files, migrating from Unity Localization, and measured performance.
  2. Compiled tables are read in bulk, so a 50,000-entry table loads in about 4 ms instead of 39, and switching the language of 1,000 bound texts takes half as long.
  3. An agent guide, Tools/ReactiveLocalizer/Write Agent Guide: a section of the project's AGENTS.md or CLAUDE.md telling coding agents where the catalogs and generated keys are, how to add and rename entries, and what never to edit by hand, updated in place when written again.
  4. Performance tests of lookups, formatting, language switches and 50,000-entry tables, which run with every other test on both Unity versions.
  5. Pushes to main skip the Unity jobs when a pull request already passed on exactly the same files, and still run everything when main moved in between.
  6. A release checklist, .github/RELEASE_CHECKLIST.md.
  7. The design now lives in the README and Documentation/, so the Concept folder is gone; its specification stays in the history.

Known issues

  1. Right-to-left text isn't shaped: a language's Direction is only a hint, and shaping comes from the text renderer, such as UI Toolkit's advanced text generator, or RTLTMPro for TextMeshPro.
  2. Spreadsheet applications take CSV texts starting with =, +, - or @ for formulas, so exchange XLSX with spreadsheets; formula errors in an imported CSV are rejected.
  3. XLIFF 1.2 can't hold control characters, so entries with one are left out of it and reported; XLIFF 2.0 and XLSX keep them.
  4. Character sets can't know text that arguments bring at runtime, such as player names; the window adds printable ASCII or extra characters for it.
  5. Fingerprints are six hexadecimal digits, so about one change of a source text in 16.7 million keeps its fingerprint and leaves its translations marked current.

@reromanlee reromanlee self-assigned this Oct 11, 2026
@reromanlee
reromanlee merged commit 14a0045 into main Oct 11, 2026
14 checks passed
@reromanlee
reromanlee deleted the generate/documentation branch October 11, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant