Problem/Motivation
The theme prints several strings and values in a way that stays in the site's default language when a second language is installed, so translated pages mix languages. Found by crawling a right-to-left translation of The Rightup and reading the markup.
- Episode lists (
views-view-fields--podcast-episodes--by-podcast and --more-by-podcast) print row._entity.label, the default-language title, next to a summary in the row's language.
- The date atom prints
date|date('M j, Y'), which never localizes month names, and the live feed item does the same for its time.
- The hero slider scripts write "Play" and "Pause" directly instead of through
Drupal.t.
- About twenty component templates print English without
|t (labels, placeholders, alternative text).
- The podcast episode count joins a number and a word, which cannot follow a language's plural forms (some languages have six).
- The Share component prints each platform title as stored in the Webshare table, so no translation can reach it.
Steps to reproduce
- Install The Rightup, add a second language with translated episodes, and open the translated show page, for example
/<langcode>/podcasts/field-notes.
- Episode titles are in the default language, the summaries in the page language. Dates read "Jul 16, 2026". The ticker time is "12:00 PM".
Proposed resolution
- Read the row title through the view's own title field, so it follows the row's translation.
- Print dates with
format_date and a translatable pattern (context "PHP date format") so the interface language names the month and can reorder the parts. The datetime attribute stays ISO.
- Use
Drupal.t in the slider scripts and declare core/drupal.
- Wrap the remaining component strings in
|t, use {% trans %} with a plural for the episode count, and pass the Share titles through |t.
Strings that come from Canvas inputs or config (headers, labels typed in the editor) are out of scope: they are translated per language, not by the theme.
Remaining tasks
- ✅ File an issue
- ✅ Addition/Change/Update/Fix
- ❌ Testing to ensure no regression
- ❌ Automated unit/functional testing coverage
- ➖ Developer Documentation support
- ➖ User Guide Documentation support
- ➖ UX/UI designer responsibilities
- ❌ Accessibility and Readability
- ❌ Reviewed by a human
- ❌ Code review by maintainers
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ❌ Update Release Notes
- ❌ Release
User interface changes
- None in English. Translated pages keep each row, date and label in one language.
API changes
Data model changes
Release notes snippet
- None in English. Translated pages keep each row, date and label in one language.
AI-Generated: Yes. Drafted and tested with Claude Code, reviewed by the contributor.
Comments
Comment #3
rajab natshahBefore and after screenshots, 1440 wide, on a translated right-to-left page unless named LTR.
Comment #5
rajab natshah✅ Released vartheme_bs5_rightup-1.0.4