Skip to content

Wrapped Podcast strings for translation in Portal#26784

Merged
9larsons merged 1 commit intomainfrom
upd-portal-strings
Mar 11, 2026
Merged

Wrapped Podcast strings for translation in Portal#26784
9larsons merged 1 commit intomainfrom
upd-portal-strings

Conversation

@9larsons
Copy link
Copy Markdown
Contributor

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 11, 2026

Walkthrough

This pull request updates the Transistor podcasts integration in the portal application. The package version is bumped to 2.66.2. The transistor-podcasts-action component modifies its default text: description changes to "Access your RSS feeds" and button text to "Manage". The translation logic is simplified to check if values are default or empty before applying translated defaults. Corresponding unit tests are updated to reflect the new button text. Additionally, two new translation keys—"Access your RSS feeds" and "Podcasts"—are added across all supported locale files with empty translations pending localization.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: wrapping Podcast-related strings for translation in Portal, which is evident from the 60+ locale files being updated with new translation keys.
Description check ✅ Passed The description references a Linear issue (NY-1037) which provides context for the change, though minimal. This is sufficient as the description relates to the changeset's purpose of updating Podcast strings for translation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch upd-portal-strings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@apps/portal/src/components/pages/AccountHomePage/components/transistor-podcasts-action.js`:
- Around line 36-40: The isDefault check fails for legacy persisted defaults
causing untranslated old strings to show; update the isDefault logic (used to
compute heading, description, buttonText) to treat legacy default literals as
equivalent to TRANSISTOR_DEFAULTS by checking both TRANSISTOR_DEFAULTS[key] and
the legacy literal values (e.g., 'Access your private podcast feed' for
description and 'View' for button_text) when comparing settings.description and
settings.button_text so existing installations will fall back to t(...) as
intended.

In
`@apps/portal/test/unit/components/pages/AccountHomePage/transistor-podcasts-action.test.js`:
- Around line 20-44: The tests currently assert English text but don't verify
that the component uses i18n; add a new unit test that renders the component
through the same setup helper but with a localized i18n instance (or wrapped
with I18nextProvider) that defines non-English translations for the "Podcasts"
heading and "Manage" label, then assert those translated strings are present
using getByText (e.g., add a test named like 'renders translated strings' that
calls setup({hasPodcasts: true, memberUuid: TEST_UUID}, {i18nResources:
{namespace: {podcastsHeading: "PODCASTS_ES", manageLabel: "MANAGE_ES"}}}) or by
switching i18n.changeLanguage prior to calling setup) to ensure the
TransistorPodcastsAction component actually reads from the translation keys
rather than hardcoded "Podcasts"/"Manage".

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 38369da7-a84d-4004-a78c-069b08ff1e16

📥 Commits

Reviewing files that changed from the base of the PR and between a90817a and b50b599.

📒 Files selected for processing (66)
  • apps/portal/package.json
  • apps/portal/src/components/pages/AccountHomePage/components/transistor-podcasts-action.js
  • apps/portal/test/unit/components/pages/AccountHomePage/transistor-podcasts-action.test.js
  • ghost/i18n/locales/af/portal.json
  • ghost/i18n/locales/ar/portal.json
  • ghost/i18n/locales/bg/portal.json
  • ghost/i18n/locales/bn/portal.json
  • ghost/i18n/locales/bs/portal.json
  • ghost/i18n/locales/ca/portal.json
  • ghost/i18n/locales/context.json
  • ghost/i18n/locales/cs/portal.json
  • ghost/i18n/locales/da/portal.json
  • ghost/i18n/locales/de-CH/portal.json
  • ghost/i18n/locales/de/portal.json
  • ghost/i18n/locales/el/portal.json
  • ghost/i18n/locales/en/portal.json
  • ghost/i18n/locales/eo/portal.json
  • ghost/i18n/locales/es/portal.json
  • ghost/i18n/locales/et/portal.json
  • ghost/i18n/locales/eu/portal.json
  • ghost/i18n/locales/fa/portal.json
  • ghost/i18n/locales/fi/portal.json
  • ghost/i18n/locales/fr/portal.json
  • ghost/i18n/locales/gd/portal.json
  • ghost/i18n/locales/he/portal.json
  • ghost/i18n/locales/hi/portal.json
  • ghost/i18n/locales/hr/portal.json
  • ghost/i18n/locales/hu/portal.json
  • ghost/i18n/locales/id/portal.json
  • ghost/i18n/locales/is/portal.json
  • ghost/i18n/locales/it/portal.json
  • ghost/i18n/locales/ja/portal.json
  • ghost/i18n/locales/ko/portal.json
  • ghost/i18n/locales/kz/portal.json
  • ghost/i18n/locales/lt/portal.json
  • ghost/i18n/locales/lv/portal.json
  • ghost/i18n/locales/mk/portal.json
  • ghost/i18n/locales/mn/portal.json
  • ghost/i18n/locales/ms/portal.json
  • ghost/i18n/locales/nb/portal.json
  • ghost/i18n/locales/ne/portal.json
  • ghost/i18n/locales/nl/portal.json
  • ghost/i18n/locales/nn/portal.json
  • ghost/i18n/locales/pa/portal.json
  • ghost/i18n/locales/pl/portal.json
  • ghost/i18n/locales/pt-BR/portal.json
  • ghost/i18n/locales/pt/portal.json
  • ghost/i18n/locales/ro/portal.json
  • ghost/i18n/locales/ru/portal.json
  • ghost/i18n/locales/si/portal.json
  • ghost/i18n/locales/sk/portal.json
  • ghost/i18n/locales/sl/portal.json
  • ghost/i18n/locales/sq/portal.json
  • ghost/i18n/locales/sr-Cyrl/portal.json
  • ghost/i18n/locales/sr/portal.json
  • ghost/i18n/locales/sv/portal.json
  • ghost/i18n/locales/sw/portal.json
  • ghost/i18n/locales/ta/portal.json
  • ghost/i18n/locales/th/portal.json
  • ghost/i18n/locales/tr/portal.json
  • ghost/i18n/locales/uk/portal.json
  • ghost/i18n/locales/ur/portal.json
  • ghost/i18n/locales/uz/portal.json
  • ghost/i18n/locales/vi/portal.json
  • ghost/i18n/locales/zh-Hant/portal.json
  • ghost/i18n/locales/zh/portal.json

@9larsons 9larsons merged commit 1b158dd into main Mar 11, 2026
31 checks passed
@9larsons 9larsons deleted the upd-portal-strings branch March 11, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant