{
  "messages": {
    "game": {
      "address_bind": "🇺🇸Game Server started at \u001b[1m\u001b[33m%s:%s\u001b[0m",
      "port_bind": "Игровой сервер запущен на порте %s",
      "connect": "Клиент подключился с %s",
      "disconnect": "Клиент отсоединился с %s",
      "game_update_error": "Произошла ошибка при обновлении игры.",
      "command_error": "Командная ошибка:"
    },
    "dispatch": {
      "address_bind": "🇺🇸[Dispatch] Dispatch server started at \u001b[1m\u001b[33m%s:%s\u001b[0m",
      "port_bind": "[Dispatch] Распределительный сервер запущен на порте %s",
      "request": "[Dispatch] Клиент %s %s, запрос: %s",
      "keystore": {
        "general_error": "[Dispatch] Возникла ошибка при загрузке keystore!",
        "password_error": "[Dispatch] Не удалось загрузить keystore. Пытаемся использовать пароль для keystore по умолчанию...",
        "no_keystore_error": "[Dispatch] Сертификат SSL не найден! Возвращаемся к режиму сервера HTTP.",
        "default_password": "[Dispatch] Пароль keystore по умолчанию был успешно загружен. Установите пароль 123456 в config.json."
      },
      "authentication": {
        "default_unable_to_verify": "[Authentication] Произошел вызов метода verifyUser, который недоступен в стандартном обработчике авторизации.."
      },
      "no_commands_error": "Команды не доступны в режиме \"dispatch only\".",
      "unhandled_request_error": "[Dispatch] Возможный необработанный запрос %s: %s.",
      "account": {
        "login_attempt": "[Dispatch] Клиент %s пытается войти.",
        "login_success": "[Dispatch] Клиент %s вошел как %s.",
        "login_max_player_limit": "[Dispatch] Клиент %s не смог войти по причине: Число игроков в сети достигло предела",
        "login_token_attempt": "[Dispatch] Клиент %s пытается войти с помощью токена.",
        "login_token_error": "[Dispatch] Клиент %s не смог войти с помощью токена.",
        "login_token_success": "[Dispatch] Клиент %s вошел с помощью токена как %s.",
        "login_password_error": "[Dispatch] Клиент %s не смог войти с помощью пароля.",
        "login_password_storage_error": "[Dispatch] Клиенту %s не удалось войти с помощью пароля по причине отсутствия пароля в базе данных.",
        "combo_token_success": "[Dispatch] Клиент %s произвёл успешный обмен комбинированного токена.",
        "combo_token_error": "[Dispatch] Клиенту %s не удалось произвести обмен комбинированного токена.",
        "account_login_create_success": "[Dispatch] Клиенту %s не удалось войти по причине: Аккаунт %s был создан.",
        "account_login_create_error": "[Dispatch] Клиенту %s не удалось войти по причине: Не удалось создать аккаунт.",
        "account_login_exist_error": "[Dispatch] Клиенту %s не удалось войти по причине: Аккаунт не найден.",
        "account_cache_error": "Ошибка кэша игрового аккаунта.",
        "session_key_error": "Некорректный ключ сессии.",
        "username_error": "Имя пользователя не обнаружено.",
        "username_create_error": "Имя пользователя не найдено, создание не удалось.",
        "password_error": "Некорректный пароль",
        "password_length_error": "Длина пароля должна быть не менее 8 символов",
        "password_storage_error": "У вашего аккаунта отсутствует пароль. Свяжитесь с администратором.",
        "server_max_player_limit": "Число игроков в сети достигло предела"
      },
      "router_error": "[Dispatch] Не удалось присоединить маршрутизатор."
    },
    "status": {
      "free_software": "Grasscutter является БЕСПЛАТНЫМ программным обеспечением. Если вы заплатили за него деньги, то вы были обмануты продавцом. Домашняя страница проекта: https://github.com/Grasscutters/Grasscutter",
      "starting": "Запускаем Grasscutter...",
      "shutdown": "Отключаемся...",
      "done": "Готово! Для получения помощи, введите \"help\"",
      "error": "Произошла ошибка.",
      "welcome": "Добро пожаловать в Grasscutter!",
      "run_mode_error": "Некорректный режим работы сервера: %s.",
      "run_mode_help": "Сервер должен запускаться в одном из следующих режимов: 'HYBRID', 'DISPATCH_ONLY' или 'GAME_ONLY'. Не удалось запустить Grasscutter...",
      "create_resources": "Создаём папку ресурсов...",
      "resources_error": "Поместите копии папок 'BinOutput' и 'ExcelBinOutput' в папку ресурсов.",
      "version": "Версия Grasscutter: %s-%s",
      "game_version": "Версия игры: %s",
      "resources": {
        "loading": "Загружаем ресурсы...",
        "finish": "Загрузка ресурсов завершена."
      }
    }
  },
  "commands": {
    "generic": {
      "not_specified": "Команда не выбрана.",
      "unknown_command": "Неизвестная команда: %s",
      "permission_error": "У вас нет доступа к этой команде.",
      "console_execute_error": "Эту команду можно запустить только из консоли.",
      "player_execute_error": "Запустите эту команду внутри игры.",
      "command_exist_error": "Команда не найдена.",
      "no_usage_specified": "Применение команды не указано",
      "no_description_specified": "Описание отсутствует",
      "set_to": "Характеристика %s стала равной %s.",
      "set_for_to": "Характеристика %s у %s стала равной %s.",
      "invalid": {
        "amount": "Некорректное количество.",
        "artifactId": "Некорректный ID артефакта.",
        "avatarId": "Некорректный ID персонажа.",
        "avatarLevel": "Некорректный уровень персонажа (avatarLevel).",
        "entityId": "Некорректный ID сущности.",
        "itemId": "Некорректный ID предмета.",
        "itemLevel": "Некорректный уровень предмета (itemLevel).",
        "itemRefinement": "Некорректный ранг пробуждения предмета (itemRefinement).",
        "statValue": "Некорректное значение характеристики.",
        "value_between": "Некорректное значение: %s находится в пределах от %s до %s.",
        "playerId": "Некорректный ID игрока.",
        "uid": "Некорректный UID.",
        "id": "Некорректный ID."
      }
    },
    "execution": {
      "usage_prefix": "Применение: ",
      "player_exist_error": "Игрок не найден.",
      "player_offline_error": "Игрок не в сети.",
      "item_player_exist_error": "Некорректный предмет или UID.",
      "player_exist_offline_error": "Игрок не был найден или не в сети.",
      "argument_error": "Некорректные аргументы.",
      "clear_target": "Цель была удалена.",
      "set_target": "Все последующие команды будут использовать @%s в качестве цели по умолчанию.",
      "set_target_online": "@%s сейчас находится в сети. Для некоторых команд, цель должна быть не в сети.",
      "set_target_offline": "@%s сейчас находится не в сети. Для некоторых команд, цель должна быть в сети.",
      "need_target": "Для данной команды требуется UID цели. Добавьте аргумент <@UID> или задайте постоянную цель с помощью /target @UID.",
      "need_target_online": "Для данной команды требуется UID цели, находящейся в сети, а выбранная цель сейчас не в сети. Введите другой аргумент <@UID> или добавьте постоянную цель с помощью /target @UID.",
      "need_target_offline": "Для данной команды требуется UID цели, находящейся не в сети, а выбранная цель сейчас в сети. Введите другой аргумент <@UID> или добавьте постоянную цель с помощью /target @UID."
    },
    "status": {
      "enabled": "Включено",
      "disabled": "Выключено",
      "help": "Помощь",
      "success": "Успех"
    },
    "account": {
      "invalid": "Некорректный UID.",
      "exists": "Аккаунт с таким именем пользователя и/или UID уже существует.",
      "create": "Аккаунт с UID %s был создан.",
      "delete": "Аккаунт удалён.",
      "no_account": "Аккаунт не найден.",
      "description": "Вносит изменения в аккаунты пользователей"
    },
    "announce": {
      "send_success": "Объявление было отправлено успешно, вы можете отзвать его с помощью команды /a revoke %s.",
      "refresh_success": "Конфигурационный файл объявления был успешно обновлён. [Всего %s]",
      "revoke_done": "Пытаемся отозвать объявление %s.",
      "not_found": "Объявление %s не было найдено.",
      "description": "Показывает объявление всем игрокам в сети и позволяет управлять серверными объявлениями"
    },
    "clear": {
      "weapons": "Удалены оружия у %s.",
      "artifacts": "Удалены артефакты у %s.",
      "materials": "Удалены материалы у %s.",
      "furniture": "Удалена мебель у %s.",
      "displays": "Удалены дисплеи у %s.",
      "virtuals": "Удалены виртуалы у %s.",
      "everything": "Удалено всё у %s.",
      "description": "Удаляет все доступные неэкипированные предметы из вашего инвентаря. По умолчанию удаляет 4* предметы 1-го уровня предмета 1-го ранга пробуждения и ниже, однако, возможно задать более высокие параметры."
    },
    "coop": {
      "success": "Игрок %s был призван в мир %s.",
      "description": "Принудительно присоединяет к мирам других людей. Если цель не была выбрана, то отправляет в совместный режим."
    },
    "enter_dungeon": {
      "changed": "Произошёл переход в подземелье %s.",
      "not_found_error": "Подземелье не существует.",
      "in_dungeon_error": "Вы уже в этом подземелье.",
      "description": "Позволяет войти в подземелье"
    },
    "give": {
      "usage_relic": "Применение: give <ID_артефакта> [ID_глав_хар-ки] [<ID доп_хар-ки>[,<раз>]]... [lv<уровень 0-20>]",
      "illegal_relic": "Данный ID_артефакта находится в черном списке. Возможно, это не то, что вы хотите получить.",
      "given": "Выдано %s %s игроку %s.",
      "given_with_level_and_refinement": "Выдано %s с уровнем предмета %s, рангом пробуждения %s %s раз игроку %s.",
      "given_level": "Выдано %s с уровнем предмета %s %s раз игроку %s.",
      "given_avatar": "Выдано %s с уровнем предмета %s игроку %s.",
      "giveall_success": "Успешно были выданы все возможные предметы.",
      "description": "Выдаёт предмет вам или указанному игроку. С помощью данной команды также возможно выдать любое оружие (опция \"weapons\"), персонажа (опция \"avatars\") и/или материал (опция \"mats\"). Также, с помощью этой команды можно вручную создавать артефакты."
    },
    "heal": {
      "success": "Все персонажи были вылечены.",
      "description": "Лечит всех персонажей в вашей команде."
    },
    "help": {
      "aliases": "Альтернативные названия: ",
      "available_commands": "Доступные команды: ",
      "tip_need_permission": "Разрешения: ",
      "tip_need_no_permission": " Не требуются",
      "tip_permission_targeted": " (Требуется разрешение %s для применения на других игроках)",
      "warn_player_has_no_permission": "Заметка: У вас нет разрешения на запуск этой команды.",
      "description": "Отправляет сообщение с помощью или показывает информацию об указанной команде"
    },
    "kick": {
      "player_kick_player": "Игрок [%s:%s] выгнал игрока [%s:%s]",
      "server_kick_player": "Выгоняем игрока [%s:%s]...",
      "description": "Выгоняет (\"кикает\") указанного игрока с сервера (WIP)"
    },
    "killall": {
      "scene_not_found_in_player_world": "В мире игрока не была обнаружена эта сцена.",
      "kill_monsters_in_scene": "Убиваем %s монстров в сцене %s.",
      "description": "Убивает всех существ в сцене"
    },
    "killCharacter": {
      "success": "Текущий персонаж игрока %s был убит.",
      "description": "Убивает текущего персонажа игрока"
    },
    "language": {
      "current_language": "Текущий язык: %s.",
      "language_changed": "Язык изменён на %s.",
      "language_not_found": "На текущий момент, на сервере недоступен этот язык.",
      "description": "Отображает или изменяет текущий язык"
    },
    "list": {
      "success": "Сейчас в сети %s игрок(ов):",
      "description": "Отображает всех игроков, находящихся в сети"
    },
    "permission": {
      "add": "Разрешение было добавлено.",
      "has_error": "У данного пользователя уже имеется это разрешение!",
      "remove": "Разрешение удалено.",
      "not_have_error": "У данного пользователя отсутствует данное разрешение!",
      "account_error": "Аккаунт не найден.",
      "description": "Добавляет (add) или удаляет (remove) разрешения у пользователя"
    },
    "position": {
      "success": "Координаты: %s, %s, %s\nID сцены: %s",
      "description": "Позволяет получить координаты"
    },
    "quest": {
      "added": "Квест %s был добавлен.",
      "finished": "Квест %s был завершен.",
      "not_found": "Квест не найден.",
      "invalid_id": "Некорректный ID квеста.",
      "description": "Добавляет (add) или завершает (finish) квесты"
    },
    "reload": {
      "reload_start": "Перезагружаем файл конфигурации.",
      "reload_done": "Перезагрузка завершена.",
      "description": "Перезагружает файл конфигурации сервера"
    },
    "resetConst": {
      "reset_all": "Сбросить созвездия всех персонажей.",
      "success": "Созвездия %s были сброшены. Перезайдите в игру, чтобы увидеть изменения.",
      "description": "Сбрасывает уровень созвездия у активного персонажа. Для вступления изменений в силу, после ввода команды необходимо перезайти в игру"
    },
    "resetShopLimit": {
      "success": "Сброс был выполнен успешно.",
      "description": "Сбрасывает таймер обновления магазина у выбранного игрока"
    },
    "sendMail": {
      "give_usage": "Использование: give <игрок> <ID_предмета|название_предмета> [кол-во] [уровень] [пробуждение]",
      "user_not_exist": "Пользователь с ID '%s' не найден.",
      "start_composition": "Начинаем создание письма.\nВведите '/sendmail <заголовок>' для того, чтобы продолжить.\nВ любой момент времени вы можете прекратить писать это письмо путём ввода '/sendmail stop'.",
      "templates": "Шаблоны писем будут реализованы в будущем...",
      "invalid_arguments": "Некорректные аргументы.",
      "send_cancel": "Отправление сообщения было отменено.",
      "send_done": "Сообщение было отправлено пользователю %s!",
      "send_all_done": "Сообщение было отправлено всем пользователям!",
      "not_composition_end": "Составление письма еще не было завершено.\nВведите '/sendmail %s' для того, чтобы продолжить, либо '/sendmail stop' для отмены",
      "please_use": "Пожалуйста, введите '/sendmail %s'",
      "set_title": "Был задан следующий заголовок: '%s'.\nВведите '/sendmail <содержание>' для того, чтобы продолжить.",
      "set_contents": "Было задано следующее содержание письма: '%s'.\nВведите '/sendmail <отправитель>' для того, чтобы продолжить.",
      "set_message_sender": "Был задан следующий отправитель письма: '%s'.\nВведите '/sendmail <ID_предмета|название_предмета|finish> [кол-во] [уровень]' для того, чтобы продолжить",
      "send": "Было задано следующее вложение: %s %s (%s уровня)\nВы можете продолжить добавлять предметы или ввести '/sendmail finish' для того, чтобы отправить письмо.",
      "invalid_arguments_please_use": "Некорректные аргументы.\n Пожалуйста, введите '/sendmail %s'",
      "title": "<заголовок>",
      "message": "<содержание>",
      "sender": "<отправитель>",
      "arguments": "<ID_предмета|название_предмета|finish> [кол-во] [уровень]",
      "error": "ОШИБКА: Некорректная стадия создания %s. Проверьте stacktrace в консоли.",
      "description": "Отправляет сообщение по почте указанному пользователю. Применение данной команды изменяется в зависимости от стадии написания письма"
    },
    "sendMessage": {
      "success": "Сообщение было отправлено.",
      "description": "Отправляет сообщение выбранному игроку от имени сервера. При отсутствии конкретной цели, отправляет сообщение всем игрокам на сервере."
    },
    "setConst": {
      "range_error": "Уровень созвездия должен быть между 0 и 6.",
      "level_error": "Некорректный уровень созвездия.",
      "fail": "Не удалось установить уровень созвездия.",
      "failed_success": "Созвездия для %s установлены на %s. Перезайдите чтобы изменения вступили в силу.",
      "success": "Созвездия для %s были установлены на %s.",
      "description": "Задает уровень созвездия для активного персонажа"
    },
    "setFetterLevel": {
      "range_error": "Значение уровня дружбы должно быть между 0 и 10.",
      "success": "Уровень дружбы стал равен %s.",
      "level_error": "Некорректный уровень дружбы.",
      "description": "Задаёт уровень дружбы для активного персонажа"
    },
    "setProp": {
      "description": "Задаёт свойства аккаунта. С помощью данной команды может быть включен godmode, а также разблокированы этажи Коридора Бездны и изменён прогресс боевого пропуска.\n\tВозможные значения <св-во>: godmode | nostamina | unlimitedenergy | abyss | worldlevel | bplevel\n\t(прод.) см. перечисление (enum) PlayerProperty для остальных возможных значений, of form PROP_MAX_SPRING_VOLUME -> max_spring_volume"
    },
    "setStats": {
      "description": "Задаёт боевые характеристики для активного персонажа\n\tВозможные значения <хар-ка>: hp | maxhp | def | atk | em | er | crate | cdmg | cdr | heal | heali | shield | defi\n\t(прод.) Бонус элементального урона: epyro | ecryo | ehydro | egeo | edendro | eelectro | ephys\n\t(прод.) Элементальное сопротивление: respyro | rescryo | reshydro | resgeo | resdendro | reselectro | resphys",
      "locked_to": "%s зафиксировано на значении %s.",
      "locked_for_to": "%s для %s зафиксировано на значении %s.",
      "unlocked": "%s разблокировано.",
      "unlocked_for": "%s для %s разблокировно."
    },
    "spawn": {
      "success": "Заспавнено %s %s.",
      "limit_reached": "Лимит существ в сцене был достигнут. Спавним %s существ вместо этого.",
      "description": "Спавнит существо неподалеку от вас"
    },
    "stop": {
      "success": "Сервер завершает свою работу...",
      "description": "Останавливает работу сервера"
    },
    "talent": {
      "lower_16": "Некорректный уровень таланта. Уровень должен быть ниже 16.",
      "set_id": "Уровень таланта %s - \"%s\" установлен на %s.",
      "id_desc": "Талант %s - \"%s\" - \"%s\"",
      "invalid_skill_id": "Некорректный ID способности.",
      "invalid_level": "Некорректный уровень таланта.",
      "normal_attack_id": "ID стандартной атаки: %s.",
      "e_skill_id": "ID способности на E: %s.",
      "q_skill_id": "ID способности на Q: %s.",
      "description": "Устанавливает уровень таланта для вашего активного персонажа"
    },
    "team": {
      "invalid_usage": "Некорректное применение.",
      "invalid_index": "Некорректный индекс.",
      "add_too_much": "Сервер позволяет вам иметь максимум %d персонаж(а) в команде.",
      "failed_to_add_avatar": "Не удалось добавить персонажа с ID %s.",
      "failed_to_parse_index": "Не удалось обработать индекс: %s",
      "remove_too_much": "Вы не можете удалить всех своих персонажей.",
      "ignore_index": "Были проигнорированы индекс(ы): %s",
      "index_out_of_range": "Указанный индекс находится вне границ.",
      "failed_parse_avatar_id": "Не удалось распознать ID персонажа: %s",
      "avatar_already_in_team": "Персонаж уже находится в команде.",
      "avatar_not_found": "Персонаж %d не был найден.",
      "description": "Позволяет вручную настроить свою команду."
    },
    "teleportAll": {
      "success": "Все игроки были телепортированы к вам.",
      "error": "Данную команду возможно применить только в многопользовательском режиме.",
      "description": "Телепортирует всех игроков в вашем мире к вам"
    },
    "teleport": {
      "invalid_position": "Некорректная позиция.",
      "exists_error": "Указанная сцена не существует.",
      "success": "Игрок %s был телепортирован по координатам %s, %s, %s в сцене %s.",
      "description": "Изменяет местоположение игрока"
    },
    "weather": {
      "success": "Установлен ID погоды %s, тип климата: %s.",
      "status": "Текущий ID погоды: %s, тип климата: %s.",
      "description": "Изменяет ID погоды и тип климата. ID погоды можно найти в ./Resources/ExcelBinOutput/WeatherExcelConfigData.json.\nТипы климата: sunny (солнечно), cloudy (облачно), rain (дождь), thunderstorm (гроза), snow (снег), mist (туман)"
    },
    "ban": {
      "success": "Успех.",
      "failure": "Неудача, игрок не найден.",
      "invalid_time": "Не удалось определить промежуток времени.",
      "description": "Запрещает игроку присоединяться к серверу (\"банит\")"
    },
    "unlockall": {
      "success": "Разблокированы все состояния для %s.",
      "description": "Разблокировка всех состояний для Игрока. (Мультиплеер, Боевой пропуск и тд)"
    },
    "unban": {
      "success": "Успех.",
      "failure": "Неудача, игрок не найден.",
      "description": "Разблокировывает доступ к серверу (\"разбанивает\")"
    }
  },
  "gacha": {
    "details": {
      "title": "Подробности баннера",
      "available_five_stars": "Доступные 5-звездочные предметы",
      "available_four_stars": "Доступные 4-звездочные предметы",
      "available_three_stars": "Доступные 3-звездочные предметы"
    },
    "records": {
      "title": "Результаты участия",
      "date": "Дата",
      "item": "Предмет"
    }
  },
  "documentation": {
    "handbook": {
      "title": "Справочник гейм-мастера",
      "title_commands": "Команды",
      "title_avatars": "Персонажи (аватары)",
      "title_items": "Предметы",
      "title_scenes": "Сцены",
      "title_monsters": "Монстры",
      "header_id": "ID",
      "header_command": "Команда",
      "header_description": "Описание",
      "header_avatar": "Персонаж",
      "header_item": "Предмет",
      "header_scene": "Сцена",
      "header_monster": "Монстр"
    },
    "index": {
      "title": "Документация",
      "handbook": "Справочник гейм-мастера",
      "gacha_mapping": "Мапирование системы гача в JSON"
    }
  }
}
