TempoLife › Features › Help translate TempoLife › ru
Russian — Русский
5 188 of 5 190 TempoLife strings are translated into Russian (100.0%). Browse the string list, see the English source next to the current text, and suggest a better one.
Shipping. Long strings are the usual problem: Russian runs longer than English and breaks tight buttons.
The string list
Every row is one string in the app. The English column is the source; the Russian column is what ships today, or missing when nothing does. Open a row to see it in the other languages and to suggest a change.
All strings Missing only
| Key | English | Russian |
|---|---|---|
auth.password_repeat | Repeat password | Повторите пароль |
auth.pw_changed | Password changed! Redirecting to login... | Пароль изменён! Перенаправляю на вход... |
auth.pw_mismatch | Passwords don't match | Пароли не совпадают |
auth.pw_rules | At least 8 characters | Минимум 8 символов |
auth.pw_too_short | Password must be at least 8 characters | Пароль должен быть не менее 8 символов |
auth.reg_failed | Registration failed | Ошибка регистрации |
auth.register | Register | Регистрация |
auth.register_btn | Create account → | Создать аккаунт → |
auth.resend | Resend | Отправить заново |
auth.resend_failed | Sending failed | Ошибка отправки |
auth.reset_code_sent | If this email is registered, you will receive a reset code. | Если этот адрес зарегистрирован, вы получите код для сброса пароля. |
auth.send_code | Send code → | Отправить код → |
auth.server_error | Server error. Try again. | Ошибка сервера. Попробуйте снова. |
auth.show_password | Show password | Показать пароль |
auth.sign_in | Sign in | Войти |
auth.sign_in_btn | Sign in | Войти |
auth.terms | terms of service | условиями использования |
auth.terms_agree | By using you agree to | Используя, вы соглашаетесь с |
auth.use_password_instead | Use a password instead | Вместо этого использовать пароль |
auth.verified | Email verified! Redirecting... | Почта подтверждена! Перенаправляю... |
auth.verify_btn | Verify → | Подтвердить → |
auth.verify_failed | Verification failed | Ошибка подтверждения |
auth.verify_sub | We sent a 6-digit code to | Мы отправили 6-значный код на адрес |
auth.verify_title | Verify your email | Подтвердите почту |
bc.close | Close | Закрыть |
bc.hint | Hold the EAN-13 barcode in front of the camera | Поднесите штрих-код EAN-13 к камере |
bc.ready | Press "Start" to open camera | Нажмите "Начать" для открытия камеры |
bc.start | 📷 Start | 📷 Начать |
bc.stop | ⏹ Stop | ⏹ Остановить |
bc.title | 📷 Scan drug package | 📷 Сканировать упаковку |
bc.title_food | 📷 Scan food package | 📷 Сканировать упаковку продукта |
bedtime.body | Bedtime is at | Время сна в |
bedtime.dismiss | OK, got it | Ок, понятно |
bedtime.sub | Your bedtime is | Время отхода ко сну |
bedtime.sub2 | Good sleep is the foundation of health. | Хороший сон — основа здоровья. |
bedtime.title | Time to go to sleep! | Пора спать! |
bill.billing_soon | Payments open soon | Оплата скоро откроется |
bill.cancel | Cancel subscription | Отменить подписку |
bill.cancel_confirm | Cancel subscription? You keep access until the period ends. | Отменить подписку? Доступ сохранится до конца периода. |
bill.cancel_hint | You keep access until the end of the period. | Доступ сохранится до конца периода. |
bill.cancel_success | Subscription cancelled | Подписка отменена |
bill.cancels_on | Cancelled — active until {d} | Отменена — действует до {d} |
bill.checkout_cancelled | Payment cancelled | Оплата отменена |
bill.choose_plan | Choose a plan | Выберите план |
bill.ev_cancelled | Subscription cancelled | Подписка отменена |
bill.ev_change | Plan changed | План изменён |
bill.ev_expired | Subscription expired | Подписка истекла |
bill.ev_grant | Premium granted | Премиум выдан |
bill.ev_purchase | Premium purchased | Премиум куплен |
bill.ev_reactivated | Subscription reactivated | Подписка возобновлена |
bill.ev_trial | Trial started | Пробный период начался |
bill.free_scans | {n} scans per month — {l} left | {n} сканов в месяц — осталось {l} |
bill.free_scans_day | {n} scans per day — {l} left | {n} сканов в день — осталось {l} |
bill.free_scans_dual | {w}/week · {m}/month — {l} left | {w}/нед · {m}/мес — осталось {l} |
bill.history | History | История |
bill.included | Included | Включено |
bill.no_active | No active subscription | Нет активной подписки |
bill.no_expiry | No expiry — no auto-renewal | Бессрочно — без автопродления |
bill.no_history | No events yet | Пока нет событий |
bill.no_method | No payment method saved | Способ оплаты не сохранён |
← Previous Page 22 of 87 Next →
What makes a good Russian string here
Keep the placeholders. Anything in curly braces is replaced with a real value before the string is shown. Drop {n} and the sentence loses its number; rename it and the replacement silently fails. They can move within the sentence, but they must all still be there and spelled exactly as in the English.
Watch the length. Most of these strings live in a fixed space: a tab label, a button, a stat tile under a big number. A translation half again as long as the English will be clipped or will push a layout apart on a small phone. When the natural translation is much longer, a shorter and slightly blunter phrasing is the right answer.
Use the app's own vocabulary consistently. The same concept should read the same way everywhere — one word for a logged meal, one for a fast, one for a streak. Consistency matters more than variety; a synonym used once reads as a different feature.
Do not translate health claims into advice. Several strings deliberately describe a number without telling anyone what to do about it. A translation that turns "your resting rate is above your baseline" into "see a doctor" changes what the app claims, which is not a translation decision.
How this list is built
The list is parsed from the app's own translation files at the moment you load the page, so it cannot drift from what ships. Strings the parser could not read in a single pass are left out entirely — 37 lines in the Russian files fell into that category — rather than being shown with a guessed value.
Source: TempoLife app translation files (assets/js/i18n*.js), parsed at page render · checked 2026-09-02