fix: #3628116 Make the theme render translations: row titles, dates, plurals and hard-coded strings
Issue: https://www.drupal.org/project/vartheme_bs5_rightup/issues/3628116
Six commits, one change each:
- Episode rows print the title through the view's own title field (a
views_view_fieldspreprocess setsrow_title) instead ofrow._entity.label, which is the default-language title. - Dates and the live feed time use
format_datewith a translatable pattern (context "PHP date format"). Thedatetimeattribute stays raw ISO. - The hero slider scripts use
Drupal.tand declarecore/drupal. - About twenty component templates wrap English in
|t; the breadcrumbaria-labeluses core's "Breadcrumb"; the pager line translates the word, not the number. - The podcast episode count uses
{% trans %}with a plural. - The Share component passes Webshare platform titles through
|t, with|striptagson the visible label becauset()output is not escaped.
Verified on a Rightup 1.0.x build with an Arabic translation, English and Arabic, at 1440 and 390 px over 19 page types (76 page loads): /ar/podcasts/field-notes lists Arabic episode titles where it listed English ones; dates read "يوليو 16, 2026"; the ticker time reads "12:00 م"; English output is unchanged. Axe reports zero violations on every Arabic page. The only violations in the run are target-size on the English /user/login, which Gin's login module renders and which fail the same way on 1.0.x. Share titles were proved with a temporary translation that rendered and was then deleted.
Not verified: the two hero sliders are placed on no page, so their changes are checked by node --check and eslint only. The full 139-page crawl was not re-run on this branch. hero-slider-container.js already had an eslint no-empty error on 1.0.x and is untouched by this change. phpcs is not installed in this project, so only php -l was run on the PHP.
Follow-up check with the four theme merge requests (#3628116, #3628117, #3628118, #3628120) merged on one site: a crawl of 152 paths in two languages at 1440 and 390 px (608 page loads) found no WCAG 2.2 AA violation other than target-size on the English Gin login page (also present before these changes), no horizontal overflow and no broken image; the Editoria11y panel, read as an administrator on 24 pages in both languages, flagged only the audio player's manual transcript check. The merge request pipeline finished green.
AI-Generated: Yes
Checkpoints:
- File an issue
- Addition/Change/Update/Fix
- Testing to ensure no regression
- Automated unit testing coverage
- Automated functional testing coverage
- UX/UI designer responsibilities
- Readability
- Accessibility
- Performance
- Security
- Developer Documentation
- User Guide Documentation
- Reviewed by human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release notes snippet
- Release