Skip to content

Conversation

@talyguryn
Copy link
Member

Translated all user-facing text in email templates from English to Russian, including subjects, button labels, and message bodies. Updated pluralization and formatting to use Russian language rules and improved consistency across all notification types.

Translated all user-facing text in email templates from English to Russian, including subjects, button labels, and message bodies. Updated pluralization and formatting to use Russian language rules and improved consistency across all notification types.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR localizes all email templates from English to Russian, including complete translation of user-facing text in subjects, message bodies, and button labels across various notification types. The changes implement Russian pluralization rules using a pluralize_ru() function and update product branding to use the Russian transliteration "Хоук" with the tagline "Российский трекер ошибок" (Russian error tracker).

Key changes include:

  • Translation of all user-facing text to Russian across 11 email template types
  • Implementation of Russian pluralization using pluralize_ru() function with three-form arrays
  • Updates to product name and tagline in Russian

Reviewed changes

Copilot reviewed 33 out of 33 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
workers/email/src/templates/emails/workspace-invite/text.twig Translated workspace invitation message and updated branding
workers/email/src/templates/emails/workspace-invite/subject.twig Translated invitation subject line
workers/email/src/templates/emails/workspace-invite/html.twig Translated HTML invitation template with button label
workers/email/src/templates/emails/sign-up/text.twig Translated sign-up instructions and password message
workers/email/src/templates/emails/sign-up/subject.twig Translated welcome subject line
workers/email/src/templates/emails/sign-up/html.twig Translated HTML sign-up template
workers/email/src/templates/emails/several-events/text.twig Translated multiple events notification with Russian pluralization
workers/email/src/templates/emails/several-events/subject.twig Translated multiple events subject with pluralization
workers/email/src/templates/emails/several-events/html.twig Translated HTML multiple events template and unsubscribe text
workers/email/src/templates/emails/payment-success/text.twig Translated payment success notification
workers/email/src/templates/emails/payment-success/subject.twig Translated payment success subject
workers/email/src/templates/emails/payment-success/html.twig Translated HTML payment success template
workers/email/src/templates/emails/payment-failed/text.twig Translated payment failure notification
workers/email/src/templates/emails/payment-failed/subject.twig Translated payment failure subject
workers/email/src/templates/emails/payment-failed/html.twig Translated HTML payment failure template
workers/email/src/templates/emails/password-reset/text.twig Translated password reset instructions
workers/email/src/templates/emails/password-reset/subject.twig Translated password reset subject
workers/email/src/templates/emails/password-reset/html.twig Translated HTML password reset template
workers/email/src/templates/emails/events-limit-almost-reached/text.twig Translated events limit warning
workers/email/src/templates/emails/events-limit-almost-reached/subject.twig Translated events limit subject
workers/email/src/templates/emails/events-limit-almost-reached/html.twig Translated HTML events limit template
workers/email/src/templates/emails/event/text.twig Translated single event notification with pluralization
workers/email/src/templates/emails/event/html.twig Translated HTML single event template
workers/email/src/templates/emails/days-limit-almost-reached/text.twig Translated plan expiration warning
workers/email/src/templates/emails/days-limit-almost-reached/subject.twig Translated plan expiration subject
workers/email/src/templates/emails/days-limit-almost-reached/html.twig Translated HTML plan expiration template
workers/email/src/templates/emails/blocked-workspace-reminder/text.twig Updated branding signature
workers/email/src/templates/emails/block-workspace/text.twig Updated branding signature
workers/email/src/templates/emails/assignee/text.twig Translated assignment notification with pluralization
workers/email/src/templates/emails/assignee/subject.twig Translated assignment subject
workers/email/src/templates/emails/assignee/html.twig Translated HTML assignment template
workers/email/src/templates/components/layout.twig Translated footer branding text
workers/email/src/templates/components/event-info.twig Translated event statistics with Russian pluralization

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

talyguryn and others added 23 commits December 18, 2025 19:46
Co-authored-by: Peter <specc.dev@gmail.com>
Co-authored-by: Peter <specc.dev@gmail.com>
…/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>
Refined the message in both HTML and text templates for the 'events limit almost reached' email to clarify staying informed about all incidents.
Revised the message in both HTML and text email templates to clarify that the recipient is assigned as responsible for fixing a bug in the project, instead of just processing an event.
…tml.twig

Co-authored-by: Peter <specc.dev@gmail.com>
Improved the formatting of the unsubscribe text in the HTML template by consolidating it into a single line. Updated the text template to conditionally display the event type with a colon only if it exists, enhancing clarity in event listings.
…tml.twig

Co-authored-by: Peter <specc.dev@gmail.com>
…ubject.twig

Co-authored-by: Peter <specc.dev@gmail.com>
Co-authored-by: Peter <specc.dev@gmail.com>
Updated both HTML and text email templates to conditionally display the event type followed by the event title only if the type exists, improving clarity and formatting.
…/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>
Co-authored-by: Peter <specc.dev@gmail.com>
Updated the login link in the sign-up email template to include the email as a query parameter, allowing the login form to be prefilled for new users.
Removed conditional logic for subscription status in both HTML and text email templates. Now always informs the user that the subscription will be renewed in the specified number of days.
Revised both HTML and text email templates to clarify the need to link a card for automatic renewal or pay for the next month manually. Added a warning that error monitoring will be suspended if the plan is not renewed.
Updated event email templates to use the default filter for event type, preventing display issues when the type is undefined or missing. This ensures consistent formatting in both HTML and text versions of event notification emails.
Replaced inline ternary logic with Twig if statements for displaying event types in event email templates. This improves readability and consistency across HTML and text versions.
Changed the variable in the workspace invite email subject from 'name' to 'workspaceName' for improved clarity and consistency.
<img src="{{ hostOfStatic }}/email/event-badge-icon.png" width="8" height="14" hspace="3" style="vertical-align: middle">
<span style="vertical-align: middle; display: inline-block;">
{{ event.payload.type ? event.payload.type : 'Uncaught Error' }}
{% if event.payload.type %}{{ event.payload.type }}: {% endif %}{{ event.payload.title | escape }}
Copy link
Member

Choose a reason for hiding this comment

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

Remove event title from here since it it displayed below.

Image

talyguryn and others added 10 commits December 20, 2025 00:08
Deleted a redundant table row displaying the event title and icon above the main event title block in the event email template to avoid duplicate information.
Non-production environments now include the environment name in the email sender name to help distinguish emails sent from staging or development.
talyguryn and others added 5 commits December 22, 2025 01:06
Introduces an 'email' field to the sign-up template variables and updates the email template to use this value for the login button link. This ensures the correct email is prefilled in the login URL.
@talyguryn talyguryn merged commit aad4b02 into master Dec 23, 2025
4 of 5 checks passed
@talyguryn talyguryn deleted the feat/translate-all-emails branch December 23, 2025 17:42
talyguryn added a commit that referenced this pull request Dec 23, 2025
* Fix: Improve quota notification and blocking logic (#489)

* Improve quota notification and blocking logic

Refactored the quota check to ensure workspaces are blocked and notified only when appropriate. Added logging for both blocking and approaching quota limits, and clarified notification task handling.

* Suppress magic number lint warning in logger

Added an ESLint directive to ignore the magic number warning for the percentage calculation in the workspace events limit log message.

* Fix: save workspace blocked date (#491)

* pull new hawk types

* Track blocked date for workspaces in LimiterWorker

Adds a 'blockedDate' property to workspaces when blocking and unblocking them. This allows tracking when a workspace was blocked or cleared, improving auditability and state management.

* Add and populate blockedDate for blocked workspaces

Introduces the blockedDate field to workspace updates in dbHelper and ensures it is set for all blocked workspaces, including a temporary fix for existing records missing this field. This change supports better tracking of when a workspace was blocked and prepares for future removal of the migration code.

* Add tests for blockedDate handling in workspaces

Extended tests to cover setting and clearing the blockedDate field when blocking and unblocking workspaces. Added scenarios for updating blockedDate when missing and verifying correct behavior during workspace state transitions.

* Update index.ts

* Refactor blocked workspace reminder to use days after block

Renamed variables and template placeholders from 'daysAfterPayday' to 'daysAfterBlock' to more accurately reflect the time since a workspace was blocked. Updated related logic, types, and templates to use the new naming and calculation. Added a utility function to compute days after block in payday.ts.

* Update yarn.lock to deduplicate and reorder entries

This commit cleans up the yarn.lock file by removing duplicate entries, consolidating package references, and reordering dependencies for consistency. No package versions were changed; this improves maintainability and reduces lockfile bloat.

* Rename daysAfterPayday to daysAfterBlock in payload

Updated variable and property names from daysAfterPayday to daysAfterBlock in SenderWorker to reflect the correct payload structure and improve clarity.

* Handle undefined daysAfterBlock in reminders logic

Updated countDaysAfterBlock to return undefined instead of null when blockedDate is missing. Adjusted paymaster worker logic to check for undefined, ensuring reminders are sent only when daysAfterBlock is valid.

* Adjust blockedDate calculation in PaymasterWorker test

Updates the blockedDate assignment to subtract days based on expectedDaysAfterBlock in the PaymasterWorker test, improving test accuracy for blocked subscriptions.

* Update workers/paymaster/tests/index.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update workers/paymaster/src/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/utils/payday.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update dbHelper.test.ts

* Remove obsolete test and update blocked workspace logic

Deleted a test for setting blockedDate on already blocked workspaces in limiter tests, as the scenario is no longer relevant. Updated workspace mock to include blockedDate as undefined. Simplified reminder logic in PaymasterWorker by removing unnecessary undefined check for daysAfterBlock.

* Refactor blockedDate handling in workspace mocks

Removed redundant logic for setting blockedDate when workspace is already blocked in LimiterWorker. Standardized blockedDate type to Date (not Date | null/undefined) in test mocks and updated test cases to use null instead of undefined where appropriate.

* Update index.test.ts

* Update dbHelper.test.ts

* Update index.test.ts

* Update index.test.ts

* Update workers/paymaster/tests/index.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update index.test.ts

* Update workers/paymaster/src/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/utils/payday.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update workers/paymaster/src/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update emailOverview.ts

* Update workers/limiter/src/index.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update lib/utils/payday.ts

Co-authored-by: Peter <specc.dev@gmail.com>

* Update index.test.ts

* Update index.test.ts

* Update index.ts

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Peter <specc.dev@gmail.com>

* feat(js): arrange babel plugins respectfully to vue and svetle frameworks (#492)

* feat(): arrange babel plugins respectfully to vue and svetle frameworks

* chore(): add context to hawk errors and cover utils with tests

* chore(): clean up

* Update workers/javascript/src/utils.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore(): fix tests description

* imp(): move getFunctionContext to utils

* chore(): lint fix

* chore(): improve jsdoc

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Refetch plans if workspace tariff is missing from cache (#496)

* Refetch plans if workspace tariff is missing from cache

Introduces logic to refetch tariff plans from the database if a workspace references a plan not present in the cached list. Adds tests to verify that plans are refetched when needed and that an error is thrown if the plan is still missing after refetching.

* Refactor plan fetching and lookup methods

Moved helper methods below the public ones to satisfy @typescript-eslint/member-ordering. Lint should now pass for those ordering errors.

* Update workspace block status in database

Added database updates to set the isBlocked flag and blockedDate when blocking a workspace, and to unset isBlocked when unblocking. This ensures the workspace's block status is accurately reflected in the database.

* Remove unused plan lookup methods

Deleted the private methods findPlanById and getWorkspacePlan from PaymasterWorker as they are no longer used in the codebase.

* Update index.ts

* Update index.ts

* Calculate payday correctly (#495)

* Refactor payday calculation logic for clarity

Reorganized the logic in countDaysBeforePayday and countDaysAfterPayday to consistently handle the paidUntil and isDebug parameters. Added a @todo note to remove the isDebug feature in the future as it complicates the logic.

* Update payday.ts

* Refactor payday calculation logic

Extracted payday date calculation into a new getPayday function and updated countDaysBeforePayday and countDaysAfterPayday to use it. This improves code reuse and clarity.

* try to add tests

* Update payday.test.ts

* Rename 'date' param to 'lastChargeDate' in payday utils

Updated function parameter names and related references from 'date' to 'lastChargeDate' in payday utility functions for improved clarity and consistency.

* Remove 0 from DAYS_LEFT_ALERT notifications

Admins will now only be notified 3, 2, and 1 days before payment, not on the due day itself. This reduces redundant notifications.

* Remove integration scenario tests from payday utility

Deleted the 'Integration scenarios' test suite from payday.test.ts to reduce test coverage to unit-level only. This streamlines the test file and focuses on isolated function testing.

* Add comment for prepaid workspace recharge logic

Added a clarifying comment explaining the recharge process for prepaid workspaces, noting that limits should be reset even if no payment is due. This improves code readability and understanding of billing logic.

* Update test to check addTask call for unblocking

Modified the PaymasterWorker test to assert that the 'addTask' method is called with the correct parameters for unblocking a workspace, instead of checking workspace fields directly.

* Localize email templates to Russian (#494)

* Localize email templates to Russian

Translated all user-facing text in email templates from English to Russian, including subjects, button labels, and message bodies. Updated pluralization and formatting to use Russian language rules and improved consistency across all notification types.

* Update workers/email/src/templates/emails/assignee/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/sign-up/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/payment-failed/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update workers/email/src/templates/emails/payment-success/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/events-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update wording in events limit notification emails

Refined the message in both HTML and text templates for the 'events limit almost reached' email to clarify staying informed about all incidents.

* Update assignee email templates wording

Revised the message in both HTML and text email templates to clarify that the recipient is assigned as responsible for fixing a bug in the project, instead of just processing an event.

* Update subject.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Refine event email templates formatting

Improved the formatting of the unsubscribe text in the HTML template by consolidating it into a single line. Updated the text template to conditionally display the event type with a colon only if it exists, enhancing clarity in event listings.

* Update event-info.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/subject.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update workers/email/src/templates/emails/event/text.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Improve event type and title display in email templates

Updated both HTML and text email templates to conditionally display the event type followed by the event title only if the type exists, improving clarity and formatting.

* Update workers/email/src/templates/emails/events-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update event email templates button and link text

Changed the button label and link text from 'Просмотреть событие' to 'Просмотреть детали' in both HTML and text event email templates for improved clarity.

* Update Russian email templates for events limit notice

Improved the wording in both HTML and text versions of the 'events limit almost reached' email templates in Russian for better clarity and tone.

* Update days-limit email templates with renewal info

Added conditional messaging in both HTML and text email templates to inform users if their subscription will be auto-renewed or if they need to attach a card or pay manually, based on the presence of a subscription ID.

* Update email templates branding and footer text

Replaces 'Российский трекер ошибок' and 'Сделан в CodeX' with 'Мониторинг ошибок' in all email templates and layout. This unifies and simplifies the branding across all notification emails.

* Fix placement of plan suspension notice in email templates

Moved the warning about error monitoring suspension to appear only when appropriate in both HTML and text versions of the days-limit-almost-reached email. This ensures the message is shown in the correct context for users without an active subscription.

* Unify unsubscribe text in email templates

Standardized the wording of unsubscribe and notification preference instructions across all email templates for consistency and clarity.

* Update Russian email templates wording and formatting

Changed button labels from 'Просмотреть' to 'Смотреть' for consistency across assignee, event, and several-events templates. Improved formatting in events-limit-almost-reached and sign-up HTML templates by adding line breaks for better readability.

* Prefill email in login link for sign-up email

Updated the login button in the sign-up email template to include the email as a query parameter, allowing the login form to be prefilled for the user.

* Update workers/email/src/templates/emails/assignee/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Prefill email in sign-up email login link

Updated the login link in the sign-up email template to include the email as a query parameter, allowing the login form to be prefilled for new users.

* Simplify days-limit-almost-reached email templates

Removed conditional logic for subscription status in both HTML and text email templates. Now always informs the user that the subscription will be renewed in the specified number of days.

* Update days-limit email templates with clearer renewal info

Revised both HTML and text email templates to clarify the need to link a card for automatic renewal or pay for the next month manually. Added a warning that error monitoring will be suspended if the plan is not renewed.

* Fix event type display when type is undefined in email templates

Updated event email templates to use the default filter for event type, preventing display issues when the type is undefined or missing. This ensures consistent formatting in both HTML and text versions of event notification emails.

* Refactor event type display in email templates

Replaced inline ternary logic with Twig if statements for displaying event types in event email templates. This improves readability and consistency across HTML and text versions.

* Update workspace invite subject variable name

Changed the variable in the workspace invite email subject from 'name' to 'workspaceName' for improved clarity and consistency.

* Remove duplicate event title block in email template

Deleted a redundant table row displaying the event title and icon above the main event title block in the event email template to avoid duplicate information.

* Update html.twig

* fix some styles

* Update backtrace.twig

* Update event-info.twig

* few more fixes

* Update backtrace.twig

* Update subject.twig

* Add environment prefix to email sender name

Non-production environments now include the environment name in the email sender name to help distinguish emails sent from staging or development.

* Revert "Add environment prefix to email sender name"

This reverts commit 29adaa6.

* Add user email to sign-up email template variables

Introduces an 'email' field to the sign-up template variables and updates the email template to use this value for the login button link. This ensures the correct email is prefilled in the login URL.

* Update backtrace.twig

* move nobr outside or pre

* fix typo

* remove nobr

---------

Co-authored-by: Peter <specc.dev@gmail.com>

* Add UTM to email links (#498)

* Localize email templates to Russian

Translated all user-facing text in email templates from English to Russian, including subjects, button labels, and message bodies. Updated pluralization and formatting to use Russian language rules and improved consistency across all notification types.

* Update workers/email/src/templates/emails/assignee/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/sign-up/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/payment-failed/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update workers/email/src/templates/emails/payment-success/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/events-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update wording in events limit notification emails

Refined the message in both HTML and text templates for the 'events limit almost reached' email to clarify staying informed about all incidents.

* Update assignee email templates wording

Revised the message in both HTML and text email templates to clarify that the recipient is assigned as responsible for fixing a bug in the project, instead of just processing an event.

* Update subject.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Refine event email templates formatting

Improved the formatting of the unsubscribe text in the HTML template by consolidating it into a single line. Updated the text template to conditionally display the event type with a colon only if it exists, enhancing clarity in event listings.

* Update event-info.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update workers/email/src/templates/emails/days-limit-almost-reached/subject.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update workers/email/src/templates/emails/event/text.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Improve event type and title display in email templates

Updated both HTML and text email templates to conditionally display the event type followed by the event title only if the type exists, improving clarity and formatting.

* Update workers/email/src/templates/emails/events-limit-almost-reached/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Update text.twig

* Update event email templates button and link text

Changed the button label and link text from 'Просмотреть событие' to 'Просмотреть детали' in both HTML and text event email templates for improved clarity.

* Update Russian email templates for events limit notice

Improved the wording in both HTML and text versions of the 'events limit almost reached' email templates in Russian for better clarity and tone.

* Update days-limit email templates with renewal info

Added conditional messaging in both HTML and text email templates to inform users if their subscription will be auto-renewed or if they need to attach a card or pay manually, based on the presence of a subscription ID.

* Update email templates branding and footer text

Replaces 'Российский трекер ошибок' and 'Сделан в CodeX' with 'Мониторинг ошибок' in all email templates and layout. This unifies and simplifies the branding across all notification emails.

* Fix placement of plan suspension notice in email templates

Moved the warning about error monitoring suspension to appear only when appropriate in both HTML and text versions of the days-limit-almost-reached email. This ensures the message is shown in the correct context for users without an active subscription.

* Unify unsubscribe text in email templates

Standardized the wording of unsubscribe and notification preference instructions across all email templates for consistency and clarity.

* Update Russian email templates wording and formatting

Changed button labels from 'Просмотреть' to 'Смотреть' for consistency across assignee, event, and several-events templates. Improved formatting in events-limit-almost-reached and sign-up HTML templates by adding line breaks for better readability.

* Prefill email in login link for sign-up email

Updated the login button in the sign-up email template to include the email as a query parameter, allowing the login form to be prefilled for the user.

* Update workers/email/src/templates/emails/assignee/html.twig

Co-authored-by: Peter <specc.dev@gmail.com>

* Prefill email in sign-up email login link

Updated the login link in the sign-up email template to include the email as a query parameter, allowing the login form to be prefilled for new users.

* Simplify days-limit-almost-reached email templates

Removed conditional logic for subscription status in both HTML and text email templates. Now always informs the user that the subscription will be renewed in the specified number of days.

* Update days-limit email templates with clearer renewal info

Revised both HTML and text email templates to clarify the need to link a card for automatic renewal or pay for the next month manually. Added a warning that error monitoring will be suspended if the plan is not renewed.

* Fix event type display when type is undefined in email templates

Updated event email templates to use the default filter for event type, preventing display issues when the type is undefined or missing. This ensures consistent formatting in both HTML and text versions of event notification emails.

* Refactor event type display in email templates

Replaced inline ternary logic with Twig if statements for displaying event types in event email templates. This improves readability and consistency across HTML and text versions.

* Update workspace invite subject variable name

Changed the variable in the workspace invite email subject from 'name' to 'workspaceName' for improved clarity and consistency.

* Remove duplicate event title block in email template

Deleted a redundant table row displaying the event title and icon above the main event title block in the event email template to avoid duplicate information.

* Update html.twig

* fix some styles

* Update backtrace.twig

* Update event-info.twig

* few more fixes

* Update backtrace.twig

* Update subject.twig

* Add environment prefix to email sender name

Non-production environments now include the environment name in the email sender name to help distinguish emails sent from staging or development.

* Revert "Add environment prefix to email sender name"

This reverts commit 29adaa6.

* Add user email to sign-up email template variables

Introduces an 'email' field to the sign-up template variables and updates the email template to use this value for the login button link. This ensures the correct email is prefilled in the login URL.

* Add UTM parameters to email template links

Appends UTM parameters to all actionable links in email templates for better tracking of user engagement from transactional emails. Each template now sets a relevant utm_campaign value, and links are updated accordingly in both HTML and text versions.

* Fix typos and update payment instructions in email templates

Corrected a typo in the renewal message and updated the payment settings instruction in both HTML and text versions of the days-limit-almost-reached email templates.

---------

Co-authored-by: Peter <specc.dev@gmail.com>

---------

Co-authored-by: Taly <vitalik7tv@yandex.ru>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Peter <specc.dev@gmail.com>
Co-authored-by: e11sy <130844513+e11sy@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.

3 participants