diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json
index 2cec6aa40..dd63f5215 100644
--- a/dashboard/public/translation/en.json
+++ b/dashboard/public/translation/en.json
@@ -165,7 +165,7 @@
"cloudflarePortWarning": "Cloudflare proxying must be disabled for the app's domain to access this port",
"titleAndVersion": "This app packages {{ title }} {{ version }}",
"portReadOnly": "read-only",
- "ephemeralPortWarning": "Using ephemeral ports can cause unpredictable conflicts."
+ "ephemeralPortWarning": "Using ephemeral ports can cause unpredictable conflicts."
},
"appNotFoundDialog": {
"title": "App not found",
diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json
index f5d3b04cb..d6594e590 100644
--- a/dashboard/public/translation/nl.json
+++ b/dashboard/public/translation/nl.json
@@ -164,7 +164,7 @@
"cloudflarePortWarning": "Cloudflare proxying dient uitgeschakeld te zijn voor het app-domein voor toegang tot deze poort",
"titleAndVersion": "Deze app bevat {{ title }} {{ version }}",
"portReadOnly": "alleen-lezen",
- "ephemeralPortWarning": "Het gebruik van ephemeral poorten kan onvoorspelbare conflicten opleveren."
+ "ephemeralPortWarning": "Het gebruik van ephemeral poorten kan onvoorspelbare conflicten opleveren."
},
"accountDialog": {
"titleSignUp": "Bij Cloudron.io registreren",
@@ -929,7 +929,7 @@
"changeAction": "Domein aanpassen",
"cancelAction": "Annuleer",
"showLogsAction": "Toon logbestanden",
- "title": "Dashboard-domein aanpassen",
+ "title": "Dashboard Domein",
"description": "Hierdoor verhuist het Dashboard naar het my subdomein van het geselecteerde domein."
},
"subscriptionRequired": {
@@ -1777,7 +1777,8 @@
"incomingUserInfo": "Gebruikersnaam",
"incomingPasswordInfo": "Wachtwoord",
"incomingPasswordUsage": "Wachtwoord van de eigenaar van de mailbox",
- "howToConnectDescription": "Gebruik onderstaande gegevens om e-mail programma's in te stellen."
+ "howToConnectDescription": "Gebruik onderstaande gegevens om e-mail programma's in te stellen.",
+ "description": "Ontvang inkomende e-mails voor dit domein."
},
"outbound": {
"tabTitle": "Uitgaand",
diff --git a/dashboard/public/translation/ru.json b/dashboard/public/translation/ru.json
index 6b6a5fa14..3f59e520b 100644
--- a/dashboard/public/translation/ru.json
+++ b/dashboard/public/translation/ru.json
@@ -34,7 +34,7 @@
"apps": {
"count": "Всего приложений: {{ count }}"
},
- "noMatchesPlaceholder": "Подходящих приложений нет"
+ "noMatchesPlaceholder": "Подходящие приложения отсутствуют"
},
"main": {
"offline": "Cloudron недоступен. Переподключение…",
@@ -160,7 +160,8 @@
"userManagementMailbox": "Все пользователи этого Cloudron с почтовым ящиком имеют доступ.",
"installAction": "Установить",
"titleAndVersion": "Приложение {{ title }} {{ version }}",
- "portReadOnly": "Только для чтения"
+ "portReadOnly": "Только для чтения",
+ "ephemeralPortWarning": "Использование временных портов может привести к конфликтам."
},
"accountDialog": {
"intendedUse": "Цель использования",
@@ -211,9 +212,9 @@
"removeUserTooltip": "Удалить пользователя",
"transferOwnershipTooltip": "Передать право владельца",
"invitationTooltip": "Приглашение",
- "setGhostTooltip": "Обезличить",
+ "setGhostTooltip": "Войти от имени",
"mailmanagerTooltip": "Этот пользователь может управлять другими пользователями и почтовыми ящиками",
- "noMatchesPlaceholder": "Подходящих пользователей нет",
+ "noMatchesPlaceholder": "Подходящие пользователи отсутствуют",
"emptyPlaceholder": "Пользователи отсутствуют"
},
"groups": {
@@ -222,7 +223,7 @@
"users": "Пользователи",
"externalLdapTooltip": "Из внешнего LDAP каталога",
"emptyPlaceholder": "Группы отсутствуют",
- "noMatchesPlaceholder": "Подходящих групп нет"
+ "noMatchesPlaceholder": "Подходящие группы отсутствуют"
},
"settings": {
"title": "Настройки пользователя",
@@ -234,13 +235,13 @@
"require2FAWarning": "Сперва настройте 2FA, чтобы иметь доступ к аккаунту в будущем."
},
"externalLdap": {
- "description": "Эта настройка будет сихронизировать и идентифицировать пользователй и группы из внешнего сервера LDAP или AcriveDirectory. Синхронизация запускается с периодичностью, но также может быть запущена вручную.",
+ "description": "Эта настройка будет синхронизировать и аутентифицировать пользователей и группы с внешнего сервера LDAP или Active Directory. Синхронизация выполняется периодически, но также может быть запущена вручную.",
"bindPassword": "Привязать пароль (необязательно)",
"bindUsername": "Привязать Уникальное имя (DN)/Имя пользователя (необязательно)",
"title": "Подключиться к удалённому каталогу",
"subscriptionRequiredAction": "Настроить подписку сейчас",
"noopInfo": "LDAP аутентификация не настроена.",
- "provider": "Поставщик",
+ "provider": "Провайдер",
"server": "URL сервера",
"acceptSelfSignedCert": "Принимать самоподписанный сертификат",
"baseDn": "Корневой элемент",
@@ -379,7 +380,7 @@
"placeholder": "IP-адреса или подсети, разделённые строками",
"label": "Ограничить доступ"
},
- "description": "Сервер LDAP может быть использован для аутентификации внешними приложениями.",
+ "description": "Сервер LDAP позволяет внешним приложениям аутентифицировать пользователей с использованием Каталога пользователей Cloudron.",
"secret": {
"label": "Привязать пароль",
"description": "Все запросы LDAP должны быть идентифицированы при помощи данного секрета и уникального имени пользователя (DN) {{ userDN }}",
@@ -563,7 +564,8 @@
},
"noUpdates": "Обновлений нет",
"auto": {
- "title": "Автоматические обновления"
+ "title": "Автоматические обновления",
+ "description": "Обновления приложения устанавливаются периодически в соответствии с Расписанием обновлений."
},
"updates": {
"description": "Cloudron периодически проверяет Магазин приложенийна наличие обновлений."
@@ -588,7 +590,7 @@
},
"auto": {
"title": "Автоматические резервные копии",
- "description": "Приложение периодически сохраняется в соответствии с Расписанием резервного копирования.",
+ "description": "Резервное копирование приложения осуществляется периодически в соответствии с Расписанием резервного копирования.",
"enabled": "Автоматическая резервная копия включена.",
"disabled": "Автоматические обновления выключены.",
"disableAction": "Выключить автоматическое резервное копирование",
@@ -738,8 +740,8 @@
},
"memoryTitle": "Память (RAM + Swap) в МБ",
"diskTitle": "Использование диска",
- "diskIOTotal": "Итого прочитано: {{ read }} Итого записано: {{ write }}",
- "networkIOTotal": "итого: входящий {{ inbound }} / исходящий {{ outbound }}"
+ "diskIOTotal": "Прочитано: {{ read }} Записано: {{ write }}",
+ "networkIOTotal": "Получено: {{ inbound }} Передано: {{ outbound }}"
},
"email": {
"from": {
@@ -923,7 +925,7 @@
"configure": "Настроить",
"title": "Путь",
"disabledList": "У следующих приложений выключено автоматическое резервное копирование:",
- "provider": "Источник",
+ "provider": "Провайдер",
"location": "Путь",
"endpoint": "Конечная точка",
"format": "Формат хранилища",
@@ -1027,7 +1029,8 @@
"automaticUpdates": {
"title": "Резервные копии автоматических обновлений",
"description": "Резервная копия всегда создаётся до запуска автоматического обновления. Выберите, в какую локацию сохранять такие резервные копии."
- }
+ },
+ "useEncryption": "Шифровать резервные копии"
},
"title": "Резервные копии",
"logs": {
@@ -1083,7 +1086,14 @@
"addDialog": {
"title": "Добавить локацию резервных копий"
}
- }
+ },
+ "configAction": "Конфигурация",
+ "contentAction": "Содержание",
+ "configureContent": {
+ "title": "Настроить содержание резервной копии"
+ },
+ "useFileAndFileNameEncryption": "Используется шифрование файлов и их имён",
+ "useFileEncryption": "Используется шифрование файлов"
},
"branding": {
"title": "Брендирование",
@@ -1107,8 +1117,8 @@
"title": "Домены",
"domain": "Домен",
"config": "Конфигурация",
- "outbound": "Только исходящие",
- "stats": "Количество: {{ mailboxCount }} / Использование: {{ usage }}",
+ "outbound": "Только исходящие письма",
+ "stats": "Количество: {{ mailboxCount }} / Используется: {{ usage }}",
"disabled": "Выключено",
"testEmailTooltip": "Отправить тестовое письмо"
},
@@ -1147,7 +1157,7 @@
"deferred": "Отсрочено",
"bounceInfo": "Полученный отказ",
"deniedInfo": "В соединении отказано",
- "spamFilterTrainedInfo": "Спам фильтр обучен с использованием содержимого почтового ящика",
+ "spamFilterTrainedInfo": "Спам фильтр обучен на содержимом почтового ящика",
"overQuotaInfo": "Почтовый ящик {{ mailbox }} использует {{ quotaPercent }}% квоты",
"underQuotaInfo": "Почтовый ящик {{ mailbox }} превысил квоту на {{ quotaPercent }}%",
"quota": "Квота почтового ящика",
@@ -1190,7 +1200,7 @@
"title": "Полнотекстовый поиск",
"enableSolrCheckbox": "Включить полнотекстовый поиск",
"notEnoughMemory": "Пожалуйста, выделите не менее 3ГБ оперативной памяти для почтовой службы, чтобы включить solr.",
- "description": "Solr&Tika предоставляют быстрый полнотекстовый поиск по электронным письмам и вложениям. Solr может быть запущен только в том случае, если почтовой службевыделено не менее 3ГБ оперативной памяти."
+ "description": "Solr & Tika предоставляют быстрый полнотекстовый поиск по электронным письмам и вложениям. Solr может быть запущен только в том случае, если почтовой службе выделено не менее 3 ГБ оперативной памяти."
},
"typeFilterHeader": "Все события",
"aclDialog": {
@@ -1200,7 +1210,7 @@
"title": "Изменить ACL электронной почты"
},
"mailboxSharing": {
- "description": "Если активировано, пользователи смогут открывать доступ к своим IMAP папкам для других.",
+ "description": "Если активировано, пользователи смогут открывать доступ к своим IMAP папкам для других пользователей.",
"title": "Общедоступный почтовый ящик",
"enabled": "Общедоступный почтовый ящик включен.",
"disabled": "Общедоступный почтовый ящик выключен.",
@@ -1227,8 +1237,8 @@
"network": {
"ip": {
"title": "IPv4",
- "description": "Этот IPv4 адрес используется в настройке A записей DNS.",
- "provider": "Источник",
+ "description": "Этот IPv4 адрес используется для создания DNS-записей типа А.",
+ "provider": "Провайдер",
"interface": "Имя сетевого интерфейса",
"configure": "Настроить",
"interfaceDescription": "Список доступных устройств на сервере:",
@@ -1261,7 +1271,7 @@
"ipv6": {
"address": "IPv6 адрес",
"title": "IPv6",
- "description": "Этот IPv6 адрес используется в настройке AAAA записей DNS."
+ "description": "Этот IPv6-адрес используется для создания DNS-записей типа AAAA."
},
"configureIpv6": {
"title": "Настройка IPv6"
@@ -1324,7 +1334,7 @@
"updateAvailableAction": "Доступно Обновление",
"version": "Версия платформы",
"stopUpdateAction": "Остановить обновление",
- "description": "Обновления платформы и приложений применяются на основании расписания и в соответствии с Системным часовым поясом.",
+ "description": "Обновления платформы и приложений запускаются на основании расписания и в соответствии с системным часовым поясом.",
"schedule": "Расписание",
"disabled": "Выключено"
},
@@ -1358,7 +1368,7 @@
"description": "Устанавливает язык по умолчанию для Cloudron и системных писем (в том числе для приглашений, сброса пароля и др.). Пользователи могут изменить язык панели управления в своём профиле."
},
"registryConfig": {
- "provider": "Поставщик реестра Docker",
+ "provider": "Провайдер Реестра Docker",
"providerOther": "Другое",
"providerDisabled": "Выключено"
}
@@ -1452,7 +1462,7 @@
"domains": {
"title": "Домены",
"domain": "Домен",
- "provider": "Поставщик",
+ "provider": "Провайдер",
"tooltipEdit": "Редактировать домен",
"tooltipRemove": "Удалить домен",
"renewCerts": {
@@ -1462,7 +1472,7 @@
"showLogsAction": "Показать логи"
},
"changeDashboardDomain": {
- "title": "Изменить домен панели управления",
+ "title": "Домен панели управления",
"changeAction": "Изменить домен",
"cancelAction": "Отменить",
"showLogsAction": "Показать логи",
@@ -1551,7 +1561,7 @@
"tooltipWellKnown": "Общеизвестные расположения",
"count": "Всего доменов: {{ count }}",
"emptyPlaceholder": "Домены отсутствуют",
- "noMatchesPlaceholder": "Подходящего домена нет"
+ "noMatchesPlaceholder": "Подходящий домен отсутствует"
},
"notifications": {
"title": "Уведомления",
@@ -1774,7 +1784,7 @@
"json": "JSON"
},
"emptyPlaceholder": "Почтовые ящики отсутствуют",
- "noMatchesPlaceholder": "Подходящего почтового ящика нет"
+ "noMatchesPlaceholder": "Подходящие почтовые ящики отсутствуют"
},
"title": "Входящие письма",
"sieveServerInfo": "Сервис ManageSieve",
@@ -1785,7 +1795,8 @@
"everyoneTooltip": "Рассылка сторонними отправителями разрешена",
"membersOnlyTooltip": "Рассылка разрешена только членам списка",
"description": "Список рассылок направляет все электронные письма указанным в списке получателям.",
- "emptyPlaceholder": "Списки рассылок отсутствуют"
+ "emptyPlaceholder": "Списки рассылок отсутствуют",
+ "noMatchesPlaceholder": "Подходящие списки рассылок отсутствуют"
},
"catchall": {
"title": "Catch-all переадресация",
@@ -1796,7 +1807,8 @@
"howToConnectDescription": "Используйте данные ниже, чтобы настроить почтовые клиенты.",
"incomingUserInfo": "Имя пользователя",
"incomingPasswordInfo": "Пароль",
- "incomingPasswordUsage": "Пароль владельца почтового ящика"
+ "incomingPasswordUsage": "Пароль владельца почтового ящика",
+ "description": "Получать входящие письма для этого домена."
},
"config": {
"title": "Конфигурация электронной почты {{ domain }}",
@@ -1813,7 +1825,7 @@
},
"masquerading": {
"title": "Маскировка",
- "description": "Маскировка позволяет пользователям и приложениям отправлять письма с произвольным именем пользователя в поле «ОТ».",
+ "description": "Маскировка позволяет пользователям и приложениям отправлять письма с произвольным именем отправителя в поле «ОТ».",
"enableAction": "Включить",
"disableAction": "Выключить"
},
@@ -1846,7 +1858,8 @@
"addMailboxDialog": {
"title": "Добавить почтовый ящик",
"name": "Имя",
- "owner": "Владелец почтового ящика"
+ "owner": "Владелец почтового ящика",
+ "incomingDisabledWarning": "Для этого домена входящая электронная почта не включена."
},
"editMailboxDialog": {
"title": "Редактировать почтовый ящик {{ name }}@{{ domain }}",
@@ -1975,7 +1988,7 @@
"title": "Редактирование тома {{ name }}"
},
"editActionTooltip": "Редактировать том",
- "emptyPlaceholder": "Тома не обнаружены"
+ "emptyPlaceholder": "Тома отсутствуют"
},
"lang": {
"en": "Английский",
@@ -2066,7 +2079,7 @@
"logoutRedirectUri": "URL обратного вызова для выхода из системы (необязательно)"
},
"title": "OpenID",
- "description": "Поставщик OpenID может быть использован внешними приложениями для SSO аутентификации.",
+ "description": "Провайдер OpenID может быть использован внешними приложениями для SSO аутентификации.",
"editClientDialog": {
"title": "Редактировать клиента {{ client }}"
},
@@ -2084,7 +2097,7 @@
},
"clients": {
"title": "Клиенты OpenID",
- "empty": "Клиенты OpenID не добавлены"
+ "empty": "Клиенты OpenID отсутствуют"
}
},
"automation": "Автоматизация",
@@ -2105,7 +2118,8 @@
},
"sites": {
"title": "Локации резервных копий",
- "emptyPlaceholder": "Локации отсутствуют"
+ "emptyPlaceholder": "Локации отсутствуют",
+ "lastRun": "Последний запуск"
},
"site": {
"removeDialog": {
@@ -2119,7 +2133,7 @@
"provider": "Провайдер",
"username": "Имя пользователя",
"title": "Реестры Docker",
- "description": "Cloudron может осуществлять pull и установку сторонних приложений из частного реестра docker.",
+ "description": "Cloudron может выполнять команду pull и установку сторонних приложений из частного реестра docker.",
"removeDialog": {
"title": "Удалить {{ serverAddress }}"
},
@@ -2128,7 +2142,7 @@
"dialog": {
"title": "Реестр Docker"
},
- "emptyPlaceholder": "Реестры Docker не обнаружены"
+ "emptyPlaceholder": "Реестры Docker отсутствуют"
},
"dockerRegistres": {
"removeDialog": {
@@ -2136,7 +2150,7 @@
}
},
"userDirectory": {
- "title": "Директория Пользователей"
+ "title": "Каталог Пользователей"
},
"appearance": {
"title": "Внешний вид"
@@ -2147,5 +2161,14 @@
"externallinks": {
"label": "Внешние ссылки",
"description": "Добавляет ярлык на внешние сервисы в панель управления"
+ },
+ "server": {
+ "title": "Сервер"
+ },
+ "docker": {
+ "title": "Docker"
+ },
+ "ldap": {
+ "title": "LDAP"
}
}
diff --git a/dashboard/src/components/PortBindings.vue b/dashboard/src/components/PortBindings.vue
index 9498919c8..d82bc8af7 100644
--- a/dashboard/src/components/PortBindings.vue
+++ b/dashboard/src/components/PortBindings.vue
@@ -19,7 +19,7 @@ const udpPorts = defineModel('udp');
Port already taken {{ port }}