Skip to content

New Crowdin updates#2004

Open
elibosley wants to merge 25 commits into
mainfrom
l10n_main
Open

New Crowdin updates#2004
elibosley wants to merge 25 commits into
mainfrom
l10n_main

Conversation

@elibosley
Copy link
Copy Markdown
Member

@elibosley elibosley commented May 12, 2026

Summary by CodeRabbit

  • Documentation
    • Enhanced onboarding license detection messaging across 23+ languages with clearer status indicators when no valid license device is found.
    • Updated server error messaging for license device issues, providing improved guidance on connecting a license-capable USB device or enabling TPM licensing and refreshing registration.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 12, 2026

Walkthrough

This PR updates localization strings across 24 language locale files. It adds onboarding status messaging when no valid license device is detected and replaces server error messaging that previously described boot device access failures with new messaging focused on missing TPM or USB flash license devices.

Changes

License Device Localization Updates

Layer / File(s) Summary
Onboarding license device status strings
web/src/locales/ar.json, bn.json, ca.json, cs.json, da.json, de.json, es.json, fr.json, hi.json, hr.json, hu.json, it.json, ja.json, ko.json, lv.json, nl.json, no.json, pl.json, pt.json, ro.json, ru.json, sv.json, uk.json, zh.json
Added onboarding.licenseStep.status.noLicenseDevice translation key across all 24 locales to indicate when no valid license device is detected during onboarding.
Server state enoflash error messaging
web/src/locales/ar.json, bn.json, ca.json, cs.json, da.json, de.json, es.json, fr.json, hi.json, hr.json, hu.json, it.json, ja.json, ko.json, lv.json, nl.json, no.json, pl.json, pt.json, ro.json, ru.json, sv.json, uk.json, zh.json
Replaced server.state.enoflash heading, humanReadable, and message strings across all 24 locales to describe missing valid license devices (TPM or USB flash) instead of boot device access failures, with user guidance on enabling or connecting license devices and refreshing registration.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Across twenty-four tongues we hop with care,
License devices now bright and fair,
From boot-bound errors we leap away,
TPM and USB save the day!
Registration refreshed, the way is clear,
A multilingual localization cheer! 🌍✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ 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 does not convey meaningful information about the specific changes made to the localization files. Consider using a more descriptive title such as 'Update localization strings for license device detection' or 'Add/update license device translations across all locales' to better communicate the primary changes.
✅ Passed checks (4 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.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch l10n_main

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

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0897e47244

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/src/locales/ru.json
Comment on lines +782 to +783
"server.state.enoflash.heading": "Обнаружено недопустимое устройство лицензии",
"server.state.enoflash.humanReadable": "Устройство лицензии",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Fix inverted Russian message for missing license device

The new Russian copy for this enoflash state flips the meaning of the error: it says an invalid license device was found, while this key is used for the "no valid license device detected" condition. In the same block, humanReadable was reduced to just "Устройство лицензии" (without "Нет"), so users in this error path will get misleading status text instead of a clear missing-device message.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

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

Inline comments:
In `@web/src/locales/cs.json`:
- Line 349: The Czech string for key
"onboarding.licenseStep.status.noLicenseDevice" (and the duplicate at the other
occurrence) uses incorrect gender agreement; update both values to use neuter
agreement by replacing the current text with "Nebylo zjištěno žádné platné
licenční zařízení" so the noun zařízení agrees grammatically.

In `@web/src/locales/fr.json`:
- Around line 782-784: The French message for key
"server.state.enoflash.message" contains a non-French token "सक्रियेज"; update
that value to use correct French wording (e.g., replace "सक्रियेज la licence"
with "activez la licence") so the string reads properly in French and UI
rendering won't break.

In `@web/src/locales/ru.json`:
- Line 349: The Russian string for the key
onboarding.licenseStep.status.noLicenseDevice (and the duplicate entries around
lines referenced) incorrectly says “an invalid license device was detected”;
update the translation for onboarding.licenseStep.status.noLicenseDevice and the
matching keys at the other occurrences so the wording clearly states “no valid
license device detected” (e.g., use a phrase like «Действительное устройство
лицензии не обнаружено» or similar consistent Russian copy) to match the actual
state.

In `@web/src/locales/uk.json`:
- Line 349: The Ukrainian phrasing for the license-device messages is awkward;
update the value of "onboarding.licenseStep.status.noLicenseDevice" to use the
idiomatic noun phrase "ліцензійного пристрою" and correct case agreement—e.g.
replace the current string with "Не виявлено дійсного ліцензійного пристрою";
apply the same phrasing/case fix to the related keys around lines 782-784 so all
user-facing messages consistently use "ліцензійного пристрою" and proper
Ukrainian grammar.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 6894e538-cc17-461b-a36c-dac4c418439d

📥 Commits

Reviewing files that changed from the base of the PR and between a2d4843 and 0897e47.

📒 Files selected for processing (24)
  • 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

Comment thread web/src/locales/cs.json
"onboarding.licenseStep.title": "Licence Unraid OS",
"onboarding.licenseStep.description": "Připraveno k aktivaci. Klikněte níže pro správu vaší licence a registrace serveru v Unraid Account App.",
"onboarding.licenseStep.status.registered": "Registrováno",
"onboarding.licenseStep.status.noLicenseDevice": "Nebyl zjištěn žádný platný licenční zařízení",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix Czech gender agreement in “no valid license device” text.

At Line 349 and Line 782, use neuter agreement for zařízení:
Nebyl zjištěn žádné platné licenční zařízení is grammatically off; prefer wording like Nebylo zjištěno žádné platné licenční zařízení.

Also applies to: 782-782

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

In `@web/src/locales/cs.json` at line 349, The Czech string for key
"onboarding.licenseStep.status.noLicenseDevice" (and the duplicate at the other
occurrence) uses incorrect gender agreement; update both values to use neuter
agreement by replacing the current text with "Nebylo zjištěno žádné platné
licenční zařízení" so the noun zařízení agrees grammatically.

Comment thread web/src/locales/fr.json
Comment on lines +782 to +784
"server.state.enoflash.heading": "Aucun périphérique de licence valide détecté",
"server.state.enoflash.humanReadable": "Aucun périphérique de licence",
"server.state.enoflash.message": "<p>Aucun périphérique TPM valide ni clé USB n’a été détecté pour la licence. Connectez une clé USB compatible avec la licence ou सक्रियez la licence TPM, puis actualisez l’enregistrement.</p>",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix mixed-language token in French error message.

Line 784 contains सक्रियेज, which is not French and will appear broken in UI. Replace it with French wording (e.g., activez).

Suggested patch
-  "server.state.enoflash.message": "<p>Aucun périphérique TPM valide ni clé USB n’a été détecté pour la licence. Connectez une clé USB compatible avec la licence ou सक्रियez la licence TPM, puis actualisez l’enregistrement.</p>",
+  "server.state.enoflash.message": "<p>Aucun périphérique TPM valide ni clé USB n’a été détecté pour la licence. Connectez une clé USB compatible avec la licence ou activez la licence TPM, puis actualisez l’enregistrement.</p>",
📝 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
"server.state.enoflash.heading": "Aucun périphérique de licence valide détecté",
"server.state.enoflash.humanReadable": "Aucun périphérique de licence",
"server.state.enoflash.message": "<p>Aucun périphérique TPM valide ni clé USB na été détecté pour la licence. Connectez une clé USB compatible avec la licence ou सक्रियez la licence TPM, puis actualisez lenregistrement.</p>",
"server.state.enoflash.heading": "Aucun périphérique de licence valide détecté",
"server.state.enoflash.humanReadable": "Aucun périphérique de licence",
"server.state.enoflash.message": "<p>Aucun périphérique TPM valide ni clé USB n'a été détecté pour la licence. Connectez une clé USB compatible avec la licence ou activez la licence TPM, puis actualisez l'enregistrement.</p>",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/src/locales/fr.json` around lines 782 - 784, The French message for key
"server.state.enoflash.message" contains a non-French token "सक्रियेज"; update
that value to use correct French wording (e.g., replace "सक्रियेज la licence"
with "activez la licence") so the string reads properly in French and UI
rendering won't break.

Comment thread web/src/locales/ru.json
"onboarding.licenseStep.title": "Лицензия Unraid OS",
"onboarding.licenseStep.description": "Готово к активации. Нажмите ниже, чтобы управлять своей лицензией и регистрацией сервера в приложении учетной записи Unraid.",
"onboarding.licenseStep.status.registered": "Зарегистрировано",
"onboarding.licenseStep.status.noLicenseDevice": "Обнаружено недопустимое устройство лицензии",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Russian copy meaning is inconsistent with the actual state (“no valid device detected”).

Line 349 and Line 782 currently read as “an invalid license device was detected,” but this state is “no valid license device detected” (also reflected by Line 784). Please align the wording so users don’t misread the condition.

Suggested text adjustment
- "onboarding.licenseStep.status.noLicenseDevice": "Обнаружено недопустимое устройство лицензии",
+ "onboarding.licenseStep.status.noLicenseDevice": "Не обнаружено допустимое устройство лицензии",

- "server.state.enoflash.heading": "Обнаружено недопустимое устройство лицензии",
- "server.state.enoflash.humanReadable": "Устройство лицензии",
+ "server.state.enoflash.heading": "Не обнаружено допустимое устройство лицензии",
+ "server.state.enoflash.humanReadable": "Нет устройства лицензии",

Also applies to: 782-783

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

In `@web/src/locales/ru.json` at line 349, The Russian string for the key
onboarding.licenseStep.status.noLicenseDevice (and the duplicate entries around
lines referenced) incorrectly says “an invalid license device was detected”;
update the translation for onboarding.licenseStep.status.noLicenseDevice and the
matching keys at the other occurrences so the wording clearly states “no valid
license device detected” (e.g., use a phrase like «Действительное устройство
лицензии не обнаружено» or similar consistent Russian copy) to match the actual
state.

Comment thread web/src/locales/uk.json
"onboarding.licenseStep.title": "Ліцензія Unraid OS",
"onboarding.licenseStep.description": "Готові до активації. Натисніть нижче, щоб керувати своєю ліцензією та реєстрацією сервера в застосунку Unraid Account.",
"onboarding.licenseStep.status.registered": "Зареєстровано",
"onboarding.licenseStep.status.noLicenseDevice": "Не виявлено дійсного пристрою ліцензії",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Polish Ukrainian phrasing for natural, user-facing wording.

Line 349 and Line 782-784 currently use awkward constructions (пристрою ліцензії, не виявлено дійсний ...). Prefer idiomatic forms like ліцензійного пристрою and corrected case agreement.

Suggested text adjustments
-  "onboarding.licenseStep.status.noLicenseDevice": "Не виявлено дійсного пристрою ліцензії",
+  "onboarding.licenseStep.status.noLicenseDevice": "Не виявлено дійсного ліцензійного пристрою",

-  "server.state.enoflash.heading": "Не виявлено дійсного пристрою ліцензії",
-  "server.state.enoflash.humanReadable": "Немає пристрою ліцензії",
-  "server.state.enoflash.message": "<p>Для ліцензування не виявлено дійсний TPM або USB флеш-пристрій. Підключіть USB флеш-пристрій, що підтримує ліцензію, або увімкніть ліцензування TPM, а потім оновіть реєстрацію.</p>",
+  "server.state.enoflash.heading": "Не виявлено дійсного ліцензійного пристрою",
+  "server.state.enoflash.humanReadable": "Немає ліцензійного пристрою",
+  "server.state.enoflash.message": "<p>Для ліцензування не виявлено дійсного TPM або USB-флешпристрою. Підключіть USB-флешпристрій, що підтримує ліцензування, або увімкніть ліцензування через TPM, а потім оновіть реєстрацію.</p>",

Also applies to: 782-784

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

In `@web/src/locales/uk.json` at line 349, The Ukrainian phrasing for the
license-device messages is awkward; update the value of
"onboarding.licenseStep.status.noLicenseDevice" to use the idiomatic noun phrase
"ліцензійного пристрою" and correct case agreement—e.g. replace the current
string with "Не виявлено дійсного ліцензійного пристрою"; apply the same
phrasing/case fix to the related keys around lines 782-784 so all user-facing
messages consistently use "ліцензійного пристрою" and proper Ukrainian grammar.

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.

1 participant