Translations: a working round trip between this repository and its Weblate project on translate.tiagoagueda.com #13
Labels
No labels
bug
documentation
enhancement
performance
security
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo-chromium#13
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Requested by the maintainer on 2026-10-01, for every repository: integration and a fully working workflow of string translation with the corresponding translation project hosted on translate.tiagoagueda.com (Weblate). The shared decisions (how a translation comes back, drafts, who may translate) are made in postulo/postulo#349; this issue is this repository's share.
Where it stands
This repository is not in Weblate at all. Its sentences are WebExtension catalogues,
src/_locales/<locale>/messages.json(40 locales today), translated by hand and by copying; the Weblate projectpostuloholds only the gettext catalogues of the core and of the Python plugins.What "fully working" means
The same four things in every repository:
main.docs/TRANSLATING.md) tell a speaker where to go and what happens to what they type.Here
descriptionas the translator's context.pt_PT; the tags the code uses are decided in postulo/postulo#337. The component's language-code style has to produce the folder names the browser accepts.test/i18n.test.mjsdemands every key, non-empty, in every locale shipped. A language arriving from Weblate half translated must not ship half translated: either it stays out of_locales/until complete, or the build leaves it out. postulo/postulo-chromium#10 is where the list of languages shipped is tied to the core's.Done when
npm test, and ships only when its language is complete.Landed the repository's share (
09339b3,Refs #13): a language folder that is not complete is left out of the build (scripts/locales.mjs) and the README describes the intended setup. Left, and it needs the server: create the Weblate component (WebExtension JSON, masksrc/_locales/*/messages.json, sourceen, Chrome or Android language-code style), tell it of each push, have it commit as a pull request so CI runs first, and check that what it writes passesnpm testunchanged.Done, as postulo/postulo#349 decided: this repository is a component in Weblate (translate.tiagoagueda.com) that follows main through a Forgejo webhook, drafts new strings by machine, and sends translations back as a pull request from the
weblatebranch; CI refuses a translation written outside Weblate. See this repository's commit referencing this issue, and postulo/postulo#829 for the first round trip, merged green.