Files
galaxy-game/ui/frontend/src/lib/i18n/locales/ru.ts
T
Ilia Denisov f7300f25a3
Tests · UI / test (push) Has been cancelled
Tests · Integration / integration (pull_request) Successful in 1m36s
Tests · Go / test (pull_request) Successful in 3m19s
Tests · UI / test (pull_request) Waiting to run
Phase 28 (Steps 6+9): mail active view + i18n keys
Step 6 — mail active view + subcomponents.

- `lib/active-view/mail.svelte` replaces the Phase 10 stub with the
  list / detail layout: two-pane on desktop, one-pane stack on
  mobile (CSS media query, no separate route).
- `lib/active-view/mail/thread-list.svelte` renders per-race
  threads collapsed to their last message plus stand-alone
  system / admin / outgoing-broadcast items, with unread badges.
- `lib/active-view/mail/thread-pane.svelte` is the chat-style
  transcript for one race; bodies render through `textContent`,
  per-message Show original / translation toggles flip the
  rendering when a translated body is present, and a persistent
  reply box at the bottom calls `mailStore.composePersonal`.
- `lib/active-view/mail/system-item-pane.svelte` renders one
  stand-alone item read-only with the same translation toggle.
- `lib/active-view/mail/compose.svelte` is the compose dialog:
  recipient race picker fed from `report.races[]`, kind toggle
  (personal / broadcast / admin), admin sub-toggle for target
  user / all and recipient-scope picker. Server-side enforces
  paid-tier and owner gating; the UI surfaces 403 inline.
- `lib/active-view/mail/system-titles.ts` keeps the keyword →
  i18n-title mapping for lifecycle-hook system mail so both the
  list and the detail pane pick the same canonical title.

Step 9 — i18n strings (en + ru).

`game.mail.*`, `game.view.mail.badge`, `game.events.mail_new.*`,
`game.mail.system.*` keys added in lockstep across both locales
covering compose labels / validation copy / per-system titles /
translation toggle / reply / delete affordances.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 22:43:09 +02:00

633 lines
47 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Russian translation dictionary. The keys are identical to the
// English dictionary in `en.ts`; the values are the human Russian
// text. Adding a new key requires updating every locale file in
// this folder so the `t()` helper does not fall back to English.
import type en from "./en";
const ru: Record<keyof typeof en, string> = {
"common.language": "язык",
"common.loading": "загрузка…",
"common.dismiss": "закрыть",
"common.browser_not_supported_title": "браузер не поддерживается",
"common.browser_not_supported_body":
"Galaxy требует поддержки Ed25519 в WebCrypto. См. список поддерживаемых браузеров.",
"game.events.turn_ready.message": "ход {turn} готов",
"game.events.turn_ready.action": "открыть",
"game.events.signature_failed": "подпись повреждена, переподключение…",
"login.title": "вход в Galaxy",
"login.email_label": "электронная почта",
"login.email_required": "адрес не должен быть пустым",
"login.send_code": "отправить код",
"login.sending": "отправляем…",
"login.code_label": "код",
"login.code_required": "код не должен быть пустым",
"login.code_sent_to": "код отправлен на {email}",
"login.verify": "подтвердить",
"login.verifying": "проверяем…",
"login.send_new_code": "отправить новый код",
"login.change_email": "изменить адрес",
"login.challenge_expired":
"запрос устарел, запросите новый код",
"login.code_expired_or_used":
"код устарел или уже использован, запросите новый",
"login.device_key_not_ready":
"ключ устройства ещё не готов, перезагрузите страницу",
"lobby.title": "вы вошли в систему",
"lobby.device_session_id_label": "идентификатор сессии устройства",
"lobby.greeting": "здравствуйте, {name}!",
"lobby.account_loading": "загрузка профиля…",
"lobby.logout": "выйти",
"lobby.section.my_games": "мои игры",
"lobby.section.invitations": "ожидающие приглашения",
"lobby.section.applications": "мои заявки",
"lobby.section.public_games": "публичные игры",
"lobby.section.create": "создать игру",
"lobby.create_button": "создать новую игру",
"lobby.my_games.empty": "пока нет игр",
"lobby.invitations.empty": "приглашений нет",
"lobby.applications.empty": "заявок нет",
"lobby.public_games.empty": "публичных игр нет",
"lobby.invitation.accept": "принять",
"lobby.invitation.decline": "отклонить",
"lobby.application.submit": "подать заявку",
"lobby.application.submit_for": "подать заявку в {name}",
"lobby.application.race_name_label": "название расы",
"lobby.application.race_name_required": "название расы не должно быть пустым",
"lobby.application.cancel": "отмена",
"lobby.application.submitted": "заявка отправлена, ожидает одобрения",
"lobby.application.status.pending": "ожидает",
"lobby.application.status.approved": "одобрена",
"lobby.application.status.rejected": "отклонена",
"lobby.application.status.unknown": "{status}",
"lobby.list_loading": "загрузка…",
"lobby.create.title": "создание новой игры",
"lobby.create.game_name_label": "название игры",
"lobby.create.description_label": "описание",
"lobby.create.turn_schedule_label": "расписание ходов",
"lobby.create.turn_schedule_hint": "cron из пяти полей, например 0 0 * * *",
"lobby.create.enrollment_ends_at_label": "окончание набора",
"lobby.create.advanced": "дополнительно",
"lobby.create.min_players_label": "мин. игроков",
"lobby.create.max_players_label": "макс. игроков",
"lobby.create.start_gap_hours_label": "интервал старта (часы)",
"lobby.create.start_gap_players_label": "интервал старта (игроки)",
"lobby.create.target_engine_version_label": "версия движка",
"lobby.create.submit": "создать",
"lobby.create.submitting": "создаём…",
"lobby.create.cancel": "отмена",
"lobby.create.game_name_required": "название игры не должно быть пустым",
"lobby.create.turn_schedule_required": "расписание ходов не должно быть пустым",
"lobby.create.enrollment_ends_at_required": "время окончания набора обязательно",
"lobby.error.invalid_request": "запрос некорректен",
"lobby.error.subject_not_found": "объект не найден",
"lobby.error.forbidden": "операция запрещена",
"lobby.error.conflict": "запрос конфликтует с текущим состоянием",
"lobby.error.internal_error": "внутренняя ошибка сервера",
"lobby.error.unknown": "{message}",
"game.shell.unknown": "?",
"game.shell.connection.online": "онлайн",
"game.shell.connection.reconnecting": "переподключение…",
"game.shell.connection.offline": "офлайн",
"game.shell.menu.toggle_sidebar": "открыть боковую панель",
"game.shell.menu.close_sidebar": "закрыть боковую панель",
"game.shell.menu.open_views": "открыть меню видов",
"game.shell.menu.close_views": "закрыть меню видов",
"game.shell.menu.account": "аккаунт",
"game.shell.menu.settings": "настройки",
"game.shell.menu.sessions": "сессии",
"game.shell.menu.theme": "тема",
"game.shell.menu.language": "язык",
"game.shell.menu.logout": "выйти",
"game.shell.coming_soon": "скоро будет",
"game.shell.turn.label": "ход {turn}",
"game.shell.turn.list_item": "ход #{turn}",
"game.shell.turn.prev": "предыдущий ход",
"game.shell.turn.next": "следующий ход",
"game.shell.turn.open_navigator": "открыть список ходов",
"game.shell.turn.close_navigator": "закрыть список ходов",
"game.shell.history.viewing": "Просмотр хода {turn} · только чтение",
"game.shell.history.return_to_current": "Вернуться к текущему ходу",
"game.shell.history.current_badge": "текущий",
"game.view.map": "карта",
"game.view.table": "таблица",
"game.view.table.planets": "планеты",
"game.view.table.ship_classes": "классы кораблей",
"game.view.table.ship_groups": "группы кораблей",
"game.view.table.fleets": "флоты",
"game.view.table.sciences": "науки",
"game.view.table.races": "расы",
"game.view.report": "отчёт хода",
"game.view.battle": "журнал боёв",
"game.view.mail": "дипломатическая почта",
"game.view.mail.badge": "{count}",
"game.events.mail_new.message": "новое письмо от {from}",
"game.events.mail_new.action": "открыть",
"game.mail.loading": "загрузка почты…",
"game.mail.load_failed": "не удалось загрузить почту",
"game.mail.empty": "дипломатических сообщений пока нет",
"game.mail.back": "назад",
"game.mail.compose_action": "написать",
"game.mail.select_thread": "выбери ветку слева",
"game.mail.broadcast.title": "твоя рассылка",
"game.mail.admin.title": "административное уведомление",
"game.mail.system.generic.title": "системное сообщение",
"game.mail.system.game_paused.title": "игра поставлена на паузу",
"game.mail.system.game_cancelled.title": "игра отменена",
"game.mail.system.membership_removed.title": "членство удалено",
"game.mail.system.membership_blocked.title": "членство заблокировано",
"game.mail.subject_placeholder": "тема (необязательно)",
"game.mail.body_placeholder": "твоё сообщение…",
"game.mail.recipient_label": "раса",
"game.mail.recipient_required": "выбери расу-получателя",
"game.mail.body_required": "тело сообщения не может быть пустым",
"game.mail.body_too_long": "длина тела превышает лимит {limit} байт",
"game.mail.subject_too_long": "длина темы превышает лимит {limit} байт",
"game.mail.compose.send": "отправить",
"game.mail.compose.cancel": "отмена",
"game.mail.compose.target_personal": "личное",
"game.mail.compose.target_broadcast": "рассылка",
"game.mail.compose.target_admin": "админ.",
"game.mail.compose.recipients_active": "активным членам",
"game.mail.compose.recipients_active_and_removed": "активным + удалённым",
"game.mail.compose.recipients_all_members": "всем членам",
"game.mail.compose.target_label": "тип",
"game.mail.compose.recipients_label": "адресаты",
"game.mail.compose.send_failed": "отправка не удалась",
"game.mail.show_original": "показать оригинал",
"game.mail.show_translation": "показать перевод",
"game.mail.translation_unavailable": "перевод недоступен",
"game.mail.reply_label": "ответить",
"game.mail.delete_action": "удалить",
"game.mail.outgoing_label": "ты",
"game.view.designer.ship_class": "конструктор класса кораблей",
"game.view.designer.science": "редактор наук",
"game.sidebar.tab.calculator": "калькулятор",
"game.sidebar.tab.inspector": "инспектор",
"game.sidebar.tab.order": "приказ",
"game.sidebar.empty.calculator": "скоро будет",
"game.sidebar.empty.inspector": "выберите объект на карте",
"game.sidebar.empty.order": "приказ пуст",
"game.sidebar.order.command_delete": "удалить",
"game.sidebar.order.sync.idle": "нет изменений",
"game.sidebar.order.sync.in_flight": "синхронизация…",
"game.sidebar.order.sync.synced": "сохранено на сервере",
"game.sidebar.order.sync.error": "ошибка синхронизации: {message}",
"game.sidebar.order.sync.offline": "очередь — нет связи, повторим при восстановлении",
"game.sidebar.order.sync.conflict": "ход закрылся до отправки",
"game.sidebar.order.sync.paused": "игра на паузе — приказы не принимаются",
"game.sidebar.order.sync.retry": "повторить",
"game.sidebar.order.conflict.banner": "Ход {turn} закрылся до того, как приказ был принят. Отредактируй и отправь ещё раз.",
"game.sidebar.order.conflict.banner_no_turn": "Ход закрылся до того, как приказ был принят. Отредактируй и отправь ещё раз.",
"game.sidebar.order.paused.banner": "Игра на паузе. Приказы не принимаются, пока она не возобновится.",
"game.sidebar.order.status.draft": "черновик",
"game.sidebar.order.status.valid": "готова",
"game.sidebar.order.status.invalid": "ошибка",
"game.sidebar.order.status.submitting": "отправка",
"game.sidebar.order.status.applied": "принята",
"game.sidebar.order.status.rejected": "отклонена",
"game.sidebar.order.status.conflict": "конфликт",
"game.sidebar.order.label.placeholder": "{label}",
"game.sidebar.order.label.planet_rename": "переименовать планету {planet} → {name}",
"game.sidebar.order.label.planet_production": "сменить производство планеты {planet} → {target}",
"game.bottom_tabs.map": "карта",
"game.bottom_tabs.calc": "калк",
"game.bottom_tabs.order": "приказ",
"game.bottom_tabs.more": "ещё",
"game.inspector.planet.kind.local": "ваша планета",
"game.inspector.planet.kind.other": "планета другой расы",
"game.inspector.planet.kind.uninhabited": "необитаемая планета",
"game.inspector.planet.kind.unidentified": "неопознанная планета",
"game.inspector.planet.field.name": "название",
"game.inspector.planet.field.owner": "владелец",
"game.inspector.planet.field.coordinates": "координаты",
"game.inspector.planet.field.size": "размер",
"game.inspector.planet.field.population": "население",
"game.inspector.planet.field.colonists": "колонисты",
"game.inspector.planet.field.industry": "промышленность",
"game.inspector.planet.field.industry_stockpile": "запасы промышленности ($)",
"game.inspector.planet.field.materials_stockpile": "запасы сырья (M)",
"game.inspector.planet.field.natural_resources": "природные ресурсы",
"game.inspector.planet.field.production": "текущее производство",
"game.inspector.planet.field.free_industry": "свободные мощности",
"game.inspector.planet.production_none": "не задано",
"game.inspector.planet.unidentified_no_data": "нет данных — известно только местоположение",
"game.inspector.sheet_close": "закрыть",
"game.inspector.planet.action.rename": "переименовать",
"game.inspector.planet.rename.title": "переименование планеты",
"game.inspector.planet.rename.confirm": "сохранить",
"game.inspector.planet.rename.cancel": "отмена",
"game.inspector.planet.rename.invalid.empty": "имя не может быть пустым",
"game.inspector.planet.rename.invalid.too_long": "имя слишком длинное (максимум 30 символов)",
"game.inspector.planet.rename.invalid.starts_with_special": "имя не может начинаться со спецсимвола",
"game.inspector.planet.rename.invalid.ends_with_special": "имя не может заканчиваться спецсимволом",
"game.inspector.planet.rename.invalid.consecutive_specials": "слишком много спецсимволов подряд",
"game.inspector.planet.rename.invalid.whitespace": "имя не может содержать пробелы",
"game.inspector.planet.rename.invalid.disallowed_character": "имя содержит недопустимые символы",
"game.inspector.planet.production.title": "производство",
"game.inspector.planet.production.option.industry": "промышленность",
"game.inspector.planet.production.option.materials": "сырьё",
"game.inspector.planet.production.option.research": "исследование",
"game.inspector.planet.production.option.ship": "корабль",
"game.inspector.planet.production.research.drive": "двигатель",
"game.inspector.planet.production.research.weapons": "оружие",
"game.inspector.planet.production.research.shields": "щиты",
"game.inspector.planet.production.research.cargo": "трюм",
"game.inspector.planet.production.ship.no_classes": "классы кораблей ещё не спроектированы",
"game.inspector.planet.cargo.title": "грузовые маршруты",
"game.inspector.planet.cargo.slot.col": "колонисты",
"game.inspector.planet.cargo.slot.cap": "промышленность",
"game.inspector.planet.cargo.slot.mat": "сырьё",
"game.inspector.planet.cargo.slot.emp": "пустые корабли",
"game.inspector.planet.cargo.empty": "(маршрута нет)",
"game.inspector.planet.cargo.add": "добавить",
"game.inspector.planet.cargo.edit": "изменить",
"game.inspector.planet.cargo.remove": "удалить",
"game.inspector.planet.cargo.pick.prompt": "выбери цель на карте (Esc — отмена)",
"game.inspector.planet.cargo.pick.cancel": "отменить выбор",
"game.inspector.planet.cargo.pick.no_destinations": "нет планет в зоне полёта {reach} ед.",
"game.sidebar.order.label.cargo_route_set": "маршрут {loadType} с планеты {source} → планета {destination}",
"game.sidebar.order.label.cargo_route_remove": "удалить маршрут {loadType} с планеты {source}",
"game.sidebar.order.label.ship_class_create": "сконструировать класс корабля {name}",
"game.sidebar.order.label.ship_class_remove": "удалить класс корабля {name}",
"game.sidebar.order.label.science_create": "определить науку {name}",
"game.sidebar.order.label.science_remove": "удалить науку {name}",
"game.sidebar.order.label.ship_group_break": "разделить группу {group} → новая группа из {quantity} кораблей",
"game.sidebar.order.label.ship_group_send": "отправить группу {group} → планета {destination}",
"game.sidebar.order.label.ship_group_load": "загрузить {cargo} × {quantity} в группу {group}",
"game.sidebar.order.label.ship_group_unload": "выгрузить × {quantity} из группы {group}",
"game.sidebar.order.label.ship_group_upgrade": "модернизация группы {group} {tech} → {level}",
"game.sidebar.order.label.ship_group_dismantle": "разобрать группу {group}",
"game.sidebar.order.label.ship_group_transfer": "передать группу {group} → {acceptor}",
"game.sidebar.order.label.ship_group_join_fleet": "включить группу {group} → флот {fleet}",
"game.sidebar.order.label.race_relation": "объявить {relation} расе {acceptor}",
"game.sidebar.order.label.race_vote": "отдать голоса расе {acceptor}",
"game.table.ship_classes.title": "классы кораблей",
"game.table.ship_classes.column.name": "название",
"game.table.ship_classes.column.drive": "двигатель",
"game.table.ship_classes.column.armament": "вооружённость",
"game.table.ship_classes.column.weapons": "оружие",
"game.table.ship_classes.column.shields": "защита",
"game.table.ship_classes.column.cargo": "трюм",
"game.table.ship_classes.column.actions": "действия",
"game.table.ship_classes.empty": "классы кораблей ещё не спроектированы",
"game.table.ship_classes.filter.placeholder": "фильтр по названию",
"game.table.ship_classes.action.new": "+ новый класс корабля",
"game.table.ship_classes.action.delete": "удалить",
"game.table.ship_classes.loading": "загрузка классов кораблей…",
"game.designer.ship_class.title.new": "конструктор нового класса корабля",
"game.designer.ship_class.title.view": "класс корабля {name}",
"game.designer.ship_class.field.name": "название",
"game.designer.ship_class.field.drive": "двигатель",
"game.designer.ship_class.field.armament": "вооружённость",
"game.designer.ship_class.field.weapons": "оружие",
"game.designer.ship_class.field.shields": "защита",
"game.designer.ship_class.field.cargo": "трюм",
"game.designer.ship_class.action.save": "сохранить",
"game.designer.ship_class.action.cancel": "отмена",
"game.designer.ship_class.action.delete": "удалить",
"game.designer.ship_class.action.back": "назад",
"game.designer.ship_class.hint.values": "каждое значение — 0 либо ≥ 1; вооружённость — целое неотрицательное; вооружённость и оружие должны быть оба нулевыми либо оба ненулевыми",
"game.designer.ship_class.read_only_notice": "классы кораблей проектируются один раз; характеристики нельзя изменить после создания",
"game.designer.ship_class.not_found": "класса \"{name}\" не существует",
"game.designer.ship_class.invalid.empty": "название не может быть пустым",
"game.designer.ship_class.invalid.too_long": "название слишком длинное (максимум 30 символов)",
"game.designer.ship_class.invalid.starts_with_special": "название не может начинаться со спецсимвола",
"game.designer.ship_class.invalid.ends_with_special": "название не может заканчиваться спецсимволом",
"game.designer.ship_class.invalid.consecutive_specials": "слишком много спецсимволов подряд",
"game.designer.ship_class.invalid.whitespace": "название не может содержать пробелы",
"game.designer.ship_class.invalid.disallowed_character": "название содержит недопустимые символы",
"game.designer.ship_class.invalid.duplicate_name": "класс с таким названием уже существует",
"game.designer.ship_class.invalid.drive_value": "двигатель должен быть 0 или ≥ 1",
"game.designer.ship_class.invalid.armament_value": "вооружённость должна быть 0 или положительным целым",
"game.designer.ship_class.invalid.armament_not_integer": "вооружённость должна быть целым числом",
"game.designer.ship_class.invalid.weapons_value": "оружие должно быть 0 или ≥ 1",
"game.designer.ship_class.invalid.shields_value": "защита должна быть 0 или ≥ 1",
"game.designer.ship_class.invalid.cargo_value": "трюм должен быть 0 или ≥ 1",
"game.designer.ship_class.invalid.armament_weapons_pair": "вооружённость и оружие должны быть оба нулевыми или оба ненулевыми",
"game.designer.ship_class.invalid.all_zero": "хотя бы одно значение должно быть ненулевым",
"game.designer.ship_class.preview.title": "превью при ваших технологиях",
"game.designer.ship_class.preview.mass": "масса",
"game.designer.ship_class.preview.full_load_mass": "масса с полной загрузкой",
"game.designer.ship_class.preview.max_speed": "максимальная скорость (св.лет/ход)",
"game.designer.ship_class.preview.range": "дальность при полной загрузке (св.лет/ход)",
"game.designer.ship_class.preview.cargo_capacity": "грузоподъёмность одного корабля",
"game.designer.ship_class.preview.unavailable": "—",
"game.table.sciences.title": "науки",
"game.table.sciences.column.name": "название",
"game.table.sciences.column.drive": "двигатель %",
"game.table.sciences.column.weapons": "оружие %",
"game.table.sciences.column.shields": "защита %",
"game.table.sciences.column.cargo": "трюм %",
"game.table.sciences.column.actions": "действия",
"game.table.sciences.empty": "науки ещё не определены",
"game.table.sciences.filter.placeholder": "фильтр по названию",
"game.table.sciences.action.new": "+ новая наука",
"game.table.sciences.action.delete": "удалить",
"game.table.sciences.loading": "загрузка наук…",
"game.designer.science.title.new": "определение новой науки",
"game.designer.science.title.view": "наука {name}",
"game.designer.science.field.name": "название",
"game.designer.science.field.drive": "двигатель %",
"game.designer.science.field.weapons": "оружие %",
"game.designer.science.field.shields": "защита %",
"game.designer.science.field.cargo": "трюм %",
"game.designer.science.field.sum": "сумма: {value} % (должно быть 100)",
"game.designer.science.action.save": "сохранить",
"game.designer.science.action.cancel": "отмена",
"game.designer.science.action.delete": "удалить",
"game.designer.science.action.back": "назад",
"game.designer.science.hint.values": "каждое значение — процент в [0, 100] с одним знаком после запятой; четыре процента должны давать в сумме ровно 100",
"game.designer.science.read_only_notice": "науки определяются один раз; характеристики нельзя изменить после создания",
"game.designer.science.not_found": "науки \"{name}\" не существует",
"game.designer.science.invalid.empty": "название не может быть пустым",
"game.designer.science.invalid.too_long": "название слишком длинное (максимум 30 символов)",
"game.designer.science.invalid.starts_with_special": "название не может начинаться со спецсимвола",
"game.designer.science.invalid.ends_with_special": "название не может заканчиваться спецсимволом",
"game.designer.science.invalid.consecutive_specials": "слишком много спецсимволов подряд",
"game.designer.science.invalid.whitespace": "название не может содержать пробелы",
"game.designer.science.invalid.disallowed_character": "название содержит недопустимые символы",
"game.designer.science.invalid.duplicate_name": "наука с таким названием уже существует",
"game.designer.science.invalid.drive_value": "двигатель % должен быть в [0, 100]",
"game.designer.science.invalid.weapons_value": "оружие % должно быть в [0, 100]",
"game.designer.science.invalid.shields_value": "защита % должна быть в [0, 100]",
"game.designer.science.invalid.cargo_value": "трюм % должен быть в [0, 100]",
"game.designer.science.invalid.sum_not_hundred": "сумма четырёх процентов должна быть ровно 100",
"game.table.races.title": "расы",
"game.table.races.loading": "загрузка рас…",
"game.table.races.empty": "других рас пока не видно",
"game.table.races.filter.placeholder": "фильтр по имени",
"game.table.races.column.name": "имя",
"game.table.races.column.drive": "двигатель %",
"game.table.races.column.weapons": "оружие %",
"game.table.races.column.shields": "защита %",
"game.table.races.column.cargo": "трюм %",
"game.table.races.column.population": "население",
"game.table.races.column.industry": "производство",
"game.table.races.column.planets": "планет",
"game.table.races.column.votes": "получено голосов",
"game.table.races.column.relation": "отношение",
"game.table.races.action.war": "ВОЙНА",
"game.table.races.action.peace": "МИР",
"game.table.races.votes.mine": "мои голоса",
"game.table.races.votes.target": "голосую за",
"game.table.races.votes.target_placeholder": "— выберите расу —",
"game.table.races.note.alliance_server_side": "альянсы и победу 2/3 подсчитывает сервер при просчёте хода; в этой таблице видно лишь мой исходящий голос и количество голосов, полученных каждой расой в прошлой раздаче",
"game.inspector.ship_group.kind.local": "ваша группа",
"game.inspector.ship_group.kind.other": "группа другой расы",
"game.inspector.ship_group.kind.incoming": "входящая группа",
"game.inspector.ship_group.kind.unidentified": "неопознанная группа",
"game.inspector.ship_group.field.class": "класс",
"game.inspector.ship_group.field.count": "кораблей",
"game.inspector.ship_group.field.drive": "двигатели",
"game.inspector.ship_group.field.weapons": "оружие",
"game.inspector.ship_group.field.shields": "защита",
"game.inspector.ship_group.field.cargo_tech": "грузоперевозки",
"game.inspector.ship_group.field.mass": "масса",
"game.inspector.ship_group.field.cargo_load": "груз на борту",
"game.inspector.ship_group.field.location": "расположение",
"game.inspector.ship_group.field.from": "из",
"game.inspector.ship_group.field.to": "в",
"game.inspector.ship_group.field.distance": "оставшееся расстояние",
"game.inspector.ship_group.field.speed": "скорость (св.лет/ход)",
"game.inspector.ship_group.field.eta": "прибытие (ходов)",
"game.inspector.ship_group.field.fleet": "флот",
"game.inspector.ship_group.field.state": "состояние",
"game.inspector.ship_group.field.coordinates": "координаты",
"game.inspector.ship_group.cargo.col": "колонисты",
"game.inspector.ship_group.cargo.cap": "промышленность",
"game.inspector.ship_group.cargo.mat": "сырьё",
"game.inspector.ship_group.cargo.emp": "пусто",
"game.inspector.ship_group.cargo.none": "нет",
"game.inspector.ship_group.location.in_hyperspace": "в гиперпространстве",
"game.inspector.ship_group.fleet.none": "—",
"game.inspector.ship_group.unidentified_no_data": "данных нет — известны только координаты",
"game.inspector.ship_group.action.split": "разделить",
"game.inspector.ship_group.action.send": "отправить",
"game.inspector.ship_group.action.load": "загрузить",
"game.inspector.ship_group.action.unload": "выгрузить",
"game.inspector.ship_group.action.modernize": "модернизировать",
"game.inspector.ship_group.action.dismantle": "разобрать",
"game.inspector.ship_group.action.transfer": "передать",
"game.inspector.ship_group.action.join_fleet": "во флот",
"game.inspector.ship_group.action.confirm": "подтвердить",
"game.inspector.ship_group.action.cancel": "отмена",
"game.inspector.ship_group.action.confirm_destroy": "подтвердить — колонисты погибнут",
"game.inspector.ship_group.action.disabled.not_in_orbit": "корабли заняты ({state}); действия доступны только на орбите",
"game.inspector.ship_group.action.disabled.no_reach": "в радиусе двигателей нет планет",
"game.inspector.ship_group.action.disabled.no_drive": "у класса корабля нет блока двигателей",
"game.inspector.ship_group.action.disabled.no_cargo_block": "у класса корабля нет грузового отсека",
"game.inspector.ship_group.action.disabled.no_planet": "планета орбиты не видна",
"game.inspector.ship_group.action.disabled.foreign_planet": "действие доступно только над вашей или ничейной планетой",
"game.inspector.ship_group.action.disabled.empty_cargo": "трюм пуст",
"game.inspector.ship_group.action.disabled.foreign_unload_col": "колонистов нельзя высадить на чужой планете",
"game.inspector.ship_group.action.disabled.no_headroom": "технологии группы уже на вашем расовом уровне",
"game.inspector.ship_group.action.disabled.no_planet_stock": "на планете нет такого ресурса",
"game.inspector.ship_group.action.disabled.full_load": "трюм полностью заполнен",
"game.inspector.ship_group.action.disabled.no_other_races": "нет других нерасправленных рас для передачи",
"game.inspector.ship_group.action.disabled.unknown_class": "класс корабля не найден в отчёте",
"game.inspector.ship_group.action.disabled.locked": "по группе уже отдан приказ; отмените его в списке приказов, чтобы дать новое действие",
"game.inspector.ship_group.action.locked.banner": "по группе уже отдан приказ: {command}. Отмените его в списке приказов, чтобы дать другое действие.",
"game.inspector.ship_group.action.locked.kind.send": "отправка",
"game.inspector.ship_group.action.locked.kind.modernize": "модернизация",
"game.inspector.ship_group.action.locked.kind.dismantle": "разборка",
"game.inspector.ship_group.action.locked.kind.transfer": "передача",
"game.inspector.ship_group.action.field.ships": "кораблей (всего {max})",
"game.inspector.ship_group.action.field.cargo": "тип груза",
"game.inspector.ship_group.action.field.quantity": "количество",
"game.inspector.ship_group.action.field.level": "уровень технологии",
"game.inspector.ship_group.action.field.tech": "технология",
"game.inspector.ship_group.action.field.acceptor": "получатель",
"game.inspector.ship_group.action.field.fleet": "имя флота",
"game.inspector.ship_group.action.field.destination": "планета назначения",
"game.inspector.ship_group.action.tech.all": "все блоки",
"game.inspector.ship_group.action.tech.drive": "двигатели",
"game.inspector.ship_group.action.tech.weapons": "оружие",
"game.inspector.ship_group.action.tech.shields": "защита",
"game.inspector.ship_group.action.tech.cargo": "груз",
"game.inspector.ship_group.action.send.pick_prompt": "выберите планету на карте (Esc — отмена)",
"game.inspector.ship_group.action.modernize.cost": "ожидаемая стоимость: {cost}",
"game.inspector.ship_group.action.modernize.cost_unavailable": "предпросмотр недоступен",
"game.inspector.ship_group.action.dismantle.warning": "группа над чужой планетой везёт колонистов — они погибнут",
"game.inspector.ship_group.action.fleet.create_new": "+ новый флот",
"game.inspector.ship_group.action.invalid.ship_count": "число кораблей должно быть в диапазоне 1…{max}",
"game.inspector.ship_group.action.invalid.quantity": "количество должно быть больше нуля",
"game.inspector.ship_group.action.invalid.level": "уровень должен быть в ({current}, {max}]",
"game.inspector.ship_group.action.invalid.fleet_name": "имя флота не соответствует правилам имён сущностей",
"game.inspector.planet.ship_groups.title": "корабли на орбите",
"game.inspector.planet.ship_groups.row.count": "{count} кораблей",
"game.inspector.planet.ship_groups.row.mass": "масса {mass}",
"game.inspector.planet.ship_groups.race.unknown": "неизвестно",
"game.inspector.planet.ship_groups.race.foreign": "чужие",
"game.report.loading": "загрузка отчёта…",
"game.report.back_to_map": "назад к карте",
"game.report.toc.title": "разделы",
"game.report.toc.mobile_label": "перейти к разделу",
"game.report.section.galaxy_summary.title": "общие сведения о галактике",
"game.report.section.galaxy_summary.field.turn": "ход",
"game.report.section.galaxy_summary.field.size": "размер карты",
"game.report.section.galaxy_summary.field.planets": "всего планет",
"game.report.section.galaxy_summary.field.race": "ваша раса",
"game.report.section.votes.title": "голоса",
"game.report.section.votes.mine": "мои голоса",
"game.report.section.votes.target": "голосую за",
"game.report.section.votes.target_none": "(пока никого)",
"game.report.section.votes.received_header": "голосов получено в прошлой раздаче",
"game.report.section.votes.column.race": "раса",
"game.report.section.votes.column.votes": "получено голосов",
"game.report.section.votes.empty": "голосов ещё нет",
"game.report.section.player_status.title": "статус игроков",
"game.report.section.player_status.column.name": "имя",
"game.report.section.player_status.column.drive": "двигатель %",
"game.report.section.player_status.column.weapons": "оружие %",
"game.report.section.player_status.column.shields": "защита %",
"game.report.section.player_status.column.cargo": "трюм %",
"game.report.section.player_status.column.population": "население",
"game.report.section.player_status.column.industry": "производство",
"game.report.section.player_status.column.planets": "планет",
"game.report.section.player_status.column.votes": "получено голосов",
"game.report.section.player_status.local_marker": "вы",
"game.report.section.player_status.extinct_marker": "RIP",
"game.report.section.my_sciences.title": "мои науки",
"game.report.section.my_sciences.column.name": "имя",
"game.report.section.my_sciences.column.drive": "двигатель %",
"game.report.section.my_sciences.column.weapons": "оружие %",
"game.report.section.my_sciences.column.shields": "защита %",
"game.report.section.my_sciences.column.cargo": "трюм %",
"game.report.section.my_sciences.empty": "науки ещё не определены",
"game.report.section.foreign_sciences.title": "науки других рас",
"game.report.section.foreign_sciences.race_header": "науки расы {race}",
"game.report.section.foreign_sciences.empty": "наук других рас пока не видно",
"game.report.section.my_ship_classes.title": "мои классы кораблей",
"game.report.section.my_ship_classes.column.name": "имя",
"game.report.section.my_ship_classes.column.drive": "двигатель",
"game.report.section.my_ship_classes.column.armament": "вооружение",
"game.report.section.my_ship_classes.column.weapons": "оружие",
"game.report.section.my_ship_classes.column.shields": "защита",
"game.report.section.my_ship_classes.column.cargo": "трюм",
"game.report.section.my_ship_classes.empty": "классы кораблей ещё не спроектированы",
"game.report.section.foreign_ship_classes.title": "классы кораблей других рас",
"game.report.section.foreign_ship_classes.race_header": "классы кораблей расы {race}",
"game.report.section.foreign_ship_classes.column.mass": "масса",
"game.report.section.foreign_ship_classes.empty": "классов кораблей других рас пока не видно",
"game.report.section.battles.title": "сражения",
"game.report.section.battles.empty": "сражений в этом ходу не было",
"game.report.section.battles.id_label": "сражение",
"game.battle.title": "сражение",
"game.battle.header_title": "Битва на планете {planet_name} (#{planet_number})",
"game.battle.controls.speed_6x": "6x",
"game.battle.controls.scrub": "перемотать таймлайн битвы",
"game.battle.controls.log_toggle": "Лог",
"game.battle.loading": "загрузка сражения…",
"game.battle.not_found": "сражение не найдено",
"game.battle.back_to_report": "к отчёту",
"game.battle.back_to_map": "к карте",
"game.battle.controls.play": "запустить",
"game.battle.controls.pause": "пауза",
"game.battle.controls.step_forward": "шаг вперёд",
"game.battle.controls.step_backward": "шаг назад",
"game.battle.controls.rewind": "к началу",
"game.battle.controls.speed_label": "скорость",
"game.battle.controls.speed_1x": "1x",
"game.battle.controls.speed_2x": "2x",
"game.battle.controls.speed_4x": "4x",
"game.battle.log.destroyed": "{attacker_class} расы {attacker_race} уничтожает {defender_class} расы {defender_race}",
"game.battle.log.shielded": "{attacker_class} расы {attacker_race} попадает в {defender_class} расы {defender_race}, щиты выдержали",
"game.battle.accessibility.protocol_heading": "протокол сражения",
"game.report.section.bombings.title": "бомбардировки",
"game.report.section.bombings.empty": "бомбардировок в этом ходу не было",
"game.report.section.bombings.column.planet": "планета",
"game.report.section.bombings.column.owner": "владелец",
"game.report.section.bombings.column.attacker": "атакующий",
"game.report.section.bombings.column.production": "производство",
"game.report.section.bombings.column.industry": "промышленность",
"game.report.section.bombings.column.population": "население",
"game.report.section.bombings.column.colonists": "колонисты",
"game.report.section.bombings.column.industry_stockpile": "запас промышленности ($)",
"game.report.section.bombings.column.materials_stockpile": "запас материалов (M)",
"game.report.section.bombings.column.attack_power": "сила удара",
"game.report.section.bombings.wiped": "уничтожена",
"game.report.section.approaching_groups.title": "приближающиеся группы",
"game.report.section.approaching_groups.empty": "приближающихся групп нет",
"game.report.section.approaching_groups.column.from": "откуда",
"game.report.section.approaching_groups.column.to": "куда",
"game.report.section.approaching_groups.column.distance": "расстояние",
"game.report.section.approaching_groups.column.speed": "скорость",
"game.report.section.approaching_groups.column.mass": "масса",
"game.report.section.my_planets.title": "мои планеты",
"game.report.section.my_planets.empty": "планет пока нет",
"game.report.section.my_planets.column.number": "#",
"game.report.section.my_planets.column.name": "имя",
"game.report.section.my_planets.column.coordinates": "x, y",
"game.report.section.my_planets.column.size": "размер",
"game.report.section.my_planets.column.resources": "ресурсы",
"game.report.section.my_planets.column.population": "население",
"game.report.section.my_planets.column.industry": "производство",
"game.report.section.my_planets.column.industry_stockpile": "$",
"game.report.section.my_planets.column.materials_stockpile": "M",
"game.report.section.my_planets.column.colonists": "колонисты",
"game.report.section.my_planets.column.production": "текущее производство",
"game.report.section.my_planets.column.free_industry": "своб.",
"game.report.section.ships_in_production.title": "в производстве",
"game.report.section.ships_in_production.empty": "в производстве пусто",
"game.report.section.ships_in_production.column.planet": "планета",
"game.report.section.ships_in_production.column.class": "класс",
"game.report.section.ships_in_production.column.cost": "стоимость",
"game.report.section.ships_in_production.column.prod_used": "вложено",
"game.report.section.ships_in_production.column.percent": "процент",
"game.report.section.ships_in_production.column.free": "своб. производство",
"game.report.section.cargo_routes.title": "маршруты грузов",
"game.report.section.cargo_routes.empty": "маршруты не заданы",
"game.report.section.cargo_routes.column.source": "откуда",
"game.report.section.cargo_routes.column.load": "груз",
"game.report.section.cargo_routes.column.destination": "куда",
"game.report.section.foreign_planets.title": "планеты других рас",
"game.report.section.foreign_planets.empty": "чужих планет пока не видно",
"game.report.section.foreign_planets.column.owner": "владелец",
"game.report.section.uninhabited_planets.title": "необитаемые планеты",
"game.report.section.uninhabited_planets.empty": "необитаемых планет пока не видно",
"game.report.section.unknown_planets.title": "неопознанные планеты",
"game.report.section.unknown_planets.empty": "неопознанных планет нет",
"game.report.section.my_fleets.title": "мои флоты",
"game.report.section.my_fleets.empty": "флотов пока нет",
"game.report.section.my_fleets.column.name": "имя",
"game.report.section.my_fleets.column.groups": "групп",
"game.report.section.my_fleets.column.state": "состояние",
"game.report.section.my_fleets.column.destination": "куда",
"game.report.section.my_fleets.column.origin": "откуда",
"game.report.section.my_fleets.column.range": "осталось",
"game.report.section.my_fleets.column.speed": "скорость",
"game.report.section.my_ship_groups.title": "мои группы кораблей",
"game.report.section.my_ship_groups.empty": "групп кораблей пока нет",
"game.report.section.my_ship_groups.column.id": "id",
"game.report.section.my_ship_groups.column.class": "класс",
"game.report.section.my_ship_groups.column.count": "числ.",
"game.report.section.my_ship_groups.column.cargo": "груз",
"game.report.section.my_ship_groups.column.state": "состояние",
"game.report.section.my_ship_groups.column.destination": "куда",
"game.report.section.my_ship_groups.column.origin": "откуда",
"game.report.section.my_ship_groups.column.range": "осталось",
"game.report.section.my_ship_groups.column.speed": "скорость",
"game.report.section.my_ship_groups.column.mass": "масса",
"game.report.section.my_ship_groups.column.fleet": "флот",
"game.report.section.foreign_ship_groups.title": "группы кораблей других рас",
"game.report.section.foreign_ship_groups.empty": "чужих групп пока не видно",
"game.report.section.unidentified_groups.title": "неопознанные группы",
"game.report.section.unidentified_groups.empty": "неопознанных групп нет",
"game.report.section.unidentified_groups.column.x": "x",
"game.report.section.unidentified_groups.column.y": "y",
};
export default ru;