Skip to content

Conversation

@elibosley
Copy link
Member

@elibosley elibosley commented Nov 25, 2025

Summary by CodeRabbit

  • New Features
    • Added multilingual "retry" action text support across 24 language locales, enabling users to retry actions in their preferred language.

✏️ Tip: You can customize this high-level summary in your review settings.

@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 46.40%. Comparing base (832e9d0) to head (cd22909).
⚠️ Report is 24 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1809      +/-   ##
==========================================
- Coverage   52.04%   46.40%   -5.64%     
==========================================
  Files         874      954      +80     
  Lines       50372    59770    +9398     
  Branches     5017     5541     +524     
==========================================
+ Hits        26214    27734    +1520     
- Misses      24083    31917    +7834     
- Partials       75      119      +44     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 18, 2025

Caution

Review failed

The head commit changed during the review from 43322c9 to cd22909.

Walkthrough

This change adds a new translation key common.retry with localized "retry" text across 24 locale files (Arabic, Bengali, Catalan, Czech, Danish, German, Spanish, French, Hindi, Croatian, Hungarian, Italian, Japanese, Korean, Latvian, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Swedish, Ukrainian, and Chinese). Each file receives the same key with appropriate language-specific values.

Changes

Cohort / File(s) Summary
Retry Translation Key Addition
web/src/locales/ar.json, web/src/locales/bn.json, web/src/locales/ca.json, web/src/locales/cs.json, web/src/locales/da.json, web/src/locales/de.json, web/src/locales/es.json, web/src/locales/fr.json, web/src/locales/hi.json, web/src/locales/hr.json, web/src/locales/hu.json, web/src/locales/it.json, web/src/locales/ja.json, web/src/locales/ko.json, web/src/locales/lv.json, web/src/locales/nl.json, web/src/locales/no.json, web/src/locales/pl.json, web/src/locales/pt.json, web/src/locales/ro.json, web/src/locales/ru.json, web/src/locales/sv.json, web/src/locales/uk.json, web/src/locales/zh.json
Added common.retry translation key to all locale files with language-specific values (e.g., "إعادة المحاولة" in Arabic, "Réessayer" in French, "再试行" in Chinese)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Highly repetitive changes across 24 files with identical structure
  • Each addition is a simple JSON key-value pair with no logic or control flow
  • Minimal risk of introducing bugs given the localization-only scope

Poem

🐰 Twenty-four tongues now speak of retry,
A humble button to try again,
From east to west, the word shall fly,
When users falter, hope's their friend.
bounces with multilingual glee

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'New Crowdin updates' is vague and generic, using non-descriptive terminology that doesn't convey what the changeset actually accomplishes. Consider using a more specific title like 'Add common.retry translations for 25 locales' to clearly communicate the primary change.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 832e9d0 and de422b3.

📒 Files selected for processing (24)
  • web/src/locales/ar.json (1 hunks)
  • web/src/locales/bn.json (1 hunks)
  • web/src/locales/ca.json (1 hunks)
  • web/src/locales/cs.json (1 hunks)
  • web/src/locales/da.json (1 hunks)
  • web/src/locales/de.json (1 hunks)
  • web/src/locales/es.json (1 hunks)
  • web/src/locales/fr.json (1 hunks)
  • web/src/locales/hi.json (1 hunks)
  • web/src/locales/hr.json (1 hunks)
  • web/src/locales/hu.json (1 hunks)
  • web/src/locales/it.json (1 hunks)
  • web/src/locales/ja.json (1 hunks)
  • web/src/locales/ko.json (1 hunks)
  • web/src/locales/lv.json (1 hunks)
  • web/src/locales/nl.json (1 hunks)
  • web/src/locales/no.json (1 hunks)
  • web/src/locales/pl.json (1 hunks)
  • web/src/locales/pt.json (1 hunks)
  • web/src/locales/ro.json (1 hunks)
  • web/src/locales/ru.json (1 hunks)
  • web/src/locales/sv.json (1 hunks)
  • web/src/locales/uk.json (1 hunks)
  • web/src/locales/zh.json (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
web/**/*

📄 CodeRabbit inference engine (CLAUDE.md)

Always run pnpm codegen for GraphQL code generation in the web directory

Files:

  • web/src/locales/hr.json
  • web/src/locales/ro.json
  • web/src/locales/no.json
  • web/src/locales/nl.json
  • web/src/locales/ca.json
  • web/src/locales/de.json
  • web/src/locales/ko.json
  • web/src/locales/fr.json
  • web/src/locales/cs.json
  • web/src/locales/lv.json
  • web/src/locales/ru.json
  • web/src/locales/it.json
  • web/src/locales/da.json
  • web/src/locales/ja.json
  • web/src/locales/uk.json
  • web/src/locales/pt.json
  • web/src/locales/zh.json
  • web/src/locales/hu.json
  • web/src/locales/es.json
  • web/src/locales/pl.json
  • web/src/locales/hi.json
  • web/src/locales/ar.json
  • web/src/locales/sv.json
  • web/src/locales/bn.json
**/*

📄 CodeRabbit inference engine (.cursor/rules/default.mdc)

Never add comments unless they are needed for clarity of function

Files:

  • web/src/locales/hr.json
  • web/src/locales/ro.json
  • web/src/locales/no.json
  • web/src/locales/nl.json
  • web/src/locales/ca.json
  • web/src/locales/de.json
  • web/src/locales/ko.json
  • web/src/locales/fr.json
  • web/src/locales/cs.json
  • web/src/locales/lv.json
  • web/src/locales/ru.json
  • web/src/locales/it.json
  • web/src/locales/da.json
  • web/src/locales/ja.json
  • web/src/locales/uk.json
  • web/src/locales/pt.json
  • web/src/locales/zh.json
  • web/src/locales/hu.json
  • web/src/locales/es.json
  • web/src/locales/pl.json
  • web/src/locales/hi.json
  • web/src/locales/ar.json
  • web/src/locales/sv.json
  • web/src/locales/bn.json
🔇 Additional comments (23)
web/src/locales/hr.json (1)

33-33: Croatian common.retry entry looks correct and consistent

Key name, placement after common.learnMore, and translation “Pokušaj ponovo” are all appropriate; JSON remains valid.

web/src/locales/da.json (1)

33-33: Danish common.retry entry is accurate

“Prøv igen” correctly conveys “Retry”, and the key is added in the right place with valid JSON syntax.

web/src/locales/fr.json (1)

33-33: French common.retry string is appropriate

“Réessayer” is a standard label for retry actions; key naming, ordering, and JSON formatting are all consistent.

web/src/locales/uk.json (1)

33-33: Ukrainian common.retry translation looks good

“Спробувати знову” correctly expresses “Retry” in this UI context; JSON and key ordering are consistent with surrounding entries.

web/src/locales/pl.json (1)

33-33: Polish common.retry key is structurally correct

The new key is well-placed and JSON-valid; “Ponów” is a concise, acceptable retry label in Polish.

web/src/locales/ja.json (1)

33-33: Japanese common.retry entry is correct

“再試行” is the standard translation for “Retry”; key naming, ordering, and JSON formatting are all consistent with the rest of the file.

web/src/locales/hi.json (1)

33-33: Hindi common.retry string is accurate and consistently placed

"फिर से प्रयास करें" is a natural translation for a retry action, and the key fits correctly among the other common.* entries. Also, please ensure pnpm codegen has been run in web/ after these changes, per the project guidelines for web/**/*.

web/src/locales/pt.json (1)

33-33: Portuguese common.retry translation looks good

"Tentar Novamente" is an appropriate label for a retry action and matches tone/capitalization of neighboring common.* strings.

web/src/locales/ru.json (1)

33-33: Russian common.retry translation is appropriate

"Повторить" is the standard, concise Russian wording for a retry action and aligns with surrounding common.* labels.

web/src/locales/ko.json (1)

33-33: Korean common.retry translation is correct

"재시도" is the expected Korean term for a retry action and is consistent with the style of the other common.* entries.

web/src/locales/nl.json (1)

33-33: Dutch common.retry translation reads naturally

"Opnieuw proberen" is a natural Dutch label for retry and fits well with the surrounding common.* strings.

web/src/locales/de.json (1)

33-33: German common.retry translation is appropriate

"Erneut versuchen" is standard German UI phrasing for retry and matches the tone and casing of nearby common.* keys.

web/src/locales/ro.json (1)

33-33: Romanian common.retry translation looks good

The key placement and the translation “Reîncercați” are consistent with surrounding common.* entries and UI tone.

web/src/locales/cs.json (1)

33-33: Czech common.retry entry is appropriate

“Opakovat” is an idiomatic retry label and matches the style of other common.* keys.

web/src/locales/es.json (1)

33-33: Spanish common.retry string is consistent

“Reintentar” matches existing button verb forms and correctly expresses “Retry”.

web/src/locales/no.json (1)

33-33: Norwegian common.retry translation is correct

“Prøv på nytt” is idiomatic and consistent with the rest of the locale.

web/src/locales/ca.json (1)

33-33: Catalan common.retry entry looks correct

"Torna-ho a provar" is an appropriate translation for “Retry”, and the JSON structure/placement among common.* keys is valid.

web/src/locales/lv.json (1)

33-33: Latvian common.retry entry is valid

"Mēģināt vēlreiz" is a good fit for “Retry”, and the JSON remains syntactically correct.

web/src/locales/sv.json (1)

33-33: Swedish common.retry entry is appropriate

"Försök igen" accurately conveys “Retry”, with correct JSON formatting and consistent key placement.

web/src/locales/ar.json (1)

33-33: Arabic common.retry entry looks good

"إعادة المحاولة" is an appropriate translation for “Retry”, and the JSON remains well‑formed.

web/src/locales/zh.json (1)

33-33: Chinese common.retry entry is correct

"重试" is the standard Simplified Chinese term for “Retry”, and the key fits cleanly into the existing common.* block.

web/src/locales/it.json (1)

33-33: Italian common.retry entry is well‑formed

"Riprova" is an idiomatic Italian translation for “Retry”, and the JSON structure is intact.

web/src/locales/bn.json (1)

33-33: ✓ Well-integrated localization entry.

The new "common.retry" translation is properly formatted, correctly positioned in alphabetical order, and uses the appropriate Bengali translation. The change follows the existing structure and conventions in the file.

"common.installed": "Telepítve",
"common.installing": "Telepítés folyamatban",
"common.learnMore": "Tudjon meg többet",
"common.retry": "Újra próbálkozik",
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Adjust Hungarian common.retry to an imperative form

The current text “Újra próbálkozik” reads as a descriptive sentence rather than a button label. To match the polite imperative style used elsewhere in this locale, consider changing it to “Próbálja újra”.

Proposed diff
-  "common.retry": "Újra próbálkozik",
+  "common.retry": "Próbálja újra",
📝 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.

Suggested change
"common.retry": "Újra próbálkozik",
"common.retry": "Próbálja újra",
🤖 Prompt for AI Agents
In web/src/locales/hu.json around line 33, the Hungarian value for
"common.retry" is currently a descriptive phrase ("Újra próbálkozik"); change it
to the polite imperative form used elsewhere by replacing it with "Próbálja
újra" so the label reads as a proper button/action command.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
web/src/locales/ro.json (1)

33-33: Translation looks good, but consider alphabetical ordering.

The Romanian translation "Reîncercați" for "common.retry" is correct. However, the key appears to be placed out of alphabetical order. Based on the alphabetical pattern in the rest of the common.* namespace (cancel, close, continue, etc.), common.retry should be positioned after common.loading2 (line 34) rather than before it, since "r" comes after "l" alphabetically.

Since this is a Crowdin automated update, the ordering might be managed by external tooling or regenerated periodically. If alphabetical ordering is not enforced in your locale files, this can be safely ignored.

📜 Review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 832e9d0 and de422b3.

📒 Files selected for processing (24)
  • web/src/locales/ar.json (1 hunks)
  • web/src/locales/bn.json (1 hunks)
  • web/src/locales/ca.json (1 hunks)
  • web/src/locales/cs.json (1 hunks)
  • web/src/locales/da.json (1 hunks)
  • web/src/locales/de.json (1 hunks)
  • web/src/locales/es.json (1 hunks)
  • web/src/locales/fr.json (1 hunks)
  • web/src/locales/hi.json (1 hunks)
  • web/src/locales/hr.json (1 hunks)
  • web/src/locales/hu.json (1 hunks)
  • web/src/locales/it.json (1 hunks)
  • web/src/locales/ja.json (1 hunks)
  • web/src/locales/ko.json (1 hunks)
  • web/src/locales/lv.json (1 hunks)
  • web/src/locales/nl.json (1 hunks)
  • web/src/locales/no.json (1 hunks)
  • web/src/locales/pl.json (1 hunks)
  • web/src/locales/pt.json (1 hunks)
  • web/src/locales/ro.json (1 hunks)
  • web/src/locales/ru.json (1 hunks)
  • web/src/locales/sv.json (1 hunks)
  • web/src/locales/uk.json (1 hunks)
  • web/src/locales/zh.json (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
web/**/*

📄 CodeRabbit inference engine (CLAUDE.md)

Always run pnpm codegen for GraphQL code generation in the web directory

Files:

  • web/src/locales/de.json
  • web/src/locales/ru.json
  • web/src/locales/bn.json
  • web/src/locales/it.json
  • web/src/locales/lv.json
  • web/src/locales/pl.json
  • web/src/locales/cs.json
  • web/src/locales/zh.json
  • web/src/locales/ro.json
  • web/src/locales/ar.json
  • web/src/locales/da.json
  • web/src/locales/ko.json
  • web/src/locales/sv.json
  • web/src/locales/hu.json
  • web/src/locales/no.json
  • web/src/locales/pt.json
  • web/src/locales/fr.json
  • web/src/locales/uk.json
  • web/src/locales/ja.json
  • web/src/locales/ca.json
  • web/src/locales/hr.json
  • web/src/locales/es.json
  • web/src/locales/hi.json
  • web/src/locales/nl.json
**/*

📄 CodeRabbit inference engine (.cursor/rules/default.mdc)

Never add comments unless they are needed for clarity of function

Files:

  • web/src/locales/de.json
  • web/src/locales/ru.json
  • web/src/locales/bn.json
  • web/src/locales/it.json
  • web/src/locales/lv.json
  • web/src/locales/pl.json
  • web/src/locales/cs.json
  • web/src/locales/zh.json
  • web/src/locales/ro.json
  • web/src/locales/ar.json
  • web/src/locales/da.json
  • web/src/locales/ko.json
  • web/src/locales/sv.json
  • web/src/locales/hu.json
  • web/src/locales/no.json
  • web/src/locales/pt.json
  • web/src/locales/fr.json
  • web/src/locales/uk.json
  • web/src/locales/ja.json
  • web/src/locales/ca.json
  • web/src/locales/hr.json
  • web/src/locales/es.json
  • web/src/locales/hi.json
  • web/src/locales/nl.json
🔇 Additional comments (23)
web/src/locales/it.json (1)

33-33: common.retry entry looks correct and consistent

The Italian translation "Riprova" is appropriate for a retry action and matches the style of neighboring common.* keys. Also, since this touches web/, please ensure pnpm codegen has been run in the web directory so any GraphQL-generated artifacts stay in sync (even if this PR doesn’t change GraphQL schema).

web/src/locales/ru.json (1)

33-33: common.retry Russian translation LGTM

"Повторить" is a natural and consistent choice for a retry action alongside other common.* strings.

web/src/locales/ca.json (1)

33-33: common.retry Catalan translation LGTM

"Torna-ho a provar" is an appropriate and consistent translation for the retry action.

web/src/locales/pt.json (1)

33-33: common.retry Portuguese translation LGTM

"Tentar Novamente" is a clear, idiomatic label and matches the capitalization/style of neighboring common.* strings.

web/src/locales/hr.json (1)

33-33: common.retry Croatian translation LGTM

"Pokušaj ponovo" is an appropriate, user-friendly translation for retry and aligns with the tone of other common.* labels.

web/src/locales/hi.json (1)

33-33: Hindi common.retry translation is appropriate

"फिर से प्रयास करें" correctly conveys a retry / try‑again action and matches surrounding common.* strings.

web/src/locales/cs.json (1)

33-33: Czech common.retry translation is correct

"Opakovat" is a standard Czech label for retrying an action and fits the existing common.* set.

web/src/locales/no.json (1)

33-33: Norwegian common.retry translation is idiomatic

"Prøv på nytt" is the expected wording for a retry button and aligns with surrounding common.* keys.

web/src/locales/ko.json (1)

33-33: Korean common.retry translation is suitable

"재시도" is the conventional Korean label for a retry action and is consistent with the rest of the common.* entries.

web/src/locales/ar.json (1)

33-33: Arabic common.retry translation is accurate

"إعادة المحاولة" correctly expresses a retry / try‑again action and matches the style of nearby common.* strings.

web/src/locales/de.json (1)

33-33: German common.retry translation is good

"Erneut versuchen" is the standard German translation for retry and fits with existing common.* keys.

Likely an incorrect or invalid review comment.

web/src/locales/hu.json (1)

33-33: common.retry entry looks consistent and non‑breaking

Key naming matches existing common.* pattern and the value is a reasonable Hungarian equivalent for a retry action.

web/src/locales/bn.json (1)

33-33: Bengali retry label is appropriate

"পুনরায় চেষ্টা করুন" is an appropriate imperative translation for a retry action and aligns with other common.* keys.

web/src/locales/zh.json (1)

33-33: Chinese common.retry is correct and idiomatic

"重试" is the standard concise Chinese label for a retry action and fits the existing common.* group.

web/src/locales/uk.json (1)

33-33: Ukrainian retry translation is clear and consistent

"Спробувати знову" clearly conveys a retry action and matches the tone of other common.* labels.

web/src/locales/es.json (1)

33-33: Spanish common.retry string is appropriate

"Reintentar" is the expected Spanish label for a retry action and integrates cleanly with existing common.* entries.

web/src/locales/nl.json (1)

33-33: Dutch retry label is correct and idiomatic

"Opnieuw proberen" is a natural Dutch translation for a retry action and fits the existing common.* block.

web/src/locales/pl.json (1)

33-33: Polish common.retry translation is consistent

"Ponów" is a natural label for a retry action and its placement with other common.* keys looks correct. As a reminder for web changes, run pnpm codegen in the web/ directory so GraphQL artifacts stay in sync.

web/src/locales/fr.json (1)

33-33: French common.retry translation looks correct

"Réessayer" matches the intended “Retry” action and the new key fits cleanly into the existing common.* block.

web/src/locales/sv.json (1)

33-33: Swedish common.retry translation looks correct

"Försök igen" is the standard Swedish phrasing for “Retry”, and the key is added consistently alongside other common.* strings.

web/src/locales/da.json (1)

33-33: Danish common.retry translation looks correct

"Prøv igen" appropriately expresses a retry action and the key follows the existing common.* naming and placement.

web/src/locales/lv.json (1)

33-33: Latvian common.retry translation looks correct

"Mēģināt vēlreiz" is an appropriate label for “Retry”, and the new key is consistent with nearby common.* entries.

web/src/locales/ja.json (1)

33-33: Japanese common.retry translation looks correct

"再試行" is the standard Japanese label for a retry action and the key integrates cleanly into the existing common.* section.

@github-actions
Copy link
Contributor

This plugin has been deployed to Cloudflare R2 and is available for testing.
Download it at this URL:

https://preview.dl.unraid.net/unraid-api/tag/PR1809/dynamix.unraid.net.plg

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants