Skip to content

i18n(uk): add Ukrainian translations for the admin UI#2120

Open
gornostay25 wants to merge 2 commits into
emdash-cms:mainfrom
gornostay25:i18n/uk
Open

i18n(uk): add Ukrainian translations for the admin UI#2120
gornostay25 wants to merge 2 commits into
emdash-cms:mainfrom
gornostay25:i18n/uk

Conversation

@gornostay25

@gornostay25 gornostay25 commented Jul 18, 2026

Copy link
Copy Markdown

What does this PR do?

Add uk/messages.po catalog with full admin UI translations and enable the Ukrainian locale in the admin language switcher.

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 (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs — a workflow extracts catalogs on merge to main. — This is a translation PR; only the uk catalog changed.
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/...

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: Cursor + Composer 2.5
  • Manualy checked translation

Screenshots / test output

Add uk/messages.po catalog with full admin UI translations and enable
the Ukrainian locale in the admin language switcher.
@changeset-bot

changeset-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2186c24

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

This PR includes changesets to release 16 packages
Name Type
@emdash-cms/admin Patch
emdash Patch
@emdash-cms/cloudflare Patch
@emdash-cms/sandbox-workerd 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

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 8,576 lines across 3 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.

@gornostay25

Copy link
Copy Markdown
Author

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

github-actions Bot added a commit that referenced this pull request Jul 18, 2026

@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 is the right kind of change for EmDash: a translation PR that adds a complete uk catalog and enables the locale. The approach fits the existing i18n workflow (locale definition → PO catalog → enabled: true), Ukrainian is correctly treated as LTR, and the 4-form Ukrainian plural rule in the PO header is accurate. The catalog appears complete (1,884 entries with no empty msgstr).

I found one convention issue that should be fixed before merge: the new locale entry is out of alphabetical order in locales.ts. The file documents that entries should be "Source locale first, then alphabetical by English name," but uk (Ukrainian) was inserted between Polish (pl) and Portuguese-Brazil (pt-BR) instead of after Turkish (tr).

I also noted that the new uk/messages.po duplicates two pre-existing corrupted Lingui placeholder-description comments that embed the full source of MenuList.tsx and ContentTypeEditor.tsx. These are already present in the other locale catalogs, so this isn't a regression introduced by the PR, but it does add ~27 KB of source text to the published admin package. That's best cleaned up at the extractor/source JSX level (or as a follow-up), not by hand-editing the catalog.

Once the locale list ordering is corrected, this should be good to merge.

Comment thread packages/admin/src/locales/locales.ts Outdated
Comment thread packages/admin/src/locales/uk/messages.po
Comment thread packages/admin/src/locales/uk/messages.po
@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 18, 2026
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.

1 participant