fix(ui): update Russian translations and add missing gain keys (#5329)

* feat(i18n): add album and track gain translation strings

* chore(i18n): update Russian translations

---------

Co-authored-by: Alexander Makeenkov <amakeenk@altlinux.org>
Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Alexander Makeenkov 2026-04-12 20:17:09 +03:00 committed by Deluan
parent 1988a4162e
commit 9dfd9ac849
2 changed files with 144 additions and 140 deletions

View file

@ -1,5 +1,5 @@
{ {
"languageName": "Pусский", "languageName": "Русский",
"resources": { "resources": {
"song": { "song": {
"name": "Трек |||| Треки |||| Треков", "name": "Трек |||| Треки |||| Треков",
@ -7,19 +7,19 @@
"albumArtist": "Исполнитель альбома", "albumArtist": "Исполнитель альбома",
"duration": "Длительность", "duration": "Длительность",
"trackNumber": "#", "trackNumber": "#",
"playCount": "Проигрывания", "playCount": "Прослушивания",
"title": "Название трека", "title": "Название трека",
"artist": "Исполнитель", "artist": "Артист",
"album": "Альбом", "album": "Альбом",
"path": "Путь", "path": "Путь",
"genre": "Жанр", "genre": "Жанр",
"compilation": "Сборник", "compilation": "Сборник",
"year": "Год", "year": "Год",
"size": "Размер", "size": "Размер",
"updatedAt": "Обновлен", "updatedAt": "Обновлено",
"bitRate": "Битрейт", "bitRate": "Битрейт",
"discSubtitle": "Название диска", "discSubtitle": "Название диска",
"starred": "Избранные", "starred": "Избранное",
"comment": "Комментарий", "comment": "Комментарий",
"rating": "Рейтинг", "rating": "Рейтинг",
"quality": "Качество", "quality": "Качество",
@ -35,10 +35,12 @@
"rawTags": "Исходные теги", "rawTags": "Исходные теги",
"bitDepth": "Битовая глубина (Bit)", "bitDepth": "Битовая глубина (Bit)",
"sampleRate": "Частота дискретизации (Hz)", "sampleRate": "Частота дискретизации (Hz)",
"albumGain": "Усиление альбома",
"trackGain": "Усиление трека",
"missing": "Поле отсутствует", "missing": "Поле отсутствует",
"libraryName": "Библиотека", "libraryName": "Библиотека",
"composer": "Композитор", "composer": "Композитор",
"disc": "" "disc": "Диск %{discNumber}"
}, },
"actions": { "actions": {
"addToQueue": "В очередь", "addToQueue": "В очередь",
@ -53,18 +55,18 @@
} }
}, },
"album": { "album": {
"name": "Альбом |||| Альбомы", "name": "Альбом |||| Альбомы |||| Альбомов",
"fields": { "fields": {
"albumArtist": "Исполнитель альбома", "albumArtist": "Исполнитель альбома",
"artist": "Исполнитель", "artist": "Артист",
"duration": "Длительность", "duration": "Длительность",
"songCount": "Треков", "songCount": "Трек |||| Треки |||| Треков",
"playCount": "Проигрывания", "playCount": "Прослушивания",
"name": "Название альбома", "name": "Название альбома",
"genre": "Жанр", "genre": "Жанр",
"compilation": "Сборник", "compilation": "Сборник",
"year": "Год", "year": "Год",
"updatedAt": "Обновлен", "updatedAt": "Обновлено",
"comment": "Комментарий", "comment": "Комментарий",
"rating": "Рейтинг", "rating": "Рейтинг",
"createdAt": "Дата добавления", "createdAt": "Дата добавления",
@ -99,17 +101,17 @@
"recentlyAdded": "Новые", "recentlyAdded": "Новые",
"recentlyPlayed": "Проигранные", "recentlyPlayed": "Проигранные",
"mostPlayed": "Популярные", "mostPlayed": "Популярные",
"starred": "Избранные", "starred": "Избранное",
"topRated": "Лучшие" "topRated": "Лучшие"
} }
}, },
"artist": { "artist": {
"name": "Исполнитель |||| Исполнители", "name": "Артист |||| Артисты |||| Артистов",
"fields": { "fields": {
"name": "Название исполнителя", "name": "Название исполнителя",
"albumCount": "Количество альбомов", "albumCount": "Количество альбомов",
"songCount": "Количество треков", "songCount": "Количество треков",
"playCount": "Проигрывания", "playCount": "Прослушивания",
"rating": "Рейтинг", "rating": "Рейтинг",
"genre": "Жанр", "genre": "Жанр",
"size": "Размер", "size": "Размер",
@ -117,29 +119,29 @@
"missing": "Поле отсутствует" "missing": "Поле отсутствует"
}, },
"roles": { "roles": {
"albumartist": "Исполнитель альбома |||| Исполнители альбома", "albumartist": "Исполнитель альбома |||| Исполнители альбома |||| Исполнителей альбома",
"artist": "Исполнитель |||| Исполнители", "artist": "Артист |||| Артисты |||| Артистов",
"composer": "Композитор |||| Композиторы", "composer": "Композитор |||| Композиторы |||| Композиторов",
"conductor": "Дирижёр |||| Дирижёры", "conductor": "Дирижёр |||| Дирижёры |||| Дирижёров",
"lyricist": "Автор текста |||| Авторы текста", "lyricist": "Автор текста |||| Авторы текста |||| Авторов текста",
"arranger": "Аранжировщик |||| Аранжировщики", "arranger": "Аранжировщик |||| Аранжировщики |||| Аранжировщиков",
"producer": "Продюсер |||| Продюсеры", "producer": "Продюсер |||| Продюсеры |||| Продюсеров",
"director": "Режиссёр |||| Режиссёры", "director": "Режиссёр |||| Режиссёры |||| Режиссёров",
"engineer": "Инженер |||| Инженеры", "engineer": "Инженер |||| Инженеры |||| Инженеров",
"mixer": "Звукоинженер |||| Звукоинженеры", "mixer": "Звукоинженер |||| Звукоинженеры |||| Звукоинженеров",
"remixer": "Ремиксер |||| Ремиксеры", "remixer": "Ремиксер |||| Ремиксеры |||| Ремиксеров",
"djmixer": "DJ-миксер |||| DJ-миксеры", "djmixer": "DJ-миксер |||| DJ-миксеры |||| DJ-миксеров",
"performer": "Исполнитель |||| Исполнители", "performer": "Исполнитель |||| Исполнители |||| Исполнителей",
"maincredit": "Исполнитель альбома или Исполнитель |||| Исполнители альбома или Исполнители" "maincredit": "Исполнитель альбома или артист |||| Исполнители альбома или артисты |||| Исполнителей альбома или артистов"
}, },
"actions": { "actions": {
"shuffle": "Смешать", "shuffle": "Перемешать",
"radio": "Радио", "radio": "Радио",
"topSongs": "Топовые треки" "topSongs": "Топовые треки"
} }
}, },
"user": { "user": {
"name": "Пользователь |||| Пользователи", "name": "Пользователь |||| Пользователи |||| Пользователей",
"fields": { "fields": {
"userName": "Имя пользователя", "userName": "Имя пользователя",
"isAdmin": "Администратор", "isAdmin": "Администратор",
@ -175,9 +177,9 @@
} }
}, },
"player": { "player": {
"name": "Плеер |||| Плееры", "name": "Плеер |||| Плееры |||| Плееров",
"fields": { "fields": {
"name": "Имя", "name": "Название",
"transcodingId": "Транскодирование", "transcodingId": "Транскодирование",
"maxBitRate": "Макс. битрейт", "maxBitRate": "Макс. битрейт",
"client": "Клиент", "client": "Клиент",
@ -188,7 +190,7 @@
} }
}, },
"transcoding": { "transcoding": {
"name": "Транскодирование |||| Транскодирование", "name": "Транскодирование |||| Транскодирование |||| Транскодирований",
"fields": { "fields": {
"name": "Название", "name": "Название",
"targetFormat": "Целевой формат", "targetFormat": "Целевой формат",
@ -197,15 +199,15 @@
} }
}, },
"playlist": { "playlist": {
"name": "Плейлист |||| Плейлисты", "name": "Плейлист |||| Плейлисты |||| Плейлистов",
"fields": { "fields": {
"name": "Название трека", "name": "Название",
"duration": "Длительность", "duration": "Длительность",
"ownerName": "Владелец", "ownerName": "Владелец",
"public": "Публичный", "public": "Публичный",
"updatedAt": "Обновлен", "updatedAt": "Обновлено",
"createdAt": "Создан", "createdAt": "Создан",
"songCount": "Треков", "songCount": "Трек |||| Трека |||| Треков",
"comment": "Комментарий", "comment": "Комментарий",
"sync": "Автоимпорт", "sync": "Автоимпорт",
"path": "Импортировать из" "path": "Импортировать из"
@ -218,7 +220,7 @@
"makePrivate": "Сделать личным", "makePrivate": "Сделать личным",
"saveQueue": "Сохранить очередь в плейлист", "saveQueue": "Сохранить очередь в плейлист",
"searchOrCreate": "Поиск плейлистов или введите текст для создания новых...", "searchOrCreate": "Поиск плейлистов или введите текст для создания новых...",
"pressEnterToCreate": "Нажмите Enter, чтобы создать новый список воспроизведения", "pressEnterToCreate": "Нажмите Enter, чтобы создать новый плейлист",
"removeFromSelection": "Удалить из списка выделенных" "removeFromSelection": "Удалить из списка выделенных"
}, },
"message": { "message": {
@ -229,9 +231,9 @@
} }
}, },
"radio": { "radio": {
"name": "Радио |||| Радио", "name": "Радио |||| Радио |||| Радио",
"fields": { "fields": {
"name": "Имя", "name": "Название",
"streamUrl": "Ссылка на поток", "streamUrl": "Ссылка на поток",
"homePageUrl": "Домашняя страница", "homePageUrl": "Домашняя страница",
"updatedAt": "Обновлено", "updatedAt": "Обновлено",
@ -242,7 +244,7 @@
} }
}, },
"share": { "share": {
"name": "Общий доступ |||| Общий доступ", "name": "Общий доступ |||| Общий доступ |||| Общий доступ",
"fields": { "fields": {
"username": "Поделился", "username": "Поделился",
"url": "Ссылка", "url": "Ссылка",
@ -253,15 +255,15 @@
"visitCount": "Количество посещений", "visitCount": "Количество посещений",
"format": "Формат", "format": "Формат",
"maxBitRate": "Макс. битрейт", "maxBitRate": "Макс. битрейт",
"updatedAt": "Обновлено в", "updatedAt": "Обновлено",
"createdAt": "Создано", "createdAt": "Создано",
"downloadable": "Разрешить загрузку?" "downloadable": "Разрешить загрузку?"
} }
}, },
"missing": { "missing": {
"name": "Файл отсутствует |||| Файлы отсутствуют", "name": "Отсутствующий файл |||| Отсутствующие файлы |||| Отсутствующих файлов",
"fields": { "fields": {
"path": "Место расположения", "path": "Путь",
"size": "Размер", "size": "Размер",
"updatedAt": "Исчез", "updatedAt": "Исчез",
"libraryName": "Библиотека" "libraryName": "Библиотека"
@ -276,21 +278,21 @@
"empty": "Нет отсутствующих файлов" "empty": "Нет отсутствующих файлов"
}, },
"library": { "library": {
"name": "Библиотека |||| Библиотеки", "name": "Библиотека |||| Библиотеки |||| Библиотек",
"fields": { "fields": {
"name": "Имя", "name": "Название",
"path": "Путь", "path": "Путь",
"remotePath": "Удаленный путь", "remotePath": "Удаленный путь",
"lastScanAt": "Последнее сканирование", "lastScanAt": "Последнее сканирование",
"songCount": "Треки", "songCount": "Треки",
"albumCount": "Альбомы", "albumCount": "Альбомы",
"artistCount": "Исполнители", "artistCount": "Артисты",
"totalSongs": "Треки", "totalSongs": "Треки",
"totalAlbums": "Альбомы", "totalAlbums": "Альбомы",
"totalArtists": "Исполнители", "totalArtists": "Артисты",
"totalFolders": "Папки", "totalFolders": "Папки",
"totalFiles": "Файлов", "totalFiles": "Файлы",
"totalMissingFiles": "Пропавших файлов", "totalMissingFiles": "Отсутствующие файлы",
"totalSize": "Общий размер", "totalSize": "Общий размер",
"totalDuration": "Длительность", "totalDuration": "Длительность",
"defaultNewUsers": "По умолчанию для новых пользователей", "defaultNewUsers": "По умолчанию для новых пользователей",
@ -319,7 +321,7 @@
"scanError": "Ошибка при запуске сканирования. Проверьте логи" "scanError": "Ошибка при запуске сканирования. Проверьте логи"
}, },
"validation": { "validation": {
"nameRequired": "Имя библиотеки обязательно", "nameRequired": "Название библиотеки обязательно",
"pathRequired": "Путь к библиотеке обязателен", "pathRequired": "Путь к библиотеке обязателен",
"pathNotDirectory": "Путь к библиотеке должен быть директорией", "pathNotDirectory": "Путь к библиотеке должен быть директорией",
"pathNotFound": "Путь к библиотеке не найден", "pathNotFound": "Путь к библиотеке не найден",
@ -333,14 +335,14 @@
} }
}, },
"plugin": { "plugin": {
"name": "Плагин |||| Плагины", "name": "Плагин |||| Плагины |||| Плагинов",
"fields": { "fields": {
"id": "ID", "id": "ID",
"name": "Имя", "name": "Название",
"description": "Описание", "description": "Описание",
"version": "Версия", "version": "Версия",
"author": "Автор", "author": "Автор",
"website": "Вебсайт", "website": "Веб-сайт",
"permissions": "Разрешения", "permissions": "Разрешения",
"enabled": "Включено", "enabled": "Включено",
"status": "Статус", "status": "Статус",
@ -348,26 +350,26 @@
"lastError": "Ошибка", "lastError": "Ошибка",
"hasError": "Ошибка", "hasError": "Ошибка",
"updatedAt": "Обновлено", "updatedAt": "Обновлено",
"createdAt": "Установленный", "createdAt": "Дата установки",
"configKey": "Ключ", "configKey": "Ключ",
"configValue": "Значение", "configValue": "Значение",
"allUsers": "Разрешить всем пользователям", "allUsers": "Разрешить всем пользователям",
"selectedUsers": "Выбранные пользователи", "selectedUsers": "Выбранные пользователи",
"allLibraries": "Разрешить доступ ко всем библиотекам", "allLibraries": "Разрешить доступ ко всем библиотекам",
"selectedLibraries": "Избранные библиотеки", "selectedLibraries": "Выбранные библиотеки",
"allowWriteAccess": "" "allowWriteAccess": "Разрешить запись"
}, },
"sections": { "sections": {
"status": "Статус", "status": "Статус",
"info": "Информация о плагине", "info": "Информация о плагине",
"configuration": "Конфигурация", "configuration": "Конфигурация",
"manifest": "Манифест", "manifest": "Манифест",
"usersPermission": "Разрешение пользователей", "usersPermission": "Права доступа пользователей",
"libraryPermission": "Разрешение на использование библиотеки" "libraryPermission": "Права доступа к библиотекам"
}, },
"status": { "status": {
"enabled": "Включено", "enabled": "Включено",
"disabled": "Отключить" "disabled": "Отключено"
}, },
"actions": { "actions": {
"enable": "Включить", "enable": "Включить",
@ -401,7 +403,7 @@
"requiredHosts": "Необходимые хосты", "requiredHosts": "Необходимые хосты",
"configValidationError": "Проверка конфигурации завершилась неудачей:", "configValidationError": "Проверка конфигурации завершилась неудачей:",
"schemaRenderError": "Не удалось отобразить форму конфигурации. Возможно, схема плагина недействительна.", "schemaRenderError": "Не удалось отобразить форму конфигурации. Возможно, схема плагина недействительна.",
"allowWriteAccessHelp": "" "allowWriteAccessHelp": "Разрешить плагину изменять файлы в вашей библиотеке"
}, },
"placeholders": { "placeholders": {
"configKey": "ключ", "configKey": "ключ",
@ -412,9 +414,9 @@
"ra": { "ra": {
"auth": { "auth": {
"welcome1": "Спасибо за установку Navidrome!", "welcome1": "Спасибо за установку Navidrome!",
"welcome2": "Для начала, создайте аккаунт Администратора", "welcome2": "Для начала создайте аккаунт администратора",
"confirmPassword": "Подтвердить Пароль", "confirmPassword": "Подтвердите пароль",
"buttonCreateAdmin": "Создать аккаунт Администратора", "buttonCreateAdmin": "Создать аккаунт администратора",
"auth_check_error": "Пожалуйста, авторизуйтесь для продолжения работы", "auth_check_error": "Пожалуйста, авторизуйтесь для продолжения работы",
"user_menu": "Профиль", "user_menu": "Профиль",
"username": "Имя пользователя", "username": "Имя пользователя",
@ -428,14 +430,14 @@
"invalidChars": "Пожалуйста, используйте только буквы и цифры", "invalidChars": "Пожалуйста, используйте только буквы и цифры",
"passwordDoesNotMatch": "Пароли не совпадают", "passwordDoesNotMatch": "Пароли не совпадают",
"required": "Обязательно для заполнения", "required": "Обязательно для заполнения",
"minLength": "Минимальное кол-во символов %{min}", "minLength": "Минимальное количество символов: %{min}",
"maxLength": "Максимальное кол-во символов %{max}", "maxLength": "Максимальное количество символов: %{max}",
"minValue": "Минимальное значение %{min}", "minValue": "Минимальное значение: %{min}",
"maxValue": "Значение может быть %{max} или меньше", "maxValue": "Максимальное значение: %{max}",
"number": "Должно быть цифрой", "number": "Должно быть числом",
"email": "Некорректный Email", "email": "Некорректный Email",
"oneOf": "Должно быть одним из: %{options}", "oneOf": "Должно быть одним из: %{options}",
"regex": "Должно быть в формате (regexp): %{pattern}", "regex": "Должно соответствовать формату: %{pattern}",
"unique": "Должно быть уникальным", "unique": "Должно быть уникальным",
"url": "Должен быть действительный URL" "url": "Должен быть действительный URL"
}, },
@ -443,7 +445,7 @@
"add_filter": "Фильтр", "add_filter": "Фильтр",
"add": "Добавить", "add": "Добавить",
"back": "Назад", "back": "Назад",
"bulk_actions": "1 выбран |||| %{smart_count} выбрано |||| %{smart_count} выбрано", "bulk_actions": "1 выбран |||| %{smart_count} выбраны |||| %{smart_count} выбрано",
"cancel": "Отмена", "cancel": "Отмена",
"clear_input_value": "Очистить", "clear_input_value": "Очистить",
"clone": "Дублировать", "clone": "Дублировать",
@ -461,13 +463,13 @@
"show": "Просмотр", "show": "Просмотр",
"sort": "Сортировать", "sort": "Сортировать",
"undo": "Отменить", "undo": "Отменить",
"expand": "Расширить", "expand": "Развернуть",
"close": "Закрыть", "close": "Закрыть",
"open_menu": "Открыть меню", "open_menu": "Открыть меню",
"close_menu": "Закрыть меню", "close_menu": "Закрыть меню",
"unselect": "Отменить выделение", "unselect": "Снять выделение",
"skip": "Пропустить", "skip": "Пропустить",
"bulk_actions_mobile": "1 |||| %{smart_count}", "bulk_actions_mobile": "1 |||| %{smart_count} |||| %{smart_count}",
"share": "Поделиться", "share": "Поделиться",
"download": "Скачать" "download": "Скачать"
}, },
@ -481,7 +483,7 @@
"edit": "%{name} #%{id}", "edit": "%{name} #%{id}",
"error": "Что-то пошло не так", "error": "Что-то пошло не так",
"list": "%{name}", "list": "%{name}",
"loading": "Загрузка", "loading": "Загрузка...",
"not_found": "Не найдено", "not_found": "Не найдено",
"show": "%{name} #%{id}", "show": "%{name} #%{id}",
"empty": "Нет %{name}.", "empty": "Нет %{name}.",
@ -493,8 +495,8 @@
"upload_single": "Перетащите файл для загрузки или щёлкните для выбора." "upload_single": "Перетащите файл для загрузки или щёлкните для выбора."
}, },
"image": { "image": {
"upload_several": "Перетащите картинки для загрузки или щёлкните для выбора.", "upload_several": "Перетащите изображения для загрузки или щёлкните для выбора.",
"upload_single": "Перетащите картинку для загрузки или щёлкните для выбора." "upload_single": "Перетащите изображение для загрузки или щёлкните для выбора."
}, },
"references": { "references": {
"all_missing": "Связанных данных не найдено.", "all_missing": "Связанных данных не найдено.",
@ -507,45 +509,45 @@
} }
}, },
"message": { "message": {
"about": "Справка", "about": "О программе",
"are_you_sure": "Вы уверены?", "are_you_sure": "Вы уверены?",
"bulk_delete_content": "Вы уверены, что хотите удалить %{name}? |||| Вы уверены, что хотите удалить объекты, кол-вом %{smart_count} ? |||| Вы уверены, что хотите удалить объекты, кол-вом %{smart_count} ?", "bulk_delete_content": "Вы уверены, что хотите удалить %{name}? |||| Удалить %{smart_count} объекта? |||| Удалить %{smart_count} объектов?",
"bulk_delete_title": "Удалить %{name} |||| Удалить %{smart_count} %{name} |||| Удалить %{smart_count} %{name}", "bulk_delete_title": "Удалить %{name} |||| Удалить %{smart_count} объекта |||| Удалить %{smart_count} объектов",
"delete_content": "Вы уверены что хотите удалить этот объект", "delete_content": "Вы уверены, что хотите удалить этот объект?",
"delete_title": "Удалить %{name} #%{id}", "delete_title": "Удалить %{name} #%{id}",
"details": "Описание", "details": "Подробности",
"error": "При выполнении запроса возникла ошибка, и он не может быть завершен", "error": "При выполнении запроса возникла ошибка",
"invalid_form": "Форма заполнена неверно, проверьте, пожалуйста, ошибки", "invalid_form": "Форма заполнена неверно, проверьте ошибки",
"loading": "Идет загрузка, пожалуйста, немного подождите", "loading": "Загрузка, пожалуйста, подождите...",
"no": "Нет", "no": "Нет",
"not_found": "Либо вы ввели неправильный URL, либо перешли по некорректной ссылке.", "not_found": "Страница не найдена. Возможно, вы ввели неправильный URL.",
"yes": "Да", "yes": "Да",
"unsaved_changes": "Некоторые из ваших изменений не сохранены. Продолжить без сохранения?" "unsaved_changes": "Есть несохраненные изменения. Продолжить без сохранения?"
}, },
"navigation": { "navigation": {
"no_results": "Результатов не найдено", "no_results": "Результатов не найдено",
"no_more_results": "Страница %{page} выходит за пределы нумерации, попробуйте предыдущую", "no_more_results": "Страница %{page} выходит за пределы, попробуйте предыдущую",
"page_out_of_boundaries": "Страница %{page} выходит за пределы нумерации", "page_out_of_boundaries": "Страница %{page} выходит за пределы",
"page_out_from_end": "Невозможно переместиться дальше последней страницы", "page_out_from_end": "Невозможно переместиться дальше последней страницы",
"page_out_from_begin": "Номер страницы не может быть меньше 1", "page_out_from_begin": "Номер страницы не может быть меньше 1",
"page_range_info": "%{offsetBegin}-%{offsetEnd} из %{total}", "page_range_info": "%{offsetBegin}-%{offsetEnd} из %{total}",
"page_rows_per_page": "Строк на странице:", "page_rows_per_page": "Строк на странице:",
"next": "Следующая", "next": "Вперед",
"prev": "Предыдущая", "prev": "Назад",
"skip_nav": "Перейти к содержанию" "skip_nav": "Перейти к основному контенту"
}, },
"notification": { "notification": {
"updated": "Элемент обновлен |||| %{smart_count} обновлено |||| %{smart_count} обновлено", "updated": "Элемент обновлен |||| %{smart_count} элемента обновлены |||| %{smart_count} элементов обновлено",
"created": "Элемент создан", "created": "Элемент создан",
"deleted": "Элемент удален |||| %{smart_count} удалено |||| %{smart_count} удалено", "deleted": "Элемент удален |||| %{smart_count} элемента удалены |||| %{smart_count} элементов удалено",
"bad_item": "Неправильный элемент", "bad_item": "Некорректный элемент",
"item_doesnt_exist": "Элемент не существует", "item_doesnt_exist": "Элемент не существует",
"http_error": "Ошибка сервера", "http_error": "Ошибка сервера",
"data_provider_error": "Ошибка dataProvider, проверьте консоль", "data_provider_error": "Ошибка поставщика данных, проверьте консоль",
"i18n_error": "Не удалось загрузить перевод для указанного языка", "i18n_error": "Не удалось загрузить перевод",
"canceled": "Операция отменена", "canceled": "Операция отменена",
"logged_out": "Ваша сессия завершена, попробуйте переподключиться/войти снова", "logged_out": "Сессия завершена, пожалуйста, войдите снова",
"new_version": "Доступна новая версия! Пожалуйста, обновите это окно." "new_version": "Доступна новая версия! Пожалуйста, обновите страницу."
}, },
"toggleFieldsMenu": { "toggleFieldsMenu": {
"columnsToDisplay": "Отображение столбцов", "columnsToDisplay": "Отображение столбцов",
@ -556,42 +558,42 @@
}, },
"message": { "message": {
"note": "ПРИМЕЧАНИЕ", "note": "ПРИМЕЧАНИЕ",
"transcodingDisabled": "Изменение настроек транскодирования через веб интерфейс, отключено по соображениям безопасности. Если вы хотите изменить или добавить опции транскодирования, перезапустите сервер с опцией конфигурации %{config}.", "transcodingDisabled": "Изменение настроек транскодирования через веб-интерфейс отключено по соображениям безопасности. Если вы хотите изменить или добавить опции транскодирования, перезапустите сервер с опцией конфигурации %{config}.",
"transcodingEnabled": "Navidrome работает с настройками %{config}, позволяющими запускать команды с настройками транскодирования через веб интерфейс. В целях безопасности, мы рекомендуем отключить эту возможность.", "transcodingEnabled": "Navidrome работает с настройками %{config}, позволяющими запускать команды транскодирования через веб-интерфейс. В целях безопасности мы рекомендуем отключить эту возможность.",
"songsAddedToPlaylist": "Один трек добавлен в плейлист |||| %{smart_count} треков добавлено в плейлист", "songsAddedToPlaylist": "Добавлен 1 трек |||| Добавлены %{smart_count} трека |||| Добавлено %{smart_count} треков",
"noPlaylistsAvailable": "Недоступно", "noPlaylistsAvailable": "Недоступно",
"delete_user_title": "Удалить пользователя '%{name}'", "delete_user_title": "Удалить пользователя '%{name}'",
"delete_user_content": "Вы уверены, что вы хотите удалить пользователя и все его данные (включая плейлисты и настройки)?", "delete_user_content": "Вы уверены, что хотите удалить пользователя и все его данные (включая плейлисты и настройки)?",
"notifications_blocked": "Вы заблокировали уведомления для этой страницы в настройках вашего браузера", "notifications_blocked": "Вы заблокировали уведомления для этой страницы в настройках вашего браузера",
"notifications_not_available": "Ваш браузер не поддерживает всплывающие уведомления", "notifications_not_available": "Ваш браузер не поддерживает всплывающие уведомления",
"lastfmLinkSuccess": "Соединение с Last.fm установлено, скробблинг включен", "lastfmLinkSuccess": "Соединение с Last.fm установлено, скробблинг включен",
"lastfmLinkFailure": "Last.fm не может быть подключен", "lastfmLinkFailure": "Не удалось подключиться к Last.fm",
"lastfmUnlinkSuccess": "Соединение с Last.fm удалено, скробблинг отключен", "lastfmUnlinkSuccess": "Соединение с Last.fm разорвано, скробблинг отключен",
"lastfmUnlinkFailure": "Соединение с Last.fm не может быть удалено", "lastfmUnlinkFailure": "Не удалось разорвать соединение с Last.fm",
"openIn": { "openIn": {
"lastfm": "Показать на Last.fm", "lastfm": "Показать на Last.fm",
"musicbrainz": "Показать на MusicBrainz" "musicbrainz": "Показать на MusicBrainz"
}, },
"lastfmLink": "Подробнее...", "lastfmLink": "Подробнее...",
"listenBrainzLinkSuccess": "ListenBrainz скробблинг успешно подключен для пользователя: %{user}", "listenBrainzLinkSuccess": "ListenBrainz скробблинг успешно подключен для пользователя: %{user}",
"listenBrainzLinkFailure": "ListenBrainz не может быть связан:", "listenBrainzLinkFailure": "Не удалось подключить ListenBrainz:",
"listenBrainzUnlinkSuccess": "ListenBrainz скробблинг отключен", "listenBrainzUnlinkSuccess": "ListenBrainz скробблинг отключен",
"listenBrainzUnlinkFailure": "ListenBrainz не удалось отключить", "listenBrainzUnlinkFailure": "Не удалось отключить ListenBrainz",
"downloadOriginalFormat": "Скачать в оригинальном формате", "downloadOriginalFormat": "Скачать в оригинальном формате",
"shareOriginalFormat": "Поделиться в оригинальном формате", "shareOriginalFormat": "Поделиться в оригинальном формате",
"shareDialogTitle": "Поделиться %{resource} '%{name}'", "shareDialogTitle": "Поделиться %{resource} '%{name}'",
"shareBatchDialogTitle": "Поделиться 1 %{resource} |||| Поделиться %{smart_count} %{resource}", "shareBatchDialogTitle": "Поделиться 1 %{resource} |||| Поделиться %{smart_count} %{resource} |||| Поделиться %{smart_count} %{resource}",
"shareSuccess": "URL скопирован в буфер обмена: %{url}", "shareSuccess": "URL скопирован в буфер обмена: %{url}",
"shareFailure": "Ошибка копирования URL-адреса %{url} в буфер обмена", "shareFailure": "Ошибка копирования URL %{url} в буфер обмена",
"downloadDialogTitle": "Скачать %{resource} '%{name}' (%{size})", "downloadDialogTitle": "Скачать %{resource} '%{name}' (%{size})",
"shareCopyToClipboard": "Копировать в буфер обмена: Ctrl+C, Enter", "shareCopyToClipboard": "Копировать в буфер обмена: Ctrl+C, Enter",
"remove_missing_title": "Удалить отсутствующие файлы?", "remove_missing_title": "Удалить отсутствующие файлы?",
"remove_missing_content": "Вы уверены, что хотите удалить выбранные отсутствующие файлы из базы данных? Это навсегда удалит все ссылки на них, включая данные о прослушиваниях и рейтингах.", "remove_missing_content": "Вы уверены, что хотите удалить выбранные отсутствующие файлы из базы данных? Это навсегда удалит все ссылки на них, включая данные о прослушиваниях и рейтингах.",
"remove_all_missing_title": "Удалите все отсутствующие файлы", "remove_all_missing_title": "Удалить все отсутствующие файлы",
"remove_all_missing_content": "Вы уверены, что хотите удалить все отсутствующие файлы из базы данных? Это навсегда удалит все упоминания о них, включая количество игр и рейтинг.", "remove_all_missing_content": "Вы уверены, что хотите удалить все отсутствующие файлы из базы данных? Это навсегда удалит все упоминания о них, включая количество прослушиваний и рейтинг.",
"noSimilarSongsFound": "Похожих треков не найдено", "noSimilarSongsFound": "Похожих треков не найдено",
"noTopSongsFound": "Лучших треков не найдено", "noTopSongsFound": "Лучших треков не найдено",
"startingInstantMix": "Загрузка быстрого микса" "startingInstantMix": "Загрузка быстрого микса..."
}, },
"menu": { "menu": {
"library": "Библиотека", "library": "Библиотека",
@ -599,7 +601,7 @@
"version": "Версия", "version": "Версия",
"theme": "Тема", "theme": "Тема",
"personal": { "personal": {
"name": "Личные", "name": "Личное",
"options": { "options": {
"theme": "Тема", "theme": "Тема",
"language": "Язык", "language": "Язык",
@ -607,10 +609,10 @@
"desktop_notifications": "Уведомления на рабочем столе", "desktop_notifications": "Уведомления на рабочем столе",
"lastfmScrobbling": "Скробблинг Last.fm", "lastfmScrobbling": "Скробблинг Last.fm",
"listenBrainzScrobbling": "Скробблинг ListenBrainz", "listenBrainzScrobbling": "Скробблинг ListenBrainz",
"replaygain": "ReplayGain режим", "replaygain": "Режим ReplayGain",
"preAmp": "ReplayGain предусилитель (dB)", "preAmp": "Предусилитель ReplayGain (дБ)",
"gain": { "gain": {
"none": "Отключить", "none": "Отключено",
"album": "Использовать усиление альбома", "album": "Использовать усиление альбома",
"track": "Использовать усиление трека" "track": "Использовать усиление трека"
}, },
@ -620,16 +622,16 @@
"albumList": "Альбомы", "albumList": "Альбомы",
"about": "О программе", "about": "О программе",
"playlists": "Плейлисты", "playlists": "Плейлисты",
"sharedPlaylists": "Поделиться плейлистом", "sharedPlaylists": "Общие плейлисты",
"librarySelector": { "librarySelector": {
"allLibraries": "Все библиотеки (%{count})", "allLibraries": "Все библиотеки (%{count})",
"multipleLibraries": "%{selected} из %{total} Библиотеки", "multipleLibraries": "%{selected} из %{total} библиотек |||| %{selected} из %{total} библиотек |||| %{selected} из %{total} библиотек",
"selectLibraries": "Выбор библиотек", "selectLibraries": "Выбор библиотек",
"none": "Отсутствует" "none": "Отсутствует"
} }
}, },
"player": { "player": {
"playListsText": "Очередь Воспроизведения", "playListsText": "Очередь воспроизведения",
"openText": "Открыть", "openText": "Открыть",
"closeText": "Закрыть", "closeText": "Закрыть",
"notContentText": "Нет музыки", "notContentText": "Нет музыки",
@ -643,19 +645,19 @@
"toggleMiniModeText": "Свернуть", "toggleMiniModeText": "Свернуть",
"destroyText": "Выключить", "destroyText": "Выключить",
"downloadText": "Скачать", "downloadText": "Скачать",
"removeAudioListsText": "Удалить список воспроизведения", "removeAudioListsText": "Очистить очередь",
"clickToDeleteText": "Нажмите для удаления %{name}", "clickToDeleteText": "Нажмите для удаления %{name}",
"emptyLyricText": "Без текста", "emptyLyricText": "Текст песни отсутствует",
"playModeText": { "playModeText": {
"order": "По порядку", "order": "По порядку",
"orderLoop": "Повторять", "orderLoop": "Повторять",
"singleLoop": "Повторить один раз", "singleLoop": "Повторять один трек",
"shufflePlay": "Перемешать" "shufflePlay": "Перемешать"
} }
}, },
"about": { "about": {
"links": { "links": {
"homepage": "Главная", "homepage": "Сайт проекта",
"source": "Исходный код", "source": "Исходный код",
"featureRequests": "Предложения", "featureRequests": "Предложения",
"lastInsightsCollection": "Последний сбор данных", "lastInsightsCollection": "Последний сбор данных",
@ -665,33 +667,33 @@
} }
}, },
"tabs": { "tabs": {
"about": "О нас", "about": "О программе",
"config": "Конфигурация" "config": "Конфигурация"
}, },
"config": { "config": {
"configName": "Имя конфигурации", "configName": "Параметр",
"environmentVariable": "Переменная среды", "environmentVariable": "Переменная окружения",
"currentValue": "Текущее значение", "currentValue": "Текущее значение",
"configurationFile": "Файл конфигурации", "configurationFile": "Файл конфигурации",
"exportToml": "Экспорт конфигурации (TOML)", "exportToml": "Экспорт в TOML",
"exportSuccess": "Конфигурация экспортирована в буфер обмена в формате TOML", "exportSuccess": "Конфигурация скопирована в буфер обмена в формате TOML",
"exportFailed": "Не удалось скопировать конфигурацию", "exportFailed": "Не удалось скопировать конфигурацию",
"devFlagsHeader": "Флаги разработки (могут быть изменены/удалены)", "devFlagsHeader": "Флаги разработки (могут быть изменены/удалены)",
"devFlagsComment": "Это экспериментальные настройки, которые могут быть удалены в будущих версиях.", "devFlagsComment": "Это экспериментальные настройки, которые могут быть удалены в будущих версиях.",
"downloadToml": "Скачать конфигурацию (TOML)" "downloadToml": "Скачать TOML"
} }
}, },
"activity": { "activity": {
"title": "Действия", "title": "Активность",
"totalScanned": "Всего просканировано папок", "totalScanned": "Всего просканировано папок",
"quickScan": "Быстрое сканирование", "quickScan": "Быстрое сканирование",
"fullScan": "Полное сканирование", "fullScan": "Полное сканирование",
"serverUptime": "Время работы сервера", "serverUptime": "Время работы сервера",
"serverDown": "Оффлайн", "serverDown": "Офлайн",
"scanType": "Тип", "scanType": "Тип",
"status": "Ошибка сканирования", "status": "Статус",
"elapsedTime": "Прошедшее время", "elapsedTime": "Прошедшее время",
"selectiveScan": "Избирательный" "selectiveScan": "Избирательное"
}, },
"help": { "help": {
"title": "Горячие клавиши Navidrome", "title": "Горячие клавиши Navidrome",
@ -703,13 +705,13 @@
"next_song": "Следующий трек", "next_song": "Следующий трек",
"vol_up": "Увеличить громкость", "vol_up": "Увеличить громкость",
"vol_down": "Уменьшить громкость", "vol_down": "Уменьшить громкость",
"toggle_love": "Добавить / удалить песню из избранного", "toggle_love": "Добавить/удалить из избранного",
"current_song": "Перейти к текущему треку" "current_song": "Перейти к текущему треку"
} }
}, },
"nowPlaying": { "nowPlaying": {
"title": "Сейчас играет", "title": "Сейчас играет",
"empty": "Ничего не играет", "empty": "Ничего не играет",
"minutesAgo": "%{smart_count} минут назад |||| %{smart_count} минут назад" "minutesAgo": "%{smart_count} минуту назад |||| %{smart_count} минуты назад |||| %{smart_count} минут назад"
} }
} }

View file

@ -22,6 +22,8 @@
"bitRate": "Bit rate", "bitRate": "Bit rate",
"bitDepth": "Bit depth", "bitDepth": "Bit depth",
"sampleRate": "Sample rate", "sampleRate": "Sample rate",
"albumGain": "Album gain",
"trackGain": "Track gain",
"channels": "Channels", "channels": "Channels",
"disc": "Disc %{discNumber}", "disc": "Disc %{discNumber}",
"discSubtitle": "Disc Subtitle", "discSubtitle": "Disc Subtitle",