ci / module boundaries / boundaries (push) Successful in 7s
ci / db / db (push) Successful in 2m33s
ci / api / api (push) Successful in 1m10s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 3m45s
ci / ts / ts (packages + web) (push) Successful in 6m29s
154 lines
14 KiB
JSON
154 lines
14 KiB
JSON
{
|
||
"common": {
|
||
"internal": "Что-то пошло не так на сервере. Попробуйте ещё раз",
|
||
"bad_request": "Некорректный запрос",
|
||
"request_too_large": "Размер запроса превышает лимит сервера. Уменьшите объём отправляемых данных.",
|
||
"not_found": "Не найдено",
|
||
"method_not_allowed": "Действие не поддерживается",
|
||
"network": "Нет связи с сервером. Проверьте сеть"
|
||
},
|
||
"auth": {
|
||
"invalid_credentials": "Неверный логин или пароль",
|
||
"too_many_attempts": "Слишком много попыток входа. Подождите немного",
|
||
"user_blocked": "Учётная запись заблокирована. Обратитесь к администратору",
|
||
"unauthorized": "Войдите, чтобы продолжить",
|
||
"token_expired": "Сессия истекла, войдите снова",
|
||
"token_invalid": "Сессия недействительна, войдите снова",
|
||
"token_revoked": "Сессия завершена, войдите снова",
|
||
"refresh_invalid": "Сессия завершена, войдите снова",
|
||
"refresh_reused": "Сессия завершена из соображений безопасности, войдите снова",
|
||
"refresh_race": "Сессия обновляется, повторите действие",
|
||
"credentials_change_required": "Сначала смените логин и пароль администратора",
|
||
"password_change_required": "Сначала смените временный пароль",
|
||
"current_password_required": "Введите текущий пароль",
|
||
"current_password_invalid": "Текущий пароль указан неверно",
|
||
"bootstrap_not_required": "Учётные данные администратора уже изменены",
|
||
"session_not_found": "Сессия не найдена",
|
||
"forbidden": "Недостаточно прав для этого действия"
|
||
},
|
||
"validation": {
|
||
"cover_type": "Не удалось прочитать обложку. Выберите изображение JPEG, PNG или WebP.",
|
||
"cover_too_large": "Не удалось уменьшить обложку до 8 МБ. Выберите изображение меньшего размера.",
|
||
"user_archive_invalid": "Некорректный файл пользователей: проверьте версию, логины, роли и хэши паролей. Изменения не сохранены.",
|
||
"password_too_short": "Пароль должен быть не короче {{min}} символов",
|
||
"password_too_long": "Пароль должен быть не длиннее {{max}} символов",
|
||
"password_same_as_username": "Пароль не должен совпадать с логином",
|
||
"password_too_common": "Этот пароль слишком распространён — придумайте другой",
|
||
"password_unchanged": "Новый пароль должен отличаться от текущего",
|
||
"username_invalid": "Логин: от {{min}} до {{max}} символов — латинские буквы, цифры, «.», «_», «-»",
|
||
"username_taken": "Этот логин уже занят",
|
||
"locale_unsupported": "Этот язык не поддерживается",
|
||
"display_name_too_long": "Имя должно быть не длиннее {{max}} символов",
|
||
"ui_prefs_invalid": "Недопустимое значение настройки",
|
||
"client_type_invalid": "Неизвестный тип приложения",
|
||
"role_invalid": "Неизвестная роль",
|
||
"cursor_invalid": "Список устарел, обновите страницу",
|
||
"pattern_invalid": "Ошибка в шаблоне: {{reason}}",
|
||
"nfs_invalid": "Недопустимое значение",
|
||
"local_path_invalid": "Папка не найдена",
|
||
"excluded_dirs_invalid": "Укажите до 100 папок: относительные пути без .., по одной папке в строке (до 1000 символов).",
|
||
"name_invalid": "Название — от 1 до {{max}} символов",
|
||
"scan_interval_invalid": "Интервал — не меньше {{min}} минут",
|
||
"source_type_invalid": "Неизвестный тип хранилища",
|
||
"query_empty": "Введите запрос",
|
||
"wave_activity_invalid": "Неизвестное занятие",
|
||
"wave_mood_invalid": "Неизвестное настроение",
|
||
"template_invalid": "Неверный шаблон пути: {{reason}}"
|
||
},
|
||
"users": {
|
||
"not_found": "Пользователь не найден",
|
||
"last_admin": "Нельзя понизить, заблокировать или удалить последнего администратора"
|
||
},
|
||
"library": {
|
||
"source_not_found": "Хранилище не найдено",
|
||
"scan_running": "Скан уже идёт",
|
||
"source_offline": "Хранилище не подключено",
|
||
"template_unavailable": "Не удалось определить структуру по путям и метаданным. Сначала просканируйте хранилище или задайте шаблон вручную."
|
||
},
|
||
"catalog": {
|
||
"not_found": "Не найдено"
|
||
},
|
||
"search": {
|
||
"unavailable": "Поиск временно недоступен"
|
||
},
|
||
"playback": {
|
||
"link_invalid": "Ссылка устарела — обновите страницу",
|
||
"track_unavailable": "Трек недоступен",
|
||
"transcode_failed": "Не удалось подготовить трек"
|
||
},
|
||
"wave": {
|
||
"session_not_found": "Сессия волны завершена"
|
||
},
|
||
"app": {
|
||
"update_unavailable": "Обновление недоступно"
|
||
},
|
||
"uploads": {
|
||
"release_group_required": "Выберите релиз внутри пачки",
|
||
"release_group_not_found": "Релиз внутри этой пачки не найден. Обновите список.",
|
||
"audio_disabled": "Распознавание по звуку не настроено: нужен ключ приложения AcoustID",
|
||
"audio_batch_limit": "Распознавание по звуку доступно для пачек до 50 редактируемых треков",
|
||
"metadata_disabled": "Поиск метаданных отключён в конфигурации сервера.",
|
||
"metadata_unavailable": "Внешний каталог временно недоступен. Попробуйте позже; загрузки и текущие теги сохранены.",
|
||
"release_stale": "Состав или теги пачки изменились. Повторите поиск релиза перед применением.",
|
||
"release_not_found": "Выбранного издания больше нет среди вариантов этой пачки. Повторите поиск.",
|
||
"release_cover_missing": "В Cover Art Archive не найдена обложка этого релиза.",
|
||
"storage_full": "На сервере закончилось место для загрузок. Попросите администратора освободить место, затем повторите загрузку.",
|
||
"queue_full": "В очереди на добавление нет места",
|
||
"user_quota_full": "Превышен ваш лимит в очереди на добавление",
|
||
"too_large": "Файл больше допустимого размера",
|
||
"duplicate": "Такой трек уже есть в библиотеке или в очереди",
|
||
"invalid_audio": "Файл не похож на аудио (нужен один аудиопоток длительностью от 5 с до 3 ч)",
|
||
"unsupported_format": "Формат не поддерживается: подойдут FLAC, MP3, M4A, OGG, Opus, WAV, AIFF, WavPack",
|
||
"not_found": "Загрузка не найдена",
|
||
"wrong_status": "Файл уже в другом статусе — обновите страницу",
|
||
"no_target": "Нет хранилища, принимающего загрузки (или их несколько и не выбрано по умолчанию)",
|
||
"no_template": "У хранилища не задан шаблон пути",
|
||
"missing_field": "Не хватает метаданных для пути в хранилище",
|
||
"missing_year": "Не указан год — проверьте метаданные. Год пропущен в пути",
|
||
"offset_mismatch": "Загрузка рассинхронизировалась — повторите",
|
||
"size_mismatch": "Размер файла не совпал с заявленным",
|
||
"hash_mismatch": "Файл повредился при загрузке (не совпал SHA-256)",
|
||
"import_failed": "Не удалось записать файл в хранилище"
|
||
},
|
||
"playlist": {
|
||
"not_found": "Плейлист не найден",
|
||
"invalid_name": "Введите название от 1 до 120 символов",
|
||
"invalid_tracks": "Треки не должны повторяться и должны существовать в библиотеке",
|
||
"too_large": "Максимум 2000 треков и 2000 символов описания",
|
||
"conflict": "Плейлист изменён на другом устройстве. Закройте редактор и повторите изменение с обновлёнными данными."
|
||
},
|
||
"management": {
|
||
"unavailable": "Агент управления сервером недоступен. Выполните sudo bash deploy/install-management.sh на сервере и проверьте pipu-management.service.",
|
||
"timeout": "Агент не ответил вовремя. Проверьте статус операции перед повторным запуском.",
|
||
"busy": "На сервере уже выполняется операция. Дождитесь завершения.",
|
||
"source_invalid": "Проверьте названия и адреса источников. Токены и пароли в URL не поддерживаются.",
|
||
"source_unavailable": "Репозиторий недоступен с сервера.",
|
||
"target_invalid": "Выбранная версия недоступна или изменилась. Обновите список и повторите.",
|
||
"no_releases": "В источнике нет стабильных релизных тегов.",
|
||
"config_conflict": "Конфигурация изменена другим администратором. Обновите страницу и повторите правки.",
|
||
"config_invalid": "Недопустимое значение или конфигурация Compose. Изменения не сохранены.",
|
||
"config_readonly": "Этот параметр нельзя менять через интерфейс.",
|
||
"agent_error": "Агент не смог выполнить операцию. Проверьте journalctl -u pipu-management.",
|
||
"request_expired": "Запрос устарел. Проверьте статус перед повтором.",
|
||
"request_invalid": "Недопустимый запрос управления сервером.",
|
||
"operation_invalid": "Операция управления сервером не поддерживается.",
|
||
"already_installed": "Эта версия уже установлена. Обновление не требуется.",
|
||
"downgrade": "Установлена более новая сборка. Откат выполняется вручную.",
|
||
"version_unknown": "Не удалось определить commit работающего сервера. Обновите его вручную.",
|
||
"target_changed": "Источник изменился после проверки. Проверьте обновления ещё раз."
|
||
},
|
||
"social": {
|
||
"listening_unavailable": "Совместное прослушивание недоступно. Пользователь не принимает запросы или приглашения от вас либо больше недоступен. Настройки приёма находятся в меню профиля → «Приватность и общение».",
|
||
"person_offline": "Пользователь не в сети. Повторите приглашение, когда он подключится",
|
||
"invalid": "Проверьте сообщение или действие",
|
||
"unavailable": "Чат доступен только друзьям. Возможно, дружба завершена или пользователь недоступен",
|
||
"rate_limited": "Слишком много действий. Подождите минуту",
|
||
"message_conflict": "Это сообщение уже отправлено с другим содержимым",
|
||
"attachment_unavailable": "Трек или ссылка на плейлист больше недоступны",
|
||
"activity_unavailable": "Активность или плейлист больше недоступны",
|
||
"listening_busy": "Сначала выйдите из текущего прослушивания",
|
||
"listening_expired": "Запрос или эфир завершён",
|
||
"listening_pending": "Запрос уже ожидает подтверждения"
|
||
}
|
||
}
|