Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌐 fix missed newsletter strings #22397

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

cathysarisky
Copy link
Contributor

This PR adds wrapping of the email paywall template, and localizes the publication date in email.

Copy link
Contributor

coderabbitai bot commented Mar 6, 2025

Walkthrough

This pull request implements internationalization enhancements across multiple components of the email service. In the EmailRenderer.js file, a new private method, #getValidLocale(), has been introduced to dynamically determine the locale for date formatting, replacing the previous hardcoded locale. Additionally, the email templates have been updated to utilize translation helpers. Specifically, static text in the paywall.hbs file has been replaced with calls to the translation function (e.g., {{t ...}}), and the publication date in template.hbs is now formatted using the translation helper. Furthermore, new key-value pairs have been added to various localization files to support these changes, enhancing the overall localization capabilities of the newsletter system. No changes have been made to the declarations of exported or public entities in the templates.

Possibly related PRs

  • Update newsletter.json #22235: The changes in the main PR regarding the localization of date formatting and user prompts are related to the updates in the retrieved PR, which also focuses on enhancing localization by adding German translations for various subscription-related phrases.
  • Updated/added Slovenian locale #22007: The changes in the main PR, which involve updating the locale handling in the EmailRenderer.js file, are related to the retrieved PR that updates the Slovenian locale, as both involve modifications to localization and user interface text handling.
  • Full translation into Russian (for new strings) #22186: The changes in the main PR regarding the localization of date formatting and dynamic text in the email service are related to the retrieved PR, which focuses on providing Russian translations for various strings, including those related to subscription and membership prompts. Both PRs enhance the localization capabilities of the application, albeit in different contexts.

Suggested labels

affects:i18n, browser-tests


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6a05ded and 775a5d2.

📒 Files selected for processing (1)
  • ghost/email-service/lib/email-templates/partials/paywall.hbs (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • ghost/email-service/lib/email-templates/partials/paywall.hbs
⏰ Context from checks skipped due to timeout of 90000ms (12)
  • GitHub Check: Unit tests (Node 22.13.1)
  • GitHub Check: Ghost-CLI tests
  • GitHub Check: Unit tests (Node 20.11.1)
  • GitHub Check: Unit tests (Node 18.12.1)
  • GitHub Check: Regression tests (Node 20.11.1, sqlite3)
  • GitHub Check: Database tests (Node 20.11.1, sqlite3)
  • GitHub Check: Regression tests (Node 20.11.1, mysql8)
  • GitHub Check: Database tests (Node 22.13.1, mysql8)
  • GitHub Check: Database tests (Node 20.11.1, mysql8)
  • GitHub Check: Database tests (Node 18.12.1, mysql8)
  • GitHub Check: Lint
  • GitHub Check: i18n

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
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: 0

🧹 Nitpick comments (76)
ghost/i18n/locales/ne/newsletter.json (2)

2-3: New Translation Keys for Date and Membership Prompt

The addition of "{date}" and "Become a paid member of {site} to get access to all premium content." standardizes how dynamic content is injected into the newsletter templates. Please ensure that the empty string for the membership prompt is later updated with the appropriate Nepali translation.


19-20: Pending Translations for Upgrade Prompts

The keys "Upgrade" and "Upgrade to continue reading." are added with empty values. For a complete localization experience, fill in these values with proper Nepali translations before release.

ghost/i18n/locales/es/newsletter.json (2)

2-3: New Translation Keys for Date and Membership Prompt

The introduction of "{date}" and "Become a paid member of {site} to get access to all premium content." ensures uniform behavior across locales. However, the empty translation for the membership message should be provided to improve the Spanish user experience.


19-20: Pending Translations for Upgrade Prompts

Both "Upgrade" and "Upgrade to continue reading." remain as empty strings. Make sure to update these with proper Spanish translations to maintain consistency with the rest of the interface.

ghost/i18n/locales/uz/newsletter.json (2)

2-3: Translation Keys for Date and Membership Prompt

The added keys "{date}" and "Become a paid member of {site} to get access to all premium content." lay the groundwork for dynamically formatted date displays and membership messaging. Please ensure that Uzbek translations are provided in subsequent updates.


19-20: Pending Translations for Upgrade Prompts

The keys "Upgrade" and "Upgrade to continue reading." currently have empty values. It is important to provide the corresponding Uzbek translations to ensure the template renders correctly for Uzbek-speaking users.

ghost/i18n/locales/ar/newsletter.json (2)

2-3: Addition of New Translation Keys

The new entries for "{date}" and "Become a paid member of {site} to get access to all premium content." have been added. Double-check that the placeholder membership prompt text is later updated with an appropriate Arabic translation to enhance clarity for Arabic users.


19-20: Arabic Translation Missing for Upgrade Prompts

Both "Upgrade" and "Upgrade to continue reading." remain empty. Please complete these translations to maintain a consistent user experience in the Arabic locale.

ghost/i18n/locales/hr/newsletter.json (2)

2-3: Introduction of Date and Membership Prompt Keys

The inclusion of "{date}" and "Become a paid member of {site} to get access to all premium content." is a positive step toward a more dynamic and modular translation system. Make sure that the Croatian translation for the membership prompt is added when available.


19-20: Translation Pending for Upgrade Prompts

The keys "Upgrade" and "Upgrade to continue reading." are currently placeholders. Providing accurate Croatian equivalents will ensure consistency and clear communication in the newsletter template.

ghost/i18n/locales/lv/newsletter.json (1)

3-3: Membership Prompt Translation Placeholder
The key "Become a paid member of {site} to get access to all premium content." has been added with an empty string as its value. Please verify that leaving this value empty is intentional and that translators are aware the translation is pending.

ghost/i18n/locales/ja/newsletter.json (3)

3-3: Pending Translation for Membership Prompt.
The key "Become a paid member of {site} to get access to all premium content." is introduced with an empty value. Please ensure that an appropriate Japanese translation is provided when available.


19-19: Missing Translation for 'Upgrade'.
The "Upgrade" key is now present but its value is empty. Confirm if a translation is expected immediately or will be updated in a follow-up commit.


20-20: Missing Translation for 'Upgrade to continue reading.'.
The key "Upgrade to continue reading." is added with an empty string. Ensure that the proper localized text is supplied to maintain consistency in the UI.

ghost/i18n/locales/lt/newsletter.json (3)

3-3: Pending Translation for Premium Membership Prompt.
The key "Become a paid member of {site} to get access to all premium content." is provided with an empty value. Please ensure that the Lithuanian translation is added when ready.


19-19: Missing Translation for 'Upgrade'.
The "Upgrade" key is introduced without a value. Verify if a Lithuanian translation is forthcoming or if a fallback should be set.


20-20: Missing Translation for 'Upgrade to continue reading.'
The key "Upgrade to continue reading." is added with an empty string. Ensure that a corresponding localized string is provided to avoid inconsistencies in the newsletter interface.

ghost/i18n/locales/zh-Hant/newsletter.json (3)

3-3: Awaiting Translation for Premium Membership Message.
The key "Become a paid member of {site} to get access to all premium content." currently has an empty translation. Confirm that a proper Traditional Chinese translation will be provided soon.


19-19: Pending Translation for 'Upgrade'.
The key "Upgrade" is present but lacks a translation. Please verify if this should be updated in this PR or in a subsequent update.


20-20: Pending Translation for 'Upgrade to continue reading.'.
The key "Upgrade to continue reading." appears with an empty string. A complete translation is needed to ensure the UI message is clear for Traditional Chinese users.

ghost/i18n/locales/is/newsletter.json (3)

3-3: Missing Translation for Subscription Prompt.
The key "Become a paid member of {site} to get access to all premium content." has an empty value. Please confirm that an appropriate Icelandic translation will be provided.


19-19: Missing Translation for 'Upgrade'.
The "Upgrade" key is introduced without a localized value. Verify if this is intentional or if the translation should be provided.


20-20: Missing Translation for 'Upgrade to continue reading.'.
The key remains empty for "Upgrade to continue reading.". Ensure that a proper Icelandic translation is integrated to maintain UI consistency.

ghost/i18n/locales/ta/newsletter.json (3)

3-3: Awaiting Translation for Premium Membership Prompt.
The key "Become a paid member of {site} to get access to all premium content." is provided with an empty value. Ensure that the Tamil translation is supplied in a timely manner.


19-19: Missing Translation for 'Upgrade'.
The "Upgrade" key is present without a translation. Please verify and update this with the proper Tamil text.


20-20: Missing Translation for 'Upgrade to continue reading.'
The key "Upgrade to continue reading." is introduced with an empty string. A correct translation should be provided to improve the user experience for Tamil speakers.

ghost/i18n/locales/bs/newsletter.json (1)

19-20: Pending translations for upgrade prompts.
The keys "Upgrade" and "Upgrade to continue reading." have been added with empty values. Confirm with the localization team if these should remain as placeholders or be updated with proper translations before release.

ghost/i18n/locales/it/newsletter.json (1)

19-20: Italian locale: Upgrade prompt placeholders added.
The empty-string values for "Upgrade" and "Upgrade to continue reading." indicate pending translations. Verify if these entries should be updated immediately or later via a localization update process.

ghost/i18n/locales/af/newsletter.json (1)

19-20: Afrikaans locale: Upgrade keys introduced with empty values.
The keys "Upgrade" and "Upgrade to continue reading." are added as placeholders. Ensure that the translation process for these keys is scheduled to complete before these templates go live.

ghost/i18n/locales/ur/newsletter.json (1)

19-20: Urdu locale: Upgrade translation placeholders present.
Both "Upgrade" and "Upgrade to continue reading." are provided with empty string values. Confirm with your localization guidelines whether these should be updated with actual translations at this time.

ghost/i18n/locales/fi/newsletter.json (1)

19-20: Finnish locale: Upgrade prompt placeholders included.
The keys "Upgrade" and "Upgrade to continue reading." have been added with empty values. Make sure these placeholders are reviewed by the Finnish translation team and updated if necessary.

ghost/i18n/locales/sv/newsletter.json (1)

19-20: Pending Translations for Upgrade Prompts in Swedish

The keys "Upgrade" and "Upgrade to continue reading." remain untranslated with empty strings. If translations are available, please update these values to avoid showing empty strings in the newsletter.

ghost/i18n/locales/mk/newsletter.json (1)

19-20: Macedonian Locale: Missing Upgrade Translation

Both "Upgrade" and "Upgrade to continue reading." are added with empty strings. Consider adding the Macedonian translations if available, or ensure there is a fallback mechanism in place.

ghost/i18n/locales/ca/newsletter.json (1)

19-20: Catalan Locale: Upgrade Keys Need Attention

The keys "Upgrade" and "Upgrade to continue reading." are still missing translations. If translations are available, please update them so that the email templates display correct messaging.

ghost/i18n/locales/pt-BR/newsletter.json (1)

19-20: Empty Translations for Upgrade Strings:
The keys "Upgrade" and "Upgrade to continue reading." are introduced with empty strings. This is acceptable if the translations are pending; however, consider adding a TODO comment so that translators are aware these need to be populated before release.

ghost/i18n/locales/th/newsletter.json (1)

19-20: Pending Translations for Upgrade Strings in Thai:
The keys "Upgrade" and "Upgrade to continue reading." currently have empty values. Please verify that these will be updated shortly to prevent any fallback issues in production.

ghost/i18n/locales/fa/newsletter.json (1)

19-20: Empty Values for Upgrade-Related Keys in Farsi:
Both "Upgrade" and "Upgrade to continue reading." are set with empty strings. It is recommended to add a TODO or a comment indicating that these translations are pending.

ghost/i18n/locales/mn/newsletter.json (1)

19-20: Pending Upgrade Translations in Mongolian:
The keys "Upgrade" and "Upgrade to continue reading." have empty values. If these translations are not yet available, consider flagging them with a TODO comment for later review.

ghost/i18n/locales/uk/newsletter.json (1)

19-20: Upgrade Strings Pending Translation in Ukrainian:
Both "Upgrade" and "Upgrade to continue reading." currently have empty strings. Ensure that appropriate Ukrainian translations are provided prior to deployment to avoid displaying untranslated content.

ghost/i18n/locales/no/newsletter.json (2)

2-3: New Localization Keys for Date and Membership Prompt.
The new key "{date}" is set correctly, and the key "Become a paid member of {site} to get access to all premium content." has been added with an empty value to signal that a translation is pending.


19-20: Pending Translation for Upgrade Prompts.
The keys "Upgrade" and "Upgrade to continue reading." currently have empty strings. Please update these with proper translations once available or confirm that empty placeholders are acceptable.

ghost/i18n/locales/gd/newsletter.json (2)

2-3: New Localization Keys Added.
The keys "{date}" and "Become a paid member of {site} to get access to all premium content." have been introduced. Note that the translation for the membership invitation is currently empty—ensure that a proper translation is provided at the appropriate time.


19-20: Upgrade Keys Pending Translation.
Both "Upgrade" and "Upgrade to continue reading." are added with empty values. Please verify if these are intentionally left blank as placeholders or if they need to be populated with the appropriate translation text.

ghost/i18n/locales/ru/newsletter.json (2)

2-3: New Localization Keys in Russian Locale.
The keys "{date}" and "Become a paid member of {site} to get access to all premium content." are added. The membership prompt translation is pending (empty string), so please confirm that this is intentional.


19-20: Review Upgrade Prompt Translations.
The keys "Upgrade" and "Upgrade to continue reading." have been introduced with empty strings. It is recommended to supply the appropriate Russian translations for these entries when available.

ghost/i18n/locales/sl/newsletter.json (3)

2-3: New Localization Keys in Slovenian Locale.
The additions of "{date}" and "Become a paid member of {site} to get access to all premium content." follow the pattern seen in other locales. Note that the membership prompt’s translation is still pending (empty value).


19-20: Pending Upgrade Prompt Translations.
Both the "Upgrade" and "Upgrade to continue reading." keys are empty, signaling that their translations are awaited. Please update them as soon as the proper Slovenian text is available.


22-22: Verify Grammatical Agreement of Status Terms.
The localized status words—such as "promocijski", "brezplačni", "plačljivi", and "poskusni"—will be injected into the subscriber message. Please double-check that these adjectives agree grammatically with "naročnik" in Slovenian to ensure a natural-sounding sentence.

ghost/i18n/locales/he/newsletter.json (2)

2-3: New Localization Keys in Hebrew Locale.
The keys "{date}" and "Become a paid member of {site} to get access to all premium content." are introduced as part of the internationalization updates. The membership prompt currently has an empty translation—confirm that this is intended or supply the proper Hebrew text.


19-20: Pending Upgrade Translations.
The entries "Upgrade" and "Upgrade to continue reading." are defined but empty. Please ensure that these are updated with accurate Hebrew translations once they are available.

ghost/i18n/locales/id/newsletter.json (1)

19-20: Added upgrade prompt keys.
The keys "Upgrade" and "Upgrade to continue reading." are now part of the localization file (currently with empty strings). Verify that translators will later provide appropriate values.

ghost/i18n/locales/sr/newsletter.json (1)

19-20: Upgrade prompt keys introduced.
These new keys help standardize the upgrade messages across locales. Make sure the empty values are updated with proper translations.

ghost/i18n/locales/ko/newsletter.json (1)

19-20: Upgrade keys pending translation.
While the structural inclusion of "Upgrade" and "Upgrade to continue reading." is correct, ensure that these keys eventually receive proper Korean translations.

ghost/i18n/locales/kz/newsletter.json (1)

19-20: Upgrade prompt keys added.
The keys for upgrade messaging are now in place (with empty strings). Confirm translation updates in future localization passes.

ghost/i18n/locales/sk/newsletter.json (1)

19-20: Upgrade keys introduced and pending proper translation.
Ensure that the empty string values for "Upgrade" and "Upgrade to continue reading." are later translated to maintain consistency in the user experience.

ghost/i18n/locales/tr/newsletter.json (1)

19-20: Introduced Upgrade-Related Keys with Empty Translations.
The keys "Upgrade" and "Upgrade to continue reading." have been added with empty string values. Confirm that these will be populated with appropriate translations soon, so that the newsletter displays correct content for Turkish users.

ghost/i18n/locales/bg/newsletter.json (1)

19-20: Upgrade-Related Keys Added with Empty Values.
The new keys for "Upgrade" and "Upgrade to continue reading." are present without translations. Ensure that these gaps are filled promptly to maintain consistency in the user experience.

ghost/i18n/locales/de/newsletter.json (1)

19-20: Pending Translation for Upgrade-Related Keys.
The keys "Upgrade" and "Upgrade to continue reading." have been added with empty values. This is acceptable as a placeholder, but be sure to update these with the proper German translations when available.

ghost/i18n/locales/fr/newsletter.json (1)

19-20: Upgrade-Related Keys are Awaiting French Translation.
The new keys "Upgrade" and "Upgrade to continue reading." currently have empty string values. Make sure these are revisited to include proper French translations, which is crucial for a consistent localized experience.

ghost/i18n/locales/et/newsletter.json (2)

3-3: New Membership Prompt Added Without Translation.
The "Become a paid member of {site} to get access to all premium content." key has been added with an empty string. Please verify whether this is intentional and confirm that appropriate Estonian translations will be provided soon.


19-20: Upgrade-Related Keys Introduced in Estonian Localization.
The keys "Upgrade" and "Upgrade to continue reading." are now present with empty values. Ensure that these placeholders are updated with accurate translations to enhance the user experience for Estonian readers.

ghost/i18n/locales/nl/newsletter.json (2)

2-3: Review Localization Placeholders and Pending Translations.

The addition of the "{date}" key and the membership prompt on line 3 appears correct. However, the empty string for the membership message suggests that the translation still needs to be provided. Please confirm whether this is intentional or if a provisional translation should be supplied before finalizing the PR.


19-20: Review Upgrade Text Translations.

The keys "Upgrade" and "Upgrade to continue reading." have been added with empty string values. If these texts are expected to be localized later, please ensure there is a plan or ticket to complete the translation. Otherwise, consider providing a temporary translation to maintain consistency in the UI.

ghost/i18n/locales/de-CH/newsletter.json (2)

2-3: Check German (Switzerland) Localization Placeholders.

The entries for "{date}" and the membership prompt are added with empty translations. Please verify that the empty values are placeholders pending proper translation for the de-CH locale.


19-20: Pending Translations for Upgrade Prompts.

The upgrade-related keys have been added without translations. Confirm if this is by design (e.g., awaiting translation) or if temporary values should be provided to avoid display issues in production.

ghost/i18n/locales/vi/newsletter.json (2)

2-3: Validate Vietnamese Localization Additions.

The "{date}" placeholder and the message prompting users to become a paid member have been introduced. The empty translation for the membership message should be reviewed—ensure this is intentional and tracked for future completion.


19-20: Assess Pending Vietnamese Translations for Upgrade Prompts.

The keys "Upgrade" and "Upgrade to continue reading." are present but lack translated values. Please confirm that these empty strings are placeholders and that there is a plan to update them.

ghost/i18n/locales/da/newsletter.json (2)

2-3: Ensure Danish Localization Placeholders are Correct.

The addition of "{date}" and the membership prompt is consistent with other locales; however, pay attention to the empty string for the membership message. Verify that a translation is scheduled or that a default value is acceptable.


19-20: Review Danish Upgrade Text Entries.

The upgrade-related keys are inserted with empty values. Confirm these are intentional placeholders for future translations so that users never see empty content.

ghost/i18n/locales/cs/newsletter.json (2)

2-3: Examine Czech Localization Placeholders.

The "{date}" key and the membership prompt have been added similarly to other locales. The empty translation for the membership prompt indicates that a proper Czech translation is pending—please verify and track completion.


19-20: Verify Czech Upgrade Text Translations.

The keys "Upgrade" and "Upgrade to continue reading." show empty string values. Ensure these are not inadvertently left blank and that there is a plan to populate them, as they are crucial for consistent messaging.

ghost/i18n/locales/context.json (5)

24-24: Review Placeholder Consistency for Paid Membership Key

The new key "Become a paid member of {site} to get access to all premium content." uses the {site} placeholder. Please verify that this syntax is consistent with similar entries elsewhere in the file (e.g., "Become a paid member of {{publication}} to start commenting."). Consistency in placeholder formats helps avoid confusion for translators.


145-145: Add Context to Email Domain Restriction Message

The key "Memberships from this email domain are currently restricted." is added with an empty description. Consider providing additional context—perhaps a brief note explaining the scenario in which this message appears—to assist translators in choosing the most appropriate wording.


271-271: Clarify the 'Upgrade' Key Usage

The new entry "Upgrade": "" is intended as a call-to-action for upgrading membership. To ensure clarity for translators, consider adding a brief description or example comment that explains where and how this text is used.


273-273: Verify Newsletter Paywall Translation Usage

The key "Upgrade to continue reading." has been added with an empty description. Since this string is used in the email paywall template, please confirm that it aligns with the intended tone and usage context. Adding a translator note here could be beneficial.


323-323: Context for Date Placeholder Key

The key "{date}": "" appears to serve as a placeholder for localized date formatting. Providing translators with context or an example of the expected formatted output can improve translation accuracy.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 52fd7f9 and e142918.

📒 Files selected for processing (61)
  • ghost/i18n/locales/af/newsletter.json (2 hunks)
  • ghost/i18n/locales/ar/newsletter.json (2 hunks)
  • ghost/i18n/locales/bg/newsletter.json (2 hunks)
  • ghost/i18n/locales/bn/newsletter.json (2 hunks)
  • ghost/i18n/locales/bs/newsletter.json (2 hunks)
  • ghost/i18n/locales/ca/newsletter.json (2 hunks)
  • ghost/i18n/locales/context.json (4 hunks)
  • ghost/i18n/locales/cs/newsletter.json (2 hunks)
  • ghost/i18n/locales/da/newsletter.json (2 hunks)
  • ghost/i18n/locales/de-CH/newsletter.json (2 hunks)
  • ghost/i18n/locales/de/newsletter.json (2 hunks)
  • ghost/i18n/locales/el/newsletter.json (2 hunks)
  • ghost/i18n/locales/en/newsletter.json (2 hunks)
  • ghost/i18n/locales/eo/newsletter.json (2 hunks)
  • ghost/i18n/locales/es/newsletter.json (2 hunks)
  • ghost/i18n/locales/et/newsletter.json (2 hunks)
  • ghost/i18n/locales/fa/newsletter.json (2 hunks)
  • ghost/i18n/locales/fi/newsletter.json (2 hunks)
  • ghost/i18n/locales/fr/newsletter.json (2 hunks)
  • ghost/i18n/locales/gd/newsletter.json (2 hunks)
  • ghost/i18n/locales/he/newsletter.json (2 hunks)
  • ghost/i18n/locales/hi/newsletter.json (2 hunks)
  • ghost/i18n/locales/hr/newsletter.json (2 hunks)
  • ghost/i18n/locales/hu/newsletter.json (2 hunks)
  • ghost/i18n/locales/id/newsletter.json (2 hunks)
  • ghost/i18n/locales/is/newsletter.json (2 hunks)
  • ghost/i18n/locales/it/newsletter.json (2 hunks)
  • ghost/i18n/locales/ja/newsletter.json (2 hunks)
  • ghost/i18n/locales/ko/newsletter.json (2 hunks)
  • ghost/i18n/locales/kz/newsletter.json (2 hunks)
  • ghost/i18n/locales/lt/newsletter.json (2 hunks)
  • ghost/i18n/locales/lv/newsletter.json (2 hunks)
  • ghost/i18n/locales/mk/newsletter.json (2 hunks)
  • ghost/i18n/locales/mn/newsletter.json (2 hunks)
  • ghost/i18n/locales/ms/newsletter.json (2 hunks)
  • ghost/i18n/locales/ne/newsletter.json (2 hunks)
  • ghost/i18n/locales/nl/newsletter.json (2 hunks)
  • ghost/i18n/locales/nn/newsletter.json (2 hunks)
  • ghost/i18n/locales/no/newsletter.json (2 hunks)
  • ghost/i18n/locales/pl/newsletter.json (2 hunks)
  • ghost/i18n/locales/pt-BR/newsletter.json (2 hunks)
  • ghost/i18n/locales/pt/newsletter.json (2 hunks)
  • ghost/i18n/locales/ro/newsletter.json (2 hunks)
  • ghost/i18n/locales/ru/newsletter.json (2 hunks)
  • ghost/i18n/locales/si/newsletter.json (2 hunks)
  • ghost/i18n/locales/sk/newsletter.json (2 hunks)
  • ghost/i18n/locales/sl/newsletter.json (2 hunks)
  • ghost/i18n/locales/sq/newsletter.json (2 hunks)
  • ghost/i18n/locales/sr-Cyrl/newsletter.json (2 hunks)
  • ghost/i18n/locales/sr/newsletter.json (2 hunks)
  • ghost/i18n/locales/sv/newsletter.json (2 hunks)
  • ghost/i18n/locales/sw/newsletter.json (2 hunks)
  • ghost/i18n/locales/ta/newsletter.json (2 hunks)
  • ghost/i18n/locales/th/newsletter.json (2 hunks)
  • ghost/i18n/locales/tr/newsletter.json (2 hunks)
  • ghost/i18n/locales/uk/newsletter.json (2 hunks)
  • ghost/i18n/locales/ur/newsletter.json (2 hunks)
  • ghost/i18n/locales/uz/newsletter.json (2 hunks)
  • ghost/i18n/locales/vi/newsletter.json (2 hunks)
  • ghost/i18n/locales/zh-Hant/newsletter.json (2 hunks)
  • ghost/i18n/locales/zh/newsletter.json (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
ghost/i18n/locales/ne/newsletter.json (1)
Learnt from: cathysarisky
PR: TryGhost/Ghost#22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.
ghost/i18n/locales/sl/newsletter.json (1)
Learnt from: cathysarisky
PR: TryGhost/Ghost#22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.
ghost/i18n/locales/si/newsletter.json (1)
Learnt from: cathysarisky
PR: TryGhost/Ghost#22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.
⏰ Context from checks skipped due to timeout of 90000ms (12)
  • GitHub Check: Ghost-CLI tests
  • GitHub Check: Unit tests (Node 22.13.1)
  • GitHub Check: Unit tests (Node 20.11.1)
  • GitHub Check: Database tests (Node 20.11.1, sqlite3)
  • GitHub Check: Database tests (Node 22.13.1, mysql8)
  • GitHub Check: Unit tests (Node 18.12.1)
  • GitHub Check: Regression tests (Node 20.11.1, sqlite3)
  • GitHub Check: Database tests (Node 20.11.1, mysql8)
  • GitHub Check: Regression tests (Node 20.11.1, mysql8)
  • GitHub Check: Database tests (Node 18.12.1, mysql8)
  • GitHub Check: Lint
  • GitHub Check: i18n
🔇 Additional comments (67)
ghost/i18n/locales/pl/newsletter.json (2)

2-3: Review: Date and Membership Prompt Keys in Polish Locale
The addition of the "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content.": "" keys is consistent with the localization strategy seen across other locales. Ensure that the empty translation for the membership prompt is intentional (i.e. awaiting a proper translation) and that it will be revisited if needed.


19-20: Review: Upgrade Prompt Keys in Polish Locale
The new keys "Upgrade": "" and "Upgrade to continue reading.": "" have been added to support dynamic translation in the email templates. Please confirm that the empty strings are placeholders for pending translations and that any fallback behavior is as expected.

ghost/i18n/locales/hi/newsletter.json (2)

2-3: Review: Date and Membership Prompt Keys in Hindi Locale
The insertion of "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content.": "" ensures consistency for localization. Verify that the empty value for the membership prompt is acceptable in the Hindi translation workflow and will be updated as translations become available.


19-20: Review: Upgrade Prompt Keys in Hindi Locale
The keys "Upgrade": "" and "Upgrade to continue reading.": "" have been added to enable translation within the email templates. Make sure that these placeholders are intentionally left empty and that translators are aware of these keys for future completion.

ghost/i18n/locales/nn/newsletter.json (2)

2-3: Review: Date and Membership Prompt Keys in Norwegian Nynorsk Locale
The new entries for "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content.": "" align well with the internationalization updates. Please double-check that leaving the membership prompt’s value empty is by design for later translation insertion.


19-20: Review: Upgrade Prompt Keys in Norwegian Nynorsk Locale
Addition of the "Upgrade": "" and "Upgrade to continue reading.": "" keys supports the dynamic content update in email templates. Confirm that these keys are set as placeholders and that translators will be notified to complete these strings.

ghost/i18n/locales/sr-Cyrl/newsletter.json (2)

2-3: Review: Date and Membership Prompt Keys in Serbian Cyrillic Locale
The introduction of "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content.": "" is consistent with the other localization files. Verify that the empty translation for the membership prompt is acceptable for the Serbian (Cyrillic) context.


19-20: Review: Upgrade Prompt Keys in Serbian Cyrillic Locale
The new keys "Upgrade": "" and "Upgrade to continue reading.": "" have been added correctly for translation purposes. Ensure that these empty strings are intended as placeholders and will be later updated when the appropriate translations are available.

ghost/i18n/locales/hu/newsletter.json (2)

2-3: Review: Date and Membership Prompt Keys in Hungarian Locale
The file now includes "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content.": "", aligning with the internationalization enhancements across the project. Be sure that the empty string for the membership message is temporary and scheduled for translation.


19-20: Review: Upgrade Prompt Keys in Hungarian Locale
The addition of "Upgrade": "" and "Upgrade to continue reading.": "" keys fits with the updated email template requirements. Confirm that these keys are placeholders for future translations and that their empty values will be addressed appropriately.

ghost/i18n/locales/lv/newsletter.json (2)

2-2: New Date Placeholder Key Added
The addition of the "{date}": "{date}" key provides a uniform placeholder for date formatting in newsletters. Confirm that this placeholder is consistently used across your email templates and rendering logic.


19-20: Upgrade Keys Added
The new keys "Upgrade" and "Upgrade to continue reading." are introduced with empty string values. Ensure that these placeholders are consistent with similar changes in related localization files and that the translator process is in place to update them.

ghost/i18n/locales/bn/newsletter.json (3)

2-2: New Date Placeholder Key Added
The inclusion of "{date}": "{date}" as a key with its placeholder value is appropriate for maintaining consistency in date formatting across localized versions.


3-3: Empty Membership Message Translation
The membership message key "Become a paid member of {site} to get access to all premium content." is added with an empty value. Please double-check if this is by design and confirm with the translation team if a draft or default translation is needed.


19-20: Upgrade Keys Provided as Placeholders
Similarly, the keys "Upgrade" and "Upgrade to continue reading." have been introduced with empty values. Verify that the translation workflow is aware of these pending translations.

ghost/i18n/locales/pt/newsletter.json (3)

2-2: Date Placeholder Consistency
The "{date}": "{date}" key is correctly added as a date placeholder. Make sure its usage is consistent with the rendering logic for dates in the newsletters.


3-3: Pending Translation for Membership Prompt
The membership prompt key is inserted with an empty string value. Confirm whether this is to be updated later by the translation team, or if a provisional translation should be provided.


19-20: Upgrade Keys as Translation Placeholders
Both "Upgrade" and "Upgrade to continue reading." are added with empty values. Ensure that these keys are on the translation schedule and that their usage in templates reflects the intended dynamic behavior.

ghost/i18n/locales/zh/newsletter.json (3)

2-2: Date Placeholder Key Introduced
Adding "{date}": "{date}" is a solid step for supporting dynamic date formatting. Please ensure that the email renderer applies the proper locale-specific formatting.


3-3: Membership Prompt Translation Empty
The membership prompt is now present but with an empty string value. Confirm that this is intended to act as a placeholder and that the appropriate translation will be provided soon.


19-20: Upgrade Text Keys Added
The keys "Upgrade" and "Upgrade to continue reading." are added as placeholders for future translations. It’s important to validate that the translation update process is in place so that users do not see missing text in the final UI.

ghost/i18n/locales/sw/newsletter.json (3)

2-2: Date Placeholder Key Added
The new "{date}": "{date}" entry is correctly added as a date placeholder. This will help ensure that dates are formatted dynamically in newsletters.


3-3: Membership Prompt Translation Placeholder
The key "Become a paid member of {site} to get access to all premium content." is included with an empty string, serving as a placeholder. Verify if this empty value is deliberate, or if an initial translation should be provided.


19-20: Upgrade Related Keys Introduced
The keys "Upgrade" and "Upgrade to continue reading." have been added similarly to other locale files. Ensure that the process for updating these values with proper translations is clearly defined.

ghost/i18n/locales/ja/newsletter.json (1)

2-2: Date Placeholder Key Added.
The key "{date}" with the value "{date}" is added as a standardized placeholder for dynamic date formatting.

ghost/i18n/locales/lt/newsletter.json (1)

2-2: Date Placeholder Localization Added.
The "{date}" key is properly added to serve as a placeholder for date formatting. This maintains consistency across locales.

ghost/i18n/locales/zh-Hant/newsletter.json (1)

2-2: New Date Placeholder Key Inclusion.
The "{date}" key is correctly added with a placeholder value, ensuring dynamic date localization across the system.

ghost/i18n/locales/is/newsletter.json (1)

2-2: Date Placeholder Key Added for Icelandic Locale.
The "{date}" key is added consistently with other locales, using "{date}" as the placeholder value.

ghost/i18n/locales/ta/newsletter.json (1)

2-2: Date Placeholder Key Inclusion.
The "{date}" key is added with "{date}" as its value, which will serve as the placeholder for dynamic date localization.

ghost/i18n/locales/bs/newsletter.json (1)

2-3: New newsletter localization keys added.
The addition of the "{date}" placeholder and the premium membership prompt (i.e. "Become a paid member of {site} to get access to all premium content.") is consistent with the internationalization improvements. Ensure that the email templates reference these keys appropriately.

ghost/i18n/locales/it/newsletter.json (1)

2-3: Italian locale: New localization entries added.
The "{date}" and the premium membership prompt have been introduced. Although the value for the premium membership prompt is empty, this is consistent with similar locale updates.

ghost/i18n/locales/af/newsletter.json (1)

2-3: Afrikaans locale: Localization keys for newsletter enhanced.
The new entries for "{date}" and "Become a paid member of {site} to get access to all premium content." have been added. This is in line with the broader PR objectives to support multilingual messaging.

ghost/i18n/locales/ur/newsletter.json (1)

2-3: Urdu locale: Added key entries for enhanced localization.
The introduction of "{date}" and the premium membership message key aligns with the changes in other language files. Note that the premium membership message still has an empty value pending translation.

ghost/i18n/locales/fi/newsletter.json (1)

2-3: Finnish locale: New newsletter localization entries added.
The new keys for date formatting and premium content prompts have been integrated. The use of an empty string for the premium membership message is consistent with similar locale files, pending proper translation.

ghost/i18n/locales/ms/newsletter.json (2)

2-3: New Localization Keys Added for Newsletter Content

The keys for "{date}" and
"Become a paid member of {site} to get access to all premium content." have been introduced. These are consistent with similar additions in other locale files.


19-20: Empty Translation Placeholders for Upgrade Prompts

The keys "Upgrade" and "Upgrade to continue reading." are added with empty string values. Please confirm that these are intentionally left blank as placeholders for future translations (or to fall back to a default language) to avoid missing text in the email paywall UI.

ghost/i18n/locales/en/newsletter.json (2)

2-3: New Localization Keys in English Locale

The addition of "{date}" and "Become a paid member of {site} to get access to all premium content." keys helps support dynamic string formatting. Note that the English locale might typically provide default copy. Double-check if the empty string for the premium content key is intentional or if a non-empty default text is preferred.


19-20: Review Empty Strings on Upgrade Keys

The keys "Upgrade" and "Upgrade to continue reading." are introduced with empty values. For the English locale, consider whether these should be populated with default messaging to ensure that end users see a proper call-to-action.

ghost/i18n/locales/sv/newsletter.json (1)

2-3: Swedish Locale: Verification of New Keys

The Swedish localization file now includes the "{date}" and "Become a paid member of {site} to get access to all premium content." keys. This is in line with the localization initiative. Confirm that an empty value for the premium content key is acceptable for now.

ghost/i18n/locales/mk/newsletter.json (1)

2-3: Macedonian Locale: New Localization Keys Added

The file now includes the "{date}" key and the premium membership key. This aligns with the overall internationalization strategy. Verify that leaving the premium content key’s value empty is intentional.

ghost/i18n/locales/ca/newsletter.json (1)

2-3: Catalan Locale: Consistency Check for Added Keys

The new keys ("{date}" and "Become a paid member of {site} to get access to all premium content.") have been added. This supports the broader localization effort. Confirm if the empty string for the premium content key is intentional or requires a default Catalan text.

ghost/i18n/locales/el/newsletter.json (2)

2-3: Added Date Placeholder and Membership Prompt Key:
The new key "{date}" is correctly defined as a placeholder for date formatting, and the key "Become a paid member of {site} to get access to all premium content." is added with an empty string value pending translation. This aligns well with the localization strategy used in other languages.


19-20: Introduced Upgrade Keys for Dynamic Messaging:
The addition of the keys "Upgrade" and "Upgrade to continue reading." (both with empty values) maintains consistency across locale files and prepares these strings for future translations.

ghost/i18n/locales/ro/newsletter.json (2)

2-3: Defined Date Placeholder and Membership Prompt:
The entries for "{date}" and "Become a paid member of {site} to get access to all premium content." are added correctly. Remember to update these empty translations as the localization work progresses.


19-20: Added Upgrade Translation Keys:
The keys "Upgrade" and "Upgrade to continue reading." have been introduced with empty string values. This is consistent with the updates in other locale files—ensure that these are eventually provided with proper translations.

ghost/i18n/locales/si/newsletter.json (2)

2-3: Insertion of Date Placeholder and Membership Invitation Key:
The addition of the "{date}" placeholder and the membership prompt key is consistent with the overall internationalization update, ensuring uniformity across different locales.


19-20: New Upgrade Keys Integration:
The newly added "Upgrade" and "Upgrade to continue reading." keys, currently with empty values, follow the established pattern. Confirm that updated translations are provided to preserve contextual accuracy.

ghost/i18n/locales/sq/newsletter.json (2)

2-3: Added Date Placeholder and Membership Invitation Key:
The localization update correctly introduces the "{date}" placeholder and the membership prompt key. This consistent approach across locales helps maintain a uniform message structure.


19-20: Introduced Upgrade Message Keys:
The keys "Upgrade" and "Upgrade to continue reading." are now part of the locale file with empty values. Consider verifying these once translations are finalized to ensure they blend seamlessly with surrounding text.

ghost/i18n/locales/eo/newsletter.json (2)

2-3: Date Placeholder and Membership Prompt Added:
By adding the "{date}" placeholder and the membership prompt key, this update ensures the newsletter localization remains consistent across languages.


19-20: Upgrade Keys Included:
The inclusion of "Upgrade" and "Upgrade to continue reading." (with empty strings) follows the same pattern as in the other locales. Ensure that these placeholders receive proper translations in due course.

ghost/i18n/locales/pt-BR/newsletter.json (1)

2-3: New Localization Keys for Date and Membership Prompt:
The addition of the "{date}" key with a matching placeholder and the membership prompt string is consistent with a coordinated localization approach. Make sure that the placeholder formatting meets all locale-specific expectations.

ghost/i18n/locales/th/newsletter.json (1)

2-3: Thai Localization – Date and Membership Prompt Keys Added:
As in other locales, the {date} placeholder and the membership prompt key have been added. Ensure that the empty string for the membership prompt is updated in a future translation cycle to match the intended Thai copy.

ghost/i18n/locales/fa/newsletter.json (1)

2-3: Farsi Localization – New Keys Introduced:
The Farsi translation file now includes the "{date}" key along with the membership prompt key. The structure is consistent with other locales, which should streamline future translation efforts.

ghost/i18n/locales/mn/newsletter.json (1)

2-3: Mongolian Localization – Consistent Key Addition:
The file adds the "{date}" key and the premium content prompt similar to other language files. This consistency is beneficial; just ensure that the placeholder fits well with Mongolian date formatting conventions.

ghost/i18n/locales/uk/newsletter.json (1)

2-3: Ukrainian Localization – New Placeholder and Membership Prompt:
The inclusion of the "{date}" key along with the membership prompt key mirrors changes in other locales. This uniformity will aid in maintaining a consistent user experience across different languages.

ghost/i18n/locales/id/newsletter.json (1)

2-3: New localization placeholders added.
The addition of the "{date}" key and the subscription prompt key enhances dynamic date formatting and serves as a basis for localizing premium content messages.

ghost/i18n/locales/sr/newsletter.json (1)

2-3: Localization keys for date and premium content added.
The new entries ("{date}" and "Become a paid member of {site} to get access to all premium content.") ensure that dynamic data and subscription prompts can be localized.

ghost/i18n/locales/ko/newsletter.json (1)

2-3: Enhanced localization for date and premium messaging.
The keys "{date}" and "Become a paid member of {site} to get access to all premium content." (line 2-3) now allow for dynamic content rendering in Korean emails.

ghost/i18n/locales/kz/newsletter.json (1)

2-3: New localization entries for Kazakh newsletter support.
The addition of the "{date}" and premium membership prompt keys enables dynamic and localized content in the Kazakh language.

ghost/i18n/locales/sk/newsletter.json (1)

2-3: New newsletter localization keys integrated.
The inclusion of "{date}" and "Become a paid member of {site} to get access to all premium content." assists with consistent dynamic content formatting for Slovak users.

ghost/i18n/locales/tr/newsletter.json (1)

2-3: Added Localization Keys for Date and Premium Content Prompt.
The new entries for "{date}" (as a placeholder) and
"Become a paid member of {site} to get access to all premium content."
have been introduced with appropriate values. Please ensure that the empty translation for the premium content prompt is updated once the Turkish translation is available.

ghost/i18n/locales/bg/newsletter.json (1)

2-3: New Localization Entries for Date and Membership Prompt.
The placeholder key "{date}" and the prompt "Become a paid member of {site} to get access to all premium content." have been added. Please verify that the empty value for the membership message is intentional and will be updated later by the Bulgarian translation team.

ghost/i18n/locales/de/newsletter.json (1)

2-3: New Localization Keys Introduced for Date and Content Promotion.
The addition of "{date}": "{date}" and "Become a paid member of {site} to get access to all premium content." is consistent with other language files. Please confirm that the empty string for the premium message will later be populated with the German translation.

ghost/i18n/locales/fr/newsletter.json (1)

2-3: Added French Localization Entries for Date and Premium Membership Message.
The keys "{date}" and "Become a paid member of {site} to get access to all premium content." have been added. Verify that the empty translation for the premium membership message is intentional and scheduled for update by the French translation team.

ghost/i18n/locales/et/newsletter.json (2)

2-2: Consistent Placeholder for Date Localization.
The key "{date}" is correctly mapped to "{date}" as a placeholder for the Estonian locale.


4-18: Missing Translations for Multiple Keys.
In this file, several keys (e.g., "By {authors}", "Comment", "complimentary", "Email", "free", "Keep reading", "Less like this", "Manage subscription", "Member since", "More like this", "Name", "paid", "Subscription details", "trialing", "Unsubscribe", "View in browser", and various subscription messages) have been set to an empty string. Confirm that these are intended to be placeholders for upcoming Estonian translations rather than accidental omissions.

@cathysarisky cathysarisky changed the title fix missed newsletter strings 🌐 fix missed newsletter strings Mar 6, 2025
sanne-san and others added 2 commits March 6, 2025 12:24
No ref
- The title was too big on mobile, which caused a widow word on the next line, and just generally felt too large.
- Removed apostropes from inline styling as it was causing gmail to strip all inline styles
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