From 0a03c64ff381d2e0809b2f6a39ee2278e19b4b12 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Thu, 3 Sep 2026 14:22:58 -0700 Subject: [PATCH] Translate the rule sentences into Dutch #261 rebuilt the Sieve rule summaries and the recurrence descriptions as whole sentences with placeholders, so that a translator can move the parts rather than being handed " and " on its own. This is the Dutch half of that. 32 strings and 9 plural forms. The ordinals are words -- there is no suffix to append here, which was the point -- and the day and item lists are joined by Intl.ListFormat rather than a translated separator. --- web/src/locales/nl.ts | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/web/src/locales/nl.ts b/web/src/locales/nl.ts index 953cb36..5a04b4e 100644 --- a/web/src/locales/nl.ts +++ b/web/src/locales/nl.ts @@ -1251,8 +1251,54 @@ export const catalog: Catalog = { "This message was sent automatically, so no read receipt is offered.": "Dit bericht is automatisch verzonden, dus er wordt geen leesbevestiging aangeboden.", "This server will not hold a message longer than {span}.": "Deze server houdt een bericht niet langer dan {span} vast.", "Upload failed": "Uploaden mislukt", + // ── Third pass ────────────────────────────────────────────────────── + // Sentences that lib/ and store/ were building in English, and the two + // swipe labels that reach t() through a variable and so were invisible + // to a scan for t("literal"). See #259. + "Every {n} {frequency}": "Elke {n} {frequency}", + "Monthly": "Maandelijks", + "Monthly on day {days}": "Maandelijks op dag {days}", + "Monthly on the {ordinal} {weekday}": "Maandelijks op de {ordinal} {weekday}", + "Monthly on {weekday}": "Maandelijks op {weekday}", + "Weekly": "Wekelijks", + "Weekly on {days}": "Wekelijks op {days}", + "add {flag}": "{flag} toevoegen", + "always": "altijd", + "body contains \"{value}\"": "tekst bevat \"{value}\"", + "body does not contain \"{value}\"": "tekst bevat niet \"{value}\"", + "delete it": "verwijderen", + "fifth": "vijfde", + "first": "eerste", + "forward to {address}": "doorsturen naar {address}", + "fourth": "vierde", + "keep it": "behouden", + "last": "laatste", + "mark it read": "als gelezen markeren", + "move to {folder}": "verplaatsen naar {folder}", + "reject it": "weigeren", + "remove {flag}": "{flag} verwijderen", + "second": "tweede", + "size is over {n} KB": "grootte boven {n} KB", + "size is under {n} KB": "grootte onder {n} KB", + "star it": "een ster geven", + "stop": "stoppen", + "third": "derde", + "{header} address {op} \"{value}\"": "{header}-adres {op} \"{value}\"", + "{header} {op} \"{value}\"": "{header} {op} \"{value}\"", + "{rule}, until {date}": "{rule}, tot {date}", + "{tests} → {actions}": "{tests} → {actions}", }, plurals: { + // ── Third pass ───────────────────────────────────────────────────── + "Every {n} days": { one: "Elke dag", other: "Elke {n} dagen" }, + "Every {n} months": { one: "Elke maand", other: "Elke {n} maanden" }, + "Every {n} months on day {days}": { one: "Elke maand op dag {days}", other: "Elke {n} maanden op dag {days}" }, + "Every {n} months on the {ordinal} {weekday}": { one: "Elke maand op de {ordinal} {weekday}", other: "Elke {n} maanden op de {ordinal} {weekday}" }, + "Every {n} months on {weekday}": { one: "Elke maand op {weekday}", other: "Elke {n} maanden op {weekday}" }, + "Every {n} weeks": { one: "Elke week", other: "Elke {n} weken" }, + "Every {n} weeks on {days}": { one: "Elke week op {days}", other: "Elke {n} weken op {days}" }, + "Every {n} years": { one: "Elk jaar", other: "Elke {n} jaar" }, + "{rule}, {n} times": { one: "{rule}, {n} keer", other: "{rule}, {n} keer" }, // ── Third pass ───────────────────────────────────────────────────── "Move {n} messages to Trash?": { one: "{n} bericht naar de Prullenbak verplaatsen?", other: "{n} berichten naar de Prullenbak verplaatsen?" }, "{n} days": { one: "{n} dag", other: "{n} dagen" },