diff --git a/src/translation/de.json b/src/translation/de.json
index 666a22f2f..d53c0cfb2 100644
--- a/src/translation/de.json
+++ b/src/translation/de.json
@@ -17,7 +17,8 @@
"tagsFilterHeaderAll": "Alle Schlagworte",
"tagsFilterHeader": "Schlagworte: {{ tags }}",
"stateFilterHeader": "Jeder Status",
- "searchPlaceholder": "Suche Apps"
+ "searchPlaceholder": "Suche Apps",
+ "groupsFilterHeader": "Wähle Gruppe"
},
"main": {
"offline": "Cloudron ist nicht erreichbar. Verbindungsaufbau…",
@@ -577,6 +578,12 @@
"title": "Abonnement erforderlich",
"description": "Weitere Domänen hinzufügen ist nur im Abo verfügbar.",
"setupAction": "Abonnement erstellen"
+ },
+ "syncDns": {
+ "showLogsAction": "Zeige Logs",
+ "syncAction": "Synchronisiere DNS",
+ "title": "Synchronisiere DNS",
+ "description": "Hiermit werden all App und Email DNS Einträge über alle Domains neu erstellt."
}
},
"notifications": {
@@ -1426,7 +1433,8 @@
"nl": "Niederländisch",
"zh_Hans": "Chinesisch (vereinfacht)",
"vi": "Vietnamesisch",
- "pl": "Polnisch"
+ "pl": "Polnisch",
+ "es": "Spanisch"
},
"storage": {
"mounts": {
diff --git a/src/translation/en.json b/src/translation/en.json
index 10cbd1434..5f9d93185 100644
--- a/src/translation/en.json
+++ b/src/translation/en.json
@@ -317,7 +317,9 @@
"expiresAt": "Expires At",
"description": "Use these personal access tokens to authenticate to the Cloudron API",
"noTokensPlaceholder": "No API Tokens created",
- "revokeTokenTooltip": "Revoke Token"
+ "revokeTokenTooltip": "Revoke Token",
+ "lastUsed": "Last Used",
+ "neverUsed": "never"
},
"loginTokens": {
"title": "Login Tokens",
diff --git a/src/translation/es.json b/src/translation/es.json
index 96c60f1b8..3039fdcc3 100644
--- a/src/translation/es.json
+++ b/src/translation/es.json
@@ -130,7 +130,8 @@
"description": "¿Qué te parece si instalas algunas? Echa un vistazo a la Tienda de Aplicaciones",
"title": "¡No hay aplicaciones instaladas todavía!"
},
- "title": "Mis aplicaciones"
+ "title": "Mis aplicaciones",
+ "groupsFilterHeader": "Selecciona Grupo"
},
"users": {
"addUserDialog": {
@@ -608,7 +609,15 @@
},
"settings": {
"appstoreAccount": {
- "title": "Cuenta Cloudron.io"
+ "title": "Cuenta Cloudron.io",
+ "email": "Email de la Cuenta",
+ "subscriptionEndsAt": "Cancelado y finaliza el",
+ "subscriptionSetupAction": "Configurar Suscripción",
+ "subscriptionReactivateAction": "Reactivar Suscripción",
+ "setupAction": "Configurar Cuenta",
+ "subscription": "Suscripción",
+ "cloudronId": "ID de Cloudron",
+ "subscriptionChangeAction": "Cambiar Suscripción"
},
"title": "Ajustes",
"updateScheduleDialog": {
@@ -636,10 +645,30 @@
"title": "Idioma"
},
"timezone": {
- "description": "La configuración de zona horaria actual es {{timeZone}} .\nEsta configuración se utiliza para programar tareas de respaldo y actualización."
+ "description": "La configuración de zona horaria actual es {{timeZone}} .\nEsta configuración se utiliza para programar tareas de respaldo y actualización.",
+ "title": "Zona horaria"
},
"privateDockerRegistry": {
- "subscriptionRequired": "Esta funcionalidad solo está disponible en planes de pago."
+ "subscriptionRequired": "Esta funcionalidad solo está disponible en planes de pago.",
+ "server": "Dirección del Servidor",
+ "username": "Nombre de Usuario",
+ "configureAction": "Configurar Registro",
+ "setupSubscriptionAction": "Configura tu Suscripción Ahora",
+ "usernameNotSet": "No configurado"
+ },
+ "privateDockerRegistryDialog": {
+ "title": "Configuración del registro privado",
+ "email": "Email (Opcional)",
+ "passwordToken": "Contraseña / Token"
+ },
+ "registryConfig": {
+ "provider": "Proveedor de registro de Docker"
+ },
+ "updateDialog": {
+ "changes": "Cambios",
+ "updateAction": "Actualizar",
+ "title": "Actualizar Cloudron a",
+ "skipBackupCheckbox": "Omitir Copia de Seguridad"
}
},
"domains": {
diff --git a/src/translation/fr.json b/src/translation/fr.json
index 01ac78e2c..befbc2a78 100644
--- a/src/translation/fr.json
+++ b/src/translation/fr.json
@@ -17,7 +17,8 @@
"title": "Vous n'avez accès à aucune application pour le moment.",
"description": "Lorsque ce sera le cas, elles apparaîtront ici."
},
- "tagsFilterHeader": "Tags : {{ tags }}"
+ "tagsFilterHeader": "Tags : {{ tags }}",
+ "groupsFilterHeader": "Sélectioner groupe"
},
"main": {
"offline": "Cloudron est hors ligne. Reconnexion…",
@@ -201,7 +202,7 @@
},
"passwordRecoveryEmail": "Adresse email de récupération de mot de passe",
"language": "Langue",
- "primaryEmail": "Adresse email principale",
+ "primaryEmail": "E-mail principal",
"disable2FA": {
"disable": "Désactiver",
"password": "Mot de passe",
@@ -218,12 +219,12 @@
},
"appPasswords": {
"app": "Application",
- "deletePasswordTooltip": "Supprimer le mot de passe",
+ "deletePasswordTooltip": "Supprimer mot de passe",
"newPassword": "Nouveau mot de passe",
"name": "Nom",
"noPasswordsPlaceholder": "Aucun mot de passe d'application créé",
- "title": "Mots de passe des applications",
- "description": "Les mots de passe d'application permettent de garantir la sécurité de votre profil utilisateur Cloudron. Si vous avez besoin d'accéder à une application Cloudron depuis une application mobile ou un appareil non fiable, vous pouvez vous connecter avec votre nom d'utilisateur et un mot de passe alternatif généré spécialement ici."
+ "title": "Mots de passe d'application",
+ "description": "Les mots de passe d'application sont une mesure de sécurité pour protéger votre compte utilisateur Cloudron. Si vous avez besoin d'accéder à une application Cloudron depuis une application mobile ou un client auquel vous ne faites pas confiance, vous pouvez vous connecter avec votre nom d'utilisateur et le mot de passe alternatif généré ici."
},
"changeEmail": {
"errorEmailInvalid": "Cette adresse email est invalide",
@@ -270,15 +271,15 @@
"expiresAt": "Expire le",
"name": "Nom",
"noTokensPlaceholder": "Aucun jeton API créé",
- "revokeTokenTooltip": "Révoquer le jeton",
+ "revokeTokenTooltip": "Révoquer jeton",
"newApiToken": "Nouveau jeton API",
"title": "Jetons API",
- "description": "Utilisez ces jetons d'accès personnels pour vous authentifier auprès de l'API Cloudron"
+ "description": "Utilisez ces jetons d'accès personnels pour vous authentifier avec l'API Cloudron"
},
"loginTokens": {
- "logoutAll": "Se déconnecter de tout",
- "title": "Jetons d'accès",
- "description": "Vous avez {{ webadminTokenCount}} jeton(s) web et {{ cliTokenCount }} jeton(s) pour l'interface de ligne de commande (CLI) actif(s)."
+ "logoutAll": "Déconnecter de tous",
+ "title": "Jetons de connexion",
+ "description": "Vous avez {{ webadminTokens.length }} jeton(s) web actif(s) et {{ cliTokens.length }} jeton(s) CLI."
},
"disable2FAAction": "Désactiver l'authentification à deux facteurs (2FA)",
"enable2FAAction": "Activer l'authentification à deux facteurs (2FA)"
@@ -418,7 +419,7 @@
"solrDisabled": "Désactivé",
"maxMailSize": "Taille maximale des messages",
"location": "Emplacement du serveur de messagerie",
- "info": "Ces paramètres sont globaux et s'appliquent à tous les domaines.",
+ "info": "Ces paramètres généraux s'appliquent à tous les domaines.",
"solrNotRunning": "Inactif",
"title": "Paramètres",
"spamFilter": "Filtre anti-spam",
@@ -625,7 +626,7 @@
"git": "Hébergement de codes",
"project": "Gestion de projet",
"media": "Médias",
- "analytics": "Analyse des données",
+ "analytics": "Analyse de données",
"notes": "Notes"
},
"accountDialog": {
@@ -848,8 +849,8 @@
},
"startStop": {
"description": "Pour économiser les ressources du serveur, vous pouvez mettre en pause les applications au lieu de les désinstaller. Les futures sauvegardes d'applications ne comprendront pas les modifications apportées aux applications entre aujourd'hui et la dernière sauvegarde. Pour cette raison, il est recommandé de lancer une sauvegarde avant de mettre une application en pause.",
- "stopAction": "Mettre l'application en pause",
- "title": "Démarrer / Mettre en pause",
+ "stopAction": "Arrêter l'application",
+ "title": "Démarrer / Arrêter",
"startAction": "Démarrer l'application"
}
},
@@ -907,7 +908,7 @@
"addAliasAction": "Ajouter un alias",
"aliases": "Alias",
"saveAction": "Sauvegarder",
- "addRedirectionAction": "Ajouter un redirection",
+ "addRedirectionAction": "Ajouter une redirection",
"noRedirections": "Aucune redirection n'est paramétrée.",
"redirectionsPlaceholder": "Laisser vide pour utiliser le nom de domaine nu",
"redirections": "Redirections",
@@ -974,7 +975,8 @@
"ja": "Japonais",
"pl": "Polonais",
"vi": "Vietnamien",
- "zh_Hans": "Chinois (Simplifié)"
+ "zh_Hans": "Chinois (Simplifié)",
+ "es": "Espagnol"
},
"email": {
"mailboxboxDialog": {
@@ -1390,7 +1392,7 @@
"details": "Détails",
"source": "Source",
"time": "Date",
- "title": "Journal des événements"
+ "title": "Journal d'évènements"
},
"system": {
"selectPeriodLabel": "Période sélectionnée",
@@ -1409,7 +1411,7 @@
"mountedAt": "{{ filesystem }} monté sur {{ mountpoint }}",
"title": "Utilisation du disque"
},
- "title": "Informations système"
+ "title": "Info système"
},
"services": {
"refresh": "Rafraîchir",
diff --git a/src/translation/it.json b/src/translation/it.json
index a0947390e..261034346 100644
--- a/src/translation/it.json
+++ b/src/translation/it.json
@@ -54,7 +54,8 @@
"title": "Nessuna App è ancora installata!",
"description": "Perché non installare qualche app? Visita l'App Store"
},
- "title": "Le mie applicazioni"
+ "title": "Le mie applicazioni",
+ "groupsFilterHeader": "Seleziona gruppo"
},
"volumes": {
"backupWarning": "I volumi non sono inclusi nel backup. Il ripristino di un'app non ripristinerà il contenuto del volume. Assicurati di avere un piano di backup adatto per ogni volume.",
diff --git a/src/translation/nl.json b/src/translation/nl.json
index 08a4e8d73..00ade2853 100644
--- a/src/translation/nl.json
+++ b/src/translation/nl.json
@@ -17,7 +17,8 @@
"tagsFilterHeaderAll": "Alle Tags",
"tagsFilterHeader": "Tags: {{ tags }}",
"stateFilterHeader": "Alle statussen",
- "searchPlaceholder": "Zoek Apps"
+ "searchPlaceholder": "Zoek Apps",
+ "groupsFilterHeader": "Selecteer groep"
},
"main": {
"logout": "Uitloggen",
diff --git a/src/translation/vi.json b/src/translation/vi.json
index 0247bc42d..418ccb941 100644
--- a/src/translation/vi.json
+++ b/src/translation/vi.json
@@ -17,7 +17,8 @@
"noApps": {
"title": "Chưa có app cài đặt!",
"description": "Cài đặt một vài app nhé? Hãy xem trong Cửa hàng App"
- }
+ },
+ "groupsFilterHeader": "Chọn nhóm"
},
"main": {
"logout": "Thoát",
@@ -428,7 +429,7 @@
"list": "Tham chiếu sao lưu của {{ appCount }} app",
"format": "Định dạng",
"version": "Phiên bản",
- "date": "Ngày",
+ "date": "Thời gian",
"id": "ID",
"title": "Chi tiết sao lưu"
},
@@ -500,7 +501,7 @@
},
"incoming": {
"mailinglists": {
- "members": "Thành viên trong danh sách",
+ "members": "Thành viên",
"description": "Danh sách này chuyển tiếp mail cho những thành viên trong danh sách.",
"title": "Danh sách chuyển tiếp mail",
"membersOnlyTooltip": "Chỉ cho phép chuyển tiếp mail đến thành viên trong danh sách",
@@ -554,7 +555,7 @@
},
"noopNonAdminDomainWarning": "Cloudron không thể cung cấp dịch vụ gửi mail cho các app trên tên miền này khi chế độ email chưa được bật.",
"noopAdminDomainWarning": "Cloudron không thể gửi link mời người dùng, đặt lại mật khẩu hay gửi các thông báo khác khi chế độ email chưa được bật trên tên miền chính",
- "description": "Cloudron sẽ dùng mail server này (Smart host) để gửi mail đi cho các app được cài trên tên miền này.",
+ "description": "Cloudron sẽ dùng mail server này (Smart host) để gửi mail ra cho các app cài trên tên miền.",
"title": "Hệ thống relay chuyển mail ra ngoài"
},
"mailboxboxDialog": {
@@ -572,7 +573,7 @@
"addMailinglistDialog": {
"membersOnlyCheckbox": "Chỉ cho phép chuyển tiếp mail cho thành viên trong danh sách",
"membersInfo": "Cách mỗi email bằng một dòng mới",
- "members": "Thành viên trong danh sách",
+ "members": "Thành viên",
"title": "Thêm danh sách chuyển tiếp mail"
},
"deleteMailboxDialog": {
@@ -659,8 +660,8 @@
},
"firewall": {
"configure": {
- "blocklistPlaceholder": "Dòng ngăn cách địa chỉ IP hay Subnet",
- "description": "Những địa chỉ IP trùng khớp sẽ không kết nối vào server này được bao gồm mail server, dashboard và tất cả các app. Cẩn thận đừng tự khoá bản thân mình ra khỏi server.",
+ "blocklistPlaceholder": "Địa chỉ IP hay Subnet (ghi cách dòng)",
+ "description": "Những địa chỉ IP trong đây sẽ không kết nối vào server này được bao gồm mail server, dashboard và tất cả các app. Cẩn thận đừng tự khoá mình ra khỏi server.",
"title": "Cấu hình tường lửa"
},
"blocklist": "{{ blockCount }} địa chỉ IP đã được chặn",
@@ -668,7 +669,7 @@
"title": "Tường lửa"
},
"ip": {
- "detected": "được dò ra",
+ "detected": "đã dò tìm ra",
"interfaceDescription": "Liệt kê những thiết bị hiện hữu trên server với:",
"configure": "Cấu hình",
"interface": "Tên giao diện mạng",
@@ -696,7 +697,7 @@
},
"spamFilterDialog": {
"customRulesPlaceholder": "Quy định Spamassassin tuỳ chỉnh",
- "blacklisteAddressesPlaceholder": "Dòng để cácch những kiểu mẫu địa chỉ mail",
+ "blacklisteAddressesPlaceholder": "Mẫu địa chỉ mail (ghi cách dòng)",
"customRules": "Quy định Spamassassin tuỳ chỉnh",
"blacklisteAddressesInfo": "Địa chỉ mail trùng khớp trong danh sách đen sẽ bị cho vào mục Spam. Kiểu ghi ‘*’ và ‘?’ cũng được hỗ trợ.",
"blacklisteAddresses": "Địa chỉ mail trong danh sách đen",
@@ -721,14 +722,14 @@
"deniedInfo": "Kết nối từ IP {{ remote.ip }} bị từ chối. Lý do: {{ details.message || details.reason }}",
"deliveredInfo": "Đã gửi mail cho {{ rcptTo | prettyEmailAddresses }} từ {{ mailFrom | prettyEmailAddresses }}",
"receivedInfo": "Đã lưu mail từ {{ mailFrom | prettyEmailAddresses }} vào hộp thư {{ rcptTo | prettyEmailAddresses }}",
- "outboundInfo": "Mail đã được xếp vào hàng để gửi đến {{ rcptTo | prettyEmailAddresses }} từ {{ mailFrom | prettyEmailAddresses }}",
+ "outboundInfo": "Mail đã xếp vào hàng để gửi đến {{ rcptTo | prettyEmailAddresses }} từ {{ mailFrom | prettyEmailAddresses }}",
"inboundInfo": "Nhận mail từ {{ mailFrom | prettyEmailAddresses }} đến {{ rcptTo | prettyEmailAddresses }}. Có phải spam không: {{ details.spamStatus.indexOf('Yes,') === 0 ? 'Yes' : 'No' }}",
- "deferredInfo": "Không gửi được mail cho {{ rcptTo | prettyEmailAddresses }}. {{ details.message || details.reason }}. Sẽ thử lại tự động trong vòng {{ details.delay }} giây nữa.",
- "bounceInfo": "Bị trả về {{ mailFrom | prettyEmailAddresses }} cho email gửi cho {{ rcptTo | prettyEmailAddresses }}. Lý do: {{ details.message || details.reason }}",
+ "deferredInfo": "Không gửi được mail cho {{ rcptTo | prettyEmailAddresses }}. {{ details.message || details.reason }}. Sẽ tự động thử lại sau {{ details.delay }} giây nữa.",
+ "bounceInfo": "Gửi trả về {{ mailFrom | prettyEmailAddresses }} cho email gửi đến {{ rcptTo | prettyEmailAddresses }}. Lý do: {{ details.message || details.reason }}",
"spamFilterTrained": "Bộ lọc spam đã được rèn giũa thêm",
"bounce": "Bị trả về",
"denied": "Bị từ chối",
- "queued": "Xếp vào hàng",
+ "queued": "Xếp hàng",
"outgoing": "Gửi mail ra",
"incoming": "Nhận mail vào",
"deferred": "Trì hoãn lại"
@@ -838,7 +839,7 @@
"provider": "Nhà cung cấp docker registry"
},
"language": {
- "description": "Ngôn ngữ mặc định cho Cloudron được cài đặt ở đây. Ngôn ngữ này sẽ được dùng trong các email trao đổi qua lại như email mời người dùng hay cài đặt lại mật khẩu. Mỗi người dùng vẫn có thể chỉnh ngôn ngữ thuận tiện hơn cho mình trong dashboard cá nhân của từng người.",
+ "description": "Ngôn ngữ mặc định cho Cloudron được cài đặt ở đây. Ngôn ngữ này sẽ được dùng trong các email trao đổi như mời người dùng hay đặt lại mật khẩu. Mỗi người dùng có thể tuỳ chỉnh ngôn ngữ mình thích trong dashboard.",
"title": "Ngôn ngữ"
},
"updateDialog": {
@@ -875,7 +876,7 @@
"title": "Cấu hình registry cá nhân"
},
"updates": {
- "checkForUpdatesAction": "Kiểm tra phiên bản cập nhật mới",
+ "checkForUpdatesAction": "Kiểm tra cập nhật",
"stopUpdateAction": "Dừng cập nhật",
"updateAvailableAction": "Có phiên bản cập nhật mới",
"changeScheduleAction": "Thay đổi lịch cập nhật",
@@ -1055,8 +1056,8 @@
"netcupApiKey": "Key API",
"netcupApiPassword": "Mật khẩu API",
"netcupCustomerNumber": "Số khách hàng",
- "mastodonHostname": "Vị trí server của Mastodon",
- "matrixHostname": "Vị trí server của Matrix",
+ "mastodonHostname": "Vị trí server Mastodon",
+ "matrixHostname": "Vị trí server Matrix",
"fallbackCertCertificatePlaceholder": "Chứng chỉ số",
"fallbackCertKeyPlaceholder": "Mã chứng chỉ số",
"fallbackCertCustomCertInfo": "Chứng chỉ số wildcard tuỳ chỉnh này sẽ được dùng cho tất cả app trên tên miền này. Nếu CCS không được nhập vào, một CCS tự ký sẽ được tự động tạo ra.",
@@ -1106,22 +1107,25 @@
},
"renewCerts": {
"showLogsAction": "Hiển thị log",
- "renewAllAction": "Gia hạn tất cả chứng chỉ số",
+ "renewAllAction": "Gia hạn tất cả CCS",
"description": "Cloudron gia hạn tự động chứng chỉ số của Let’s Encrypt. Sử dụng lựa chọn này để kích hoạt lệnh gia hạn ngay lập tức.",
"title": "Gia hạn chứng chỉ số"
},
- "title": "Tên miền & Chứng chỉ số",
+ "title": "Tên miền & CCS",
"tooltipRemove": "Xoá tên miền",
"tooltipEdit": "Chỉnh tên miền",
"provider": "Nhà cung cấp",
"domain": "Tên miền",
- "addDomain": "Thêm tên miền"
+ "addDomain": "Thêm tên miền",
+ "syncDns": {
+ "title": "Đồng bộ DNS"
+ }
},
"app": {
"appInfo": {
"sso": "App này được cài đặt để xác minh người dùng bằng Thư mục ngừoi dùng Cloudron. Người dùng Cloudron có thể đăng nhập và sử dụng được ngay.",
"ssoEmail": "App này được cài đặt cho phép tất cả người dùng với một hộp thư trên Cloudron này. Hãy đăng nhập với email và mật khẩu trên Cloudron để truy cập vào hộp thư.",
- "package": "Gói đóng gói",
+ "package": "Bản đóng gói",
"customAppUpdateWarning": "Đây là một app tuỳ chỉnh không có trên Cửa hàng app và sẽ không nhận được các bản cập nhật mới. Xem phần Hướng dẫn để biết cách cập nhật app tuỳ chỉnh.",
"firstTimeTitle": "Lần sử dụng đầu tiên",
"firstTimeCollapseHeader": "Hướng dẫn cho lần cài đặt đầu tiên",
@@ -1195,7 +1199,7 @@
"info": {
"updateAvailableAction": "Có phiên bản cập nhật mới",
"customAppUpdateInfo": "Phiên bản mới không có sẵn cho các app tuỳ chỉnh",
- "checkForUpdatesAction": "Kiểm tra phiên bản mới",
+ "checkForUpdatesAction": "Kiểm tra cập nhật",
"lastUpdated": "Lần cuối cập nhật",
"packageVersion": "Phiên bản đóng gói",
"appId": "ID của app",
diff --git a/src/translation/zh_Hans.json b/src/translation/zh_Hans.json
index 91f83d721..326ccab09 100644
--- a/src/translation/zh_Hans.json
+++ b/src/translation/zh_Hans.json
@@ -17,7 +17,8 @@
"stateFilterHeader": "所有状态",
"tagsFilterHeader": "标签:{{ tags }}",
"tagsFilterHeaderAll": "所有标签",
- "domainsFilterHeader": "所有域名"
+ "domainsFilterHeader": "所有域名",
+ "groupsFilterHeader": "选择组"
},
"profile": {
"changeEmail": {
@@ -603,7 +604,8 @@
"requireAdminRoleLabel": "只有管理员用户才能使用 SFTP",
"resetToDefaults": "重置为默认选项",
"accessControlDescription": "允许非管理员用户使用 SFTP 会允许他们接触到配置文件和密钥。对于有些应用(如 WordPress),他们也可以记录到密码。"
- }
+ },
+ "refresh": "刷新"
},
"settings": {
"title": "设置",
@@ -670,6 +672,9 @@
"language": {
"title": "语言",
"description": "在这里可以设置 Cloudron 的默认语言。这个设置同样会被应用于通知性的邮件,如用户邀请和密码重置。每个用户都可以单独设置自己的语言偏好,应用于自己的控制面板。"
+ },
+ "registryConfig": {
+ "provider": "Docker 仓库服务商"
}
},
"support": {
@@ -798,6 +803,12 @@
"title": "确定要删除 {{ domain }}?",
"description": "将会删除域名 {{ domain }}。",
"removeAction": "删除"
+ },
+ "syncDns": {
+ "syncAction": "同步 DNS",
+ "showLogsAction": "显示日志",
+ "title": "同步 DNS",
+ "description": "此操作将会重建所有域名下应用和 Email 的 DNS 记录。"
}
},
"notifications": {
@@ -1253,7 +1264,7 @@
},
"appInfo": {
"appDocsUrl": "请从 {{ title }} 文档中查找应用相关的信息。如果你需要更多帮助,请参考 Cloudron 的 {{ title }} 论坛。",
- "postInstallConfirmCheckbox": "我已知晓",
+ "postInstallConfirmCheckbox": "我知道了",
"firstTimeTitle": "首次使用",
"firstTimeCollapseHeader": "首次使用设置指南",
"customAppUpdateWarning": "这是一个自定义应用,并非从 App Store 安装,所以不会自动更新。关于如果更新一个自定义应用,请参考 文档。",
@@ -1401,7 +1412,8 @@
"ja": "Japanese",
"nl": "Dutch",
"zh_Hans": "简体中文",
- "vi": "Vietnamese"
+ "vi": "Vietnamese",
+ "es": "西班牙语"
},
"volumes": {
"title": "磁盘卷",
diff --git a/src/views/profile.html b/src/views/profile.html
index 92c7f33f3..8cedc42a8 100644
--- a/src/views/profile.html
+++ b/src/views/profile.html
@@ -430,7 +430,7 @@
@@ -443,7 +443,8 @@
{{ token.name || 'unnamed' }}
{{ 'profile.apiTokens.name' | tr }}
- {{ 'profile.apiTokens.expiresAt' | tr }}
+ {{ 'profile.apiTokens.lastUsed' | tr }}
{{ 'main.actions' | tr }}