You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Derived from requirement RF-PCE-002. Part of #647.
Scope
Add the Portuguese (pt) UI localisation: translate every string the editor exposes,
using en.json as the reference for the key structure.
Use the generic pt tag rather than a country-specific one. The i18n setup has nonExplicitSupportedLngs: true, so a browser reporting pt-PT or pt-BR resolves to pt with no extra configuration. Where the two variants diverge, prefer European
Portuguese, since the requirement targets contributors to the European catalogue.
Affected areas
src/i18n/locales/pt.json — new file, mirroring the keys of en.json (~23 KB)
src/i18n/index.ts — register the locale so it appears in the language picker
Non-functional constraints
RNF-PCE-006 — Long-term sustainability: the translation has to stay complete after
merge, so it must pass the completeness check introduced in Add new localisations #647.
Acceptance criteria
pt.json covers every key present in en.json
The locale is selectable in the language picker
The translation is reviewed by a Portuguese speaker
Terminology is consistent with the publiccode.yml specification: field names and
standard terms keep their meaning rather than being translated ad hoc
Context
Derived from requirement RF-PCE-002. Part of #647.
Scope
Add the Portuguese (
pt) UI localisation: translate every string the editor exposes,using
en.jsonas the reference for the key structure.Use the generic
pttag rather than a country-specific one. The i18n setup hasnonExplicitSupportedLngs: true, so a browser reportingpt-PTorpt-BRresolves toptwith no extra configuration. Where the two variants diverge, prefer EuropeanPortuguese, since the requirement targets contributors to the European catalogue.
Affected areas
src/i18n/locales/pt.json— new file, mirroring the keys ofen.json(~23 KB)src/i18n/index.ts— register the locale so it appears in the language pickerNon-functional constraints
merge, so it must pass the completeness check introduced in Add new localisations #647.
Acceptance criteria
pt.jsoncovers every key present inen.jsonpubliccode.ymlspecification: field names andstandard terms keep their meaning rather than being translated ad hoc