{
  "base": {
    "getDimName": {
      "0": "Верхний мир",
      "1": "Нижний мир",
      "2": "Край",
      "unknown": "Другое измерение"
    }
  },
  "ll": {
    "main": {
      "checkRunningBDS": {
        "detected": "Обнаружена другая сессия BDS с тем же путём!",
        "tip": "Это может привести к захвату порта сервера и уровня",
        "ask": "Вы действительно хотите завершить процесс с помощью PID {}? (y=Да, n=Нет)"
      },
      "fixAllowList": {
        "removeEmptyAllowlist": "allowlist.json пустой! Удаление...",
        "checkManually": "Оба allowlist.json и whitelist.json существуют и они не пустые. Просим вас проверить их вручную",
        "renamed": "Файл whitelist.json переименован в allowlist.json"
      },
      "warning": {
        "inDevMode": "На данный момент вы в режиме разработчика!",
        "betaVersion": "На данный момент вы используете Beta-версию.",
        "productionEnv": "НЕ ИСПОЛЬЗУЕТЕ В ПРОДАКШЕНЕ!",
        "protocolVersionNotMatch": {
          "1": "Версия протокола не совпадает, целевая версия: {}, текущая версия: {}.",
          "2": "Скорее всего, это приведет к сбою сервера, пожалуйста, используйте LiteLoader, который соответствует версии BDS!"
        }
      }
    },
    "antiAbnormalItem": {
      "detected": "Ошибка при чтении данных об предмете игрока ({})!",
      "itemInfo": "Предмет: {}"
    },
    "cmd": {
      "tpdim": {
        "success": "Телепортирован {} к(в) {} ({:2f}, {:2f}, {:2f})",
        "error": {
          "noActorTeleported": "Объект не был телепортирован",
          "noActorSpecified": "Существо не определено"
        },
        "invalidDimid": "Невалидный идентификатор измерения: {}"
      },
      "listPlugin": {
        "overview": "Список плагинов [{}]",
        "tip": "* Напишите в командной строке \"ll list <Plugin Name>\" для получения дополнительной информации"
      },
      "pluginInfo": {
        "title": "Плагин <{}>",
        "error": {
          "pluginNotFound": "Плагин <{}> не найден!"
        }
      },
      "version": {
        "msg": "Удаленный сервер для Minecraft Bedrock {}\n- с LiteLoaderBDS: {}\n- Версия протокола: {}"
      },
      "help": {
        "msg": "[Introduction]\nLiteLoaderBDS — неофициальный загрузщик плагинов для модификации Bedrock Dedicated Server.\nОн предоставляет огромное количество инструментария для разработчиков, мощная система событий и множество упакованных служебных интерфейсов.\n[Github]\n--> https://github.com/LiteLDev/LiteLoaderBDS <--\nДля получения дополнительной информации, приглашаем вас посетить наш проект на GitHub ~"
      },
      "loadPlugin": {
        "success": "Плагин <{}> успешно загружен.",
        "fail": "Не удалось загрузить плагин {}"
      },
      "unloadPlugin": {
        "success": "Плагин <{}> выключен.",
        "fail": "Не удалось выгрузить плагин <{}>"
      },
      "reloadPlugin": {
        "success": "Плагин <{}> перезагружен.",
        "fail": "Не удалось перезагрузить плагин <{}>"
      },
      "reloadAllPlugins": {
        "success": "{} плагин(-ов) были успешно перезагружены.",
        "fail": "Не удалось перезагрузить плагин"
      },
      "error": {
        "noPathSpecified": "Вы должны указать правильный путь плагина LiteLoader!",
        "noNameSpecified": "Вы должны дать правильное имя плагину LiteLoader!"
      }
    },
    "config": {
      "save": {
        "fail": "Не удалось сохранить (создать) файл конфигурации!"
      },
      "creating": "Файл конфигурации LL <{}> не найден. Создаю файл конфигурации...",
      "warning": {
        "configOutdated": "Файл конфигурации LL <{}> устарел."
      },
      "updating": "Обновление файла конфигурации..."
    },
    "crashLogger": {
      "existsingDebuggerDetected": "Обнаружен другой отладчик. Встроенный CrashLogger не будет работать.",
      "wineDetected": "Вы запускаете LiteLoaderBDS через Wine. Встроенный CrashLogger не будет работать.",
      "error": {
        "cannotCreateDaemonProcess": "Не удалось создать процесс CrashLoger!"
      },
      "warning": {
        "crashLoggerDisabled": {
          "1": "Встроенный CrashLogger не работает, потому что он отключен в файле конфигурации.",
          "2": "При возникновении необработанного исключения журнал сбоев не будет",
          "3": "это делает практически невозможным выявление причины и источника сбоя.",
          "4": "Мы строго рекомендуем вам включить его, чтобы обеспечить стабильность сервера"
        },
        "conflicts": {
          "1": "Встроенный CrashLogger не включен, потому что плагин <{}> конфликтует с ним",
          "2": "При возникновении необработанного исключения журнал сбоев не будет",
          "3": "это делает практически невозможным выявление причины и источника сбоя.",
          "4": "Поскольку CrashLogger является важным компонентом, который обеспечивает стабильность сервера",
          "5": "Мы рекомендуем вам несколько раз подумать об использовании плагина <{}>"
        }
      },
      "init": {
        "fail": {
          "msg": "Не удалось запустить встроенный CrashLogger!",
          "tip": "При возникновении необработанного исключения журнал сбоев не будет."
        }
      }
    },
    "addonsHelper": {
      "error": {
        "addonConfigNotFound": "Файл конфигурации аддонов не найдена!",
        "addonFileNotFound": "Файл аддона \"{}\" не найден!",
        "addonNotFound": "Аддон <{}> не найден!",
        "outOfRange": "Индекс аддона {} вне предела",
        "unsupportedFileType": "Обнаружен неподдерживаемый тип файла!",
        "parsingEnabledAddonsList": "Ошибка при чтении списка включенных аддонов",
        "noAddonInstalled": "Аддон не был установлен.",
        "installationAborted": "Процесс установки прерван!"
      },
      "displayError": "Ошибка: {}",
      "removeAddonFromList": {
        "fail": "Не удалось удалить аддон <{}> из файла конфигурации!",
        "success": "Аддон <{}> удалён из файла конфигурации."
      },
      "addAddonToList": {
        "invalidList": "Невалидный файл списка аддонов {}, была проведена резервная копия на {} и сброшена по умолчанию",
        "fail": "Не удалось добавить аддон {} в список {}!",
        "success": "Аддон <{}> добавлен в файл конфигурации."
      },
      "install": {
        "installing": "Установка аддона <{}>...",
        "error": {
          "failToUncompress": {
            "msg": "Не удалось распаковать аддон {}!",
            "exitCode": "Код возврата: {}",
            "programOutput": "Вывод программы: {}"
          }
        }
      },
      "uninstall": {
        "success": "Аддон <{}> удалён."
      },
      "autoInstall": {
        "tip": {
          "dirCreated": "Директория создана. Вы можете перемещать аддоны в {}, чтобы они затем были установлены при следующем запуске."
        },
        "working": "{} новых аддон(-ов) были найдены для установки. Подождите...",
        "installed": "Аддон {} был успешно установлен.",
        "installedCount": "{} аддон(-ов) были установлены."
      },
      "cmd": {
        "output": {
          "list": {
            "overview": "Аддоны: {} аддон(-ов) установлен(-о):"
          }
        }
      }
    },
    "loader": {
      "loadScriptEngine": {
        "error": {
          "versionNotMatch": "Версия файла <{}> скриптового движка для {} не соответствует версии LiteLoader <{}>"
        },
        "success": "* Скриптовый движок для {} загружен"
      },
      "loadDotNetEngine": {
        "error": {
          "versionNotMatch": "Версия файла <{}> движка .NET не соответствует версии LiteLoader <{}>"
        },
        "success": "* Движок .NET загружен"
      },
      "loadMain": {
        "loadingPlugins": "Загрузка нативных плагинов...",
        "loadedShellLink": "Плагин с ShellLinked <{} => {}> загружен",
        "loadedPlugin": "Нативный плагин <{name}> загружен",
        "done": "{} плагин(ов/а) успешно загружен(ы).",
        "start": "Загрузка нативных плагинов..."
      },
      "initNodeJsDirectories": {
        "created": "Директория библиотек NodeJS не найдена, создаю."
      },
      "loadPermissionAPI": {
        "success": "* PermissionAPI loaded."
      }
    },
    "notice": {
      "newForum": "У нас работает новый форум -> {}",
      "license": "LiteLoader распространяется под лицензией {}",
      "translateText": "Помогите перевести & улучшить перевод в LL -> {}"
    },
    "pluginManager": {
      "error": {
        "invalidFileType": "Неверный тип файла плагина {} в {}",
        "noValidPluginFound": "Некорректный плагин найден в {}!",
        "failToRegisterPlugin": "Не удалось зарегистрировать плагин {}!",
        "hasBeenRegistered": "Плагин с именем {} был зарегистрирован",
        "failToLoadPlugin": "Не удалось загрузить плагин {}!",
        "pluginNotFound": "Плагин <{}> не найден"
      },
      "warning": {
        "unloadDllNotFinished": "Функция выгрузки плагинов DLL находится в разработке.",
        "reloadDllNotFinished": "Функция перезагрузки плагинов DLL находится в разработке."
      },
      "reloadPlugin": {
        "fail": "Не удалось перезагрузить плагин {}!"
      }
    }
  },
  "llse": {
    "init": {
      "llMoney": {
        "notFound": "LLMoney.dll не найден, поэтому система экономики не будет работать на скриптовых языках"
      }
    },
    "api": {
      "ll": {
        "require": {
          "success": " - Успешная загрузка требуемого плагина. Загружен: ",
          "fail": " - Не удалось загрузить зависимость для плагина",
          "download": {
            "success": " - Требуется успешная загрузка! Путь: ",
            "fail": " - Не удалась загрузка требуемого плагина! Код ошибки: "
          }
        }
      }
    },
    "apiHelp": {
      "parseJson": {
        "fail": "Ошибка при чтении JSON файла"
      }
    },
    "loader": {
      "loadDepends": {
        "success": "Зависимость {} загружена.",
        "fail": "Не удалось загрузить зависимость {}"
      },
      "loadMain": {
        "start": "Загрузка {type} плагинов...",
        "done": "{count} {type} плагин(-ов) загружен(-ы).",
        "nodejs": {
          "installPack": {
            "fail": "Не удалось установить набор плагинов {}, пожалуйста, проверьте файл package.json!",
            "start": "Найден набор Node.js плагинов \"{path}\"! Пробуем установить..."
          },
          "ignored": "В директории {path} не найден файл package.json, проигнорируем."
        },
        "loadedPlugin": "{type} плагин <{name}> loaded.",
        "installPluginPack": {
          "done": "{count} набор(-ов) {type} плагинов установлены."
        }
      },
      "nodejs": {
        "executeNpmInstall": {
          "success": "NPM успешно завершил свою работу.",
          "start": "Запускаю команду \"npm install\" для плагина {name}...",
          "fail": "Произошла ошибка при выполнении \"npm install\". Код возврата: {code}"
        },
        "register": {
          "fail": "Не удалось помочь плагину {name} быть зарегистрированным!"
        }
      }
    }
  },
  "permapi": {
    "data": {
      "process": {
        "fail": "Не удалось обработать данные: {}"
      },
      "read": {
        "fail": "Не удалось прочитать файл данных {}"
      },
      "save": {
        "fail": "Не удалось сохранить файл данных: {}"
      }
    },
    "cmd": {
      "error": {
        "invalidCommand": "Неизвестная команда. Введите '/help perm' для получения помощи.",
        "internal": "Произошла ошибка, повторите попытку позже.",
        "roleAlreadyExists": "Такая роль уже существует.",
        "permissionAlreadyExists": "Такое право уже существует.",
        "invalidPermissionName": "Неверное имя права.",
        "roleNotFound": "Роль не найдена.",
        "permissionNotFound": "Право не найдено.",
        "playerNotFound": "Игрок не найден.",
        "modifyMembersOfEveryone": "Эта роль есть у каждого. Ты не можешь модифицировать его участников.",
        "jsonParsingError": "Ошибка при чтении JSON файла: {}",
        "missingArgument": "Недостающий аргумент: {}",
        "permissionDenied": "У вас нет прав на использование этой команды."
      },
      "output": {
        "create": {
          "role": {
            "success": "Роль создана."
          },
          "perm": {
            "success": "Право создано."
          }
        },
        "delete": {
          "role": {
            "success": "Роль удалена."
          },
          "perm": {
            "success": "Право удалено."
          }
        },
        "list": {
          "role": {
            "none": "Нет ролей.",
            "header": "§b§lРоли:",
            "isMember": "§r(§eУчастник§r)"
          },
          "perm": {
            "none": "Нет прав.",
            "header": "§b§lСписок прав:"
          }
        },
        "view": {
          "player": {
            "yourStatus": "§b§lВаш текущий статус прав:",
            "status": "§b§lТекущий статус прав доступа у {}:",
            "rolesTitle": "- §eРоли:",
            "permissionsTitle": "- §eПрава:"
          },
          "role": {
            "header": "§b§lИнформация о роли:",
            "info": {
              "name": "+ §eИмя§r: {roleName}",
              "displayName": "+ §eОтображаемое имя§r: {}",
              "priority": "+ §eПриоритет§r: {}",
              "membersNone": "+ §eУчастники§r: Отсутствуют",
              "members": "+ §eУчастники§r:",
              "permissionsNone": "+ §eПрава§r: Отсутствуют",
              "permissions": "+ §eПрава§r:"
            },
            "note": {
              "admin": "※ {}§r является специальной ролью. Все права будут включены по умолчанию.",
              "everyone": "※ {}§r является специальной ролью. Все игроки являются обладателями этой роли."
            },
            "enabled": "§a(Включено)§r",
            "disabled": "§c(Выключено)§r",
            "enabledWithExtra": "§b(Включено с ограничениями)§r"
          },
          "perm": {
            "header": "§b§lИнформация о праве:",
            "info": {
              "name": "+ §eИмя§r: {permissionName}",
              "desc": "+ §eОписание§r: {}"
            }
          }
        },
        "update": {
          "role": {
            "member": {
              "add": {
                "success": "Участник {name}§r({xuid}) стал обладателем роли {roleDisplayName}§r."
              },
              "remove": {
                "success": "Участник {name}§r({xuid}) теперь не обладатель роли {roleDisplayName}§r."
              }
            },
            "perm": {
              "add": {
                "success": "Право {name}§r добавлено в роль {roleDisplayName}§r."
              },
              "remove": {
                "success": "Право {name}§r удалено из роли {roleDisplayName}§r."
              },
              "set": {
                "enabled": "§aвключено",
                "disabled": "§cвыключено",
                "success": "Право {name}§r от роли {roleDisplayName}§r установлено на {enable}."
              }
            },
            "priority": {
              "set": {
                "success": "Приоритет роли {roleDisplayName}§r установлен на {priority}."
              }
            },
            "displayName": {
              "set": {
                "success": "Теперь роль <{roleName}§r> отображается, как {displayName}."
              }
            }
          },
          "player": {
            "role": {
              "add": {
                "success": "Игрок {name}§r({xuid}) стал обладателем роли {roleDisplayName}§r."
              },
              "remove": {
                "success": "Игрок {name}§r({xuid}) теперь не обладатель роли {roleDisplayName}§r."
              }
            }
          }
        },
        "noDesc": "[Нет описания]",
        "permissionNameExamples": "Примеры имен прав: 'Namespace:PermissionName', 'a:b:c:d_e_f.g'"
      }
    }
  }
}