Skip to content

Italian translations added to Comments, Ghost and Portal sections#28225

Open
antoniomasoni wants to merge 8 commits into
TryGhost:mainfrom
antoniomasoni:main
Open

Italian translations added to Comments, Ghost and Portal sections#28225
antoniomasoni wants to merge 8 commits into
TryGhost:mainfrom
antoniomasoni:main

Conversation

@antoniomasoni
Copy link
Copy Markdown
Contributor

Completed all missing translations introduced in the latest update, so the Italian locale is now fully up to date.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 36089b6d-969d-4ebf-b363-3fe18cc8cea3

📥 Commits

Reviewing files that changed from the base of the PR and between 00663ef and c119f4c.

📒 Files selected for processing (2)
  • ghost/i18n/locales/it/comments.json
  • ghost/i18n/locales/it/ghost.json
✅ Files skipped from review due to trivial changes (2)
  • ghost/i18n/locales/it/comments.json
  • ghost/i18n/locales/it/ghost.json

Walkthrough

This PR fills previously-empty Italian translation values across three locale JSON files: comments.json (comment UI labels and actions like Back, Like/Dislike, Pin/Unpin, Read more replies, See full discussion), ghost.json (membership duration and tier labels, subscription and sign-in/security email wording, gift redemption and lifecycle messages with placeholders), and portal.json (membership/tier wording, trial/free durations, email confirmation expiry, gift redemption UI and statuses, sharing actions). No structural or placeholder changes were made.

Possibly related PRs

  • TryGhost/Ghost#28153: Overlaps with comment UI translation updates (like/dislike, pin/unpin) in locale files.
  • TryGhost/Ghost#27538: Updates the same Italian i18n JSON files (ghost.json, portal.json) with filled translations for membership and portal strings.
  • TryGhost/Ghost#26854: Also fills previously-empty Italian translation keys across comments, ghost, and portal locale files.

Suggested labels

affects:i18n

Suggested reviewers

  • cathysarisky
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: Italian translations were added to three specific sections (Comments, Ghost, and Portal JSON files).
Description check ✅ Passed The description is relevant to the changeset, explaining that missing Italian translations were completed across the locale files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ghost/i18n/locales/it/comments.json`:
- Line 53: The translations for the paired keys "Pin comment" and "Unpin
comment" are inconsistent in Italian—"Pin comment" -> "Fissa commento" (no
article) vs "Unpin comment" -> "Stacca il commento" (with "il"); update one or
the other so both use the same pattern: either change "Unpin comment" to "Stacca
commento" to remove the article or change "Pin comment" to "Fissa il commento"
to add the article, and ensure the same choice is applied to both key
translations ("Pin comment" and "Unpin comment") for consistency.

In `@ghost/i18n/locales/it/ghost.json`:
- Line 53: Update the Italian translation for the key "Redeem your gift
subscription" in ghost.json to use the imperative form; replace "Riscatto il tuo
abbonamento regalo" with "Riscatta il tuo abbonamento regalo" so the CTA reads
as a command rather than indicative.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b0e15dbd-c2fc-4875-a973-30e5ce3633b4

📥 Commits

Reviewing files that changed from the base of the PR and between 8bdc9fe and 00663ef.

📒 Files selected for processing (3)
  • ghost/i18n/locales/it/comments.json
  • ghost/i18n/locales/it/ghost.json
  • ghost/i18n/locales/it/portal.json

Comment thread ghost/i18n/locales/it/comments.json
Comment thread ghost/i18n/locales/it/ghost.json Outdated
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🌐 Automated translation review

Verdict:Looks good — no concerns flagged

Reviewed 66 translations across 3 files.

This is a thorough and high-quality update to the Italian locale. The translations are accurate, natural, and consistent in register throughout all three files. Placeholder variables, inline tags, and punctuation are all handled correctly. The placeholder name "Jamie Larson" is retained in portal.json (which is fine as a placeholder for the email field), and the locally flavoured example names in comments.json ("Andrea Rossi", "Megadirettore Galattico", etc.) are charming and appropriate. No issues found. Grazie mille!


Advisory review by i18n-review-bot. Non-blocking — a maintainer still owns the merge decision, and the bot cannot approve PRs on its own. Translator expertise wins where there is doubt.

@9larsons 9larsons enabled auto-merge (squash) May 28, 2026 13:22
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🌐 Automated translation review

Verdict: ⚠️ Has questions — 3 inline comments

Reviewed 66 translations across 3 files.

This is a thorough and high-quality Italian translation covering the Comments, Ghost, and Portal sections. The language is natural, the tone is appropriately informal and consistent throughout, placeholders are all correctly preserved, and the Italian reads fluently. Just a couple of small points to double-check are noted inline. Grazie!


Advisory review by i18n-review-bot. Non-blocking — a maintainer still owns the merge decision, and the bot cannot approve PRs on its own. Translator expertise wins where there is doubt.

"You're one tap away from subscribing to {siteTitle}!": "Sei a un passo dall'abbonamento a {siteTitle}!",
"You've been gifted a {duration}-month {tierName} membership to {siteTitle}": "",
"You've been gifted a {duration}-year {tierName} membership to {siteTitle}": "",
"You've been gifted a {duration}-month {tierName} membership to {siteTitle}": "Hai ricevuto in regalo un abbonamento {tierName} a {siteTitle} della durata di {duration} mese/i",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 The translation "della durata di {duration} mese/i" uses a slash to handle singular/plural (mese/i). Since i18next supports separate plural keys (and the file already uses _one/_other keys for month counts), would it be possible to split this into _one and _other variants to produce cleaner output like "della durata di 1 mese" vs "della durata di 3 mesi"? If the key doesn't support pluralization here, the slash form is understandable as a workaround, but please confirm this is intentional.

Automated suggestion — verify against your judgement as a native speaker.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Not intentional, I don't know if the key supports pluralization here

"You've been gifted a {duration}-month {tierName} membership to {siteTitle}": "",
"You've been gifted a {duration}-year {tierName} membership to {siteTitle}": "",
"You've been gifted a {duration}-month {tierName} membership to {siteTitle}": "Hai ricevuto in regalo un abbonamento {tierName} a {siteTitle} della durata di {duration} mese/i",
"You've been gifted a {duration}-year {tierName} membership to {siteTitle}": "Hai ricevuto in regalo un abbonamento {tierName} a {siteTitle} della durata di {duration} anno/i",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 Same as above — "della durata di {duration} anno/i" uses a slash for singular/plural. Please confirm this is intentional given the constraints of the key.

Automated suggestion — verify against your judgement as a native speaker.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Not intentional, I don't know if the key supports pluralization here

"Edit": "Modifica",
"Email": "Email",
"Email confirmation link expired.": "",
"Email confirmation link expired.": "Link di conferma email scaduto.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

❓ The source string ends with a period ("Email confirmation link expired.") but the translation "Link di conferma email scaduto." ends with a period too — that's fine. However, I notice the source uses the full sentence structure while the Italian reads more like a noun phrase. Is this the intended style, or would "Il link di conferma dell'email è scaduto." feel more natural here?

Automated suggestion — verify against your judgement as a native speaker.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

My solution is less natural then "Il link di conferma dell'email è scaduto." if we think that "natural" means "spoken language". I expect your string from a person, not from a system. My solution is correct for a system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants