{ "users": { "title": "Пользователи", "subtitle": "Создание пользователей и модераторов, роли, сброс пароля, блокировка", "create": "Создать пользователя", "search": "Имя или логин", "all": "Все", "col_user": "Пользователь", "col_role": "Роль", "col_status": "Статус", "col_last_login": "Был в сети", "status_active": "Активен", "status_blocked": "Заблокирован", "status_must_change": "Ждёт смены пароля", "never": "Ещё не входил", "empty": "Никого не нашли", "more": "Показать ещё", "actions": "Действия с {{username}}", "reset_password": "Сбросить пароль", "block": "Заблокировать", "unblock": "Разблокировать", "make_role": "Сделать: {{role}}", "delete": "Удалить", "delete_confirm": "Удалить {{username}}? Его история и лайки пропадут.", "block_confirm": "Заблокировать {{username}}? Все его сессии завершатся.", "reset_confirm": "Сбросить пароль {{username}}? Все его сессии завершатся.", "reset_recommendations": "Сбросить рекомендации", "recs_confirm": "Сбросить рекомендации {{username}}? Волна начнёт подбирать музыку с нуля и снова спросит любимых исполнителей. Лайки и история останутся.", "recs_done": "Рекомендации {{username}} сброшены", "confirm": "Подтвердить", "you": "вы" }, "create": { "title": "Новый пользователь", "username": "Логин", "username_hint": "Латинские буквы, цифры, «.», «_», «-»", "display_name": "Имя", "role": "Роль", "password_note": "Пароль сгенерирует сервер и покажет один раз.", "submit": "Создать" }, "temp_password": { "title": "Временный пароль", "text": "Передайте пароль пользователю {{username}}. Он виден только сейчас; при входе его попросят сменить.", "done": "Готово" }, "audit": { "title": "Журнал", "subtitle": "Действия администраторов и модераторов", "col_when": "Когда", "col_who": "Кто", "col_action": "Действие", "col_details": "Подробности", "system": "Система", "empty": "Записей пока нет", "more": "Показать ещё", "actions": { "user.bootstrap_create": "Создан стартовый администратор", "user.bootstrap_credentials": "Заданы учётные данные администратора", "user.create": "Создан пользователь", "user.rename": "Изменено имя", "user.role_change": "Изменена роль", "user.block": "Пользователь заблокирован", "user.unblock": "Пользователь разблокирован", "user.password_reset": "Сброшен пароль", "user.recommendations_reset": "Сброшены рекомендации", "user.delete": "Пользователь удалён" } }, "sources": { "title": "Хранилища", "subtitle": "Откуда сервер берёт музыку: папка на диске сервера или NFS", "add": "Подключить хранилище", "empty": "Хранилищ пока нет. Подключите папку с музыкой, чтобы начать.", "type_local": "Папка на сервере", "type_nfs": "NFS", "status_pending": "Подключается", "status_mounted": "Подключено", "status_error": "Ошибка", "status_disabled": "Отключено", "last_scan": "Последний скан: {{date}}", "never_scanned": "Ещё не сканировалось", "scan": "Сканировать", "full_scan": "Полный скан", "test": "Проверить", "patterns": "Шаблоны путей", "edit": "Изменить", "delete": "Удалить", "disable": "Отключить", "enable": "Подключить", "delete_confirm": "Удалить «{{name}}»? Треки, которые есть только в этом хранилище, пропадут из библиотеки вместе с лайками.", "scanning": "Сканирование: {{processed}} из {{total}}", "scan_walking": "Обход папок…", "scan_done": "Найдено {{found}} · новых {{added}} · обновлено {{updated}} · перемещено {{moved}} · пропало {{missing}} · ошибок {{errors}}", "scan_failed": "Скан прервался: {{error}}", "test_ok": "Доступно, найдено аудиофайлов: {{count}}", "test_fail": "Нет доступа: {{message}}", "form_title_new": "Новое хранилище", "form_title_edit": "Хранилище", "name": "Название", "type": "Тип", "folder": "Папка", "folder_root": "Весь каталог", "folder_hint": "Подпапка каталога LIBRARY_HOST на сервере", "up": "Вверх", "nfs_server": "Сервер", "nfs_server_hint": "Имя или IP, например nas.lan", "nfs_export": "Экспорт", "nfs_export_hint": "Путь на сервере, например /export/music", "nfs_options": "Опции монтирования", "nfs_options_hint": "Только чтение добавляется автоматически", "tag_priority": "Что важнее", "tags_first": "Теги файлов", "path_first": "Шаблоны путей", "interval": "Автоскан", "interval_off": "Вручную", "interval_hours": "Каждые {{count}} ч", "save": "Сохранить" }, "patterns": { "title": "Шаблоны путей: {{name}}", "intro": "Регулярные выражения RE2 с именованными группами применяются к пути файла относительно корня хранилища. Побеждает первое совпавшее.", "groups": "Группы: artist, albumartist, album, year, disc, track, title, genre; skip — игнорировать файл.", "add": "Добавить шаблон", "regex": "Шаблон {{n}}", "enabled": "Включён", "up": "Выше", "down": "Ниже", "remove": "Удалить", "preview": "Предпросмотр", "save": "Сохранить", "saved": "Сохранено. Запустите полный скан, чтобы применить к уже найденным файлам.", "col_path": "Путь", "col_pattern": "Шаблон", "col_result": "Результат", "no_match": "не совпал", "skipped": "пропускается", "unmatched": "Не совпал ни один шаблон: {{count}} из {{total}}", "from_tags": "из тегов", "error_at": "Ошибка в шаблоне {{n}}: {{reason}}", "examples": "Примеры" }, "library": { "title": "Библиотека", "subtitle": "Состояние каталога и сканирования", "artists": "Исполнителей", "albums": "Альбомов", "tracks": "Треков", "files": "Файлов", "missing": "Пропавших файлов", "errors": "Не прочитано", "sources": "Хранилища", "error_files": "Файлы с ошибками", "reindex": "Переиндексировать поиск", "reindex_started": "Переиндексация запущена", "analysis": "Аудиоанализ", "analysis_progress": "Проанализировано {{done}} из {{total}}", "analysis_failed": "Не удалось проанализировать: {{count}}", "analyzer": "Версия анализатора: {{ver}}", "wave": "Моя волна за 7 дней", "wave_served": "Выдано треков", "wave_sessions": "Сессий", "wave_listen": "Дослушано ≥ 50%", "wave_early_skip": "Ранние скипы", "wave_likes": "Лайков на 100", "wave_model": "Версия модели", "wave_by_model": "Сравнение версий модели волны", "analysis_retry": "Повторить" }, "write_template": { "title": "Приём загрузок и шаблон пути", "intro": "Сюда раскладываются одобренные треки из очереди на добавление — по шаблону, который повторяет структуру папок этого хранилища.", "accepts": "Принимать загрузки в это хранилище", "nfs_rw_hint": "Хранилище будет переподключено: агент смонтирует его ещё и на запись (видно только ему). На NFS-сервере нужны права записи для PIPU_FILE_UID.", "template": "Шаблон пути", "hint": "Например {albumartist}/{year} - {album}/{disc:1-}{track:02} - {title}.{ext}; [ … ] — необязательная часть", "suggest": "Подобрать по структуре", "check": "Проверить", "save": "Сохранить", "saved": "Сохранено", "required": "Чтобы принимать загрузки, задайте шаблон пути.", "no_tracks": "В хранилище пока нет треков — проверить шаблон не на чем.", "check_ok": "Шаблон обратим: {{round_trip}} из {{total}} путей разобраны без изменений, {{same_path}} совпали с реальными.", "check_warn": "Есть расхождения: разобрано без изменений {{round_trip}} из {{total}}, совпало с реальными {{same_path}} (нужно ≥ 90%). Новые файлы могут лечь не так, как старые.", "col_real": "Реальный путь", "col_rendered": "По шаблону", "col_problem": "Расхождение", "no_pattern": "не разобрал ни один регэксп", "other_path": "другой путь", "badge": "принимает загрузки", "write_ok": "Запись: ок", "write_fail": "Запись не удалась: {{message}}" }, "uploads": { "suggest_title": "Предложить треки", "suggest_subtitle": "Файлы попадут в очередь на добавление; администратор проверит и разложит их в хранилище", "drop_title": "Перетащите сюда файлы или папки с музыкой", "drop_hint": "Форматы: {{formats}}. Структура папок поможет угадать исполнителя и альбом.", "pick_files": "Выбрать файлы", "pick_folder": "Выбрать папку", "files": "Файлы для отправки", "skipped_one": "Пропущен {{count}} файл — не аудио", "skipped_few": "Пропущено {{count}} файла — не аудио", "skipped_many": "Пропущено {{count}} файлов — не аудио", "skipped_other": "Пропущено {{count}} файла — не аудио", "resume_hint_one": "Не докачан {{count}} файл. Выберите его снова — загрузка продолжится.", "resume_hint_few": "Не докачано {{count}} файла. Выберите их снова — загрузка продолжится.", "resume_hint_many": "Не докачано {{count}} файлов. Выберите их снова — загрузка продолжится.", "resume_hint_other": "Не докачано {{count}} файла. Выберите их снова — загрузка продолжится.", "resume_pick": "Выбрать файлы и продолжить", "comment": "Комментарий для администратора", "comment_hint": "Например: «ремастер 2011», «замена битых файлов»", "not_enough_space": "В очереди не хватает места: нужно {{need}}, свободно {{free}} — часть файлов не примут.", "clear": "Очистить список", "hashing_wait": "Проверяю файлы…", "send_one": "Отправить {{count}} файл · {{size}}", "send_few": "Отправить {{count}} файла · {{size}}", "send_many": "Отправить {{count}} файлов · {{size}}", "send_other": "Отправить {{count}} файла · {{size}}", "sent_one": "Готово: {{count}} файл загружен и обрабатывается. Статусы — в «Моих предложениях».", "sent_few": "Готово: {{count}} файла загружены и обрабатываются. Статусы — в «Моих предложениях».", "sent_many": "Готово: {{count}} файлов загружены и обрабатываются. Статусы — в «Моих предложениях».", "sent_other": "Готово: {{count}} файла загружены и обрабатываются. Статусы — в «Моих предложениях».", "failed_some_one": "Не загрузился {{count}} файл — место за ним зарезервировано, можно продолжить.", "failed_some_few": "Не загрузились {{count}} файла — место за ними зарезервировано, можно продолжить.", "failed_some_many": "Не загрузились {{count}} файлов — место за ними зарезервировано, можно продолжить.", "failed_some_other": "Не загрузились {{count}} файла — место за ними зарезервировано, можно продолжить.", "retry_failed": "Продолжить загрузку", "uploading_now": "Загружаю…", "go_mine": "Мои предложения →", "more": "Загрузить ещё", "dup_found": "Такой трек уже есть в библиотеке или в очереди — загружать не нужно", "possible_dup": "Похожий трек уже есть (совпали исполнитель, название и длительность) — решит администратор", "file_error": "Ошибка: {{message}}", "remove": "Убрать {{name}}", "quota": "Очередь: {{used}} из {{limit}}", "quota_mine": "ваши: {{used}} из {{limit}}", "mine_title": "Мои предложения", "mine_subtitle": "Что вы загрузили и что решил администратор", "mine_empty": "Вы ещё ничего не предлагали", "filter": "Фильтр", "filter_all": "Все", "filter_pending": "В работе", "filter_imported": "Добавлены", "filter_declined": "Не приняты", "col_file": "Трек", "col_status": "Статус", "col_size": "Размер", "col_date": "Загружен", "received": "принято {{pct}}% — откройте «Предложить треки» в той же вкладке, чтобы продолжить", "withdraw": "Отозвать", "load_more": "Показать ещё", "queue_title": "Очередь на добавление", "queue_subtitle": "Проверьте метаданные и путь в хранилище, затем одобрите или отклоните", "queue_empty": "Здесь пусто", "tab_review": "На рассмотрении", "tab_failed": "Ошибки импорта", "tab_progress": "В работе", "tab_imported": "Добавлены", "tab_declined": "Не приняты", "only_possible": "Только возможные дубли", "review_failed_one": "Не удалось применить решение к {{count}} файлу: {{reason}}", "review_failed_few": "Не удалось применить решение к {{count}} файлам: {{reason}}", "review_failed_many": "Не удалось применить решение к {{count}} файлам: {{reason}}", "review_failed_other": "Не удалось применить решение к {{count}} файлам: {{reason}}", "bulk": "Действия с выбранными", "selected_one": "Выбран {{count}} файл", "selected_few": "Выбрано {{count}} файла", "selected_many": "Выбрано {{count}} файлов", "selected_other": "Выбрано {{count}} файла", "approve": "Одобрить", "reject": "Отклонить", "batch_of": "Пачка от {{author}}", "batch_size_one": "{{count}} файл · {{size}}", "batch_size_few": "{{count}} файла · {{size}}", "batch_size_many": "{{count}} файлов · {{size}}", "batch_size_other": "{{count}} файла · {{size}}", "select_batch": "Выбрать всю пачку", "select_file": "Выбрать {{name}}", "disc": "диск {{n}}", "edited": "правлено", "flag_possible": "возможный дубль", "flag_quality": "лучше по качеству", "listen": "Слушать {{name}}", "edit_batch": "На всю пачку", "batch_edit_title": "Правка пачки", "batch_edit_hint": "Пустые поля не меняются. Обложка запишется в файлы при импорте.", "batch_cover": "Обложка пачки", "batch_cover_clear": "Убрать обложку", "set_upgrade": "Принимать тот же трек в лучшем качестве", "flag_existing_album": "в существующий альбом", "flag_new_album": "новый альбом", "dup_level_sha256": "точная копия файла", "dup_level_fingerprint": "тот же трек по акустическому отпечатку", "dup_level_metadata": "совпали метаданные", "edit": "Править {{name}}", "retry": "Повторить", "edit_title": "Метаданные трека", "meta_artist": "Исполнитель", "meta_albumartist": "Исполнитель альбома", "meta_album": "Альбом", "meta_title": "Название", "meta_genre": "Жанр", "meta_year": "Год", "meta_track": "Номер трека", "meta_disc": "Диск", "target_source": "Хранилище", "target_default": "По умолчанию", "tags_note": "Правленые поля запишутся в теги файла при импорте — путь и теги не разойдутся.", "save": "Сохранить", "saved": "Сохранено", "reject_title_one": "Отклонить {{count}} файл", "reject_title_few": "Отклонить {{count}} файла", "reject_title_many": "Отклонить {{count}} файлов", "reject_title_other": "Отклонить {{count}} файла", "reject_reason": "Причина (её увидит автор)", "settings_title": "Настройки очереди", "set_queue": "Лимит очереди, ГБ", "set_per_user": "Лимит на одного модератора, ГБ", "set_per_user_hint": "Пусто — без лимита", "set_max_file": "Максимальный размер файла, ГБ", "set_source": "Хранилище по умолчанию", "set_source_auto": "Единственное, принимающее загрузки", "set_note": "Уменьшение лимита ниже занятого ничего не удаляет: новые загрузки подождут, пока очередь освободится.", "status": { "uploading": "Загружается", "processing": "Обработка", "pending_review": "На рассмотрении", "approved": "Одобрен", "importing": "Импорт", "imported": "Добавлен", "import_failed": "Ошибка импорта", "duplicate": "Дубль", "invalid": "Не аудио", "rejected": "Отклонён", "withdrawn": "Отозван", "expired": "Не докачан" }, "stage": { "hashing": "Считаю контрольную сумму", "checking": "Проверяю на дубли", "ready": "Готов к отправке", "duplicate": "Уже есть", "too_large": "Слишком большой", "uploading": "Загружается", "done": "Загружен, обрабатывается", "rejected": "Не принят", "error": "Ошибка", "resume": "Ждёт файл, чтобы продолжить" } }, "server_settings": { "title": "Настройки сервера", "subtitle": "Параметры, которые действуют для всех пользователей" } }