Browse Source

Add Russian translation (#2014)

* feat(i18n): add Russian translation

* Corrected the AI translation

Подправил AI перевод

* fix: format ru.json
pull/2024/head
Maksim M. 3 weeks ago
committed by GitHub
parent
commit
cd0a9b8e33
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      src/i18n/i18n.config.ts
  2. 237
      src/i18n/locales/ru.json
  3. 5
      src/nuxt.config.ts

2
src/i18n/i18n.config.ts

@ -2,6 +2,7 @@ import en from './locales/en.json';
import uk from './locales/uk.json';
import fr from './locales/fr.json';
import de from './locales/de.json';
import ru from './locales/ru.json';
import zhhk from './locales/zh-HK.json';
import zhcn from './locales/zh-CN.json';
import ko from './locales/ko.json';
@ -14,6 +15,7 @@ export default defineI18nConfig(() => ({
uk,
fr,
de,
ru,
'zh-HK': zhhk,
'zh-CN': zhcn,
ko,

237
src/i18n/locales/ru.json

@ -0,0 +1,237 @@
{
"pages": {
"me": "Аккаунт",
"clients": "Клиенты",
"admin": {
"panel": "Админ панель",
"general": "Общие",
"config": "Конфигурация",
"interface": "Интерфейс",
"hooks": "Хуки"
}
},
"user": {
"email": "E-Mail"
},
"me": {
"currentPassword": "Текущий пароль",
"enable2fa": "Включить двухфакторную аутентификацию",
"enable2faDesc": "Отсканируйте QR-код приложением-аутентификатором или введите ключ вручную.",
"2faKey": "TOTP-ключ",
"2faCodeDesc": "Введите код из приложения-аутентификатора.",
"disable2fa": "Отключить двухфакторную аутентификацию",
"disable2faDesc": "Введите пароль, чтобы отключить двухфакторную аутентификацию"
},
"general": {
"name": "Имя",
"username": "Имя пользователя",
"password": "Пароль",
"newPassword": "Новый пароль",
"updatePassword": "Обновить пароль",
"mtu": "MTU",
"allowedIps": "Разрешённые IP",
"dns": "DNS",
"persistentKeepalive": "Постоянный keepalive",
"logout": "Выйти",
"continue": "Продолжить",
"host": "Хост",
"port": "Порт",
"yes": "Да",
"no": "Нет",
"confirmPassword": "Подтвердите пароль",
"loading": "Загрузка...",
"2fa": "Двухфакторная аутентификация",
"2faCode": "TOTP‑код"
},
"setup": {
"welcome": "Добро пожаловать в первичную настройку wg-easy",
"welcomeDesc": "Вы нашли самый простой способ установить и управлять WireGuard на любом Linux-хосте",
"existingSetup": "У вас уже есть существующая установка?",
"createAdminDesc": "Сначала введите имя администратора и надёжный пароль. Эти данные понадобятся для входа в панель управления",
"setupConfigDesc": "Введите информацию о хосте и порте. Она будет использоваться в конфигурации клиента при установке WireGuard на устройствах",
"setupMigrationDesc": "Укажите файл резервной копии, если хотите перенести данные из предыдущей версии wg-easy",
"upload": "Загрузить",
"migration": "Восстановить из резервной копии:",
"createAccount": "Создать аккаунт",
"successful": "Настройка успешна",
"hostDesc": "Публичное имя хоста, к которому будут подключаться клиенты",
"portDesc": "Публичный UDP‑порт для подключения клиентов и прослушивания WireGuard"
},
"update": {
"updateAvailable": "Доступно обновление!",
"update": "Обновить"
},
"theme": {
"dark": "Тёмная тема",
"light": "Светлая тема",
"system": "Системная тема"
},
"layout": {
"toggleCharts": "Показать/скрыть графики",
"donate": "Пожертвовать"
},
"login": {
"signIn": "Войти",
"rememberMe": "Запомнить меня",
"rememberMeDesc": "Оставаться в системе после закрытия браузера",
"insecure": "Вы не можете войти по незащищённому соединению. Используйте HTTPS.",
"2faRequired": "Требуется двухфакторная аутентификация",
"2faWrong": "Неверный код двухфакторной аутентификации"
},
"client": {
"empty": "Клиентов пока нет.",
"newShort": "Новый",
"sort": "Сортировка",
"create": "Создать клиента",
"created": "Клиент создан",
"new": "Новый клиент",
"name": "Имя",
"expireDate": "Дата отключения",
"expireDateDesc": "Дата, когда клиент будет отключён. Пусто — бессрочно",
"deleteClient": "Удалить клиента",
"deleteDialog1": "Вы уверены, что хотите удалить",
"deleteDialog2": "Это действие необратимо.",
"enabled": "Включен",
"address": "Адрес",
"serverAllowedIps": "Разрешённые IP сервера",
"otlDesc": "Сгенерировать одноразовую короткую ссылку",
"permanent": "Постоянный",
"createdOn": "Создан ",
"lastSeen": "Последнее подключение ",
"totalDownload": "Всего загружено: ",
"totalUpload": "Всего отправлено: ",
"newClient": "Новый клиент",
"disableClient": "Отключить клиента",
"enableClient": "Включить клиента",
"noPrivKey": "У этого клиента нет приватного ключа. Невозможно создать конфигурацию.",
"showQR": "Показать QR‑код",
"downloadConfig": "Скачать конфигурацию",
"allowedIpsDesc": "Какие IP будут маршрутизироваться через VPN (перезаписывает общую конфигурацию)",
"serverAllowedIpsDesc": "Какие IP сервер будет отправлять клиенту",
"mtuDesc": "Максимальный размер пакета для VPN‑туннеля",
"persistentKeepaliveDesc": "Интервал (в секундах) отправки keep‑alive. 0 — отключено",
"hooks": "Хуки",
"hooksDescription": "Хуки работают только с wg-quick",
"hooksLeaveEmpty": "Только для wg-quick. Иначе оставьте пустым",
"dnsDesc": "DNS‑сервер, который будут использовать клиенты (перезаписывает общую конфигурацию)"
},
"dialog": {
"change": "Изменить",
"cancel": "Отмена",
"create": "Создать"
},
"toast": {
"success": "Успех",
"saved": "Сохранено",
"error": "Ошибка"
},
"form": {
"actions": "Действия",
"save": "Сохранить",
"revert": "Отменить",
"sectionGeneral": "Общие",
"sectionAdvanced": "Дополнительно",
"noItems": "Нет элементов",
"nullNoItems": "Нет элементов. Используется глобальная конфигурация",
"add": "Добавить"
},
"admin": {
"general": {
"sessionTimeout": "Тайм-аут сессии",
"sessionTimeoutDesc": "Длительность сеанса для \"Запомнить меня\" (секунды)",
"metrics": "Метрики",
"metricsPassword": "Пароль",
"metricsPasswordDesc": "Пароль Bearer для эндпоинта метрик (пароль или хеш argon2)",
"json": "JSON",
"jsonDesc": "Путь для метрик в формате JSON",
"prometheus": "Prometheus",
"prometheusDesc": "Путь для метрик Prometheus"
},
"config": {
"connection": "Соединение",
"hostDesc": "Публичное имя хоста для подключения клиентов (сбросит конфигурацию)",
"portDesc": "Публичный UDP‑порт для подключения клиентов (также стоит изменить порт интерфейса)",
"allowedIpsDesc": "Разрешённые IP для клиентов (общая конфигурация)",
"dnsDesc": "DNS‑сервер для клиентов (общая конфигурация)",
"mtuDesc": "MTU для клиентов (только для новых)",
"persistentKeepaliveDesc": "Интервал отправки keepalive на сервер (секунды). 0 = отключено (только для новых)",
"suggest": "Определить",
"suggestDesc": "Выберите IP‑адрес или имя хоста для поля Host"
},
"interface": {
"cidrSuccess": "CIDR изменён",
"device": "Устройство",
"deviceDesc": "Сетевое устройство, через которое должен проходить трафик WireGuard",
"mtuDesc": "MTU, который использует WireGuard",
"portDesc": "UDP‑порт, на котором WireGuard будет слушать (возможно, нужно изменить и порт конфигурации)",
"changeCidr": "Изменить CIDR",
"restart": "Перезапустить интерфейс",
"restartDesc": "Перезапустить интерфейс WireGuard",
"restartWarn": "Вы уверены, что хотите перезапустить интерфейс? Все клиенты будут отключены.",
"restartSuccess": "Интерфейс перезапущен"
},
"introText": "Добро пожаловать в панель администратора.\n\nЗдесь вы можете управлять общими настройками, конфигурацией, параметрами интерфейса и хуками.\n\nНачните с выбора раздела в боковой панели."
},
"zod": {
"generic": {
"required": "{0} обязательное поле",
"validNumber": "{0} должен быть числом",
"validString": "{0} должна быть строкой",
"validBoolean": "{0} должен быть булевым значением",
"validArray": "{0} должен быть массивом",
"stringMin": "{0} должен содержать не менее {1} символов",
"numberMin": "{0} должен быть не меньше {1}"
},
"client": {
"id": "ID клиента",
"name": "Имя",
"expiresAt": "Действителен до",
"address4": "IPv4 адрес",
"address6": "IPv6 адрес",
"serverAllowedIps": "Разрешённые IP сервера"
},
"user": {
"username": "Имя пользователя",
"password": "Пароль",
"remember": "Запомнить",
"name": "Имя",
"email": "Email",
"emailInvalid": "Email должен быть валидным",
"passwordMatch": "Пароли должны совпадать",
"totpEnable": "Включить TOTP",
"totpEnableTrue": "Необходимо включить TOTP",
"totpCode": "TOTP‑код"
},
"userConfig": {
"host": "Хост"
},
"general": {
"sessionTimeout": "Тайм-аут сессии",
"metricsEnabled": "Метрики",
"metricsPassword": "Пароль для метрик"
},
"interface": {
"cidr": "CIDR",
"device": "Устройство",
"cidrValid": "CIDR должен быть валидным"
},
"otl": "Одноразовая ссылка",
"stringMalformed": "Строка имеет неверный формат",
"body": "Тело должно быть объектом",
"hook": "Хук",
"enabled": "Включено",
"mtu": "MTU",
"port": "Порт",
"persistentKeepalive": "Постоянный keepalive",
"address": "IP‑адрес",
"dns": "DNS",
"allowedIps": "Разрешённые IP",
"file": "Файл"
},
"hooks": {
"preUp": "PreUp",
"postUp": "PostUp",
"preDown": "PreDown",
"postDown": "PostDown"
}
}

5
src/nuxt.config.ts

@ -49,6 +49,11 @@ export default defineNuxtConfig({
language: 'de-DE',
name: 'Deutsch',
},
{
code: 'ru',
language: 'ru-RU',
name: 'Русский',
},
{
code: 'zh-HK',
language: 'zh-HK',

Loading…
Cancel
Save