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_fields preprocess sets row_title) instead of row._entity.label, which is the default-language title.
  • Dates and the live feed time use format_date with a translatable pattern (context "PHP date format"). The datetime attribute stays raw ISO.
  • The hero slider scripts use Drupal.t and declare core/drupal.
  • About twenty component templates wrap English in |t; the breadcrumb aria-label uses 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 |striptags on the visible label because t() 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

🤖 Generated with Claude Code

Edited by Rajab Natshah

Merge request reports

Loading
Loading