This commit is contained in:
parent
6ed9281419
commit
81e4bc10ab
6 changed files with 189 additions and 2 deletions
|
@ -462,6 +462,18 @@ export class PaneSettings extends React.Component<Props, State, {}> {
|
||||||
>
|
>
|
||||||
{this.props.msg.pkg.get("zhCN")}
|
{this.props.msg.pkg.get("zhCN")}
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
this.setLan("ru_RU");
|
||||||
|
}}
|
||||||
|
className={`${
|
||||||
|
this.props.login.preferences.lan === "ru_RU"
|
||||||
|
? "focus-bg white-font"
|
||||||
|
: "button-default"
|
||||||
|
} inline-block margin-r-m`}
|
||||||
|
>
|
||||||
|
{this.props.msg.pkg.get("ruRU")}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
|
|
||||||
|
|
|
@ -807,6 +807,11 @@ export class Updater {
|
||||||
this.props.msg.pkg = MsgPackage.get(lan);
|
this.props.msg.pkg = MsgPackage.get(lan);
|
||||||
this.props.login.preferences.lan = "zh_CN";
|
this.props.login.preferences.lan = "zh_CN";
|
||||||
break;
|
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:
|
default:
|
||||||
Env().alertMsg("language package not found");
|
Env().alertMsg("language package not found");
|
||||||
}
|
}
|
||||||
|
@ -896,7 +901,7 @@ export class Updater {
|
||||||
const url = this.props.login.preferences.lanPackURL;
|
const url = this.props.login.preferences.lanPackURL;
|
||||||
if (url === "") {
|
if (url === "") {
|
||||||
const lan = this.props.login.preferences.lan;
|
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
|
// fallback to build-in language pack
|
||||||
this.props.msg.lan = lan;
|
this.props.msg.lan = lan;
|
||||||
this.props.msg.pkg = MsgPackage.get(lan);
|
this.props.msg.pkg = MsgPackage.get(lan);
|
||||||
|
|
|
@ -70,6 +70,7 @@ export const msgs: Map<string, string> = Map({
|
||||||
"admin.roles": "Roles",
|
"admin.roles": "Roles",
|
||||||
zhCN: "简体中文",
|
zhCN: "简体中文",
|
||||||
enUS: "English (US)",
|
enUS: "English (US)",
|
||||||
|
ruRU: "Russian",
|
||||||
"move.fail": "Failed to move",
|
"move.fail": "Failed to move",
|
||||||
"share.404.title": "No folder is in sharing",
|
"share.404.title": "No folder is in sharing",
|
||||||
"share.404.desc": "You can share a folder in the items tab",
|
"share.404.desc": "You can share a folder in the items tab",
|
||||||
|
|
|
@ -2,7 +2,7 @@ import { Map, Set } from "immutable";
|
||||||
|
|
||||||
import { msgs as enMsgs } from "./en_US";
|
import { msgs as enMsgs } from "./en_US";
|
||||||
import { msgs as cnMsgs } from "./zh_CN";
|
import { msgs as cnMsgs } from "./zh_CN";
|
||||||
|
import { msgs as ruMsgs } from "./ru_RU";
|
||||||
export class Msger {
|
export class Msger {
|
||||||
private msgs: Map<string, string>;
|
private msgs: Map<string, string>;
|
||||||
constructor(msgs: Map<string, string>) {
|
constructor(msgs: Map<string, string>) {
|
||||||
|
@ -20,6 +20,8 @@ export class MsgPackage {
|
||||||
return Map(enMsgs);
|
return Map(enMsgs);
|
||||||
case "zh_CN":
|
case "zh_CN":
|
||||||
return Map(cnMsgs);
|
return Map(cnMsgs);
|
||||||
|
case "ru_RU":
|
||||||
|
return Map(ruMsgs);
|
||||||
default:
|
default:
|
||||||
return Map(enMsgs);
|
return Map(enMsgs);
|
||||||
}
|
}
|
||||||
|
|
166
src/client/web/src/i18n/ru_RU.ts
Normal file
166
src/client/web/src/i18n/ru_RU.ts
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
import { Map } from "immutable";
|
||||||
|
|
||||||
|
export const msgs: Map<string, string> = 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": "Если файлов и папок много, восстановление индекса может занять некоторое время.",
|
||||||
|
});
|
|
@ -67,6 +67,7 @@ export const msgs: Map<string, string> = Map({
|
||||||
"admin.roles": "角色列表",
|
"admin.roles": "角色列表",
|
||||||
zhCN: "简体中文",
|
zhCN: "简体中文",
|
||||||
enUS: "English(US)",
|
enUS: "English(US)",
|
||||||
|
ruRU: "俄语",
|
||||||
"move.fail": "移动失败",
|
"move.fail": "移动失败",
|
||||||
"share.404.title": "没有找到正在共享的文件夹",
|
"share.404.title": "没有找到正在共享的文件夹",
|
||||||
"share.404.desc": "在列表面板可以共享文件夹",
|
"share.404.desc": "在列表面板可以共享文件夹",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue