diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json
index c0f211f17..67b54ffa4 100644
--- a/dashboard/public/translation/en.json
+++ b/dashboard/public/translation/en.json
@@ -560,8 +560,8 @@
"customRulesPlaceholder": "Custom Spamassassin Rules"
},
"testMailDialog": {
- "title": "Send test email for {{ domain }}",
- "description": "This will send a test email from no-reply@{{ domain }} to the address below.",
+ "title": "Send test email",
+ "description": "Sends a test email from no-reply@{{ domain }} to the specified address.",
"sendAction": "Send"
},
"solrConfig": {
diff --git a/dashboard/public/translation/ru.json b/dashboard/public/translation/ru.json
index 37beec49d..8ed95d7d9 100644
--- a/dashboard/public/translation/ru.json
+++ b/dashboard/public/translation/ru.json
@@ -22,7 +22,7 @@
"offline": "Cloudron недоступен. Переподключение…",
"rebootDialog": {
"title": "Перезагрузить сервер",
- "description": "Перезагружает сервер для применения обновлений или исправления непредвиденного поведения. Все приложения и сервисы будут перезапущены автоматически.",
+ "description": "Все приложения и сервисы будут перезапущены автоматически.
Перезагрузить сервер?",
"rebootAction": "Перезагрузить сейчас"
},
"logout": "Выйти",
@@ -49,7 +49,8 @@
"remove": "Удалить",
"edit": "Редактировать",
"add": "Добавить",
- "next": "Следующий"
+ "next": "Следующий",
+ "configure": "Настроить"
},
"searchPlaceholder": "Поиск",
"multiselect": {
@@ -72,8 +73,8 @@
"searchPlaceholder": "Искать альтернативы GitHub, Dropbox, Slack, Trello, …",
"installDialog": {
"locationPlaceholder": "Оставьте пустым, чтобы использовать основной домен",
- "userManagementNone": "Приложение использует свою систему управления пользователями. Данный параметр определяет, отображается ли это приложение на панели управления пользователя.",
- "userManagementAllUsers": "Разрешить всем пользователям этого Cloudron",
+ "userManagementNone": "Приложение использует свою систему управления пользователями.",
+ "userManagementAllUsers": "Разрешить всем пользователям в этом Cloudron",
"configuredForCloudronEmail": "Это приложение настроено для использования с адресом почты Cloudron.",
"cloudflarePortWarning": "Для получения доступа к приложению через выбранный домен необходимо отключить Cloudflire прокси",
"lastUpdated": "Был обновлён {{ date }}",
@@ -86,7 +87,7 @@
"users": "Пользователи",
"groups": "Группы",
"manualWarning": "Вручную добавьте A (IPv4) и AAAA (IPv6) запись DNS для {{ location }}, указав публичный IP вашего сервера",
- "userManagementMailbox": "Все пользователи этого Cloudron с почтовым ящиком имеют доступ.",
+ "userManagementMailbox": "Пользователи с почтовым ящиком могут войти с помощью адреса email и пароля Cloudron.",
"portReadOnly": "Только для чтения",
"ephemeralPortWarning": "Использование временных портов может привести к конфликтам."
},
@@ -132,7 +133,7 @@
"bindPassword": "Привязать пароль (необязательно)",
"bindUsername": "Привязать Уникальное имя (DN)/Имя пользователя (необязательно)",
"title": "Подключиться к удалённому каталогу",
- "noopInfo": "LDAP аутентификация не настроена.",
+ "noopInfo": "Внешний каталог не настроен.",
"provider": "Провайдер",
"server": "URL сервера",
"acceptSelfSignedCert": "Принимать самоподписанный сертификат",
@@ -163,10 +164,10 @@
"noGroups": "Нет доступных групп.",
"usernamePlaceholder": "Необязательно. Если не указано, пользователь может выбрать во время регистрации",
"displayName": "Отображаемое имя",
- "primaryEmail": "Основной адрес электронной почты",
- "recoveryEmail": "Электронная почта для восстановления пароля",
+ "primaryEmail": "Основной email",
+ "recoveryEmail": "Email для восстановления пароля",
"activeCheckbox": "Пользователь активен",
- "fallbackEmailPlaceholder": "Если не указано, будет использоваться основной почтовый ящик",
+ "fallbackEmailPlaceholder": "Если не указано, будет использоваться основной email",
"displayNamePlaceholder": "Необязательно. Если не указано, пользователь может указать во время регистрации"
},
"deleteUserDialog": {
@@ -199,18 +200,20 @@
"mailmanager": "Менеджер пользователей и электронной почты"
},
"invitationDialog": {
- "title": "Пригласить {{ username }}",
+ "title": "Пригласить пользователя",
"description": "Ссылка с приглашением отправлена на электронную почту {{ email }}:",
"sendAction": "Отправить письмо",
- "descriptionEmail": "Отправить приглашение",
- "descriptionLink": "Скопировать ссылку с приглашением"
+ "descriptionEmail": "Отправить email приглашение",
+ "descriptionLink": "Ссылка-приглашение",
+ "context": "Пригласить пользователя \"{{ username }}\""
},
"setGhostDialog": {
"description": "Установите временный пароль для доступа к приложениям и панели управления от имени данного пользователя. Такой пароль будет действовать 6 часов.",
- "title": "Вотйти от имени {{ username }}",
- "password": "Временный Пароль",
+ "title": "Вотйти от имени пользователя",
+ "password": "Временный пароль",
"setPassword": "Установить пароль",
- "generatePassword": "Сгенерировать пароль"
+ "generatePassword": "Сгенерировать пароль",
+ "context": "Войти от имени пользователя \"{{ username }}\""
},
"editUserDialog": {
"title": "Редактировать пользователя",
@@ -233,9 +236,9 @@
},
"exposedLdap": {
"ipRestriction": {
- "description": "Ограничьте доступ к серверу каталогов только для определённого круга IP-адресов и диапазонов. Строки, начинающиеся с #, будут считаться комментарием.",
- "placeholder": "IP-адреса или подсети, разделённые строками",
- "label": "Ограничить доступ"
+ "description": "Ограничьте доступ к серверу каталогов только для определённого круга IP-адресов и диапазонов",
+ "placeholder": "IP-адреса или подсети, разделённые строками. Строки, начинающиеся с # будут определены, как комментарии.",
+ "label": "Разрешённые IP-адреса и диапазоны"
},
"description": "Сервер LDAP позволяет внешним приложениям аутентифицировать пользователей с использованием Каталога пользователей Cloudron.",
"secret": {
@@ -244,9 +247,9 @@
"url": "URL сервера"
},
"cloudflarePortWarning": "Для доступа к LDAP серверу через домен панели управления проксирование Cloudflare должно быть выключено",
- "enable": "Включить Сервер LDAP",
+ "enable": "Включить сервер LDAP",
"title": "Сервер LDAP",
- "enabled": "Включить Сервер LDAP"
+ "enabled": "Включить сервер LDAP"
},
"title": "Пользователи"
},
@@ -278,7 +281,7 @@
"noPasswordsPlaceholder": "Пароли приложений отсутствуют"
},
"title": "Профиль",
- "primaryEmail": "Главный адрес электронной почты",
+ "primaryEmail": "Основной email",
"passwordRecoveryEmail": "Почта для восстановления пароля",
"language": "Язык",
"apiTokens": {
@@ -291,7 +294,7 @@
"scope": "Область",
"readonly": "Только для чтения",
"readwrite": "Чтение и запись",
- "allowedIpRangesPlaceholder": "IP адреса или подсети, разделённые запятой",
+ "allowedIpRangesPlaceholder": "IP адреса или подсети, через запятую",
"allowedIpRanges": "Разрешённые IP адреса"
},
"loginTokens": {
@@ -300,7 +303,7 @@
"logoutAll": "Выйти из всех"
},
"changeEmail": {
- "title": "Изменить главный Email",
+ "title": "Изменить основной Email",
"email": "Новый Email",
"password": "Подтверждение паролем"
},
@@ -317,7 +320,7 @@
"createApiToken": {
"copyNow": "Пожалуйста, скопируйте сгенерированный API Токен. Он не будет показан снова из соображений безопасности.",
"title": "Добавить API Токен",
- "name": "Имя API Токена",
+ "name": "Имя API токена",
"description": "Новый API Токен:",
"access": "API доступ",
"allowedIpRanges": "Разрешённые диапазоны IP"
@@ -411,6 +414,9 @@
"dashboardVisibility": "Видимость в панели управления",
"visibleForAllUsers": "Отображается для всех пользователей Cloudron",
"visibleForSelected": "Отображается только для выбранных пользователей и групп"
+ },
+ "dashboardVisibility": {
+ "description": "Настройте, кто сможет видеть это приложение в панели управления."
}
},
"logsActionTooltip": "Логи",
@@ -446,7 +452,8 @@
"description": "Максимальный процент CPU, который может быть задействован в работе приложения"
},
"devices": {
- "label": "Устройства"
+ "label": "Устройства",
+ "description": "Список подключенных к приложению устройств, через запятую"
}
},
"storage": {
@@ -527,6 +534,9 @@
"enable": "Использовать электронную почту Cloudron для получения писем",
"disableDescription": "Данное приложение не использует настройки электронной почты Cloudron. Вы можете настроить её внутри приложения. Выберите данную опцию, если электронная почта домена находится на отдельном сервере.",
"enableDescription": "Приложение настроено на отправку писем с использованием указанного адреса. Выберите данную, если электронная почта {{ domain }} находится на данном сервере."
+ },
+ "configuration": {
+ "title": "Исходящая почта"
}
},
"security": {
@@ -537,7 +547,8 @@
},
"robots": {
"title": "Robots.txt",
- "disableIndexingAction": "Отключить индексирование"
+ "disableIndexingAction": "Отключить индексирование",
+ "description": "По умолчанию, роботы могут индексировать это приложение."
},
"hstsPreload": "Активировать предзагрузку HSTS (в том числе для поддоменов)"
},
@@ -675,9 +686,14 @@
"days": "Дни",
"hours": "Часы",
"retentionPolicy": "Политика хранения",
- "title": "Настроить расписание и хранение резервных копий",
+ "title": "Настроить расписание & политику хранения резервных копий",
"enable": "Включить автоматическое резервное копирование",
- "disable": "Отключить автоматическое резервное копирование"
+ "disable": "Отключить автоматическое резервное копирование",
+ "schedule": {
+ "context": "Настроить расписание & политику хранения локации резервных копий \"{{ name }}\"",
+ "title": "Расписание резервного копирования",
+ "description": "Установить дни и время для запуска резервного копирования. Убедитесь, что установленное расписание не пересекается с расписанием обновлений."
+ }
},
"configureBackupStorage": {
"encryptionPassword": "Пароль шифрования",
@@ -692,8 +708,8 @@
"bucketName": "Имя корзины",
"prefix": "Префикс",
"region": "Регион",
- "s3AccessKeyId": "Access Key ID",
- "s3SecretAccessKey": "Secret Access Key",
+ "s3AccessKeyId": "Access key ID",
+ "s3SecretAccessKey": "Secret access key",
"gcsServiceKey": "Ключ сервисного аккаунта",
"format": "Формат хранилища",
"memoryLimit": "Лимит памяти",
@@ -708,7 +724,7 @@
"encryptionPasswordPlaceholder": "Парольная фраза, используемая для расшифровки резервных копий",
"encryptionPasswordRepeat": "Повторите пароль",
"server": "IP сервера или Имя хоста",
- "remoteDirectory": "Удалённый Каталог",
+ "remoteDirectory": "Удалённый каталог",
"username": "Имя пользователя",
"port": "Порт",
"user": "Пользователь",
@@ -724,14 +740,15 @@
"preserveAttributesLabel": "Сохранить атрибуты файла",
"name": "Имя",
"encryptionHint": "Подсказка для пароля шифрования",
- "usesEncryption": "Резервное копирование использует шифрование",
+ "usesEncryption": "Резервная копия зашифрована",
"useForUpdates": "Сохранять резервные копии автоматических обновлений здесь",
"backupContents": {
"title": "Содержание резервной копии",
"description": "Выберите, что вы хотите сохранить в этой локации.",
"everything": "Всё",
"excludeSelected": "Исключить выбранное",
- "includeOnlySelected": "Включить только выбранное"
+ "includeOnlySelected": "Включить только выбранное",
+ "context": "Настроить содержимое резервной копии локации \"{{ name }}\""
},
"automaticUpdates": {
"title": "Резервные копии автоматических обновлений",
@@ -849,7 +866,8 @@
"rcptTo": "К"
},
"changeDomainDialog": {
- "description": "Данное действие перенесёт IMAP и SMTP сервер в указанное расположение."
+ "description": "Данное действие перенесёт IMAP и SMTP сервер в указанное расположение.",
+ "setAction": "Установить локацию"
},
"changeMailSizeDialog": {
"description": "Изменение максимального размера письма требует перезагрузки почтового сервера."
@@ -943,7 +961,8 @@
"configure": {
"title": "Настроить {{ name }}",
"resetToDefaults": "Сбросить к стандартным настройкам",
- "enableRecoveryMode": "Включить режим восстановления"
+ "enableRecoveryMode": "Включить режим восстановления",
+ "description": "Настроить службу \"{{ name }}\""
}
},
"settings": {
@@ -995,7 +1014,8 @@
"changes": "Изменения",
"skipBackupCheckbox": "Пропустить резервное копирование",
"updateAction": "Обновить",
- "blockingApps": "Эти приложения блокируют обновления, потому что у них есть незавершённые действия:"
+ "blockingApps": "Эти приложения блокируют обновления, потому что у них есть незавершённые действия:",
+ "updateAvailable": "Доступен Cloudron {{ newVersion }}"
},
"language": {
"title": "Язык",
@@ -1155,7 +1175,7 @@
},
"allCaughtUp": "Уведомления отсутствуют",
"settingsDialog": {
- "description": "Для выбранных событий уведомления будут отправляться на главный email."
+ "description": "Для выбранных событий уведомления будут отправляться на основной email."
}
},
"logs": {
@@ -1166,7 +1186,8 @@
"terminal": {
"title": "Терминал",
"download": {
- "download": "Скачать"
+ "download": "Скачать",
+ "title": "Скачать файл"
},
"scheduler": "Планировщик/Cron",
"downloadAction": "Скачать",
diff --git a/dashboard/src/views/EmailDomainView.vue b/dashboard/src/views/EmailDomainView.vue
index 20c07dbcc..e8f81538a 100644
--- a/dashboard/src/views/EmailDomainView.vue
+++ b/dashboard/src/views/EmailDomainView.vue
@@ -45,7 +45,7 @@ async function onSendTestMail() {
const address = await inputDialog.value.prompt({
value: result.email,
- title: t('emails.testMailDialog.title', { domain: domain.value }),
+ title: t('emails.testMailDialog.title'),
message: t('emails.testMailDialog.description', { domain: domain.value }),
confirmLabel: t('emails.testMailDialog.sendAction'),
rejectLabel: t('main.dialog.cancel'),