mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
i18n(ru): apply translation improvements from PR #120
Manually merged kilyabin's Russian locale improvements (more natural phrasing throughout) while preserving keys added after #120 was opened: fsLyricsToggle, lyricsServerFirst/Desc, lyricsSourceServer/Lrclib. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+50
-46
@@ -1,8 +1,8 @@
|
|||||||
/** Russian UI strings — natural phrasing for a music desktop app */
|
/** Russian UI strings — natural phrasing for a music desktop app */
|
||||||
export const ruTranslation = {
|
export const ruTranslation = {
|
||||||
sidebar: {
|
sidebar: {
|
||||||
library: 'Медиатека',
|
library: 'Библиотека',
|
||||||
mainstage: 'Для вас',
|
mainstage: 'Главная',
|
||||||
newReleases: 'Новинки',
|
newReleases: 'Новинки',
|
||||||
allAlbums: 'Все альбомы',
|
allAlbums: 'Все альбомы',
|
||||||
randomAlbums: 'Случайные альбомы',
|
randomAlbums: 'Случайные альбомы',
|
||||||
@@ -26,8 +26,8 @@ export const ruTranslation = {
|
|||||||
radio: 'Онлайн-радио',
|
radio: 'Онлайн-радио',
|
||||||
},
|
},
|
||||||
home: {
|
home: {
|
||||||
hero: 'Подборка',
|
hero: 'Рекомендации',
|
||||||
starred: 'Личное избранное',
|
starred: 'Избранное',
|
||||||
recent: 'Недавно добавлено',
|
recent: 'Недавно добавлено',
|
||||||
mostPlayed: 'Чаще всего',
|
mostPlayed: 'Чаще всего',
|
||||||
recentlyPlayed: 'Недавно проиграно',
|
recentlyPlayed: 'Недавно проиграно',
|
||||||
@@ -38,14 +38,14 @@ export const ruTranslation = {
|
|||||||
discoverArtistsMore: 'Все исполнители',
|
discoverArtistsMore: 'Все исполнители',
|
||||||
},
|
},
|
||||||
hero: {
|
hero: {
|
||||||
eyebrow: 'Альбом дня',
|
eyebrow: 'Рекомендуемый альбом',
|
||||||
playAlbum: 'Воспроизвести альбом',
|
playAlbum: 'Воспроизвести альбом',
|
||||||
enqueue: 'В очередь',
|
enqueue: 'В очередь',
|
||||||
enqueueTooltip: 'Добавить весь альбом в очередь',
|
enqueueTooltip: 'Добавить весь альбом в очередь',
|
||||||
},
|
},
|
||||||
search: {
|
search: {
|
||||||
placeholder: 'Исполнитель, альбом или трек…',
|
placeholder: 'Исполнитель, альбом или трек…',
|
||||||
noResults: 'Ничего не найдено по запросу «{{query}}»',
|
noResults: 'Нет результатов для «{{query}}»',
|
||||||
artists: 'Исполнители',
|
artists: 'Исполнители',
|
||||||
albums: 'Альбомы',
|
albums: 'Альбомы',
|
||||||
songs: 'Треки',
|
songs: 'Треки',
|
||||||
@@ -93,11 +93,11 @@ export const ruTranslation = {
|
|||||||
addToQueue: 'В конец очереди',
|
addToQueue: 'В конец очереди',
|
||||||
enqueueAlbum: 'Альбом в очередь',
|
enqueueAlbum: 'Альбом в очередь',
|
||||||
startRadio: 'Радио по похожим',
|
startRadio: 'Радио по похожим',
|
||||||
lfmLove: 'Любимое на Last.fm',
|
lfmLove: 'Нравится на Last.fm',
|
||||||
lfmUnlove: 'Убрать с Last.fm',
|
lfmUnlove: 'Убрать лайк с Last.fm',
|
||||||
favorite: 'В избранное',
|
favorite: 'В избранное',
|
||||||
favoriteArtist: 'Исполнитель в избранное',
|
favoriteArtist: 'Добавить исполнителя в избранное',
|
||||||
favoriteAlbum: 'Альбом в избранное',
|
favoriteAlbum: 'Добавить альбом в избранное',
|
||||||
unfavorite: 'Убрать из избранного',
|
unfavorite: 'Убрать из избранного',
|
||||||
unfavoriteArtist: 'Убрать исполнителя из избранного',
|
unfavoriteArtist: 'Убрать исполнителя из избранного',
|
||||||
unfavoriteAlbum: 'Убрать альбом из избранного',
|
unfavoriteAlbum: 'Убрать альбом из избранного',
|
||||||
@@ -121,7 +121,7 @@ export const ruTranslation = {
|
|||||||
offlineDownloading: 'Кэширование… ({{n}} из {{total}})',
|
offlineDownloading: 'Кэширование… ({{n}} из {{total}})',
|
||||||
removeOffline: 'Удалить офлайн-копию',
|
removeOffline: 'Удалить офлайн-копию',
|
||||||
offlineStorageFull:
|
offlineStorageFull:
|
||||||
'Место для офлайн закончилось (лимит {{mb}} МБ). Освободите место в офлайн-библиотеке или увеличьте лимит в настройках.',
|
'Место для офлайн-кэша закончилось (лимит {{mb}} МБ). Освободите место или увеличьте лимит в настройках.',
|
||||||
offlineStorageGoToLibrary: 'Офлайн-библиотека',
|
offlineStorageGoToLibrary: 'Офлайн-библиотека',
|
||||||
offlineStorageGoToSettings: 'Настройки',
|
offlineStorageGoToSettings: 'Настройки',
|
||||||
favoriteAdd: 'В избранное',
|
favoriteAdd: 'В избранное',
|
||||||
@@ -129,7 +129,7 @@ export const ruTranslation = {
|
|||||||
favorite: 'Избранное',
|
favorite: 'Избранное',
|
||||||
noBio: 'Биография недоступна.',
|
noBio: 'Биография недоступна.',
|
||||||
moreByArtist: 'Ещё от {{artist}}',
|
moreByArtist: 'Ещё от {{artist}}',
|
||||||
tracksCount: 'Композиций: {{n}}',
|
tracksCount: '{{n}} треков',
|
||||||
goToArtist: 'Перейти к {{artist}}',
|
goToArtist: 'Перейти к {{artist}}',
|
||||||
moreLabelAlbums: 'Другие альбомы на {{label}}',
|
moreLabelAlbums: 'Другие альбомы на {{label}}',
|
||||||
trackTitle: 'Название',
|
trackTitle: 'Название',
|
||||||
@@ -140,7 +140,7 @@ export const ruTranslation = {
|
|||||||
trackRating: 'Оценка',
|
trackRating: 'Оценка',
|
||||||
trackDuration: 'Длительность',
|
trackDuration: 'Длительность',
|
||||||
trackTotal: 'Итого',
|
trackTotal: 'Итого',
|
||||||
columns: 'Колонки',
|
columns: 'Столбцы',
|
||||||
notFound: 'Альбом не найден.',
|
notFound: 'Альбом не найден.',
|
||||||
bioModal: 'Биография исполнителя',
|
bioModal: 'Биография исполнителя',
|
||||||
bioClose: 'Закрыть',
|
bioClose: 'Закрыть',
|
||||||
@@ -174,18 +174,18 @@ export const ruTranslation = {
|
|||||||
featuredOn: 'Также участвует в',
|
featuredOn: 'Также участвует в',
|
||||||
similarArtists: 'Похожие исполнители',
|
similarArtists: 'Похожие исполнители',
|
||||||
cacheOffline: 'Сохранить дискографию офлайн',
|
cacheOffline: 'Сохранить дискографию офлайн',
|
||||||
offlineCached: 'Дискография сохранена',
|
offlineCached: 'Дискография сохранена в кэш',
|
||||||
offlineDownloading: 'Кэширование… ({{done}} из {{total}} альбомов)',
|
offlineDownloading: 'Кэширование… ({{done}} из {{total}} альбомов)',
|
||||||
uploadImage: 'Загрузить фото исполнителя',
|
uploadImage: 'Загрузить фото исполнителя',
|
||||||
uploadImageError: 'Не удалось загрузить изображение',
|
uploadImageError: 'Не удалось загрузить изображение',
|
||||||
},
|
},
|
||||||
favorites: {
|
favorites: {
|
||||||
title: 'Избранное',
|
title: 'Избранное',
|
||||||
empty: 'Пока ничего не отмечено звёздочкой.',
|
empty: 'Здесь пока пусто... \nПора добавить что-нибудь в избранное.',
|
||||||
artists: 'Исполнители',
|
artists: 'Исполнители',
|
||||||
albums: 'Альбомы',
|
albums: 'Альбомы',
|
||||||
songs: 'Треки',
|
songs: 'Треки',
|
||||||
enqueueAll: 'Всё в очередь',
|
enqueueAll: 'Добавить всё в очередь',
|
||||||
playAll: 'Воспроизвести всё',
|
playAll: 'Воспроизвести всё',
|
||||||
removeSong: 'Убрать из избранного',
|
removeSong: 'Убрать из избранного',
|
||||||
stations: 'Радиостанции',
|
stations: 'Радиостанции',
|
||||||
@@ -204,7 +204,7 @@ export const ruTranslation = {
|
|||||||
loading: 'Загрузка жанров…',
|
loading: 'Загрузка жанров…',
|
||||||
empty: 'Жанры не найдены.',
|
empty: 'Жанры не найдены.',
|
||||||
albumsLoading: 'Загрузка альбомов…',
|
albumsLoading: 'Загрузка альбомов…',
|
||||||
albumsEmpty: 'В этом жанре альбомов нет.',
|
albumsEmpty: 'Альбомы в этом жанре не найдены.',
|
||||||
loadMore: 'Ещё',
|
loadMore: 'Ещё',
|
||||||
back: 'Назад',
|
back: 'Назад',
|
||||||
},
|
},
|
||||||
@@ -220,7 +220,7 @@ export const ruTranslation = {
|
|||||||
trackDuration: 'Длительность',
|
trackDuration: 'Длительность',
|
||||||
favoriteAdd: 'В избранное',
|
favoriteAdd: 'В избранное',
|
||||||
favoriteRemove: 'Убрать из избранного',
|
favoriteRemove: 'Убрать из избранного',
|
||||||
play: 'Играть',
|
play: 'Воспроизвести',
|
||||||
trackGenre: 'Жанр',
|
trackGenre: 'Жанр',
|
||||||
excludeAudiobooks: 'Исключать аудиокниги и радиоспектакли',
|
excludeAudiobooks: 'Исключать аудиокниги и радиоспектакли',
|
||||||
excludeAudiobooksDesc:
|
excludeAudiobooksDesc:
|
||||||
@@ -275,18 +275,18 @@ export const ruTranslation = {
|
|||||||
serverNamePlaceholder: 'Мой Navidrome',
|
serverNamePlaceholder: 'Мой Navidrome',
|
||||||
serverUrl: 'Адрес сервера',
|
serverUrl: 'Адрес сервера',
|
||||||
serverUrlPlaceholder: '192.168.1.100:4533 или music.example.com',
|
serverUrlPlaceholder: '192.168.1.100:4533 или music.example.com',
|
||||||
username: 'Логин',
|
username: 'Имя пользователя',
|
||||||
usernamePlaceholder: 'admin',
|
usernamePlaceholder: 'admin',
|
||||||
password: 'Пароль',
|
password: 'Пароль',
|
||||||
showPassword: 'Показать пароль',
|
showPassword: 'Показать пароль',
|
||||||
hidePassword: 'Скрыть пароль',
|
hidePassword: 'Скрыть пароль',
|
||||||
connect: 'Подключиться',
|
connect: 'Подключиться',
|
||||||
connecting: 'Подключение…',
|
connecting: 'Подключение…',
|
||||||
connected: 'Готово!',
|
connected: 'Подключено!',
|
||||||
error: 'Не удалось подключиться — проверьте данные.',
|
error: 'Не удалось подключиться — проверьте данные.',
|
||||||
urlRequired: 'Укажите адрес сервера.',
|
urlRequired: 'Укажите адрес сервера.',
|
||||||
savedServers: 'Сохранённые серверы',
|
savedServers: 'Сохранённые серверы',
|
||||||
addNew: 'Или добавить новый сервер',
|
addNew: 'Или добавьте новый сервер',
|
||||||
},
|
},
|
||||||
connection: {
|
connection: {
|
||||||
connected: 'Подключено',
|
connected: 'Подключено',
|
||||||
@@ -297,7 +297,7 @@ export const ruTranslation = {
|
|||||||
extern: 'Внешний',
|
extern: 'Внешний',
|
||||||
offlineTitle: 'Нет связи с сервером',
|
offlineTitle: 'Нет связи с сервером',
|
||||||
offlineSubtitle: 'Сервер {{server}} недоступен. Проверьте сеть и адрес.',
|
offlineSubtitle: 'Сервер {{server}} недоступен. Проверьте сеть и адрес.',
|
||||||
offlineModeBanner: 'Офлайн — воспроизведение из локального кэша',
|
offlineModeBanner: 'Воспроизведение из локального кэша',
|
||||||
offlineLibraryTitle: 'Офлайн-библиотека',
|
offlineLibraryTitle: 'Офлайн-библиотека',
|
||||||
offlineLibraryEmpty:
|
offlineLibraryEmpty:
|
||||||
'Пока ничего не сохранено. Подключитесь к сети, откройте альбом и нажмите «Сохранить офлайн».',
|
'Пока ничего не сохранено. Подключитесь к сети, откройте альбом и нажмите «Сохранить офлайн».',
|
||||||
@@ -342,7 +342,7 @@ export const ruTranslation = {
|
|||||||
bulkRemoveFromPlaylist: 'Убрать из плейлиста',
|
bulkRemoveFromPlaylist: 'Убрать из плейлиста',
|
||||||
bulkClear: 'Снять выделение',
|
bulkClear: 'Снять выделение',
|
||||||
updaterAvailable: 'Доступно обновление',
|
updaterAvailable: 'Доступно обновление',
|
||||||
updaterVersion: 'Версия {{version}} готова',
|
updaterVersion: 'Версия {{version}} готова к установке',
|
||||||
updaterInstall: 'Установить и перезапустить',
|
updaterInstall: 'Установить и перезапустить',
|
||||||
updaterDownloading: 'Скачивание…',
|
updaterDownloading: 'Скачивание…',
|
||||||
updaterInstalling: 'Установка…',
|
updaterInstalling: 'Установка…',
|
||||||
@@ -359,7 +359,6 @@ export const ruTranslation = {
|
|||||||
languageZh: 'Китайский',
|
languageZh: 'Китайский',
|
||||||
languageNb: 'Норвежский',
|
languageNb: 'Норвежский',
|
||||||
languageRu: 'Русский',
|
languageRu: 'Русский',
|
||||||
languageRu2: 'Русский 2',
|
|
||||||
font: 'Шрифт',
|
font: 'Шрифт',
|
||||||
theme: 'Тема',
|
theme: 'Тема',
|
||||||
appearance: 'Оформление',
|
appearance: 'Оформление',
|
||||||
@@ -380,14 +379,14 @@ export const ruTranslation = {
|
|||||||
serverFailed: 'Ошибка подключения.',
|
serverFailed: 'Ошибка подключения.',
|
||||||
testBtn: 'Проверить',
|
testBtn: 'Проверить',
|
||||||
testingBtn: 'Проверка…',
|
testingBtn: 'Проверка…',
|
||||||
serverCompatible: 'Совместимость: Navidrome · Gonic · Airsonic · Subsonic',
|
serverCompatible: 'Совместимо с: Navidrome · Gonic · Airsonic · Subsonic',
|
||||||
connected: 'Подключено',
|
connected: 'Подключено',
|
||||||
failed: 'Ошибка',
|
failed: 'Ошибка',
|
||||||
eqTitle: 'Эквалайзер',
|
eqTitle: 'Эквалайзер',
|
||||||
eqEnabled: 'Включить эквалайзер',
|
eqEnabled: 'Включить эквалайзер',
|
||||||
eqPreset: 'Пресет',
|
eqPreset: 'Пресет',
|
||||||
eqPresetCustom: 'Свой',
|
eqPresetCustom: 'Свой',
|
||||||
eqPresetBuiltin: 'Встроенные',
|
eqPresetBuiltin: 'Встроенные пресеты',
|
||||||
eqPresetCustomGroup: 'Мои пресеты',
|
eqPresetCustomGroup: 'Мои пресеты',
|
||||||
eqSavePreset: 'Сохранить как пресет',
|
eqSavePreset: 'Сохранить как пресет',
|
||||||
eqPresetName: 'Название пресета…',
|
eqPresetName: 'Название пресета…',
|
||||||
@@ -409,21 +408,21 @@ export const ruTranslation = {
|
|||||||
lfmConnected: 'Аккаунт',
|
lfmConnected: 'Аккаунт',
|
||||||
lfmDisconnect: 'Отключить',
|
lfmDisconnect: 'Отключить',
|
||||||
lfmConnectDesc:
|
lfmConnectDesc:
|
||||||
'Привяжите Last.fm для скробблинга и статуса «Сейчас слушаю» прямо из Psysonic — настраивать Navidrome не нужно.',
|
'Подключите аккаунт Last.fm для включения скробблинга и обновления "Сейчас играет" напрямую из Psysonic — без необходимости настройки Navidrome.',
|
||||||
lfmOpenBrowser: 'Откроется браузер. Разрешите доступ на Last.fm, затем нажмите кнопку ниже.',
|
lfmOpenBrowser: 'Откроется браузер. Разрешите доступ на Last.fm, затем нажмите кнопку ниже.',
|
||||||
lfmScrobbles: 'Скробблов: {{n}}',
|
lfmScrobbles: '{{n}} скробблов',
|
||||||
lfmMemberSince: 'С {{year}} года',
|
lfmMemberSince: 'Участник с {{year}} года',
|
||||||
scrobbleEnabled: 'Скробблинг включён',
|
scrobbleEnabled: 'Скробблинг включён',
|
||||||
scrobbleDesc: 'Отправлять прослушивания на Last.fm после 50% трека',
|
scrobbleDesc: 'Отправлять прослушивания на Last.fm после 50% воспроизведения',
|
||||||
behavior: 'Поведение',
|
behavior: 'Поведение',
|
||||||
cacheTitle: 'Макс. размер кэша',
|
cacheTitle: 'Макс. размер кэша',
|
||||||
cacheDesc:
|
cacheDesc:
|
||||||
'Обложки и фото исполнителей. При переполнении старые записи удаляются. Офлайн-альбомы не трогаются автоматически, но сотрутся при полной очистке кэша.',
|
'Обложки и фото исполнителей. При переполнении старые записи удаляются. Сохраненные альбомы не трогаются автоматически, но сотрутся при полной очистке кэша.',
|
||||||
cacheUsedImages: 'Изображения:',
|
cacheUsedImages: 'Изображения:',
|
||||||
cacheUsedOffline: 'Офлайн-треки:',
|
cacheUsedOffline: 'Сохраненные треки:',
|
||||||
cacheMaxLabel: 'Лимит',
|
cacheMaxLabel: 'Лимит',
|
||||||
cacheClearBtn: 'Очистить кэш',
|
cacheClearBtn: 'Очистить кэш',
|
||||||
cacheClearWarning: 'Будут удалены и все офлайн-альбомы.',
|
cacheClearWarning: 'Будут удалены и все сохраненные альбомы.',
|
||||||
cacheClearConfirm: 'Очистить всё',
|
cacheClearConfirm: 'Очистить всё',
|
||||||
cacheClearCancel: 'Отмена',
|
cacheClearCancel: 'Отмена',
|
||||||
offlineDirTitle: 'Офлайн-библиотека (в приложении)',
|
offlineDirTitle: 'Офлайн-библиотека (в приложении)',
|
||||||
@@ -439,13 +438,15 @@ export const ruTranslation = {
|
|||||||
showTrayIconDesc: 'Показывать Psysonic в области уведомлений / строке меню.',
|
showTrayIconDesc: 'Показывать Psysonic в области уведомлений / строке меню.',
|
||||||
minimizeToTray: 'Сворачивать в трей',
|
minimizeToTray: 'Сворачивать в трей',
|
||||||
minimizeToTrayDesc: 'При закрытии окна не выходить из приложения, а оставаться в трее.',
|
minimizeToTrayDesc: 'При закрытии окна не выходить из приложения, а оставаться в трее.',
|
||||||
discordRichPresence: 'Статус в Discord',
|
discordRichPresence: 'Статус в Discord (Rich Presence)',
|
||||||
discordRichPresenceDesc:
|
discordRichPresenceDesc:
|
||||||
'Показывать текущий трек в профиле и статусе Discord. Нужен запущенный клиент Discord.',
|
'Показывать текущий трек в профиле и статусе Discord (Rich Presence). Нужен запущенный клиент Discord.',
|
||||||
nowPlayingEnabled: 'Показывать в «Сейчас играет»',
|
nowPlayingEnabled: 'Показывать в «Сейчас играет»',
|
||||||
nowPlayingEnabledDesc:
|
nowPlayingEnabledDesc:
|
||||||
'Отправлять на сервер, что вы сейчас слушаете. Отключите, чтобы не делиться этим.',
|
'Отправлять на сервер, что вы сейчас слушаете. Отключите, чтобы не делиться этим.',
|
||||||
downloadsTitle: 'Экспорт ZIP и архивы',
|
lyricsServerFirst: 'Приоритет серверного текста',
|
||||||
|
lyricsServerFirstDesc: 'Сначала запрашивать текст с сервера (теги, sidecar-файлы), затем LRCLIB. Отключите, чтобы использовать LRCLIB первым.',
|
||||||
|
downloadsTitle: 'Экспорт в ZIP и архивирование',
|
||||||
downloadsFolderDesc: 'Куда сохранять альбомы в виде ZIP на диск.',
|
downloadsFolderDesc: 'Куда сохранять альбомы в виде ZIP на диск.',
|
||||||
downloadsDefault: 'Папка «Загрузки» по умолчанию',
|
downloadsDefault: 'Папка «Загрузки» по умолчанию',
|
||||||
pickFolder: 'Выбрать',
|
pickFolder: 'Выбрать',
|
||||||
@@ -454,9 +455,9 @@ export const ruTranslation = {
|
|||||||
logout: 'Выйти',
|
logout: 'Выйти',
|
||||||
aboutTitle: 'О Psysonic',
|
aboutTitle: 'О Psysonic',
|
||||||
aboutDesc:
|
aboutDesc:
|
||||||
'Современный десктопный плеер для серверов с протоколом Subsonic (Navidrome, Gonic и др.). На Tauri v2 и нативном аудиодвижке на Rust — лёгкий и быстрый: волновая шкала, синхронные тексты, Last.fm, 10-полосный EQ, кроссфейд, воспроизведение без пауз, Replay Gain, жанры и много тем оформления.',
|
'Современный десктопный плеер для серверов с протоколом Subsonic (Navidrome, Gonic и др.). Построен на Tauri v2 и нативном аудиодвижке на Rust — лёгкий и быстрый: волновая шкала, синхронные тексты, Last.fm, 10-полосный EQ, кроссфейд, воспроизведение без пауз, Replay Gain (выравнивание громкости), жанры и много тем оформления.',
|
||||||
aboutFeatures:
|
aboutFeatures:
|
||||||
'Несколько серверов · Last.fm · полноэкранный режим · волна · тексты · 10 полос EQ · кроссфейд и воспроизведение без пауз · Replay Gain · жанры · десятки тем · несколько языков',
|
'Несколько серверов · Last.fm · полноэкранный режим · волна · тексты · 10 полос EQ · кроссфейд и воспроизведение без пауз · Replay Gain (выравнивание громкости) · жанры · десятки тем · несколько языков',
|
||||||
aboutLicense: 'Лицензия',
|
aboutLicense: 'Лицензия',
|
||||||
aboutLicenseText: 'GNU GPL v3 — свободное использование и изменение на тех же условиях.',
|
aboutLicenseText: 'GNU GPL v3 — свободное использование и изменение на тех же условиях.',
|
||||||
aboutRepo: 'Исходный код на GitHub',
|
aboutRepo: 'Исходный код на GitHub',
|
||||||
@@ -533,7 +534,7 @@ export const ruTranslation = {
|
|||||||
preloadBalanced: 'Умеренно (за 30 с до конца)',
|
preloadBalanced: 'Умеренно (за 30 с до конца)',
|
||||||
preloadEarly: 'Рано (через 5 с после старта)',
|
preloadEarly: 'Рано (через 5 с после старта)',
|
||||||
preloadCustom: 'Свой интервал',
|
preloadCustom: 'Свой интервал',
|
||||||
preloadCustomSeconds: 'Секунд до конца: {{n}}',
|
preloadCustomSeconds: '{{n}} секунд до конца',
|
||||||
infiniteQueue: 'Бесконечная очередь',
|
infiniteQueue: 'Бесконечная очередь',
|
||||||
infiniteQueueDesc: 'Подмешивать случайные треки, когда очередь закончится',
|
infiniteQueueDesc: 'Подмешивать случайные треки, когда очередь закончится',
|
||||||
experimental: 'Экспериментально',
|
experimental: 'Экспериментально',
|
||||||
@@ -589,7 +590,7 @@ export const ruTranslation = {
|
|||||||
s5: 'Скробблинг',
|
s5: 'Скробблинг',
|
||||||
q16: 'Как устроен скробблинг?',
|
q16: 'Как устроен скробблинг?',
|
||||||
a16:
|
a16:
|
||||||
'Psysonic шлёт прослушивания напрямую на Last.fm — в Navidrome ничего настраивать не нужно. Подключите аккаунт в настройках.',
|
'Psysonic отправляет прослушивания напрямую на Last.fm — в Navidrome ничего настраивать не нужно. Подключите аккаунт в настройках.',
|
||||||
q17: 'Когда уходит скроббл?',
|
q17: 'Когда уходит скроббл?',
|
||||||
a17: 'После прослушивания примерно половины трека.',
|
a17: 'После прослушивания примерно половины трека.',
|
||||||
q22: 'Что за волна внизу?',
|
q22: 'Что за волна внизу?',
|
||||||
@@ -612,13 +613,13 @@ export const ruTranslation = {
|
|||||||
s6: 'Если что-то не так',
|
s6: 'Если что-то не так',
|
||||||
q18: 'Медленно грузятся обложки.',
|
q18: 'Медленно грузятся обложки.',
|
||||||
a18:
|
a18:
|
||||||
'Первый раз картинки тянутся с сервера и кэшируются на ~30 дней. Медленный диск на сервере даёт задержку только при первом заходе.',
|
'Первый раз картинки загружаются с сервера и кэшируются на ~30 дней. Медленный диск на сервере даёт задержку только при первом заходе.',
|
||||||
q19: 'Тест соединения не проходит.',
|
q19: 'Тест соединения не проходит.',
|
||||||
a19:
|
a19:
|
||||||
'Проверьте адрес с портом (http://192.168.1.100:4533), файрвол, для локалки иногда нужен http вместо https. Логин и пароль должны совпадать с сервером.',
|
'Проверьте адрес с портом (http://192.168.1.100:4533), файрвол, для локальной сети иногда нужен http вместо https. Логин и пароль должны совпадать с сервером.',
|
||||||
q20: 'Нет звука в Linux.',
|
q20: 'Нет звука в Linux.',
|
||||||
a20:
|
a20:
|
||||||
'Есть пакеты .deb, .rpm и AUR. Убедитесь, что запущены PipeWire или PulseAudio.',
|
'Убедитесь, что запущены PipeWire или PulseAudio.',
|
||||||
q21: 'Чёрный экран в Linux.',
|
q21: 'Чёрный экран в Linux.',
|
||||||
a21:
|
a21:
|
||||||
'Часто драйвер GPU / WebKitGTK. Запуск с GDK_BACKEND=x11 WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1. В официальных пакетах это часто уже задано.',
|
'Часто драйвер GPU / WebKitGTK. Запуск с GDK_BACKEND=x11 WEBKIT_DISABLE_COMPOSITING_MODE=1 WEBKIT_DISABLE_DMABUF_RENDERER=1. В официальных пакетах это часто уже задано.',
|
||||||
@@ -639,7 +640,7 @@ export const ruTranslation = {
|
|||||||
q35: 'Как сохранить альбом офлайн?',
|
q35: 'Как сохранить альбом офлайн?',
|
||||||
a35:
|
a35:
|
||||||
'Страница альбома → иконка загрузки в шапке. Прогресс на кнопке, после загрузки — индикатор готовности. Список — в офлайн-библиотеке.',
|
'Страница альбома → иконка загрузки в шапке. Прогресс на кнопке, после загрузки — индикатор готовности. Список — в офлайн-библиотеке.',
|
||||||
q36: 'Сколько места занимает офлайн?',
|
q36: 'Сколько места занимает кэш?',
|
||||||
a36:
|
a36:
|
||||||
'Лимит задаётся в настройках. При переполнении на странице альбома появится предупреждение; удалить можно из офлайн-библиотеки.',
|
'Лимит задаётся в настройках. При переполнении на странице альбома появится предупреждение; удалить можно из офлайн-библиотеки.',
|
||||||
},
|
},
|
||||||
@@ -747,15 +748,18 @@ export const ruTranslation = {
|
|||||||
volume: 'Громкость',
|
volume: 'Громкость',
|
||||||
toggleQueue: 'Очередь',
|
toggleQueue: 'Очередь',
|
||||||
lyrics: 'Текст',
|
lyrics: 'Текст',
|
||||||
|
fsLyricsToggle: 'Текст в полноэкранном режиме',
|
||||||
lyricsLoading: 'Загрузка текста…',
|
lyricsLoading: 'Загрузка текста…',
|
||||||
lyricsNotFound: 'Текст не найден',
|
lyricsNotFound: 'Текст не найден',
|
||||||
|
lyricsSourceServer: 'Источник: сервер',
|
||||||
|
lyricsSourceLrclib: 'Источник: LRCLIB',
|
||||||
},
|
},
|
||||||
songInfo: {
|
songInfo: {
|
||||||
title: 'О треке',
|
title: 'О треке',
|
||||||
songTitle: 'Название',
|
songTitle: 'Название',
|
||||||
artist: 'Исполнитель',
|
artist: 'Исполнитель',
|
||||||
album: 'Альбом',
|
album: 'Альбом',
|
||||||
albumArtist: 'Альбомный исполнитель',
|
albumArtist: 'Исполнитель альбома',
|
||||||
year: 'Год',
|
year: 'Год',
|
||||||
genre: 'Жанр',
|
genre: 'Жанр',
|
||||||
duration: 'Длительность',
|
duration: 'Длительность',
|
||||||
@@ -799,7 +803,7 @@ export const ruTranslation = {
|
|||||||
noSuggestions: 'Пока нет рекомендаций.',
|
noSuggestions: 'Пока нет рекомендаций.',
|
||||||
titleBadge: 'Плейлист',
|
titleBadge: 'Плейлист',
|
||||||
refreshSuggestions: 'Обновить подборку',
|
refreshSuggestions: 'Обновить подборку',
|
||||||
addSong: 'В плейлист',
|
addSong: 'Добавить в плейлист',
|
||||||
cacheOffline: 'Сохранить плейлист офлайн',
|
cacheOffline: 'Сохранить плейлист офлайн',
|
||||||
offlineCached: 'Плейлист сохранён',
|
offlineCached: 'Плейлист сохранён',
|
||||||
offlineDownloading: 'Кэширование… ({{done}} из {{total}} альбомов)',
|
offlineDownloading: 'Кэширование… ({{done}} из {{total}} альбомов)',
|
||||||
|
|||||||
Reference in New Issue
Block a user