Skip to content

🌐 Added missed string wrapping for Portal's offer page#26884

Merged
9larsons merged 4 commits intoTryGhost:mainfrom
cathysarisky:i18n-wrapping-offers
Mar 19, 2026
Merged

🌐 Added missed string wrapping for Portal's offer page#26884
9larsons merged 4 commits intoTryGhost:mainfrom
cathysarisky:i18n-wrapping-offers

Conversation

@cathysarisky
Copy link
Copy Markdown
Member

@cathysarisky cathysarisky commented Mar 19, 2026

no ref

  • Abstracted the translateCadence function to utils since we need it in multiple places.
  • Fixed two more places cadence wasn't wrapped for translations.
  • Removed "{amountOff} off" string, since we are already using "{amount} off" elsewhere.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2da700f4-629f-46cb-8e02-ccb9ff38eb37

📥 Commits

Reviewing files that changed from the base of the PR and between 62a0a2b and e376768.

📒 Files selected for processing (1)
  • apps/portal/package.json
✅ Files skipped from review due to trivial changes (1)
  • apps/portal/package.json

Walkthrough

Added a new exported helper translateCadence(cadence) in apps/portal/src/utils/helpers.js that maps 'month' and 'year' to localized strings. Imported and used this helper in account-plan-page.js and offer-page.js, removing a local cadence translation function from account-plan-page.js. Updated retention-offer label formatting to use the {amount} interpolation token. Many locale JSON files had the "{amountOff} off" translation entries removed. Package version for @tryghost/portal was bumped from 2.66.7 to 2.66.8.

Possibly related PRs

  • TryGhost/Ghost PR 26882: Modifies cadence localization and introduces/uses the translateCadence helper.
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly describes the main change: adding internationalization (i18n) string wrapping for the Portal's offer page, which is the core objective.
Description check ✅ Passed The PR description directly relates to the changeset by explaining the three main modifications: abstracting translateCadence, fixing cadence translations, and removing redundant string keys.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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.

return diffHours < 24;
}

// Translate cadence to human readable string
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What an ugly file this is. 1000 lines of 'helpers' 😁.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Problem for another day!!

@9larsons 9larsons merged commit 742746c into TryGhost:main Mar 19, 2026
34 checks passed
mwgustin pushed a commit to mwgustin/homeops that referenced this pull request Mar 22, 2026
…#120)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[ghcr.io/sredevopsorg/ghost-on-kubernetes](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes)
| minor | `v6.19.3` → `v6.22.1` |

---

### Release Notes

<details>
<summary>sredevopsorg/ghost-on-kubernetes
(ghcr.io/sredevopsorg/ghost-on-kubernetes)</summary>

###
[`v6.22.1`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.22.1)

[Compare
Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.22.0...v6.22.1)

#### What's Changed

- Update event types for GHOST\_VERSION setup by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;676](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/676)
- Add Trivy vulnerability scanner workflow by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;677](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/677)
- chore(deps): update actions/checkout action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;679](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/679)
- chore(deps): update aquasecurity/trivy-action action to v0.35.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;678](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/678)
- chore(deps): update node.js to
[`2365189`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/2365189)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;682](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/682)
- chore(deps): update step-security/harden-runner action to v2.16.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;681](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/681)
- chore(deps): update github/codeql-action action to v4.34.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;680](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/680)

**Full Changelog**:
<sredevopsorg/ghost-on-kubernetes@v6.22.0...v6.22.1>

#### From upstream
[@&#8203;tryghost](https://redirect.github.com/tryghost)

🔒 Added file type validation and content-type control for file uploads
([TryGhost/Ghost#26869](https://redirect.github.com/TryGhost/Ghost/pull/26869))
- Princi Vershwal
🎨 Updated Source to v1.5.2 - Ghost CI
🎨 Updated Casper to v5.10.1 - Ghost CI
🎨 Updated private page access and signup flow
([TryGhost/Ghost#26762](https://redirect.github.com/TryGhost/Ghost/pull/26762))
- John O'Nolan
🎨 Changed email verification error messages to be configurable via
hostSettings
([TryGhost/Ghost#26631](https://redirect.github.com/TryGhost/Ghost/pull/26631))
- Jannis Fedoruk-Betschki
🐛 Fixed font rendering when converting SVGs with text elements to PNG
format
([TryGhost/Ghost#26863](https://redirect.github.com/TryGhost/Ghost/pull/26863))
- Chris Raible
🐛 Fixed "labels is not defined" error when creating comped members via
API
([TryGhost/Ghost#26837](https://redirect.github.com/TryGhost/Ghost/pull/26837))
- Troy Ciesco
🐛 Fixed translations for Inbox Links button
([TryGhost/Ghost#26839](https://redirect.github.com/TryGhost/Ghost/pull/26839))
- Evan Hahn
🐛 Fixed domain warming when warming has completed
([TryGhost/Ghost#26817](https://redirect.github.com/TryGhost/Ghost/pull/26817))
- Sam Lord
🌐 Added missed string wrapping for Portal's offer page
([TryGhost/Ghost#26884](https://redirect.github.com/TryGhost/Ghost/pull/26884))
- Cathy Sarisky
🌐 Added new Chinese language strings
([TryGhost/Ghost#26871](https://redirect.github.com/TryGhost/Ghost/pull/26871))
- tommywong-theinitium
View the changelog for full details:
<TryGhost/Ghost@v6.22.0...v6.22.1>

###
[`v6.22.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.22.0)

[Compare
Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.21.2...v6.22.0)

#### What's Changed

- Enhance CI workflow with Dockerfile-docker checks by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;669](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/669)
- ci: Automate building new '-docker' releases when there's a release.
by [@&#8203;markstos](https://redirect.github.com/markstos) in
[#&#8203;639](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/639)
- Wf triggers fixes by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;670](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/670)
- fix(check-ghost-releases): use GitHub Packages API for LAST\_BUILT by
[@&#8203;markstos](https://redirect.github.com/markstos) in
[#&#8203;671](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/671)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker
digest to
[`b2a1685`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b2a1685)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;673](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/673)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot
docker digest to
[`6731730`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/6731730)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;672](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/672)
- Wf patch logic by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;674](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/674)

**Full Changelog**:
<sredevopsorg/ghost-on-kubernetes@v6.21.2...v6.22.0>

###
[`v6.21.2`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.21.2)

[Compare
Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.21.0...v6.21.2)

#### What's Changed

- ✨ Add healthcheck to Dockerfile. by
[@&#8203;markstos](https://redirect.github.com/markstos) in
[#&#8203;655](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/655)
- Update base image to specific SHA for runtime by
[@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;665](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/665)
- chore(deps): update sigstore/cosign-installer action to v4.1.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;666](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/666)
- chore(deps): update actions/download-artifact action to v8.0.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;667](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/667)

**Full Changelog**:
<sredevopsorg/ghost-on-kubernetes@v6.21.0...v6.21.2>

###
[`v6.21.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.21.0)

[Compare
Source](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/compare/v6.20.0...v6.21.0)

#### What's Changed

- chore: update Ghost and MySQL user IDs to 65532 for non-root executio…
by [@&#8203;ngeorger](https://redirect.github.com/ngeorger) in
[#&#8203;652](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/652)
- chore(deps): update docker/login-action action to v4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;653](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/653)
- ✨ Add jemalloc to reduce memory consumption by
[@&#8203;markstos](https://redirect.github.com/markstos) in
[#&#8203;654](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/654)
- chore(deps): update docker/setup-buildx-action action to v4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;656](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/656)
- chore(deps): update docker/metadata-action action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;663](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/663)
- chore(deps): update docker/build-push-action action to v7 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;662](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/662)
- chore(deps): update step-security/harden-runner action to v2.15.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;661](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/661)
- chore(deps): update github/codeql-action action to v4.32.6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;660](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/660)
- chore(deps): update node.js to
[`30c0fec`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/30c0fec)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;659](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/659)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker
digest to
[`b9b6d4a`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b9b6d4a)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;658](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/658)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot
docker digest to
[`9bc6ba5`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/9bc6ba5)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;657](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/657)

#### From upstream
[@&#8203;tryghost](https://redirect.github.com/tryghost)

✨ Expanded available cards in welcome email editor
([TryGhost/Ghost#26645](https://redirect.github.com/TryGhost/Ghost/pull/26645))
- Evan Hahn
🐛 Fixed double-prefixed asset URLs when using CDN - Rob Lester
🐛 Fixed contributor user menu Posts link navigating to wrong route
([TryGhost/Ghost#26716](https://redirect.github.com/TryGhost/Ghost/pull/26716))
- Kevin Ansfield
🐛 Fixed contributor posts list not being scrollable
([TryGhost/Ghost#26715](https://redirect.github.com/TryGhost/Ghost/pull/26715))
- Kevin Ansfield
🐛 Fixed missing server-side label search in recipient & segment selects
([TryGhost/Ghost#26699](https://redirect.github.com/TryGhost/Ghost/pull/26699))
- Kevin Ansfield
🐛 Fixed #-prefixed member label select ordering when scrolling
([TryGhost/Ghost#26702](https://redirect.github.com/TryGhost/Ghost/pull/26702))
- Kevin Ansfield

**Full Changelog**:
<sredevopsorg/ghost-on-kubernetes@v6.20.0...v6.21.0>

###
[`v6.20.0`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/releases/tag/v6.20.0)

#### What's Changed

- chore(deps): update github/codeql-action action to v4.32.3 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;630](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/630)
- chore(deps): update docker/build-push-action action to v6.19.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;629](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/629)
- docs: Document Dockerfile-docker.dockerfile by
[@&#8203;markstos](https://redirect.github.com/markstos) in
[#&#8203;638](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/638)
- chore(deps): update actions/dependency-review-action action to v4.8.3
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;641](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/641)
- chore(deps): update github/codeql-action action to v4.32.4 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;642](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/642)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:latest docker
digest to
[`72d4913`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/72d4913)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;647](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/647)
- chore(deps): update node.js to
[`b597724`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/b597724)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;644](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/644)
- chore(deps): update gcr.io/distroless/nodejs22-debian13:debug-nonroot
docker digest to
[`874d16e`](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/commit/874d16e)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;646](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/646)
- chore(deps): update github artifact actions (major) by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;648](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/648)
- chore(deps): update step-security/harden-runner action to v2.15.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;645](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/645)
- chore(deps): update actions/dependency-review-action action to v4.9.0
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;650](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/650)
- chore(deps): update github/codeql-action action to v4.32.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;649](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/649)

#### New Contributors

- [@&#8203;markstos](https://redirect.github.com/markstos) made their
first contribution in
[#&#8203;638](https://redirect.github.com/sredevopsorg/ghost-on-kubernetes/pull/638)

**Full Changelog**:
<sredevopsorg/ghost-on-kubernetes@v6.19.1...v6.20.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/mwgustin/homeops).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40OC4xIiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants