Issue #3614048: Translate the reworded check-in camera fallback messages and drop the dead check-in field strings
Two check-in messages fell through untranslated on a French site, and they are exactly the ones a door operator sees when the camera cannot open.
The messages were reworded in checkin.js when the check-in screen was reworked, and the translation never followed, so translations/yoyaku.fr.po still carried the pre-rework msgids. Those match nothing in the source, so both strings render in English. They also described a field the operator can no longer type into.
This updates both entries in place to the current source wording:
| .po carried (matched nothing) | current source |
|---|---|
Camera scanning is not available here; scan or type the code into the field. |
Camera scanning is not available in this browser. Open the ticket QR with your device camera app instead. |
Camera unavailable; scan or type the code into the field. |
Camera unavailable. Open the ticket QR with your device camera app instead. |
It also drops two msgids dead for the same reason: Ticket code and Point the camera at the ticket QR, or type / scan the code and submit. both labelled the visible code field that #3613083 replaced with an opaque hash nobody types.
Why it was missed
The translation coverage checks run before this only extracted from PHP and YAML. Re-running with Drupal.t() in JavaScript and the t filter in Twig added to the extraction is what surfaced the gap. Coverage across the channels a module .po owns is now complete:
| Channel | Strings | Missing |
|---|---|---|
PHP t() / TranslatableMarkup |
780 | 0 |
PHP formatPlural() |
43 | 0 |
JavaScript Drupal.t() |
55 | 0 |
JavaScript Drupal.formatPlural() |
7 | 0 |
Twig |t |
9 | 0 |
| Menu links | 46 | 0 |
| Permissions | 13 | 0 |
| Route titles | 8 | 0 |
msgfmt --check-format passes.