fix(i18n): correct Catalan (ca) locale and add ca glossary - #42842
Open
Qjammer wants to merge 1 commit into
Open
fix(i18n): correct Catalan (ca) locale and add ca glossary#42842Qjammer wants to merge 1 commit into
Qjammer wants to merge 1 commit into
Conversation
The ca locale was machine-generated in anomalyco#40992 without a locale glossary. This corrects mistranslations (Called -> "Es diu", Show agent -> "Agent d'espectacles", API key -> "tecla API", shell -> "closca"/"Carcassa", tool calls -> "trucades"), applies the Softcatala rule of singular imperative for commands and vos for messages, and replaces bare gerunds with "S'esta ...". Adds .opencode/glossary/ca.md so future translation passes have the locale guidance the other 16 locales already have. Fixes anomalyco#42837
Contributor
|
The following comment was made by an LLM, it may be inaccurate: No duplicate PRs found. |
Contributor
|
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
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.
Issue for this PR
Closes #42837
Type of change
What does this PR do?
I'm a native Catalan speaker. The
calocale added in #40992 has strings that say somethingdifferent from the English, not merely awkward ones:
ui.basicTool.called{{tool}}{{tool}}settings.general.row.showCustomAgents.titleprovider.connect.method.apiKey(×4)settings.general.row.shell.titlecontext.stats.inputTokens(×6)context.breakdown.toolThree self-inconsistencies too:
shellwas rendered five different ways;webswitched genderinside a single popover; and
workspace.resetting.title/workspace.reset.success.titlewerebyte-identical, so in-progress and finished were indistinguishable.
The rest is grammar. Catalan uses the singular imperative for menu and button labels, and the
vós plural for messages addressed to the user (Softcatalà style guide, Formes verbals). The
locale mixed them arbitrarily —
desktop.menu.restartwasReinicieuinpackages/appbutReiniciainpackages/desktop. Labels that used the infinitive (Tancar,Enviar,Publicar,Desfer,Tallar) are now imperatives — Catalan doesn't allow the infinitive for commands. Baregerunds became
S'està….244 values changed across the three files. No English string or key is touched.
I also added
.opencode/glossary/ca.md, which is arguably the actual fix:.opencode/command/translate.mdloads.opencode/glossary/<locale>.mdwhen present, and Catalanwas translated without one while 16 other locales have theirs. Term choices there are backed by the
Catalan translation memories Softcatalà publishes (KDE, GNOME, LibreOffice, Microsoft Terminology,
Chromium) plus Git's for Git vocabulary, with segment counts cited per row so each can be checked
without reading Catalan. Happy to split it into its own PR if you'd rather review them separately.
How did you verify your code works?
No behaviour changes, so I verified structure and consistency rather than runtime:
en.tsexactly — nothing added, removed or renamed. The only extrasare the Catalan CLDR
.manyplural forms English doesn't have, and thedesktop.*keys everylocale already carries.
{{var}}and\nmatches the English for all 1,246 keys thathave an English counterpart. The 8
.manykeys have no English counterpart, so I checked thoseagainst their own
.one/.othersiblings instead.packages/app/src/i18n/parity.test.ts(5 pass, 979 assertions) and
packages/app/src/i18n/desktop-native.test.ts(8 pass, 455assertions).
parity.test.tsis the locale-coverage test and already listsca. I couldn't runpackages/ui/src/context/i18n.test.tslocally as it needs React installed, but it covers thei18n machinery rather than locale content, which this PR doesn't touch.
Easiest confirmation for a reviewer:
git diff --statshows the three locale files at +166/−166,+70/−70 and +8/−8 — exactly balanced, so only values changed and nothing structural.
Screenshots / recordings
N/A — locale strings only, no layout or component changes.
Checklist