Skip to content

fix(i18n): complete the Russian dashboard locale - #97969

Open
vilkovprojects wants to merge 1 commit into
NousResearch:mainfrom
vilkovprojects:ru-locale-complete
Open

vilkovprojects wants to merge 1 commit into
NousResearch:mainfrom
vilkovprojects:ru-locale-complete

Conversation

@vilkovprojects

Copy link
Copy Markdown

What does this PR do?

Completes the Russian dashboard locale. ru.ts was missing 79 keys that exist in en.ts, so those strings silently fell back to English on a dashboard that is otherwise Russian: the Profiles page, the kanban task and board dialogs, the font picker, the memory/disk pressure banners, the gateway restart and update confirmations, and a number of hints. Three kanban bulk confirmations were present in ru.ts but still in English after the fallback pass in 3c2daf5.

It also fixes three defects in the Russian copy that were already there:

  • Plural-unsafe counts. "Отметить {n} задач" is wrong for 2-4, where Russian needs a different noun form ("2 задачи", not "2 задач"). The four bulk strings now carry the count in parentheses, which stays correct for every n.
  • Two states, one word. disabled and disconnected both rendered as "Отключено" in the same status block, so a switched-off feature and a dropped connection read identically. disabled is now "Выключено".
  • Quotation marks. Two strings carried English “ ” copied from en.ts; the rest of the file uses Russian guillemets « ».

Nothing else was retranslated.

Related Issue

No issue — the gap is mechanical (keys present in en.ts, absent in ru.ts).

Note on #88444

#88444 (opened Aug 17) covers the same ground with 62 keys. This PR is a superset of it: the same keys, plus 17 that landed in en.ts afterwards (the memory and disk banners, gatewayHint, cron.delivery.noneConfigured, and the longer kanban/board hints), plus the three untranslated bulk confirmations and the three copy defects above.

I am happy to close this one if you would rather land #88444 first and take the remainder as a follow-up — please just say which you prefer. The earlier pass there, and its review thread flagging the plural forms and the disabled/disconnected collision, are what made those two fixes obvious here.

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)

Changes Made

  • web/src/i18n/ru.ts — 79 keys added, each at the same position as in en.ts so the two files stay diffable side by side; the kanban.trash section added, which was absent entirely; four bulk strings reworded to be plural-safe; status.disabled changed from "Отключено" to "Выключено"; two strings switched to guillemets; invalidName and cloneFrom split onto separate lines (they shared one line — formatting only, no wording change).

No other locale and no en.ts was touched, and no key was renamed.

How to Test

  1. cd web && npm run typecheck — passes (tsc -p . --noEmit, exit 0).
  2. cd web && npm run build — passes (tsc -b && vite build, exit 0).
  3. Set the dashboard language to Русский and open Profiles, Kanban (including the new-task and board-settings dialogs), Cron and System. Strings that previously fell back to English now render in Russian.
  4. Select several kanban tasks and use a bulk action — the confirmation reads correctly for 1, 2 and 5 selected tasks.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits
  • I searched for existing PRs — see the note on i18n(ru): complete the Russian dashboard locale #88444 above
  • My PR contains only changes related to this fix
  • pytest tests/ -q — not run. This change touches no Python; web typecheck and build were run instead and both pass. Say the word if you want the Python suite run anyway.
  • Tests added — there is no test surface for a locale file in this repo
  • Tested on: Ubuntu 24.04 (dashboard v2026.8.16)

Documentation & Housekeeping

  • Documentation — N/A
  • cli-config.yaml.example — N/A
  • CONTRIBUTING.md / AGENTS.md — N/A

ru.ts was missing 79 keys present in en.ts, so those strings silently fell
back to English on an otherwise Russian dashboard. Three kanban bulk
confirmations were present but left untranslated.

Also fixes three defects in the existing Russian copy:

- Plural-unsafe counts. "Отметить {n} задач" is wrong for 2-4, where
  Russian needs a different noun form. The four bulk strings now carry the
  count in parentheses, which stays correct for every n.
- "Отключено" was used for both `disabled` and `disconnected` in the same
  status block, so a switched-off feature and a dropped connection read
  identically. `disabled` is now "Выключено".
- Two strings carried English quotation marks copied from en.ts; the rest
  of the file uses Russian guillemets.

Housekeeping: `invalidName` and `cloneFrom` shared a single line; they are
now one per line, as everywhere else in the file. No wording changed.
@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/dashboard Web dashboard / control panel UI (dashboard/, landing) area/i18n Localization, locales, translations labels Aug 29, 2026
@Enough1122

Copy link
Copy Markdown

AI code review — automated review for reference; please use your judgment.

PR #97969 — fix(i18n): complete the Russian dashboard locale

Summary: Adds missing web/src/i18n/ru.ts translations: gateway/gatewayHint, managingProfile banners, memory/disk OOM banners, disabled/restartGateway confirms, profile activeBadge/aliasBadge/description/distribution, cloneAll/model selectors, pluginsPage.profileSelector, theme.font*, and kanban task/column strings (confirmDoneMany, needsAssignee, newTaskTitle, boardSettings, commentHint, etc.). Fixes invalidName/cloneFrom line-break artifact.

Non-blocking observations:

  • Large auto-generated locale sync — keys appear to mirror English source. Spot-checked confirmDoneMany/confirmArchiveMany now Russian; consider a native-speaker pass for nuance, but no functional risk.
  • Doc-only; no code path change.

Verdict: Translation completion. No blocking issues.

This branch has not been deployed

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

Labels

area/i18n Localization, locales, translations comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants