yoyaku.fr.po carries 1,948 translated strings, drafted one at a time as each feature landed, and nothing had ever read the catalog end to end. One of them turned out to call the settlement cron pass a balayage, a word-for-word calque of "sweep" that no French speaker would write for a periodic job. It was fixed in #3619722 only because somebody happened to read that one description.

All 2,003 entries have now been read against their msgids. 189 msgstrs changed and no msgid did, so nothing in the code moved and the completeness check stayed green throughout.

Six terminology splits

One English word had become two French ones, in each case invisible to every check the project runs.

  • 11 strings still called a slot a séance, the event sense #3619722 retired from the English, including the unique-constraint message an operator reads on a duplicate tariff row.
  • 24 called a place grade a catégorie, while the entity itself is a grade de place.
  • 16 called a tenant a locataire, against 50 that said tenant, which is what Orchestra says too.
  • Workflow was written three ways: flux de travail, a bare flux, and workflow. Orchestra, the engine that owns the word, keeps workflow throughout its own catalog and has no flux de travail at all.
  • section and area had both become zone. That is what a term collision costs: "An area with no setting follows its section" read une zone sans réglage suit ce que dit la zone elle-même, which says nothing.
  • Settlement was règlement and régler, which is what a French reader pays a bill with, in a catalog that is careful never to describe a booking in money words.

Plus booker rendered as visiteur in six strings, operator as exploitant in two, a seat row as rangée in four, and parked as positionné where Orchestra says en attente.

Sentences that were simply wrong

  • Four said cliquez une place. The verb takes sur.
  • quelles qu'il choisisse is not a sentence, and "Pinned to this allotment" read contingentées pour ce contingent.
  • "Color used to render the grade on the place map" named le groupe de places, and "Claimed from the guarantee" named la carte enregistrée while the string above it named the guarantee.
  • "Attempts allowed per window; below 1 switches the limit off" had lost its second clause entirely.
  • The slot number carried U+00BA, the Spanish and Portuguese ordinal, rather than the degree sign.

The two things a script could count

Both decided once for the whole catalog rather than per string. The apostrophe is U+2019 throughout, 756 converted. The space before a colon, semicolon, exclamation or question mark is U+00A0, as is the space inside a pair of French quotation marks, 437 inserted. U+00A0 rather than the narrow U+202F because colons are roughly three quarters of the sites, and the colon is the mark French typography gives a word space rather than a fine one; and because one character for all four means one grep finds every exception rather than four.

Written down rather than remembered

docs/translation.md gains a section holding the terminology table and both typographic rules, with the two one-line greps that check them, so the next reading starts from the answers instead of re-deriving them. The fifteen French terms that page names join catégorie in the cspell project dictionary.

Found while reading, left alone here

  • msgid "New labels" is in the catalog and described in docs/venue-map.md, but no t() call emits it: MapLayoutBuilder only ever writes t('Labels'). Removing a string is out of scope for this issue.
  • The venue-package warning names areas and zones as two things on the English side, "the layout (areas, grades, places, zones and default modes)", which reads like a slip. Changing it is a msgid change.

AI-Generated: Yes (Claude Code read the catalog, wrote the changes on the merge request and drafted this summary. I reviewed them before posting.)

Issue fork yoyaku-3619790

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

Title: Read the whole French catalog: a calque shipped, and nothing has audited the other 1,947 strings » Read the French catalog end to end: one word per term, and one answer on its typography
Issue summary: View changes

  • mably committed 4aafd0dc on 1.x
    task: #3619790 Read the French catalog end to end: one word per term,...
mably’s picture

Status: Active » 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.