460 lines
30 KiB
TypeScript
460 lines
30 KiB
TypeScript
export const ru = {
|
||
// Header
|
||
myTube: "MyTube",
|
||
manage: "Управление",
|
||
settings: "Настройки",
|
||
logout: "Выйти",
|
||
pleaseEnterUrlOrSearchTerm:
|
||
"Пожалуйста, введите URL видео или поисковый запрос",
|
||
unexpectedErrorOccurred:
|
||
"Произошла непредвиденная ошибка. Пожалуйста, попробуйте снова.",
|
||
uploadVideo: "Загрузить видео",
|
||
enterUrlOrSearchTerm: "Введите URL видео или поисковый запрос",
|
||
manageVideos: "Управление видео",
|
||
instruction: "Инструкция",
|
||
|
||
// Home
|
||
pasteUrl: "Вставьте URL видео или коллекции",
|
||
download: "Скачать",
|
||
search: "Поиск",
|
||
recentDownloads: "Недавние загрузки",
|
||
noDownloads: "Загрузок пока нет",
|
||
downloadStarted: "Загрузка началась",
|
||
downloadFailed: "Ошибка загрузки",
|
||
loadingVideos: "Загрузка видео...",
|
||
searchResultsFor: "Результаты поиска для",
|
||
fromYourLibrary: "Из вашей библиотеки",
|
||
noMatchingVideos: "В вашей библиотеке нет подходящих видео.",
|
||
proxyOnlyApplyToYoutube: 'Прокси применяется только к Youtube',
|
||
moveSubtitlesToVideoFolder: 'Расположение субтитров',
|
||
moveSubtitlesToVideoFolderOn: 'Вместе с видео',
|
||
moveSubtitlesToVideoFolderOff: 'В изолированной папке субтитров',
|
||
moveSubtitlesToVideoFolderDescription: 'Если включено, файлы субтитров будут перемещены в ту же папку, что и видеофайл. Если отключено, они будут перемещены в изолированную папку субтитров.',
|
||
loadingYouTubeResults: "Загрузка результатов YouTube...",
|
||
noYouTubeResults: "Результаты YouTube не найдены",
|
||
noVideosYet: "Видео пока нет. Отправьте URL видео, чтобы скачать первое!",
|
||
views: "просмотров",
|
||
|
||
// Settings
|
||
general: "Общие",
|
||
security: "Безопасность",
|
||
videoDefaults: "Настройки плеера по умолчанию",
|
||
downloadSettings: "Настройки загрузки",
|
||
language: "Язык",
|
||
enableLogin: "Включить защиту входа",
|
||
password: "Пароль",
|
||
passwordHelper:
|
||
"Оставьте пустым, чтобы сохранить текущий пароль, или введите новый для изменения",
|
||
passwordSetHelper: "Установите пароль для доступа к приложению",
|
||
autoPlay: "Автовоспроизведение видео",
|
||
autoLoop: "Автоповтор видео",
|
||
maxConcurrent: "Макс. одновременных загрузок",
|
||
saveSettings: "Сохранить настройки",
|
||
saving: "Сохранение...",
|
||
backToManage: "Назад к управлению",
|
||
settingsSaved: "Настройки успешно сохранены",
|
||
settingsFailed: "Не удалось сохранить настройки",
|
||
debugMode: "Режим отладки",
|
||
debugModeDescription:
|
||
"Показать или скрыть сообщения консоли (требуется обновление)",
|
||
tagsManagement: "Управление тегами",
|
||
newTag: "Новый тег",
|
||
tags: "Теги",
|
||
tagsManagementNote:
|
||
"Пожалуйста, не забудьте нажать «Сохранить настройки» после добавления или удаления тегов, чтобы применить изменения.",
|
||
|
||
// Database
|
||
database: "База данных",
|
||
migrateDataDescription:
|
||
"Перенос данных из устаревших файлов JSON в новую базу данных SQLite. Это действие безопасно запускать несколько раз (дубликаты будут пропущены).",
|
||
migrateDataButton: "Перенести данные из JSON",
|
||
scanFiles: "Сканировать файлы",
|
||
scanFilesSuccess: "Сканирование завершено. Добавлено {count} новых видео.",
|
||
scanFilesDeleted: " Удалено {count} отсутствующих файлов.",
|
||
scanFilesFailed: "Сканирование не удалось",
|
||
scanFilesConfirmMessage:
|
||
"Система просканирует корневую папку с видео. Новые файлы будут добавлены, а отсутствующие видеофайлы будут удалены из системы.",
|
||
scanning: "Сканирование...",
|
||
migrateConfirmation:
|
||
"Вы уверены, что хотите перенести данные? Это может занять некоторое время.",
|
||
migrationResults: "Результаты миграции",
|
||
migrationReport: "Отчет о миграции",
|
||
migrationSuccess: "Миграция завершена. Подробности см. в оповещении.",
|
||
migrationNoData: "Миграция завершена, но данные не найдены.",
|
||
migrationFailed: "Ошибка миграции",
|
||
migrationWarnings: "ПРЕДУПРЕЖДЕНИЯ",
|
||
migrationErrors: "ОШИБКИ",
|
||
itemsMigrated: "элементов перенесено",
|
||
fileNotFound: "Файл не найден в",
|
||
noDataFilesFound:
|
||
"Файлы данных для миграции не найдены. Пожалуйста, проверьте сопоставления томов.",
|
||
removeLegacyData: "Удалить устаревшие данные",
|
||
removeLegacyDataDescription:
|
||
"Удалите старые файлы JSON (videos.json, collections.json и т.д.), чтобы освободить место на диске. Делайте это только после проверки успешной миграции ваших данных.",
|
||
removeLegacyDataConfirmTitle: "Удалить устаревшие данные?",
|
||
removeLegacyDataConfirmMessage:
|
||
"Вы уверены, что хотите удалить устаревшие файлы данных JSON? Это действие нельзя отменить.",
|
||
legacyDataDeleted: "Устаревшие данные успешно удалены.",
|
||
formatLegacyFilenames: "Format Legacy Filenames",
|
||
formatLegacyFilenamesDescription:
|
||
"Batch rename all video files, thumbnails, and subtitles to the new standard format: Title-Author-YYYY. This operation will modify filenames on the disk and update the database logic.",
|
||
formatLegacyFilenamesButton: "Форматировать имена файлов",
|
||
formatFilenamesSuccess:
|
||
"Обработано: {processed}\nПереименовано: {renamed}\nОшибки: {errors}",
|
||
formatFilenamesDetails: "Подробности:",
|
||
formatFilenamesMore: "...и еще {count}",
|
||
formatFilenamesError: "Не удалось отформатировать имена файлов: {error}",
|
||
deleteLegacyDataButton: "Удалить устаревшие данные",
|
||
cleanupTempFiles: "Очистить временные файлы",
|
||
cleanupTempFilesDescription:
|
||
"Удалить все временные файлы загрузки (.ytdl, .part) из каталога загрузок. Это помогает освободить место на диске от незавершенных или отмененных загрузок.",
|
||
cleanupTempFilesConfirmTitle: "Очистить временные файлы?",
|
||
cleanupTempFilesConfirmMessage:
|
||
"Это навсегда удалит все файлы .ytdl и .part в каталоге загрузок. Убедитесь, что нет активных загрузок перед продолжением.",
|
||
cleanupTempFilesActiveDownloads:
|
||
"Невозможно очистить, пока активны загрузки. Пожалуйста, дождитесь завершения всех загрузок или сначала отмените их.",
|
||
itemsPerPage: "Элементов на странице",
|
||
itemsPerPageHelper: "Количество видео на странице (По умолчанию: 12)",
|
||
cleanupTempFilesSuccess: "Успешно удалено {count} временных файлов.",
|
||
cleanupTempFilesFailed: "Не удалось очистить временные файлы",
|
||
|
||
// Cookie Settings
|
||
cookieSettings: "Настройки Cookie",
|
||
cookieUploadDescription:
|
||
'Загрузите cookies.txt, чтобы пройти проверку ботов YouTube и включить скачивание субтитров Bilibili. Файл будет автоматически переименован в cookies.txt. (Пример: используйте расширение "Get cookies.txt LOCALLY" для экспорта cookie)',
|
||
uploadCookies: "Загрузить Cookie",
|
||
onlyTxtFilesAllowed: "Разрешены только файлы .txt",
|
||
cookiesUploadedSuccess: "Cookie успешно загружены",
|
||
cookiesUploadFailed: "Не удалось загрузить cookie",
|
||
cookiesFound: "cookies.txt найден",
|
||
cookiesNotFound: "cookies.txt не найден",
|
||
deleteCookies: "Удалить Cookie",
|
||
confirmDeleteCookies:
|
||
"Вы уверены, что хотите удалить файл cookie? Это повлияет на возможность скачивания видео с возрастными ограничениями или только для участников.",
|
||
cookiesDeletedSuccess: "Cookie успешно удалены",
|
||
cookiesDeleteFailed: "Не удалось удалить cookie",
|
||
|
||
// Cloud Drive
|
||
cloudDriveSettings: "Облачное хранилище (OpenList)",
|
||
enableAutoSave: "Включить автосохранение в облако",
|
||
apiUrl: "URL API",
|
||
apiUrlHelper: "напр. https://your-alist-instance.com/api/fs/put",
|
||
token: "Токен",
|
||
uploadPath: "Путь загрузки",
|
||
cloudDrivePathHelper: "Путь к каталогу в облаке, напр. /mytube-uploads",
|
||
|
||
// Manage
|
||
manageContent: "Управление контентом",
|
||
videos: "Видео",
|
||
collections: "Коллекции",
|
||
allVideos: "Все видео",
|
||
delete: "Удалить",
|
||
backToHome: "Назад на главную",
|
||
confirmDelete: "Вы уверены, что хотите удалить это?",
|
||
deleteSuccess: "Успешно удалено",
|
||
previouslyDeletedVideo: "Ранее удаленное видео",
|
||
previouslyDeleted: "Ранее удалено",
|
||
videoWasDeleted: "Это видео было ранее загружено, но удалено.",
|
||
deleteFailed: "Не удалось удалить",
|
||
noVideos: "Видео не найдено",
|
||
noCollectionsFound: "Коллекции не найдены",
|
||
noCollections: "Коллекции не найдены",
|
||
searchVideos: "Поиск видео...",
|
||
thumbnail: "Миниатюра",
|
||
title: "Название",
|
||
author: "Автор",
|
||
authors: "Авторы",
|
||
created: "Создано",
|
||
name: "Имя",
|
||
size: "Размер",
|
||
actions: "Действия",
|
||
deleteCollection: "Удалить коллекцию",
|
||
deleteVideo: "Удалить видео",
|
||
noVideosFoundMatching: "Видео, соответствующие вашему поиску, не найдены.",
|
||
|
||
// Video Player
|
||
playing: "Воспроизведение",
|
||
paused: "Пауза",
|
||
next: "Следующее",
|
||
previous: "Предыдущее",
|
||
loop: "Повтор",
|
||
autoPlayOn: "Автовоспроизведение вкл.",
|
||
autoPlayOff: "Автовоспроизведение выкл.",
|
||
autoPlayNext: "Автовоспроизведение следующего",
|
||
videoNotFound: "Видео не найдено",
|
||
videoNotFoundOrLoaded: "Видео не найдено или не может быть загружено.",
|
||
deleting: "Удаление...",
|
||
addToCollection: "Добавить в коллекцию",
|
||
originalLink: "Оригинальная ссылка",
|
||
source: "Источник:",
|
||
addedDate: "Дата добавления:",
|
||
hideComments: "Скрыть комментарии",
|
||
showComments: "Показать комментарии",
|
||
latestComments: "Последние комментарии",
|
||
noComments: "Комментарии недоступны.",
|
||
upNext: "Далее",
|
||
noOtherVideos: "Других видео нет",
|
||
currentlyIn: "Сейчас в:",
|
||
collectionWarning: "Добавление в другую коллекцию удалит его из текущей.",
|
||
addToExistingCollection: "Добавить в существующую коллекцию:",
|
||
selectCollection: "Выберите коллекцию",
|
||
add: "Добавить",
|
||
createNewCollection: "Создать новую коллекцию:",
|
||
collectionName: "Название коллекции",
|
||
create: "Создать",
|
||
removeFromCollection: "Удалить из коллекции",
|
||
confirmRemoveFromCollection:
|
||
"Вы уверены, что хотите удалить это видео из коллекции?",
|
||
remove: "Удалить",
|
||
loadingVideo: "Загрузка видео...",
|
||
current: "(Текущее)",
|
||
rateThisVideo: "Оценить это видео",
|
||
enterFullscreen: "На весь экран",
|
||
exitFullscreen: "Выйти из полноэкранного режима",
|
||
share: "Поделиться",
|
||
editTitle: "Редактировать название",
|
||
titleUpdated: "Название успешно обновлено",
|
||
titleUpdateFailed: "Не удалось обновить название",
|
||
refreshThumbnail: "Обновить миниатюру",
|
||
thumbnailRefreshed: "Миниатюра успешно обновлена",
|
||
thumbnailRefreshFailed: "Не удалось обновить миниатюру",
|
||
videoUpdated: "Видео успешно обновлено",
|
||
videoUpdateFailed: "Не удалось обновить видео",
|
||
failedToLoadVideos:
|
||
"Не удалось загрузить видео. Пожалуйста, попробуйте позже.",
|
||
videoRemovedSuccessfully: "Видео успешно удалено",
|
||
failedToDeleteVideo: "Не удалось удалить видео",
|
||
pleaseEnterSearchTerm: "Пожалуйста, введите поисковый запрос",
|
||
failedToSearch: "Поиск не удался. Пожалуйста, попробуйте снова.",
|
||
searchCancelled: "Поиск отменен",
|
||
openInExternalPlayer: "Открыть во внешнем плеере",
|
||
playWith: "Воспроизвести с помощью...",
|
||
|
||
// Login
|
||
signIn: "Войти",
|
||
verifying: "Проверка...",
|
||
incorrectPassword: "Неверный пароль",
|
||
loginFailed: "Ошибка проверки пароля",
|
||
defaultPasswordHint: "Пароль по умолчанию: 123",
|
||
checkingConnection: "Проверка соединения...",
|
||
connectionError: "Ошибка соединения",
|
||
backendConnectionFailed:
|
||
"Не удалось подключиться к серверу. Убедитесь, что сервер запущен и порт открыт, затем повторите попытку.",
|
||
retry: "Повторить",
|
||
linkCopied: "Ссылка скопирована в буфер обмена",
|
||
copyFailed: "Не удалось скопировать ссылку",
|
||
|
||
// Collection Page
|
||
loadingCollection: "Загрузка коллекции...",
|
||
collectionNotFound: "Коллекция не найдена",
|
||
noVideosInCollection: "В этой коллекции нет видео.",
|
||
|
||
// Snackbar Messages
|
||
videoDownloading: "Видео скачивается",
|
||
downloadStartedSuccessfully: "Загрузка успешно началась",
|
||
collectionCreatedSuccessfully: "Коллекция успешно создана",
|
||
videoAddedToCollection: "Видео добавлено в коллекцию",
|
||
videoRemovedFromCollection: "Видео удалено из коллекции",
|
||
collectionDeletedSuccessfully: "Коллекция успешно удалена",
|
||
failedToDeleteCollection: "Не удалось удалить коллекцию",
|
||
back: "Назад",
|
||
|
||
// Author Videos
|
||
loadVideosError: "Не удалось загрузить видео. Пожалуйста, попробуйте позже.",
|
||
unknownAuthor: "Неизвестно",
|
||
noVideosForAuthor: "Видео этого автора не найдены.",
|
||
|
||
// Delete Collection Modal
|
||
deleteCollectionTitle: "Удалить коллекцию",
|
||
deleteCollectionConfirmation: "Вы уверены, что хотите удалить коллекцию",
|
||
collectionContains: "Эта коллекция содержит",
|
||
deleteCollectionOnly: "Удалить только коллекцию",
|
||
deleteCollectionAndVideos: "Удалить коллекцию и все видео",
|
||
|
||
// Common
|
||
loading: "Загрузка...",
|
||
error: "Ошибка",
|
||
success: "Успех",
|
||
cancel: "Отмена",
|
||
confirm: "Подтвердить",
|
||
save: "Сохранить",
|
||
on: "Вкл.",
|
||
off: "Выкл",
|
||
continue: "Продолжить",
|
||
expand: "Развернуть",
|
||
collapse: "Свернуть",
|
||
|
||
// Video Card
|
||
unknownDate: "Неизвестная дата",
|
||
part: "Часть",
|
||
collection: "Коллекция",
|
||
|
||
// Upload Modal
|
||
selectVideoFile: "Выберите видеофайл",
|
||
pleaseSelectVideo: "Пожалуйста, выберите видеофайл",
|
||
uploadFailed: "Ошибка загрузки",
|
||
failedToUpload: "Не удалось загрузить видео",
|
||
uploading: "Загрузка...",
|
||
upload: "Загрузить",
|
||
|
||
// Bilibili Modal
|
||
bilibiliCollectionDetected: "Обнаружена коллекция Bilibili",
|
||
bilibiliSeriesDetected: "Обнаружена серия Bilibili",
|
||
multiPartVideoDetected: "Обнаружено многочастное видео",
|
||
collectionHasVideos: "В этой коллекции Bilibili {count} видео.",
|
||
seriesHasVideos: "В этой серии Bilibili {count} видео.",
|
||
videoHasParts: "В этом видео Bilibili {count} частей.",
|
||
downloadAllVideos: "Скачать все {count} видео",
|
||
downloadAllParts: "Скачать все {count} частей",
|
||
downloadThisVideoOnly: "Скачать только это видео",
|
||
downloadCurrentPartOnly: "Скачать только текущую часть",
|
||
processing: "Обработка...",
|
||
wouldYouLikeToDownloadAllParts: "Хотите скачать все части?",
|
||
wouldYouLikeToDownloadAllVideos: "Хотите скачать все видео?",
|
||
allPartsAddedToCollection: "Все части будут добавлены в эту коллекцию",
|
||
allVideosAddedToCollection: "Все видео будут добавлены в эту коллекцию",
|
||
queued: "В очереди",
|
||
waitingInQueue: "Ожидание в очереди",
|
||
// Downloads
|
||
downloads: "Загрузки",
|
||
activeDownloads: "Активные загрузки",
|
||
manageDownloads: "Управление загрузками",
|
||
queuedDownloads: "Загрузки в очереди",
|
||
downloadHistory: "История загрузок",
|
||
clearQueue: "Очистить очередь",
|
||
clearHistory: "Очистить историю",
|
||
noActiveDownloads: "Нет активных загрузок",
|
||
noQueuedDownloads: "Нет загрузок в очереди",
|
||
noDownloadHistory: "История загрузок пуста",
|
||
downloadCancelled: "Загрузка отменена",
|
||
queueCleared: "Очередь очищена",
|
||
historyCleared: "История очищена",
|
||
removedFromQueue: "Удалено из очереди",
|
||
removedFromHistory: "Удалено из истории",
|
||
status: "Статус",
|
||
progress: "Прогресс",
|
||
speed: "Скорость",
|
||
finishedAt: "Завершено в",
|
||
failed: "Ошибка",
|
||
|
||
// Batch Download
|
||
batchDownload: "Пакетная загрузка",
|
||
batchDownloadDescription: "Вставьте несколько URL ниже, по одному в строке.",
|
||
urls: "URL",
|
||
addToQueue: "Добавить в очередь",
|
||
batchTasksAdded: "Добавлено задач: {count}",
|
||
addBatchTasks: "Добавить пакетные задачи",
|
||
|
||
// Subscriptions
|
||
subscribeToAuthor: "Подписаться на автора",
|
||
subscribeConfirmationMessage: "Вы хотите подписаться на {author}?",
|
||
subscribeDescription:
|
||
"Система будет автоматически проверять новые видео от этого автора и скачивать их.",
|
||
checkIntervalMinutes: "Интервал проверки (минуты)",
|
||
subscribe: "Подписаться",
|
||
subscriptions: "Подписки",
|
||
interval: "Интервал",
|
||
lastCheck: "Последняя проверка",
|
||
platform: "Платформа",
|
||
unsubscribe: "Отписаться",
|
||
confirmUnsubscribe: "Вы уверены, что хотите отписаться от {author}?",
|
||
subscribedSuccessfully: "Успешно подписаны",
|
||
unsubscribedSuccessfully: "Успешно отписаны",
|
||
subscriptionAlreadyExists: "Вы уже подписаны на этого автора.",
|
||
minutes: "минуты",
|
||
never: "Никогда",
|
||
// Instruction Page
|
||
instructionSection1Title: "1. Загрузка и управление задачами",
|
||
instructionSection1Desc:
|
||
"Этот модуль включает функции получения видео, пакетных задач и импорта файлов.",
|
||
instructionSection1Sub1: "Загрузка по ссылке:",
|
||
instructionSection1Item1Label: "Базовая загрузка:",
|
||
instructionSection1Item1Text:
|
||
"Вставьте ссылки с различных видеосайтов в поле ввода для прямой загрузки.",
|
||
instructionSection1Item2Label: "Разрешения:",
|
||
instructionSection1Item2Text:
|
||
"Для сайтов, требующих членства или входа в систему, пожалуйста, сначала войдите в соответствующую учетную запись на новой вкладке браузера, чтобы получить разрешения на загрузку.",
|
||
instructionSection1Sub2: "Умное распознавание:",
|
||
instructionSection1Item3Label: "Подписка на автора YouTube:",
|
||
instructionSection1Item3Text:
|
||
"Когда вставленная ссылка является каналом автора, система спросит, хотите ли вы подписаться. После подписки система может автоматически сканировать и загружать обновления автора через заданные интервалы.",
|
||
instructionSection1Item4Label: "Загрузка коллекции Bilibili:",
|
||
instructionSection1Item4Text:
|
||
"Когда вставленная ссылка является избранным/коллекцией Bilibili, система спросит, хотите ли вы загрузить все содержимое коллекции.",
|
||
instructionSection1Sub3:
|
||
"Расширенные инструменты (Страница управления загрузками):",
|
||
instructionSection1Item5Label: "Пакетное добавление задач:",
|
||
instructionSection1Item5Text:
|
||
"Поддерживает вставку нескольких ссылок для загрузки одновременно (по одной в строке) для пакетного добавления.",
|
||
instructionSection1Item6Label: "Сканировать файлы:",
|
||
instructionSection1Item6Text:
|
||
"Автоматически ищет все файлы в корневом каталоге хранения видео и папках первого уровня. Эта функция подходит для синхронизации файлов с системой после того, как администраторы вручную поместили их на сервер.",
|
||
instructionSection1Item7Label: "Загрузить видео:",
|
||
instructionSection1Item7Text:
|
||
"Поддерживает загрузку локальных видеофайлов непосредственно с клиента на сервер.",
|
||
|
||
instructionSection2Title: "2. Управление видеотекой",
|
||
instructionSection2Desc:
|
||
"Обслуживание и редактирование загруженных или импортированных видеоресурсов.",
|
||
instructionSection2Sub1: "Удаление коллекции/видео:",
|
||
instructionSection2Text1:
|
||
"При удалении коллекции на странице управления система предлагает два варианта: удалить только элемент списка коллекции (сохранить файлы) или полностью удалить физические файлы внутри коллекции.",
|
||
instructionSection2Sub2: "Восстановление миниатюры:",
|
||
instructionSection2Text2:
|
||
"Если у видео нет обложки после загрузки, нажмите кнопку обновления на миниатюре видео, и система повторно захватит первый кадр видео в качестве новой миниатюры.",
|
||
|
||
instructionSection3Title: "3. Настройки системы",
|
||
instructionSection3Desc:
|
||
"Настройка параметров системы, обслуживание данных и расширение функций.",
|
||
instructionSection3Sub1: "Настройки безопасности:",
|
||
instructionSection3Text1:
|
||
"Установите пароль для входа в систему (начальный пароль по умолчанию — 123, рекомендуется изменить после первого входа).",
|
||
instructionSection3Sub2: "Управление тегами:",
|
||
instructionSection3Text2:
|
||
"Поддерживает добавление или удаление тегов классификации видео. Примечание: Вы должны нажать кнопку «Сохранить» внизу страницы, чтобы изменения вступили в силу.",
|
||
instructionSection3Sub3: "Обслуживание системы:",
|
||
instructionSection3Item1Label: "Очистить временные файлы:",
|
||
instructionSection3Item1Text:
|
||
"Используется для очистки остаточных временных файлов загрузки, вызванных случайными сбоями бэкенда, для освобождения места.",
|
||
instructionSection3Item2Label: "Миграция базы данных:",
|
||
instructionSection3Item2Text:
|
||
"Предназначено для пользователей ранних версий. Используйте эту функцию для миграции данных из JSON в новую базу данных SQLite. После успешной миграции нажмите кнопку удаления, чтобы очистить старые исторические данные.",
|
||
instructionSection3Sub4: "Расширенные сервисы:",
|
||
instructionSection3Item3Label: "Облачный диск OpenList:",
|
||
instructionSection3Item3Text:
|
||
"(В разработке) Поддерживает подключение к развернутым пользователем сервисам OpenList. Добавьте конфигурацию здесь, чтобы включить интеграцию с облачным диском.",
|
||
history: "История",
|
||
downloading: "Скачивание...",
|
||
poweredBy: "Работает на MyTube",
|
||
existingVideoDetected: "Обнаружено существующее видео",
|
||
videoAlreadyDownloaded: "Это видео уже загружено.",
|
||
viewVideo: "Посмотреть видео",
|
||
downloadAgain: "Скачать снова",
|
||
downloadedOn: "Скачано",
|
||
deletedOn: "Удалено",
|
||
existingVideo: "Существующее видео",
|
||
skipped: "Пропущено",
|
||
videoSkippedExists: "Видео уже существует, загрузка пропущена",
|
||
videoSkippedDeleted: "Видео было ранее удалено, загрузка пропущена",
|
||
|
||
// Sorting
|
||
sort: "Сортировка",
|
||
sortBy: "Сортировать по",
|
||
dateDesc: "Дата добавления (Сначала новые)",
|
||
dateAsc: "Дата добавления (Сначала старые)",
|
||
viewsDesc: "Просмотры (По убыванию)",
|
||
viewsAsc: "Просмотры (По возрастанию)",
|
||
nameAsc: "Имя (А-Я)",
|
||
random: "Случайно",
|
||
|
||
// yt-dlp Configuration
|
||
ytDlpConfiguration: "Конфигурация yt-dlp",
|
||
ytDlpConfigurationDescription: "Настройте параметры загрузки yt-dlp. См.",
|
||
ytDlpConfigurationDocs: "документацию",
|
||
ytDlpConfigurationDescriptionEnd: "для получения дополнительной информации.",
|
||
customize: "Настроить",
|
||
hide: "Скрыть",
|
||
reset: "Сбросить",
|
||
more: "Ещё",
|
||
};
|