feat(translator-tools): add locale review and glossary workflow

This commit is contained in:
2026-09-02 21:39:02 +02:00
parent 5e962ff0f3
commit 655797c4fe
32 changed files with 2084 additions and 2192 deletions
+18 -17
View File
@@ -1,24 +1,25 @@
# Text Tools
# Translator Tools
Compose, inspect and evidence plain-text transformations locally in the browser.
Translator Tools is a standalone local-first application in the
[add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are
parsed and edited in the browser only; no locale strings are uploaded.
Text Tools is a standalone local-first application in the [add·ideas Toolbox](https://git.add-ideas.de/lotobo/toolbox-portal). Inputs are processed in the browser and are not uploaded.
## Quick scope
## Version 0.2 scope
- Import locale files (`.json`, `.js`, `.txt`) in i18next-like or single-locale forms.
- Review authoritative language against one target language at a time.
- Edit source and target strings and copy-source quickly.
- Add translation glossary entries per language pair and receive fuzzy suggestions.
- Add new languages and export a reviewer-updated translation bundle locally.
- Send exports through the same-tool transfer channel to the Portal.
- Ordered pipelines for line endings, trimming, whitespace, stable sorting, deduplication, literal replacement, line prefix/suffix/filter/number/join and line-order reversal
- Locale-aware case conversion, Unicode NFC/NFD/NFKC/NFKD and best-effort Latin transliteration
- JSON/HTML/URL/Base64/hex escaping plus strict inverse decode/unescape stages; binary decoders accept canonical encodings and require valid UTF-8 text
- Bounded RFC-style quoted CSV column selection across embedded delimiters and newlines, alongside the retained literal multi-character delimiter-per-line mode
- Explicit UTF-8, UTF-16LE and Latin-1 file decoding plus BOM, malformed UTF-8 offset, zero-byte parity, byte-level newline and replacement-character evidence
- Versioned JSON recipe import/export, per-step size/change reports, and a paired text-plus-JSON artifact download with source/output SHA-256 and transformation provenance
## Notes
Pipelines are limited to 2,000,000 UTF-16 input units and an 8×/32 MiB output expansion. File input is limited to 16 MiB before decoding. Encoding is selected explicitly rather than guessed; compatibility normalisation, transliteration, narrow encodings and several transforms can be lossy, so source, result, and warnings remain visible. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
The artifact evidence is a portable download contract, not an automatic Toolbox
handoff. SDK 0.3.0 provides the shared transfer contract, but automatic Open With
remains disabled in this release until the Portal consumer rollout is
coordinated. Local downloads stay explicit and portable in the meantime.
- The parser accepts JavaScript-style locale assignment forms such as
`const de = { ... }` and tolerant spacing/commas.
- Parsing and transfers are bounded to 5 MiB per imported/exported transfer file.
- Language detection relies on file name hints (`de_*.json`) and explicit user
selection.
## Development
@@ -32,7 +33,7 @@ npm run test:browser
## Release
`npm run release:artifact` creates a deterministic `release/text-tools-0.2.0.zip` and checksum sidecar.
`npm run release:artifact` creates a deterministic `release/translator-tools-0.1.0.zip` and checksum sidecar.
## Licence