diff --git a/dashboard/TRANSLATIONS.md b/dashboard/TRANSLATIONS.md index ac0412e91..7d6405203 100644 --- a/dashboard/TRANSLATIONS.md +++ b/dashboard/TRANSLATIONS.md @@ -50,6 +50,8 @@ All other full sentences do. description has a full stop unless it's a hint/phrase. +Switch UI description does not have a fullstop. + Checkbox labels do not have a full stop at the end ### Dialog Buttons @@ -79,3 +81,5 @@ Description = context (to whom it applies) | **Action / Button / Instruction** | **Imperative** → “Add” | Button: **Add**, Tooltip: “Add a new link” | | **Section / View description** | **Descriptive** → “Adds” | Description: **Adds shortcuts to external services on the dashboard.** | +We use plural when possible. "Admins can ..." , "Operators can ..." + diff --git a/dashboard/public/translation/da.json b/dashboard/public/translation/da.json index 896c5aaf0..353f3cb46 100644 --- a/dashboard/public/translation/da.json +++ b/dashboard/public/translation/da.json @@ -3,7 +3,7 @@ "title": "Mine apps", "noApps": { "title": "Ingen apps er installeret endnu!", - "description": "Hvad med at installere nogle? Tjek den App Store" + "description": "Hvad med at installere nogle? Tjek den App Store." }, "noAccess": { "title": "Du har ikke adgang til nogen apps endnu.", @@ -1161,7 +1161,6 @@ }, "robots": { "title": "Robots.txt", - "txtPlaceholder": "Lad den være tom for at tillade alle robotter at indeksere denne app", "disableIndexingAction": "Deaktivere indeksering" }, "hstsPreload": "Aktiver HSTS-forudindlæsning for dette websted og alle underdomæner" @@ -1173,7 +1172,6 @@ }, "importBackupDialog": { "title": "Import af sikkerhedskopiering", - "description": "Alle data, der er genereret mellem nu og den sidst kendte sikkerhedskopi, vil uigenkaldeligt gå tabt. Det anbefales at oprette en sikkerhedskopi af de aktuelle data, før du forsøger at importere dem.", "uploadAction": "Upload backup-konfiguration", "importAction": "Import", "remotePath": "Sikkerhedskopieringssti" diff --git a/dashboard/public/translation/de.json b/dashboard/public/translation/de.json index fde0c6696..796ab9278 100644 --- a/dashboard/public/translation/de.json +++ b/dashboard/public/translation/de.json @@ -1205,7 +1205,6 @@ }, "robots": { "title": "robots.txt", - "txtPlaceholder": "Leer lassen, um allen Bots zu erlauben diese Anwendung in den Index aufzunehmen", "disableIndexingAction": "Indexierung deaktivieren" }, "hstsPreload": "Aktivieren Sie den HSTS-Preload für diese Website und alle Subdomains" @@ -1390,7 +1389,6 @@ "uninstallTabTitle": "Deinstallieren", "importBackupDialog": { "title": "Backup importieren", - "description": "Alle Daten, die zwischen jetzt und der letzten bekannten Sicherung erzeugt wurden, gehen unwiderruflich verloren. Es wird empfohlen, vor einem Importversuch ein Backup der aktuellen Daten zu erstellen.", "uploadAction": "Datensicherungskonfiguration hochladen", "importAction": "Importieren", "remotePath": "Backup-Pfad", diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json index 2679b2a88..062773cd7 100644 --- a/dashboard/public/translation/en.json +++ b/dashboard/public/translation/en.json @@ -291,7 +291,7 @@ "scope": "Scope", "readonly": "Readonly", "readwrite": "Read and Write", - "allowedIpRangesPlaceholder": "Comma separated IPs or Subnets", + "allowedIpRangesPlaceholder": "Comma-separated IPs or Subnets", "allowedIpRanges": "Allowed IPs" }, "loginTokens": { @@ -387,7 +387,7 @@ "hardlinksLabel": "Use hardlinks", "s3Endpoint": "Endpoint", "acceptSelfSignedCerts": "Accept Self-signed Certificate", - "bucketName": "Bucket name", + "bucketName": "Bucket Name", "prefix": "Prefix", "region": "Region", "s3AccessKeyId": "Access Key ID", @@ -441,9 +441,9 @@ }, "backupEdit": { "title": "Edit Backup", - "label": "Label", + "label": "Backup Label", "preserved": { - "description": "Persist backup regardless of retention policy", + "description": "Keep backup permanently (excluded from retention policy)", "tooltip": "This will also preserve the mail and {{ appsLength }} app backup(s)." }, "remotePath": "Remote Path" @@ -857,10 +857,12 @@ "terminal": { "title": "Terminal", "download": { - "download": "Download" + "download": "Download file", + "title": "Download File", + "description": "Enter the path of a file or directory to download from the app’s file system." }, "scheduler": "Scheduler/Cron", - "downloadAction": "Download", + "downloadAction": "Download file", "uploadTo": "Upload to {{ path }}" }, "filemanager": { @@ -1144,12 +1146,12 @@ "location": "Location", "locationPlaceholder": "Leave empty to use bare domain", "redirections": "Redirections", - "noRedirections": "No redirect domains are configured", + "noRedirections": "No redirect domains.", "addRedirectionAction": "Add a redirection", "saveAction": "Save", "aliases": "Aliases", "addAliasAction": "Add an alias", - "noAliases": "No alias domains are configured", + "noAliases": "No alias domains", "dnsoverwrite": "Some DNS records already exist. Agree to overwrite." }, "accessControl": { @@ -1174,29 +1176,30 @@ "resources": { "memory": { "title": "Memory Limit", - "description": "Maximum memory app can use", + "description": "Maximum memory the app can use", "resizeAction": "Resize" }, "cpu": { "setAction": "Scale", "title": "CPU Limit", - "description": "Maximum percent of CPU app can use" + "description": "Maximum percent of CPU the app can use" }, "devices": { - "label": "Devices" + "label": "Devices", + "description": "Comma-separated list of devices attached to the app" } }, "storage": { "appdata": { "title": "Data Directory", - "description": "If the server is running out of disk space, use this to move the app's data to a volume. Any data here is part of the app's backup.", + "description": "Moves the app’s data to a volume. Any data here is included in the app’s backup.", "moveAction": "Move data", "mountTypeWarning": "The destination file system must support file permissions and ownership for the move to work" }, "mounts": { "title": "Volume Mounts", "volume": "Volume", - "noMounts": "No volumes are mounted.", + "noMounts": "No volumes mounted", "addMountAction": "Add a volume mount", "saveAction": "Save", "permissions": { @@ -1240,14 +1243,14 @@ }, "security": { "csp": { - "description": "Setting this option will override any CSP headers sent by the app itself", + "description": "Overrides any CSP headers defined by the app.", "title": "Content Security Policy", "saveAction": "Save" }, "robots": { "title": "Robots.txt", - "txtPlaceholder": "Leave empty to allow all bots to index this app", - "disableIndexingAction": "Disable indexing" + "disableIndexingAction": "Disable indexing", + "description": "By default, bots can index this app." }, "hstsPreload": "Enable HSTS Preload (including subdomains)" }, @@ -1261,17 +1264,17 @@ "installedAt": "Installed At" }, "auto": { - "description": "App updates are applied periodically based on the Update Schedule.", + "description": "App updates are applied periodically based on the update schedule", "title": "Automatic Updates" }, "updates": { - "description": "Cloudron periodically checks the App Store for updates." + "description": "Cloudron automatically checks the App Store for updates. You can also check manually." } }, "backups": { "backups": { "title": "Backups", - "description": "Backups are complete snapshots of the app. You can use app backups to restore or clone this app.", + "description": "Creates a complete snapshot of the app.", "time": "Created At", "downloadConfigTooltip": "Download config", "cloneTooltip": "Clone", @@ -1282,25 +1285,25 @@ "checkIntegrity": "Check Integrity" }, "import": { - "title": "Import From External Backup", - "description": "Use this to migrate an app from another Cloudron. The other app must have the same package version and access control setting as this one." + "title": "Import", + "description": "Imports the app from an external backup." }, "auto": { "title": "Automatic Backups", - "description": "App is backed up periodically based on the Backup Schedule." + "description": "Backs up the app periodically to the configured Backup Sites" } }, "repair": { "recovery": { "title": "Recovery Mode", - "description": "To fix broken plugins or misconfiguration, place the app in Recovery Mode.", + "description": "To fix broken plugins or misconfiguration, place the app in recovery mode.", "restartAction": "Restart", "disableAction": "Disable Recovery Mode", "enableAction": "Enable recovery mode" }, "taskError": { "title": "Task Error", - "description": "If an installation, configuration, update, restore or backup action resulted in an error, you can retry the task.", + "description": "Retries a failed installation, configuration, update, restore, or backup task.", "retryAction": "Retry {{ task }} task" }, "restart": { @@ -1316,7 +1319,7 @@ }, "uninstall": { "title": "Uninstall", - "description": "This will uninstall the app and remove the app's data. Backups will be cleaned up based on the backup policy.", + "description": "Uninstalls the app and deletes its data. Backups are cleaned up according to the backup policy.", "uninstallAction": "Uninstall" } }, @@ -1334,11 +1337,12 @@ }, "importBackupDialog": { "title": "Import Backup", - "description": "Any data generated between now and the last known backup will be irrevocably lost. It is recommended to create a backup of the current data before attempting an import.", "uploadAction": "upload a Backup Config", "importAction": "Import", "remotePath": "Backup Path", - "provideBackupInfo": "Provide the backup information to restore from, or" + "provideBackupInfo": "Provide the backup information to restore from, or", + "warning": "Any data created since the last backup will be permanently lost. It’s recommended to create a new backup before importing.", + "versionMustMatchInfo": "The backup must have been created using the same package version and access control settings as this app." }, "updateDialog": { "title": "Update {{ app }}", @@ -1350,16 +1354,16 @@ "updateAction": "Update" }, "restoreDialog": { - "title": "Restore {{ app }}", - "description": "This will restore this app to the data from {{ creationTime }}.", - "warning": "Any data generated between now and the last known backup will be irrevocably lost. It is recommended to create a backup of the current data before attempting a restore.", + "title": "Restore App", + "description": "Restore \"{{ fqdn }}\" from the backup created on {{ creationTime }} ?", + "warning": "Any data created since the last backup will be permanently lost. It’s recommended to create a new backup before restoring.", "restoreAction": "Restore", "cloneAction": "Clone", "cloneActionOverwrite": "Clone and overwrite DNS" }, "cloneDialog": { - "title": "Clone {{ app }}", - "description": "Using backup from {{ creationTime }} and version v{{ packageVersion }}", + "title": "Clone App", + "description": "Clone using the backup from {{ creationTime }} (version {{ packageVersion }}).", "location": "Location" }, "eventlogTabTitle": "Event Log", @@ -1380,7 +1384,7 @@ "hourly": "Hourly", "service": "Service (runs once)" }, - "description": "Custom app-specific cron jobs can be added here. Note that cron jobs required for the app to function are already integrated into the app package and don't need to be configured here." + "description": "Cron jobs required for the app to function are already integrated into the app package. Only add additional jobs specific to your setup here." }, "forumUrlAction": "Need help? Ask in the forum", "addApplinkDialog": { @@ -1410,7 +1414,7 @@ }, "archive": { "title": "Archive", - "description": "The latest app backup will be added to the App Archive. The app will be uninstalled, but can be restored from the Backups View. Other backups will be cleaned up based on the backup policy.", + "description": "Adds the latest app backup to the App Archive and uninstalls the app.", "action": "Archive", "latestBackupInfo": "The last backup was created on {{siteName}} at {{date}}.", "noBackup": "This app has no backup. Archiving requires a recent backup." @@ -1535,7 +1539,7 @@ }, "storage": { "mounts": { - "description": "Mounted volumes can be accessed at /media/(volume name). Mounted data is not included in the app's backup." + "description": "Mounted volumes can be accessed at \"/media/(volume name)\". Mounted data is not included in the app's backup." } }, "oidc": { @@ -1549,7 +1553,7 @@ "secret": "Client Secret", "signingAlgorithm": "Signing Algorithm", "loginRedirectUri": "Login Callback URLs", - "loginRedirectUriPlaceholder": "Comma separated URLs" + "loginRedirectUriPlaceholder": "Comma-separated URLs" }, "description": "Cloudron’s OpenID provider can be used for single sign-on with external applications.", "editClientDialog": { diff --git a/dashboard/public/translation/es.json b/dashboard/public/translation/es.json index c5ab13364..52bf865d3 100644 --- a/dashboard/public/translation/es.json +++ b/dashboard/public/translation/es.json @@ -867,8 +867,7 @@ "security": { "robots": { "disableIndexingAction": "Desactivar indexado", - "title": "Robots.txt", - "txtPlaceholder": "Dejar en blanco para permitir que todos los bots indexen esta aplicación" + "title": "Robots.txt" }, "csp": { "saveAction": "Guardar", @@ -967,7 +966,6 @@ "uninstallAction": "Desinstalar" }, "importBackupDialog": { - "description": "Todos los datos generados entre ahora y la última copia de seguridad conocida se perderán de forma irrevocable. Se recomienda crear una copia de seguridad de los datos actuales antes de intentar una importación.", "title": "Importar Backup", "uploadAction": "cargar una configuración de respaldo", "importAction": "Importar", diff --git a/dashboard/public/translation/fr.json b/dashboard/public/translation/fr.json index 6404277a8..34732a0f8 100644 --- a/dashboard/public/translation/fr.json +++ b/dashboard/public/translation/fr.json @@ -627,7 +627,6 @@ }, "robots": { "disableIndexingAction": "Désactiver l'indexation", - "txtPlaceholder": "Laisser vide pour autoriser les robots à indexer cette application", "title": "Robots.txt" }, "hstsPreload": "Activer HSTS pour ce site et tous les sous-domaines" @@ -705,7 +704,6 @@ }, "importBackupDialog": { "uploadAction": "Charger le fichier de configuration de la sauvegarde", - "description": "Toutes les données créées depuis la dernière sauvegarde connue seront définitivement perdues. Il est fortement recommandé de sauvegarder les données actuelles avant de lancer un import.", "title": "Importer la sauvegarde", "importAction": "Importer", "remotePath": "Chemin de la sauvegarde" diff --git a/dashboard/public/translation/it.json b/dashboard/public/translation/it.json index 73ba9e49d..3c5ff82ba 100644 --- a/dashboard/public/translation/it.json +++ b/dashboard/public/translation/it.json @@ -137,8 +137,7 @@ "security": { "robots": { "title": "Robots.txt", - "disableIndexingAction": "Disabilita indicizzazione", - "txtPlaceholder": "Lascia vuoto per consentire a tutti i bot di indicizzare questa app" + "disableIndexingAction": "Disabilita indicizzazione" }, "csp": { "saveAction": "Salva", @@ -160,7 +159,6 @@ "importBackupDialog": { "importAction": "Importa", "uploadAction": "Carica configurazione backup", - "description": "Tutti i dati generati tra ora e l'ultimo backup noto verranno persi irrevocabilmente. Si consiglia di creare un backup dei dati correnti prima di tentare un'importazione.", "title": "Importa backup" }, "uninstallDialog": { diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json index 687cf24bd..2f1caff6d 100644 --- a/dashboard/public/translation/nl.json +++ b/dashboard/public/translation/nl.json @@ -798,8 +798,7 @@ }, "robots": { "title": "Robots.txt", - "disableIndexingAction": "Indexering uitschakelen", - "txtPlaceholder": "Leeg laten om toe te staan dat bots deze app indexeren" + "disableIndexingAction": "Indexering uitschakelen" }, "hstsPreload": "Schakel HSTS-preload in (inclusief subdomeinen)" }, @@ -888,7 +887,6 @@ "title": "Importeer backup", "uploadAction": "upload een backup configuratie", "importAction": "Importeer", - "description": "Alle gegevens tussen nu en de laatst bekende backup zullen onherstelbaar verloren gaan. Het is aanbevolen om eerst handmatig een backup te maken van de gegevens vóór de import.", "remotePath": "Backup pad", "provideBackupInfo": "Lever de backup informatie aan om vanaf te herstellen, of" }, @@ -1420,7 +1418,11 @@ "updateMailinglistDialog": { "activeCheckbox": "Actieve Mailinglijst" }, - "howToConnectInfoModal": "Configureren e-mail programma's" + "howToConnectInfoModal": "Configureren e-mail programma's", + "customFrom": { + "title": "Aangepaste afzender toestaan", + "description": "Laat geauthenticeerde gebruikers en apps e-mails verzenden vanaf elk afzenderadres." + } }, "login": { "username": "Gebruikersnaam", diff --git a/dashboard/public/translation/ru.json b/dashboard/public/translation/ru.json index e9af42ca4..37d51336f 100644 --- a/dashboard/public/translation/ru.json +++ b/dashboard/public/translation/ru.json @@ -22,7 +22,7 @@ "offline": "Cloudron недоступен. Переподключение…", "rebootDialog": { "title": "Перезагрузить сервер", - "description": "Используйте данную опцию, чтобы применить обновления безопасности, или если Вы испытываете проблемы с работой сервера. Все приложения и службы, запущенные в Cloudron в настоящее время, автоматически запустятся после завершения перезагрузки.", + "description": "Перезагружает сервер для применения обновлений или исправления непредвиденного поведения. Все приложения и сервисы будут перезапущены автоматически.", "rebootAction": "Перезагрузить сейчас" }, "logout": "Выйти", @@ -537,8 +537,7 @@ }, "robots": { "title": "Robots.txt", - "disableIndexingAction": "Отключить индексирование", - "txtPlaceholder": "Оставьте пустым, чтобы позволить поисковым ботам индексировать приложение" + "disableIndexingAction": "Отключить индексирование" }, "hstsPreload": "Активировать предзагрузку HSTS (в том числе для поддоменов)" }, @@ -583,7 +582,6 @@ "title": "Импортировать резервную копию", "importAction": "Импортировать", "uploadAction": "загрузить Конфигурацию Резервной копии", - "description": "Любые данные, созданные между настоящим моментом и последней известной резервной копией будут безвозвратно утеряны. Рекомендуем создать резервную копию текущих данных перед импортом.", "remotePath": "Путь резервной копии", "provideBackupInfo": "Предоставьте информации о резервной копии для восстановления или" }, @@ -908,13 +906,13 @@ "blocklist": "{{ blockCount }} IP заблокировано", "configure": { "title": "Настройки межсетевого экрана", - "description": "Подходящие адреса не смогут подключиться к серверу, а также панели мониторинга, почтовому серверу и всем установленным приложениям. Будьте осторожны, чтобы не заблокировать себе доступ.", + "description": "Соответствующим IP-адресам будет ограничен доступ к серверу, включая почтовый сервер, панель управления и все приложения. Убедитесь, что ваш собственный IP-адрес не будет заблокирован.", "blocklistPlaceholder": "IP адреса или подсети, разделённые строками" } }, "dyndns": { "title": "Динамический DNS", - "description": "Включите эту опцию, чтобы синхронизировать все ваши DNS-записи с изменяющимся IP-адресом. Это полезно, когда Cloudron работает в сети с часто меняющимся общедоступным IP-адресом, например, в домашних сетях." + "description": "Синхронизирует DNS записи с изменяющимся публичным IP-адресом. Полезно, когда Cloudron работает в сетях с регулярно изменяющимся IP, таких как домашняя сеть." }, "configureIp": { "title": "Настроить IPv4", @@ -980,7 +978,7 @@ "checkForUpdatesAction": "Проверить обновления", "updateAvailableAction": "Доступно Обновление", "stopUpdateAction": "Остановить обновление", - "description": "Обновления платформы и приложений запускаются на основании установленного здесь расписания и в соответствии с системным часовым поясом.", + "description": "Обновления платформы и приложений запускаются на основании установленного расписания и в соответствии с системным часовым поясом.", "schedule": "Расписание обновлений", "disabled": "Выключено", "onLatest": "последний" @@ -1061,13 +1059,13 @@ "provider": "Провайдер", "renewCerts": { "title": "Обновление сертификатов", - "description": "Сертификаты Let’s Encrypt перевыпускаются автоматически. Используйте данную опцию, чтобы запустить перевыпуск прямо сейчас.", + "description": "Сертификаты Let’s Encrypt перевыпускаются автоматически. При необходимости, вы можете сделать это вручную.", "renewAllAction": "Обновить все сертификаты" }, "changeDashboardDomain": { "title": "Домен панели управления", "changeAction": "Изменить домен", - "description": "Данное действие переместит панель управления на my поддомен выбранного домена." + "description": "Перемещает панель управления на поддомен \"my\" выбранного домена." }, "domainDialog": { "editTitle": "Редактировать домен", @@ -1134,7 +1132,7 @@ }, "syncDns": { "title": "Синхронизация DNS", - "description": "Данное действие приведёт к повторной проверке записей DNS приложений и электронной почты на всех доменах.", + "description": "Обновляет DNS записи приложений и электронной почты для всех доменов.", "syncAction": "Синхронизировать DNS" }, "domainWellKnown": { @@ -1420,7 +1418,11 @@ "updateMailinglistDialog": { "activeCheckbox": "Активный список рассылки" }, - "howToConnectInfoModal": "Настройка почтовых клиентов" + "howToConnectInfoModal": "Настройка почтовых клиентов", + "customFrom": { + "title": "Разрешить кастомного отправителя", + "description": "Разрешить авторизованным пользователям и приложениям отправлять письма от лица любого отправителя." + } }, "login": { "password": "Пароль", @@ -1475,10 +1477,10 @@ "mountType": "Тип монтирования", "remountActionTooltip": "Смонтировать повторно", "title": "Тома", - "description": "Тома - локальные или удаленные файловые системы. Они могут быть использованы для хранения данных приложений или для создания общей директории для нескольких приложений.", + "description": "Тома - локальные или удаленные файловые системы. Они могут быть использованы в качестве главного файлового хранилища приложения или в качестве общего между несколькими приложениями.", "localDirectory": "Локальный каталог", "editVolumeDialog": { - "title": "Редактирование тома {{ name }}" + "title": "Редактировать том" }, "emptyPlaceholder": "Тома отсутствуют" }, @@ -1544,12 +1546,12 @@ "id": "ID Клиента", "secret": "Секрет", "signingAlgorithm": "Метод подписи", - "loginRedirectUri": "URLs обратного вызова (разделённые запятой)", + "loginRedirectUri": "URLs обратного вызова", "loginRedirectUriPlaceholder": "URLs адреса, разделённые запятой" }, - "description": "Провайдер OpenID может быть использован внешними приложениями для SSO аутентификации.", + "description": "Провайдер OpenID Cloudron может быть использован для единого входа во внешние приложения.", "editClientDialog": { - "title": "Редактировать клиента {{ client }}" + "title": "Редактировать клиент" }, "deleteClientDialog": { "title": "Удалить клиент", @@ -1600,9 +1602,9 @@ "provider": "Провайдер", "username": "Имя пользователя", "title": "Реестры Docker", - "description": "Cloudron может выполнять команду pull и установку сторонних приложений из частного реестра Docker.", + "description": "Настроить доступ к приватным Docker реестрам для установки сторонних приложений.", "removeDialog": { - "title": "Удалить {{ serverAddress }}" + "title": "Удалить Реестр Docker" }, "email": "Email", "passwordToken": "Пароль/Токен", @@ -1614,7 +1616,7 @@ }, "dockerRegistres": { "removeDialog": { - "description": "Действительно удалить этот реестр?" + "description": "Удалить Реестр Docker \"{{ serverAddress }}\"?" } }, "appearance": { diff --git a/dashboard/public/translation/vi.json b/dashboard/public/translation/vi.json index 3f6d918f1..4770a3869 100644 --- a/dashboard/public/translation/vi.json +++ b/dashboard/public/translation/vi.json @@ -1120,7 +1120,6 @@ "security": { "robots": { "disableIndexingAction": "Không cho lên chỉ mục", - "txtPlaceholder": "Để trống để cho tất cả bot lên chỉ mục app này", "title": "File Robots.txt" }, "csp": { @@ -1278,7 +1277,6 @@ "importBackupDialog": { "importAction": "Nhập vào", "uploadAction": "Tải lên cấu hình bản sao lưu", - "description": "Những dữ liệu được tạo ra tính từ thời điểm này và lần sao lưu cuối cùng sẽ bị mất vĩnh viễn. Bạn nên tạo một bản sao lưu của những dữ liệu hiện tại trước khi thực hiện việc nhập vào.", "title": "Nhập bản sao lưu vào", "remotePath": "Đường dẫn bản sao lưu" }, diff --git a/dashboard/public/translation/zh_Hans.json b/dashboard/public/translation/zh_Hans.json index 6a542d311..30dd9513a 100644 --- a/dashboard/public/translation/zh_Hans.json +++ b/dashboard/public/translation/zh_Hans.json @@ -983,7 +983,6 @@ }, "robots": { "title": "Robots.txt", - "txtPlaceholder": "留空以允许所有 bots 爬取此应用", "disableIndexingAction": "禁止爬取" } }, @@ -1060,7 +1059,6 @@ }, "importBackupDialog": { "title": "导入备份", - "description": "从上次备份到当前状态之间产生的所有数据都会丢失。我们建议在导入数据之前为当前数据创建一个手动备份。", "uploadAction": "上传备份配置文件", "importAction": "导入" }, diff --git a/dashboard/src/components/AppImportDialog.vue b/dashboard/src/components/AppImportDialog.vue index f32fb2593..9e5d4b4a6 100644 --- a/dashboard/src/components/AppImportDialog.vue +++ b/dashboard/src/components/AppImportDialog.vue @@ -261,7 +261,10 @@ defineExpose({ @confirm="onSubmit()" >
-
{{ $t('app.importBackupDialog.description') }}
+
{{ $t('app.importBackupDialog.warning') }}
+ + +

{{ $t('app.importBackupDialog.versionMustMatchInfo') }}

{{ $t('app.importBackupDialog.provideBackupInfo') }} diff --git a/dashboard/src/components/AppRestoreDialog.vue b/dashboard/src/components/AppRestoreDialog.vue index 3e85d786d..78c741a43 100644 --- a/dashboard/src/components/AppRestoreDialog.vue +++ b/dashboard/src/components/AppRestoreDialog.vue @@ -191,7 +191,7 @@ defineExpose({