Skip to content

feat(l10n): Add Russian translations - #213

Closed
Kagashini wants to merge 1 commit into
donetick:developfrom
Kagashini:develop
Closed

feat(l10n): Add Russian translations#213
Kagashini wants to merge 1 commit into
donetick:developfrom
Kagashini:develop

Conversation

@Kagashini

Copy link
Copy Markdown

Adds new Russian translation files for chores, common, and settings.

Adds new Russian translation files for chores, common, and settings.
@meauxt

meauxt commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@everysingletear I think you also want to have a PR for Russian? Can we combine efforts @Kagashini @everysingletear ?

@everysingletear

Copy link
Copy Markdown
Contributor

@meauxt @Kagashini — sorry for the slow reply, I've been heads-down on another project and
couldn't get back to this as promptly as I'd have liked. Happy to combine, and rather than
describe what we have I've just opened it: #238.

That's Russian for all eleven namespaces (auth, chores, common, filters, history, labels,
points, projects, settings, things, timer), covering every key currently in en on develop.
Plural forms use the full Russian set (_one/_few/_many/_other), no English strings were
touched, and eslint / prettier -c / lint:i18n / build are green on the branch. It
also carries the two one-line changes ru needs to actually work — the entry in
AVAILABLE_LANGUAGES and import 'moment/locale/ru', without which the UI translates but
every date stays English. We've been running this for our family since July.

If you'd rather Russian came through Crowdin like the other languages, that's fine by me and
probably tidier long-term — ru just isn't a target language in the project yet, so nothing
Russian can flow through it today (#230 brings ar, de, es, fr, ja, nl, pt and zh, but not
ru). Enable it and I'll upload the same set there instead, and #238 can be closed.

On #213 — offered as a technical read, and I hope it lands that way. Reading through it,
the Russian looks like it came out of a translation engine and hasn't had an editing pass by
a Russian speaker yet. That's a completely normal starting point; it's the pass afterwards
that's missing, not the work. What gives it away:

  • webhooks became «веб-перехватчики». No Russian developer says that; it's «вебхуки».
  • GitHub issues became «проблемы», so "We've filled in an issue with your notes" turns into
    "we filled in a problem with your notes" — close to meaningless in Russian.
  • Can impersonate users became «Может выдавать себя за пользователей», which in Russian
    describes fraud rather than a permission. For a manager role in a family app that reads
    alarming.
  • Systemically: 23 sentences open with «Пожалуйста» (a direct calque of "Please", which
    Russian UI copy drops), and the letter «ё» appears zero times across 687 lines.

There's also one functional bug worth flagging whichever route we take: common.json defines
results_one and results_other only. Russian has four plural categories, so at 5 results
i18next falls through to _other and renders "5 результата", which is ungrammatical.

None of that is hard to fix — it's proofreading, not redoing. And @Kagashini, I'd genuinely
like you reviewing #238. A second native speaker on wording is useful, and there are real
judgement calls in there that one person shouldn't make alone: Donetick uses "chore" and
"task" for the same object, and Russian has to pick one word and hold it across all eleven
namespaces. I went with «дело» over «задача» — warmer, less corporate, and this is an app
families use. That's arguable, and it's exactly the kind of thing worth arguing about.

@meauxt

meauxt commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

@Kagashini will close this as the translation are in now! Thank you for the contribution!

@meauxt meauxt closed this Aug 27, 2026
@Kagashini

Copy link
Copy Markdown
Author

Apologies for the late reply. I could help with the translation, especially if a preliminary version had already been uploaded to the project itself and was present in Crowdin, so that changes could be made.
At the moment, it is difficult to assess how this will look without seeing the result.

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.

3 participants