[PR #2439] fix(i18n): mark page titles for translation #2309

Open
opened 2026-02-26 20:33:19 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/documenso/documenso/pull/2439
Author: @njg7194
Created: 2/1/2026
Status: 🔄 Open

Base: mainHead: fix/i18n-page-titles


📝 Commits (1)

  • 2073b15 fix(i18n): mark page titles for translation

📊 Changes

41 files changed (+88 additions, -42 deletions)

View changed files

📝 apps/remix/app/routes/_authenticated+/dashboard.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/inbox.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/_layout.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/billing.tsx (+2 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/profile.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/security._index.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/security.activity.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx (+3 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/security.passkeys.tsx (+1 -1)
📝 apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx (+3 -1)
📝 apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents._index.tsx (+2 -1)

...and 21 more files

📄 Description

Summary

Fixes #2142

This PR enables i18n support for HTML page titles displayed in browser tabs.

Changes

  • Updated appMetaTags() utility to accept MessageDescriptor in addition to plain strings
  • Replaced all static string titles with Lingui msg\...`` macro calls across 40+ route files
  • Added @lingui/core/macro import where needed

Before

Page titles were hardcoded in English:

export function meta() {
  return appMetaTags('Dashboard');
}

After

Page titles are now translatable:

export function meta() {
  return appMetaTags(msg\`Dashboard\`);
}

Testing

  • Verified that the i18n instance is already activated in entry.server.tsx before meta functions run
  • The appMetaTags function now uses i18n._() to resolve MessageDescriptors

Notes

The meta tags (description, keywords, og:title) remain in English as they serve SEO/standardization purposes, but the browser tab title now respects the user's language preference.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/documenso/documenso/pull/2439 **Author:** [@njg7194](https://github.com/njg7194) **Created:** 2/1/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/i18n-page-titles` --- ### 📝 Commits (1) - [`2073b15`](https://github.com/documenso/documenso/commit/2073b153eaaff809ec65759224380589eacd18fa) fix(i18n): mark page titles for translation ### 📊 Changes **41 files changed** (+88 additions, -42 deletions) <details> <summary>View changed files</summary> 📝 `apps/remix/app/routes/_authenticated+/dashboard.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/inbox.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/_layout.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/billing.tsx` (+2 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/profile.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/security._index.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/security.activity.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx` (+3 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/security.passkeys.tsx` (+1 -1) 📝 `apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx` (+3 -1) 📝 `apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents._index.tsx` (+2 -1) _...and 21 more files_ </details> ### 📄 Description ## Summary Fixes #2142 This PR enables i18n support for HTML page titles displayed in browser tabs. ## Changes - Updated `appMetaTags()` utility to accept `MessageDescriptor` in addition to plain strings - Replaced all static string titles with Lingui `msg\`...\`` macro calls across 40+ route files - Added `@lingui/core/macro` import where needed ## Before Page titles were hardcoded in English: ```tsx export function meta() { return appMetaTags('Dashboard'); } ``` ## After Page titles are now translatable: ```tsx export function meta() { return appMetaTags(msg\`Dashboard\`); } ``` ## Testing - Verified that the `i18n` instance is already activated in `entry.server.tsx` before meta functions run - The `appMetaTags` function now uses `i18n._()` to resolve MessageDescriptors ## Notes The meta tags (description, keywords, og:title) remain in English as they serve SEO/standardization purposes, but the browser tab title now respects the user's language preference. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/documenso#2309
No description provided.