Interviews: attendees are joined to a bare \"with\"/\"With\" msgid and a hard-coded comma #627
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#627
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found on 2026-09-29 in a read-only review of postulo at
95348908d, reading the interview templates for sentences built from pieces.Checked again on 2026-10-01 against
mainat0a5cad587: still present.Both places that list who an interview is with build the phrase in the template: a lone translated preposition, then names joined with a literal
,. Translators get the msgidswithandWithwith no context and no placeholder, and the separator cannot be translated at all. Related to #225, which cleared sentences assembled from fragments elsewhere but did not list these two.templates/applications/interview_list.html:70-73({% translate "with" %}before the first name,,between the rest);templates/applications/application_detail.html:284-288({% translate "With" %}, then names joined with,).msgid "with"andmsgid "With"with nothing saying they introduce the people at an interview, and has no way to move the names, add a particle after them, or use the language's own list separator (Arabic،, Chinese and Japanese、). The rendered line keeps English word order and punctuation in every language.withis the kind of short msgid that later collides with another use of the same word.{% blocktranslate with people=names %}with {{ people }}{% endblocktranslate %}per page, each with acontextor translator comment saying it introduces the people at an interview.Done when
tests/test_interviews.pyrenders the interview list and the application page in a test locale whose catalogue translates the whole phrase and the separator, and asserts both appear; andmakemessagesno longer extracts a baremsgid "with".Landed on main with a green Forgejo CI run. Its entry in the CHANGELOG's Unreleased section ends in (#627).
ATTENDEE, against the form's promise #963