From 81e4bc10ab39f0f4ac8168c70658e713d8e24706 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 9 Apr 2025 15:35:20 +0300 Subject: [PATCH] Commit patches --- .../web/src/components/pane_settings.tsx | 12 ++ .../web/src/components/state_updater.ts | 7 +- src/client/web/src/i18n/en_US.ts | 1 + src/client/web/src/i18n/msger.ts | 4 +- src/client/web/src/i18n/ru_RU.ts | 166 ++++++++++++++++++ src/client/web/src/i18n/zh_CN.ts | 1 + 6 files changed, 189 insertions(+), 2 deletions(-) create mode 100644 src/client/web/src/i18n/ru_RU.ts diff --git a/src/client/web/src/components/pane_settings.tsx b/src/client/web/src/components/pane_settings.tsx index 0e91940..f5ff009 100644 --- a/src/client/web/src/components/pane_settings.tsx +++ b/src/client/web/src/components/pane_settings.tsx @@ -462,6 +462,18 @@ export class PaneSettings extends React.Component { > {this.props.msg.pkg.get("zhCN")} + diff --git a/src/client/web/src/components/state_updater.ts b/src/client/web/src/components/state_updater.ts index 4f348de..83b0ccf 100644 --- a/src/client/web/src/components/state_updater.ts +++ b/src/client/web/src/components/state_updater.ts @@ -807,6 +807,11 @@ export class Updater { this.props.msg.pkg = MsgPackage.get(lan); this.props.login.preferences.lan = "zh_CN"; break; + case "ru_RU": + this.props.msg.lan = "ru_RU"; + this.props.msg.pkg = MsgPackage.get(lan); + this.props.login.preferences.lan = "ru_RU"; + break; default: Env().alertMsg("language package not found"); } @@ -896,7 +901,7 @@ export class Updater { const url = this.props.login.preferences.lanPackURL; if (url === "") { const lan = this.props.login.preferences.lan; - if (lan === "en_US" || lan === "zh_CN") { + if (lan === "en_US" || lan === "zh_CN" || lan === "ru_RU") { // fallback to build-in language pack this.props.msg.lan = lan; this.props.msg.pkg = MsgPackage.get(lan); diff --git a/src/client/web/src/i18n/en_US.ts b/src/client/web/src/i18n/en_US.ts index 1f5b94b..eb833ad 100644 --- a/src/client/web/src/i18n/en_US.ts +++ b/src/client/web/src/i18n/en_US.ts @@ -70,6 +70,7 @@ export const msgs: Map = Map({ "admin.roles": "Roles", zhCN: "简体中文", enUS: "English (US)", + ruRU: "Russian", "move.fail": "Failed to move", "share.404.title": "No folder is in sharing", "share.404.desc": "You can share a folder in the items tab", diff --git a/src/client/web/src/i18n/msger.ts b/src/client/web/src/i18n/msger.ts index 30077d9..6b1e360 100644 --- a/src/client/web/src/i18n/msger.ts +++ b/src/client/web/src/i18n/msger.ts @@ -2,7 +2,7 @@ import { Map, Set } from "immutable"; import { msgs as enMsgs } from "./en_US"; import { msgs as cnMsgs } from "./zh_CN"; - +import { msgs as ruMsgs } from "./ru_RU"; export class Msger { private msgs: Map; constructor(msgs: Map) { @@ -20,6 +20,8 @@ export class MsgPackage { return Map(enMsgs); case "zh_CN": return Map(cnMsgs); + case "ru_RU": + return Map(ruMsgs); default: return Map(enMsgs); } diff --git a/src/client/web/src/i18n/ru_RU.ts b/src/client/web/src/i18n/ru_RU.ts new file mode 100644 index 0000000..c345749 --- /dev/null +++ b/src/client/web/src/i18n/ru_RU.ts @@ -0,0 +1,166 @@ +import { Map } from "immutable"; + +export const msgs: Map = Map({ + "terms.nothingHere": "Здесь ничего нет", + "stateMgr.cap.fail": "не удалось получить идентификатор капчи", + "browser.upload.del.fail": "Не удалось удалить загружаемый элемент", + "browser.folder.add.fail": "Имя папки не может быть пустым", + "browser.del.fail": "Пожалуйста, сначала выберите файл или папку для удаления", + "browser.move.fail": "Исходный каталог совпадает с каталогом назначения", + "browser.share.add.fail": "Не удалось включить общий доступ", + "browser.share.del.fail": "Не удалось отключить общий доступ", + "browser.share.del": "Прекратить делиться", + "browser.share.add": "Поделиться папкой", + "browser.share.title": "Обмен", + "browser.share.desc": "Все папки, которые являются общими", + "browser.upload.title": "Загрузки", + "browser.upload.desc": "Все файлы находящиеся в загрузке", + "browser.folder.name": "Имя папки", + "browser.folder.add": "Добавить папку", + "browser.upload": "Загрузить", + "browser.delete": "Удалить", + "browser.paste": "Вставить", + "browser.select": "Выбрать", + "browser.deselect": "Отменить выбор", + "browser.selectAll": "Выбрать всё", + "browser.stop": "Стоп", + "browser.disable": "Зарпетить", + "browser.location": "Расположение", + "browser.item.title": "Предметы", + "browser.used": "Используемое пространство", + "panes.close": "Закрыть", + "login.logout.fail": "Не удалось выйти из системы", + "login.username": "Имя пользователя", + "login.captcha": "Капча", + "login.pwd": "Пароль", + "login.login": "Авторизоваться", + "login.logout": "Выход из системы", + "settings.pwd.notSame": "Входные пароли отличаются", + "settings.pwd.empty": "Пароль не может быть пустым", + "settings.pwd.notChanged": "Новый пароль может быть идентичен старому паролю", + update: "Обновление", + "settings.pwd.old": "Старый пароль", + "settings.pwd.new1": "Новый пароль", + "settings.pwd.new2": "Подтвердите новый пароль", + "settings.chooseLan": "Выберите язык", + "settings.pwd.update": "Обновить пароль", + settings: "Настройки", + admin: "Админ", + "update.ok": "Обновление закончено", + "update.fail": "Не удалось обновить", + "delete.fail": "Не удалось удалить", + "delete.ok": "Удалось удалить", + delete: "Удалить", + spaceLimit: "Лимит пространства", + uploadLimit: "Ограничение скорости загрузки", + downloadLimit: "Ограничение скорости скачивания", + "add.fail": "Не удалось создать", + "add.ok": "Удалось создать", + "role.delete.warning": + "После удаления этой роли некоторые пользователи не смогут войти в систему.", + "user.id": "ID пользователя", + "user.add": "Добавить пользователя", + "user.name": "Имя пользователя", + "user.role": "Роль пользователя", + "user.password": "Пароль пользователя", + add: "Добавить", + "admin.users": "Пользователи", + "role.add": "Добавить роль", + "role.name": "Имя роли", + "admin.roles": "Роли", + zhCN: "简体中文", + enUS: "English (US)", + ruRU: "Russian (RU)", + "move.fail": "Не удалось переместить", + "share.404.title": "Ни одна папка не находится в общем доступе", + "share.404.desc": "Вы можете поделиться папкой на вкладке «Элементы».", + "upload.404.title": "Загрузка не выполняется", + "upload.404.desc": "Вы можете загрузить файл во вкладке элементы", + detail: "Деталь", + refresh: "Обновить", + "refresh-hint": "Пожалуйста, обновите страницу позже, чтобы увидеть результат.", + "pane.login": "Авторизоваться", + "pane.admin": "Администрация", + "pane.settings": "Настройки", + "logout.confirm": "Вы собираетесь выйти из системы?", + unauthed: "Несанкционированное действие", + "err.tooManyUploads": "Невозможно загрузить более 1000 файлов одновременно", + "user.profile": "Профиль пользователя", + "user.downLimit": "Ограничение скорости скачивания", + "user.upLimit": "Ограничение скорости загрузки", + "user.spaceLimit": "Лимит пространства", + "cfg.siteName": "Название сайта", + "cfg.siteDesc": "Описание сайта", + "cfg.bg": "Фон", + "cfg.bg.url": "URL фона", + "cfg.bg.repeat": "Повторить", + "cfg.bg.pos": "Позиция", + "cfg.bg.align": "Выровнять", + "cfg.bg.bgColor": "Цвет фона", + reset: "Перезагрузить", + "bg.url.alert": "URL-адрес изображения слишком короткий или слишком длинный.", + "bg.pos.alert": "Поддерживается только положение: сверху, снизу, слева, справа, по центру.", + "bg.repeat.alert": + "Поддерживается только повтор: повтор-x, повтор-y, повтор, пробел, раунд, без повтора.", + "bg.align.alert": "Выравнивание поддерживает только: прокрутку, фиксированную, локальную.", + "prefer.theme": "Тема", + "prefer.theme.url": "URL темы", + "settings.customLan": "Индивидуальный языковой пакет", + "settings.lanPackURL": "URL-адрес языкового пакета", + "op.fail": "Операция не удалась", + "op.confirm": "Вы подтверждаете применение действия?", + "control.panelTabs.filesPanel": "Файлы", + "control.panelTabs.uploadingsPanel": "Загрузки", + "control.panelTabs.sharingsPanel": "Обмен", + "control.settingsTabs.managementPane": "Управление", + "control.settingsTabs.preferencePane": "Предпочтение", + "upload.add.fail": "Некоторые файлы конфликтуют с загрузкой файлов, проверьте.", + "server.fail": "Не удалось выполнить операцию на сервере", + "err.updater": "Ошибка обновления", + "err.uploadMgr": "Ошибка менеджера загрузки", + "err.server": "Не удалось выполнить операцию на сервере", + "err.script.cors": "Ошибка сценария с CORS", + "err.unknown": "Неизвестная ошибка", + "item.type": "Тип элемента", + "item.type.folder": "Папка", + "item.type.file": "Фаил", + "item.name": "Название предмета", + "item.path": "Путь", + "item.modTime": "Время мода", + "item.size": "Размер", + "item.progress": "Прогресс", + "item.downloadURL": "URL-адрес загрузки", + "error.report.title": "Отчет об ошибках", + "op.truncate": "Усечь", + "op.submit": "Представлять на рассмотрение", + "op.cancel": "Отмена", + "term.time": "Время", + "breadcrumb.loc": "Расположение", + endpoints: "Конечные точки", + "endpoints.root": "Root", + "endpoints.home": "Home", + "state.stopped": "Остановлено", + "state.error": "Ошибка", + usedSpace: "Используемое пространство", + resetUsedSpace: "Сбросить использованное пространство", + "confirm.resetUsedSpace": "Операция может занять некоторое время, вы подтверждаете?", + theme: "Тема", + "theme.light": "Светлая", + "theme.dark": "Тёмная", + "siteSettings": "Настройки сайта", + "siteName": "Название сайта", + "siteDesc": "Описание сайта", + "allowSetBg": "Разрешить пользователю настраивать фон", + "autoTheme": "Включить автоматическое переключение тем", + "term.enabled": "Включено", + "term.disabled": "Выключен", + "term.dropAnywhere": "Перетащите файлы любое место", + "term.search": "Поиск", + "term.results": "Результаты", + "term.noResult": "Результат не найден", + "action.go": "Вперёд", + "hint.keywords": "Пожалуйста, введите ключевые слова, разделенные пробелами", + "action.reindex": "Переиндексация", + "action.reindex.desc": "Восстановить поисковый индекс", + "action.reindex.confirm": "Если файлов и папок много, восстановление индекса может занять некоторое время.", +}); diff --git a/src/client/web/src/i18n/zh_CN.ts b/src/client/web/src/i18n/zh_CN.ts index 7c762ea..d2b12ac 100644 --- a/src/client/web/src/i18n/zh_CN.ts +++ b/src/client/web/src/i18n/zh_CN.ts @@ -67,6 +67,7 @@ export const msgs: Map = Map({ "admin.roles": "角色列表", zhCN: "简体中文", enUS: "English(US)", + ruRU: "俄语", "move.fail": "移动失败", "share.404.title": "没有找到正在共享的文件夹", "share.404.desc": "在列表面板可以共享文件夹",