diff --git a/lib/gen/strings.g.dart b/lib/gen/strings.g.dart index 16ba172..bf74d45 100644 --- a/lib/gen/strings.g.dart +++ b/lib/gen/strings.g.dart @@ -4,9 +4,9 @@ /// To regenerate, run: `dart run slang` /// /// Locales: 2 -/// Strings: 1518 (759 per locale) +/// Strings: 1516 (758 per locale) /// -/// Built on 2024-12-07 at 13:16 UTC +/// Built on 2024-12-07 at 15:08 UTC // coverage:ignore-file // ignore_for_file: type=lint @@ -177,7 +177,7 @@ class Translations implements BaseTranslations { String get nanow => 'Not avaliable for now...'; String seasonEnds({required Object countdown}) => 'Season ends in ${countdown}'; String get seasonEnded => 'Season has ended'; - String overallPB({required Object pb}) => 'Overall PB: ${pb}'; + String overallPB({required Object pb}) => 'Overall PB: ${pb} m'; String gamesUntilRanked({required Object left}) => '${left} games until being ranked'; String numOfVictories({required Object wins}) => '~${wins} victories'; String get promotionOnNextWin => 'Promotion on next win'; @@ -864,7 +864,6 @@ class _StringsLeaderboardsDestinationEn { String get tl => 'Tetra League (Current Season)'; String get fullTL => 'Tetra League (Current Season, full one)'; String get ar => 'Acievement Points'; - String get fullTLnote => 'Heavy, but allows you to sort players by their stats and filter them by ranks'; } // Path: savedDataDestination @@ -1689,8 +1688,8 @@ class _StringsRuRu implements Translations { }; @override Map get gamemodes => { 'league': 'Тетра Лига', - 'zenith': 'Быстрая Игра', - 'zenithex': 'Быстрая Игра Эксперт', + 'zenith': 'Quick Play', + 'zenithex': 'Quick Play Expert', '40l': '40 линий', 'blitz': 'Блиц', '5mblast': '5 000 000 бласт', @@ -1698,20 +1697,20 @@ class _StringsRuRu implements Translations { }; @override late final _StringsDestinationsRuRu destinations = _StringsDestinationsRuRu._(_root); @override Map get playerRole => { - 'user': 'User', - 'banned': 'Banned', - 'bot': 'Bot', - 'sysop': 'System operator', - 'admin': 'Admin', - 'mod': 'Moderator', - 'halfmod': 'Community moderator', - 'anon': 'Anonymous', + 'user': 'Пользователь', + 'banned': 'Заблокированный пользователь', + 'bot': 'Бот', + 'sysop': 'Системный оператор', + 'admin': 'Администратор', + 'mod': 'Модератор', + 'halfmod': 'Модератор сообщества', + 'anon': 'Аноним', }; @override String get goBackButton => 'Назад'; @override String get nanow => 'Сейчас недоступно...'; @override String seasonEnds({required Object countdown}) => 'Сезон закончится через ${countdown}'; @override String get seasonEnded => 'Сезон завершён'; - @override String overallPB({required Object pb}) => 'Абсолютный рекорд: ${pb}'; + @override String overallPB({required Object pb}) => 'Абсолютный рекорд: ${pb} м'; @override String gamesUntilRanked({required Object left}) => '${left} матчей до получения рейтинга'; @override String numOfVictories({required Object wins}) => '~${wins} побед'; @override String get promotionOnNextWin => 'Повышение после следующей победы'; @@ -1724,7 +1723,7 @@ class _StringsRuRu implements Translations { @override String get season => 'Сезон'; @override String get smooth => 'Сглаживание'; @override String get dateAndTime => 'Дата и время'; - @override String get TLfullLBnote => 'Большая, но позволяет сортировать игроков по их характеристикам и фильтровать их по рангам'; + @override String get TLfullLBnote => 'Большая, но позволяет сортировать игроков по их статам и фильтровать их по рангам'; @override String get rank => 'Ранг'; @override String verdictGeneral({required Object n, required Object verdict, required Object rank}) => 'На ${n} ${verdict} среднего ${rank}'; @override String get verdictBetter => 'впереди'; @@ -1748,7 +1747,7 @@ class _StringsRuRu implements Translations { @override String get badStanding => 'Плохая репутация'; @override String get badStandingSubtext => 'Один или более банов на счету'; @override String get botAccount => 'Бот аккаунт'; - @override String botAccountSubtext({required Object botMaintainers}) => 'Оперирует ${botMaintainers}'; + @override String botAccountSubtext({required Object botMaintainers}) => 'Операторы: ${botMaintainers}'; @override String get copiedToClipboard => 'Скопировано в буфер обмена!'; @override String get bio => 'Биография'; @override String get news => 'Новости'; @@ -2346,7 +2345,7 @@ class _StringsCalcDestinationRuRu implements _StringsCalcDestinationEn { @override final _StringsRuRu _root; // ignore: unused_field // Translations - @override String placeholders({required Object stat}) => 'Enter your ${stat}'; + @override String placeholders({required Object stat}) => 'Введите ваш ${stat}'; @override String get tip => 'Введите значения и нажмите "Считать", чтобы увидеть статистику для задротов'; @override String get statsCalcButton => 'Считать'; @override String get damageCalcTip => 'Нажмите на действия слева, чтобы добавить их сюда'; @@ -2357,7 +2356,7 @@ class _StringsCalcDestinationRuRu implements _StringsCalcDestinationEn { @override String get spins => 'Спины'; @override String get miniSpins => 'Мини спины'; @override String get noLineclear => '0 линий (сброс комбо)'; - @override String get custom => 'Свой'; + @override String get custom => 'Custom'; @override String get multiplier => 'Множитель'; @override String get pcDamage => 'PC урон'; @override String get comboTable => 'Таблица комбо'; @@ -2398,7 +2397,6 @@ class _StringsLeaderboardsDestinationRuRu implements _StringsLeaderboardsDestina @override String get tl => 'Тетра Лига (Текущий сезон)'; @override String get fullTL => 'Тетра Лига (Текущий сезон, вся за раз)'; @override String get ar => 'Очки достижений'; - @override String get fullTLnote => 'Тяжелый, но позволяет сортировать игроков по их характеристикам и фильтровать их по рангам'; } // Path: savedDataDestination @@ -2650,8 +2648,8 @@ class _StringsStatsRuRu implements _StringsStatsEn { one: '${n} линия очищена', two: '${n} линии очищено', few: '${n} линии очищено', - many: '${n} T-спинов всего', - other: '${n} T-спинов всего', + many: '${n} линий очищено', + other: '${n} линий очищено', ); @override late final _StringsStatsGraphsRuRu graphs = _StringsStatsGraphsRuRu._(_root); @override String players({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n, @@ -2896,7 +2894,7 @@ class _StringsStatsNyaappRuRu implements _StringsStatsNyaappEn { // Translations @override String get short => 'wAPP'; - @override String get full => 'Взвешенный APP'; + @override String get full => 'Weighted APP'; } // Path: stats.area @@ -3228,7 +3226,7 @@ extension on Translations { case 'nanow': return 'Not avaliable for now...'; case 'seasonEnds': return ({required Object countdown}) => 'Season ends in ${countdown}'; case 'seasonEnded': return 'Season has ended'; - case 'overallPB': return ({required Object pb}) => 'Overall PB: ${pb}'; + case 'overallPB': return ({required Object pb}) => 'Overall PB: ${pb} m'; case 'gamesUntilRanked': return ({required Object left}) => '${left} games until being ranked'; case 'numOfVictories': return ({required Object wins}) => '~${wins} victories'; case 'promotionOnNextWin': return 'Promotion on next win'; @@ -3459,7 +3457,6 @@ extension on Translations { case 'leaderboardsDestination.tl': return 'Tetra League (Current Season)'; case 'leaderboardsDestination.fullTL': return 'Tetra League (Current Season, full one)'; case 'leaderboardsDestination.ar': return 'Acievement Points'; - case 'leaderboardsDestination.fullTLnote': return 'Heavy, but allows you to sort players by their stats and filter them by ranks'; case 'savedDataDestination.title': return 'Saved Data'; case 'savedDataDestination.tip': return 'Select nickname on the left to see data assosiated with it'; case 'savedDataDestination.seasonTLstates': return ({required Object s}) => 'S${s} TL States'; @@ -4010,8 +4007,8 @@ extension on _StringsRuRu { case 'locales.ru-RU': return 'Русский'; case 'locales.zh-CN': return 'Упрощенный Китайский (简体中文)'; case 'gamemodes.league': return 'Тетра Лига'; - case 'gamemodes.zenith': return 'Быстрая Игра'; - case 'gamemodes.zenithex': return 'Быстрая Игра Эксперт'; + case 'gamemodes.zenith': return 'Quick Play'; + case 'gamemodes.zenithex': return 'Quick Play Expert'; case 'gamemodes.40l': return '40 линий'; case 'gamemodes.blitz': return 'Блиц'; case 'gamemodes.5mblast': return '5 000 000 бласт'; @@ -4024,19 +4021,19 @@ extension on _StringsRuRu { case 'destinations.info': return 'Инфо-центр'; case 'destinations.data': return 'Сохранённые данные'; case 'destinations.settings': return 'Настройки'; - case 'playerRole.user': return 'User'; - case 'playerRole.banned': return 'Banned'; - case 'playerRole.bot': return 'Bot'; - case 'playerRole.sysop': return 'System operator'; - case 'playerRole.admin': return 'Admin'; - case 'playerRole.mod': return 'Moderator'; - case 'playerRole.halfmod': return 'Community moderator'; - case 'playerRole.anon': return 'Anonymous'; + case 'playerRole.user': return 'Пользователь'; + case 'playerRole.banned': return 'Заблокированный пользователь'; + case 'playerRole.bot': return 'Бот'; + case 'playerRole.sysop': return 'Системный оператор'; + case 'playerRole.admin': return 'Администратор'; + case 'playerRole.mod': return 'Модератор'; + case 'playerRole.halfmod': return 'Модератор сообщества'; + case 'playerRole.anon': return 'Аноним'; case 'goBackButton': return 'Назад'; case 'nanow': return 'Сейчас недоступно...'; case 'seasonEnds': return ({required Object countdown}) => 'Сезон закончится через ${countdown}'; case 'seasonEnded': return 'Сезон завершён'; - case 'overallPB': return ({required Object pb}) => 'Абсолютный рекорд: ${pb}'; + case 'overallPB': return ({required Object pb}) => 'Абсолютный рекорд: ${pb} м'; case 'gamesUntilRanked': return ({required Object left}) => '${left} матчей до получения рейтинга'; case 'numOfVictories': return ({required Object wins}) => '~${wins} побед'; case 'promotionOnNextWin': return 'Повышение после следующей победы'; @@ -4049,7 +4046,7 @@ extension on _StringsRuRu { case 'season': return 'Сезон'; case 'smooth': return 'Сглаживание'; case 'dateAndTime': return 'Дата и время'; - case 'TLfullLBnote': return 'Большая, но позволяет сортировать игроков по их характеристикам и фильтровать их по рангам'; + case 'TLfullLBnote': return 'Большая, но позволяет сортировать игроков по их статам и фильтровать их по рангам'; case 'rank': return 'Ранг'; case 'verdictGeneral': return ({required Object n, required Object verdict, required Object rank}) => 'На ${n} ${verdict} среднего ${rank}'; case 'verdictBetter': return 'впереди'; @@ -4077,7 +4074,7 @@ extension on _StringsRuRu { case 'badStanding': return 'Плохая репутация'; case 'badStandingSubtext': return 'Один или более банов на счету'; case 'botAccount': return 'Бот аккаунт'; - case 'botAccountSubtext': return ({required Object botMaintainers}) => 'Оперирует ${botMaintainers}'; + case 'botAccountSubtext': return ({required Object botMaintainers}) => 'Операторы: ${botMaintainers}'; case 'copiedToClipboard': return 'Скопировано в буфер обмена!'; case 'bio': return 'Биография'; case 'news': return 'Новости'; @@ -4233,7 +4230,7 @@ extension on _StringsRuRu { case 'tlMatchView.matchStats': return 'Статистика матча'; case 'tlMatchView.downloadReplay': return 'Скачать .ttrm повтор'; case 'tlMatchView.openReplay': return 'Открыть повтор в TETR.IO'; - case 'calcDestination.placeholders': return ({required Object stat}) => 'Enter your ${stat}'; + case 'calcDestination.placeholders': return ({required Object stat}) => 'Введите ваш ${stat}'; case 'calcDestination.tip': return 'Введите значения и нажмите "Считать", чтобы увидеть статистику для задротов'; case 'calcDestination.statsCalcButton': return 'Считать'; case 'calcDestination.damageCalcTip': return 'Нажмите на действия слева, чтобы добавить их сюда'; @@ -4244,7 +4241,7 @@ extension on _StringsRuRu { case 'calcDestination.spins': return 'Спины'; case 'calcDestination.miniSpins': return 'Мини спины'; case 'calcDestination.noLineclear': return '0 линий (сброс комбо)'; - case 'calcDestination.custom': return 'Свой'; + case 'calcDestination.custom': return 'Custom'; case 'calcDestination.multiplier': return 'Множитель'; case 'calcDestination.pcDamage': return 'PC урон'; case 'calcDestination.comboTable': return 'Таблица комбо'; @@ -4267,7 +4264,6 @@ extension on _StringsRuRu { case 'leaderboardsDestination.tl': return 'Тетра Лига (Текущий сезон)'; case 'leaderboardsDestination.fullTL': return 'Тетра Лига (Текущий сезон, вся за раз)'; case 'leaderboardsDestination.ar': return 'Очки достижений'; - case 'leaderboardsDestination.fullTLnote': return 'Тяжелый, но позволяет сортировать игроков по их характеристикам и фильтровать их по рангам'; case 'savedDataDestination.title': return 'Сохранённые данные'; case 'savedDataDestination.tip': return 'Выберите никнейм слева, чтобы увидеть данные ассоциированные с ним'; case 'savedDataDestination.seasonTLstates': return ({required Object s}) => 'TL ${s} сезона'; @@ -4398,7 +4394,7 @@ extension on _StringsRuRu { case 'stats.gbe.short': return 'GbE'; case 'stats.gbe.full': return 'Эффективность Мусора'; case 'stats.nyaapp.short': return 'wAPP'; - case 'stats.nyaapp.full': return 'Взвешенный APP'; + case 'stats.nyaapp.full': return 'Weighted APP'; case 'stats.area.short': return 'Area'; case 'stats.area.full': return 'Area'; case 'stats.etr.short': return 'eTR'; @@ -4492,8 +4488,8 @@ extension on _StringsRuRu { one: '${n} линия очищена', two: '${n} линии очищено', few: '${n} линии очищено', - many: '${n} T-спинов всего', - other: '${n} T-спинов всего', + many: '${n} линий очищено', + other: '${n} линий очищено', ); case 'stats.graphs.attack': return 'Атака'; case 'stats.graphs.speed': return 'Скорость'; diff --git a/res/i18n/strings_ru-RU.i18n.json b/res/i18n/strings_ru-RU.i18n.json new file mode 100644 index 0000000..e39b8ce --- /dev/null +++ b/res/i18n/strings_ru-RU.i18n.json @@ -0,0 +1,922 @@ +{ + "locales(map)": { + "en": "Английский (English)", + "ru-RU": "Русский", + "zh-CN": "Упрощенный Китайский (简体中文)" + }, + "gamemodes(map)": { + "league": "Тетра Лига", + "zenith": "Quick Play", + "zenithex": "Quick Play Expert", + "40l": "40 линий", + "blitz": "Блиц", + "5mblast": "5 000 000 бласт", + "zen": "Дзен" + }, + "destinations": { + "home": "Дом", + "graphs": "Графики", + "leaderboards": "Таблицы лидеров", + "cutoffs": "Требования рангов", + "calc": "Калькулятор", + "info": "Инфо-центр", + "data": "Сохранённые данные", + "settings": "Настройки" + }, + "playerRole(map)": { + "user": "Пользователь", + "banned": "Заблокированный пользователь", + "bot": "Бот", + "sysop": "Системный оператор", + "admin": "Администратор", + "mod": "Модератор", + "halfmod": "Модератор сообщества", + "anon": "Аноним" + }, + "goBackButton": "Назад", + "nanow": "Сейчас недоступно...", + "seasonEnds": "Сезон закончится через ${countdown}", + "seasonEnded": "Сезон завершён", + "overallPB": "Абсолютный рекорд: $pb м", + "gamesUntilRanked": "${left} матчей до получения рейтинга", + "numOfVictories": "~${wins} побед", + "promotionOnNextWin": "Повышение после следующей победы", + "numOfdefeats": "~${losses} поражений", + "demotionOnNextLoss": "Понижение после следующего поражения", + "records": "Записи", + "nerdStats": "Для Задротов", + "playstyles": "Стили игры", + "horoscopes": "Гороскопы", + "season": "Сезон", + "smooth": "Сглаживание", + "dateAndTime": "Дата и время", + "TLfullLBnote": "Большая, но позволяет сортировать игроков по их статам и фильтровать их по рангам", + "rank": "Ранг", + "verdictGeneral": "На $n $verdict среднего $rank", + "verdictBetter": "впереди", + "verdictWorse": "позади", + "localStanding": "по стране", + "xp": { + "title": "Уровень Опыта", + "progressToNextLevel": "Прогресс до следующего уровня: $percentage", + "progressTowardsGoal": "Прогресс с 0 XP до уровня $goal: $percentage ($left XP осталось)" + }, + "gametime": { + "title": "Времени проведено в игре", + "gametimeAday": "$gametime в день в среднем", + "breakdown": "Это $years лет,\nили $months месяцев,\nили $days дней,\nили $minutes минут\nили $seconds секунд" + }, + "track": "Отслеживать", + "stopTracking": "Не отслеживать", + "supporter": "Спонсор ${tier}-го уровня", + "comparingWith": "Данные от ${newDate} в сравнении с данными от ${oldDate}", + "compare": "Сравнить", + "comparison": "Сравнение", + "general": "Основное", + "badges": "Значки", + "obtainDate": "Получен ${date}", + "assignedManualy": "Этот значок был присвоен вручную администрацией TETR.IO", + "distinguishment": "Заслуга", + "banned": "Забанен", + "bannedSubtext": "Баны выдаются в случаях нарушений правил TETR.IO", + "badStanding": "Плохая репутация", + "badStandingSubtext": "Один или более банов на счету", + "botAccount": "Бот аккаунт", + "botAccountSubtext": "Операторы: $botMaintainers", + "copiedToClipboard": "Скопировано в буфер обмена!", + "bio": "Биография", + "news": "Новости", + "matchResult": { + "victory": "Победа", + "defeat": "Поражение", + "tie": "Ничья", + "dqvictory": "Оппонент дисквалифицирован", + "dqdefeat": "Дисквалифицирован", + "nocontest": "Без согласия", + "nullified": "Отменен" + }, + "distinguishments": { + "noHeader": "Заголовок отсутствует", + "noFooter": "Подзаголовок отсуствует", + "twc": "Чемпион мира TETR.IO", + "twcYear": "Чемпионат мира по TETR.IO $year года" + }, + "newsEntries": { + "leaderboard(rich)": "Заработал №$rank в режиме $gametype", + "personalbest(rich)": "Новый ЛР в $gametype: $pb", + "badge(rich)": "Заработал значок $badge", + "rankup(rich)": "Заработал $rank в Тетра Лиге", + "supporter(rich)": "Стал ${s(спонсором TETR.IO)}", + "supporter_gift(rich)": "Получил ${s(спонсорку TETR.IO)} в качестве подарка", + "unknown(rich)": "Неизвестная новость типа $type" + }, + "rankupMiddle": "${r} ранг", + "copyUserID": "Нажмите, чтобы скопировать ID", + "searchHint": "Никнейм или ID", + "navMenu": "Меню навигации", + "navMenuTooltip": "Открыть меню навигации", + "refresh": "Обновить данные", + "searchButton": "Искать", + "trackedPlayers": "Отслеживаемые игроки", + "standing": "Положение", + "previousSeasons": "Предыдущие сезоны", + "recent": "Недавние", + "top": "Топ", + "noRecord": "Нет записи", + "sprintAndBlitsRelevance": "Актуальность: ${date}", + "snackBarMessages": { + "stateRemoved": "Состояние от ${date} удалено из базы данных!", + "matchRemoved": "Матч от ${date} удален из базы данных!", + "notForWeb": "Функция недоступна для веб-версии", + "importSuccess": "Импорт выполнен успешно", + "importCancelled": "Импорт был отменен" + }, + "errors": { + "noRecords": "Нет записей", + "notEnoughData": "Недостаточно данных", + "noHistorySaved": "Нет сохраненной истории", + "connection": "Проблема с подключением: ${code} ${message}", + "noSuchUser": "Нет такого пользователя", + "noSuchUserSub": "Либо вы опечатались, либо аккаунт больше не существует", + "discordNotAssigned": "К данному Discord ID не привязан аккаунт", + "discordNotAssignedSub": "Убедитесь, что указан правильный ID", + "history": "История этого игрока отсутствует", + "actionSuggestion": "Возможно, вы хотите", + "p1nkl0bst3rTLmatches": "Матчей Тетра Лиги не найдено", + "clientException": "Нет подключения к Интернету", + "forbidden": "Ваш IP-адрес заблокирован", + "forbiddenSub": "Если вы используете VPN или Proxy, выключите его. Если это не помогает, свяжитесь с $nickname", + "tooManyRequests": "Слишком много запросов", + "tooManyRequestsSub": "Повторите попытку позже", + "internal": "Что-то случилось на стороне tetr.io", + "internalSub": "Скорее всего, osk уже в курсе", + "internalWebVersion": "Что-то случилось на стороне TETR.IO (или у oskware_bridge, я хз)", + "internalWebVersionSub": "Если на osk status page нет сообщений о проблемах, дайте знать dan63047", + "oskwareBridge": "Что-то случилось с oskware_bridge", + "oskwareBridgeSub": "Дайте знать dan63047", + "p1nkl0bst3rForbidden": "Сторонний API заблокировал ваш IP-адрес", + "p1nkl0bst3rTooManyRequests": "Слишком много запросов к стороннему API. Попробуйте позже", + "p1nkl0bst3rinternal": "Что-то случилось на стороне p1nkl0bst3r", + "p1nkl0bst3rinternalWebVersion": "Что-то случилось на стороне p1nkl0bst3r (или на oskware_bridge, я хз)", + "replayAlreadySaved": "Повтор уже был сохранен", + "replayExpired": "Повтор истек и больше не доступен", + "replayRejected": "Сторонний API заблокировал ваш IP-адрес" + }, + "actions": { + "cancel": "Отменить", + "submit": "Подтвердить", + "ok": "ОК", + "apply": "Применить", + "refresh": "Обновить" + }, + "graphsDestination": { + "fetchAndsaveTLHistory": "Получить историю игрока", + "fetchAndSaveOldTLmatches": "Получить историю матчей Тетра Лиги", + "fetchAndsaveTLHistoryResult": "${number} состояний было найдено", + "fetchAndSaveOldTLmatchesResult": "${number} матчей было найдено", + "gamesPlayed": "$games сыграно", + "dateAndTime": "Дата и время", + "filterModaleTitle": "Фильтровать график по рангам" + }, + "filterModale": { + "all": "Все" + }, + "cutoffsDestination": { + "title": "Состояние Тетра Лиги", + "relevance": "на момент $timestamp", + "actual": "Требование", + "target": "Цель", + "cutoffTR": "Требуемый TR", + "targetTR": "Целевой TR", + "state": "Состояние", + "advanced": "Продвинутая", + "players": "Игроков ($n)", + "moreInfo": "Подробнее", + "NumberOne": "№ 1 - $tr TR", + "inflated": "Инфляция - $tr TR", + "notInflated": "Нет инфляции", + "deflated": "Дефляция - $tr TR", + "notDeflated": "Нет дефляции", + "wellDotDotDot": "Ну-у...", + "fromPlace": "от № $n", + "viewButton": "Посмотреть" + }, + "rankView": { + "rankTitle": "Данные $rank ранга", + "everyoneTitle": "Вся таблица", + "trRange": "Диапазон TR", + "supposedToBe": "Должен быть", + "gap": "промежуток в $value", + "trGap": "промежуток в $value TR", + "deflationGap": "Зона дефляции", + "inflationGap": "Зона инфляции", + "LBposRange": "Диапазон по позициям", + "overpopulated": "Переполнен $players", + "underpopulated": "Не хватает $players", + "PlayersEqualSupposedToBe": "лол", + "avgStats": "Средние значения", + "avgNerdStats": "Средние задротские значения", + "minimums": "Минимумы", + "maximums": "Максимумы" + }, + "stateView": { + "title": "Состояние от $date" + }, + "tlMatchView": { + "match": "Матч", + "vs": "против", + "winner": "Победитель", + "roundNumber": "Раунд $n", + "statsFor": "Статистика для", + "numberOfRounds": "Количество раундов", + "matchLength": "Продолжительность матча", + "roundLength": "Продолжительность раунда", + "matchStats": "Статистика матча", + "downloadReplay": "Скачать .ttrm повтор", + "openReplay": "Открыть повтор в TETR.IO" + }, + "calcDestination": { + "placeholders": "Введите ваш $stat", + "tip": "Введите значения и нажмите \"Считать\", чтобы увидеть статистику для задротов", + "statsCalcButton": "Считать", + "damageCalcTip": "Нажмите на действия слева, чтобы добавить их сюда", + "actions": "Действия", + "results": "Результаты", + "rules": "Правила", + "noSpinClears": "Без спинов", + "spins": "Спины", + "miniSpins": "Мини спины", + "noLineclear": "0 линий (сброс комбо)", + "custom": "Custom", + "multiplier": "Множитель", + "pcDamage": "PC урон", + "comboTable": "Таблица комбо", + "b2bChaining": "Таблица комбо", + "surgeStartAtB2B": "Начинается с B2B", + "surgeStartAmount": "Начинается с", + "totalDamage": "Всего урона", + "lineclears": "Lineclears", + "combo": "Комбо", + "surge": "Surge", + "pcs": "PCs" + }, + "infoDestination": { + "title": "Информационный Центр", + "sprintAndBlitzAverages": "Средние значения для 40 линий и блиц", + "sprintAndBlitzAveragesDescription": "Поскольку считать средние значения 40 линий и Блиц неудобно, они обновляется довольно редко. Кликните по названию этой карточки, чтобы увидеть таблицу средних значений 40 линий и Блиц", + "tetraStatsWiki": "Tetra Stats Вики", + "tetraStatsWikiDescription": "Узнайте больше о функциях Tetra Stats и статистике, что он предоставляет", + "about": "О Tetra Stats", + "aboutDescription": "Разработано dan63\n" + }, + "leaderboardsDestination": { + "title": "Таблицы лидеров", + "tl": "Тетра Лига (Текущий сезон)", + "fullTL": "Тетра Лига (Текущий сезон, вся за раз)", + "ar": "Очки достижений" + }, + "savedDataDestination": { + "title": "Сохранённые данные", + "tip": "Выберите никнейм слева, чтобы увидеть данные ассоциированные с ним", + "seasonTLstates": "TL $s сезона", + "TLrecords": "Записи TL" + }, + "settingsDestination": { + "title": "Настройки", + "general": "Общие", + "customization": "Кастомизация", + "database": "Локальная база данных", + "checking": "Проверяем...", + "enterToSubmit": "Enter, чтобы подтвердить", + "account": "Ваш аккаунт в TETR.IO", + "accountDescription": "Статистика этого игрока будет загружена сразу после запуска приложения. По умолчанию программа загружает мою (dan63) статистику. Чтобы изменить это, введите свой ник.", + "done": "Готово!", + "noSuchAccount": "Нет такого аккаунта", + "language": "Язык", + "languageDescription": "Tetra Stats был переведен на $languages. По умолчанию приложение выберет язык системы или Английский, если перевода на язык системы нету.", + "languages(plural)": { + "zero": "ноль языков", + "one": "$n язык", + "two": "$n языка", + "few": "$n языка", + "many": "$n языков", + "other": "$n языков" + }, + "updateInTheBackground": "Обновлять данные в фоновом режиме", + "updateInTheBackgroundDescription": "Пока Tetra Stats работает, он может обновлять статистику самостоятельно когда кэш истекает. Обычно это происходит каждые 5 минут", + "compareStats": "Сравнивать статистику со средними значениями ранга", + "compareStatsDescription": "Если включено, Tetra Stats загрузит средние значения и будет сравнивать вас со средними значениями вашего ранга. В результате этого почти каждый пункт статистики обретёт цвет, наводите курсор, что-бы узнать больше.", + "showPosition": "Показывать позиции по статам", + "showPositionDescription": "На загрузку потребуется немного времени (и трафика), но зато вы сможете видеть своё положение в таблице Тетра Лиги, отсортированной по статам", + "accentColor": "Цветовой акцент", + "accentColorDescription": "Этот цвет подчёркивает интерактивные элементы интерфейса.", + "accentColorModale": "Выберите цвет акцента", + "timestamps": "Формат отметок времени", + "timestampsDescriptionPart1": "Вы можете выбрать вид отметок времени. По умолчанию показывается дата и время по Гринвичу, форматированная в соответствии с выбранной локалью. Пример: $d.", + "timestampsDescriptionPart2": "Также можно выбрать:\n• Дата и время в вашем часовом поясе: $y\n• Относительные отметки времени: $r", + "timestampsAbsoluteGMT": "Абсолютные (по Гринвичу)", + "timestampsAbsoluteLocalTime": "Абсолютные (ваша временная зона)", + "timestampsRelative": "Относительные", + "sheetbotLikeGraphs": "Графики-радары как у sheetBot", + "sheetbotLikeGraphsDescription": "Хоть и несмотря на то, что я считаю поведение графиков sheetBot-а не совсем корректным, некоторые пользователи были в замешательстве от того, что -0,5 страйд не выглядит так, как на графике sheetBot-а. Поэтому вот моё решение: если тумблер включен, точки графика могут появляться на противоположенной стороне графика если значение со знаком минус.", + "oskKagariGimmick": "\"Оск Кагари\" прикол", + "oskKagariGimmickDescription": "Если включено, вместо настоящего ранга оска будет рендерится :kagari:.", + "bytesOfDataStored": "данных сохранено", + "TLrecordsSaved": "записей о матчах Тетра Лиги сохранено", + "TLplayerstatesSaved": "состояний Тетра Лиги сохранено", + "fixButton": "Исправить", + "compressButton": "Сжать", + "exportDB": "Экспортировать локальную базу данных", + "desktopExportAlertTitle": "Экспорт на десктопе", + "desktopExportText": "Похоже, вы используете десктопную версию. Проверьте папку \"Документы\", там вы должны найти файл \"TetraStats.db\". Скопируйте его куда-нибудь", + "androidExportAlertTitle": "Экспорт на Android", + "androidExportText": "Экспортировано.\n${exportedDB}", + "importDB": "Импортировать локальную базу данных", + "importDBDescription": "Восстановите свою резеврную копию. Обратите внимание, что текущая база данных будет перезаписана.", + "importWrongFileType": "Неверный тип файла" + }, + "homeNavigation": { + "overview": "Обзор", + "standing": "Положение", + "seasons": "Сезоны", + "mathces": "Матчи", + "pb": "Рекорд", + "normal": "Обычный", + "expert": "Эксперт", + "expertRecords": "Записи EX" + }, + "graphsNavigation": { + "history": "История игрока", + "league": "Состояние Лиги", + "cutoffs": "История рангов" + }, + "calcNavigation": { + "stats": "Калькулятор статистики", + "damage": "Калькулятор урона" + }, + "firstTimeView": { + "welcome": "Добро пожаловать в Tetra Stats", + "description": "Сервис, который позволяет просматривать статистику в TETR.IO", + "nicknameQuestion": "Какой у вас ник?", + "inpuntHint": "Введите его здесь... (3-16 символов)" + }, + "aboutView": { + "title": "О Tetra Stats", + "about": "Tetra Stats — это сервис, который работает с TETR.IO Tetra Channel API, показывает данные оттуда и считает дополнительную статистику, основанную на этих данных. Сервис позволяет отслеживать прогресс в Тетра Лиге с помощью функции \"Отслеживать\", которая записывает каждое изменение в Лиге в локальную базу данных (не автоматически, вы должны вручную посещать свой профиль), что позволяет потом просматривать изменения с помощью графиков.\n\nBeanserver blaster — серверная часть Tetra Stats. Она собирает полную таблицу игроков Тетра Лиги, благодаря чему сортировать эту таблицу по любой метрике и строить точечную диаграмму, что позволяет анализировать тренды Лиги. Также она предоставляет историю требований рангов, которую тоже можно посмотреть на графике.\n\nВ будущем планируется добавить анализ повторов и историю турниров, так что оставайтесь на связи.\n\nСервис ни коим образом не ассоциируется с TETR.IO или osk.", + "appVersion": "Версия приложения", + "build": "Сборка $build", + "GHrepo": "Репозиторий на GitHub", + "submitAnIssue": "Сообщить об ошибке", + "credits": "Благодарности", + "authorAndDeveloper": "Автор и разработчик", + "providedFormulas": "Предоставил формулы", + "providedS1history": "Предоставляет историю первого сезона лиги", + "inoue": "Inoue (достаёт повторы)", + "zhCNlocale": "Перевёл на упрощённый китайский", + "supportHim": "Поддержите его!" + }, + "stats": { + "registrationDate": "Дата регистрации", + "gametime": "Время в игре", + "ogp": "Онлайн игр", + "ogw": "Онлайн побед", + "followers": "Подписчиков", + "xp": { + "short": "Опыт", + "full": "Очки опыта" + }, + "tr": { + "short": "TR", + "full": "Тетра Рейтинг" + }, + "glicko": { + "short": "Glicko", + "full": "Glicko" + }, + "rd": { + "short": "RD", + "full": "Отклонение Рейтинга" + }, + "glixare": { + "short": "GXE", + "full": "GLIXARE" + }, + "s1tr": { + "short": "S1 TR", + "full": "TR как в первом сезоне" + }, + "gp": { + "short": "GP", + "full": "Матчей" + }, + "gw": { + "short": "GW", + "full": "Побед" + }, + "winrate": { + "short": "WR%", + "full": "Процент побед" + }, + "apm": { + "short": "APM", + "full": "Атаки в Минуту" + }, + "pps": { + "short": "PPS", + "full": "Фигур в Секунду" + }, + "vs": { + "short": "VS", + "full": "Показатель Versus" + }, + "app": { + "short": "APP", + "full": "Атаки на Фигуру" + }, + "vsapm": { + "short": "VS/APM", + "full": "VS / APM" + }, + "dss": { + "short": "DS/S", + "full": "Спуск в секунду" + }, + "dsp": { + "short": "DS/P", + "full": "Спуск на фигуру" + }, + "appdsp": { + "short": "APP+DSP", + "full": "APP + DSP" + }, + "cheese": { + "short": "Cheese", + "full": "Индекс Сыра" + }, + "gbe": { + "short": "GbE", + "full": "Эффективность Мусора" + }, + "nyaapp": { + "short": "wAPP", + "full": "Weighted APP" + }, + "area": { + "short": "Area", + "full": "Area" + }, + "etr": { + "short": "eTR", + "full": "Расчётный TR" + }, + "etracc": { + "short": "±eTR", + "full": "Точность расчёта" + }, + "opener": { + "short": "Opener", + "full": "Опенер" + }, + "plonk": { + "short": "Plonk", + "full": "Плонк" + }, + "stride": { + "short": "Stride", + "full": "Страйд" + }, + "infds": { + "short": "Inf. DS", + "full": "Бесконечный спуск" + }, + "altitude": { + "short": "м", + "full": "Высота" + }, + "climbSpeed": { + "short": "CSP", + "full": "Скорость подъёма", + "gaugetTitle": "Скорость\nПодъёма" + }, + "peakClimbSpeed": { + "short": "Пик CSP", + "full": "Пиковая скорость подъёма", + "gaugetTitle": "Пик" + }, + "kos": { + "short": "KO's", + "full": "Выбил" + }, + "b2b": { + "short": "B2B", + "full": "Back-To-Back" + }, + "finesse": { + "short": "F", + "full": "Техника", + "widgetTitle": "Техника" + }, + "finesseFaults": { + "short": "FF", + "full": "Ошибок техники" + }, + "totalTime": { + "short": "Время", + "full": "Общее время", + "widgetTitle": "Общее время" + }, + "level": { + "short": "Лвл", + "full": "Уровень" + }, + "pieces": { + "short": "P", + "full": "Фигур" + }, + "spp": { + "short": "SPP", + "full": "Очков на Фигуру" + }, + "kp": { + "short": "KP", + "full": "Нажатий клавиш" + }, + "kpp": { + "short": "KPP", + "full": "Нажатий клавиш на Фигуру" + }, + "kps": { + "short": "KPS", + "full": "Нажатий клавиш в Секунду" + }, + "blitzScore": "$p очков", + "levelUpRequirement": "Очков для повышения уровня: $p", + "piecesTotal": "Всего фигур установлено", + "piecesWithPerfectFinesse": "Установлено с идеальной техникой", + "score": "Счёт", + "lines": "Линий", + "linesShort": "L", + "pcs": "Perfect Clears", + "holds": "Holds", + "spike": "Top Spike", + "top": "Топ $percentage", + "topRank": "Топ ранг: $rank", + "floor": "Этаж", + "split": "Сектор", + "total": "Всего", + "sent": "Отправлено", + "received": "Получено", + "placement": "Положение", + "peak": "Пик", + "qpWithMods(plural)": { + "one": "С 1 модом", + "two": "С $n модами", + "few": "С $n модами", + "many": "С $n модами", + "other": "С $n модами" + }, + "inputs(plural)": { + "zero": "$n нажатий клавиш", + "one": "$n нажатие клавиш", + "two": "$n нажатия клавиш", + "few": "$n нажатия клавиш", + "many": "$n нажатий клавиш", + "other": "$n нажатий клавиш" + }, + "tspinsTotal(plural)": { + "zero": "$n T-спинов всего", + "one": "Всего $n T-спин", + "two": "$n T-спина всего", + "few": "$n T-спина всего", + "many": "$n T-спинов всего", + "other": "$n T-спинов всего" + }, + "linesCleared(plural)": { + "zero": "$n линий очищено", + "one": "$n линия очищена", + "two": "$n линии очищено", + "few": "$n линии очищено", + "many": "$n линий очищено", + "other": "$n линий очищено" + }, + "graphs": { + "attack": "Атака", + "speed": "Скорость", + "defense": "Оборона", + "cheese": "Сыр" + }, + "players(plural)": { + "zero": "$n игроков", + "one": "$n игрок", + "two": "$n игрока", + "few": "$n игрока", + "many": "$n игроков", + "other": "$n игроков" + }, + "games(plural)": { + "zero": "$n игр", + "one": "$n игра", + "two": "$n игры", + "few": "$n игры", + "many": "$n игр", + "other": "$n игр" + }, + "lineClear": { + "single": "Single", + "double": "Double", + "triple": "Triple", + "quad": "Quad", + "penta": "Penta", + "hexa": "Hexa", + "hepta": "Hepta", + "octa": "Octa", + "ennea": "Ennea", + "deca": "Deca", + "hendeca": "Hendeca", + "dodeca": "Dodeca", + "triadeca": "Triadeca", + "tessaradeca": "Tessaradeca", + "pentedeca": "Pentedeca", + "hexadeca": "Hexadeca", + "heptadeca": "Heptadeca", + "octadeca": "Octadeca", + "enneadeca": "Enneadeca", + "eicosa": "Eicosa", + "kagaris": "Kagaris" + }, + "lineClears": { + "zero": "Zeros", + "single": "Singles", + "double": "Doubles", + "triple": "Triples", + "quad": "Quads", + "penta": "Pentas" + }, + "mini": "Mini", + "tSpin": "T-spin", + "tSpins": "T-spins", + "spin": "Spin", + "spins": "Spins" + }, + "countries(map)": { + "": "Во всем мире", + "AF": "Афганистан", + "AX": "Аландские острова", + "AL": "Албания", + "DZ": "Алжир", + "AS": "Американское Самоа", + "AD": "Андорра", + "AO": "Ангола", + "AI": "Ангилья", + "AQ": "Антарктида", + "AG": "Антигуа и Барбуда", + "AR": "Аргентина", + "AM": "Армения", + "AW": "Аруба", + "AU": "Австралия", + "AT": "Австрия", + "AZ": "Азербайджан", + "BS": "Багамские острова", + "BH": "Бахрейн", + "BD": "Бангладеш", + "BB": "Барбадос", + "BY": "Беларусь", + "BE": "Бельгия", + "BZ": "Белиз", + "BJ": "Бенин", + "BM": "Бермуды", + "BT": "Бутан", + "BO": "Боливия, Многонациональное Государство", + "BA": "Босния и Герцеговина", + "BW": "Ботсвана", + "BV": "Остров Буве", + "BR": "Бразилия", + "IO": "Британская территория в Индийском океане", + "BN": "Бруней-Даруссалам", + "BG": "Болгария", + "BF": "Буркина-Фасо", + "BI": "Бурунди", + "KH": "Камбоджа", + "CM": "Камерун", + "CA": "Канада", + "CV": "Кабо-Верде", + "BQ": "Карибские Нидерланды", + "KY": "Каймановы острова", + "CF": "Центральноафриканская Республика", + "TD": "Чад", + "CL": "Чили", + "CN": "Китай", + "CX": "Остров Рождества", + "CC": "Кокосовые острова", + "CO": "Колумбия", + "KM": "Коморские острова", + "CG": "Конго", + "CD": "Конго, Демократическая Республика", + "CK": "Острова Кука", + "CR": "Коста-Рика", + "CI": "Берег Слоновой Кости", + "HR": "Хорватия", + "CU": "Куба", + "CW": "Кюрасао", + "CY": "Кипр", + "CZ": "Чешская Республика", + "DK": "Дания", + "DJ": "Джибути", + "DM": "Доминика", + "DO": "Доминиканская Республика", + "EC": "Эквадор", + "EG": "Египет", + "SV": "Сальвадор", + "GB-ENG": "Англия", + "GQ": "Экваториальная Гвинея", + "ER": "Эритрея", + "EE": "Эстония", + "ET": "Эфиопия", + "EU": "Европа", + "FK": "Фолклендские (Мальвинские) острова", + "FO": "Фарерские острова", + "FJ": "Фиджи", + "FI": "Финляндия", + "FR": "Франция", + "GF": "Французская Гвиана", + "PF": "Французская Полинезия", + "TF": "Южные территории Франции", + "GA": "Габон", + "GM": "Гамбия", + "GE": "Грузия", + "DE": "Германия", + "GH": "Гана", + "GI": "Гибралтар", + "GR": "Греция", + "GL": "Гренландия", + "GD": "Гренада", + "GP": "Гваделупа", + "GU": "Гуам", + "GT": "Гватемала", + "GG": "Гернси", + "GN": "Гвинея", + "GW": "Гвинея-Бисау", + "GY": "Гайана", + "HT": "Гаити", + "HM": "Остров Херд и острова Макдональд", + "VA": "Святой Престол (государство-городок Ватикан)", + "HN": "Гондурас", + "HK": "Гонконг", + "HU": "Венгрия", + "IS": "Исландия", + "IN": "Индия", + "ID": "Индонезия", + "IR": "Иран, Исламская Республика", + "IQ": "Ирак", + "IE": "Ирландия", + "IM": "Остров Мэн", + "IL": "Израиль", + "IT": "Италия", + "JM": "Ямайка", + "JP": "Япония", + "JE": "Джерси", + "JO": "Иордания", + "KZ": "Казахстан", + "KE": "Кения", + "KI": "Кирибати", + "KP": "Корея, Народно-Демократическая Республика", + "KR": "Корея, Республика", + "XK": "Косово", + "KW": "Кувейт", + "KG": "Кыргызстан", + "LA": "Лаосская Народно-Демократическая Республика", + "LV": "Латвия", + "LB": "Ливан", + "LS": "Лесото", + "LR": "Либерия", + "LY": "Ливия", + "LI": "Лихтенштейн", + "LT": "Литва", + "LU": "Люксембург", + "MO": "Макао", + "MK": "Македония, бывшая югославская республика", + "MG": "Мадагаскар", + "MW": "Малави", + "MY": "Малайзия", + "MV": "Мальдивы", + "ML": "Мали", + "MT": "Мальта", + "MH": "Маршалловы острова", + "MQ": "Мартиника", + "MR": "Мавритания", + "MU": "Маврикий", + "YT": "Майотта", + "MX": "Мексика", + "FM": "Микронезия, Федеративные Штаты", + "MD": "Молдова, Республика", + "MC": "Монако", + "ME": "Черногория", + "MA": "Марокко", + "MN": "Монголия", + "MS": "Монтсеррат", + "MZ": "Мозамбик", + "MM": "Мьянма", + "NA": "Намибия", + "NR": "Науру", + "NP": "Непал", + "NL": "Нидерланды", + "AN": "Нидерландские Антильские острова", + "NC": "Новая Каледония", + "NZ": "Новая Зеландия", + "NI": "Никарагуа", + "NE": "Нигер", + "NG": "Нигерия", + "NU": "Ниуэ", + "NF": "Остров Норфолк", + "GB-NIR": "Северная Ирландия", + "MP": "Северные Марианские острова", + "NO": "Норвегия", + "OM": "Оман", + "PK": "Пакистан", + "PW": "Палау", + "PS": "Палестина", + "PA": "Панама", + "PG": "Папуа-Новая Гвинея", + "PY": "Парагвай", + "PE": "Перу", + "PH": "Филиппины", + "PN": "Питкэрн", + "PL": "Польша", + "PT": "Португалия", + "PR": "Пуэрто-Рико", + "QA": "Катар", + "RE": "Реюньон", + "RO": "Румыния", + "RU": "Российская Федерация", + "RW": "Руанда", + "BL": "Сен-Бартелеми", + "SH": "Острова Святой Елены, Вознесения и Тристан-да-Кунья", + "KN": "Сент-Китс и Невис", + "LC": "Сент-Люсия", + "MF": "Сен-Мартен", + "PM": "Сен-Пьер и Микелон", + "VC": "Сент-Винсент и Гренадины", + "WS": "Самоа", + "SM": "Сан-Марино", + "ST": "Сан-Томе и Принсипи", + "SA": "Саудовская Аравия", + "GB-SCT": "Шотландия", + "SN": "Сенегал", + "RS": "Сербия", + "SC": "Сейшельские острова", + "SL": "Сьерра-Леоне", + "SG": "Сингапур", + "SX": "Синт-Мартен (голландская часть)", + "SK": "Словакия", + "SI": "Словения", + "SB": "Соломоновы острова", + "SO": "Сомали", + "ZA": "ЮАР", + "GS": "Южная Георгия и Южные Сандвичевы острова", + "SS": "Южный Судан", + "ES": "Испания", + "LK": "Шри-Ланка", + "SD": "Судан", + "SR": "Суринам", + "SJ": "Острова Шпицберген и Ян-Майен", + "SZ": "Свазиленд", + "SE": "Швеция", + "CH": "Швейцария", + "SY": "Сирийская Арабская Республика", + "TW": "Тайвань", + "TJ": "Таджикистан", + "TZ": "Танзания, Объединенная Республика", + "TH": "Таиланд", + "TL": "Тимор-Лешти", + "TG": "Того", + "TK": "Токелау", + "TO": "Тонга", + "TT": "Тринидад и Тобаго", + "TN": "Тунис", + "TR": "Турция", + "TM": "Туркменистан", + "TC": "Острова Теркс и Кайкос", + "TV": "Тувалу", + "UG": "Уганда", + "UA": "Украина", + "AE": "Объединенные Арабские Эмираты", + "GB": "Великобритания", + "US": "Соединенные Штаты", + "UY": "Уругвай", + "UM": "Малые периферийные острова США", + "UZ": "Узбекистан", + "VU": "Вануату", + "VE": "Венесуэла, Боливарианская Республика", + "VN": "Вьетнам", + "VG": "Виргинские острова, Британские", + "VI": "Виргинские острова, США", + "GB-WLS": "Уэльс", + "WF": "Острова Уоллис и Футуна", + "EH": "Западная Сахара", + "YE": "Йемен", + "ZM": "Замбия", + "ZW": "Зимбабве", + "XX": "Неизвестно", + "XM": "Луна" + } +}