Skip to content

chore: drop multi-language support, English-only - #11

Merged
austinw8 merged 1 commit into
mainfrom
chore/english-only-no-translations
Aug 12, 2026
Merged

chore: drop multi-language support, English-only#11
austinw8 merged 1 commit into
mainfrom
chore/english-only-no-translations

Conversation

@austinw8

Copy link
Copy Markdown
Collaborator

Summary

Reduces the app to English-only and removes everything that existed to generate/maintain the other 10 locales.

  • Trim SUPPORTED_LANGUAGE_CODES to just en (packages/lib/constants/locales.ts) and the matching SUPPORTED_LANGUAGES display record (i18n.ts)
  • Delete non-English translation catalogs: de/es/fr/it/ja/ko/nl/pl/pt-BR/zh, plus a stray unused sq catalog
  • Remove the Crowdin pipeline entirely:
    • translations-upload.yml — extracted strings and opened a chore/extract-translations PR on every push to main
    • translations-pull.yml — pulled from Crowdin every 2 hours
    • translations-force-pull.yml — manual force-pull
    • crowdin.yml — the source/locale file mapping
  • Remove the language-switcher UI (account menu, org menu, and the Ctrl+K command palette) and its LanguageSwitcherDialog component, since there's only one language to switch to
  • Remove the now-dead /api/locale route those switchers posted to

Why

This stops the repeated automated "chore: extract translations" / "chore: add translations" PRs and the 2-hourly Crowdin pull workflow.

Verification

  • npm run translate:extract / translate:compile only touch the en catalog
  • tsc --noEmit clean on both packages/lib and apps/remix

Reduce SUPPORTED_LANGUAGE_CODES to just 'en' and remove everything
that existed to generate/maintain the other 10 locales:

- Delete non-English translation catalogs (de/es/fr/it/ja/ko/nl/pl/
  pt-BR/zh, plus a stray unused sq catalog)
- Remove the Crowdin pipeline: translations-upload.yml (extracted
  strings and opened a PR on every push to main), translations-pull.yml
  (pulled from Crowdin every 2h), translations-force-pull.yml, and
  crowdin.yml
- Trim the SUPPORTED_LANGUAGES display record in i18n.ts to match
- Remove the language-switcher UI (account menu, org menu, and the
  Ctrl+K command palette) and its LanguageSwitcherDialog component,
  since there's only one language to switch to
- Remove the now-dead /api/locale route those switchers posted to

Verified translate:extract/compile only touch the en catalog and
tsc --noEmit is clean.
Copilot AI lite review requested due to automatic review settings August 12, 2026 20:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR reduces the application’s internationalization surface area to English-only by trimming supported locale constants, removing language-switcher UI + its persistence route, and deleting Crowdin automation/config so translation PR churn stops.

Changes:

  • Restricts supported language codes and display labels to en only.
  • Removes language switching UX (menus + command palette) and deletes the /api/locale route.
  • Deletes Crowdin config and translation upload/pull GitHub workflows.

Reviewed changes

Copilot reviewed 11 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/ui/components/common/language-switcher-dialog.tsx Removes the reusable language-switcher dialog component.
packages/lib/constants/locales.ts Reduces supported language codes to ['en'] and keeps i18n options aligned.
packages/lib/constants/i18n.ts Shrinks SUPPORTED_LANGUAGES to English-only.
crowdin.yml Removes Crowdin file mapping configuration.
apps/remix/app/routes/api+/locale.tsx Deletes the locale-setting endpoint used by the language switchers.
apps/remix/app/components/general/org-menu-switcher.tsx Removes the org menu’s language-switcher entry and dialog wiring.
apps/remix/app/components/general/menu-switcher.tsx Removes the account menu’s language-switcher entry and dialog wiring.
apps/remix/app/components/general/app-command-menu.tsx Removes “change language” commands from the command palette.
.github/workflows/translations-upload.yml Removes automated extraction/upload workflow.
.github/workflows/translations-pull.yml Removes scheduled Crowdin pull workflow.
.github/workflows/translations-force-pull.yml Removes manual force-pull workflow.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 25 to 29
export const SUPPORTED_LANGUAGES: Record<string, SupportedLanguage> = {
de: {
short: 'de',
full: msg`German`,
},
en: {
short: 'en',
full: msg`English`,
},
@austinw8
austinw8 merged commit 3bdb011 into main Aug 12, 2026
7 of 10 checks passed
@austinw8
austinw8 deleted the chore/english-only-no-translations branch August 12, 2026 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants