From 1df13b188c8d8f148edc1b8e6b9e0cdb91e0122c Mon Sep 17 00:00:00 2001 From: MicroBlock Date: Thu, 15 Feb 2024 23:29:06 +0800 Subject: [PATCH] i18n: update(Russian thanks to @dzhake) Co-Authored-By: Dzhake <74411975+dzhake@users.noreply.github.com> --- README.en.md | 4 +- resources/dist.rc | Bin 506102 -> 504973 bytes src/celemod-ui/di18n.config.js | 4 +- src/celemod-ui/locales/en-US.json | 6 +- src/celemod-ui/locales/pt-BR.json | 6 +- src/celemod-ui/locales/ru-RU.json | 322 +++++++++--------- src/celemod-ui/locales/zh-CN.json | 6 +- .../src/resources/RecommendModData.ts | 4 +- src/celemod-ui/src/routes/Home.scss | 3 +- src/celemod-ui/src/routes/Home.tsx | 10 +- src/celemod-ui/src/routes/Manage.scss | 6 +- 11 files changed, 194 insertions(+), 177 deletions(-) diff --git a/README.en.md b/README.en.md index 508f2c7..6ef6555 100644 --- a/README.en.md +++ b/README.en.md @@ -38,4 +38,6 @@ An alternative mod manager for Celeste [@WEGFan](https://github.com/WEGFan) provides mirroring and community API, Celeste implementation and other related knowledge -@Destro and @Rhuan Brazilian Portuguese translation \ No newline at end of file +@Destro and @Rhuan Brazilian Portuguese translation + +[@dzhake](https://github.com/dzhake) Russian translation \ No newline at end of file diff --git a/resources/dist.rc b/resources/dist.rc index 1d56939bb298d47e6bf0d308dd54e8c6d4ec1d60..75ba48d3dd789639b18bd59f15388b6c79f60b0b 100644 GIT binary patch delta 23783 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 Pd!FKRN7J_`j`;r@*+q&> delta 24994 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 M9l!L7;!WTG1&81`!~g&Q diff --git a/src/celemod-ui/di18n.config.js b/src/celemod-ui/di18n.config.js index 38c07b0..6245bcf 100644 --- a/src/celemod-ui/di18n.config.js +++ b/src/celemod-ui/di18n.config.js @@ -8,8 +8,8 @@ module.exports = { ignoreComponents: [], ignoreMethods: [], primaryLocale: 'zh-CN', - supportedLocales: ['zh-CN', 'en-US', 'pt-BR' - // , 'de-DE', 'fr-FR', 'ru-RU' + supportedLocales: ['zh-CN', 'en-US', 'pt-BR', 'ru-RU' + // , 'de-DE', 'fr-FR', ], importCode: "import _i18n, { useI18N } from 'src/i18n';", i18nObject: '_i18n', diff --git a/src/celemod-ui/locales/en-US.json b/src/celemod-ui/locales/en-US.json index b53110f..5d1f962 100644 --- a/src/celemod-ui/locales/en-US.json +++ b/src/celemod-ui/locales/en-US.json @@ -157,7 +157,6 @@ "无内容": "No content.", "选择其他路径": "Choose another path", "界面设置": "UI Settings", - "语言": "Language", "简体中文": "&&", "Everest": "Everest", "原版": "Vanilla", @@ -172,5 +171,8 @@ "Harold Madeline Skin": "Harold Madeline Skin", "有趣的姿势": "Interesting pose", "下载镜像": "Download mirror", - "始终开启": "Always open" + "始终开启": "Always open", + "CelesteNet": "CelesteNet", + "Multiplayer support": "Multiplayer support", + "语言/Language": "Language" } \ No newline at end of file diff --git a/src/celemod-ui/locales/pt-BR.json b/src/celemod-ui/locales/pt-BR.json index 77cd471..3c37ca6 100644 --- a/src/celemod-ui/locales/pt-BR.json +++ b/src/celemod-ui/locales/pt-BR.json @@ -157,7 +157,6 @@ "无内容": "Sem conteúdo.", "选择其他路径": "Escolha outro diretório", "界面设置": "Configurações de Interface", - "语言": "Linguagem", "简体中文": "&&", "Everest": "Everest", "原版": "Vanilla", @@ -172,5 +171,8 @@ "Harold Madeline Skin": "Skin do Harold", "有趣的姿势": "Pose interessante", "下载镜像": "Baixar espelho", - "始终开启": "Sempre aberto" + "始终开启": "Sempre aberto", + "CelesteNet": "CelesteNet", + "Multiplayer support": "Multiplayer support", + "语言/Language": "Linguagem" } \ No newline at end of file diff --git a/src/celemod-ui/locales/ru-RU.json b/src/celemod-ui/locales/ru-RU.json index 1996aa7..e6d9178 100644 --- a/src/celemod-ui/locales/ru-RU.json +++ b/src/celemod-ui/locales/ru-RU.json @@ -1,174 +1,178 @@ { - "主页": "Домашняя страница", - "搜索": "поиск", - "管理": "управлять", - "联机相关": "Онлайн -корреляция", - "推荐模组": "Рекомендуемый модуль", - "下载任务": "Загрузить задание", - "请先安装 Everest": "Пожалуйста, установите Everes", - "Everest 是 Celeste 的开源模组加载器和模组 API,允许您根据自己的喜好创 建自定义地图包、纹理替换和代码模组。 必须先安装 Everest 才能使用 Mod。 CeleMod 可以帮助你一键下载和安装 Everest。": "Eventost - это загрузчик модуля с открытым исходным кодом Celesete и API модуля, позволяющий создавать пользовательский пакет карт, замену текстуры и кодовый модуль в соответствии с вашими предпочтениями. Моды должны быть установлены первыми, чтобы использовать Everest. Celemod может помочь вам скачать и установить Everest с одним щелчком.", - "转到 Everest 页": "Обратитесь на страницу Everest", - "选择游戏路径": "Выберите игровой путь", - "启动 Everest": "Начни Евест", - "启动 原版": "Запустите оригинальную версию", + "主页": "Дом", + "搜索": "Поиск", + "管理": "Моды", + "联机相关": "Мультиплеер", + "推荐模组": "Избранное", + "下载任务": "Задачи загрузки", + "请先安装 Everest": "Пожалуйста, сперва установите Эверест.", + "Everest 是 Celeste 的开源模组加载器和模组 API,允许您根据自己的喜好创 建自定义地图包、纹理替换和代码模组。 必须先安装 Everest 才能使用 Mod。 CeleMod 可以帮助你一键下载和安装 Everest。": "Эверест это загрузчик модов и API для модов с открытым исходным кодом для Селесты, который позволяет создавать свои наборы карт, текстур и модов с кодом, согласно вашим предпочтениям. Для моддинга Эверест необходим. CeleMod может помочь вам в скачиивании и установке Эвереста всего одним кликом.", + "转到 Everest 页": "Перейти на страницу Эвереста", + "选择游戏路径": "Выберите путь к игре.", "Mods 文件夹": "Папка модов", "文件列表为空": "Список файлов пуст", - "Celemod 有更新": "У Celemod есть обновления", - "更新详情": "Обновить детали", - "您的版本太低": "Ваша версия слишком низкая", - "如不更新": "Если вы не обновляете", - "将无法继续使用": "Не могу продолжать использовать", - "手动更新 ·": "Ручное обновление ·", - "一键更新 ·": "ОДИН -КЛИК ОБНОВЛЕНИЕ ·", - "更新失败": "Обновить неудачу", - "正在下载更新": "Загружен и обновлен", - "群服联机": "Групповое обслуживание онлайн", - "蔚蓝Mod中国镜像": "Синий мод китайский зеркальный изображение", - "在境内可以正常使用游戏内的下载和更新": "Вы можете использовать загрузку и обновление в игре обычно в стране", - "Extended Variant Mode(拓展异变)": "Расширенный режим варианта", - "提供比异变更多的改变游戏画面、内容、玩法的选项": "Предоставьте варианты изменения игровых экранов, контента и игрового процесса больше, чем изменения", - "Speedrun Tool(速通辅助工具)": "Инструмент Speedrun (вспомогательный инструмент Sudong)", - "实时存档读档(SL)、调试地图和传送、速通计时器、一键望远镜等": "Реальное чтение архива (SL), карты отладки и передача, хронограф скорости, один телескоп и т. Д.", - "用于编写TAS,也可以显示碰撞箱、数值面板等": "Используется для написания TAS, вы также можете отобразить коробку столкновения, численную панель и т. Д.", - "生成随机地图,可用于联机": "Генерировать случайные карты, можно использовать для онлайн", - "随机地图菜单中文翻译": "Случайная карта меню китайское перевод", + "Celemod 有更新": "Есть обновления для Celemod", + "更新详情": "Детали обновления", + "您的版本太低": "Ваша версия слишком низкая.", + "如不更新": "Если вы не обновитесь,", + "将无法继续使用": "вы не сможете продолжать использовать его.", + "手动更新 ·": "Обновиться вручную ·", + "一键更新 ·": "Обновление в один клик ·", + "更新失败": "Обновление провалено.", + "正在下载更新": "Скачивание обовления...", + "群服联机": "&&Group server multiplayer.", + "蔚蓝Mod中国镜像": "&&Celeste Mod Chinese Mirror", + "在境内可以正常使用游戏内的下载和更新": "&&In mainland China, game's internal downloads and updates can be used normally.", + "Extended Variant Mode(拓展异变)": "Extended Variant Mode", + "提供比异变更多的改变游戏画面、内容、玩法的选项": "Предоставляет больше возможностей для изменения игровых визуальных эффектов, контента, и геймплея чем варианты.", + "Speedrun Tool(速通辅助工具)": "Speedrun Tool", + "实时存档读档(SL)、调试地图和传送、速通计时器、一键望远镜等": "Сохранение/Загрузка в реальном времени, дебаг карт и телепортация, тамер спидрана, использование бинокля где угодно, и т.д.", + "用于编写TAS,也可以显示碰撞箱、数值面板等": "Используется для написания TAS'а, может показывать хитбоксы, числовые панели, и т.д.", + "生成随机地图,可用于联机": "Генерирует случайные карты, может быть использован для онлайн игры.", + "随机地图菜单中文翻译": "Перевод для мода Randomizer на китайский", "隐藏helper的测试地图": "Скрыть тестовую карту помощника", - "实时显示死亡次数": "Покажите количество смертей в режиме реального времени", - "隐藏死亡次数和日志": "Скрыть количество смертей и журналов", - "标记每次死亡的位置": "Расположение отметки каждый раз", - "显示按键输入历史": "Отображение клавиш История ввода", - "显示体力条": "Отображать силу тела", - "指示附近的收集品、将身后的草莓变透明": "Поручил коллекции поблизости, прозрачно позади вас клубники", - "已收集的草莓不变蓝": "Собранная клубника не меняет синий", - "提供更多、更完整的存档备份": "Обеспечить все более и более полные архивные резервные копии", - "钢魂模式(死亡即删档)": "Модель души души (удалить от смерти)", - "小工具合集:草莓统计、视角引导、跳过序章、尖刺置前": "Маленький сбор инструментов: статистика клубники, перспектива, последовательности пропусков, шипы перед", - "鼠标操控": "Контроль мыши", - "复活时将BGM同步到上次存档,便于视频剪辑": "Синхронизировать BGM до последнего архива во время воскресения, что удобно для редактирования видео", - "给一次性水晶加上红色边框": "Добавить красную раму в одноразовый кристалл", - "优化冰墙显示,具有减小贴图厚度等多种选项": "Оптимизируйте отображение ледяных стен с различными вариантами, такими как уменьшение толщины наклеек", - "给移动块加上白色边框,避免因为背景太黑了看不到": "Добавьте белые границы в блок движения, чтобы избежать, вы не можете увидеть его, потому что фон слишком темный", - "Oneshot Niko 皮肤": "OneShot Niko Skin", - "自定义头发颜色和长度": "Постоянный цвет волос и длину", - "剪影拖尾": "Зеленый лук", - "金草莓皇冠皮肤": "Золотая клубничная корона кожа", - "绿色衬衫皮肤": "Зеленая кожа рубашки", - "红色背心皮肤": "Красная кожа", - "彩虹头、双马尾皮肤": "Радужная голова, двойная хвостовая кожа", - "兔耳皮肤": "Кроличья кожа", - "猫德琳皮肤": "Кошка делятся кожа", - "星之卡比皮肤": "Кожа кожи звездной карты", - "FEZ Gomez 皮肤": "Fez Gomez Skin", - "Theo 皮肤": "Тео кожа", - "将玛德琳和蓝鸟互换": "Обмен Мадлен и Голубая птица", - "将玛德琳和水母互换": "Обмен Мадлен и медуза", - "【草莓】纯色皮肤": "【Клубника】 Сплошная кожа", - "【Kevin】UwU 皮肤": "【Кевин】 uwu skin", - "【弹球】UwU 皮肤": "【Пластиковый шарик】 кожа UWU", - "【望远镜】猫耳皮肤": "【Телескоп】 кошачья кожа уха", - "用星星代替金旗": "Используйте звезды, чтобы заменить золотой флаг", - "哈特莱恩": "Хартленен", - "微型小雕像": "Маленькая маленькая статуя", - "太妃糖部分1": "Принцесса сахар часть 1", - "太妃糖部分2": "Принцесса сахар часть 2", - "哈罗德·马德琳·斯皮": "Гарольд Мадлен Сиппи", - "有趣的姿势在制品": "Интересная осанка - продукт", - "粉红玛德琳": "Розовая Мадлен", - "神烦的狗": "Собака Божья", - "狐狸": "лиса", - "加载中...": "загрузка ...", - "无数据": "нет данных", + "实时显示死亡次数": "Показ количества смертей в реальном времени", + "标记每次死亡的位置": "Метка на месте каждой смерти", + "显示按键输入历史": "Показывает историю нажатий", + "显示体力条": "Показывает полоску выносливости", + "指示附近的收集品、将身后的草莓变透明": "Показывает собираемые предметы рядом и делает хвост ягод прозрачным", + "已收集的草莓不变蓝": "Собранные ягоды не становятся синими.", + "提供更多、更完整的存档备份": "Делает более полные бэкапы сохранений.", + "小工具合集:草莓统计、视角引导、跳过序章、尖刺置前": "Различные настройки: пропуск пролога, писем, добавить обводку всем шипам, и другие.", + "鼠标操控": "Управление мышкой.", + "复活时将BGM同步到上次存档,便于视频剪辑": "Синхронизация музыки с последнего сохранения при возрождении, удобно для редактирования видео.", + "给一次性水晶加上红色边框": "У одноразовых криссталов обводка становится красной.", + "优化冰墙显示,具有减小贴图厚度等多种选项": "Оптимизорование показа ледяных стен, с настройками для уменьшения толщины текстуры и другими", + "给移动块加上白色边框,避免因为背景太黑了看不到": "Добавляет белую обводку 'двигающимся блокам' что бы они были видны при тёмном фоне.", + "Oneshot Niko 皮肤": "Скин на Нико из Oneshot", + "自定义头发颜色和长度": "Настраивание длины и цвета волос", + "剪影拖尾": "След-силуэт", + "金草莓皇冠皮肤": "Скин с короной золотой ягоды", + "绿色衬衫皮肤": "Скин с зелёной одеждой", + "红色背心皮肤": "Скин с красным жилетом", + "彩虹头、双马尾皮肤": "Скин на разноцветные волосы с двойнойным хвостиком", + "兔耳皮肤": "Скин с ухом кролика", + "猫德琳皮肤": "Скин с ушами и хвостом кота", + "星之卡比皮肤": "Скин на кирби", + "FEZ Gomez 皮肤": "Скин на Гомеза из игры FEZ", + "Theo 皮肤": "Скин на тео", + "将玛德琳和蓝鸟互换": "Смена Мэдлин и синей птицы", + "将玛德琳和水母互换": "Смена мэдлин и медузы", + "【草莓】纯色皮肤": "【Ягода】Меняет цвет на сплошной", + "【Kevin】UwU 皮肤": "【Кевин】UwU скин", + "【弹球】UwU 皮肤": "【Бампер】UwU скин", + "【望远镜】猫耳皮肤": "【Бинокль】Скин на кошачьи уши", + "用星星代替金旗": "Заменяет золотой флаг на звёздочку в журнале", + "微型小雕像": "Изменяет фон pico-8", + "粉红玛德琳": "Розовая Мэдлин", + "神烦的狗": "Раздражающая собака", + "狐狸": "Лиса", + "加载中...": "Загрузка...", + "无数据": "Нет данных", "安装": "Установить", - "当前安装的 Everest 版本": "В настоящее время установленная версия Everest", - "未安装 Everest": "Распаковка события", - "Stable 通道": "Стабильный канал", - "Beta 通道": "Бета -канал", - "Dev 通道": "Dev", - "安装失败": "установка не удалась", - "取消": "Отмена", - "安装成功": "Успешная установка", - "确认": "подтверждать", - "正在下载": "загрузка", + "当前安装的 Everest 版本": "Текущая версия Эвереста.", + "未安装 Everest": "Эверест не установлен.", + "Stable 通道": "Стабильные", + "Beta 通道": "Бета", + "Dev 通道": "в разработке", + "安装失败": "Установка провалена.", + "取消": "Отмена.", + "安装成功": "Установка завершена.", + "确认": "Подтвердить", + "正在下载": "Скачивание", "正在安装": "Установка", - "未知": "неизвестный", - "刚刚": "только", - "{slot0}分钟前": "{slot0} минута назад", - "{slot0}小时前": "{slot0} час назад", - "{slot0}天前": "{slot0} tianqian", - "{slot0}月前": "{slot0} месяц до", - "很久以前": "давным-давно", - "正在启动": "включение", - "未找到游戏!请先安装 Steam 商店或Epic 商店版的 Celeste,或": "Игра не найдена! Пожалуйста, установите Celeste или Epic Store Store Store Store или Epic Store сначала, или", - "点此手动选择": "Нажмите здесь, чтобы вручную выбрать", - "下载设置": "Настройки загрузки", - "使用中国镜像 ( @WEGFan )": "Используйте Китай зеркало (@wegfan)", - "使用 16 线程下载": "Используйте 16 потоков для скачивания", + "未知": "-", + "刚刚": "Только что", + "{slot0}分钟前": "{slot0} минут", + "{slot0}小时前": "{slot0} часов", + "{slot0}天前": "{slot0} дней", + "{slot0}月前": "{slot0} месяцев", + "很久以前": "Давно", + "正在启动": "Запускается", + "未找到游戏!请先安装 Steam 商店或Epic 商店版的 Celeste,或": "Игра не найдена! Пожалуйста, установите Селесту or", + "点此手动选择": "Нажмите сюда чтобы выбрать вручную", + "下载设置": "Настройки скачивания", "Profile 选择": "Выбор профиля", - "上次启动": "Последний старт", - "禁用的 Mod 数": "Номер отключенного мода", - "启动": "запускать", - "启用亚克力效果": "Установить акриловый эффект", - "缺失": "Недостаток", - "点击下载": "Нажмите, чтобы скачать", - "缺失·点击下载": "Мисс · Нажмите, чтобы скачать", - "下载中": "загрузка", - "下载完成": "Загрузка завершена", - "下载失败": "Загрузка не удалась", - "可选依赖": "Необязательные зависимости", - "点击更新 · {newversion}": "Нажмите, чтобы обновить · {newversion}", - "已启用": "активирован", - "已禁用": "неполноценный", - "依赖·缺失": "Зависимости", - "依赖·未启用": "Зависимости", - "依赖·版本不匹配": "Зависимая версия не совпадает", - "启用的,依赖此 Mod 的 Mod: {slot0}": "Включено, полагаясь на этот мод мод: {slot0}", - "Mod 列表": "Список мод", - "筛选 Mod": "Фильтр мод", - "打开 Mods 文件夹": "Откройте папку модов", + "上次启动": "Последний запуск", + "禁用的 Mod 数": "Отключен", + "启动": "Запуск", + "启用亚克力效果": "Включить эффект акрила", + "缺失": "Отсутствует", + "点击下载": "Нажмите чтобы скачать", + "缺失·点击下载": "Отсутствует · Нажмите чтобы скачать", + "下载中": "Скачивание", + "下载完成": "Скачивание завершено", + "下载失败": "Скачивание провалено", + "可选依赖": "Опциональные зависимости", + "点击更新 · {newversion}": "Нажмите чтобы обновить · {newversion}", + "已启用": "Включен", + "已禁用": "Отключен", + "依赖·缺失": "Отсутствующие зависимости", + "依赖·未启用": "Зависимость отключена", + "依赖·版本不匹配": "Несоотвествие версии", + "启用的,依赖此 Mod 的 Mod: {slot0}": "Моды, которые зависят от этого мода: {slot0}", + "Mod 列表": "Список модов", + "筛选 Mod": "Фильтровать моды", + "打开 Mods 文件夹": "Открыть папку модов", "禁用全部": "Отключить все", "启用全部": "Включить все", - "应用修改": "Модификация приложения", - "主树隐藏依赖": "Основное дерево скрытая зависимость", - "检查可选依赖": "Проверьте дополнительные зависимости", - "显示完整树": "Показать полное дерево", - "显示更新": "Показать обновление", + "主树隐藏依赖": "Скрыть зависимости", + "检查可选依赖": "Проверять дополнительные зависимости", + "显示完整树": "Всё дерево", + "显示更新": "Показать обновления", "Profile 列表": "Список профилей", "Profile 名": "Имя профиля", - "新建": "Недавно построенный", + "新建": "Новое", "安装 Mod": "Установить мод", - "为了在蔚蓝群服进行联机,你需要安装以下 Mod": "Чтобы служить в синей группе, вам нужно установить следующие моды", - "蔚蓝群服联机 Mod": "Blue Group Server Mod", - "注册账号": "Зарегистрировать аккаунт", - "你需要在 Celeste 群服论坛 注册一个账号": "Вам нужно зарегистрировать учетную запись на форуме сервисного обслуживания Celesete Group", - "进入注册页": "Введите страницу регистрации", - "登录账号": "Входная учетная запись", - "打开游戏后,你将需要在 Mod 设置中启用并登录群服 Mod": "После открытия игры вам нужно будет включить и войти в мод группы в настройках мода", - "已安装": "Установлен", - "下载": "скачать", - "准备下载": "Приготовьтесь к скачиванию", - "推荐的模组": "Рекомендуемый модуль", - "这里将会列出一些推荐安装的模组及其简介,请按需安装": "Здесь мы перечислим несколько рекомендуемых модулей и их профилей, установите их по требованию", - "功能性模组": "Функциональный модуль", + "为了在蔚蓝群服进行联机,你需要安装以下 Mod": "&&To play multiplayer on Celeste servers, you need to install the following mods:", + "蔚蓝群服联机 Mod": "&&Celeste multiplayer mods", + "注册账号": "&&Register an account", + "你需要在 Celeste 群服论坛 注册一个账号": "&&You need to register an account on the Celeste server forum.", + "进入注册页": "&&Go to the registration page", + "登录账号": "&&Login to your account", + "打开游戏后,你将需要在 Mod 设置中启用并登录群服 Mod": "&&After launching the game, you will need to enable and log in to the Multiplayer Server Mod in the Mod settings.", + "已安装": "Установлено", + "下载": "Скачать", + "准备下载": "Подготавливает скачивание", + "推荐的模组": "Избранные моды", + "这里将会列出一些推荐安装的模组及其简介,请按需安装": "Здесь вы найдёте список рекоммендованых модов для установки с их описаниями. Пожалуйста установите по желанию.", + "功能性模组": "Утилиты", "下载所有": "Скачать все", - "皮肤模组": "Кожный модуль", - "全部": "все", - "地图": "карта", - "资源": "ресурс", - "特效": "Особенный эффект", - "对话": "диалог", - "其他": "другой", - "辅助": "Помощь", - "皮肤": "кожа", - "机制": "механизм", - "最近发布": "Недавно выпущен", - "最近添加": "Недавно добавленный", - "最近更新": "Недавнее обновление", - "最多浏览": "Максимальный вид", - "最多点赞": "Наиболее нравится", - "加载失败,请重试": "Сбой загрузки, попробуйте еще раз", - "无内容": "Без содержания", - "选择其他路径": "Выберите другие пути", + "皮肤模组": "Моды на скины", + "全部": "Все", + "地图": "Карты", + "资源": "Ресурсы", + "特效": "Эффекты", + "对话": "Диалоги", + "其他": "Другие", + "辅助": "Утилиты", + "皮肤": "Скин", + "机制": "Механизм", + "最近发布": "Недавно вышедшие", + "最近添加": "Недавно добавленные", + "最近更新": "Недавно обновлённые", + "最多浏览": "Больше всего просмотров", + "最多点赞": "Больше всего лайков", + "加载失败,请重试": "Загрузка провалена, пожалуйста, попробуйте опять", + "无内容": "Нет контента.", + "选择其他路径": "Выберите другой путь", "界面设置": "Настройки интерфейса", - "语言": "язык", - "简体中文": "Упрощенный китайский" + "简体中文": "&&", + "Everest": "Эверест", + "原版": "Оригинал", + "使用多线程下载": "Использовать многопоточновое скачивание", + "更新全部": "Обновить все", + "更新中": "обновляется", + "更新完成": "обновление завершено", + "更新失败,请查看左下角": "Обновление провалено, пожалуйста проверьте левый нижние угол", + "Hateline": "Hateline", + "Taffyline Part1": "Taffyline Part1", + "Taffyline Part2": "Taffyline Part2", + "Harold Madeline Skin": "Harold Madeline Skin", + "有趣的姿势": "Смешные позы", + "下载镜像": "Зеркало скачивания", + "始终开启": "Всегда включен", + "CelesteNet": "CelesteNet", + "Multiplayer support": "Онлайн-мультиплеер", + "语言/Language": "Язык" } \ No newline at end of file diff --git a/src/celemod-ui/locales/zh-CN.json b/src/celemod-ui/locales/zh-CN.json index 4acf9e4..12652b7 100644 --- a/src/celemod-ui/locales/zh-CN.json +++ b/src/celemod-ui/locales/zh-CN.json @@ -157,7 +157,6 @@ "无内容": "无内容", "选择其他路径": "选择其他路径", "界面设置": "界面设置", - "语言": "语言", "简体中文": "简体中文", "Everest": "Everest", "原版": "原版", @@ -172,5 +171,8 @@ "Harold Madeline Skin": "Harold Madeline Skin", "有趣的姿势": "有趣的姿势", "下载镜像": "下载镜像", - "始终开启": "始终开启" + "始终开启": "始终开启", + "CelesteNet": "CelesteNet", + "Multiplayer support": "Multiplayer support", + "语言/Language": "语言/Language" } \ No newline at end of file diff --git a/src/celemod-ui/src/resources/RecommendModData.ts b/src/celemod-ui/src/resources/RecommendModData.ts index df0956c..3f7a755 100644 --- a/src/celemod-ui/src/resources/RecommendModData.ts +++ b/src/celemod-ui/src/resources/RecommendModData.ts @@ -7,8 +7,8 @@ export const _functionalMods = () => [ 'https://celeste.weg.fan/api/v2/download/mods/Miao.CelesteNet.Client', visible: lang => lang === 'zh-CN' }, { - name: 'CelesteNet', - description: 'Multiplayer support', + name: _i18n.t('CelesteNet'), + description: _i18n.t('Multiplayer support'), download_url: 'https://celeste.weg.fan/api/v2/download/mods/CelesteNet.Client', visible: lang => lang !== 'zh-CN' diff --git a/src/celemod-ui/src/routes/Home.scss b/src/celemod-ui/src/routes/Home.scss index ec3f3d6..ea81763 100644 --- a/src/celemod-ui/src/routes/Home.scss +++ b/src/celemod-ui/src/routes/Home.scss @@ -26,7 +26,8 @@ box-shadow: 0 0 5px #00000022; display: inline-block; - html[lang="pt-BR"] &{ + html[lang="pt-BR"] &, + html[lang="ru-RU"] &{ width: 150px; .info { diff --git a/src/celemod-ui/src/routes/Home.tsx b/src/celemod-ui/src/routes/Home.tsx index 957900a..f5aa063 100644 --- a/src/celemod-ui/src/routes/Home.tsx +++ b/src/celemod-ui/src/routes/Home.tsx @@ -193,6 +193,7 @@ export const Home = () => { setUseMultiThread(v.target.checked); }} /> + {_i18n.t('使用多线程下载')} @@ -273,7 +274,7 @@ export const Home = () => {
- {_i18n.t('语言')}  + {_i18n.t('语言/Language')} 
diff --git a/src/celemod-ui/src/routes/Manage.scss b/src/celemod-ui/src/routes/Manage.scss index a6064f9..320c045 100644 --- a/src/celemod-ui/src/routes/Manage.scss +++ b/src/celemod-ui/src/routes/Manage.scss @@ -7,7 +7,8 @@ .modList { .title { - html[lang="pt-BR"] & { + html[lang="pt-BR"] &, + html[lang="ru-RU"] & { font-size: 16px; } @@ -35,7 +36,8 @@ } button { - html[lang="pt-BR"] & { + html[lang="pt-BR"] & , + html[lang="ru-RU"] &{ font-size: 10px !important; } }