mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 14:41:52 +00:00
The message scan read every message as a format string, so a plain
literal such as `expected {"dataBase64": "…"}` became the catalog key
`expected {"dataBase64"}`, a template whose placeholder took the rest of
any message starting with "expected". The plug-in output error
`expected value at line 1 column 1` was then shown in German as
"erwartet: value at line 1 column 1".
- The scan doubles every brace of a message that is not a format string
(a plain literal or a `&str` constant); `format!` strings and
`#[error(...)]` strings keep their `{{`, `}}` and placeholders.
- 150 `@msg` rows in 23 catalogs are keyed by the full message with its
braces doubled, and their translations write those braces doubled and
carry the full JSON example of the English.
- An `@msg` row with no placeholder is an exact message under its text
with `{{` and `}}` read as braces, so it is found at any length, and a
nested JSON part translated by such a row shows single braces.
- The Hindi row for `give {key, value} or {values}` translates the whole
message; it kept the English "or" and left out "give".
Docs: docs/development.md, the zh-hant.tsv header, docs/target-app-parity.md.