GSoC'26 - Translator Feedback Loop [Week Report #9]
By Krishna Gandhi on 2026-07-27 19:33 in Google Summer of Code Joomla Team
For an overview of how things are going, see the Kanban board of the project
Done this week:
- Built RAG: published translation rules are now retrieved and injected into the translation prompt, so the machine translation follows them (#7, #8, merged).
- Retrieval works in three tiers: flatten the item's text, one indexed query for the published rules of the target language, then whole word matching, capped so the prompt stays bounded.
- Live tested it in German across terminology, relevance, the published state gate, preservation and tone.
- Extended the association backfill to categories, tags and menu items (merged).
- Improved the translation rule form: the fields shown match the rule type, requiredness is enforced on save, and manual rules are recorded as such (merged, #104).
- Merged re-translation on source edit (#46).
- Retrieval works in three tiers: flatten the item's text, one indexed query for the published rules of the target language, then whole word matching, capped so the prompt stays bounded.
- Live tested it in German across terminology, relevance, the published state gate, preservation and tone.
- Extended the association backfill to categories, tags and menu items (merged).
- Improved the translation rule form: the fields shown match the rule type, requiredness is enforced on save, and manual rules are recorded as such (merged, #104).
- Merged re-translation on source edit (#46).
Plans for next week:
- Normalise words in rules and in the text before matching, so a rule written for a singular noun also matches plurals and conjugations (#107).
- Get the approve button reviewed: Save only saves, Approve records the corrections against the machine draft, and Approve and Publish also makes the translation live (#109).
- Reuse the rule retriever for the distiller, which currently sends every rule for a language into each call (#102).
- Build the frontend view (#9).