By Krishna Gandhi on 2026-08-02 17:11 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:
 
- Ran the whole feedback loop end to end for the first time: an article was translated, corrected by hand, approved, and distilled into three rules, and re-translating the same source then produced the translation with all three corrections on its own, covering terminology, tone and a term kept untranslated.
- Split saving from approving in the editor: Save now only saves, Approve records the corrections against the machine draft, and Approve and Publish also makes the translation live (#109).
- Fixed saving a translation rule, which had stopped working for every rule type after the previous form change (#113).
- Cleared the fields a rule type does not use, so a rule changed from one type to another no longer keeps terms that no longer apply (#116).
- Widened the feedback text columns so long articles are not truncated (#114).
- Named the source language for the distilled search keywords, so they are in the same language as the text they are matched against (#115).
- Reduced words to a standard form when matching rules, so a rule written for a singular noun also applies to its plurals, with the answers cached per language (#107).
- Renamed the distillation plugin group to Rag, since it now serves retrieval as well as distillation (#118).
- Made the translator views work in the frontend, so a translator account with no access to the administrator at all can do the full job (#9, in review).
 
Plans for next week:

- Finish the frontend work(#9).
- Reuse the rule retriever for the distiller, which currently sends every rule for a language into each call (#102).
- Add permission checks to the translate and distil actions
- Tests (#17)