Repository navigation
fix(i18n): the Russian pack says вы to the user throughout - #414
Merged
Merged
Conversation
ru.js addressed the user with ты in 180 strings and with вы in all the others that address the user, and no string used both. The 180 say вы now: нажми → нажмите, твой → ваш, Забыл → Забыли, Ты это отклонил → Вы это отклонили. Only the register changes; with the Cyrillic letters masked, each old and new string match character for character, except 'Turning this off removes you from the numbers immediately'. It said «Выключишь, и сразу исчезнешь из цифр»; «Выключите, и сразу…» would read as an instruction, so it says «Если выключите, сразу исчезнете из цифр». Five messages the user sends to the Coach are left as they are: the Coach is the one addressed there. No string uses вы for several people. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…рамма
ru.js named the Coach «Коуч» in five strings and «Тренер» in 74.
«Коуч» → «Тренер», in the case each string needs:
у Тренера, Тренер работает, предлагал Тренер, План Тренера, истории
Тренера. Two import messages said «{0} рутин» where 74 strings say
«программ…» for a routine; they say «{0} программ» now.
Of the five messages the chat posts for the user when a quick action is
tapped, four say ты to the Coach and 'Have a look at my training and
tell me what you would change.' said вы. It says ты now: «Посмотри на мои
тренировки и скажи, что бы ты изменил.»
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
kurktchiev
force-pushed
the
gh/ru-one-register
branch
from
October 7, 2026 17:25
ca8a108 to
be64a51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ru.js speaks to the user in two registers. The Coach, the sync messages and the gym card say вы ("Ваш план готов", "Добавьте карту зала"). Sign-in, the plan, the workout screen and the progression hints say ты ("Введи пароль", "Твой недельный план", "Продолжай: нажми «+ Добавить упражнение» ниже"). Two lines in sheets.jsx that say the same thing disagree: 'Finish your current workout first' is «Сначала завершите текущую тренировку», and 'Finish the current workout first.' is «Сначала заверши текущую тренировку.»
I counted strings, not lines, by every second-person form: ты and вы in all cases, твой and ваш, imperatives, 2nd-person verbs, and past forms that stand for "you did" («Забыл?», «Побил цель в нём, и вес растёт»). The word lists come from the pack's own vocabulary, sorted by hand. 180 strings address the user with ты, and every other string that addresses the user says вы. No string mixes the two.
This PR moves the 180 to вы. Two of them are the pairing messages ('Open Settings → Account → “Pair the mobile app”…'), which said вы until 0960110 (the Settings rework) rewrote them with ты. Only the register changes: нажми → нажмите, твой → ваш, у тебя → у вас, будешь → будете, Забыл? → Забыли?, Ты это отклонил → Вы это отклонили. With the Cyrillic letters masked, each old and new string match character for character, so word order, punctuation and placeholders are untouched. One string is reworded. In 'Turning this off removes you from the numbers immediately', «Выключишь, и сразу исчезнешь из цифр» would have become «Выключите, и сразу…», which reads as an instruction, so it says «Если выключите, сразу исчезнете из цифр». After the change no string says ты to the user.
Five strings are the user talking to the Coach, and the first commit leaves them alone: the lines the chat posts for the user when a quick action is tapped ('Have a look at my training and tell me what you would change.', 'Build me a fresh plan from my answers.', 'Improve my routine “{0}”.'), the instruction sent with the last one ('Focus only on my routine “{0}”. …'), and an example line no screen uses ('e.g. “swap the squats for split squats, and Mondays are short”', which #415 removes). Four say ты to the Coach and 'Have a look at my training…' said вы.
The second commit brings three smaller things in line with the rest of the pack:
No string uses вы for several people at once, so nothing needed an exception.
Both commits were made by Claude, and no native Russian speaker has checked them.
Tests: no test reads these Russian strings. With both commits, check-locales.mjs: 17 locales, 1,979 keys each. check-source-strings.mjs --strict: 1,555 strings, all in the packs. pt-br-locale.test.js passes with the fingerprint unchanged. The full frontend suite passes on 39bc71e.
No open PR gains a conflict from this branch.
Five open PRs add strings that say ты: #391 (30), #82 (8), #312 (7), and #177 and #373 one each. Whichever of them lands after this one brings the mix back unless those strings move to вы as well. No open PR adds a string with «Коуч» or «рутин». This branch also merges cleanly with #415.
🤖 Generated with Claude Code