mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-14 14:19:57 +02:00
fix(l10n): translate the saved-device strings
22 keys carried the English text in every locale. Copied English does not
look unfinished — it looks shipped: the key is present and non-empty, so
`validate` passes and it reaches users as a French or Russian build that
silently speaks English. 21 came in with the saved-devices work; one was
added alongside the send-cancellation fix by copying its neighbours.
Translations follow the vocabulary already established in the file —
appareil enregistré, dispositivo guardado, Kopplung, Mémoriser/Ricorda/
Zapamiętaj, and European Portuguese ficheiros/guardado.
Only format_separated_pair and format_separated_triple still read the same
in every locale. They are pure punctuation ("{first} · {second}") with no
words to translate.
Documents the rule in the README, including why it is worse than a missing
key and the trap that spread it here: copying a neighbour's shape without
checking the neighbour was translated.
This commit is contained in:
@@ -56,6 +56,26 @@ regenerate. Regenerated output is deterministic (sorted keys), so diffs stay sma
|
||||
- **`plural`** — per language, per [CLDR category](https://cldr.unicode.org/index/cldr-spec/plural-rules)
|
||||
(`zero`, `one`, `two`, `few`, `many`, `other`). `other` is always required.
|
||||
|
||||
### Every language gets a real translation
|
||||
|
||||
**Never copy the English text into another language as a placeholder.** A key is not done
|
||||
until every language in `supportedLanguages` has text actually written in that language.
|
||||
|
||||
Copied English does not look unfinished — it looks shipped. Nothing flags it, because the
|
||||
key is present and non-empty, so it passes `validate` and reaches users as a French or
|
||||
Russian build that silently speaks English. It is far harder to find later than a missing
|
||||
key would have been.
|
||||
|
||||
If you cannot produce a translation, say so in the PR and leave the key out of the release
|
||||
rather than filling it with English. Two narrow exceptions, both of which must be obvious
|
||||
from the text itself:
|
||||
|
||||
- Pure punctuation or layout templates with no words (`"{first} · {second}"`).
|
||||
- Proper nouns and brand names that are identical in every language.
|
||||
|
||||
When adding a key next to existing ones, check that the neighbours are translated before
|
||||
copying their shape — a placeholder tends to be copied into the keys added after it.
|
||||
|
||||
### Placeholders
|
||||
|
||||
Write named tokens `{count}`, `{name}` in text. The generator converts them to the right
|
||||
|
||||
Reference in New Issue
Block a user