Skip to content

i18n(zh-TW): complete Traditional Chinese translations - #2189

Merged
ascorbic merged 2 commits into
emdash-cms:mainfrom
leevincent:i18n/zh-TW
Jul 22, 2026
Merged

ascorbic merged 2 commits into
emdash-cms:mainfrom
leevincent:i18n/zh-TW

Conversation

@leevincent

@leevincent leevincent commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Completes the Traditional Chinese (zh-TW) translation of the EmDash admin interface.

This update:

  • Translates all 1,932 entries in the zh-TW message catalog.
  • Fills the remaining 710 untranslated entries.
  • Uses terminology and phrasing appropriate for Traditional Chinese users in Taiwan.
  • Preserves the original message IDs, source references, comments, and catalog structure.
  • Leaves no untranslated or fuzzy entries.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (not applicable; this is a translation-only change)
  • User-visible strings in the admin UI are wrapped for translation (not applicable; this PR only updates the translation catalog)
  • I have added a changeset
  • New features link to an approved Discussion (not applicable; this PR does not add a feature)

AI-generated code disclosure

  • This PR includes AI-assisted translation work — model/tool: OpenAI Codex (GPT-5)

Screenshots / test output

The catalog passes GNU gettext validation:

msgfmt --check --check-format packages/admin/src/locales/zh-TW/messages.po -o /dev/null

Additional validation:
Entries: 1,932
Translated: 1,932
Untranslated: 0
Fuzzy: 0

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@github-actions github-actions Bot added area/admin size/XL review/needs-review No maintainer or bot review yet labels Jul 22, 2026
@changeset-bot

changeset-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8794e7f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 17 packages
Name Type
@emdash-cms/admin Patch
emdash Patch
@emdash-cms/cloudflare Patch
@emdash-cms/sandbox-workerd Patch
@emdash-cms/plugin-mcp-smoke Patch
@emdash-cms/fixture-perf-site Patch
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch
@emdash-cms/auth Patch
@emdash-cms/blocks Patch
@emdash-cms/gutenberg-to-portable-text Patch
@emdash-cms/x402 Patch
create-emdash Patch
@emdash-cms/auth-atproto Patch
@emdash-cms/plugin-embeds Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 3,374 lines across 1 files. Large PRs are harder to review and more likely to be closed without review.

If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs.

See CONTRIBUTING.md for contribution guidelines.

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
packages/admin/src/locales/zh-TW/messages.po Localization changed, will be marked as complete.
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This translation-only PR is the right change for the right problem: it completes the zh-TW admin catalog for an already-enabled locale, and it touches nothing else.

I statically reviewed the changed .po file and the repo conventions. The good news: only packages/admin/src/locales/zh-TW/messages.po is modified, message IDs/source references/catalog order are preserved, there are no fuzzy entries, no obsolete entries, and every entry is translated. I also parsed the file and verified that ICU placeholder variables (including plural/select arguments) and Lingui JSX tags are preserved in every translation, with no missing or extra placeholders. Leading/trailing whitespace matches the source strings.

One convention gap remains: @emdash-cms/admin is a published package and is not in .changeset/config.json's ignore list. Per CONTRIBUTING.md, "Every PR that changes a published package's behavior needs a changeset," and translation PRs are not in the listed exceptions (docs-only/test-only/CI/tooling/demos/templates). This PR should include a patch changeset for @emdash-cms/admin. That's a quick fix (pnpm changeset), but it should be added before merge so the release pipeline picks up the new translations.

Overall: structurally sound, just missing the required changeset.

@@ -15,61 +15,61 @@ msgstr ""

#: packages/admin/src/routes/bylines.tsx:446
msgid " - Guest"
msgstr ""
msgstr " - 訪客"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[needs fixing] This PR updates 1,932 user-facing strings in a published package (@emdash-cms/admin), so CONTRIBUTING.md requires a changeset. Translation-only PRs are not in the changeset-exempt categories listed in CONTRIBUTING.md, and @emdash-cms/admin is not in .changeset/config.json's ignore list.

Please add a patch changeset for @emdash-cms/admin:

pnpm changeset

Then create .changeset/<name>.md with something like:

---
"@emdash-cms/admin": patch
---

Completes the Traditional Chinese (zh-TW) translation of the admin interface.

This ensures the release pipeline versions the package and includes the translation in the changelog.

@github-actions github-actions Bot added review/needs-rereview Author pushed changes since the last review and removed review/needs-review No maintainer or bot review yet labels Jul 22, 2026
@leevincent

leevincent commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@leevincent

Copy link
Copy Markdown
Contributor Author

recheck

github-actions Bot added a commit that referenced this pull request Jul 22, 2026
@ascorbic
ascorbic enabled auto-merge (squash) July 22, 2026 08:55
@pkg-pr-new

pkg-pr-new Bot commented Jul 22, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@2189

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@2189

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@2189

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@2189

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@2189

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@2189

emdash

npm i https://pkg.pr.new/emdash@2189

create-emdash

npm i https://pkg.pr.new/create-emdash@2189

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@2189

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@2189

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@2189

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@2189

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@2189

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@2189

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@2189

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@2189

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@2189

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@2189

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@2189

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@2189

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@2189

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@2189

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@2189

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@2189

commit: 8794e7f

@ascorbic
ascorbic merged commit 1614e2a into emdash-cms:main Jul 22, 2026
47 of 48 checks passed
@emdashbot emdashbot Bot mentioned this pull request Jul 22, 2026
@leevincent
leevincent deleted the i18n/zh-TW branch July 22, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin cla: signed review/needs-rereview Author pushed changes since the last review size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants