Problem/Motivation
A booker message edit page renders no tabs at all, so the Translate tab is not on it and a message cannot be translated through the interface. Everything behind that tab is already in place: the route exists, Config Translation discovers the mapper, and a language override on the message config object is read correctly at runtime. Only the way in is missing.
Core renders no tab bar for a lone tab, so a derived tab needs a sibling before it shows up. Every other configuration entity type in this project declares an Edit task for exactly that reason, and the comments in yoyaku_ui.links.task.yml say so. The yoyaku_message type was added in #3616523: Add booker messages, so a policy's refusal is written once, translated, and usable on every host without one.
This is worse than a missing affordance. The field description on the message form tells an operator to translate the text on the Translate tab, and the documentation says the same, so the feature sends them to a tab that is not there.
Proposed resolution
Declare the default Edit task for the message edit form in yoyaku_ui.links.task.yml, beside the ones the tenant, the resource type and the booking channel already have.
Then assert in a browser test that the Translate tab is on the page. The route and the mapper were both correct while the tab was absent, so neither of those checks would have caught this, and only a rendered page does.
Remaining tasks
- Declare the task.
- Assert the tab renders.
AI-Generated: Yes (Claude Code was used to help draft this issue summary and wrote the one-line fix, which is verified locally: the tab set on that page goes from empty to Edit plus Translate. There is no merge request on this issue yet.)
Issue fork yoyaku-3618382
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 #3
mably commentedComment #5
mably commented