diff --git a/src/components/PingChart.vue b/src/components/PingChart.vue index 8f53ea76..0baa9881 100644 --- a/src/components/PingChart.vue +++ b/src/components/PingChart.vue @@ -85,7 +85,7 @@ export default { y: { title: { display: true, - text: "Resp. Time (ms)", + text: this.$t("respTime"), }, offset: false, grid: { diff --git a/src/components/Uptime.vue b/src/components/Uptime.vue index b1f3a018..a4bf22f6 100644 --- a/src/components/Uptime.vue +++ b/src/components/Uptime.vue @@ -22,7 +22,7 @@ export default { return Math.round(this.$root.uptimeList[key] * 10000) / 100 + "%"; } - return "N/A" + return this.$t("notAvailableShort") }, color() { diff --git a/src/languages/en.js b/src/languages/en.js index 2781ba81..f0e4ae96 100644 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -106,5 +106,7 @@ export default { "Resource Record Type": "Resource Record Type", "Last Result": "Last Result", "Create your admin account": "Create your admin account", - "Repeat Password": "Repeat Password" + "Repeat Password": "Repeat Password", + respTime: "Resp. Time (ms)", + notAvailableShort: "N/A" } diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js new file mode 100644 index 00000000..c9de6861 --- /dev/null +++ b/src/languages/ru-RU.js @@ -0,0 +1,110 @@ +export default { + languageName: "Русский", + checkEverySecond: "Проверять каждые {0} секунд.", + "Avg.": "Средн. ", + retriesDescription: "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления", + ignoreTLSError: "Игнорировать ошибку TLS/SSL для HTTPS сайтов", + upsideDownModeDescription: "Реверс статуса сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.", + maxRedirectDescription: "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.", + acceptedStatusCodesDescription: "Выберите коды статусов, которые должны считаться за успешный ответ.", + passwordNotMatchMsg: "Повтор пароля не совпадает.", + notificationDescription: "Привяжите уведомления к мониторам.", + keywordDescription: "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру)", + pauseDashboardHome: "Пауза", + deleteMonitorMsg: "Вы действительно хотите удалить данный монитор?", + deleteNotificationMsg: "Вы действительно хотите удалить это уведомление для всех мониторов?", + resoverserverDescription: "Cloudflare является сервером по умолчанию. Вы всегда можете сменить данный сервер.", + rrtypeDescription: "Выберите тип ресурсной записи, который вы хотите отслеживать", + pauseMonitorMsg: "Вы действительно хотите поставить на паузу?", + Settings: "Настройки", + Dashboard: "Панель", + "New Update": "Обновление", + Language: "Язык", + Appearance: "Внешний вид", + Theme: "Тема", + General: "Общее", + Version: "Версия", + "Check Update On GitHub": "Проверить обновления на GitHub", + List: "Список", + Add: "Добавить", + "Add New Monitor": "Новый монитор", + "Quick Stats": "Статистика", + Up: "Доступно", + Down: "Недоступно", + Pending: "Ожидание", + Unknown: "Неизвестно", + Pause: "Пауза", + Name: "Имя", + Status: "Статус", + DateTime: "Дата и время", + Message: "Сообщение", + "No important events": "Важных событий нет", + Resume: "Возобновить", + Edit: "Изменить", + Delete: "Удалить", + Current: "Текущий", + Uptime: "Аптайм", + "Cert Exp.": "Сертификат просрочен", + days: "дней", + day: "день", + "-day": " дней", + hour: "час", + "-hour": " часа", + Response: "Ответ", + Ping: "Пинг", + "Monitor Type": "Тип монитора", + Keyword: "Слово", + "Friendly Name": "Имя", + URL: "URL", + Hostname: "Имя хоста", + Port: "Порт", + "Heartbeat Interval": "Частота опроса", + Retries: "Попыток", + Advanced: "Дополнительно", + "Upside Down Mode": "Режим реверса статуса", + "Max. Redirects": "Макс. перенаправлений", + "Accepted Status Codes": "Допустимые коды статуса", + Save: "Сохранить", + Notifications: "Уведомления", + "Not available, please setup.": "Доступных уведомлений нет, необходима настройка.", + "Setup Notification": "Настроить уведомления", + Light: "Светлая", + Dark: "Тёмная", + Auto: "Авто", + "Theme - Heartbeat Bar": "Тема - Полоса частоты опроса", + Normal: "Обычный", + Bottom: "Снизу", + None: "Отсутствует", + Timezone: "Часовой пояс", + "Search Engine Visibility": "Видимость поисковым движком", + "Allow indexing": "Разрешить индексирование", + "Discourage search engines from indexing site": "Не позволять индексировать сайт", + "Change Password": "Сменить пароль", + "Current Password": "Текущий пароль", + "New Password": "Новый пароль", + "Repeat New Password": "Повтор нового пароля", + "Update Password": "Обновить пароль", + "Disable Auth": "Отключить авторизацию", + "Enable Auth": "Включить авторизацию", + Logout: "Выйти", + Leave: "Отмена", + "I understand, please disable": "Я понимаю, всё равно отключить", + Confirm: "Подтвердить", + Yes: "Да", + No: "Нет", + Username: "Логин", + Password: "Пароль", + "Remember me": "Запомнить меня", + Login: "Вход в систему", + "No Monitors, please": "Мониторов нет, пожалуйста", + "add one": "создайте новый", + "Notification Type": "Тип уведомления", + Email: "Почта", + Test: "Проверка", + "Certificate Info": "Информация о сертификате", + "Resolver Server": "DNS сервер", + "Resource Record Type": "Тип ресурсной записи", + "Last Result": "Последний результат", + "Create your admin account": "Создайте аккаунт администратора", + "Repeat Password": "Повторите пароль" +} diff --git a/src/main.js b/src/main.js index 435caf21..fe35d381 100644 --- a/src/main.js +++ b/src/main.js @@ -31,6 +31,7 @@ import ja from "./languages/ja"; import daDK from "./languages/da-DK"; import svSE from "./languages/sv-SE"; import koKR from "./languages/ko-KR"; +import ruRU from "./languages/ru-RU"; const routes = [ { @@ -102,6 +103,7 @@ const languageList = { "da-DK": daDK, "sv-SE": svSE, "ko-KR": koKR, + "ru-RU": ruRU, }; const i18n = createI18n({ diff --git a/src/pages/Details.vue b/src/pages/Details.vue index 44cac818..badcc687 100644 --- a/src/pages/Details.vue +++ b/src/pages/Details.vue @@ -238,7 +238,7 @@ export default { return this.lastHeartBeat.ping; } - return "N/A" + return this.$t("notAvailableShort") }, avgPing() { @@ -246,7 +246,7 @@ export default { return this.$root.avgPingList[this.monitor.id]; } - return "N/A" + return this.$t("notAvailableShort") }, importantHeartBeatList() {