From e28c9b19805c0ca27d4bfbe9d4c54690b2f69d89 Mon Sep 17 00:00:00 2001 From: legiz-ru Date: Tue, 24 Dec 2024 16:33:47 +0300 Subject: [PATCH] feat: add ru lang (#108) * add ru.ts * Update index.ts add ru * Update LanguageSelect.vue add ru * fix: ru i18n --------- Co-authored-by: Zephyruso <176294927+Zephyruso@users.noreply.github.com> --- src/components/settings/LanguageSelect.vue | 1 + src/config/index.ts | 1 + src/i18n/index.ts | 2 + src/i18n/ru.ts | 102 +++++++++++++++++++++ src/main.ts | 1 + 5 files changed, 107 insertions(+) create mode 100644 src/i18n/ru.ts diff --git a/src/components/settings/LanguageSelect.vue b/src/components/settings/LanguageSelect.vue index 746cf814..59039b18 100644 --- a/src/components/settings/LanguageSelect.vue +++ b/src/components/settings/LanguageSelect.vue @@ -25,5 +25,6 @@ import { language } from '@/store/settings' const langLabelMap = { [LANG.EN_US]: 'English', [LANG.ZH_CN]: '简体中文', + [LANG.RU_RU]: 'Русский', } diff --git a/src/config/index.ts b/src/config/index.ts index 0c1d504c..a5f17a60 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -11,6 +11,7 @@ export const NOT_CONNECTED = 0 export enum LANG { EN_US = 'en-US', ZH_CN = 'zh-CN', + RU_RU = 'ru-RU', } export enum FONTS { diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 196817fd..68585118 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -2,6 +2,7 @@ import { LANG } from '@/config' import { language } from '@/store/settings' import { createI18n } from 'vue-i18n' import en from './en' +import ru from './ru' import zh from './zh' export const i18n = createI18n({ @@ -9,5 +10,6 @@ export const i18n = createI18n({ messages: { [LANG.EN_US]: en, [LANG.ZH_CN]: zh, + [LANG.RU_RU]: ru, }, }) diff --git a/src/i18n/ru.ts b/src/i18n/ru.ts new file mode 100644 index 00000000..5bf0aaaa --- /dev/null +++ b/src/i18n/ru.ts @@ -0,0 +1,102 @@ +export default { + setup: 'Настройка', + overview: 'Обзор', + proxies: 'Прокси', + rules: 'Правила', + connections: 'Подключения', + logs: 'Журнал', + protocol: 'Протокол', + host: 'Хост', + port: 'Порт', + password: 'Пароль', + submit: 'Отправить', + cancel: 'Отмена', + download: 'Загрузить', + upload: 'Выгрузить', + downloadSpeed: 'Скорость загрузки', + uploadSpeed: 'Скорость выгрузки', + memoryUsage: 'Память', + version: 'Версия', + quickFilter: 'Быстрый фильтр', + noContent: 'Нет содержимого', + flushFakeIP: 'Очистить поддельные IP', + compactCard: 'Компактная карточка', + chains: 'Цепочки', + sortBy: 'Сортировать по', + rule: 'Правило', + sourceIP: 'Исходный IP', + activeConnections: 'Актив подключ', + closedConnections: 'Закр подключ', + logLevel: 'Уровень журнала', + twoColumnProxyGroup: 'Группа прокси в два столбца', + type: 'Тип', + process: 'Процесс', + sniffHost: 'Определение хоста', + connectTime: 'Время', + sourcePort: 'Исходный порт', + destination: 'Назначение', + inboundUser: 'Входящий пользователь', + dl: 'Загр', + ul: 'Выгр', + dlSpeed: 'Загрузка', + ulSpeed: 'Выгрузка', + settings: 'Настройки', + speedtestUrl: 'URL теста скорости', + speedtestTimeout: 'Таймаут теста скорости', + connectionStyle: 'Стиль подключения', + card: 'Карточка', + table: 'Таблица', + customTableColumns: 'Пользовательские столбцы таблицы', + close: 'Закрыть', + details: 'Детали', + showGlobalProxy: 'Показать глобальный прокси-узел', + dashboard: 'Панель управления', + theme: 'Тема', + proxyProvider: 'Провайдер прокси', + ruleProvider: 'Провайдер правил', + expire: 'Истекает', + noExpire: 'Нет', + updated: 'Обновлено', + upgradeUI: 'Обновить панель управления', + updateAllProviders: 'Обновить все провайдеры', + reloadConfigs: 'Перезагрузить конфигурации', + mode: 'Режим', + proxySortType: 'Тип сортировки прокси', + defaultsort: 'По конфигурациям', + nameasc: 'Имя по возрастанию', + namedesc: 'Имя по убыванию', + latencydesc: 'Задержка по убыванию', + latencyasc: 'Задержка по возрастанию', + language: 'Язык', + automaticDisconnection: 'Автоматическое отключение', + twoColumnNodeForMobile: 'Прокси-узел в два столбца', + backend: 'Бэкенд', + tunMode: 'Режим Tun', + upgradeCore: 'Обновить ядро', + truncateProxyName: 'Усечение имени прокси', + sourceIPLabels: 'Метки исходного IP', + proxyPreviewType: 'Тип предварительного просмотра прокси', + auto: 'Авто', + dots: 'Точки', + bar: 'Полоса', + exportSettings: 'Экспорт настроек', + importSettings: 'Импорт настроек', + hideUnavailable: 'Скрыть недоступные', + protocolTips: + 'Вы пытаетесь подключиться к http-бэкенду, но панель управления обслуживается через https. Это может вызвать ошибку подключения. Пожалуйста, разрешите небезопасный контент в настройках браузера. Настройки находятся слева от адресной строки.', + global: 'Глобальный', + direct: 'Прямой', + quickFilterTip: + 'Быстрая фильтрация позволяет одним щелчком исключать подключения, соответствующие цепочкам прокси, хосту или IP-адресам назначения с использованием регулярных выражений.', + lowLatencyDesc: 'Желтый порог', + mediumLatencyDesc: 'Красный порог', + fonts: 'Шрифты', + statistics: 'Статистика', + unauthorizedTip: 'Не авторизован, пожалуйста, войдите снова.', + restartCore: 'Перезапустить ядро', + autoUpgrade: 'Автоматическое обновление', + secondaryPath: 'Дополнительный путь', + secondaryPathTip: 'Если присутствует, начните с "/", в противном случае оставьте пустым.', + logRetentionLimit: 'Лимит хранения журнала', + DNSQuery: 'DNS-запрос', +} diff --git a/src/main.ts b/src/main.ts index 0a94681d..7a759540 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,5 @@ import dayjs from 'dayjs' +import 'dayjs/locale/ru' import 'dayjs/locale/zh-cn' import relativeTime from 'dayjs/plugin/relativeTime' import { createApp } from 'vue'