Skip to content

i18n: add French translations for ~45 strings exposed in fr_FR user sessions (spp_registry, spp_change_request_v2, theme_openspp_muk) #238

@gwynncausing

Description

@gwynncausing

Context

During QA prep for a Togo deployment of OpenSPP2 (fr_FR locale, 5 demo personas), ~45 EN strings appear on demo screens even when the user language is set to French. Inventory below is captured from manual smoke-pack runs; every entry was visible on a real screen at the time of capture.

Note

This issue is separate from the broken-French and code bugs in spp_programs tracked in #236 and #237 — those are factually wrong translations / a code bug, this is a coverage gap (strings that have no FR entry at all).

Origin

Strings come from spp_change_request_v2, spp_programs, spp_registry, base Odoo, and theme_openspp_muk view archives.

Inventory

Change Requests list (spp_change_request_v2)

# English string Where seen
1 Change Requests (page title) Top app menu on Change Requests app
2 All Requests Second menu item, same page
3 Reference List column header
4 Request Type List column header
5 Registrant List column header
6 Display State List column header
7 Submitted By List column header
8 Submitted List column header
9 No change requests found Empty-state title
10 Change requests allow you to propose changes to registrant information with an approval workflow. Empty-state subtitle

Programs list (spp_programs)

# English Where
11 Programs Page title
12 Exit Report Top menu item
13 Payments Top menu item
14 In-Kind Top menu item
15 Reports Top menu item
16 Configuration Top menu item
17 Create Program Button, list view top-left
18 Name / Target Type / Beneficiaries / Cycles / Status List view column headers
19 Active Status badge on list rows
20 Group Value of Target Type field on rows

FSB program form (spp_programs)

# English Where
21 Import Eligible / Enroll Eligible / Verify Eligibility / New Cycle / Deduplicate / Notify Action button bar
22 Active / Ended Top-right state pipeline badges
23 Overview / Configuration / History Notebook tab labels
24 Target Type / # Beneficiaries / # Eligible Beneficiaries Field labels
25 RECENT CYCLES Section header on Overview tab
26 NAME / START DATE / END DATE / STATE Cycle table column headers on Overview tab
27 Draft Cycle state badge in cycle row
28 External / Internal / Note Chatter composer buttons at bottom of form

Cycle form (spp_programs)

# English Where
29 Copy Beneficiaries / Prepare Entitlements / Cancel Action button bar
30 Draft / To Approve / Approved / Distributed / Ended State pipeline badges
31 Enrollments / Beneficiaries / Entitlements / Payments Smart buttons at top of form
32 Overview / Configuration / Approval / History Notebook tab labels
33 Program / Sequence / Start Date / End Date Field labels
34 FINANCIAL SUMMARY / Total Amount / Total Amount In Words / Currency Section header + field labels
35 Cycle created OdooBot chatter message

Household form (spp_registry)

# English Where
36 Compute PMT Score Button in targeting section (this one is owned by a downstream module, ignore — listed for completeness only)
37 Group Name / Group Type / Registration Date / Language Field labels on Profile tab
38 Profile / Identity / History / Service Points Notebook tab labels
39 TAGS Section header on Profile tab
40 Add tags... Placeholder text in tag widget
41 DEMOGRAPHICS Section header further down the form
42 Date of Birth / Gender / Birth Place / Approximate Birthdate / Occupation / Civil Status / Age / Income Field labels in Demographics section
43 CONTACT INFORMATION Section header further down
44 Area / Adresse complète Mixed labels in Contact Information section

Sidebar (theme_openspp_muk / base)

# English Where
45 Registry / Area / Programs / Discuss / Calendar / Contacts / Change Requests / Dashboards / Approvals / Apps Left sidebar, all 10 items

Proposed approach

Maintainer judgment:

  1. Combined FR .po PR against OpenSPP2 — single round-trip, covers everything in one batch.
  2. Per-module FR .po PRs — finer-grained, follows Odoo convention.

We can supply the FR translations in either format. They've been reviewed by a Togo-French project lead.

Related

Severity

MEDIUM — not a blocker (demo runs), but a visible quality gap in any fr_FR deployment. Particularly hurtful at demo time when the audience is reading the UI in French.

Offer

Happy to send a PR with the FR translations (per-module or combined, your call). Screenshots available on request — let us know how you'd like to receive them (attached to the issue, sent via the OpenSPP Slack, etc.).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions