Problem

locale keeps one string table for the whole site, so a source string has exactly one translation whatever module shipped it. Twenty-two source strings are translated differently in two or more of this project's catalogs, so which French a reader sees is decided by the order the catalogs happened to be imported, and installing a submodule can change a word elsewhere in the interface.

The per-project check cannot see this, and correctly so: it reads each catalog against the files of its own project, one project at a time, and every one of these entries is filed where its source string lives. The disagreement only exists between them.

The disagreements

  • Start: Début in the base catalog, Démarrer in orchestra_content_moderation and orchestra_ui, Démarrage in orchestra_modeler
  • Completed: Terminées in the base catalog, Terminé in orchestra_audit_trail and orchestra_payment_example, Terminés in orchestra_views. The base catalog also carries a second Completed under the context "Work item status", translated Traitée, which is correct and is not part of this: it is what the rest of these want.
  • Canceled: Annulées in the base catalog, Annulé in orchestra_audit_trail and orchestra_payment_example
  • Tenant: Tenant in the base catalog and orchestra_ui, Locataire in orchestra_delegation
  • Tenant scope: Périmètre du tenant in the base catalog, Portée par tenant in orchestra_ui
  • Outcome: Issue in the base catalog, orchestra_eca and orchestra_vbo_inbox, Résultat in orchestra_inbox_views
  • Operations: Opérations in orchestra_delegation and orchestra_inbox, Actions in orchestra_inbox_views
  • Reject: Rejeter in orchestra_examples, Refuser in orchestra_interaction_webform_examples
  • Open: Ouverte in the base catalog, orchestra_inbox and orchestra_interaction, Ouvrir in orchestra_ui
  • Remove: Retirer in the base catalog, Supprimer in orchestra_cm
  • Failed: En échec in the base catalog, Échoué in orchestra_audit_trail
  • Ended: Terminée in orchestra_delegation, Terminé in orchestra_views
  • Starts: Début in orchestra_delegation, Démarrages in orchestra_modeler
  • Current step: Étape en cours in orchestra_ui, Étape courante in orchestra_views
  • My requests: Mes demandes in orchestra_ui, Mes démarches in orchestra_views
  • Complete task: Traiter la tâche in orchestra_inbox, Terminer la tâche in orchestra_vbo_inbox
  • Created: Créé in four catalogs, Créé le in orchestra_inbox_views
  • - None -: Aucun in the base catalog and orchestra_domain, Aucune in orchestra_interaction
  • Workflow ID: Identifiant du workflow in orchestra_content_eca, ID du workflow in orchestra_eca
  • Name of the instance ID token: Nom du jeton de l'ID d'instance in orchestra_eca, Nom du token d'identifiant de l'instance in orchestra_content_eca
  • Instance (shared with the whole process): partagée avec l'ensemble du processus in the base catalog, partagée avec tout le processus in orchestra_interaction_webform
  • You have no requests yet.: Vous n'avez pas encore de demandes. in orchestra_ui, Vous n'avez encore aucune demande. in orchestra_views

Proposed resolution

Some of these are wording that should simply agree, and the rest are a vocabulary decision. Open is the clearest case: the base module means the state a task is in, Ouverte, and orchestra_ui means the link that opens it, Ouvrir, which is the same English word doing two jobs. That one wants a translation context rather than a single French, and there are others like it.

So the work is to settle one French per term, taking the base module's as the reference where it has one, and to give a context to the strings that genuinely mean two different things. The base module already does that for Completed and it is the pattern to follow: the gender and number disagreements on Completed, Canceled and Ended all come from one source word describing an instance, a task and a column heading, and each of those is a different French.

Remaining tasks

  • Agree one French per term, and a context for the English words doing two jobs.
  • Reconcile the twenty-two, moving the agreed wording into every catalog that carries the string.
  • Add a check for it: comparing the catalogs against each other is a different question from the two the per-project check asks, and nothing asks it today.

AI-Generated: Yes (Claude Code was used to help draft this issue summary and to take the measurements it reports. I reviewed the measurements and the wording before posting, and no code accompanies this issue.)

Issue fork orchestra-3620840

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

  • mably committed a1e38386 on 1.x
    fix: #3620840 The same string has a different French in different...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.