feat(i18n): add European Portuguese localization - #1816
Draft
roxi3906 wants to merge 12 commits into
Draft
Conversation
roxi3906
force-pushed
the
feat/user/add-european-portuguese-localization
branch
from
August 27, 2026 11:13
0ac8b11 to
1ea444a
Compare
roxi3906
force-pushed
the
feat/user/add-european-portuguese-localization
branch
from
August 27, 2026 12:00
1ea444a to
8c1d86e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
pt-PTcatalog and register it across shared, main, renderer, update-manifest, and CI ownership boundaries.pt,pt-BR, other Portuguese regions, and private-use lookalikes.Português (Portugal)selection, native quit-dialog copy, locale-aware formatting, and restart persistence at narrow desktop widths.upstream/main@f37896a8with normal merge commits and no history rewriting; every merge completed without textual conflicts.Competência,Tentar novamente, andA carregar pré-visualização…; the loadedSKILL.mdremains exact technical content.one/many/otherplural categories.Scope and non-goals
Acceptance criteria and validation
npx vitest run src/renderer/src/i18n/resources.test.ts: 874 passed, including exact contracts for all three CodeBuddy strings.main@960a54e4; 1,055 passed aftermain@07a8f5ca.npx playwright test e2e/settings-persistence.spec.ts: 12 passed, includingpt-PTnative quit copy, 640 px fit, and restart persistence.npm run typecheck: passed on final local head99b9594d.npm run buildandnpm 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.npm test: 20,377 passed and 232 skipped; two unrelated failures were reproduced unchanged on exactupstream/main@da4dadc7(Claude ACP dependency behavior and the system Python version used by the literature-review kernel).32b7af9c; final re-review found no remaining actionable issues.99b9594dare 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
Transtags, paths, commands, product names, and fields such asUser,Port,Node.js, andnpm.pt-PT,pt-Latn-PT,pt-PT-x-*, and rejection of other Portuguese regions/private-use tags.