From b811c84b1229b3e16508d6e3fc3c20415d5bf469 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Thu, 3 Sep 2026 14:23:32 -0700 Subject: [PATCH] Translate the rule sentences into Simplified Chinese #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 Simplified Chinese 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/zh-Hans.ts | 46 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/web/src/locales/zh-Hans.ts b/web/src/locales/zh-Hans.ts index 2c47e27..da03fab 100644 --- a/web/src/locales/zh-Hans.ts +++ b/web/src/locales/zh-Hans.ts @@ -1262,8 +1262,54 @@ export const catalog: Catalog = { "This message was sent automatically, so no read receipt is offered.": "此邮件为自动发送,因此不提供已读回执。", "This server will not hold a message longer than {span}.": "此服务器保留邮件的时间不会超过 {span}。", "Upload failed": "上传失败", + // ── 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}": "每 {n} {frequency}", + "Monthly": "每月", + "Monthly on day {days}": "每月 {days} 日", + "Monthly on the {ordinal} {weekday}": "每月第{ordinal}个{weekday}", + "Monthly on {weekday}": "每月 {weekday}", + "Weekly": "每周", + "Weekly on {days}": "每周 {days}", + "add {flag}": "添加 {flag}", + "always": "始终", + "body contains \"{value}\"": "正文包含 \"{value}\"", + "body does not contain \"{value}\"": "正文不包含 \"{value}\"", + "delete it": "删除", + "fifth": "五", + "first": "一", + "forward to {address}": "转发到 {address}", + "fourth": "四", + "keep it": "保留", + "last": "最后一", + "mark it read": "标记为已读", + "move to {folder}": "移动到 {folder}", + "reject it": "拒收", + "remove {flag}": "移除 {flag}", + "second": "二", + "size is over {n} KB": "大小超过 {n} KB", + "size is under {n} KB": "大小小于 {n} KB", + "star it": "加星标", + "stop": "停止", + "third": "三", + "{header} address {op} \"{value}\"": "{header} 地址 {op} \"{value}\"", + "{header} {op} \"{value}\"": "{header} {op} \"{value}\"", + "{rule}, until {date}": "{rule},直到 {date}", + "{tests} → {actions}": "{tests} → {actions}", }, plurals: { + // ── Third pass ───────────────────────────────────────────────────── + "Every {n} days": { other: "每 {n} 天" }, + "Every {n} months": { other: "每 {n} 个月" }, + "Every {n} months on day {days}": { other: "每 {n} 个月的 {days} 日" }, + "Every {n} months on the {ordinal} {weekday}": { other: "每 {n} 个月的第{ordinal}个{weekday}" }, + "Every {n} months on {weekday}": { other: "每 {n} 个月的 {weekday}" }, + "Every {n} weeks": { other: "每 {n} 周" }, + "Every {n} weeks on {days}": { other: "每 {n} 周的 {days}" }, + "Every {n} years": { other: "每 {n} 年" }, + "{rule}, {n} times": { other: "{rule},共 {n} 次" }, // ── Third pass ───────────────────────────────────────────────────── "Move {n} messages to Trash?": { other: "要将 {n} 封邮件移到已删除邮件吗?" }, "{n} days": { other: "{n} 天" },