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: 6
♻️ Duplicate comments (5)
apps/web/src/features/i18n/locales/uk-UA.json (2)
468-468:⚠️ Potential issue | 🟡 MinorLocalize
entry-tip.tipin Ukrainian locale.Line 468 still uses English (
"Tip"), which causes mixed-language UI inuk-UA.💬 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/uk-UA.json` at line 468, The Ukrainian locale JSON still has the English value for the entry-tip.tip key; update the uk-UA locale entry "tip" (under the entry-tip namespace) to the proper Ukrainian translation (e.g., "Порада" or "Підказка") so the UI shows a consistent Ukrainian string for entry-tip.tip.
1647-1647:⚠️ Potential issue | 🟡 MinorUse a short action label for
favorite-btn.add.Line 1647 reads like a description, not a button action, and is inconsistent with
added/delete.✏️ 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` at line 1647, The key favorite-btn.add currently contains a descriptive sentence; replace its value with a short action label (e.g., "Додати" or "Додати в уподобання") to match the concise style used by favorite-btn.added/favorite-btn.delete and ensure it reads like a button action; update the string for the "favorite-btn.add" entry accordingly.apps/web/src/features/i18n/locales/it-IT.json (2)
451-453:⚠️ Potential issue | 🟡 MinorNormalize
segnalibricapitalization in bookmark actions.Line 453 still uses
Segnalibri(capitalized), while Line 452 and Line 454 use lowercase, so the UI copy is inconsistent.Suggested fix
- "delete": "Rimuovi dai Segnalibri", + "delete": "Rimuovi dai segnalibri",🤖 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 451 - 453, The "delete" translation value uses inconsistent capitalization ("Rimuovi dai Segnalibri") compared to "add" and "added"; update the "delete" key's string to use lowercase "segnalibri" (e.g., "Rimuovi dai segnalibri") so it matches the other keys ("add", "added") and keeps UI copy consistent.
468-468:⚠️ Potential issue | 🟡 MinorLocalize
entry-tip.tipto Italian.Line 468 is still English (
"Tip"), which breaks locale consistency in this section.Suggested fix
- "tip": "Tip", + "tip": "Suggerimento",🤖 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` at line 468, The key entry-tip.tip in the Italian locale file is still English ("Tip"); update the value to the Italian translation (e.g., "Suggerimento" or "Consiglio") so the entry-tip.tip string in apps/web/src/features/i18n/locales/it-IT.json is fully localized.apps/web/src/features/i18n/locales/sr-CS.json (1)
453-453:⚠️ Potential issue | 🟡 MinorUse imperative wording for
deleteaction labels (still overlapping withdeleted).Line 453 and Line 1649 still read like completion states, which duplicates the meaning of
deletedand can make action labels incorrect in UI contexts.Suggested fix
"bookmark-btn": { "add": "Bookmark — get notified about new comments", "added": "Dodaj u obeleživače", - "delete": "Uklonjeno iz obeleživača", + "delete": "Ukloni iz obeleživača", "deleted": "Uklonjeno iz obeleživača" }, "favorite-btn": { "add": "Favorite — get notified about new posts", "added": "Dodato u omiljeno", - "delete": "Uklonjeno iz omiljeno", + "delete": "Ukloni iz omiljenog", "deleted": "Uklonjeno iz omiljeno" },Also applies to: 1649-1649
🤖 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 453, The "delete" action label is written as a completion state ("Uklonjeno iz obeleživača") and should use an imperative verb to represent an action; change the value for the JSON key "delete" (both occurrences) to an imperative Serbian form like "Ukloni iz obeleživača" or "Obriši iz obeleživača" so it differs from the "deleted" key and is correct for UI action labels; update every "delete" key in this locale file while leaving the "deleted" translation untouched.
🧹 Nitpick comments (2)
apps/web/src/features/i18n/locales/ur-PK.json (1)
106-107: Note: Updated strings are in English for this Urdu (ur-PK) locale.The new and updated translation values are in English rather than Urdu. This appears to be expected behavior for Crowdin-managed locale files where translations may be pending. Verify that Urdu translations will be provided in a follow-up Crowdin sync if localization coverage is a priority.
Also applies to: 451-453, 468-468, 1647-1649
🤖 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 - 107, The Urdu locale contains English strings for keys like "pause" and "updated" (and similar entries around the other mentioned ranges); replace these English strings with the correct Urdu translations (or a clear placeholder token such as "__TRANSLATION_PENDING__") for each key (e.g., "pause", "updated" and the other affected keys) so the locale file doesn’t ship English text, and add a short inline comment at the top of the JSON noting that final translations will be populated via Crowdin sync so reviewers know these are temporary placeholders.apps/web/src/features/i18n/locales/id-ID.json (1)
451-451: Consider localizing the new tooltip labels fully inid-ID.Line 451 and Line 1647 still use English tooltip text (
Bookmark — ...,Favorite — ...). This is acceptable as fallback, but translating them would avoid mixed-language UX in this locale.Also applies to: 1647-1647
🤖 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 451, Two tooltip values in the Indonesian locale are still in English; update the locale keys "add" and "favorite" in the id-ID.json file to fully translated Indonesian strings (e.g., replace "Bookmark — get notified about new comments" and "Favorite — get notified about new comments" with appropriate Indonesian equivalents) so the UI uses consistent localized tooltip text; keep the keys "add" and "favorite" unchanged and only replace the English message strings with the translated versions.
🤖 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/id-ID.json`:
- Line 107: Replace the English string for the key "updated" in the id-ID locale
with the proper Indonesian translation (e.g., "Diperbarui") so the g.updated
label is fully localized; edit the "updated" value in the id-ID JSON (the same
key added at line with "updated": "Updated") to the Indonesian text and ensure
the JSON stays valid (preserve quotes and comma placement).
In `@apps/web/src/features/i18n/locales/sr-CS.json`:
- Line 452: Change the "bookmark-btn.added" string from the imperative "Dodaj u
obeleživače" to a completed-state phrase (e.g., "Dodato u obeleživače") so it
represents the "added" state like "favorite-btn.added"; update the value for the
"added" key under bookmark-btn to "Dodato u obeleživače" to match state
semantics.
In `@apps/web/src/features/i18n/locales/uz-UZ.json`:
- Line 107: The "updated" translation key (g.updated) is still in English;
replace its value with the Uzbek translation (e.g., "Yangilangan") in the
locales JSON so the key "updated" maps to the Uzbek string and ensure the JSON
stays valid (quotes and trailing commas intact) after the change.
- Line 468: The "entry-tip.tip" locale entry currently has the English value
"Tip" in uz-UZ.json; replace that value with an appropriate Uzbek translation
(e.g., "Sovg'a" or another context-appropriate Uzbek term) so the "tip" key in
the "entry-tip" namespace is fully localized.
In `@apps/web/src/features/i18n/locales/yo-NG.json`:
- Line 468: Remove the unused locale key "tip" from the yo-NG JSON to match
other locales and avoid dead translation data: locate the "tip" entry under the
entry-tip namespace (entry-tip.tip) in the yo-NG locale file and delete that key
so only the referenced keys remain (entry-tip.title, entry-tip.count,
entry-tip.count_plural, entry-tip.send-tip).
In `@apps/web/src/features/i18n/locales/zh-CN.json`:
- Around line 467-471: Remove the unused locale key "entry-tip.tip" from all
locale JSON files: locate the entries under the "entry-tip" section (e.g., keys
entry-tip.title, entry-tip.count, entry-tip.count_plural, entry-tip.send-tip)
and delete the "tip" key since the entry-tip-btn component only references
entry-tip.count, entry-tip.count_plural, entry-tip.title, and
entry-tip.send-tip; ensure no other code references entry-tip.tip before
removing.
---
Duplicate comments:
In `@apps/web/src/features/i18n/locales/it-IT.json`:
- Around line 451-453: The "delete" translation value uses inconsistent
capitalization ("Rimuovi dai Segnalibri") compared to "add" and "added"; update
the "delete" key's string to use lowercase "segnalibri" (e.g., "Rimuovi dai
segnalibri") so it matches the other keys ("add", "added") and keeps UI copy
consistent.
- Line 468: The key entry-tip.tip in the Italian locale file is still English
("Tip"); update the value to the Italian translation (e.g., "Suggerimento" or
"Consiglio") so the entry-tip.tip string in
apps/web/src/features/i18n/locales/it-IT.json is fully localized.
In `@apps/web/src/features/i18n/locales/sr-CS.json`:
- Line 453: The "delete" action label is written as a completion state
("Uklonjeno iz obeleživača") and should use an imperative verb to represent an
action; change the value for the JSON key "delete" (both occurrences) to an
imperative Serbian form like "Ukloni iz obeleživača" or "Obriši iz obeleživača"
so it differs from the "deleted" key and is correct for UI action labels; update
every "delete" key in this locale file while leaving the "deleted" translation
untouched.
In `@apps/web/src/features/i18n/locales/uk-UA.json`:
- Line 468: The Ukrainian locale JSON still has the English value for the
entry-tip.tip key; update the uk-UA locale entry "tip" (under the entry-tip
namespace) to the proper Ukrainian translation (e.g., "Порада" or "Підказка") so
the UI shows a consistent Ukrainian string for entry-tip.tip.
- Line 1647: The key favorite-btn.add currently contains a descriptive sentence;
replace its value with a short action label (e.g., "Додати" or "Додати в
уподобання") to match the concise style used by
favorite-btn.added/favorite-btn.delete and ensure it reads like a button action;
update the string for the "favorite-btn.add" entry accordingly.
---
Nitpick comments:
In `@apps/web/src/features/i18n/locales/id-ID.json`:
- Line 451: Two tooltip values in the Indonesian locale are still in English;
update the locale keys "add" and "favorite" in the id-ID.json file to fully
translated Indonesian strings (e.g., replace "Bookmark — get notified about new
comments" and "Favorite — get notified about new comments" with appropriate
Indonesian equivalents) so the UI uses consistent localized tooltip text; keep
the keys "add" and "favorite" unchanged and only replace the English message
strings with the translated versions.
In `@apps/web/src/features/i18n/locales/ur-PK.json`:
- Around line 106-107: The Urdu locale contains English strings for keys like
"pause" and "updated" (and similar entries around the other mentioned ranges);
replace these English strings with the correct Urdu translations (or a clear
placeholder token such as "__TRANSLATION_PENDING__") for each key (e.g.,
"pause", "updated" and the other affected keys) so the locale file doesn’t ship
English text, and add a short inline comment at the top of the JSON noting that
final translations will be populated via Crowdin sync so reviewers know these
are temporary placeholders.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 03931878-8fdb-4166-a710-247279bbf7ff
📒 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 (13)
- apps/web/src/features/i18n/locales/tr-TR.json
- apps/web/src/features/i18n/locales/bg-BG.json
- apps/web/src/features/i18n/locales/pt-PT.json
- apps/web/src/features/i18n/locales/ja-JP.json
- apps/web/src/features/i18n/locales/fr-FR.json
- apps/web/src/features/i18n/locales/ac-ace.json
- apps/web/src/features/i18n/locales/de-DE.json
- apps/web/src/features/i18n/locales/es-ES.json
- apps/web/src/features/i18n/locales/pl-PL.json
- apps/web/src/features/i18n/locales/th-TH.json
- apps/web/src/features/i18n/locales/ru-RU.json
- apps/web/src/features/i18n/locales/hi-IN.json
- apps/web/src/features/i18n/locales/lt-LT.json
| "play": "Play", | ||
| "pause": "Pause" | ||
| "pause": "Pause", | ||
| "updated": "Updated" |
There was a problem hiding this comment.
Localize the new g.updated value for Indonesian.
Line 107 introduces "updated": "Updated" in English, which will show mixed-language UI for a global status label in id-ID.
💡 Suggested fix
- "updated": "Updated"
+ "updated": "Diperbarui"📝 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.
| "updated": "Updated" | |
| "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` at line 107, Replace the
English string for the key "updated" in the id-ID locale with the proper
Indonesian translation (e.g., "Diperbarui") so the g.updated label is fully
localized; edit the "updated" value in the id-ID JSON (the same key added at
line with "updated": "Updated") to the Indonesian text and ensure the JSON stays
valid (preserve quotes and comma placement).
| "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", | ||
| "added": "Dodaj u obeleživače", |
There was a problem hiding this comment.
added key should read as a completed state, not an action.
Line 452 (bookmark-btn.added) is currently imperative (“Dodaj...”), which conflicts with the added state semantics and with favorite-btn.added.
Suggested fix
- "added": "Dodaj u obeleživače",
+ "added": "Dodato u obeleživače",📝 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.
| "added": "Dodaj u obeleživače", | |
| "added": "Dodato 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` at line 452, Change the
"bookmark-btn.added" string from the imperative "Dodaj u obeleživače" to a
completed-state phrase (e.g., "Dodato u obeleživače") so it represents the
"added" state like "favorite-btn.added"; update the value for the "added" key
under bookmark-btn to "Dodato u obeleživače" to match state semantics.
| "play": "O‘ynash", | ||
| "pause": "To‘xtatib turish" | ||
| "pause": "To‘xtatib turish", | ||
| "updated": "Updated" |
There was a problem hiding this comment.
Missing Uzbek translation for g.updated.
The value "Updated" remains in English. For consistency with this locale file, it should be translated to Uzbek (e.g., "Yangilangan").
🤖 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` at line 107, The "updated"
translation key (g.updated) is still in English; replace its value with the
Uzbek translation (e.g., "Yangilangan") in the locales JSON so the key "updated"
maps to the Uzbek string and ensure the JSON stays valid (quotes and trailing
commas intact) after the change.
| }, | ||
| "entry-tip": { | ||
| "title": "Sovg'a", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
Missing Uzbek translation for entry-tip.tip.
The value "Tip" remains in English. Consider translating it to Uzbek for consistency (e.g., "Sovg'a" similar to the existing title key, or another appropriate Uzbek term).
🤖 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` at line 468, The
"entry-tip.tip" locale entry currently has the English value "Tip" in
uz-UZ.json; replace that value with an appropriate Uzbek translation (e.g.,
"Sovg'a" or another context-appropriate Uzbek term) so the "tip" key in the
"entry-tip" namespace is fully localized.
| }, | ||
| "entry-tip": { | ||
| "title": "Tip", | ||
| "tip": "Tip", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Search for usage of entry-tip.tip in web app sources
echo "=== Searching for entry-tip.tip usage ==="
rg -n 'entry-tip\.tip|entry-tip\.tip' apps/web/src --type tsx --type ts --type json -C2
echo ""
echo "=== Searching for i18next references to entry-tip.tip ==="
rg -n "entry-tip\.tip|'entry-tip\.tip'|\"entry-tip\.tip\"\`entry-tip\.tip" apps/web/src -C2
echo ""
echo "=== Check if entry-tip.tip exists in English locale ==="
rg -n "entry-tip" apps/web/src/features/i18n/locales/en.json | head -20Repository: ecency/vision-next
Length of output: 347
🏁 Script executed:
#!/bin/bash
# Find locale directory structure
echo "=== Locale directory structure ==="
find apps/web/src -type d -name "*locale*" -o -name "*i18n*" 2>/dev/null | head -20
echo ""
echo "=== List locale files ==="
ls -la apps/web/src/features/i18n/locales/ 2>/dev/null || find apps/web -name "*.json" -path "*locale*" -o -path "*i18n*" 2>/dev/null | head -20
echo ""
echo "=== Search for entry-tip.tip (unrestricted) ==="
rg -n 'entry-tip\.tip' apps/web/src 2>/dev/null || echo "No matches found"
echo ""
echo "=== Check yo-NG.json and list entry-tip keys ==="
rg -n '"entry-tip' apps/web/src/features/i18n/locales/yo-NG.json 2>/dev/null | head -30
echo ""
echo "=== Search for any component using entry-tip strings ==="
rg -n 'entry-tip\.' apps/web/src --max-count=30 2>/dev/nullRepository: ecency/vision-next
Length of output: 2548
🏁 Script executed:
#!/bin/bash
echo "=== entry-tip section in yo-NG.json ==="
rg -n -A 10 '"entry-tip"' apps/web/src/features/i18n/locales/yo-NG.json
echo ""
echo "=== Compare with en-US.json entry-tip section ==="
rg -n -A 10 '"entry-tip"' apps/web/src/features/i18n/locales/en-US.jsonRepository: ecency/vision-next
Length of output: 694
Remove unused entry-tip.tip locale key.
entry-tip.tip is not referenced anywhere in the codebase and does not exist in the English locale file (en-US.json). This creates inconsistency and dead locale data across translations.
Details
The key appears only in yo-NG.json at line 468:
"tip": "Tip",
Actual entry-tip component references are limited to: entry-tip.title, entry-tip.count, entry-tip.count_plural, and entry-tip.send-tip. Remove the unused "tip" entry.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@apps/web/src/features/i18n/locales/yo-NG.json` at line 468, Remove the unused
locale key "tip" from the yo-NG JSON to match other locales and avoid dead
translation data: locate the "tip" entry under the entry-tip namespace
(entry-tip.tip) in the yo-NG locale file and delete that key so only the
referenced keys remain (entry-tip.title, entry-tip.count,
entry-tip.count_plural, entry-tip.send-tip).
| "title": "礼物", | ||
| "tip": "Tip", | ||
| "send-tip": "发送提示", | ||
| "count": "{{count}} tip", | ||
| "count_plural": "{{count}} tips" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Search for any usage of the entry-tip.tip translation key across the codebase
# Search for direct references to "entry-tip.tip" in TypeScript/TSX files
echo "=== Direct references to 'entry-tip.tip' ==="
rg -n "entry-tip\.tip" --type=ts --type=tsx -g '!*.json'
# Search for t() or useTranslation calls using entry-tip keys
echo "=== entry-tip key references in component code ==="
rg -n 'entry-tip\.' --type=ts --type=tsx -g '!*.json' -B 2 -A 2
# Check for the entry-tip-btn component specifically
echo "=== Looking for entry-tip-btn component ==="
fd -e ts -e tsx | xargs grep -l "entry-tip-btn" | head -20Repository: ecency/vision-next
Length of output: 472
🏁 Script executed:
#!/bin/bash
# Read the entry-tip-btn component
echo "=== entry-tip-btn component ==="
cat apps/web/src/features/shared/entry-tip-btn/index.tsx
# Also search for entry-tip usage more broadly
echo -e "\n=== Search for entry-tip in all files ==="
rg "entry-tip" --type=js --type=jsx -i
# And check other locale files for entry-tip
echo -e "\n=== entry-tip keys in all locale files ==="
rg "entry-tip" apps/web/src/features/i18n/locales/Repository: ecency/vision-next
Length of output: 6044
Remove unused entry-tip.tip key from locale files.
The entry-tip.tip key is not referenced by the entry-tip-btn component. The component only uses entry-tip.count, entry-tip.count_plural, entry-tip.title, and entry-tip.send-tip. This key should be removed from all locale files.
🤖 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 467 - 471, Remove
the unused locale key "entry-tip.tip" from all locale JSON files: locate the
entries under the "entry-tip" section (e.g., keys entry-tip.title,
entry-tip.count, entry-tip.count_plural, entry-tip.send-tip) and delete the
"tip" key since the entry-tip-btn component only references entry-tip.count,
entry-tip.count_plural, entry-tip.title, and entry-tip.send-tip; ensure no other
code references entry-tip.tip before removing.
There was a problem hiding this comment.
Actionable comments posted: 7
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
♻️ Duplicate comments (4)
apps/web/src/features/i18n/locales/bg-BG.json (1)
468-468:⚠️ Potential issue | 🟡 Minor
entry-tip.tipis still untranslated.Line 468 still uses the English value
Tipin the Bulgarian 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/bg-BG.json` at line 468, The Bulgarian locale key "entry-tip.tip" still has the English value "Tip"; update the value to the proper Bulgarian translation (e.g., "Съвет" or "Подсказка") in apps/web/src/features/i18n/locales/bg-BG.json by replacing "Tip" with the chosen Bulgarian string, keeping the JSON formatting and trailing comma intact.apps/web/src/features/i18n/locales/sr-CS.json (2)
1647-1649:⚠️ Potential issue | 🟡 MinorMultiple localization issues in
favorite-btn.
- Line 1647: The
addkey is in English and should be translated to Serbian.- Line 1649: The
deletekey uses past tense "Uklonjeno" (Removed) instead of imperative "Ukloni" (Remove). Also, "iz omiljeno" has a grammatical error—it should be "iz omiljenih" (genitive plural).The
deleteissue was already flagged in a previous review.Suggested fixes
"favorite-btn": { - "add": "Favorite — get notified about new posts", + "add": "Omiljeno — dobijajte obaveštenja o novim objavama", "added": "Dodato u omiljeno", - "delete": "Uklonjeno iz omiljeno", - "deleted": "Uklonjeno iz omiljeno" + "delete": "Ukloni iz omiljenih", + "deleted": "Uklonjeno iz omiljenih" },🤖 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 1647 - 1649, The localization keys for the favorite button need correction: translate the "add" key from English to Serbian (use an appropriate phrase like "Dodaj u omiljene — budi obavešten o novim objavama"), keep "added" as "Dodato u omiljeno" only if that phrasing is intended (otherwise consider "Dodato u omiljene"), and change the "delete" key from "Uklonjeno iz omiljeno" to the imperative and correct grammar "Ukloni iz omiljenih"; update the values for keys "add" and "delete" accordingly in the favorite-btn locale entries.
451-453:⚠️ Potential issue | 🟡 MinorMultiple localization issues in
bookmark-btn.
- Line 451: The
addkey is in English and should be translated to Serbian.- Line 452: The
addedkey uses imperative "Dodaj" (Add) instead of a completed-state phrase like "Dodato u obeleživače" (Added to bookmarks).- Line 453: The
deletekey uses past tense "Uklonjeno" (Removed) instead of imperative "Ukloni" (Remove) for an action button.Issues 2 and 3 were already flagged in previous reviews.
Suggested fixes
"bookmark-btn": { - "add": "Bookmark — get notified about new comments", - "added": "Dodaj u obeleživače", - "delete": "Uklonjeno iz obeleživača", + "add": "Obeleživač — dobijajte obaveštenja o novim komentarima", + "added": "Dodato u obeleživače", + "delete": "Ukloni iz obeleživača", "deleted": "Uklonjeno iz obeleživača" },🤖 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 451 - 453, Update the three i18n values for the bookmark button: replace the "add" English string with a Serbian translation (e.g., "Dodaj u obeleživače — obavesti me o novim komentarima"), change "added" to the completed-state phrase "Dodato u obeleživače", and change "delete" to the imperative action "Ukloni iz obeleživača" so the keys "add", "added", and "delete" reflect correct Serbian wording and grammatical tense.apps/web/src/features/i18n/locales/uz-UZ.json (1)
107-107:⚠️ Potential issue | 🟡 MinorLocalize the newly added
updatedandtiplabels.Line 107 and Line 468 are still English, so these new Uzbek locale keys will render mixed-language UI. Please translate both before merging.
Also applies to: 468-468
🤖 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` at line 107, The uz-UZ locale file contains English values for the keys "updated" and "tip"; replace the English strings for these keys with proper Uzbek translations (e.g., translate "Updated" and "Tip" into Uzbek) in the uz-UZ JSON so the UI is fully localized, then run the i18n validation/linter (or unit tests) to ensure the JSON remains valid and keys match other locales.
🟡 Minor comments (24)
apps/web/src/features/i18n/locales/pl-PL.json-3279-3316 (1)
3279-3316:⚠️ Potential issue | 🟡 MinorMultiple untranslated English strings and one incorrect translation in the ai-assist block.
Several strings in this new block remain in English instead of Polish:
Line Key Current Value Suggested Polish 3285 free-remaining"{{count}} free left today" "{{count}} darmowych pozostało dziś" 3290 chars-remaining"{{count}} characters remaining" "Pozostało {{count}} znaków" 3291 min-chars"Minimum {{count}} characters required" "Wymagane minimum {{count}} znaków" 3298 action-summarize"Summarize" "Podsumuj" 3299 action-summarize-desc"Create a TL;DR summary" "Utwórz krótkie podsumowanie" 3316 error-text-too-short"Your text is too short..." "Twój tekst jest za krótki..." Additionally, line 3293 contains an incorrect translation:
- Current:
"Polskie gramy, jasność i styl"(translates to "Polish grams, clarity and style")- Should be:
"Popraw gramatykę, jasność i styl"(Improve grammar, clarity and style)🤖 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 3279 - 3316, The ai-assist locale block contains multiple untranslated English strings and one wrong Polish phrase; update the values for keys free-remaining, chars-remaining, min-chars, action-summarize, action-summarize-desc, and error-text-too-short to the provided Polish translations, and correct action-improve-desc from "Polskie gramy, jasność i styl" to "Popraw gramatykę, jasność i styl"; ensure you edit the entries with the exact keys (free-remaining, chars-remaining, min-chars, action-summarize, action-summarize-desc, error-text-too-short, action-improve-desc) so the JSON remains valid and translations match the suggested text.apps/web/src/features/i18n/locales/pl-PL.json-468-468 (1)
468-468:⚠️ Potential issue | 🟡 MinorUntranslated string: "Tip" should be localized to Polish.
The value remains in English while the adjacent
titlekey on line 467 uses the Polish translation "Napiwek". Consider using "Napiwek" here as well for consistency within this locale file.🤖 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` at line 468, The "tip" translation value is still in English; update the JSON entry for the "tip" key in the Polish locale (pl-PL.json) to the Polish translation used nearby ("Napiwek") so it matches the adjacent "title" key and keeps the locale consistent.apps/web/src/features/i18n/locales/ur-PK.json-106-107 (1)
106-107:⚠️ Potential issue | 🟡 MinorThese
ur-PKadditions are still English.Line 3279 adds an entire AI assistant surface, and the smaller updates on Lines 106-107, 451-453, 468, and 1647-1649 are also English strings inside the Urdu locale file. That will show mixed-language UI to
ur-PKusers, which is especially noticeable for the new AI flow. Please replace these values with Urdu translations before merging.Also applies to: 451-453, 468-468, 1647-1649, 3279-3316
🤖 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 - 107, The Urdu locale file contains English text for several keys which must be translated: replace the English values for keys such as "pause" and "updated" (and the other noted entries around lines referenced, including the AI assistant block and keys at 451-453, 468, 1647-1649, 3279-3316) with proper Urdu strings; update each JSON value in apps/web/src/features/i18n/locales/ur-PK.json so the value for "pause" and "updated" and every English string in the AI assistant section are translated into Urdu, preserving the existing key names and JSON structure and ensuring no trailing commas or syntax changes are introduced.apps/web/src/features/i18n/locales/hi-IN.json-3279-3316 (1)
3279-3316:⚠️ Potential issue | 🟡 MinorEntire
ai-assistblock is in English — needs Hindi translation.The newly added
ai-assistblock contains approximately 38 keys, all with English values. For the Hindi (hi-IN) locale, these should be translated to maintain UI consistency. Key examples:
Key Current (English) Suggested (Hindi) title"AI Writing Assistant" "AI लेखन सहायक" balance-label"Balance" "शेष राशि" free-label"Free" "मुफ़्त" action-improve"Improve Writing" "लेखन सुधारें" submit-button"Run AI Assist" "AI सहायता चलाएं" success"AI assist completed!" "AI सहायता पूर्ण!" This affects user experience for Hindi-speaking users who will see mixed-language UI elements.
🤖 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 3279 - 3316, The ai-assist localization block in the hi-IN locale currently contains English strings and must be translated to Hindi; update all keys inside the "ai-assist" object (examples: "title", "balance-label", "free-label", "action-improve", "submit-button", "success", and all other keys present) with appropriate Hindi translations (e.g., "AI लेखन सहायक", "शेष राशि", "मुफ़्त", "लेखन सुधारें", "AI सहायता चलाएं", "AI सहायता पूर्ण!"), ensuring placeholders like {{count}}, {{required}}, and {{available}} remain unchanged and punctuation/spacing match existing locale conventions.apps/web/src/features/i18n/locales/hi-IN.json-107-107 (1)
107-107:⚠️ Potential issue | 🟡 MinorTranslate
g.updatedto Hindi.The value
"Updated"is in English, which creates inconsistency in the Hindi locale. Surrounding keys like"pause"are properly localized.Suggested fix
- "updated": "Updated" + "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` at line 107, The Hindi locale currently has the key "g.updated" set to the English string "Updated"; update the value of "g.updated" in apps/web/src/features/i18n/locales/hi-IN.json to an appropriate Hindi translation (e.g., "अद्यतनित" or "अपडेट किया गया") so it matches surrounding localized entries and maintains consistency for the g.updated key.apps/web/src/features/i18n/locales/zh-CN.json-3279-3316 (1)
3279-3316:⚠️ Potential issue | 🟡 MinorLocalize untranslated English strings in zh-CN locale.
Several strings in the new
ai-assistblock contain English text instead of Chinese translations:
Line Key Current Value 3285 free-remaining"{{count}} free left today"3290 chars-remaining"{{count}} characters remaining"3291 min-chars"Minimum {{count}} characters required"3298 action-summarize"Summarize"3299 action-summarize-desc"Create a TL;DR summary"3311 error-insufficient-points"Insufficient points..."3316 error-text-too-short"Your text is too short..."These should be translated to Chinese for consistency with the rest of the zh-CN locale file.
🤖 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 3279 - 3316, Several values in the ai-assist block are still in English; replace the English strings for the keys free-remaining, chars-remaining, min-chars, action-summarize, action-summarize-desc, error-insufficient-points, and error-text-too-short with Chinese translations (e.g. free-remaining -> "今天还剩 {{count}} 次免费使用", chars-remaining -> "还剩 {{count}} 字符", min-chars -> "最少需要 {{count}} 个字符", action-summarize -> "总结", action-summarize-desc -> "创建摘要(要点概览)", error-insufficient-points -> "点数不足。需要 {{required}},但只有 {{available}}。", error-text-too-short -> "文本太短。最少需要 {{count}} 个字符。"); update those values in the ai-assist JSON object so the zh-CN locale is fully localized.apps/web/src/features/i18n/locales/nl-NL.json-3298-3299 (1)
3298-3299:⚠️ Potential issue | 🟡 MinorUntranslated English strings in Dutch locale.
These two entries contain English text instead of Dutch translations, which is inconsistent with the rest of the file.
📝 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 3298 - 3299, The Dutch locale contains two keys with English values: "action-summarize" and "action-summarize-desc"; update their string values to proper Dutch translations (e.g., "action-summarize": "Samenvatten" and "action-summarize-desc": "Maak een TL;DR-samenvatting" or another accurate Dutch phrasing) so the entries match the rest of the nl-NL.json translations and preserve JSON formatting and quotes.apps/web/src/features/i18n/locales/nl-NL.json-3293-3293 (1)
3293-3293:⚠️ Potential issue | 🟡 MinorMistranslation: "Poolse" should be a verb, not a nationality.
"Poolse" means "Polish" (the nationality/language). The intended meaning is "polish" as in "refine/improve". Consider using "Verbeter" or "Polijst" instead.
📝 Suggested fix
- "action-improve-desc": "Poolse grammatica, helderheid en stijl", + "action-improve-desc": "Verbeter 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 3293, The translation for the key "action-improve-desc" incorrectly uses "Poolse" (Polish) as a nationality; change it to a verb that conveys "polish/refine" (e.g., "Verbeter" or "Polijst") so the string reads like an imperative: update the value of "action-improve-desc" in nl-NL.json from "Poolse grammatica, helderheid en stijl" to a verb-based phrase such as "Verbeter grammatica, helderheid en stijl" (or "Polijst grammatica, helderheid en stijl") to correct the mistranslation.apps/web/src/features/i18n/locales/lt-LT.json-107-107 (1)
107-107:⚠️ Potential issue | 🟡 MinorLocalize the newly added Lithuanian strings.
These entries are still English in
lt-LT.json, so Lithuanian users will get mixed-language labels/tooltips in the updated UI.Also applies to: 451-451, 468-468, 1647-1647
🤖 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 107, The Lithuanian locale file contains English strings (e.g., the "updated" key and other entries noted around the file) that need proper Lithuanian translations; update the values for "updated" and the other flagged keys (the entries reported at the other locations) to their Lithuanian equivalents so the lt-LT.json file contains all localized strings instead of English, ensuring the keys remain unchanged and only the string values are replaced with correct Lithuanian text.apps/web/src/features/i18n/locales/bg-BG.json-451-451 (1)
451-451:⚠️ Potential issue | 🟡 MinorLocalize the new bookmark/favorite CTA copy.
The new
addlabels are still English, so Bulgarian users will see mixed-language tooltips in both flows.Also applies to: 1647-1647
🤖 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 451, The "add" localization key in the Bulgarian locale (key: "add") is still in English; update the value for the "add" key in apps/web/src/features/i18n/locales/bg-BG.json (and the other occurrence at the same key) to the proper Bulgarian translation of the CTA "Bookmark — get notified about new comments" so the tooltip/CTA is fully localized for Bulgarian users.apps/web/src/features/i18n/locales/bg-BG.json-106-107 (1)
106-107:⚠️ Potential issue | 🟡 MinorTranslate the new shared
glabels.Lines 106-107 add generic UI strings in English. Since
gis reused across the app, this will leak mixed-language buttons/status text into multiple Bulgarian screens.🤖 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` around lines 106 - 107, The English strings for shared UI labels "pause" and "updated" were added to bg-BG.json and must be translated to Bulgarian; replace the values for the keys "pause" and "updated" in the bg-BG.json locale with their Bulgarian equivalents (e.g., "pause" -> "Пауза", "updated" -> "Актуализирано") so the shared "g" labels do not leak English into Bulgarian screens.apps/web/src/features/i18n/locales/it-IT.json-3279-3317 (1)
3279-3317:⚠️ Potential issue | 🟡 MinorSeveral strings in
ai-assistblock are not localized to Italian.The following keys contain English text instead of Italian translations:
Line Key Current Value Suggested Italian 3281 toolbar-button"Assist AI""Assistenza AI"3298 action-summarize"Summarize""Riassumi"3299 action-summarize-desc"Create a TL;DR summary""Crea un riassunto breve"3316 error-text-too-short"Your text is too short..."Italian equivalent Additionally, line 3280 uses
"Ia"(mixed case) for the AI acronym—consider"IA"for consistency with standard Italian acronym capitalization.Suggested fix for untranslated strings
"ai-assist": { - "title": "Assistente Di Scrittura Ia", - "toolbar-button": "Assist AI", + "title": "Assistente Di Scrittura IA", + "toolbar-button": "Assistenza IA", "balance-label": "Saldo", ... - "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 tuo testo è troppo breve. 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 3279 - 3317, The ai-assist localization contains untranslated English strings and inconsistent casing for the AI acronym; update the keys "title" (change "Assistente Di Scrittura Ia" -> "Assistente di Scrittura IA"), "toolbar-button" (change "Assist AI" -> "Assistenza AI"), "action-summarize" (change "Summarize" -> "Riassumi"), "action-summarize-desc" (change "Create a TL;DR summary" -> "Crea un riassunto breve"), and "error-text-too-short" (change the English message to Italian, e.g. "Il testo è troppo corto. Sono richiesti almeno {{count}} caratteri.") to ensure all strings in the ai-assist block are fully localized and acronym casing is consistent.apps/web/src/features/i18n/locales/ru-RU.json-3293-3293 (1)
3293-3293:⚠️ Potential issue | 🟡 MinorMistranslation: "Польская" means "Polish" (nationality), not "polish" (verb).
The English phrase "Polish grammar, clarity and style" uses "polish" as a verb (to improve/refine), but "Польская" in Russian means "Polish" as in the nationality/language. This creates a nonsensical translation.
Suggested fix
- "action-improve-desc": "Польская грамматика, ясность и стиль", + "action-improve-desc": "Улучшить грамматику, ясность и стиль",Alternative: "Отшлифовать грамматику, ясность и стиль"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/ru-RU.json` at line 3293, The translation for the key "action-improve-desc" incorrectly uses "Польская" (Polish nationality) instead of the verb "polish"; update the value for "action-improve-desc" in apps/web/src/features/i18n/locales/ru-RU.json to a correct Russian verb phrase such as "Отшлифовать грамматику, ясность и стиль" (or "Улучшить грамматику, ясность и стиль") so it conveys "polish/improve grammar, clarity and style."apps/web/src/features/i18n/locales/ru-RU.json-3298-3299 (1)
3298-3299:⚠️ Potential issue | 🟡 MinorUntranslated English values in Russian locale.
Both
action-summarizeandaction-summarize-desccontain English text which will cause mixed-language UI for Russian users.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/ru-RU.json` around lines 3298 - 3299, The Russian locale contains English strings for the keys "action-summarize" and "action-summarize-desc"; update these values to proper Russian translations (e.g., "Краткое содержание" or similar for "action-summarize" and a short Russian description for "action-summarize-desc"), replacing the English text while preserving the JSON key names and string encoding so the UI shows fully localized Russian text.apps/web/src/features/i18n/locales/sr-CS.json-3279-3317 (1)
3279-3317:⚠️ Potential issue | 🟡 MinorEntire
ai-assistblock is untranslated.This new block contains 38 keys all in English. For the Serbian locale file, these strings should be translated to Serbian to maintain consistency with the rest of the file and provide a proper localized experience.
Given the coordinated addition of
ai-assistacross multiple locales noted in the summary, this may be intentional placeholder text pending translation. Consider adding a TODO comment or tracking this for future 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 3279 - 3317, The ai-assist translation block is still in English—update the "ai-assist" JSON object keys (e.g., "title", "toolbar-button", "balance-label", "free-remaining", "action-improve", "action-summarize", "submit-button", "error-insufficient-points", "error-text-too-short", etc.) in the sr-CS.json file to Serbian equivalents to match the locale; translate all 38 values consistently (or mark them with a clear TODO/comment for translators if intentional), ensuring placeholders like {{count}}, {{required}}, and {{available}} remain unchanged and the JSON structure and quotations are preserved.apps/web/src/features/i18n/locales/sr-CS.json-106-107 (1)
106-107:⚠️ Potential issue | 🟡 MinorUntranslated strings in Serbian locale.
The
pauseandupdatedkeys are in English. For consistency with the rest of this locale file, these should be translated to Serbian (e.g., "Pauza" and "Ažurirano").Suggested Serbian translations
- "pause": "Pause", - "updated": "Updated" + "pause": "Pauza", + "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 - 107, Replace the English values for the "pause" and "updated" keys in the sr-CS.json locale file with Serbian translations; locate the entries for "pause" and "updated" and update their values to the correct Serbian strings (e.g., "Pauza" for pause and "Ažurirano" for updated) so the locale remains consistent.apps/web/src/features/i18n/locales/sr-CS.json-468-468 (1)
468-468:⚠️ Potential issue | 🟡 MinorRemove the unused
entry-tip.tiptranslation key.The
entry-tip.tipkey is not referenced anywhere in the codebase. Theentry-tip-btncomponent references onlyentry-tip.title,entry-tip.send-tip,entry-tip.count, andentry-tip.count_plural.🤖 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 468, Remove the unused translation key "entry-tip.tip" from the sr-CS.json locale file; locate the key in the JSON (it appears alongside other entry-tip.* keys) and delete that single entry so only the keys referenced by the entry-tip-btn component remain ("entry-tip.title", "entry-tip.send-tip", "entry-tip.count", "entry-tip.count_plural").apps/web/src/features/i18n/locales/ja-JP.json-3298-3299 (1)
3298-3299:⚠️ Potential issue | 🟡 MinorUntranslated strings: "Summarize" and "Create a TL;DR summary".
These strings are in English while other action items in the same block are translated to Japanese. Consider translating for consistency:
- "action-summarize": "Summarize", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize": "要約する", + "action-summarize-desc": "TL;DR(要約)を作成",🤖 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 3298 - 3299, The JSON keys "action-summarize" and "action-summarize-desc" are still in English; update their values to Japanese to match the surrounding translations (replace "Summarize" and "Create a TL;DR summary" with appropriate Japanese equivalents), ensuring the keys remain unchanged and the translated strings follow the project's wording style and punctuation conventions used for other action items.apps/web/src/features/i18n/locales/id-ID.json-106-106 (1)
106-106:⚠️ Potential issue | 🟡 MinorLocalize
g.pausevalue for Indonesian.The value
"Pause"is English. For consistency with other Indonesian translations in this file, consider using the Indonesian translation.💡 Suggested fix
- "pause": "Pause", + "pause": "Jeda",🤖 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 106, The g.pause entry currently uses English ("Pause"); update the id-ID locale by replacing the value for the "pause" key with the Indonesian translation (e.g., "Jeda") in the id-ID JSON so it matches other localized strings; ensure you preserve JSON syntax (quotes and trailing comma) for the "pause" key.apps/web/src/features/i18n/locales/id-ID.json-1647-1647 (1)
1647-1647:⚠️ Potential issue | 🟡 MinorLocalize
favorite-btn.addvalue for Indonesian.The value
"Favorite — get notified about new posts"is in English while other values in this namespace are properly translated to Indonesian.💡 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 1647, The key favorite-btn.add currently contains an English string; replace it with an Indonesian translation (e.g., "Favorit — dapatkan pemberitahuan tentang postingan baru" or "Tambahkan ke Favorit — dapatkan pemberitahuan tentang postingan baru") to match the locale; update the value for "favorite-btn.add" in the JSON while preserving surrounding formatting and escaping.apps/web/src/features/i18n/locales/id-ID.json-451-451 (1)
451-451:⚠️ Potential issue | 🟡 MinorLocalize
bookmark-btn.addvalue for Indonesian.The value
"Bookmark — get notified about new comments"is in English while other values in this namespace (added,delete,deleted) are properly translated to Indonesian.💡 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 451, Replace the English value for the localization key "bookmark-btn.add" with an Indonesian translation to match the other keys in that namespace (e.g., use a concise Indonesian phrase conveying “add bookmark and get notified about new comments” such as "Tambahkan bookmark — dapatkan pemberitahuan tentang komentar baru"); update the value for the "bookmark-btn.add" entry in id-ID.json accordingly so it aligns with the existing translated keys like "added", "delete", and "deleted".apps/web/src/features/i18n/locales/uz-UZ.json-451-453 (1)
451-453:⚠️ Potential issue | 🟡 MinorTranslate the new bookmark/favorite tooltip copy.
Line 451 and Line 1647 are still English while the paired status strings in both sections are Uzbek. That leaves these controls partially untranslated in
uz-UZ.Also applies to: 1647-1649
🤖 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 451 - 453, The "add" tooltip string in uz-UZ.json is still English ("Bookmark — get notified about new comments"); update the "add" key (both occurrences) to the Uzbek translation and keep consistency with the paired status keys ("added", "delete"); replace the English text with something like "Belgilang — yangi izohlardan xabardor bo'ling" in both places so the tooltip is fully translated and matches the existing "added" / "delete" strings.apps/web/src/features/i18n/locales/es-ES.json-3290-3299 (1)
3290-3299:⚠️ Potential issue | 🟡 MinorFinish localizing the new
ai-assistcopy.This block still ships English strings (
characters remaining,Summarize,Create a TL;DR summary) andaction-improve-descmistranslates “Polish” as the nationality. That leaves the es-ES experience partially untranslated.💬 Suggested copy fixes
- "chars-remaining": "{{count}} characters remaining", + "chars-remaining": "{{count}} caracteres restantes", - "action-improve-desc": "Gramática polaca, claridad y estilo", + "action-improve-desc": "Mejora la gramática, la claridad y el estilo", - "action-summarize": "Summarize", + "action-summarize": "Resumir", - "action-summarize-desc": "Create a TL;DR summary", + "action-summarize-desc": "Crear un resumen TL;DR",🤖 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 3290 - 3299, Update the untranslated and incorrect Spanish strings in the ai-assist block: replace "chars-remaining" value with a Spanish sentence keeping the {{count}} placeholder (e.g., "{{count}} caracteres restantes"), correct "action-improve-desc" to use “pulir”/“mejorar” instead of the nationality (e.g., "Pulir gramática, claridad y estilo"), and translate "action-summarize" and "action-summarize-desc" into Spanish (e.g., "Resumir" and "Crear un resumen breve (TL;DR)") so all keys "chars-remaining", "action-improve-desc", "action-summarize", and "action-summarize-desc" are fully localized.apps/web/src/features/i18n/locales/fr-FR.json-1647-1649 (1)
1647-1649:⚠️ Potential issue | 🟡 MinorKeep the favorite success toast explicit about notifications.
favorite-btn.addedis the toast fired after enabling author notifications inapps/web/src/features/shared/favorite-btn/index.tsx:33-44. Reducing it to"Ajouté aux favoris"hides the side effect that the user will now be notified about new posts.💬 Suggested wording
- "add": "Favoris — être informé des nouveaux messages", - "added": "Ajouté aux favoris", + "add": "Favoris — être informé des nouvelles publications", + "added": "Ajouté aux favoris — vous serez informé des nouvelles publications",🤖 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 1647 - 1649, Update the fr-FR translation for the "added" key in locales/fr-FR.json so the success toast from favorite-btn (the favorite-btn.added message used in apps/web/src/features/shared/favorite-btn/index.tsx) explicitly mentions notifications/being notified about new posts instead of the shortened "Ajouté aux favoris"; keep the message concise but make the notification side-effect clear (e.g., include phrasing equivalent to "— vous serez informé des nouveaux messages").
🧹 Nitpick comments (2)
apps/web/src/features/i18n/locales/th-TH.json (1)
106-107: New keyg.updatedadded with English placeholder.The value
"Updated"is in English rather than Thai. This is acceptable as a Crowdin placeholder, but ensure Thai translations are provided in a follow-up sync. The same applies to the existing untranslated strings in this file.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@apps/web/src/features/i18n/locales/th-TH.json` around lines 106 - 107, The new localization key "g.updated" currently has an English placeholder ("Updated") in th-TH JSON; replace its value with the proper Thai translation (for example "อัปเดตแล้ว") in apps/web/src/features/i18n/locales/th-TH.json under the "g.updated" key, and scan the same file for any other English placeholders to either provide Thai translations or mark them for a Crowdin sync so a follow-up translation pass can supply localized strings.apps/web/src/features/i18n/locales/fr-FR.json (1)
468-468: Remove or translate the newentry-tip.tipkey.In the provided context,
apps/web/src/features/shared/entry-tip-btn/index.tsx:44-47still readsentry-tip.title,entry-tip.count, andentry-tip.count_plural, so Line 468 adds an extra English-only key without a matching consumer here. Either wire it up in the same PR or drop it until needed.🤖 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 468, The fr-FR locale contains a new English-only key "tip" under entry-tip that is unused by the consumer; either remove that "tip" key from apps/web/src/features/i18n/locales/fr-FR.json or provide a proper French translation for "entry-tip.tip" (e.g., "Astuce") and ensure consistency with the consumer at apps/web/src/features/shared/entry-tip-btn/index.tsx which currently references "entry-tip.title", "entry-tip.count", and "entry-tip.count_plural"; update the locale file so keys match the consumer or remove the extraneous key until you wire it up.
🤖 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`:
- Around line 3279-3316: The ai-assist locale object is entirely in English;
translate all strings 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-*
keys like action-improve, action-improve-desc, action-suggest_tags,
action-generate_title, action-summarize, action-check_grammar and their -desc
variants, submit-button, submitting, result-title, apply-button, copy-button,
copied, try-again, try-another, success, and all error-* keys) into Bulgarian so
the bg-BG locale is fully localized; update each value in the "ai-assist" JSON
to the correct Bulgarian translations while preserving interpolation tokens like
{{count}}, {{required}}, and {{available}} and the exact key names.
In `@apps/web/src/features/i18n/locales/fr-FR.json`:
- Around line 451-453: The French translations in fr-FR.json use "Marque-page"
and "favoris" which collides with the existing "Signets" terminology and makes
bookmark actions ambiguous; update the keys "add", "added", and "delete" to use
the same bookmark wording used elsewhere (e.g., "Signet"/"Signets") and keep
"Favoris" reserved for favorites so the bookmark flow (see bookmark-btn.added
used in apps/web/src/features/shared/bookmark-btn/index.tsx) remains distinct —
for example change "add" to a phrase like "Ajouter aux signets", "added" to
"Ajouté aux signets", and "delete" to "Retirer des signets" (or equivalent
consistent "Signet"/"Signets" forms) so translations are consistent across the
locale.
- Around line 3279-3316: The ai-assist locale contains several English or
incorrect translations; update the following keys: replace "free-remaining" with
a French string like "{{count}} gratuit(s) restant(s) aujourd'hui", change
"chars-remaining" to "{{count}} caractères restants" and "min-chars" to "Minimum
{{count}} caractères requis", fix "action-improve-desc" from "grammaire, clarté
et style polonais" to "grammaire, clarté et style soigné", translate
"action-summarize" to "Résumer" and "action-summarize-desc" to "Créer un résumé
TL;DR" (or equivalent French), change "copy-button" from "Copie" to "Copier" if
desired, and translate "error-text-too-short" to French like "Votre texte est
trop court. Minimum {{count}} caractères requis"; update each key value in the
ai-assist block accordingly.
In `@apps/web/src/features/i18n/locales/id-ID.json`:
- Around line 3279-3316: The base locale en-US.json is missing the entire
"ai-assist" namespace that exists in id-ID.json (keys like "ai-assist",
"action-improve", "action-suggest_tags", "error-insufficient-points",
"error-text-too-short", etc.), causing a schema mismatch; fix this by either (A)
adding the full "ai-assist" block to en-US.json (populate with English strings
and preserve placeholders like {{count}}, {{required}}, {{available}} exactly)
so the base defines the keys before translations, or (B) if the feature was
added accidentally and no code uses it, remove the "ai-assist" block from
non-English locale files (e.g., id-ID.json) to match the current base; ensure
whichever option you choose keeps key names and interpolation tokens identical
across locales.
In `@apps/web/src/features/i18n/locales/ja-JP.json`:
- Around line 3293-3294: The translation for the key "action-improve-desc"
incorrectly renders "Polish" as the Polish language; update the value for
"action-improve-desc" to use the verb meaning "to improve/refine" in Japanese
(e.g., "文章の文法・明瞭さ・スタイルを改善" or similar) so it reads "Improve grammar, clarity,
style" rather than referencing the Polish language.
In `@apps/web/src/features/i18n/locales/lt-LT.json`:
- Around line 3279-3316: The ai-assist translation block is still in English;
update the entire "ai-assist" JSON object (keys such as "title",
"toolbar-button", "balance-label", "points-unit", "free-label",
"free-remaining", "cost-label", "action-label", "text-label",
"text-placeholder", "chars-remaining", "min-chars", all "action-*" entries,
"submit-button", "submitting", "result-title", "apply-button", "copy-button",
"copied", "try-again", "try-another", "success", and all "error-*" keys
including "error-text-too-short") with proper Lithuanian translations that match
tone and placeholders (e.g., preserve {{count}}, {{required}}, {{available}}),
ensuring grammar and context are correct for lt-LT users before merging.
In `@apps/web/src/features/i18n/locales/uz-UZ.json`:
- Around line 3279-3316: The "ai-assist" locale block is still in English for
uz-UZ (the "ai-assist" object and its keys like "title", "toolbar-button",
"balance-label", "free-remaining", "action-*" entries, "submit-button",
"error-*" etc.), causing mixed-language UI; either replace each English string
under the "ai-assist" key with the correct Uzbek translations (ensuring
placeholders like {{count}}, {{required}}, {{available}} are preserved) or
temporarily disable/gate the AI Assist feature for uz-UZ until a full Uzbek
translation is added.
---
Minor comments:
In `@apps/web/src/features/i18n/locales/bg-BG.json`:
- Line 451: The "add" localization key in the Bulgarian locale (key: "add") is
still in English; update the value for the "add" key in
apps/web/src/features/i18n/locales/bg-BG.json (and the other occurrence at the
same key) to the proper Bulgarian translation of the CTA "Bookmark — get
notified about new comments" so the tooltip/CTA is fully localized for Bulgarian
users.
- Around line 106-107: The English strings for shared UI labels "pause" and
"updated" were added to bg-BG.json and must be translated to Bulgarian; replace
the values for the keys "pause" and "updated" in the bg-BG.json locale with
their Bulgarian equivalents (e.g., "pause" -> "Пауза", "updated" ->
"Актуализирано") so the shared "g" labels do not leak English into Bulgarian
screens.
In `@apps/web/src/features/i18n/locales/es-ES.json`:
- Around line 3290-3299: Update the untranslated and incorrect Spanish strings
in the ai-assist block: replace "chars-remaining" value with a Spanish sentence
keeping the {{count}} placeholder (e.g., "{{count}} caracteres restantes"),
correct "action-improve-desc" to use “pulir”/“mejorar” instead of the
nationality (e.g., "Pulir gramática, claridad y estilo"), and translate
"action-summarize" and "action-summarize-desc" into Spanish (e.g., "Resumir" and
"Crear un resumen breve (TL;DR)") so all keys "chars-remaining",
"action-improve-desc", "action-summarize", and "action-summarize-desc" are fully
localized.
In `@apps/web/src/features/i18n/locales/fr-FR.json`:
- Around line 1647-1649: Update the fr-FR translation for the "added" key in
locales/fr-FR.json so the success toast from favorite-btn (the
favorite-btn.added message used in
apps/web/src/features/shared/favorite-btn/index.tsx) explicitly mentions
notifications/being notified about new posts instead of the shortened "Ajouté
aux favoris"; keep the message concise but make the notification side-effect
clear (e.g., include phrasing equivalent to "— vous serez informé des nouveaux
messages").
In `@apps/web/src/features/i18n/locales/hi-IN.json`:
- Around line 3279-3316: The ai-assist localization block in the hi-IN locale
currently contains English strings and must be translated to Hindi; update all
keys inside the "ai-assist" object (examples: "title", "balance-label",
"free-label", "action-improve", "submit-button", "success", and all other keys
present) with appropriate Hindi translations (e.g., "AI लेखन सहायक", "शेष राशि",
"मुफ़्त", "लेखन सुधारें", "AI सहायता चलाएं", "AI सहायता पूर्ण!"), ensuring
placeholders like {{count}}, {{required}}, and {{available}} remain unchanged
and punctuation/spacing match existing locale conventions.
- Line 107: The Hindi locale currently has the key "g.updated" set to the
English string "Updated"; update the value of "g.updated" in
apps/web/src/features/i18n/locales/hi-IN.json to an appropriate Hindi
translation (e.g., "अद्यतनित" or "अपडेट किया गया") so it matches surrounding
localized entries and maintains consistency for the g.updated key.
In `@apps/web/src/features/i18n/locales/id-ID.json`:
- Line 106: The g.pause entry currently uses English ("Pause"); update the id-ID
locale by replacing the value for the "pause" key with the Indonesian
translation (e.g., "Jeda") in the id-ID JSON so it matches other localized
strings; ensure you preserve JSON syntax (quotes and trailing comma) for the
"pause" key.
- Line 1647: The key favorite-btn.add currently contains an English string;
replace it with an Indonesian translation (e.g., "Favorit — dapatkan
pemberitahuan tentang postingan baru" or "Tambahkan ke Favorit — dapatkan
pemberitahuan tentang postingan baru") to match the locale; update the value for
"favorite-btn.add" in the JSON while preserving surrounding formatting and
escaping.
- Line 451: Replace the English value for the localization key
"bookmark-btn.add" with an Indonesian translation to match the other keys in
that namespace (e.g., use a concise Indonesian phrase conveying “add bookmark
and get notified about new comments” such as "Tambahkan bookmark — dapatkan
pemberitahuan tentang komentar baru"); update the value for the
"bookmark-btn.add" entry in id-ID.json accordingly so it aligns with the
existing translated keys like "added", "delete", and "deleted".
In `@apps/web/src/features/i18n/locales/it-IT.json`:
- Around line 3279-3317: The ai-assist localization contains untranslated
English strings and inconsistent casing for the AI acronym; update the keys
"title" (change "Assistente Di Scrittura Ia" -> "Assistente di Scrittura IA"),
"toolbar-button" (change "Assist AI" -> "Assistenza AI"), "action-summarize"
(change "Summarize" -> "Riassumi"), "action-summarize-desc" (change "Create a
TL;DR summary" -> "Crea un riassunto breve"), and "error-text-too-short" (change
the English message to Italian, e.g. "Il testo è troppo corto. Sono richiesti
almeno {{count}} caratteri.") to ensure all strings in the ai-assist block are
fully localized and acronym casing is consistent.
In `@apps/web/src/features/i18n/locales/ja-JP.json`:
- Around line 3298-3299: The JSON keys "action-summarize" and
"action-summarize-desc" are still in English; update their values to Japanese to
match the surrounding translations (replace "Summarize" and "Create a TL;DR
summary" with appropriate Japanese equivalents), ensuring the keys remain
unchanged and the translated strings follow the project's wording style and
punctuation conventions used for other action items.
In `@apps/web/src/features/i18n/locales/lt-LT.json`:
- Line 107: The Lithuanian locale file contains English strings (e.g., the
"updated" key and other entries noted around the file) that need proper
Lithuanian translations; update the values for "updated" and the other flagged
keys (the entries reported at the other locations) to their Lithuanian
equivalents so the lt-LT.json file contains all localized strings instead of
English, ensuring the keys remain unchanged and only the string values are
replaced with correct Lithuanian text.
In `@apps/web/src/features/i18n/locales/nl-NL.json`:
- Around line 3298-3299: The Dutch locale contains two keys with English values:
"action-summarize" and "action-summarize-desc"; update their string values to
proper Dutch translations (e.g., "action-summarize": "Samenvatten" and
"action-summarize-desc": "Maak een TL;DR-samenvatting" or another accurate Dutch
phrasing) so the entries match the rest of the nl-NL.json translations and
preserve JSON formatting and quotes.
- Line 3293: The translation for the key "action-improve-desc" incorrectly uses
"Poolse" (Polish) as a nationality; change it to a verb that conveys
"polish/refine" (e.g., "Verbeter" or "Polijst") so the string reads like an
imperative: update the value of "action-improve-desc" in nl-NL.json from "Poolse
grammatica, helderheid en stijl" to a verb-based phrase such as "Verbeter
grammatica, helderheid en stijl" (or "Polijst grammatica, helderheid en stijl")
to correct the mistranslation.
In `@apps/web/src/features/i18n/locales/pl-PL.json`:
- Around line 3279-3316: The ai-assist locale block contains multiple
untranslated English strings and one wrong Polish phrase; update the values for
keys free-remaining, chars-remaining, min-chars, action-summarize,
action-summarize-desc, and error-text-too-short to the provided Polish
translations, and correct action-improve-desc from "Polskie gramy, jasność i
styl" to "Popraw gramatykę, jasność i styl"; ensure you edit the entries with
the exact keys (free-remaining, chars-remaining, min-chars, action-summarize,
action-summarize-desc, error-text-too-short, action-improve-desc) so the JSON
remains valid and translations match the suggested text.
- Line 468: The "tip" translation value is still in English; update the JSON
entry for the "tip" key in the Polish locale (pl-PL.json) to the Polish
translation used nearby ("Napiwek") so it matches the adjacent "title" key and
keeps the locale consistent.
In `@apps/web/src/features/i18n/locales/ru-RU.json`:
- Line 3293: The translation for the key "action-improve-desc" incorrectly uses
"Польская" (Polish nationality) instead of the verb "polish"; update the value
for "action-improve-desc" in apps/web/src/features/i18n/locales/ru-RU.json to a
correct Russian verb phrase such as "Отшлифовать грамматику, ясность и стиль"
(or "Улучшить грамматику, ясность и стиль") so it conveys "polish/improve
grammar, clarity and style."
- Around line 3298-3299: The Russian locale contains English strings for the
keys "action-summarize" and "action-summarize-desc"; update these values to
proper Russian translations (e.g., "Краткое содержание" or similar for
"action-summarize" and a short Russian description for "action-summarize-desc"),
replacing the English text while preserving the JSON key names and string
encoding so the UI shows fully localized Russian text.
In `@apps/web/src/features/i18n/locales/sr-CS.json`:
- Around line 3279-3317: The ai-assist translation block is still in
English—update the "ai-assist" JSON object keys (e.g., "title",
"toolbar-button", "balance-label", "free-remaining", "action-improve",
"action-summarize", "submit-button", "error-insufficient-points",
"error-text-too-short", etc.) in the sr-CS.json file to Serbian equivalents to
match the locale; translate all 38 values consistently (or mark them with a
clear TODO/comment for translators if intentional), ensuring placeholders like
{{count}}, {{required}}, and {{available}} remain unchanged and the JSON
structure and quotations are preserved.
- Around line 106-107: Replace the English values for the "pause" and "updated"
keys in the sr-CS.json locale file with Serbian translations; locate the entries
for "pause" and "updated" and update their values to the correct Serbian strings
(e.g., "Pauza" for pause and "Ažurirano" for updated) so the locale remains
consistent.
- Line 468: Remove the unused translation key "entry-tip.tip" from the
sr-CS.json locale file; locate the key in the JSON (it appears alongside other
entry-tip.* keys) and delete that single entry so only the keys referenced by
the entry-tip-btn component remain ("entry-tip.title", "entry-tip.send-tip",
"entry-tip.count", "entry-tip.count_plural").
In `@apps/web/src/features/i18n/locales/ur-PK.json`:
- Around line 106-107: The Urdu locale file contains English text for several
keys which must be translated: replace the English values for keys such as
"pause" and "updated" (and the other noted entries around lines referenced,
including the AI assistant block and keys at 451-453, 468, 1647-1649, 3279-3316)
with proper Urdu strings; update each JSON value in
apps/web/src/features/i18n/locales/ur-PK.json so the value for "pause" and
"updated" and every English string in the AI assistant section are translated
into Urdu, preserving the existing key names and JSON structure and ensuring no
trailing commas or syntax changes are introduced.
In `@apps/web/src/features/i18n/locales/uz-UZ.json`:
- Around line 451-453: The "add" tooltip string in uz-UZ.json is still English
("Bookmark — get notified about new comments"); update the "add" key (both
occurrences) to the Uzbek translation and keep consistency with the paired
status keys ("added", "delete"); replace the English text with something like
"Belgilang — yangi izohlardan xabardor bo'ling" in both places so the tooltip is
fully translated and matches the existing "added" / "delete" strings.
In `@apps/web/src/features/i18n/locales/zh-CN.json`:
- Around line 3279-3316: Several values in the ai-assist block are still in
English; replace the English strings for the keys free-remaining,
chars-remaining, min-chars, action-summarize, action-summarize-desc,
error-insufficient-points, and error-text-too-short with Chinese translations
(e.g. free-remaining -> "今天还剩 {{count}} 次免费使用", chars-remaining -> "还剩 {{count}}
字符", min-chars -> "最少需要 {{count}} 个字符", action-summarize -> "总结",
action-summarize-desc -> "创建摘要(要点概览)", error-insufficient-points -> "点数不足。需要
{{required}},但只有 {{available}}。", error-text-too-short -> "文本太短。最少需要 {{count}}
个字符。"); update those values in the ai-assist JSON object so the zh-CN locale is
fully localized.
---
Duplicate comments:
In `@apps/web/src/features/i18n/locales/bg-BG.json`:
- Line 468: The Bulgarian locale key "entry-tip.tip" still has the English value
"Tip"; update the value to the proper Bulgarian translation (e.g., "Съвет" or
"Подсказка") in apps/web/src/features/i18n/locales/bg-BG.json by replacing "Tip"
with the chosen Bulgarian string, keeping the JSON formatting and trailing comma
intact.
In `@apps/web/src/features/i18n/locales/sr-CS.json`:
- Around line 1647-1649: The localization keys for the favorite button need
correction: translate the "add" key from English to Serbian (use an appropriate
phrase like "Dodaj u omiljene — budi obavešten o novim objavama"), keep "added"
as "Dodato u omiljeno" only if that phrasing is intended (otherwise consider
"Dodato u omiljene"), and change the "delete" key from "Uklonjeno iz omiljeno"
to the imperative and correct grammar "Ukloni iz omiljenih"; update the values
for keys "add" and "delete" accordingly in the favorite-btn locale entries.
- Around line 451-453: Update the three i18n values for the bookmark button:
replace the "add" English string with a Serbian translation (e.g., "Dodaj u
obeleživače — obavesti me o novim komentarima"), change "added" to the
completed-state phrase "Dodato u obeleživače", and change "delete" to the
imperative action "Ukloni iz obeleživača" so the keys "add", "added", and
"delete" reflect correct Serbian wording and grammatical tense.
In `@apps/web/src/features/i18n/locales/uz-UZ.json`:
- Line 107: The uz-UZ locale file contains English values for the keys "updated"
and "tip"; replace the English strings for these keys with proper Uzbek
translations (e.g., translate "Updated" and "Tip" into Uzbek) in the uz-UZ JSON
so the UI is fully localized, then run the i18n validation/linter (or unit
tests) to ensure the JSON remains valid and keys match other locales.
---
Nitpick comments:
In `@apps/web/src/features/i18n/locales/fr-FR.json`:
- Line 468: The fr-FR locale contains a new English-only key "tip" under
entry-tip that is unused by the consumer; either remove that "tip" key from
apps/web/src/features/i18n/locales/fr-FR.json or provide a proper French
translation for "entry-tip.tip" (e.g., "Astuce") and ensure consistency with the
consumer at apps/web/src/features/shared/entry-tip-btn/index.tsx which currently
references "entry-tip.title", "entry-tip.count", and "entry-tip.count_plural";
update the locale file so keys match the consumer or remove the extraneous key
until you wire it up.
In `@apps/web/src/features/i18n/locales/th-TH.json`:
- Around line 106-107: The new localization key "g.updated" currently has an
English placeholder ("Updated") in th-TH JSON; replace its value with the proper
Thai translation (for example "อัปเดตแล้ว") in
apps/web/src/features/i18n/locales/th-TH.json under the "g.updated" key, and
scan the same file for any other English placeholders to either provide Thai
translations or mark them for a Crowdin sync so a follow-up translation pass can
supply localized strings.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 14b570a1-2853-4103-acc5-3ee65135c983
📒 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 (3)
- apps/web/src/features/i18n/locales/pt-PT.json
- apps/web/src/features/i18n/locales/tr-TR.json
- apps/web/src/features/i18n/locales/de-DE.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.
The new ai-assist section is entirely English.
This adds the whole AI Assistant surface in English—actions, helper text, errors, and success states—so the new feature will be mixed-language for bg-BG users.
🤖 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` around lines 3279 - 3316, The
ai-assist locale object is entirely in English; translate all strings 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-* keys like action-improve,
action-improve-desc, action-suggest_tags, action-generate_title,
action-summarize, action-check_grammar and their -desc variants, submit-button,
submitting, result-title, apply-button, copy-button, copied, try-again,
try-another, success, and all error-* keys) into Bulgarian so the bg-BG locale
is fully localized; update each value in the "ai-assist" JSON to the correct
Bulgarian translations while preserving interpolation tokens like {{count}},
{{required}}, and {{available}} and the exact key names.
| "add": "Marque-page — être informé des nouveaux commentaires", | ||
| "added": "Ajouté aux favoris", | ||
| "delete": "Retirer des favoris", |
There was a problem hiding this comment.
Keep bookmark copy distinct from favorites.
Bookmarks are already called "Signets" elsewhere in this locale on Line 239 and Line 2075, but this block switches to "Marque-page" and "favoris". That makes the bookmark flow indistinguishable from favorites, and bookmark-btn.added is the toast shown after enabling comment notifications in apps/web/src/features/shared/bookmark-btn/index.tsx:47-58.
💬 Suggested wording
- "add": "Marque-page — être informé des nouveaux commentaires",
- "added": "Ajouté aux favoris",
- "delete": "Retirer des favoris",
+ "add": "Signet — être informé des nouveaux commentaires",
+ "added": "Ajouté aux signets — vous serez informé des nouveaux commentaires",
+ "delete": "Retirer des signets",📝 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": "Marque-page — être informé des nouveaux commentaires", | |
| "added": "Ajouté aux favoris", | |
| "delete": "Retirer des favoris", | |
| "add": "Signet — être informé des nouveaux commentaires", | |
| "added": "Ajouté aux signets — vous serez informé des nouveaux commentaires", | |
| "delete": "Retirer des signets", |
🤖 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 451 - 453, The
French translations in fr-FR.json use "Marque-page" and "favoris" which collides
with the existing "Signets" terminology and makes bookmark actions ambiguous;
update the keys "add", "added", and "delete" to use the same bookmark wording
used elsewhere (e.g., "Signet"/"Signets") and keep "Favoris" reserved for
favorites so the bookmark flow (see bookmark-btn.added used in
apps/web/src/features/shared/bookmark-btn/index.tsx) remains distinct — for
example change "add" to a phrase like "Ajouter aux signets", "added" to "Ajouté
aux signets", and "delete" to "Retirer des signets" (or equivalent consistent
"Signet"/"Signets" forms) so translations are consistent across the locale.
| "action-improve-desc": "ポーランド語の文法、明瞭度、スタイル", | ||
| "action-suggest_tags": "タグを提案", |
There was a problem hiding this comment.
Translation error: "Polish" mistranslated as Polish language.
Line 3294 translates "Polish grammar, clarity, style" as "ポーランド語の文法、明瞭度、スタイル" which means "Polish language grammar, clarity, style." The word "Polish" in the original English is a verb meaning to improve/refine, not the Polish language.
Suggested correction:
- "action-improve-desc": "ポーランド語の文法、明瞭度、スタイル",
+ "action-improve-desc": "文法、明瞭さ、スタイルを磨く",Alternative: "文章の文法・明瞭さ・スタイルを改善" (Improve grammar, clarity, style of writing)
📝 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.
| "action-improve-desc": "ポーランド語の文法、明瞭度、スタイル", | |
| "action-suggest_tags": "タグを提案", | |
| "action-improve-desc": "文法、明瞭さ、スタイルを磨く", | |
| "action-suggest_tags": "タグを提案", |
🤖 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 3293 - 3294, The
translation for the key "action-improve-desc" incorrectly renders "Polish" as
the Polish language; update the value for "action-improve-desc" to use the verb
meaning "to improve/refine" in Japanese (e.g., "文章の文法・明瞭さ・スタイルを改善" or similar)
so it reads "Improve grammar, clarity, style" rather than referencing the Polish
language.
| "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 ai-assist block before shipping it in lt-LT.
This block is effectively the English source locale pasted into Lithuanian. If the feature is enabled, the whole AI assistant flow will render in English for lt-LT users.
🤖 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 3279 - 3316, The
ai-assist translation block is still in English; update the entire "ai-assist"
JSON object (keys such as "title", "toolbar-button", "balance-label",
"points-unit", "free-label", "free-remaining", "cost-label", "action-label",
"text-label", "text-placeholder", "chars-remaining", "min-chars", all "action-*"
entries, "submit-button", "submitting", "result-title", "apply-button",
"copy-button", "copied", "try-again", "try-another", "success", and all
"error-*" keys including "error-text-too-short") with proper Lithuanian
translations that match tone and placeholders (e.g., preserve {{count}},
{{required}}, {{available}}), ensuring grammar and context are correct for lt-LT
users before merging.
| "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.
The new ai-assist surface is entirely untranslated.
This whole block is English in the Uzbek locale, so the AI assistant will ship as mixed-language UI end to end. Please import the Uzbek copy here, or gate the feature for uz-UZ until the translations are ready.
🤖 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 3279 - 3316, The
"ai-assist" locale block is still in English for uz-UZ (the "ai-assist" object
and its keys like "title", "toolbar-button", "balance-label", "free-remaining",
"action-*" entries, "submit-button", "error-*" etc.), causing mixed-language UI;
either replace each English string under the "ai-assist" key with the correct
Uzbek translations (ensuring placeholders like {{count}}, {{required}},
{{available}} are preserved) or temporarily disable/gate the AI Assist feature
for uz-UZ until a full Uzbek translation is added.
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.
|
Caution Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted. Error details |
Summary by CodeRabbit
New Features
Chores