Skip to content

feat(i18n): add European Portuguese localization - #1816

Draft
roxi3906 wants to merge 12 commits into
aipoch:mainfrom
roxi3906:feat/user/add-european-portuguese-localization
Draft

feat(i18n): add European Portuguese localization#1816
roxi3906 wants to merge 12 commits into
aipoch:mainfrom
roxi3906:feat/user/add-european-portuguese-localization

Conversation

@roxi3906

@roxi3906 roxi3906 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Problem

Open Science ships translated interface locales, but users in Portugal cannot select a fully localized European Portuguese experience. Locale detection, native main-process messages, date formatting, release metadata, and persisted language selection did not recognize pt-PT.

Proposed change

  • Add a complete pt-PT catalog and register it across shared, main, renderer, update-manifest, and CI ownership boundaries.
  • Add explicit European Portuguese BCP-47 detection while rejecting bare pt, pt-BR, other Portuguese regions, and private-use lookalikes.
  • Add Português (Portugal) selection, native quit-dialog copy, locale-aware formatting, and restart persistence at narrow desktop widths.
  • Refresh the existing Draft PR through upstream/main@f37896a8 with normal merge commits and no history rewriting; every merge completed without textual conflicts.
  • Translate 16 user-visible keys introduced by the merged main updates directly from English into European Portuguese, including the latest CodeBuddy framework description, requirement hint, and app-runtime download explanation.
  • Preserve the technical distinction between the app-managed installation runtime and the app runtime that executes CodeBuddy.
  • Verify the latest expanded Skill-document preview reuses the reviewed European Portuguese copy: Competência, Tentar novamente, and A carregar pré-visualização…; the loaded SKILL.md remains exact technical content.
  • Enforce reviewed Portugal terminology, sentence case, exact technical identifiers, progress grammar, and one / many / other plural categories.
  • Add exact semantic guards plus scans for Brazilian vocabulary and malformed mechanical replacements.
  • Add a European Portuguese README and update localization contribution, glossary, release-note, and navigation documentation.

Scope and non-goals

  • No runtime translation service, new dependency, or dynamic catalog inheritance.
  • No mapping of generic or Brazilian Portuguese tags to European Portuguese.
  • No redesign of the language picker or settings UI.
  • Existing locales continue to fall back directly to English.

Acceptance criteria and validation

  • npx vitest run src/renderer/src/i18n/resources.test.ts: 874 passed, including exact contracts for all three CodeBuddy strings.
  • CodeBuddy/settings/CI integration slice: 1,256 passed before the no-locale catch-up merges.
  • Exact-final-increment slices: 1,060 passed after main@960a54e4; 1,055 passed after main@07a8f5ca.
  • Latest-main slices: 906 passed after the Web-service merge and 933 passed after the expanded Skill-document preview merge.
  • npx playwright test e2e/settings-persistence.spec.ts: 12 passed, including pt-PT native quit copy, 640 px fit, and restart persistence.
  • npm run typecheck: passed on final local head 99b9594d.
  • npm run build and npm run build:e2e: passed locally for the CodeBuddy translation merge; the exact final head also passed macOS build/E2E and Windows E2E in PR Gate.
  • npm run lint: 0 errors; 256 formatting warnings already present in merged main test files.
  • Full local npm test: 20,377 passed and 232 skipped; two unrelated failures were reproduced unchanged on exact upstream/main@da4dadc7 (Claude ACP dependency behavior and the system Python version used by the literature-review kernel).
  • Independent Standards and European Portuguese Spec reviews: one runtime-distinction wording issue fixed in 32b7af9c; final re-review found no remaining actionable issues.
  • Exact-head GitHub checks for 99b9594d are green: CI Integrity, Static checks, both full Module-test shards, coverage aggregation, Windows core/E2E, macOS build/E2E, and the aggregate PR Gate all passed.

Review focus

  • Native European Portuguese wording for safety-sensitive actions, Marketplace, Specialist, session, credential, preview, CodeBuddy, and technical configuration surfaces.
  • Exact preservation of placeholders, Trans tags, paths, commands, product names, and fields such as User, Port, Node.js, and npm.
  • Region-position parsing for pt-PT, pt-Latn-PT, pt-PT-x-*, and rejection of other Portuguese regions/private-use tags.
  • Main-process ownership, release metadata, CI classification, narrow-layout fit, and restart persistence.

@github-actions github-actions Bot added the enhancement New feature or request label Aug 27, 2026
@roxi3906
roxi3906 force-pushed the feat/user/add-european-portuguese-localization branch from 0ac8b11 to 1ea444a Compare August 27, 2026 11:13
@roxi3906
roxi3906 force-pushed the feat/user/add-european-portuguese-localization branch from 1ea444a to 8c1d86e Compare August 27, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant