Merge pull request 'Ten translations: count Turkish where the repo states the number' (#50) from docs/ten-translations into main
ci / node (push) Skipped
ci / version (push) Skipped
github/ci (branch) GitHub Actions
ci / github (push) Successful in 2m15s
ci / docker-build (push) Skipped
ci / publish (push) Skipped
ci / announce (push) Skipped

This commit was merged in pull request #50.
This commit is contained in:
jcoffey-dev committed 2026-10-06 02:33:55 +00:00
commit 68c91a1ad4
3 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@
## Translations ## Translations
<!-- <!--
Nine languages ship alongside English, and a missing key silently renders Ten languages ship alongside English, and a missing key silently renders
its English source -- so an untranslated string is invisible until somebody its English source -- so an untranslated string is invisible until somebody
reading that language finds it. Say which this PR is, explicitly: reading that language finds it. Say which this PR is, explicitly:
+5 -4
View File
@@ -73,13 +73,14 @@ start it, and neither will closing and reopening.
### Translations ### Translations
Nine languages ship alongside English: German, Spanish, French, Dutch, Ten languages ship alongside English: German, Spanish, French, Dutch,
Portuguese (Brazil), Russian, Ukrainian, Simplified Chinese and Japanese, in Portuguese (Brazil), Russian, Ukrainian, Simplified Chinese, Japanese and
Turkish, in
`web/src/locales/`. A missing key renders its English source rather than `web/src/locales/`. A missing key renders its English source rather than
failing, so an untranslated string is invisible until somebody reading that failing, so an untranslated string is invisible until somebody reading that
language finds it. language finds it.
**Any change that adds or alters a user-visible string adds work in all nine **Any change that adds or alters a user-visible string adds work in all ten
catalogs.** Say so explicitly in the PR — how many keys, and the fallback catalogs.** Say so explicitly in the PR — how many keys, and the fallback
count before and after — and say so just as explicitly when a change adds none, count before and after — and say so just as explicitly when a change adds none,
so it is never left to be inferred. so it is never left to be inferred.
@@ -94,7 +95,7 @@ plural(n, { one: "Deleted {n} contact", other: "Deleted {n} contacts" })
is keyed on **`"Deleted {n} contacts"`**. Keying the catalog on the `one` is keyed on **`"Deleted {n} contacts"`**. Keying the catalog on the `one`
form type-checks, builds, passes every test, and silently falls back to English form type-checks, builds, passes every test, and silently falls back to English
in all nine languages. Nothing errors. The only signal is the fallback count in all ten languages. Nothing errors. The only signal is the fallback count
going up, so read it: going up, so read it:
```sh ```sh
+1 -1
View File
@@ -4,7 +4,7 @@
* The rule this replaces was `subject.replace(/[^\w.-]+/g, "_")`, and `\w` * The rule this replaces was `subject.replace(/[^\w.-]+/g, "_")`, and `\w`
* without the `u` flag is ASCII: every character of a Russian, Japanese or * without the `u` flag is ASCII: every character of a Russian, Japanese or
* Chinese subject failed the class, so those messages downloaded as a row of * Chinese subject failed the class, so those messages downloaded as a row of
* underscores. ihasmail ships in nine languages besides English, so the * underscores. ihasmail ships in ten languages besides English, so the
* subjects it handled worst were most of the world's. * subjects it handled worst were most of the world's.
* *
* What is actually unsafe in a filename is a much shorter list than "not * What is actually unsafe in a filename is a much shorter list than "not