i18n(spp_programs): fix broken French in fr.po (#237) - #301
Conversation
Replace machine-mangled half-English strings (In-Type, To Approuver, Initial Montant, etc.) with reviewed French for fr_FR deployments. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Code Review
This pull request updates the French translations in spp_programs/i18n/fr.po to correct several broken and literal translations, particularly around 'In-Kind' entitlements. The feedback suggests translating 'In-Kind' as 'En nature' instead of 'Dons en nature' to maintain consistency with other translated terms like 'Droit en nature' and 'Article en nature'.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| #: model:ir.ui.menu,name:spp_programs.spp_programs_root | ||
| msgid "In-Kind" | ||
| msgstr "In-Type" | ||
| msgstr "Dons en nature" |
There was a problem hiding this comment.
To maintain consistency with the rest of the translations in this file (such as 'Droit en nature', 'Article en nature', 'Quantité en nature'), it is recommended to translate 'In-Kind' as 'En nature' instead of 'Dons en nature'. Additionally, 'Dons' (donations) is too restrictive for general in-kind benefits or entitlements.
msgstr "En nature"
gonzalesedwin1123
left a comment
There was a problem hiding this comment.
Thanks — this one is in good shape. I verified it mechanically and linguistically:
- The diff is exactly the advertised 29 entry changes, nothing else (byte-compared your branch's
fr.poagainst19.0). msgfmt -cpasses on your version (the missingPO-Revision-Dateheader warning is pre-existing).- All 23
In-Typeoccurrences are gone, and every item in #237's inventory is covered (the In-Kind cascade,Initial Amount,Not Paid,To Approve, bothVerify Eligibilitycasings, and thePrepare Entitlementshelp string). - The two
odoo-pythonentries keep their%d/%splaceholders in order. - The new wording is consistent with the correct
Droit en nature/Droits en natureentries that already existed in the file, and the French typography (space before:) is right.
One must-fix, then I'm happy to approve:
Must-fix: version bump + HISTORY entry
Please bump the micro version in spp_programs/__manifest__.py and add a line to spp_programs/readme/HISTORY.md. Beyond convention, it matters functionally here: model-term translations (menus, field labels, selection values, view strings — most of this PR) are stored in the database and only refresh on module upgrade, so without a bump nothing triggers a reload on existing deployments. Note for deployers (worth a sentence in the HISTORY entry): since these entries already exist with wrong values in existing databases, a plain upgrade loads translations without overwriting — picking up the fixes on an existing fr_FR database needs --i18n-overwrite (or a translation reload), exactly the situation your downstream overwrite=True workaround handles.
Suggestion (non-blocking)
In-Kind → Dons en nature: "Dons" adds a donation connotation the source doesn't have — entitlements are rights, not gifts. The same msgid labels both the In-Kind submenu and the entitlement-type selection in the program wizard, so a neutral En nature (or Prestations en nature) may fit both contexts better. Deferring to your Togo QA reviewers on this — flagging it, not blocking on it.
Out of scope, but worth deciding
This PR clears #237's inventory, but the same class of machine-mangled French remains elsewhere in the file — my scan finds on the order of 100+ entries that are half-English or untranslated after this PR, e.g.:
Cliquez the Créer button to Saisissez a Nouveau Droit Gestionnaire.Items are required in the Cash Droit Gestionnaire.(the Cash twin of the In-Kind one you fixed)Handicapé Individu(s) can't be added to the Programme %sSaisissez the Programme Nom...Rechercher ID Déduplication Gestionnaires
#238 covers missing entries, not mangled ones, so these fall between the two issues. Fine to keep this PR scoped to #237 — but either extend #238's scope to include mangled entries or we should file a follow-up so the remainder isn't lost.
Merge-order note
Your #305 also touches spp_programs/i18n/fr.po; whichever of #301/#305 merges second will need a rebase. This one is the smaller, corrections-only PR, so it probably makes sense to land first.
CI
Same situation as #300: no workflows ever ran (fork PR pending first-contributor approval at open time, no pushes since). Your bump push will trigger CI.
Summary
In-Type→Dons en nature,To Approuver→À approuver, etc.).Test plan
fr_FRand spot-check cycle/program forms for corrected labels.poonlyFixes #237
Made with Cursor