diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 3dc2d891077e30ff2f5e1d671df49bcdce0f1c54..6ff88a0b00bce4c2b36e4f0c72556e8c8d9a614a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -46,7 +46,7 @@ "digestAlgorithm": "sha256", "timestampUrl": "", "wix": { - "language": ["zh-CN", "en-US"] + "language": ["zh-CN", "en-US", "ru-RU"] } } }, diff --git a/src/components/setting/setting-verge.tsx b/src/components/setting/setting-verge.tsx index ed43fa5c2aaa8761b59eb9664f5d0500cf0c167c..0de06e13749371b0631926f8a02936b5f7c49a66 100644 --- a/src/components/setting/setting-verge.tsx +++ b/src/components/setting/setting-verge.tsx @@ -59,6 +59,7 @@ const SettingVerge = ({ onError }: Props) => { <Select size="small" sx={{ width: 100, "> div": { py: "7.5px" } }}> <MenuItem value="zh">䏿–‡</MenuItem> <MenuItem value="en">English</MenuItem> + <MenuItem value="ru">РуÑÑкий</MenuItem> </Select> </GuardState> </SettingItem> diff --git a/src/locales/ru.json b/src/locales/ru.json new file mode 100644 index 0000000000000000000000000000000000000000..58eac6d2c16eb27db2e209b61f5741e058063ab3 --- /dev/null +++ b/src/locales/ru.json @@ -0,0 +1,110 @@ +{ + "Label-Proxies": "ПрокÑи", + "Label-Profiles": "Профили", + "Label-Connections": "СоединениÑ", + "Label-Logs": "Логи", + "Label-Rules": "Правила", + "Label-Settings": "ÐаÑтройки", + + "Connections": "СоединениÑ", + "Logs": "Логи", + "Clear": "ОчиÑтить", + "Proxies": "ПрокÑи", + "Proxy Groups": "Группы прокÑи", + "rule": "правила", + "global": "глобальный", + "direct": "прÑмой", + "script": "Ñкриптовый", + + "Profiles": "Профили", + "Profile URL": "URL профилÑ", + "Import": "Импорт", + "New": "Ðовый", + "Create Profile": "Создать профиль", + "Choose File": "Выбрать файл", + "Close All": "Закрыть вÑÑ‘", + "Select": "Выбрать", + "Edit Info": "Изменить информацию", + "Edit File": "Изменить файл", + "Open File": "Открыть файл", + "Update": "Обновить", + "Update(Proxy)": "Обновить (прокÑи)", + "Delete": "Удалить", + "Enable": "Включить", + "Disable": "Отключить", + "Refresh": "Обновить", + "To Top": "Ðаверх", + "To End": "Вниз", + "Update All Profiles": "Обновить вÑе профили", + "View Runtime Config": "ПроÑмотреть иÑпользуемый конфиг", + "Reactivate Profiles": "Реактивировать профили", + + "Location": "МеÑтоположение", + "Delay check": "Проверка задержки", + "Sort by default": "Сортировать по умолчанию", + "Sort by delay": "Сортировать по задержке", + "Sort by name": "Сортировать по названию", + "Delay check URL": "URL проверки задержки", + "Proxy detail": "ПодробноÑти о прокÑи", + "Filter": "Фильтр", + "Filter conditions": "УÑÐ»Ð¾Ð²Ð¸Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ð¸", + "Refresh profiles": "Обновить профили", + + "Type": "Тип", + "Name": "Ðазвание", + "Descriptions": "ОпиÑаниÑ", + "Subscription URL": "URL подпиÑки", + "Update Interval": "Интервал обновлениÑ", + + "Settings": "ÐаÑтройки", + "Clash Setting": "ÐаÑтройки Clash", + "System Setting": "ÐаÑтройки ÑиÑтемы", + "Verge Setting": "ÐаÑтройки Verge", + "Allow Lan": "Разрешить локальную Ñеть", + "IPv6": "IPv6", + "Log Level": "Уровень логов", + "Mixed Port": "Смешанный порт", + "Clash Core": "Ядро Clash", + "Tun Mode": "Режим туннелÑ", + "Service Mode": "Режим ÑервиÑа", + "Auto Launch": "ÐвтозапуÑк", + "Silent Start": "Тихий запуÑк", + "System Proxy": "СиÑтемный прокÑи", + "System Proxy Setting": "ÐаÑтройка ÑиÑтемного прокÑи", + "Proxy Guard": "Защита прокÑи", + "Guard Duration": "Период защиты", + "Proxy Bypass": "Игнорирование прокÑи", + "Current System Proxy": "Текущий ÑиÑтемный прокÑи", + "Theme Mode": "Режим темы", + "Theme Blur": "Размытие темы", + "Theme Setting": "ÐаÑтройка темы", + "Hotkey Setting": "ÐаÑтройка клавиатурных Ñокращений", + "Traffic Graph": "График трафика", + "Language": "Язык", + "Open App Dir": "Открыть папку приложениÑ", + "Open Core Dir": "Открыть папку Ñдра", + "Open Logs Dir": "Открыть папку логов", + "Verge Version": "ВерÑÐ¸Ñ Verge", + "theme.light": "СветлаÑ", + "theme.dark": "ТёмнаÑ", + "theme.system": "СиÑтемнаÑ", + "Clash Field": "ИÑпользуемые наÑтройки Clash", + "Runtime Config": "ИÑпользуемый конфиг", + "ReadOnly": "Только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ", + "Restart": "ПерезапуÑк", + + "Back": "Ðазад", + "Save": "Сохранить", + "Cancel": "Отмена", + + "clash_mode_rule": "Режим правил", + "clash_mode_global": "Глобальный режим", + "clash_mode_direct": "ПрÑмой режим", + "clash_mode_script": "Скриптовый режим", + "toggle_system_proxy": "Переключить режим ÑиÑтемного прокÑи", + "enable_system_proxy": "Включить ÑиÑтемный прокÑи", + "disable_system_proxy": "Отключить ÑиÑтемный прокÑи", + "toggle_tun_mode": "Переключить режим туннелÑ", + "enable_tun_mode": "Включить режим туннелÑ", + "disable_tun_mode": "Отключить режим туннелÑ" +} diff --git a/src/pages/_layout.tsx b/src/pages/_layout.tsx index f22654b176b2a6233b8924ad2caf681e02d18d51..84263d5d37d3bdc1b0f69c654355cd0e5b0c7363 100644 --- a/src/pages/_layout.tsx +++ b/src/pages/_layout.tsx @@ -19,6 +19,7 @@ import LayoutTraffic from "@/components/layout/layout-traffic"; import UpdateButton from "@/components/layout/update-button"; import useCustomTheme from "@/components/layout/use-custom-theme"; import getSystem from "@/utils/get-system"; +import "dayjs/locale/ru"; import "dayjs/locale/zh-cn"; dayjs.extend(relativeTime); diff --git a/src/services/i18n.ts b/src/services/i18n.ts index 1bd00aa6961f12883e50bedf9edf28914da3aebd..8d4c14b84e1d233683b64c0f5c404244fcf3fe52 100644 --- a/src/services/i18n.ts +++ b/src/services/i18n.ts @@ -1,10 +1,12 @@ import i18n from "i18next"; import { initReactI18next } from "react-i18next"; import en from "@/locales/en.json"; +import ru from "@/locales/ru.json"; import zh from "@/locales/zh.json"; const resources = { en: { translation: en }, + ru: { translation: ru }, zh: { translation: zh }, };