Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR updates many i18n locale JSON files: adds Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 19
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/web/src/features/i18n/locales/fr-FR.json (1)
465-471:⚠️ Potential issue | 🟡 MinorUntranslated English text in French locale file.
The new
tipkey uses the English value"Tip"while the adjacenttitlekey is properly translated to"Pourboire". This appears inconsistent within the French locale.If this is intentional (e.g., keeping "Tip" as a universal UI term), please disregard. Otherwise, consider using the French translation:
🌐 Suggested fix for consistency
"entry-tip": { "title": "Pourboire", - "tip": "Tip", + "tip": "Pourboire", "send-tip": "Envoyer une astuce",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/fr-FR.json` around lines 465 - 471, The French locale entry "entry-tip" contains an untranslated English value for the "tip" key; update "entry-tip.tip" from "Tip" to the proper French translation (e.g., "Astuce" or "Pourboire") so it matches "entry-tip.title" and other keys ("send-tip", "count", "count_plural") for consistency across the fr-FR.json locale.
🧹 Nitpick comments (8)
apps/web/src/features/i18n/locales/lt-LT.json (2)
449-454: Incomplete translation:bookmark-btn.addremains in English.The
added,delete, anddeletedkeys are now properly translated to Lithuanian, butaddon line 450 still contains English text. This creates an inconsistent user experience where some button states appear in English and others in Lithuanian.Consider translating to something like:
"Pridėti prie žymų — pranešti apie naujus komentarus"or similar Lithuanian equivalent.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` around lines 449 - 454, The "bookmark-btn.add" localization value is still in English; update the "bookmark-btn" object's "add" key to a Lithuanian translation (e.g., change the value of bookmark-btn.add to "Pridėti prie žymų — pranešti apie naujus komentarus" or another accurate Lithuanian phrase) so all bookmark button states ("add", "added", "delete", "deleted") are consistently translated.
645-650: Incomplete translation:favorite-btn.addremains in English.Same issue as the
bookmark-btnsection — theadded,delete, anddeletedkeys are now properly translated to Lithuanian, butaddon line 646 still contains English text.Consider translating to something like:
"Pridėti prie mėgstamiausių — pranešti apie naujus įrašus"or similar Lithuanian equivalent.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` around lines 645 - 650, The key favorite-btn.add is still in English; update its value to a Lithuanian translation (e.g., "Pridėti prie mėgstamiausių — pranešti apie naujus įrašus") so it matches the other translated keys in the favorite-btn / bookmark-btn group (compare favorite-btn.added, favorite-btn.delete, favorite-btn.deleted) and ensure the phrase follows the same tone and punctuation as the surrounding translations.apps/web/src/features/i18n/locales/id-ID.json (1)
450-450: Consider localizing theaddlabels to Indonesian for consistency.Both keys are still English while adjacent states are Indonesian, which can feel mixed in UI.
Suggested wording update
- "add": "Bookmark — get notified about new comments", + "add": "Penanda — dapatkan notifikasi tentang komentar baru", ... - "add": "Favorite — get notified about new posts", + "add": "Favorit — dapatkan notifikasi tentang postingan baru",Also applies to: 1646-1646
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/id-ID.json` at line 450, The two "add" entries in the Indonesian locale file are still in English; replace both occurrences of the "add" key in id-ID.json with an Indonesian translation such as "Bookmark — dapatkan notifikasi tentang komentar baru" (or another preferred Indonesian phrasing) so the label matches surrounding localized strings; search for the "add" key in id-ID.json to find both instances and update their values accordingly.apps/web/src/features/i18n/locales/uz-UZ.json (3)
449-454: Translation inconsistency inbookmark-btnsection.The
addlabel (line 450) is in English whileadded,delete, anddeletedare translated to Uzbek. This creates an inconsistent user experience for Uzbek speakers.Consider translating line 450 to Uzbek (e.g., "Saqlash — yangi izohlar haqida xabardor bo'lish") to match the other labels in this section.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uz-UZ.json` around lines 449 - 454, Translate the inconsistent English string under the "bookmark-btn" object: replace the "add" key's value currently in English with an Uzbek translation that matches the tone of the other keys (e.g., "Saqlash — yangi izohlar haqida xabardor bo'lish") so all entries in "bookmark-btn" ("add", "added", "delete", "deleted") are consistently localized.
645-650: Translation inconsistency infavorite-btnsection.Same pattern as
bookmark-btn: theaddlabel (line 646) is in English whileadded,delete, anddeletedare translated to Uzbek.Consider translating line 646 to Uzbek (e.g., "Sevimli — yangi postlar haqida xabardor bo'lish") for a consistent user experience.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uz-UZ.json` around lines 645 - 650, The "favorite-btn" localization key's "add" value is left in English causing inconsistency with other keys ("added", "delete", "deleted"); update the "favorite-btn" -> "add" string to an Uzbek translation (e.g., "Sevimlilarga qo'shish — yangi postlar haqida xabardor bo'lish" or similar) so it matches the existing Uzbek translations for "added"/"deleted" and maintains consistency in the favorites UI.
465-471: Newtipfield is untranslated.The newly added
tipfield (line 467) is in English whiletitleis already translated to Uzbek ("Sovg'a"). Consider translatingtipto Uzbek for consistency.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uz-UZ.json` around lines 465 - 471, The "entry-tip.tip" value is still in English; replace it with the Uzbek translation to match "entry-tip.title" ("Sovg'a") — e.g., use an appropriate Uzbek term for "tip" (gratuity) such as "Sovg'a" or another agreed-upon word, and update the "entry-tip.tip" string (and optionally related strings like "send-tip", "count", "count_plural" in the same "entry-tip" object) so all fields are consistently translated into Uzbek.apps/web/src/features/i18n/locales/pt-PT.json (1)
450-452: Minor capitalization inconsistency noted.The bookmark button labels show mixed capitalization: "Favorito" (line 450) versus "de Favoritos" (line 452). While this may be intentional based on UI context, consider using consistent capitalization for better uniformity across the interface.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/pt-PT.json` around lines 450 - 452, The three translation keys "add", "added", and "delete" in the pt-PT locale ("add", "added", "delete") use inconsistent capitalization ("Favorito" vs "Favoritos"); pick a consistent style (e.g., sentence case or title case) and update the string values so they match across these keys—for example change "Favorito — seja notificado sobre novos comentários" to "favorito — seja notificado sobre novos comentários" or change "Remover de Favoritos" to "Remover de favoritos"—and ensure the same capitalization rule is applied to "add", "added" and "delete".apps/web/src/features/i18n/locales/de-DE.json (1)
465-468:entry-tip.tipappears unsynced and currently unused.Line 467 adds
entry-tip.tip, butapps/web/src/features/shared/entry-tip-btn/index.tsx:1-100does not consume this key, andapps/web/src/features/i18n/locales/en-US.json:1-1doesn’t define it. This creates locale drift.♻️ Suggested cleanup (if not intentionally planned for upcoming usage)
"entry-tip": { "title": "Hinweis", - "tip": "Tip", "send-tip": "Tipp senden", "count": "{{count}} tip", "count_plural": "{{count}} Tipps" },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/de-DE.json` around lines 465 - 468, The de-DE locale contains an unused key entry-tip.tip that isn’t present in en-US and isn’t consumed by the EntryTipBtn component; either remove entry-tip.tip from de-DE.json to avoid locale drift, or add the same key to en-US.json and update EntryTipBtn (entry-tip-btn/index.tsx) to read and use entry-tip.tip (or consolidate to an existing key like entry-tip.send-tip) so both locales and the component stay in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@apps/web/src/features/i18n/locales/bg-BG.json`:
- Line 467: The bg-BG locale currently contains an English string for the new
key "entry-tip.tip"; update the value in
apps/web/src/features/i18n/locales/bg-BG.json so "entry-tip.tip" is translated
to Bulgarian (e.g., replace "Tip" with the Bulgarian equivalent such as "Съвет")
to avoid mixed-language UI.
In `@apps/web/src/features/i18n/locales/es-ES.json`:
- Line 1648: The locale string key favorite-btn.delete currently uses sentence
case ("Eliminar de Favoritos"); update it to use consistent sentence case by
lowercasing "Favoritos" to "favoritos" so the value becomes "Eliminar de
favoritos", ensuring it matches adjacent locale entries and style conventions
for the es-ES JSON.
- Line 467: The JSON entry for the key "entry-tip.tip" currently uses the
English word "Tip"; change its value to the Spanish term "propina" to match
neighboring translations and ensure consistent UX terminology. Locate the
"entry-tip.tip" key in the locales JSON and replace "Tip" with "propina",
preserving surrounding punctuation and JSON formatting.
In `@apps/web/src/features/i18n/locales/hi-IN.json`:
- Line 450: Translate the English "add" labels into Hindi in the hi-IN locale
JSON: replace the value for the "add" key (currently "Bookmark — get notified
about new comments") at both occurrences in the file (the keys at the two
locations) with an appropriate Hindi localization string (e.g., "बुकमार्क — नई
टिप्पणियों की सूचनाएं प्राप्त करें") ensuring the same phrasing is used for both
entries so the UI is consistently localized.
- Line 467: The Hindi locale value for the key entry-tip.tip is still English
("Tip"); update the value in apps/web/src/features/i18n/locales/hi-IN.json by
replacing the current "tip": "Tip" entry with a proper Hindi translation (e.g.,
"tip": "सुझाव" or another preferred Hindi term) so the entry-tip.tip key is
localized consistently with surrounding keys.
- Line 1647: The key favorite-btn.added currently uses action phrasing; update
the translation to a completion-state phrasing (e.g., change "पसंदीदा में जोड़ें"
to a completed-status like "पसंदीदा में जोड़ा गया") so the string represents
"Added to favorites" rather than "Add to favorites"; locate the
favorite-btn.added entry and replace the value accordingly.
In `@apps/web/src/features/i18n/locales/it-IT.json`:
- Line 467: The locale entry for key "entry-tip.tip" is still in English; update
the JSON value for the "tip" key under the entry-tip section to the Italian
translation (e.g., replace "Tip" with "Suggerimento" or "Consiglio") so the
string is localized consistently with the rest of the it-IT file.
- Around line 450-452: The "delete" translation value is inconsistent with the
adjacent "add" and "added" keys—change the capitalized "Segnalibri" to lowercase
to match style; update the "delete" key's value from "Rimuovi dai Segnalibri" to
"Rimuovi dai segnalibri" so the keys "add", "added", and "delete" use consistent
capitalization for segnalibri.
In `@apps/web/src/features/i18n/locales/ja-JP.json`:
- Line 467: The en-US fallback locale is missing the entry-tip.tip key that
exists in ja-JP; add an "entry-tip": { "tip": "Tip" } entry (or add the
top-level "entry-tip.tip" key equivalent) to the en-US locale JSON so the
fallback contains the same key name used by other locales; update the en-US.json
locale object to include the entry-tip.tip key with value "Tip" to prevent
missing-key output when fallbackLng is en-US.
In `@apps/web/src/features/i18n/locales/pl-PL.json`:
- Line 450: Replace the en-dash with an em-dash for the localization key
"bookmark-btn.add" in pl-PL.json so it matches other locales; change the value
from "Zakładka – otrzymuj powiadomienia o nowych komentarzach" to "Zakładka —
otrzymuj powiadomienia o nowych komentarzach" (ensure you edit the string value
for "bookmark-btn.add").
In `@apps/web/src/features/i18n/locales/ru-RU.json`:
- Line 467: The ru-RU locale contains an untranslated/unused key "entry-tip.tip"
with value "Tip"; either remove this key from the ru-RU.json if the feature
isn't implemented, or replace the value with a correct Russian translation
(e.g., "Совет") so the UI won't show mixed-language text; update only the
"entry-tip.tip" entry and run locale linting/tests to confirm no missing-key
regressions.
In `@apps/web/src/features/i18n/locales/sr-CS.json`:
- Line 452: Change the "delete" translation from a past-tense status ("Uklonjeno
iz obeleživača") to an imperative action label (e.g., "Ukloni") so it reads
correctly on buttons and action contexts; update the "delete" key value in both
places where it appears (the two "delete" entries) and leave the separate
"deleted" status key untouched to avoid overlap.
In `@apps/web/src/features/i18n/locales/tr-TR.json`:
- Line 467: The JSON value for entry-tip.tip is currently English ("Tip") and
should be translated to Turkish to match the locale; update the "tip" value in
the entry-tip block (key: entry-tip.tip) from "Tip" to the Turkish equivalent
"Bahşiş" so it is consistent with "title": "Bahşiş".
- Around line 1646-1648: The key favorite-btn.add (JSON key "add" in this locale
file) is still in English; update its value to a Turkish translation matching
the other keys (e.g., "Favorilere ekle — yeni gönderiler hakkında bildirim al")
so it reads consistently with "added" and "delete" in the tr-TR.json; edit the
"add" entry to the Turkish string and save.
- Around line 450-452: The "bookmark-btn.add" key (JSON key "add") in tr-TR.json
is still in English; update its value to a proper Turkish translation (e.g.,
replace "Bookmark — get notified about new comments" with a Turkish string
conveying "Bookmark — get notified about new comments") by editing the "add"
entry so the UI is fully localized.
In `@apps/web/src/features/i18n/locales/uk-UA.json`:
- Around line 1646-1648: The "add" translation for the favorites button is a
long descriptive string; replace the value for the key favorite-btn.add with a
short action label consistent with the add/delete flow (e.g., "Додати до
обраного") so it matches neighboring keys favorite-btn.added and
favorite-btn.delete and keeps the UI concise and consistent.
- Line 467: The Ukrainian locale entry "entry-tip.tip" currently contains the
English string "Tip"; update the value to a proper Ukrainian translation (e.g.,
"Порада" or "Підказка") so the key "tip" in the uk-UA.json locale is fully
localized and no longer mixes languages.
In `@apps/web/src/features/i18n/locales/zh-CN.json`:
- Line 467: The zh-CN locale contains an English value for the new key
"entry-tip.tip"; update the value for the "tip" key under the entry-tip
namespace to a proper Chinese translation (e.g., "提示" or another appropriate
localized string) so the zh-CN JSON does not contain English text for
"entry-tip.tip".
- Around line 450-452: Update the Chinese locale string for the bookmark button
to use the same em dash style as the paired CTA: locate the JSON key "add"
(referenced as bookmark-btn.add) and replace the hyphen "-" in "书签-获得关于新评论的通知"
with an em dash "—" so it matches favorite-btn's punctuation and keeps UI copy
consistent.
---
Outside diff comments:
In `@apps/web/src/features/i18n/locales/fr-FR.json`:
- Around line 465-471: The French locale entry "entry-tip" contains an
untranslated English value for the "tip" key; update "entry-tip.tip" from "Tip"
to the proper French translation (e.g., "Astuce" or "Pourboire") so it matches
"entry-tip.title" and other keys ("send-tip", "count", "count_plural") for
consistency across the fr-FR.json locale.
---
Nitpick comments:
In `@apps/web/src/features/i18n/locales/de-DE.json`:
- Around line 465-468: The de-DE locale contains an unused key entry-tip.tip
that isn’t present in en-US and isn’t consumed by the EntryTipBtn component;
either remove entry-tip.tip from de-DE.json to avoid locale drift, or add the
same key to en-US.json and update EntryTipBtn (entry-tip-btn/index.tsx) to read
and use entry-tip.tip (or consolidate to an existing key like
entry-tip.send-tip) so both locales and the component stay in sync.
In `@apps/web/src/features/i18n/locales/id-ID.json`:
- Line 450: The two "add" entries in the Indonesian locale file are still in
English; replace both occurrences of the "add" key in id-ID.json with an
Indonesian translation such as "Bookmark — dapatkan notifikasi tentang komentar
baru" (or another preferred Indonesian phrasing) so the label matches
surrounding localized strings; search for the "add" key in id-ID.json to find
both instances and update their values accordingly.
In `@apps/web/src/features/i18n/locales/lt-LT.json`:
- Around line 449-454: The "bookmark-btn.add" localization value is still in
English; update the "bookmark-btn" object's "add" key to a Lithuanian
translation (e.g., change the value of bookmark-btn.add to "Pridėti prie žymų —
pranešti apie naujus komentarus" or another accurate Lithuanian phrase) so all
bookmark button states ("add", "added", "delete", "deleted") are consistently
translated.
- Around line 645-650: The key favorite-btn.add is still in English; update its
value to a Lithuanian translation (e.g., "Pridėti prie mėgstamiausių — pranešti
apie naujus įrašus") so it matches the other translated keys in the favorite-btn
/ bookmark-btn group (compare favorite-btn.added, favorite-btn.delete,
favorite-btn.deleted) and ensure the phrase follows the same tone and
punctuation as the surrounding translations.
In `@apps/web/src/features/i18n/locales/pt-PT.json`:
- Around line 450-452: The three translation keys "add", "added", and "delete"
in the pt-PT locale ("add", "added", "delete") use inconsistent capitalization
("Favorito" vs "Favoritos"); pick a consistent style (e.g., sentence case or
title case) and update the string values so they match across these keys—for
example change "Favorito — seja notificado sobre novos comentários" to "favorito
— seja notificado sobre novos comentários" or change "Remover de Favoritos" to
"Remover de favoritos"—and ensure the same capitalization rule is applied to
"add", "added" and "delete".
In `@apps/web/src/features/i18n/locales/uz-UZ.json`:
- Around line 449-454: Translate the inconsistent English string under the
"bookmark-btn" object: replace the "add" key's value currently in English with
an Uzbek translation that matches the tone of the other keys (e.g., "Saqlash —
yangi izohlar haqida xabardor bo'lish") so all entries in "bookmark-btn" ("add",
"added", "delete", "deleted") are consistently localized.
- Around line 645-650: The "favorite-btn" localization key's "add" value is left
in English causing inconsistency with other keys ("added", "delete", "deleted");
update the "favorite-btn" -> "add" string to an Uzbek translation (e.g.,
"Sevimlilarga qo'shish — yangi postlar haqida xabardor bo'lish" or similar) so
it matches the existing Uzbek translations for "added"/"deleted" and maintains
consistency in the favorites UI.
- Around line 465-471: The "entry-tip.tip" value is still in English; replace it
with the Uzbek translation to match "entry-tip.title" ("Sovg'a") — e.g., use an
appropriate Uzbek term for "tip" (gratuity) such as "Sovg'a" or another
agreed-upon word, and update the "entry-tip.tip" string (and optionally related
strings like "send-tip", "count", "count_plural" in the same "entry-tip" object)
so all fields are consistently translated into Uzbek.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3b1b78ce-a480-44c2-a74c-83096f8d45cd
📒 Files selected for processing (23)
apps/web/src/features/i18n/locales/ac-ace.jsonapps/web/src/features/i18n/locales/bg-BG.jsonapps/web/src/features/i18n/locales/de-DE.jsonapps/web/src/features/i18n/locales/es-ES.jsonapps/web/src/features/i18n/locales/fr-FR.jsonapps/web/src/features/i18n/locales/hi-IN.jsonapps/web/src/features/i18n/locales/id-ID.jsonapps/web/src/features/i18n/locales/it-IT.jsonapps/web/src/features/i18n/locales/ja-JP.jsonapps/web/src/features/i18n/locales/lt-LT.jsonapps/web/src/features/i18n/locales/nl-NL.jsonapps/web/src/features/i18n/locales/pcm-NG.jsonapps/web/src/features/i18n/locales/pl-PL.jsonapps/web/src/features/i18n/locales/pt-PT.jsonapps/web/src/features/i18n/locales/ru-RU.jsonapps/web/src/features/i18n/locales/sr-CS.jsonapps/web/src/features/i18n/locales/th-TH.jsonapps/web/src/features/i18n/locales/tr-TR.jsonapps/web/src/features/i18n/locales/uk-UA.jsonapps/web/src/features/i18n/locales/ur-PK.jsonapps/web/src/features/i18n/locales/uz-UZ.jsonapps/web/src/features/i18n/locales/yo-NG.jsonapps/web/src/features/i18n/locales/zh-CN.json
| }, | ||
| "entry-tip": { | ||
| "title": "Бакшиш", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
Localize the new entry-tip.tip key in bg-BG.
Line 467 adds a new English value ("Tip") in the Bulgarian locale, which introduces mixed-language UI for this new key.
Suggested fix
"entry-tip": {
"title": "Бакшиш",
- "tip": "Tip",
+ "tip": "Бакшиш",
"send-tip": "Send a tip",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "tip": "Tip", | |
| "entry-tip": { | |
| "title": "Бакшиш", | |
| "tip": "Бакшиш", | |
| "send-tip": "Send a tip", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/bg-BG.json` at line 467, The bg-BG locale
currently contains an English string for the new key "entry-tip.tip"; update the
value in apps/web/src/features/i18n/locales/bg-BG.json so "entry-tip.tip" is
translated to Bulgarian (e.g., replace "Tip" with the Bulgarian equivalent such
as "Съвет") to avoid mixed-language UI.
| "add": "Favorito - recibir notificaciones sobre nuevos posts", | ||
| "added": "¡Añadido a favoritos! Serás notificado cuando publiquen nuevos posts", | ||
| "delete": "Eliminar de favoritos y detener notificaciones", | ||
| "delete": "Eliminar de Favoritos", |
There was a problem hiding this comment.
Keep sentence case consistent in favorite-btn.delete (Line 1648).
"Favoritos" should be lowercase to match locale style and adjacent strings.
Suggested fix
- "delete": "Eliminar de Favoritos",
+ "delete": "Eliminar de favoritos",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "delete": "Eliminar de Favoritos", | |
| "delete": "Eliminar de favoritos", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/es-ES.json` at line 1648, The locale
string key favorite-btn.delete currently uses sentence case ("Eliminar de
Favoritos"); update it to use consistent sentence case by lowercasing
"Favoritos" to "favoritos" so the value becomes "Eliminar de favoritos",
ensuring it matches adjacent locale entries and style conventions for the es-ES
JSON.
| "add": "Bookmark - get notified about new comments", | ||
| "added": "Bookmarked! You'll be notified about new comments on this post", | ||
| "delete": "Remove bookmark and stop notifications", | ||
| "add": "Bookmark — get notified about new comments", |
There was a problem hiding this comment.
Localize new add labels to Hindi for hi-IN.
Line 450 and Line 1646 are still in English, which creates mixed-language UI in the Hindi locale.
Suggested fix
- "add": "Bookmark — get notified about new comments",
+ "add": "बुकमार्क — नई टिप्पणियों की सूचना पाएं",
...
- "add": "Favorite — get notified about new posts",
+ "add": "पसंदीदा — नई पोस्ट की सूचना पाएं",Also applies to: 1646-1646
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/hi-IN.json` at line 450, Translate the
English "add" labels into Hindi in the hi-IN locale JSON: replace the value for
the "add" key (currently "Bookmark — get notified about new comments") at both
occurrences in the file (the keys at the two locations) with an appropriate
Hindi localization string (e.g., "बुकमार्क — नई टिप्पणियों की सूचनाएं प्राप्त
करें") ensuring the same phrasing is used for both entries so the UI is
consistently localized.
| }, | ||
| "entry-tip": { | ||
| "title": "टिप", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
Translate entry-tip.tip for Hindi locale.
Line 467 is still English ("Tip"), while surrounding keys are localized.
Suggested fix
- "tip": "Tip",
+ "tip": "टिप",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "tip": "Tip", | |
| "tip": "टिप", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/hi-IN.json` at line 467, The Hindi locale
value for the key entry-tip.tip is still English ("Tip"); update the value in
apps/web/src/features/i18n/locales/hi-IN.json by replacing the current "tip":
"Tip" entry with a proper Hindi translation (e.g., "tip": "सुझाव" or another
preferred Hindi term) so the entry-tip.tip key is localized consistently with
surrounding keys.
| "add": "Favorite — get notified about new posts", | ||
| "added": "Favorilere eklendi", | ||
| "delete": "Favorilerden kaldır", |
There was a problem hiding this comment.
Localize favorite-btn.add for Turkish locale consistency.
Line 1646 remains English. Lines 1647-1648 are good Turkish translations.
💡 Proposed fix
- "add": "Favorite — get notified about new posts",
+ "add": "Favori — yeni gönderilerden haberdar ol",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "add": "Favorite — get notified about new posts", | |
| "added": "Favorilere eklendi", | |
| "delete": "Favorilerden kaldır", | |
| "add": "Favori — yeni gönderilerden haberdar ol", | |
| "added": "Favorilere eklendi", | |
| "delete": "Favorilerden kaldır", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 1646 - 1648, The
key favorite-btn.add (JSON key "add" in this locale file) is still in English;
update its value to a Turkish translation matching the other keys (e.g.,
"Favorilere ekle — yeni gönderiler hakkında bildirim al") so it reads
consistently with "added" and "delete" in the tr-TR.json; edit the "add" entry
to the Turkish string and save.
| }, | ||
| "entry-tip": { | ||
| "title": "Порада", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
Localize entry-tip.tip to Ukrainian.
"Tip" is still English in the Ukrainian locale, which causes mixed-language UI text.
💬 Suggested fix
- "tip": "Tip",
+ "tip": "Порада",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "tip": "Tip", | |
| "tip": "Порада", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/uk-UA.json` at line 467, The Ukrainian
locale entry "entry-tip.tip" currently contains the English string "Tip"; update
the value to a proper Ukrainian translation (e.g., "Порада" or "Підказка") so
the key "tip" in the uk-UA.json locale is fully localized and no longer mixes
languages.
| "add": "Уподобання - отримувати повідомлення про нові повідомлення", | ||
| "added": "Додано до обраного", | ||
| "delete": "Видалити з обраного", |
There was a problem hiding this comment.
Use an action label for favorite-btn.add to match add/delete flow.
Current copy reads like a long description and shifts meaning to “new messages.” A short action label would be clearer and consistent with neighboring keys.
✏️ Suggested fix
- "add": "Уподобання - отримувати повідомлення про нові повідомлення",
+ "add": "Додати до обраного",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/uk-UA.json` around lines 1646 - 1648, The
"add" translation for the favorites button is a long descriptive string; replace
the value for the key favorite-btn.add with a short action label consistent with
the add/delete flow (e.g., "Додати до обраного") so it matches neighboring keys
favorite-btn.added and favorite-btn.delete and keeps the UI concise and
consistent.
| "add": "书签-获得关于新评论的通知", | ||
| "added": "已添加到书签", | ||
| "delete": "从书签中删除", |
There was a problem hiding this comment.
Use the same dash style as favorite-btn for consistency.
bookmark-btn.add on Line 450 still uses -, while the paired CTA on Line 1646 uses an em dash (—). Please align these to avoid inconsistent UI copy.
✏️ Suggested text adjustment
- "add": "书签-获得关于新评论的通知",
+ "add": "书签 — 收到关于新评论的通知",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/zh-CN.json` around lines 450 - 452, Update
the Chinese locale string for the bookmark button to use the same em dash style
as the paired CTA: locate the JSON key "add" (referenced as bookmark-btn.add)
and replace the hyphen "-" in "书签-获得关于新评论的通知" with an em dash "—" so it matches
favorite-btn's punctuation and keeps UI copy consistent.
| }, | ||
| "entry-tip": { | ||
| "title": "礼物", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
Localize the new entry-tip.tip string for zh-CN.
Line 467 introduces "tip": "Tip" in English inside the Chinese locale file.
✏️ Suggested localization
- "tip": "Tip",
+ "tip": "打赏",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "tip": "Tip", | |
| "tip": "打赏", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/zh-CN.json` at line 467, The zh-CN locale
contains an English value for the new key "entry-tip.tip"; update the value for
the "tip" key under the entry-tip namespace to a proper Chinese translation
(e.g., "提示" or another appropriate localized string) so the zh-CN JSON does not
contain English text for "entry-tip.tip".
There was a problem hiding this comment.
Actionable comments posted: 3
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/web/src/features/i18n/locales/lt-LT.json (1)
648-651:⚠️ Potential issue | 🟡 MinorInconsistent language in
favorite-btnblock.Same issue as
bookmark-btn: theaddvalue is in English while sibling keys are in Lithuanian.- "add": "Favorite — get notified about new posts", + "add": "Mėgstamiausi — gauti pranešimus apie naujus įrašus",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` around lines 648 - 651, The "favorite-btn" block contains an English value for the "add" key which is inconsistent with its Lithuanian siblings (same problem as "bookmark-btn"); locate the "favorite-btn" JSON object and replace the "add" value with the correct Lithuanian translation (matching the style/terminology used in "bookmark-btn") so all keys in favorite-btn are in Lithuanian.
♻️ Duplicate comments (10)
apps/web/src/features/i18n/locales/sr-CS.json (2)
1648-1650:⚠️ Potential issue | 🟡 MinorMixed translation issues in favorite-btn section.
- Line 1648:
addis entirely in English and should be translated to Serbian.- Line 1650: The tense issue (
deleteusing past-tense instead of imperative) was already flagged in previous reviews.Suggested fix for untranslated "add" key
"favorite-btn": { - "add": "Favorite — get notified about new posts", + "add": "Omiljeno — primajte obaveštenja o novim objavama", "added": "Dodato u omiljeno",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/sr-CS.json` around lines 1648 - 1650, Translate the untranslated "add" value from English to Serbian and fix the tense for the "delete" key in the sr-CS.json locale: replace "add": "Favorite — get notified about new posts" with an appropriate Serbian translation (e.g., imperative/infinitive matching UI context), ensure "added": "Dodato u omiljeno" remains correct, and change "delete": from past-tense to an imperative form consistent with the button/action wording (e.g., "Ukloni iz omiljenih" or similar) so keys "add", "added", and "delete" are consistent and localized.
452-454:⚠️ Potential issue | 🟡 MinorMixed translation issues in bookmark-btn section.
- Line 452:
addis entirely in English and should be translated to Serbian.- Lines 453-454: The tense issues (
addedusing imperative,deleteusing past-tense) were already flagged in previous reviews.Suggested fix for untranslated "add" key
"bookmark-btn": { - "add": "Bookmark — get notified about new comments", + "add": "Obeleživač — primajte obaveštenja o novim komentarima", "added": "Dodaj u obeleživače",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/sr-CS.json` around lines 452 - 454, Translate the untranslated "add" key to Serbian and make the three bookmark keys tense-consistent: change "add" to a Serbian imperative like "Dodaj u obeleživače", change "added" to the past/state form "Dodato u obeleživače", and change "delete" to the imperative "Ukloni iz obeleživača" (or alternatively make all three past-state forms if you prefer state labels); update the keys "add", "added", and "delete" in sr-CS.json accordingly.apps/web/src/features/i18n/locales/id-ID.json (2)
106-108:⚠️ Potential issue | 🟡 MinorLocalize new
gkeys for Indonesian.Lines 106-108 introduce English values in the
id-IDlocale:
"pause": "Pause"→ should be"Jeda""start": "Start"→ should be"Mulai""updated": "Updated"→ should be"Diperbarui"(as noted in prior review)💡 Suggested fix
- "pause": "Pause", - "start": "Start", - "updated": "Updated" + "pause": "Jeda", + "start": "Mulai", + "updated": "Diperbarui",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/id-ID.json` around lines 106 - 108, Update the Indonesian locale values for the keys "pause", "start", and "updated" in the id-ID JSON so they are translated to Indonesian: change the value for "pause" to "Jeda", "start" to "Mulai", and "updated" to "Diperbarui" (ensure you edit the entries with keys "pause", "start", and "updated" in the locales file).
3280-3317:⚠️ Potential issue | 🟡 Minor
ai-assistblock contains English values instead of Indonesian translations.All 37 keys in the new
ai-assistnamespace have English values. For theid-IDlocale, these should be translated to Indonesian. Examples:
"title": "AI Writing Assistant"→"Asisten Penulisan AI""submit-button": "Run AI Assist"→"Jalankan Asisten AI""error-text-too-short"message and othersAdditionally, as noted in a prior review, this namespace is missing from the base locale
en-US.json, creating a schema mismatch that should be resolved first before translations are added to other locales.,
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/id-ID.json` around lines 3280 - 3317, The ai-assist localization block currently contains English strings for all keys (e.g., "ai-assist" -> "title", "submit-button", "error-text-too-short", etc.); fix by first adding the same "ai-assist" namespace and all 37 keys with English values to the base en-US.json to keep schemas consistent, then replace the English values in apps/web/src/features/i18n/locales/id-ID.json under the "ai-assist" object with proper Indonesian translations (examples: "title" -> "Asisten Penulisan AI", "submit-button" -> "Jalankan Asisten AI", translate "error-text-too-short" and all other keys) ensuring keys are unchanged and placeholders like {{count}}, {{required}}, {{available}} are preserved.apps/web/src/features/i18n/locales/tr-TR.json (3)
1648-1650:⚠️ Potential issue | 🟡 Minor
favorite-btn.addis still English.Line 1648 keeps the English copy while the other states are Turkish, so this still surfaces mixed-language UI.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 1648 - 1650, The key favorite-btn.add has English text while sibling keys are Turkish; update the value for "add" (favorite-btn.add) to a Turkish translation such as "Favorilere ekle — yeni gönderiler hakkında bildirim al" so the three states ("add", "added", "delete") are consistently localized.
452-454:⚠️ Potential issue | 🟡 Minor
bookmark-btn.addis still English.Line 452 remains untranslated, so this action will still render mixed-language copy in the Turkish locale.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 452 - 454, The "bookmark-btn.add" translation is still in English; update the value for the "add" key in the tr-TR JSON (alongside "added" and "delete") to the correct Turkish phrase so the locale is consistent — replace "Bookmark — get notified about new comments" with an appropriate Turkish translation (e.g., a concise Turkish string conveying bookmarking and notification about new comments) ensuring proper punctuation and JSON escaping.
467-470:⚠️ Potential issue | 🟡 Minor
entry-tip.tipis still English.
titleis localized, but Line 469 still uses"Tip", so this CTA stays inconsistent in the Turkish UI.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 467 - 470, The "entry-tip.tip" value is still English; update the "entry-tip" object so the "tip" key is translated into Turkish (matching the localized "title"), e.g. replace the current "tip" value with the correct Turkish term (refer to the "entry-tip" object and keys "tip" and "send-tip" to keep consistency across the CTA).apps/web/src/features/i18n/locales/ja-JP.json (1)
469-469:⚠️ Potential issue | 🟡 MinorLocalize
entry-tip.tipinstead of leaving it in English.
"tip": "Tip"will show mixed-language UI inja-JP. Using the same Japanese term as the rest of the tipping flow, e.g.チップ, keeps this section consistent.💬 Suggested fix
- "tip": "Tip", + "tip": "チップ",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ja-JP.json` at line 469, Replace the English string for the JSON key "tip" under the "entry-tip" namespace (currently '"tip": "Tip"') with the Japanese localized term used elsewhere in the tipping flow (e.g. '"tip": "チップ"') so the ja-JP locale is consistent; update the "entry-tip.tip" value to "チップ" in the ja-JP locale file and ensure the JSON remains valid (quotes, commas) after the change.apps/web/src/features/i18n/locales/zh-CN.json (2)
469-469:⚠️ Potential issue | 🟡 MinorTranslate the new
entry-tip.tiplabel.
"Tip"is still English in thezh-CNlocale, so this label will leak untranslated UI text.✏️ Suggested localization
- "tip": "Tip", + "tip": "打赏",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/zh-CN.json` at line 469, The zh-CN locale contains the key "entry-tip.tip" currently set to the English string "Tip"; update the value to the Chinese translation (e.g., "提示" or the preferred localized term) so the entry-tip UI doesn't show English text—edit the "tip" value under the "entry-tip" object in the zh-CN.json file to the correct Chinese string.
452-452:⚠️ Potential issue | 🟡 MinorUse the same dash style as the paired favorite CTA.
bookmark-btn.addstill uses-, whilefavorite-btn.addon Line 1648 uses an em dash. Keeping them aligned avoids visibly inconsistent CTA copy.✏️ Suggested text adjustment
- "add": "书签-获得关于新评论的通知", + "add": "书签 — 收到关于新评论的通知",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/zh-CN.json` at line 452, The translation key "bookmark-btn.add" currently uses a hyphen "-" while the paired "favorite-btn.add" uses an em dash "—"; update the value for bookmark-btn.add to replace the hyphen with the same em dash character so both CTA strings use the same dash style (match "favorite-btn.add" formatting).
🟡 Minor comments (29)
apps/web/src/features/i18n/locales/sr-CS.json-469-469 (1)
469-469:⚠️ Potential issue | 🟡 MinorUntranslated string.
entry-tip.tipshould be translated to Serbian ("Napojnica" or "Doniraj").Suggested fix
- "tip": "Tip", + "tip": "Napojnica",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/sr-CS.json` at line 469, The JSON key entry-tip.tip currently contains the English string "Tip"; update its value to the Serbian translation by replacing "Tip" with an appropriate Serbian word such as "Napojnica" (or "Doniraj" if context implies donating), ensuring proper JSON string quoting and preserving the existing key structure in the locales file.apps/web/src/features/i18n/locales/sr-CS.json-106-108 (1)
106-108:⚠️ Potential issue | 🟡 MinorUntranslated strings in Serbian locale.
g.startandg.updatedare in English. They should be translated to Serbian:
- "Start" → "Započni" or "Pokreni"
- "Updated" → "Ažurirano"
Suggested fix
"pause": "Pause", - "start": "Start", - "updated": "Updated" + "start": "Započni", + "updated": "Ažurirano"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/sr-CS.json` around lines 106 - 108, The Serbian locale contains English values for the keys "start" and "updated"; update the values in sr-CS.json for "start" to a Serbian translation such as "Započni" or "Pokreni" and for "updated" to "Ažurirano" so g.start and g.updated are localized correctly.apps/web/src/features/i18n/locales/hi-IN.json-107-108 (1)
107-108:⚠️ Potential issue | 🟡 MinorLocalize
g.startandg.updatedto Hindi.These new keys are in English while other keys in the
gnamespace are localized to Hindi.Suggested fix
- "start": "Start", - "updated": "Updated" + "start": "शुरू करें", + "updated": "अपडेट किया गया"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/hi-IN.json` around lines 107 - 108, The two keys "g.start" and "g.updated" in the hi-IN locale are still in English; replace their values with correct Hindi translations (e.g., "Start" -> "शुरू करें" or "शुरू" and "Updated" -> "अपडेट किया गया" or "अद्यतन"), updating the values for the "start" and "updated" entries in the hi-IN JSON so they match the rest of the g namespace; preserve JSON syntax/quoting and run your locale/formatting lint to ensure validity after the change.apps/web/src/features/i18n/locales/hi-IN.json-3280-3317 (1)
3280-3317:⚠️ Potential issue | 🟡 MinorTranslate the entire
ai-assistblock to Hindi.The newly added
ai-assistblock contains ~38 keys, all in English. For consistency with the rest of the Hindi locale, these strings should be translated.Example translations for key strings
- "title": "AI Writing Assistant", + "title": "AI लेखन सहायक", - "toolbar-button": "AI Assist", + "toolbar-button": "AI सहायता", - "balance-label": "Balance", + "balance-label": "शेष राशि", - "action-improve": "Improve Writing", + "action-improve": "लेखन सुधारें", - "action-summarize": "Summarize", + "action-summarize": "सारांश", - "submit-button": "Run AI Assist", + "submit-button": "AI सहायता चलाएं",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/hi-IN.json` around lines 3280 - 3317, Translate the entire "ai-assist" JSON object into Hindi: replace each English string value under the "ai-assist" key (e.g., "title", "toolbar-button", "balance-label", "points-unit", "free-label", "free-remaining", "cost-label", "action-label", "text-label", "text-placeholder", "chars-remaining", "min-chars", "action-improve", "action-improve-desc", "action-suggest_tags", "action-suggest_tags-desc", "action-generate_title", "action-generate_title-desc", "action-summarize", "action-summarize-desc", "action-check_grammar", "action-check_grammar-desc", "submit-button", "submitting", "result-title", "apply-button", "copy-button", "copied", "try-again", "try-another", "success", "error-insufficient-points", "error-content-policy", "error-rate-limit", "error-auth", "error-generic", "error-text-too-short") with idiomatic Hindi strings, preserving interpolation tokens like {{count}}, {{required}}, and {{available}} exactly as-is and keeping punctuation/formatting consistent with the rest of hi-IN.json.apps/web/src/features/i18n/locales/ac-ace.json-452-454 (1)
452-454:⚠️ Potential issue | 🟡 MinorAvoid mixed-language bookmark/favorite copy.
These updates introduce English CTA/state text into the
ac-acelocale, andbookmark-btnnow mixes English and Acehnese in the same block. That makes the saved/favorited flows feel inconsistent for this locale. Please translate these strings, or rely on fallback behavior consistently instead of partially localizing the block.Also applies to: 1648-1650
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ac-ace.json` around lines 452 - 454, The three keys "add", "added", and "delete" in the ac-ace locale currently mix English and Acehnese (e.g., "Bookmark — get notified about new comments") which breaks consistency; update these values to full Acehnese translations (or remove them so the app falls back consistently) for the bookmark/favorite flow (keys: "add", "added", "delete" in ac-ace.json and any related "bookmark-btn" block) ensuring all strings in that block are either fully localized or fully fallback-driven.apps/web/src/features/i18n/locales/ac-ace.json-106-108 (1)
106-108:⚠️ Potential issue | 🟡 MinorKeep new global labels localized in
ac-ace.
g.startandg.updatedare added as English strings, so users on the Acehnese locale will see mixed-language chrome for common actions. Please translate these values here, or leave them to the fallback locale if untranslated copy is expected.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ac-ace.json` around lines 106 - 108, The Acehnese locale file ac-ace.json contains English strings for the keys "start" and "updated" (alongside "pause"); update those entries so they are translated into Acehnese (replace the values for "start" and "updated" with proper Acehnese text), or remove those keys so the app falls back to the default locale if you intentionally want untranslated copy; locate the keys "start" and "updated" in ac-ace.json and apply the translation or removal accordingly.apps/web/src/features/i18n/locales/nl-NL.json-3299-3300 (1)
3299-3300:⚠️ Potential issue | 🟡 MinorUntranslated English strings in Dutch locale file.
These two entries are in English while all other
ai-assistentries are translated to Dutch. This appears to be an oversight.Suggested translations
- "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Samenvatten", + "action-summarize-desc": "Maak een korte samenvatting",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/nl-NL.json` around lines 3299 - 3300, The Dutch locale contains two untranslated keys ("action-summarize" and "action-summarize-desc") left in English; update their values to proper Dutch translations consistent with other ai-assist entries (e.g., replace "Summarize" and "Create a TL;DR summary" with equivalent Dutch strings), ensuring you only change the values for the keys action-summarize and action-summarize-desc and preserve JSON formatting and punctuation.apps/web/src/features/i18n/locales/nl-NL.json-3294-3294 (1)
3294-3294:⚠️ Potential issue | 🟡 MinorMistranslation: "Polish" translated as nationality instead of verb.
"Poolse grammatica" translates to "Polish (nationality) grammar" — the English source likely uses "Polish" as a verb meaning "to refine/improve." Consider using "Verfijn" or "Verbeter" instead.
Suggested fix
- "action-improve-desc": "Poolse grammatica, helderheid en stijl", + "action-improve-desc": "Verfijn grammatica, helderheid en stijl",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/nl-NL.json` at line 3294, The translation for the key "action-improve-desc" uses "Poolse grammatica" which reads as the nationality "Polish"; change the value to use the verb form (e.g., "Verbeter grammatica, helderheid en stijl" or "Verfijn grammatica, helderheid en stijl") so it matches the English intent to "polish" text; update the JSON value for "action-improve-desc" accordingly.apps/web/src/features/i18n/locales/es-ES.json-3299-3300 (1)
3299-3300:⚠️ Potential issue | 🟡 MinorUntranslated English strings.
Both
"action-summarize"and"action-summarize-desc"contain English text instead of Spanish.Suggested fix
- "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Resumir", + "action-summarize-desc": "Crear un resumen breve",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/es-ES.json` around lines 3299 - 3300, The two keys "action-summarize" and "action-summarize-desc" in the es-ES locale contain English text; replace their values with Spanish translations (for example, set "action-summarize" to "Resumir" and "action-summarize-desc" to "Crear un resumen breve" or "Crear un resumen tipo TL;DR") so the UI shows Spanish strings for those identifiers.apps/web/src/features/i18n/locales/es-ES.json-3291-3291 (1)
3291-3291:⚠️ Potential issue | 🟡 MinorUntranslated English string.
"chars-remaining"contains English text instead of Spanish.Suggested fix
- "chars-remaining": "{{count}} characters remaining", + "chars-remaining": "{{count}} caracteres restantes",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/es-ES.json` at line 3291, The key "chars-remaining" currently contains English text; update its value to the Spanish translation (e.g., "Quedan {{count}} caracteres" or "Quedan {{count}} caracteres restantes") so the JSON entry for "chars-remaining" in es-ES.json is fully localized; ensure the interpolation token {{count}} is preserved exactly.apps/web/src/features/i18n/locales/es-ES.json-3294-3294 (1)
3294-3294:⚠️ Potential issue | 🟡 MinorMistranslation: "polish" translated as nationality.
"Gramática polaca"means "Polish grammar" (the nationality). The original intent was likely "Polish grammar" as in "to polish/refine grammar."Suggested fix
- "action-improve-desc": "Gramática polaca, claridad y estilo", + "action-improve-desc": "Pulir gramática, claridad y estilo",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/es-ES.json` at line 3294, The translation for the key "action-improve-desc" erroneously uses a nationality ("Gramática polaca") instead of the verb "to polish"; update the value for "action-improve-desc" to a Spanish phrase that conveys refining text (e.g., "Pulir gramática, claridad y estilo" or "Mejorar gramática, claridad y estilo") so it matches the original intent of polishing/refining grammar, clarity and style.apps/web/src/features/i18n/locales/uk-UA.json-3311-3311 (1)
3311-3311:⚠️ Potential issue | 🟡 MinorIncorrect translation: "Автор виконаний" doesn't convey success.
"Автор виконаний!" literally means "The author is done/completed!" which doesn't make sense as a success message. The original English "AI assist completed!" should be translated appropriately.
💬 Suggested fix
- "success": "Автор виконаний!", + "success": "ШІ допомогу надано!",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uk-UA.json` at line 3311, The "success" translation value is incorrect — replace the literal "Автор виконаний!" with a proper Ukrainian rendering of "AI assist completed!" such as "Допомога ШІ завершена!" or "Допомога штучного інтелекту завершена!" by updating the "success" key in the locales JSON (key: "success") to the chosen corrected string.apps/web/src/features/i18n/locales/uk-UA.json-3294-3294 (1)
3294-3294:⚠️ Potential issue | 🟡 MinorIncorrect translation: "Польська" means "Polish (language)".
The description "Польська граматика, ясність і стиль" translates back as "Polish [language] grammar, clarity and style" rather than "Polish [verb: refine] grammar...". The intended meaning is to refine/improve writing.
💬 Suggested fix
- "action-improve-desc": "Польська граматика, ясність і стиль", + "action-improve-desc": "Покращити граматику, ясність і стиль",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uk-UA.json` at line 3294, The value for the JSON key "action-improve-desc" is using "Польська" (Polish language) instead of an imperative verb; update the string value to convey "refine/improve" writing — for example replace "Польська граматика, ясність і стиль" with "Удосконалити граматику, ясність і стиль" or "Поліпшити граматику, чіткість і стиль" so the key action-improve-desc reads as an instruction to improve grammar, clarity and style.apps/web/src/features/i18n/locales/uk-UA.json-3299-3300 (1)
3299-3300:⚠️ Potential issue | 🟡 MinorUntranslated English strings in Ukrainian locale.
Both
action-summarizeandaction-summarize-desccontain English text instead of Ukrainian translations.💬 Suggested fix
- "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Підсумувати", + "action-summarize-desc": "Створити короткий виклад",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/uk-UA.json` around lines 3299 - 3300, Replace the English placeholder values for the keys "action-summarize" and "action-summarize-desc" in the Ukrainian locale with proper Ukrainian translations; update "action-summarize" to something like "Підсумувати" and "action-summarize-desc" to "Створити короткий виклад (TL;DR)" or an equivalent Ukrainian phrase that conveys "Create a TL;DR summary."apps/web/src/features/i18n/locales/lt-LT.json-452-455 (1)
452-455:⚠️ Potential issue | 🟡 MinorInconsistent language in
bookmark-btnblock.The
addvalue is in English whileadded,delete, anddeletedare in Lithuanian. This creates an inconsistent UX for Lithuanian users where the tooltip appears in a different language than the confirmation messages.Consider translating:
- "add": "Bookmark — get notified about new comments", + "add": "Žymė — gauti pranešimus apie naujus komentarus",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` around lines 452 - 455, The "add" translation string is in English while the sibling keys "added", "delete", and "deleted" are Lithuanian; update the "add" key to a Lithuanian translation to keep the bookmark-btn block consistent (replace the "add" value with something like "Įtraukti į žymes — gauti pranešimus apie naujus komentarus" or another equivalent Lithuanian phrasing) so all four keys ("add", "added", "delete", "deleted") are in the same language.apps/web/src/features/i18n/locales/lt-LT.json-469-469 (1)
469-469:⚠️ Potential issue | 🟡 MinorUntranslated
tipvalue inentry-tipblock.The
tipvalue is English while the adjacenttitlekey is properly translated to Lithuanian ("Arbatpinigiai").- "tip": "Tip", + "tip": "Arbatpinigiai",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` at line 469, The entry-tip block in the Lithuanian locale has the "tip" value still in English ("Tip"); update the "tip" string in apps/web/src/features/i18n/locales/lt-LT.json (the "entry-tip" object) to the correct Lithuanian translation (e.g., match the context of the "title" key like "Arbatpinigiai" or use the appropriate Lithuanian word for "Tip") so the key "tip" is fully localized.apps/web/src/features/i18n/locales/fr-FR.json-469-469 (1)
469-469:⚠️ Potential issue | 🟡 MinorTranslate "Tip" to French.
This string remains in English while surrounding keys in the same
entry-tipblock are already translated (e.g.,"title": "Pourboire"). For consistency, this should also be in French.🌐 Suggested fix
- "tip": "Tip", + "tip": "Pourboire",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/fr-FR.json` at line 469, The "tip" translation key in the French locale is still in English; update the value of the "tip" key in the entry-tip block (key name "tip") in apps/web/src/features/i18n/locales/fr-FR.json to its French equivalent ("Astuce" or "Pourboire" depending on context) so it matches the surrounding translated keys like "title": "Pourboire".apps/web/src/features/i18n/locales/id-ID.json-452-452 (1)
452-452:⚠️ Potential issue | 🟡 MinorLocalize
bookmark-btn.addfor Indonesian.The value is English but should be Indonesian for the
id-IDlocale.💡 Suggested fix
- "add": "Bookmark — get notified about new comments", + "add": "Tandai — dapatkan notifikasi tentang komentar baru",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/id-ID.json` at line 452, Update the id-ID translation for the key "bookmark-btn.add" so it's in Indonesian instead of English; replace the current English value with an Indonesian phrase such as "Tambahkan ke bookmark — dapatkan pemberitahuan tentang komentar baru" (or another natural Indonesian equivalent) in the locales file to ensure correct localization.apps/web/src/features/i18n/locales/id-ID.json-1648-1648 (1)
1648-1648:⚠️ Potential issue | 🟡 MinorLocalize
favorite-btn.addfor Indonesian.The value is English but should be Indonesian for the
id-IDlocale.💡 Suggested fix
- "add": "Favorite — get notified about new posts", + "add": "Favorit — dapatkan notifikasi tentang postingan baru",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/id-ID.json` at line 1648, The locale key "favorite-btn.add" is still in English; update its value in the id-ID locale JSON to the correct Indonesian translation (e.g., "Favorit — dapatkan pemberitahuan tentang postingan baru" or another preferred Indonesian phrasing). Edit the "favorite-btn.add" entry in apps/web/src/features/i18n/locales/id-ID.json to replace the English string with the Indonesian string, keeping JSON syntax (quotes and trailing comma) intact.apps/web/src/features/i18n/locales/it-IT.json-3280-3318 (1)
3280-3318:⚠️ Potential issue | 🟡 MinorMultiple untranslated strings and a mistranslation in
ai-assistsection.Several values remain in English, breaking locale consistency:
Line Key Issue 3282 toolbar-button"Assist AI"is English3299 action-summarize"Summarize"is English3300 action-summarize-desc"Create a TL;DR summary"is English3317 error-text-too-shortEntire string is English Additionally, line 3294 has a mistranslation:
"Grammatica polacca, chiarezza e stile"— "polacca" means "Polish" (nationality), not "polish" (to refine). Likely intended:"Perfeziona grammatica, chiarezza e stile".Suggested fixes
- "toolbar-button": "Assist AI", + "toolbar-button": "Assistenza IA",- "action-improve-desc": "Grammatica polacca, chiarezza e stile", + "action-improve-desc": "Perfeziona grammatica, chiarezza e stile",- "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Riassumi", + "action-summarize-desc": "Crea un riassunto breve",- "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." + "error-text-too-short": "Il testo è troppo corto. Sono richiesti almeno {{count}} caratteri."🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/it-IT.json` around lines 3280 - 3318, Fix untranslated and mistranslated strings in the ai-assist locale: replace "toolbar-button" value with a proper Italian label (e.g., "Assistente AI"), change "action-summarize" to "Riepiloga" and "action-summarize-desc" to "Crea un riepilogo TL;DR", correct "action-improve-desc" from "Grammatica polacca, chiarezza e stile" to something like "Perfeziona grammatica, chiarezza e stile", and translate "error-text-too-short" to Italian (e.g., "Il testo è troppo corto. Minimo {{count}} caratteri richiesti"). Ensure you update the values for keys: "toolbar-button", "action-summarize", "action-summarize-desc", "action-improve-desc", and "error-text-too-short".apps/web/src/features/i18n/locales/tr-TR.json-106-108 (1)
106-108:⚠️ Potential issue | 🟡 MinorLocalize the new
glabels.Lines 106-108 add
pause,start, andupdatedin English, so the Turkish UI will still show mixed-language controls here.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 106 - 108, The tr-TR locale file contains English values for the keys "pause", "start", and "updated"; update those entries in locales/tr-TR.json to their Turkish equivalents (replace "Pause" -> "Duraklat", "Start" -> "Başlat", "Updated" -> "Güncellendi") so the UI displays consistent Turkish labels for the pause, start, and updated controls.apps/web/src/features/i18n/locales/pl-PL.json-3280-3317 (1)
3280-3317:⚠️ Potential issue | 🟡 MinorComplete the Polish localization in
ai-assist.Several new strings are still English on Lines 3286, 3291, 3292, 3299-3300, and 3317, and Line 3294 reads like a mistranslation. This will ship a mixed-language AI assistant UI.
💬 Suggested copy fixes
"ai-assist": { "title": "Asystent pisania SI", "toolbar-button": "Asystent SI", "balance-label": "Saldo", "points-unit": "PUNKTY", "free-label": "Darmowe", - "free-remaining": "{{count}} free left today", + "free-remaining": "Pozostało dziś {{count}} darmowych użyć", "cost-label": "Koszt", "action-label": "Co chciałbyś zrobić?", "text-label": "Twoje treści", "text-placeholder": "Wklej lub wpisz wersję roboczą tutaj...", - "chars-remaining": "{{count}} characters remaining", - "min-chars": "Minimum {{count}} characters required", + "chars-remaining": "Pozostało {{count}} znaków", + "min-chars": "Wymagane minimum {{count}} znaków", "action-improve": "Ulepsz pisanie", - "action-improve-desc": "Polskie gramy, jasność i styl", + "action-improve-desc": "Popraw gramatykę, jasność i styl", "action-suggest_tags": "Zaproponuj tagi", "action-suggest_tags-desc": "Uzyskaj odpowiednie tagi dla swojego posta", "action-generate_title": "Wygeneruj tytuł", "action-generate_title-desc": "Utwórz ważne opcje tytułu", - "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Podsumuj", + "action-summarize-desc": "Utwórz podsumowanie TL;DR", "action-check_grammar": "Sprawdź Gramatykę", "action-check_grammar-desc": "Napraw gramatykę i pisownię", "submit-button": "Uruchom Asystent SI", @@ - "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." + "error-text-too-short": "Twój tekst jest za krótki. Wymagane minimum {{count}} znaków." }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/pl-PL.json` around lines 3280 - 3317, The ai-assist Polish locale has several untranslated/mistranslated keys; update the values for "free-remaining", "chars-remaining", "min-chars", "action-improve-desc", "action-generate_title-desc", "action-summarize", "action-summarize-desc", and "error-text-too-short" to proper Polish. Replace "free-remaining" with e.g. "{{count}} darmych pozostało dziś", "chars-remaining" with "{{count}} znaków pozostało", "min-chars" with "Wymagane minimum {{count}} znaków", change "action-improve-desc" to a natural Polish phrase about grammar/clarity/style, "action-generate_title-desc" to a Polish string about generating title options, translate "action-summarize" to "Skróć" and "action-summarize-desc" to a Polish TL;DR description, and set "error-text-too-short" to a Polish error like "Tekst jest za krótki. Wymagane minimum {{count}} znaków." Ensure wording is idiomatic and consistent with other locale entries.apps/web/src/features/i18n/locales/pl-PL.json-467-470 (1)
467-470:⚠️ Potential issue | 🟡 MinorTranslate the new
entry-tip.tiplabel.Line 469 is still English (
"Tip"), so this section will render mixed Polish/English copy.💬 Suggested fix
"entry-tip": { "title": "Napiwek", - "tip": "Tip", + "tip": "Napiwek", "send-tip": "Wyślij napiwk",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/pl-PL.json` around lines 467 - 470, Replace the English value "Tip" for the JSON key entry-tip.tip with its Polish translation (for example "Wskazówka") so the locale entry is fully Polish; update the value of "entry-tip.tip" in apps/web/src/features/i18n/locales/pl-PL.json to the correct Polish string.apps/web/src/features/i18n/locales/ja-JP.json-3286-3291 (1)
3286-3291:⚠️ Potential issue | 🟡 MinorTranslate the remaining English labels in
ai-assist.Several newly added strings are still English (
free left today,characters remaining,Summarize,Create a TL;DR summary), so the Japanese assistant flow will render with mixed-language UI.💬 Suggested fix
- "free-remaining": "{{count}} free left today", + "free-remaining": "今日はあと{{count}}回無料", - "chars-remaining": "{{count}} characters remaining", + "chars-remaining": "残り{{count}}文字", - "action-summarize": "Summarize", + "action-summarize": "要約", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize-desc": "TL;DR 要約を作成",Also applies to: 3299-3300
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ja-JP.json` around lines 3286 - 3291, The JSON contains untranslated English strings in the ai-assist locale keys (e.g., "free-remaining", "chars-remaining" and the other ai-assist labels like "Summarize" and "Create a TL;DR summary" referenced at 3299-3300); replace the English text values with concise Japanese translations so the UI is fully localized (update the values for "free-remaining" from "{{count}} free left today" to a Japanese phrase preserving the {{count}} placeholder, for "chars-remaining" from "{{count}} characters remaining" to Japanese preserving {{count}}, and translate the "Summarize" and "Create a TL;DR summary" keys likewise), ensuring you keep the JSON key names and placeholder syntax intact.apps/web/src/features/i18n/locales/zh-CN.json-3286-3317 (1)
3286-3317:⚠️ Potential issue | 🟡 MinorFinish localizing the new
ai-assistblock.Several new values are still English or mistranslated in
zh-CN— for examplefree-remaining,chars-remaining,min-chars,action-summarize*,error-insufficient-points,error-text-too-short, andaction-improve-descon Line 3294 currently reads as “波兰语法…”. This will surface mixed-language UI in the new feature.✏️ Suggested direction
- "free-remaining": "{{count}} free left today", + "free-remaining": "今天还剩 {{count}} 次免费使用", - "chars-remaining": "{{count}} characters remaining", + "chars-remaining": "还可输入 {{count}} 个字符", - "min-chars": "Minimum {{count}} characters required", + "min-chars": "至少需要 {{count}} 个字符", - "action-improve-desc": "波兰语法、 清晰度 和风格", + "action-improve-desc": "优化语法、清晰度和风格", - "action-summarize": "Summarize", + "action-summarize": "总结", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize-desc": "生成摘要", - "error-insufficient-points": "Insufficient points. You need {{required}} but have {{available}}.", + "error-insufficient-points": "积分不足。需要 {{required}},当前只有 {{available}}。", - "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." + "error-text-too-short": "文本太短。至少需要 {{count}} 个字符。"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/zh-CN.json` around lines 3286 - 3317, The zh-CN locale is incomplete/mixed-language for the new ai-assist block; update the listed keys to proper Chinese translations: "free-remaining", "chars-remaining", "min-chars", "action-summarize", "action-summarize-desc", "action-improve-desc" (replace the incorrect "波兰语法" with "语法、清晰度和风格"), "action-improve", "error-insufficient-points" (include localized phrasing and interpolations {{required}}/{{available}}), and "error-text-too-short" (localize the minimum characters message). Locate these keys in the zh-CN JSON, replace the English/mistranslated values with concise Chinese equivalents that preserve placeholders (e.g., "{{count}} 剩余免费次数" / "{{count}} 字符剩余" / "最低需 {{count}} 字符") and keep interpolation tokens intact.apps/web/src/features/i18n/locales/ur-PK.json-106-108 (1)
106-108:⚠️ Potential issue | 🟡 MinorThese
ur-PKadditions are still English.The newly added/updated labels will surface English-only copy for users who selected Urdu, especially across the new AI assistant UI. Please provide Urdu translations here, or intentionally rely on the base-locale fallback instead of checking in mixed-language strings.
Also applies to: 452-454, 469-469, 1648-1650, 3280-3317
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ur-PK.json` around lines 106 - 108, The ur-PK locale contains English strings for keys like "pause", "start", "updated" (and other ranges mentioned) which will surface English for Urdu users; update each affected key in apps/web/src/features/i18n/locales/ur-PK.json to provide proper Urdu translations for those keys (e.g., replace "pause"/"start"/"updated" with their Urdu equivalents) or remove those keys so the app falls back to the base-locale, ensuring you update all referenced blocks (lines ~452-454, 469, 1648-1650, 3280-3317) and keep the JSON valid.apps/web/src/features/i18n/locales/pcm-NG.json-3286-3292 (1)
3286-3292:⚠️ Potential issue | 🟡 MinorMake the count-based copy singular-safe.
These strings read awkwardly for
count === 1("1 characters remaining","Minimum 1 characters required"). Use count-neutral wording or pluralized variants here.✏️ Suggested wording
- "free-remaining": "{{count}} free left today", - "chars-remaining": "{{count}} characters remaining", - "min-chars": "Minimum {{count}} characters required", + "free-remaining": "Free uses left today: {{count}}", + "chars-remaining": "Characters remaining: {{count}}", + "min-chars": "At least {{count}} characters required", ... - "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." + "error-text-too-short": "Your text is too short. At least {{count}} characters required."Also applies to: 3317-3317
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/pcm-NG.json` around lines 3286 - 3292, The count-based strings ("free-remaining", "chars-remaining", "min-chars") are not singular-safe; update these translation entries to use pluralization or count-neutral wording so they render correctly for count === 1 (e.g., supply plural ICU-style messages or separate one/other variants so "1 character remaining" and "Minimum 1 character required" are shown correctly). Locate and replace the values of the keys "free-remaining", "chars-remaining", and "min-chars" with plural-aware strings following your i18n system's plural syntax (or use neutral phrasing) so singular and plural counts display properly.apps/web/src/features/i18n/locales/de-DE.json-469-469 (1)
469-469:⚠️ Potential issue | 🟡 MinorTranslate
entry-tip.tipto German.Line 469 reintroduces the English noun
Tip, while the adjacent strings already useTipp/Tipps. That will show mixed-language UI in the German locale.💬 Suggested fix
"entry-tip": { "title": "Hinweis", - "tip": "Tip", + "tip": "Tipp", "send-tip": "Tipp senden",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/de-DE.json` at line 469, The German locale string entry "entry-tip.tip" is still English ("Tip"); update its value to the correct German noun "Tipp" so it matches adjacent keys ("Tipp"/"Tipps") and avoids mixed-language UI; locate the "entry-tip.tip" key in apps/web/src/features/i18n/locales/de-DE.json and replace "Tip" with "Tipp".apps/web/src/features/i18n/locales/de-DE.json-3294-3300 (1)
3294-3300:⚠️ Potential issue | 🟡 MinorFix the mistranslated and untranslated AI Assist actions.
Line 3294 currently reads as "Polish grammar..." instead of the verb "polish", and Lines 3299-3300 are still English. This leaves the new assistant flow partially misleading and partially untranslated for German users.
💬 Suggested translations
"action-improve": "Schreiben verbessern", - "action-improve-desc": "Polnische Grammatik, Klarheit und Stil", + "action-improve-desc": "Grammatik, Klarheit und Stil verbessern", "action-suggest_tags": "Tags vorschlagen", "action-generate_title": "Titel generieren", "action-generate_title-desc": "Erstelle überzeugende Titeloptionen", - "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "Zusammenfassen", + "action-summarize-desc": "Eine TL;DR-Zusammenfassung erstellen", "action-check_grammar": "Grammatik prüfen",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/de-DE.json` around lines 3294 - 3300, The German translation entries are incorrect or left in English: update "action-improve-desc" to use the verb form (e.g., "Grammatik, Klarheit und Stil verbessern"), translate "action-summarize" to "Zusammenfassen" and change "action-summarize-desc" to a German phrase such as "Erstelle eine kurze TL;DR-Zusammenfassung" (or "Erstelle eine kurze Zusammenfassung"); ensure the keys "action-improve-desc", "action-summarize", and "action-summarize-desc" are replaced with these corrected German strings.
🧹 Nitpick comments (1)
apps/web/src/features/i18n/locales/lt-LT.json (1)
106-108: Consider translating these common UI terms to Lithuanian.These new entries are in English while many similar short UI terms elsewhere in the
gsection are translated (e.g.,cancel: "Atšaukti",delete: "Ištrinti"). However, the section has mixed patterns, so this is optional.Possible translations:
pause: "Pauzė" or "Pristabdyti"start: "Pradėti"updated: "Atnaujinta"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/lt-LT.json` around lines 106 - 108, The entries "pause", "start", and "updated" in the i18n JSON are left in English; update their values to Lithuanian (e.g., "pause": "Pauzė" or "Pristabdyti", "start": "Pradėti", "updated": "Atnaujinta") so they match other short UI term translations in the g section; modify the values for the keys "pause", "start", and "updated" accordingly in the locales file.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5468aa89-9da0-4c93-8459-f5e12bae927a
📒 Files selected for processing (23)
apps/web/src/features/i18n/locales/ac-ace.jsonapps/web/src/features/i18n/locales/bg-BG.jsonapps/web/src/features/i18n/locales/de-DE.jsonapps/web/src/features/i18n/locales/es-ES.jsonapps/web/src/features/i18n/locales/fr-FR.jsonapps/web/src/features/i18n/locales/hi-IN.jsonapps/web/src/features/i18n/locales/id-ID.jsonapps/web/src/features/i18n/locales/it-IT.jsonapps/web/src/features/i18n/locales/ja-JP.jsonapps/web/src/features/i18n/locales/lt-LT.jsonapps/web/src/features/i18n/locales/nl-NL.jsonapps/web/src/features/i18n/locales/pcm-NG.jsonapps/web/src/features/i18n/locales/pl-PL.jsonapps/web/src/features/i18n/locales/pt-PT.jsonapps/web/src/features/i18n/locales/ru-RU.jsonapps/web/src/features/i18n/locales/sr-CS.jsonapps/web/src/features/i18n/locales/th-TH.jsonapps/web/src/features/i18n/locales/tr-TR.jsonapps/web/src/features/i18n/locales/uk-UA.jsonapps/web/src/features/i18n/locales/ur-PK.jsonapps/web/src/features/i18n/locales/uz-UZ.jsonapps/web/src/features/i18n/locales/yo-NG.jsonapps/web/src/features/i18n/locales/zh-CN.json
🚧 Files skipped from review as they are similar to previous changes (4)
- apps/web/src/features/i18n/locales/pt-PT.json
- apps/web/src/features/i18n/locales/uz-UZ.json
- apps/web/src/features/i18n/locales/ru-RU.json
- apps/web/src/features/i18n/locales/bg-BG.json
| "ai-assist": { | ||
| "title": "AI Writing Assistant", | ||
| "toolbar-button": "AI Assist", | ||
| "balance-label": "Balance", | ||
| "points-unit": "POINTS", | ||
| "free-label": "Free", | ||
| "free-remaining": "{{count}} free left today", | ||
| "cost-label": "Cost", | ||
| "action-label": "What would you like to do?", | ||
| "text-label": "Your content", | ||
| "text-placeholder": "Paste or type your draft content here...", | ||
| "chars-remaining": "{{count}} characters remaining", | ||
| "min-chars": "Minimum {{count}} characters required", | ||
| "action-improve": "Improve Writing", | ||
| "action-improve-desc": "Polish grammar, clarity, and style", | ||
| "action-suggest_tags": "Suggest Tags", | ||
| "action-suggest_tags-desc": "Get relevant tags for your post", | ||
| "action-generate_title": "Generate Title", | ||
| "action-generate_title-desc": "Create compelling title options", | ||
| "action-summarize": "Summarize", | ||
| "action-summarize-desc": "Create a TL;DR summary", | ||
| "action-check_grammar": "Check Grammar", | ||
| "action-check_grammar-desc": "Fix grammar and spelling", | ||
| "submit-button": "Run AI Assist", | ||
| "submitting": "Processing...", | ||
| "result-title": "Result", | ||
| "apply-button": "Apply to post", | ||
| "copy-button": "Copy", | ||
| "copied": "Copied!", | ||
| "try-again": "Try Again", | ||
| "try-another": "Try Another Action", | ||
| "success": "AI assist completed!", | ||
| "error-insufficient-points": "Insufficient points. You need {{required}} but have {{available}}.", | ||
| "error-content-policy": "Content violates policy. Points were not refunded.", | ||
| "error-rate-limit": "Too many requests. Please wait a moment and try again.", | ||
| "error-auth": "Authentication expired. Please refresh the page and try again.", | ||
| "error-generic": "AI assist failed. Please try again.", | ||
| "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." |
There was a problem hiding this comment.
Translate the new ai-assist surface before shipping this locale update.
This block is entirely English in ac-ace, so the whole AI assistant flow will appear untranslated for users who selected this locale. Since this is a brand-new feature surface, it will feel much more jarring than a couple of fallback labels. Please add Acehnese copy here, or omit the block until the locale is ready and let the app's fallback strategy handle it consistently.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/ac-ace.json` around lines 3280 - 3317, The
ai-assist translation block is still in English; either provide Acehnese
translations for the entire "ai-assist" key group (e.g., "ai-assist",
"toolbar-button", "balance-label", "free-remaining", "action-improve",
"action-suggest_tags", "action-generate_title", "action-summarize",
"action-check_grammar", "submit-button", "result-title", "error-*" and other
keys) or remove/temporarily omit the whole "ai-assist" object so the app falls
back to the default locale; update the JSON accordingly ensuring all keys remain
present or removed as a unit to avoid partial untranslated strings.
| "ai-assist": { | ||
| "title": "AI Writing Assistant", | ||
| "toolbar-button": "AI Assist", | ||
| "balance-label": "Balance", | ||
| "points-unit": "POINTS", | ||
| "free-label": "Free", | ||
| "free-remaining": "{{count}} free left today", | ||
| "cost-label": "Cost", | ||
| "action-label": "What would you like to do?", | ||
| "text-label": "Your content", | ||
| "text-placeholder": "Paste or type your draft content here...", | ||
| "chars-remaining": "{{count}} characters remaining", | ||
| "min-chars": "Minimum {{count}} characters required", | ||
| "action-improve": "Improve Writing", | ||
| "action-improve-desc": "Polish grammar, clarity, and style", | ||
| "action-suggest_tags": "Suggest Tags", | ||
| "action-suggest_tags-desc": "Get relevant tags for your post", | ||
| "action-generate_title": "Generate Title", | ||
| "action-generate_title-desc": "Create compelling title options", | ||
| "action-summarize": "Summarize", | ||
| "action-summarize-desc": "Create a TL;DR summary", | ||
| "action-check_grammar": "Check Grammar", | ||
| "action-check_grammar-desc": "Fix grammar and spelling", | ||
| "submit-button": "Run AI Assist", | ||
| "submitting": "Processing...", | ||
| "result-title": "Result", | ||
| "apply-button": "Apply to post", | ||
| "copy-button": "Copy", | ||
| "copied": "Copied!", | ||
| "try-again": "Try Again", | ||
| "try-another": "Try Another Action", | ||
| "success": "AI assist completed!", | ||
| "error-insufficient-points": "Insufficient points. You need {{required}} but have {{available}}.", | ||
| "error-content-policy": "Content violates policy. Points were not refunded.", | ||
| "error-rate-limit": "Too many requests. Please wait a moment and try again.", | ||
| "error-auth": "Authentication expired. Please refresh the page and try again.", | ||
| "error-generic": "AI assist failed. Please try again.", | ||
| "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." |
There was a problem hiding this comment.
Entire ai-assist block is untranslated.
The new ai-assist section contains 38 keys, all in English. This block should be fully translated to Serbian to maintain consistency with the rest of the locale file.
Would you like me to help generate Serbian translations for the ai-assist block, or open an issue to track this translation work?
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/sr-CS.json` around lines 3280 - 3317, The
entire "ai-assist" locale object (keys like "toolbar-button", "balance-label",
"free-remaining", "action-improve", "action-suggest_tags",
"action-generate_title", "action-summarize", "action-check_grammar",
"submit-button", "result-title", "error-insufficient-points",
"error-content-policy", "error-rate-limit", "error-auth", "error-generic",
"error-text-too-short", etc.) is still in English; replace each English string
with its accurate Serbian translation (preserve placeholders like {{count}},
{{required}}, {{available}} and punctuation/HTML exactly), keeping the same keys
and JSON structure so i18n lookups continue to work. Ensure translations match
the tone used elsewhere in the locale file (formal/informal as appropriate) and
validate the JSON afterward to avoid syntax errors.
| "ai-assist": { | ||
| "title": "AI Writing Assistant", | ||
| "toolbar-button": "AI Assist", | ||
| "balance-label": "Balance", | ||
| "points-unit": "POINTS", | ||
| "free-label": "Free", | ||
| "free-remaining": "{{count}} free left today", | ||
| "cost-label": "Cost", | ||
| "action-label": "What would you like to do?", | ||
| "text-label": "Your content", | ||
| "text-placeholder": "Paste or type your draft content here...", | ||
| "chars-remaining": "{{count}} characters remaining", | ||
| "min-chars": "Minimum {{count}} characters required", | ||
| "action-improve": "Improve Writing", | ||
| "action-improve-desc": "Polish grammar, clarity, and style", | ||
| "action-suggest_tags": "Suggest Tags", | ||
| "action-suggest_tags-desc": "Get relevant tags for your post", | ||
| "action-generate_title": "Generate Title", | ||
| "action-generate_title-desc": "Create compelling title options", | ||
| "action-summarize": "Summarize", | ||
| "action-summarize-desc": "Create a TL;DR summary", | ||
| "action-check_grammar": "Check Grammar", | ||
| "action-check_grammar-desc": "Fix grammar and spelling", | ||
| "submit-button": "Run AI Assist", | ||
| "submitting": "Processing...", | ||
| "result-title": "Result", | ||
| "apply-button": "Apply to post", | ||
| "copy-button": "Copy", | ||
| "copied": "Copied!", | ||
| "try-again": "Try Again", | ||
| "try-another": "Try Another Action", | ||
| "success": "AI assist completed!", | ||
| "error-insufficient-points": "Insufficient points. You need {{required}} but have {{available}}.", | ||
| "error-content-policy": "Content violates policy. Points were not refunded.", | ||
| "error-rate-limit": "Too many requests. Please wait a moment and try again.", | ||
| "error-auth": "Authentication expired. Please refresh the page and try again.", | ||
| "error-generic": "AI assist failed. Please try again.", | ||
| "error-text-too-short": "Your text is too short. Minimum {{count}} characters required." |
There was a problem hiding this comment.
Translate the new ai-assist surface before shipping.
This block is almost entirely copied in English, so the whole AI assistant flow will appear untranslated in tr-TR.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/tr-TR.json` around lines 3280 - 3317, The
ai-assist localization block is still in English; translate all keys under the
"ai-assist" object (e.g., "title", "toolbar-button", "balance-label",
"free-remaining", "action-improve", "action-summarize", "submit-button",
"error-*" and other keys shown) into Turkish so the AI assistant UI is fully
localized for tr-TR; keep placeholders like {{count}}, {{required}}, and
{{available}} intact and preserve punctuation and key names exactly.
Summary by CodeRabbit
New Features
Chores