Skip to content

i18n — en source bundle, zh-CN translation, CI coverage gate #18

Description

@os-warren

Duly is sold worldwide. Post-v1 — v1 is M1+M2, English only.

Scope

  • src/translations/en.ts (source) and zh-CN.ts, pushed into dulyTranslations. The config already declares i18n: { defaultLocale: 'en', supportedLocales: ['en', 'zh-CN'], fallbackLocale: 'en' }.
  • Every authored label, description, option label, validation message, action label and nav label gets a key.
  • A CI gate that fails on an untranslated declared label, and on a bundle key with no source.

Constraints

  • en is generated from the source metadata, not hand-maintained. A hand-edited en entry beats the source string silently and the served text drifts from the code under a green gate. Translated locales are hand-written; en is a copy.
  • No display text hard-coded in a hook, flow, action handler or job. Notification bodies included — Lead-time reminders, overdue escalation and stagnation alerts #11's digests are user-facing text.
  • Terminology decisions belong in the bundle with a comment, not in a translator's head: duty, task, period, standing, governed, caliber each carry product meaning that a literal translation loses.

Note

Moving this to v1 is a one-card decision if the first deployment is Chinese-language. Nothing else in the plan depends on the ordering.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions