From 0b05c726de914e52a9931fcba32c9a5da13f04ba Mon Sep 17 00:00:00 2001
From: Altair <27139654+A1Asriel@users.noreply.github.com>
Date: Thu, 31 Jul 2025 20:01:41 +0300
Subject: [PATCH] Translate to Russian (#321)
---
copyparty/web/browser.js | 628 ++++++++++++++++++++++++++++++++++++++-
copyparty/web/splash.js | 42 +++
2 files changed, 669 insertions(+), 1 deletion(-)
diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js
index 59b1ab5f..db9986f2 100644
--- a/copyparty/web/browser.js
+++ b/copyparty/web/browser.js
@@ -2510,9 +2510,635 @@ var Ls = {
"lang_set": "Neuladen um Änderungen anzuwenden?",
},
+ "rus": {
+ "tt": "Русский",
+
+ "cols": {
+ "c": "кнопки действий",
+ "dur": "длительность",
+ "q": "качество / битрейт",
+ "Ac": "аудио кодек",
+ "Vc": "видео кодек",
+ "Fmt": "формат / контейнер",
+ "Ahash": "контрольная сумма аудио",
+ "Vhash": "контрольная сумма видео",
+ "Res": "разрешение",
+ "T": "тип файла",
+ "aq": "качество аудио / битрейт",
+ "vq": "качество видео / битрейт",
+ "pixfmt": "сабсемплинг / пиксельный формат",
+ "resw": "горизонтальное разрешение",
+ "resh": "вертикальное разрешение",
+ "chs": "аудио каналы",
+ "hz": "частота дискретизации"
+ },
+
+ "hks": [
+ [
+ "разное",
+ ["ESC", "закрыть всякие штуки"],
+
+ "файловый менеджер",
+ ["G", "переключиться между списком / плиткой"],
+ ["T", "переключиться между миниатюрами / иконками"],
+ ["⇧ A/D", "размер миниатюры"],
+ ["ctrl-K", "удалить выделенное"],
+ ["ctrl-X", "вырезать выделенное в буфер"],
+ ["ctrl-C", "копировать выделенное в буфер"],
+ ["ctrl-V", "вставить (переместить/копировать) сюда"],
+ ["Y", "скачать выделенное"],
+ ["F2", "переименовать выделенное"],
+
+ "выделение файлов",
+ ["пробел", "выделить/снять выделение с текущего файла"],
+ ["↑/↓", "двигать курсор"],
+ ["ctrl ↑/↓", "двигать курсор и скроллить"],
+ ["⇧ ↑/↓", "выделить предыдущий/следующий файл"],
+ ["ctrl-A", "выделить все файлы и папки"],
+ ], [
+ "навигация",
+ ["B", "показать/скрыть панель навигации"],
+ ["I/K", "предыдущая/следующая папка"],
+ ["M", "перейти на уровень выше (или свернуть текущую папку)"],
+ ["V", "переключиться между папками / текстовыми файлами в панели навигации"],
+ ["A/D", "уменьшить/увеличить панель навигации"],
+ ], [
+ "аудиоплеер",
+ ["J/L", "предыдущий/следующий трек"],
+ ["U/O", "перемотать на 10 секунд назад/вперёд"],
+ ["0..9", "перемотать на 0%..90%"],
+ ["P", "играть/пауза (или подгрузить трек)"],
+ ["S", "выделить текущий трек"],
+ ["Y", "скачать трек"],
+ ], [
+ "просмотрщик изображений",
+ ["J/L, ←/→", "предыдущее/следующее изображение"],
+ ["Home/End", "первое/последнее изображение"],
+ ["F", "развернуть на полный экран"],
+ ["R", "повернуть по часовой стрелке"],
+ ["⇧ R", "повернуть против часовой стрелки"],
+ ["S", "выделить изображение"],
+ ["Y", "скачать изображение"],
+ ], [
+ "видеоплеер",
+ ["U/O", "перемотать на 10 секунд назад/вперёд"],
+ ["P/K/Space", "играть/пауза"],
+ ["C", "продолжить проигрывать следующее"],
+ ["V", "повтор"],
+ ["M", "выключить звук"],
+ ["[ and ]", "задать интервал повтора"],
+ ], [
+ "просмотрщик текстовых файлов",
+ ["I/K", "предыдущий/следующий файл"],
+ ["M", "закрыть файл"],
+ ["E", "отредактировать файл"],
+ ["S", "выделить файл"],
+ ]
+ ],
+
+ "m_ok": "OK",
+ "m_ng": "Отмена",
+
+ "enable": "Включить",
+ "danger": "ВНИМАНИЕ",
+ "clipped": "скопировано в буфер обмена",
+
+ "ht_s1": "секунда",
+ "ht_s2": "секунды",
+ "ht_m1": "минута",
+ "ht_m2": "минуты",
+ "ht_h1": "час",
+ "ht_h2": "часы",
+ "ht_d1": "день",
+ "ht_d2": "дни",
+ "ht_and": " и ",
+
+ "goh": "панель управления",
+ "gop": 'предыдущая папка">пред',
+ "gou": 'родительская папка">вверх',
+ "gon": 'следующая папка">след',
+ "logout": "Выйти ",
+ "access": " доступ",
+ "ot_close": "закрыть подменю",
+ "ot_search": "искать файлы по атрибутам, пути / имени, музыкальным тегам или любой другой комбинации из следующих конструкций$N$N<code>foo bar</code> = обязано содержать «foo» И «bar»,$N<code>foo -bar</code> = обязано содержать «foo», но не «bar»,$N<code>^yana .opus$</code> = начинается с «yana» и имеет расширение «opus»$N<code>"try unite"</code> = содержит именно «try unite»$N$Nформат времени задаётся по стандарту iso-8601, например$N<code>2009-12-31</code> или <code>2020-09-12 23:30:00</code>",
+ "ot_unpost": "unpost: удалить ваши недавние загрузки и отменить незавершённые",
+ "ot_bup": "bup: легковесный загрузчик файлов, поддерживает даже netscape 4.0",
+ "ot_mkdir": "mkdir: создать новую папку",
+ "ot_md": "new-md: создать новый markdown-документ",
+ "ot_msg": "msg: отправить сообщение в лог сервера",
+ "ot_mp": "настройка медиаплеера",
+ "ot_cfg": "остальные настройки",
+ "ot_u2i": 'up2k: загрузить файлы (если имеется доступ к записи) или переключиться в режим поиска$N$Nзагрузки являются возобновляемыми и многопоточными, а даты изменения файлов сохраняются в процессе, но этот метод использует больше ресурсов процессора, чем [🎈] (легковесный загрузчик)
во время загрузки эта иконка превращается в индикатор!',
+ "ot_u2w": 'up2k: загрузить файлы с поддержкой возобновления (закиньте те же файлы после перезапуска браузера)$N$Nподдерживается многопоточность, даты изменения файлов сохраняются в процессе, но этот метод использует больше ресурсов процессора, чем [🎈] (легковесный загрузчик)
во время загрузки эта иконка превращается в индикатор!',
+ "ot_noie": 'Пожалуйста, используйте Chrome / Firefox / Edge',
+
+ "ab_mkdir": "создать папку",
+ "ab_mkdoc": "создать markdown-документ",
+ "ab_msg": "отправить сообщение в лог сервера",
+
+ "ay_path": "перейти к папкам",
+ "ay_files": "перейти к файлам",
+
+ "wt_ren": "переименовать выделенные файлы$NГорячая клавиша: F2",
+ "wt_del": "удалить выделенные файлы$NГорячая клавиша: ctrl-K",
+ "wt_cut": "вырезать выделенные файлы <small>(затем вставить куда-то в другое место)</small>$NГорячая клавиша: ctrl-X",
+ "wt_cpy": "копировать выделенные файлы в буфер$N(чтобы вставить их куда-то ещё)$NГорячая клавиша: ctrl-C",
+ "wt_pst": "вставить ранее вырезанный / скопированный файл$NГорячая клавиша: ctrl-V",
+ "wt_selall": "выделить все файлы$NГорячая клавиша: ctrl-A (когда выделен хотя бы один файл)",
+ "wt_selinv": "инвертировать выделение",
+ "wt_zip1": "скачать эту папку как архив",
+ "wt_selzip": "скачать выделенные файлы как архив",
+ "wt_seldl": "скачать выделенные файлы по-отдельности$NГорячая клавиша: Y",
+ "wt_npirc": "копировать информацию о треке в формате irc",
+ "wt_nptxt": "копировать информацию о треке обычным текстом",
+ "wt_m3ua": "добавить в плейлист m3u (нажмите 📻коп.
в конце)",
+ "wt_m3uc": "копировать плейлист m3u в буфер обмена",
+ "wt_grid": "переключить между сеткой / списком$NГорячая клавиша: G",
+ "wt_prev": "предыдущий трек$NГорячая клавиша: J",
+ "wt_play": "играть / пауза$NГорячая клавиша: P",
+ "wt_next": "следующий трек$NГорячая клавиша: L",
+
+ "ul_par": "параллельные загрузки:",
+ "ut_rand": "случайные имена файлов",
+ "ut_u2ts": "копировать время последнего изменения$Nиз вашей файловой системы на сервер\">📅",
+ "ut_ow": "перезаписывать существующие файлы на сервере?$N🛡️: нет (для повторяющихся файлов будут создаваться новые имена)$N🕒: перезаписать файлы с датой изменения старее, чем у загружаемых$N♻️: всегда перезаписывать (если файлы различаются по содержанию)",
+ "ut_mt": "продолжать хешировать другие файлы во время загрузки$N$Nесть смысл отключить при медленном диске или процессоре",
+ "ut_ask": 'требовать подтверждения перед началом загрузки">💭',
+ "ut_pot": "улучшить скорость загрузки на слабых устройства$Nс помощью упрощения интерфейса",
+ "ut_srch": "не загружать, а проверять, существуют ли данные файлы $N на сервере (проверка всех доступных вам папок)",
+ "ut_par": "при 0 загрузка встанет на паузу$N$Nследует повысить, если ваше подключение медленное$N$Nоставьте 1, если используется локальная сеть или диск сервера медленный",
+ "ul_btn": "отпустите файлы / папки
здесь (или нажмите)",
+ "ul_btnu": "З А Г Р У З И Т Ь",
+ "ul_btns": "И С К А Т Ь",
+
+ "ul_hash": "хеш",
+ "ul_send": "отправка",
+ "ul_done": "готово",
+ "ul_idle1": "нет загрузок в очереди",
+ "ut_etah": "средняя скорость <em>хеширования</em> и примерное время до завершения",
+ "ut_etau": "средняя скорость <em>загрузки</em> и примерное время до завершения",
+ "ut_etat": "средняя <em>общая</em> скорость и примерное время до завершения",
+
+ "uct_ok": "успешно завершены",
+ "uct_ng": "ошибки / отказы / не найдены",
+ "uct_done": "готово (ok и ng вместе)",
+ "uct_bz": "хешируются или загружаются",
+ "uct_q": "в очереди",
+
+ "utl_name": "имя файла",
+ "utl_ulist": "список",
+ "utl_ucopy": "копировать",
+ "utl_links": "ссылки",
+ "utl_stat": "статус",
+ "utl_prog": "прогресс",
+
+ // keep short:
+ "utl_404": "404",
+ "utl_err": "ОШИБКА",
+ "utl_oserr": "ошибка ОС",
+ "utl_found": "найдено",
+ "utl_defer": "отложить",
+ "utl_yolo": "турбо",
+ "utl_done": "готово",
+
+ "ul_flagblk": "файлы были добавлены в очередь,
однако в другой вкладке уже есть активная загрузка через up2k,
поэтому ожидаем её завершения",
+ "ul_btnlk": "настройки сервера запрещают изменение состояния этой опции",
+
+ "udt_up": "Загрузить",
+ "udt_srch": "Поиск",
+ "udt_drop": "отпустите здесь",
+
+ "u_nav_m": '
Enter
= Файлы (один или больше)\nESC
= Одна папка (с учётом подпапок)',
+ "u_nav_b": 'ФайлыОдна папка',
+
+ "cl_opts": "переключатели",
+ "cl_themes": "тема",
+ "cl_langs": "язык",
+ "cl_ziptype": "архивация папок",
+ "cl_uopts": "опции up2k",
+ "cl_favico": "иконка",
+ "cl_bigdir": "бол. папки",
+ "cl_hsort": "#сорт.",
+ "cl_keytype": "схема горячих клавиш",
+ "cl_hiddenc": "скрытые столбцы",
+ "cl_hidec": "скрыть",
+ "cl_reset": "сбросить",
+ "cl_hpick": "нажмите на заголовки столбцов, чтобы скрыть их в таблице ниже",
+ "cl_hcancel": "скрытие столбца отменено",
+
+ "ct_grid": '田 сетка',
+ "ct_ttips": '◔ ◡ ◔">ℹ️ подсказки',
+ "ct_thumb": 'переключение между иконками и миниатюрами в режиме сетки$NГорячая клавиша: T">🖼️ миниат.',
+ "ct_csel": 'держите CTRL или SHIFT для выделения файлов в режиме сетки">выбор',
+ "ct_ihop": 'показывать последний открытый файл после закрытия просмотрщика изображений">g⮯',
+ "ct_dots": 'показывать скрытые файлы (если есть доступ)">скрыт.',
+ "ct_qdel": 'спрашивать подтверждение только один раз перед удалением файлов">быстр. удал.',
+ "ct_dir1st": 'разместить папки над файлами">📁 сверху',
+ "ct_nsort": 'сортировка по числам$N(например, файл с 2
в начале названия идёт перед 11
)">нат. сорт.',
+ "ct_readme": 'показывать содержимое README.md в описании папки">📜 ридми',
+ "ct_idxh": 'показывать страницу index.html в текущей папке вместо интерфейса">htm',
+ "ct_sbars": 'показывать полосы прокрутки">⟊',
+
+ "cut_umod": "если файл уже существует на сервере, обновить время последнего изменения на сервере в соответствии с локальным файлом (требуются права write+delete)\">перенос 📅",
+
+ "cut_turbo": "используйте эту функцию С ОСТОРОЖНОСТЬЮ:$N$Nпригодится в случае, если была прервана загрузка большого количества файлов, и вы хотите возобновить её как можно быстрее$N$Nпроверка файлов по хешу заменяется на простой алгоритм: "если размер файла отличается - тогда загрузить", но содержание файлов не сравнивается$N$Nследует отключить эту функцию после окончания загрузки, а затем "загрузить" те же файлы заново, чтобы валидировать их\">турбо",
+
+ "cut_datechk": "работает только при включённой кнопке "турбо"$N$Nчуть-чуть повышает надёжность турбо-загрузок с помощью сверки дат изменений между файлами на сервере и вашими$N$Nв теории достаточно для проверки большинства незавершённых / повреждённых загрузок, но не является альтернативой валидации файлов после турбо-загрузки\">провер. дат",
+
+ "cut_u2sz": "размер (в МиБ) каждой загружаемой части; большие значения показывают лучшие результаты для дальних соединений. Если подключение нестабильное, попробуйте значение пониже",
+
+ "cut_flag": "разрешить одновременную загрузку только из одной вкладки за раз $N -- обязательно включить эту опцию в остальных вкладках $N -- работает только в пределах одного домена",
+
+ "cut_az": "загружать файлы в алфавитном порядке вместо "от меньшего к большему"$N$Nэто позволит проще отследить проблемы во время загрузки, но скорость слегка ниже на очень быстрых соединениях (например, в локальной сети)",
+
+ "cut_nag": "системное уведомление по завершении загрузки$N(только при неактивной вкладке браузера)",
+ "cut_sfx": "звуковое уведомление по завершении загрузки$N(только при неактивной вкладке браузера)",
+
+ "cut_mt": "использовать многопоточность для ускорения хеширования$N$Nиспользует Web Worker'ы и требует больше памяти (до 512 МиБ)$N$Nускоряет https на 30%, http - в 4,5 раз\">мп",
+
+ "cut_wasm": "использовать модуль WASM вместо встроенной в браузер функции хеширования; ускоряет процесс в браузерах на основе Chromium, но увеличивает нагрузку на процессор. Старые версии Chrome содержат баги, которые заполняют всю оперативную память и крашат браузер, когда включена эта опция\">wasm",
+
+ "cft_text": "текст для иконки (очистите поле и перезагрузите страницу для применения)",
+ "cft_fg": "цвет текста",
+ "cft_bg": "цвет фона",
+
+ "cdt_lim": "максимальное количество файлов для показа в папке",
+ "cdt_ask": "внизу страницы спрашивать о действии вместо автоматической загрузки следующих файлов",
+ "cdt_hsort": "сколько правил сортировки (<code>,sorthref</code>) включать в адрес страницы. Если значение равно 0, по нажатии на ссылки будут игнорироваться правила, включённые в них",
+
+ "tt_entree": "показать панель навигации$NГорячая клавиша: B",
+ "tt_detree": "скрыть панель навигации$NГорячая клавиша: B",
+ "tt_visdir": "прокрутить до выделенной папки",
+ "tt_ftree": "переключить между иерархией и списком текстовых файлов$NГорячая клавиша: V",
+ "tt_pdock": "закрепить родительские папки сверху панели",
+ "tt_dynt": "автоматическое расширение панели",
+ "tt_wrap": "перенос слов",
+ "tt_hover": "раскрывать обрезанные строки при наведении$N( ломает скроллинг, если $N курсор не в пустоте слева )",
+
+ "ml_pmode": "в конце папки...",
+ "ml_btns": "команды",
+ "ml_tcode": "транскодировать",
+ "ml_tcode2": "транскод. в",
+ "ml_tint": "затемн.",
+ "ml_eq": "эквалайзер",
+ "ml_drc": "компрессор",
+
+ "mt_loop": "повторять один трек\">🔁",
+ "mt_one": "остановить после этого трека\">1️⃣",
+ "mt_shuf": "перемешать треки во всех папках\">🔀",
+ "mt_aplay": "автоматически играть треки по нажатии на ссылки с их ID$N$Nпри отключении адрес сайта также перестанет обновляться в соответствии с текущим треком\">a▶",
+ "mt_preload": "подгружать следующий трек перед концом текущего для бесшовного переключения\">предзагр.",
+ "mt_prescan": "переходить в следующую папку перед окончанием последнего трека$Nне даёт браузеру прервать следующий плейлист\">нав.",
+ "mt_fullpre": "подгружать следующий трек целиком;$N✅ полезно при нестабильном подключении,$N❌ при медленной скорости лучше выключить\">цел.",
+ "mt_fau": "для телефонов: начинать следующий трек сразу, даже если он не успел подгрузиться целиком (может сломать отображение тегов)\">☕️",
+ "mt_waves": "визуализация:$Nпоказывать волну громкости на полосе воспроизведения\">~",
+ "mt_npclip": "показать кнопки копирования для текущего трека\">/np",
+ "mt_m3u_c": "показать кнопки копирования для выделенных треков$Nв формате плейлистов m3u8\">📻",
+ "mt_octl": "интеграция с ОС (поддержка медиа-клавиш и музыкальных виджетов)\">интегр.",
+ "mt_oseek": "позволить перематывать треки через системные виджеты$N$Nвнимание: на некоторых устройствах (iPhone)$Nэто заменит кнопку следующего трека\">перемотка",
+ "mt_oscv": "показывать картинки альбомов в виджетах\">арт",
+ "mt_follow": "держать фокус на играющем треке\">🎯",
+ "mt_compact": "компактный плеер\">⟎",
+ "mt_uncache": "очистить кеш (если браузер кешировал повреждённый$Nтрек и отказывается его запускать)\">уд. кеш",
+ "mt_mloop": "повторять треки в папке\">🔁 цикл",
+ "mt_mnext": "загрузить следующую папку и продолжить в ней\">📂 след.",
+ "mt_mstop": "приостановить воспроизведение\">⏸ стоп",
+ "mt_cflac": "конвертировать flac / wav в opus\">flac",
+ "mt_caac": "конвертировать aac / m4a в opus\">aac",
+ "mt_coth": "конвертировать всё остальное (кроме mp3) в opus\">др.",
+ "mt_c2opus": "лучший вариант для компьютеров и устройств на Android\">opus",
+ "mt_c2owa": "opus-weba, для iOS 17.5 и выше\">owa",
+ "mt_c2caf": "opus-caf, для iOS 11-17\">caf",
+ "mt_c2mp3": "для очень старых устройств\">mp3",
+ "mt_c2ok": "хороший выбор",
+ "mt_c2nd": "это не рекомендованный вариант формата для вашего устройства, но сойдёт",
+ "mt_c2ng": "не похоже, что ваше устройство поддерживает этот формат, но давайте попробуем и узнаем наверняка",
+ "mt_xowa": "в iOS есть баги, препятствующие фоновому воспроизведению этого формата. Пожалуйста, используйте caf или mp3",
+ "mt_tint": "непрозрачность фона (0-100) на полосе воспроизведения$N$Nделает буферизацию менее отвлекающей",
+ "mt_eq": "включить эквалайзер$N$Nboost <code>0</code> = стандартная громкость$N$Nwidth <code>1 </code> = обычное стерео$Nwidth <code>0.5</code> = микширование левого и правого каналов на 50%$Nwidth <code>0 </code> = моно$N$Nboost <code>-0.8</code> и width <code>10</code> = удаление голоса :^)$N$Nвключённый эквалайзер полностью убирает задержку между треками, поэтому следует его включить со всеми значениями на 0 (кроме width = 1), если вам нужно бесшовное воспроизведение",
+ "mt_drc": "включить компрессор; также включит эквалайзер для баланса вселенной, так что выставьте всё на 0 кроме width, если он вам не нужен$N$Nпонижает громкость при волне выше значения dB в tresh; каждый dB в ratio равен одному dB на выходе, так что стандартные значения tresh = -24 и ratio = 12 сделают так, что звук никогда не будет громче -22 dB. При таком раскладе можно поставить boost в эквалайзере на 0.8 или даже 1.8 при значении atk = 0 и огромном rls вроде 90 (работает только в Firefox, rls не может быть выше 1 в других браузерах)$N$N(загляните в википедию, там всё объяснено подробнее)",
+
+ "mb_play": "играть",
+ "mm_hashplay": "воспроизвести этот музыкальный файл?",
+ "mm_m3u": "нажмите Enter/OK
, чтобы играть\nнажмите ESC/Отмена
, чтобы редактировать",
+ "mp_breq": "требуется Firefox 82+, Chrome 73+ или iOS 15+",
+ "mm_bload": "загружаю...",
+ "mm_bconv": "конвертирую в {0}, подождите...",
+ "mm_opusen": "ваш браузер не может воспроизводить файлы aac / m4a;\nвключено транскодирование в opus",
+ "mm_playerr": "ошибка воспроизведения: ",
+ "mm_eabrt": "Попытка воспроизведения была отменена",
+ "mm_enet": "Ваше подключение нестабильно",
+ "mm_edec": "Этот файл, возможно, повреждён??",
+ "mm_esupp": "Ваш браузер не распознаёт этот аудио-формат",
+ "mm_eunk": "Неопознанная ошибка",
+ "mm_e404": "Не удалось воспроизвести аудио; ошибка 404: Файл не найден.",
+ "mm_e403": "Не удалось воспроизвести аудио; ошибка 403: Доступ запрещён.\n\nПопробуйте перезагрузить страницу, возможно, ваша сессия истекла",
+ "mm_e500": "Не удалось воспроизвести аудио; ошибка 500: Проверьте логи сервера.",
+ "mm_e5xx": "Не удалось воспроизвести аудио; ошибка сервера ",
+ "mm_nof": "больше аудио-файлов не найдено",
+ "mm_prescan": "Поиск музыки для воспроизведения дальше...",
+ "mm_scank": "Найден следующий трек:",
+ "mm_uncache": "кеш очищен; все треки будут загружены заново при воспроизведении",
+ "mm_hnf": "это трек больше не существует",
+
+ "im_hnf": "это изображение больше не существует",
+
+ "f_empty": 'эта папка пуста',
+ "f_chide": 'это скроет столбец «{0}»\n\nвы можете показать скрытые столбцы в настройках',
+ "f_bigtxt": "объём данного файла - {0} МиБ. точно открыть как текст?",
+ "f_bigtxt2": "просмотреть только конец файла? это также включит обновление в реальном времени, показывая новые строки сразу после их добавления",
+ "fbd_more": '',
+ "fbd_all": '',
+ "f_anota": "только {0} из {1} файлов было выделено;\nчтобы выделить всё папку, отмотайте до низа",
+
+ "f_dls": 'ссылки на файлы в данной папке были\nзаменены ссылками на скачивание',
+
+ "f_partial": "Чтобы безопасно скачать файл, который в текущий момент загружается, нажмите на файл с таким же названием, но без расширения .PARTIAL
. Пожалуйста, нажмите Отмена или ESC, чтобы сделать это.\n\nПри нажатии OK / Enter, вы скачаете этот временный файл, который с огромной вероятностью содержит лишь неполные данные.",
+
+ "ft_paste": "вставить {0} файлов$NГорячая клавиша: ctrl-V",
+ "fr_eperm": 'не удалось переименовать:\nу вас нет разрешения “move” в этой папке',
+ "fd_eperm": 'не удалось удалить:\nу вас нет разрешения “delete” в этой папке',
+ "fc_eperm": 'не удалось вырезать:\nу вас нет разрешения “move” в этой папке',
+ "fp_eperm": 'не удалось вставить:\nу вас нет разрешения “write” в этой папке',
+ "fr_emore": "выделите хотя бы один файл, чтобы переименовать",
+ "fd_emore": "выделите хотя бы один файл, чтобы удалить",
+ "fc_emore": "выделите хотя бы один файл, чтобы вырезать",
+ "fcp_emore": "выделите хотя бы один файл, чтобы скопировать в буфер",
+
+ "fs_sc": "поделиться текущей папкой",
+ "fs_ss": "поделиться выделенными файлами",
+ "fs_just1d": "вы не можете выбрать больше одной папки\nили смешивать файлы с папками при выделении",
+ "fs_abrt": "❌ отменить",
+ "fs_rand": "🎲 случ. имя",
+ "fs_go": "✅ создать доступ",
+ "fs_name": "имя",
+ "fs_src": "путь",
+ "fs_pwd": "пароль",
+ "fs_exp": "срок",
+ "fs_tmin": "мин",
+ "fs_thrs": "часов",
+ "fs_tdays": "дней",
+ "fs_never": "вечно",
+ "fs_pname": "имя ссылки; генерируется случайно если не указано",
+ "fs_tsrc": "путь к файлу или папке, которыми нужно поделиться",
+ "fs_ppwd": "пароль (необязательно)",
+ "fs_w8": "создаю доступ...",
+ "fs_ok": "нажмите Enter/OK
, чтобы скопировать\nнажмите ESC/Cancel
, чтобы закрыть",
+
+ "frt_dec": "может исправить некоторые случаи с некорректными именами файлов\">декодировать url",
+ "frt_rst": "сбросить изменённые имена обратно к оригинальным\">↺ сброс",
+ "frt_abrt": "отменить операцию и закрыть это окно\">❌ отмена",
+ "frb_apply": "ПЕРЕИМЕНОВАТЬ",
+ "fr_adv": "переименование массовое / метаданных / по шаблону\">эксперт",
+ "fr_case": "чувствительный к регистру regex\">РеГиСтР",
+ "fr_win": "совместимые с windows имена; заменяет <>:"\\|?*
японскими полноширинными символами\">win",
+ "fr_slash": "заменяет /
символом, который не создаёт новые папки\">без /",
+ "fr_re": "поиск по шаблону regex, применяемый к оригинальным именам; группы захвата могут применяться в поле форматирования с помощью <code>(1)</code> и <code>(2)</code> и так далее",
+ "fr_fmt": "вдохновлено foobar2000:$N<code>(title)</code> заменяется названием трека,$N<code>[(artist) - ](title)</code> пропускает [эту] часть, если композитор не указан$N<code>$lpad((tn),2,0)</code> добавляет ведущие нули до двух цифр",
+ "fr_pdel": "удалить",
+ "fr_pnew": "сохранить как",
+ "fr_pname": "предоставьте название для нового шаблона",
+ "fr_aborted": "прервано",
+ "fr_lold": "старое имя",
+ "fr_lnew": "новое имя",
+ "fr_tags": "теги для выделенных файлов (не редактируется, это для инструкции):",
+ "fr_busy": "переименовываю {0} файлов...\n\n{1}",
+ "fr_efail": "ошибка переименования:\n",
+ "fr_nchg": "{0} новых имён были модифицированы для соответствия опциям win
и/или без /
\n\nХотите использовать эти имена?",
+
+ "fd_ok": "успешно удалено",
+ "fd_err": "ошибка удаления:\n",
+ "fd_none": "ничего не удалено; возможно, не позволяет конфигурация сервера (xbd)?",
+ "fd_busy": "удалено {0} файлов...\n\n{1}",
+ "fd_warn1": "УДАЛИТЬ эти {0} файлов?",
+ "fd_warn2": "Внимание! Это необратимый процесс. Удалить?",
+
+ "fc_ok": "вырезано {0} файлов",
+ "fc_warn": 'вырезано {0} файлов\n\nно только эта вкладка браузера может их вставить\n(поскольку выделение оказалось настолько огромным)',
+
+ "fcc_ok": "скопировано {0} файлов в буфер",
+ "fcc_warn": 'скопировано {0} файлов в буфер\n\nно только эта вкладка браузера может их вставить\n(поскольку выделение оказалось настолько огромным)',
+
+ "fp_apply": "использовать эти имена",
+ "fp_ecut": "сначала вырезать или скопировать только некоторые файлы / папки\n\nучтите: вы можете вырезать / вставлять файлы между вкладками",
+ "fp_ename": "{0} файлов невозможно перенести сюда, потому что их имена уже заняты. Введите имена ниже, чтобы продолжить, или оставьте поля пустыми, чтобы пропустить:",
+ "fcp_ename": "{0} файлов невозможно скопировать сюда, потому что их имена уже заняты. Введите имена ниже, чтобы продолжить, или оставьте поля пустыми, чтобы пропустить:",
+ "fp_emore": "есть ещё коллизии имён, которые требуется исправить",
+ "fp_ok": "успешно перенесено",
+ "fcp_ok": "успешно скопировано",
+ "fp_busy": "перемещаю {0} файлов...\n\n{1}",
+ "fcp_busy": "копирую {0} файлов...\n\n{1}",
+ "fp_err": "ошибка перемещения:\n",
+ "fcp_err": "ошибка копирования:\n",
+ "fp_confirm": "переместить эти {0} файлов сюда?",
+ "fcp_confirm": "скопировать эти {0} файлов сюда?",
+ "fp_etab": 'ошибка чтения буфера обмена из другой вкладки браузера',
+ "fp_name": "загружаю файл с вашего устройства. Назовите его:",
+ "fp_both_m": 'Enter
= Перенести {0} файлов из «{1}»\nESC
= Загрузить {2} файлов с вашего устройства',
+ "fcp_both_m": 'Enter
= Скопировать {0} файлов из «{1}»\nESC
= Загрузить {2} файлов с вашего устройства',
+ "fp_both_b": 'ПереместитьЗагрузить',
+ "fcp_both_b": 'СкопироватьЗагрузить',
+
+ "mk_noname": "введите имя в текстовое поле слева перед тем, как это делать :p",
+
+ "tv_load": "Загружаю текстовый документ:\n\n{0}\n\n{1}% ({2} из {3} МиБ загружено)",
+ "tv_xe1": "не удалось загрузить текстовый файл:\n\nошибка ",
+ "tv_xe2": "404, файл не найден",
+ "tv_lst": "список текстовых файлов в",
+ "tvt_close": "вернуться в обзор папки$NГорячая клавиша: M (или Esc)\">❌ закрыть",
+ "tvt_dl": "скачать этот файл$NГорячая клавиша: Y\">💾 скачать",
+ "tvt_prev": "показать предыдущий документ$NГорячая клавиша: i\">⬆ пред",
+ "tvt_next": "показать следующий документ$NГорячая клавиша: K\">⬇ след",
+ "tvt_sel": "выбрать документ ( для вырезания / копирования / удаления / ... )$NГорячая клавиша: S\">выд",
+ "tvt_edit": "открыть документ в текстовом редакторе$NГорячая клавиша: E\">✏️ изменить",
+ "tvt_tail": "проверять файл на изменения; показывать новые строки в реальном времени\">📡 обновлять",
+ "tvt_wrap": "перенос слов\">↵",
+ "tvt_atail": "прикрепить вид к низу страницы\">⚓",
+ "tvt_ctail": "декодировать цвета терминала (ansi escape codes)\">🌈",
+ "tvt_ntail": "лимит прокрутки (как много байт текста держать в памяти)",
+
+ "m3u_add1": "трек добавлен в плейлист m3u",
+ "m3u_addn": "{0} треков добавлено в плейлист m3u",
+ "m3u_clip": "плейлист m3u скопирован в буфер\n\nсоздайте файл с расширением .m3u
и вставьте текст туда, чтобы сделать из него плейлист",
+
+ "gt_vau": "не показывать видео, только воспроизводить аудио\">🎧",
+ "gt_msel": "включить режим выделения; держите ctrl при нажатии для инвертации действия$N$N<em>когда активно: дважды кликните на файле / папке, чтобы открыть их</em>$N$NГорячая клавиша: S\">выделение",
+ "gt_crop": "обрезать миниатюры\">обрезка",
+ "gt_3x": "миниатюры высокого разрешения\">3x",
+ "gt_zoom": "размер",
+ "gt_chop": "длина имён",
+ "gt_sort": "сортировать по",
+ "gt_name": "имени",
+ "gt_sz": "размеру",
+ "gt_ts": "дате",
+ "gt_ext": "типу",
+ "gt_c1": "укоротить названия файлов",
+ "gt_c2": "удлинить названия файлов",
+
+ "sm_w8": "ищем...",
+ "sm_prev": "результаты поиска ниже - из предыдущего запроса:\n ",
+ "sl_close": "закрыть результаты поиска",
+ "sl_hits": "показ {0} совпадений",
+ "sl_moar": "загрузить больше",
+
+ "s_sz": "размер",
+ "s_dt": "дата",
+ "s_rd": "путь",
+ "s_fn": "имя",
+ "s_ta": "теги",
+ "s_ua": "дата⬆️",
+ "s_ad": "другое",
+ "s_s1": "минимум МиБ",
+ "s_s2": "максимум МиБ",
+ "s_d1": "мин. iso8601",
+ "s_d2": "макс. iso8601",
+ "s_u1": "загружено после",
+ "s_u2": "и/или до",
+ "s_r1": "путь содержит (разделить пробелами)",
+ "s_f1": "имя содержит (для исключения писать -nope)",
+ "s_t1": "теги содержат (^=начало, конец=$)",
+ "s_a1": "свойства метаданных",
+
+ "md_eshow": "не удалось показать ",
+ "md_off": "[📜ридми] отключён в [⚙️] -- документ скрыт",
+
+ "badreply": "Ошибка обработки ответа сервера",
+
+ "xhr403": "403: Доступ запрещён\n\nпопробуйте перезагрузить страницу, возможно, ваша сессия истекла",
+ "xhr0": "неизвестно (возможно, потеряно соединение с сервером, либо он отключён)",
+ "cf_ok": "просим прощения -- сработала защита от DD" + wah + "oS\n\nвсё должно вернуться в норму через 30 сек\n\nесли ничего не происходит - перезагрузите страницу",
+ "tl_xe1": "не удалось показать подпапки:\n\nошибка ",
+ "tl_xe2": "404: Папка не найдена",
+ "fl_xe1": "не удалось показать файлы:\n\nошибка ",
+ "fl_xe2": "404: Папка не найдена",
+ "fd_xe1": "не удалось создать подпапку:\n\nошибка ",
+ "fd_xe2": "404: Родительская папка не найдена",
+ "fsm_xe1": "не удалось отправить сообщение:\n\nошибка ",
+ "fsm_xe2": "404: Родительская папка не найдена",
+ "fu_xe1": "не удалось удалить список с сервера:\n\nошибка ",
+ "fu_xe2": "404: Файл не найден??",
+
+ "fz_tar": "несжатый файл gnu-tar (linux / mac)",
+ "fz_pax": "несжатый pax-форматированный tar (медленнее)",
+ "fz_targz": "gnu-tar с 3 уровнем сжатия gzip$N$Nобычно это очень медленно,$Nлучше использовать несжатый tar",
+ "fz_tarxz": "gnu-tar с 1 уровнем сжатия xz$N$Nобычно это очень медленно,$Nлучше использовать несжатый tar",
+ "fz_zip8": "zip с именами по utf8 (может работать криво на windows 7 и ниже)",
+ "fz_zipd": "zip с именами по cp437, для очень старого софта",
+ "fz_zipc": "cp437 с предварительным вычислением crc32,$N для MS-DOS PKZIP v2.04g (октябрь 1993)$N(требует больше времени для обработки перед скачиванием)",
+
+ "un_m1": "вы можете удалить ваши недавние загрузки (или отменить незавершённые) ниже",
+ "un_upd": "обновить",
+ "un_m4": "или поделиться файлами снизу:",
+ "un_ulist": "показать",
+ "un_ucopy": "копировать",
+ "un_flt": "опциональный фильтр: адрес должен содержать",
+ "un_fclr": "очистить фильтр",
+ "un_derr": 'ошибка удаления:\n',
+ "un_f5": 'что-то сломалось, пожалуйста перезагрузите страницу',
+ "un_uf5": "извините, но вам нужно перезагрузить страницу (F5 или Ctrl+R) перед тем, как отменить эту загрузку",
+ "un_nou": 'внимание: сервер слишком нагружен, чтобы показать незавершённые загрузки; нажмите на ссылку "обновления" через пару секунд',
+ "un_noc": 'внимание: удаление уже загруженных файлов запрещено конфигурацией сервера',
+ "un_max": "показаны первые 2000 файлов (используйте фильтр)",
+ "un_avail": "{0} недавних загрузок может быть удаленофайлы: {0} завершено, {1} ошибок, {2} загружаются, {3} в очереди
", + "u_ever": "это упрощённый загрузчик; up2k требует хотя быOK/Enter
, чтобы ПРОПУСТИТЬ их,\nНажмите Отмена/ESC
, чтобы проигнорировать сообщение и ЗАГРУЗИТЬ их:\n\n',
+ "u_just1": '\nВозможно, будет лучше, если вы выберете только один файл',
+ "u_ff_many": "если вы используете Linux / MacOS / Android, тогда такое количество файлов может крашнуть Firefox!\nв таком случае попробуйте снова (или используйте Chrome).",
+ "u_up_life": "Эта загрузка будет удалена с сервера\nчерез {0} после её завершения",
+ "u_asku": 'загрузить эти {0} файлов в {1}
',
+ "u_unpt": "вы можете отменить / удалить эту загрузку с помощью 🧯 сверху слева",
+ "u_bigtab": 'будет показано {0} файлов\n\nэто может крашнуть браузер, вы уверены?',
+ "u_scan": 'Сканирую файлы...',
+ "u_dirstuck": 'сканер папки завис при попытке получить доступ к следующим {0} файлам; будет пропущено:',
+ "u_etadone": 'Готово ({0}, {1} файлов)',
+ "u_etaprep": '(подготавливаю загрузку)',
+ "u_hashdone": 'хеширование выполнено',
+ "u_hashing": 'хеш',
+ "u_hs": 'подготовка к хешированию...',
+ "u_started": "файлы загружаются; подробнее в [🚀]",
+ "u_dupdefer": "дубликат; будет обработан после всех остальных файлов",
+ "u_actx": "нажмите на этот текст, чтобы предотвратитьF5
для обновления страницымп
в ⚙️ настройках
F5
для обновления страницы🥔
(простой интерфейс) во вкладке загрузокconnections-per-server
в about:config
",
+ "u_tu": 'ВНИМАНИЕ: активен режим турбо, клиент может игнорировать незавершённые загрузки; подробнее при наведении на кнопку турбо
', + "u_ts": 'ВНИМАНИЕ: активен режим турбо, результаты поиска могут быть некорректными; подробнее при наведении на кнопку турбо
', + "u_turbo_c": "режим турбо отключён сервером", + "u_turbo_g": "отключаю турбо, поскольку у вас нет прав\nна просмотр папок в этом хранилище", + "u_life_cfg": 'автоудаление через мин (или часов)', + "u_life_est": 'загрузка будет удалена ---', + "u_life_max": 'эта папка требует\nавтоудаления файлов через {0}', + "u_unp_ok": 'удаление разрешено для {0}', + "u_unp_ng": 'удаление НЕ будет разрешено', + "ue_ro": 'ваш доступ к данной папке - только чтение\n\n', + "ue_nl": 'на данный момент вы не авторизованы', + "ue_la": 'вы авторизованы как "{0}"', + "ue_sr": 'сейчас вы в режиме поиска файлов\n\nперейдите в режим загрузки, нажав на лупу 🔎 (рядом с огромной кнопкой ИСКАТЬ), и попробуйте снова\n\nизвините', + "ue_ta": 'попробуйте загрузить снова, теперь должно сработать', + "ue_ab": "этот файл уже загружают в другую папку, та загрузка должна быть завершена перед тем, как загрузить этот же файл в другое место.\n\nВы можете отменить свою загрузку через 🧯 сверху слева", + "ur_1uo": "OK: Файл успешно загружен", + "ur_auo": "OK: Все {0} файлов успешно загружены", + "ur_1so": "OK: Файл найден на сервере", + "ur_aso": "OK: Все {0} файлов найдены на сервере", + "ur_1un": "Загрузка не удалась, извините", + "ur_aun": "Все {0} загрузок не удались, извините", + "ur_1sn": "Файл НЕ был найден на сервере", + "ur_asn": "Все {0} файлов НЕ было найдено на сервере", + "ur_um": "Завершено;\n{0} успешно,\n{1} ошибок, извините", + "ur_sm": "Завершено;\n{0} файлов найдено на сервере,\n{1} файлов НЕ найдено на сервере", + + "lang_set": "перезагрузить страницу, чтобы применить изменения?", + }, }; -var LANGS = ["eng", "nor", "chi", "deu"]; +var LANGS = ["eng", "nor", "chi", "deu", "rus"]; if (window.langmod) langmod(); diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index c2e60eb6..638c9ddc 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -135,6 +135,48 @@ var Ls = { "ae1": "Aktive Downloads:", "af1": "Zeige neue Uploads", }, + "eng": { + "a1": "обновить", + "b1": "приветик, незнакомец (вы не авторизованы)", + "c1": "выйти", + "d1": "трассировка стека", // TLNote: "d2" is the tooltip for this button + "d2": "показывает состояние всех активных потоков", + "e1": "перезагрузить конфиг", + "e2": "перезагрузить файлы конфига (аккаунты/хранилища/флаги),$Nи пересканировать все хранилища с флагом e2ds$N$Nвнимание: изменения глобальных настроек$Nтребуют полного перезапуска сервера", + "f1": "вы можете видеть:", + "g1": "вы можете загружать файлы в:", + "cc1": "всякая всячина:", + "h1": "отключить k304", // TLNote: "j1" explains what k304 is + "i1": "включить k304", + "j1": "включённый k304 будет отключать вас при получении HTTP 304, что может помочь при работе с некоторыми глючными прокси (перестают загружаться страницы), но это также сделает работу клиента медленнее", + "k1": "сбросить локальные настройки", + "l1": "авторизуйтесь для других опций:", + "m1": "с возвращением,", // TLNote: "welcome back, USERNAME" + "n1": "404 не найдено ┐( ´ -`)┌", + "o1": 'или у вас нет доступа -- попробуйте авторизоваться или вернуться на главную', + "p1": "403 доступ запрещён ~┻━┻", + "q1": 'авторизуйтесь или вернитесь на главную', + "r1": "вернуться на главную", + ".s1": "пересканировать", + "t1": "действия", // TLNote: this is the header above the "rescan" buttons + "u2": "время с последней записи на сервер$N( загрузка / переименование / ... )$N$N17d = 17 дней$N1h23 = 1 час 23 минут$N4m56 = 4 минут 56 секунд", + "v1": "подключить", + "v2": "использовать сервер как локальный диск", + "w1": "перейти на https", + "x1": "поменять пароль", + "y1": "управление доступом", // TLNote: shows the list of folders that the user has decided to share + "z1": "разблокировать:", // TLNote: the password prompt to see a hidden share + "ta1": "сначала введите свой новый пароль", + "ta2": "повторите новый пароль:", + "ta3": "опечатка; попробуйте снова", + "aa1": "входящие файлы:", + "ab1": "отключить no304", + "ac1": "включить no304", + "ad1": "включённый no304 полностью отключит хеширование; используйте, если k304 не помог. Сильно увеличит объём трафика!", + "ae1": "активные скачивания:", + "af1": "показать недавние загрузки", + "ag1": "показать известных IdP-пользователей", + }, }; if (window.langmod)