// strings_ru.dart — русские текстовые ресурсы (отображение на одном языке) // // Запрещённые слова: VPN /翻墙 / 科学上网 / 突破封锁 / 自由穿越 / Go anywhere / ВПН. // Позиционирование: ускорение сети / оптимизация опыта + приватность. // Номера тарифов соответствуют design/CLAUDE.md §7. import 'app_text.dart'; class StringsRu extends AppText { const StringsRu(); @override AppLang get lang => AppLang.ru; @override String get brand => 'Pangolin'; @override String get online => '● В сети'; @override String get offline => '○ Не в сети'; @override String get capOff => 'Нажмите для подключения'; @override String get capConnecting => 'Подключение…'; @override String get capOn => 'Подключено · Шифрование'; @override String get connectNow => 'ПОДКЛЮЧИТЬ'; @override String get secure => 'ЗАЩИЩЕНО'; @override String get tabConnect => 'Подключение'; @override String get tabServers => 'Серверы'; @override String get tabStats => 'Статистика'; @override String get tabMe => 'Аккаунт'; @override String get currentNode => 'Текущий узел'; @override String get download => 'Приём'; @override String get upload => 'Отдача'; @override String get latency => 'Пинг'; @override String get quotaToday => 'Осталось сегодня'; @override String get minutes => 'мин'; @override String get quotaFree => 'Бесплатно · 10 мин/день'; @override String get planFreeTag => 'Бесплатно'; @override String get watchAd => 'Смотрите рекламу, чтобы начать'; @override String get adUnlocked => 'Открыто на сегодня'; @override String get quotaLeftLabel => 'Осталось'; @override String get quotaUsedUp => 'Дневной бесплатный лимит исчерпан'; @override String get watchAdMore => 'Смотрите рекламу, чтобы добавить время'; @override String get quotaExhaustedNotice => 'Дневной бесплатный лимит исчерпан. Посмотрите рекламу, чтобы добавить время, или оформите подписку.'; @override String get adPlaying => 'Реклама воспроизводится…'; @override String adRewarded(int minutes) => '+$minutes мин добавлено'; @override String get adFailed => 'Не удалось добавить время, попробуйте ещё раз'; @override String get quotaDesktopTitle => 'Дневной бесплатный лимит исчерпан'; @override String get quotaDesktopBody => 'Смотрите рекламу в мобильном приложении, чтобы добавить время, или оформите подписку для безлимитного доступа.'; @override String get gotIt => 'Понятно'; @override String get chooseNode => 'Выбор сервера'; @override String get searchPh => 'Поиск страны / города'; @override String get smartSelect => 'Умный выбор'; @override String nodeSwitchTitle(String name) => 'Переключиться на $name?'; @override String get nodeSwitchBody => 'Текущее соединение будет разорвано и восстановлено через этот узел.'; @override String get nodeSwitchConfirm => 'Переключить'; @override String get nodeUnhealthySwitched => 'Текущий узел недоступен — переключение выполнено автоматически'; @override String get nodeUnhealthyError => 'Текущий узел недоступен — переподключитесь или смените узел'; @override String get nodeReconnecting => 'Сеть нестабильна, переподключение…'; @override String get smartSub => 'Подбирает лучший узел для вашей сети'; @override String get recommended => 'Рекомендуется'; @override String get statsTitle => 'Статистика'; @override String get trafficMonth => 'Трафик'; @override String get avgPing => 'Средний пинг'; @override String get durMonth => 'Время'; @override String get weekTraffic => 'На этой неделе (ГБ)'; @override List get days7 => const ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс']; @override String get byDevice => 'По устройствам'; @override String get noDeviceUsage => 'Пока нет данных по устройствам'; @override String get periodMonth => 'Этот месяц'; @override String get periodWeek => 'Эта неделя'; @override String get periodToday => 'Сегодня'; @override String get statDown => 'Приём'; @override String get statUp => 'Отдача'; @override String get statDuration => 'Длительность'; @override String get chartTwoWeeks => 'Последние 2 недели'; @override String get allDevices => 'Все устройства'; @override String get meTitle => 'Аккаунт'; @override String get proMember => 'PRO-подписка'; @override String get freePlanName => 'Бесплатный'; @override String get expires => 'Действует до'; @override String get upgradeBtn => 'Продлить / Улучшить'; @override String get accInfoTitle => 'Данные аккаунта'; @override String get accEmail => 'Эл. почта'; @override String get accPassword => 'Пароль'; @override String get accChange => 'Изменить'; @override String get deviceLimitTitle => 'Достигнут лимит устройств'; @override String get deviceLimitDesc => 'Ваш тариф допускает до %s устройств. Удалите одно, чтобы продолжить.'; @override String get deviceLimitRemoveOldest => 'Удалить давно неиспользуемое'; @override String get myDevices => 'Мои устройства'; @override String get devicesSub => 'До 3 устройств на PRO'; @override String get thisDevice => 'Это устройство'; @override String get remove => 'Удалить'; @override String get devOnline => 'В сети'; @override String get devOffline => 'Не в сети'; @override String get devLastOnline => 'Был(а) в сети'; @override String get devNeverLogin => 'Ни разу не входил(а)'; @override String get devForceLogout => 'Принудительный выход'; @override String get devClearLogin => 'Очистить данные входа'; @override String get devRename => 'Переименовать'; @override String get devRenameHint => 'Имя устройства'; @override String get devSave => 'Сохранить'; @override String get devForceLogoutConfirm => 'Это завершит сеанс входа устройства — оно будет отключено и потребует повторного входа. Устройство останется в списке.'; @override String get devClearLoginConfirm => 'Это полностью удалит устройство из списка и отзовёт его сеанс входа и учётные данные передачи данных. Чтобы снова использовать устройство, нужно войти заново.'; @override String get devCancel => 'Отмена'; @override String get sessionRevokedTitle => 'Это устройство было отключено'; @override String get sessionRevokedBody => 'Вход с этого устройства завершён с другого устройства вашего аккаунта. Пожалуйста, войдите снова.'; @override String get sessionRevokedOk => 'Войти снова'; @override String get redeemEntry => 'Активация и покупка'; @override String get contactEntry => 'Связаться с нами'; @override String get signOut => 'Выйти'; @override String get language => 'Язык'; @override String get darkAppearance => 'Тёмная тема'; @override String get stateOn => 'Вкл.'; @override String get followLight => 'Выкл.'; @override String get protocol => 'Протокол'; @override String get settingsTitle => 'Настройки'; @override String get autostart => 'Запуск при старте системы'; @override String get autostartSub => 'Запускать автоматически при включении системы'; @override String get autoConnect => 'Автоподключение'; @override String get autoConnectSub => 'Подключаться автоматически при запуске'; @override String autoConnectingTo(String name) => 'Автоподключение к $name…'; @override String get smartRoute => 'Умная маршрутизация'; @override String get smartRouteSub => 'Ускорение для зарубежных ресурсов, прямой доступ для локальных'; @override String get killSwitch => 'Kill Switch'; @override String get killSwitchSub => 'Блокировать трафик при разрыве соединения'; @override String get checkUpdate => 'Проверить обновления'; @override String get webUserCenter => 'Личный кабинет (веб)'; @override String updateAvailableTitle(String version) => 'Доступна новая версия v$version'; @override String get updateNotesFallback => 'Это обновление включает исправления и улучшения стабильности.'; @override String get updateLater => 'Позже'; @override String get updateDownload => 'Скачать обновление'; @override String get updateUpToDate => 'У вас установлена последняя версия'; @override String get updateCheckFailed => 'Не удалось проверить обновления, попробуйте позже'; @override String get choosePlan => 'Выбор тарифа'; @override String get freePlan => 'Бесплатный'; @override String get proPlan => 'Pro'; @override String get teamPlan => 'Команда'; @override String get perMonth => '/мес'; @override String get current => 'Текущий'; @override String get upgrade => 'Улучшить'; @override String get choose => 'Выбрать'; @override String get mostPopular => 'Популярный'; @override List get featsFree => const [ 'Только 1 базовый узел', '10 минут в день', 'Смотрите рекламу, чтобы начать', '7 дней бесплатно при регистрации', ]; @override List get featsPro => const ['80+ локаций', 'Безлимитно · быстро', '5 устройств', 'Оптимизация для стриминга']; @override List get featsTeam => const ['Всё из Pro', '10 мест', 'Единый счёт', 'Приоритетная поддержка']; @override String get redeemTitle => 'Активация и покупка'; @override String get redeemCodeTitle => 'Активировать код'; @override String get redeemPh => 'Введите код активации'; @override String get redeemBtn => 'Активировать'; @override String get redeemOk => 'Активировано · PRO открыт'; @override String get buyTitle => 'Где купить'; @override String get buySub => 'Оплата внутри приложения недоступна. Получить код можно через:'; @override String get chStore => 'Магазин самообслуживания'; @override String get chEmail => 'Поддержка по эл. почте'; @override String get contactTitle => 'Связаться с нами'; @override String get contactIntro => 'Нужна помощь? Свяжитесь с нами любым способом ниже — обычно отвечаем за считанные минуты.'; @override String get contactEmail => 'Поддержка по эл. почте'; @override String get contactStore => 'Магазин самообслуживания'; @override String get contactHoursTitle => 'Часы поддержки'; @override String get contactHours => 'Ежедневно 9:00 – 24:00 (GMT+8)'; @override String get authTagline => 'Быстро · Стабильно · Без усилий'; @override String get tabLogin => 'Вход'; @override String get tabRegister => 'Регистрация'; @override String get emailLabel => 'Эл. почта'; @override String get emailPh => 'your@email.com'; @override String get pwLabel => 'Пароль'; @override String get pwPh => 'Введите пароль'; @override String get setPwPh => 'Задайте пароль (для входа с нескольких устройств)'; @override String get codeLabel => 'Код подтверждения'; @override String codeSentTo(String email) => 'Код отправлен на $email'; @override String get sendCode => 'Отправить код'; @override String get resend => 'Отправить снова'; @override String get doLogin => 'Войти'; @override String get doNext => 'Далее'; @override String get doCreate => 'Создать аккаунт'; @override String get forgotPw => 'Забыли пароль?'; @override String get tos => 'Продолжая, вы принимаете наши Условия и Политику конфиденциальности'; @override String get obSkip => 'Пропустить'; @override String get obNext => 'Далее'; @override String get obAllow => 'Разрешить и продолжить'; @override String get obStart => 'Начать'; @override String get ob1Title => 'Подключение по всему миру'; @override String get ob1Sub => '80+ локаций, автоматический выбор самого быстрого маршрута, надёжная стабильность.'; @override String get ob2Title => 'Разрешите настройку сети'; @override String get ob2Sub => 'Система запросит добавление сетевого профиля для создания зашифрованного туннеля.'; @override String get ob3Title => 'Приватность по умолчанию'; @override String get ob3Sub => 'Сквозное шифрование. Мы не храним журналы просмотров.'; }