Problem/Motivation
The placement vocabulary says a place is on sale. It is the word for the plainest question the module answers, whether a place can be booked at all, and it says money about something that need not involve any: a refuge bed and a free guided tour are placed exactly like a paid seat.
41 occurrences across 20 files. Three of them are strings an operator reads: the section mode option Closed: not on sale in this configuration. in ConfigurationSectionForm, and two field descriptions on ConfigurationSection, one of which speaks of a pooled sale of this area. The rest are docblocks and test messages in yoyaku_placement, plus five documentation pages: concepts, constraint policies, placement, capacity and holds, and the venue map.
It also collides with the occupancy vocabulary settled in #3614689: Rename the occupancy axis from free to available, because in a ticketing module free already means zero-price, where a place goes from open to taken to available and the word free is reserved for money. Two words for one state, one of which is the money word this axis was renamed to avoid.
Proposed resolution
Say available, or open where the sentence is about the configuration rather than the moment, and keep closed for what it already means. So a place is available as a place rather than on sale as a place, a closed area is not bookable in this configuration rather than not on sale, and a pooled booking of an area replaces a pooled sale of it.
No identifier carries the word: no method, property, plugin id, field or config key contains sale, sales or on_sale. This is prose, three translated strings and the documentation, so there is nothing to migrate and no API to break.
Remaining tasks
- Sweep the 32 occurrences in
yoyaku_placementand its io submodule, and the 9 across the five documentation pages. - Reword the three operator-visible strings, and update
fr.poin the same commit: the French already saysventefor them. - Check the test names and assertion messages that carry the word, so a failure reads in the settled vocabulary.
User interface changes
Three strings reworded: one section mode option label and two field descriptions on the place configuration section.
API changes
None. No identifier changes.
Data model changes
None.
Issue fork yoyaku-3615040
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
Comment #4
mably commentedComment #6
mably commentedReopening: the first pass took the sale family and deliberately left
soldandsells, which is the same complaint one word further on. Nothing has been released since !167 merged, so this belongs here rather than in a follow-up issue.377 occurrences across the module: 172 in
yoyaku_placement, 76 in the docs, 74 insrc, 32 inyoyaku_calendar, the rest inyoyaku_ui,yoyaku_payment,yoyaku_orderandyoyaku_api. Most are docblocks and prose, but 19 are translatable strings, and three of those are read by a booker rather than an operator:Sold out, in the upcoming-sessions formatter, the venue map and the slot booking form. This is the one that matters: a free refuge that has filled up says Sold out. The French already saysComplet, so only the English asserts money.This area is sold as a pool for this event, so it has no places to choose.and the two SectionPoolBookable refusals, which is what a booker gets when a click is refused.The operator-facing sixteen are field descriptions and form labels: what a resource or a tariff sells, how a section is sold, capacity per slot for resources selling no rates.
Proposed wording.
Sold outbecomes Full, which reads for a paid concert and a free tour alike and keeps the existingComplet. Everywhere else, a resource or an area offers what it has, a section is offered placed or pooled, and a tier may take or may book rather than may sell. The occupancy axis settled in #3614689: Rename the occupancy axis from free to available, because in a ticketing module free already means zero-price is untouched: open, taken, available.No identifier renames are needed for this pass, and no config key, plugin id or field name changes. The
fr.pomoves with every changed string, msgid and msgstr both.Comment #9
mably commented