1722 lines
74 KiB
JSON
1722 lines
74 KiB
JSON
{
|
||
"apps": {
|
||
"title": "My Apps",
|
||
"noApps": {
|
||
"title": "No apps installed yet!",
|
||
"description": "How about installing some? Check out the <a href=\"{{ appStoreLink }}\">App Store</a>."
|
||
},
|
||
"noAccess": {
|
||
"title": "You don't have access to any apps yet.",
|
||
"description": "Once you do, they will show up here."
|
||
},
|
||
"searchPlaceholder": "Search Apps",
|
||
"auth": {
|
||
"sso": "Log in with Cloudron credentials",
|
||
"nosso": "Log in with dedicated account",
|
||
"email": "Log in with email address",
|
||
"openid": "Log in with Cloudron OpenID"
|
||
},
|
||
"noMatchesPlaceholder": "No matching apps"
|
||
},
|
||
"main": {
|
||
"offline": "Cloudron is offline. Reconnecting…",
|
||
"logout": "Log out",
|
||
"dialog": {
|
||
"cancel": "Cancel",
|
||
"save": "Save",
|
||
"close": "Close",
|
||
"no": "No",
|
||
"yes": "Yes",
|
||
"delete": "Delete",
|
||
"edit": "Edit",
|
||
"done": "Done"
|
||
},
|
||
"username": "Username",
|
||
"displayName": "Display name",
|
||
"actions": "Actions",
|
||
"table": {
|
||
"version": "Version",
|
||
"created": "Created"
|
||
},
|
||
"action": {
|
||
"reboot": "Reboot",
|
||
"logs": "Logs",
|
||
"remove": "Remove",
|
||
"edit": "Edit",
|
||
"add": "Add",
|
||
"next": "Next",
|
||
"configure": "Configure",
|
||
"restart": "Restart",
|
||
"reset": "Reset",
|
||
"loadMore": "Load more"
|
||
},
|
||
"rebootDialog": {
|
||
"title": "Reboot Server",
|
||
"description": "All apps and services will restart automatically.<br/><br/>Reboot the server now?",
|
||
"rebootAction": "Reboot now"
|
||
},
|
||
"searchPlaceholder": "Search",
|
||
"multiselect": {
|
||
"selected": "{{ n }} selected",
|
||
"select": "Select"
|
||
},
|
||
"navbar": {
|
||
"users": "Users",
|
||
"groups": "Groups"
|
||
},
|
||
"statusEnabled": "Enabled",
|
||
"loadingPlaceholder": "Loading",
|
||
"platform": {
|
||
"startupFailed": "Platform startup failed"
|
||
},
|
||
"sidebar": {
|
||
"collapseAction": "Collapse sidebar"
|
||
}
|
||
},
|
||
"appstore": {
|
||
"title": "App Store",
|
||
"category": {
|
||
"all": "All",
|
||
"popular": "Popular",
|
||
"newApps": "New Apps"
|
||
},
|
||
"searchPlaceholder": "Search for alternatives like GitHub, Dropbox, Slack, Trello, …",
|
||
"unstable": "Unstable",
|
||
"installDialog": {
|
||
"lastUpdated": "Last updated {{ date }}",
|
||
"memoryRequirement": "Requires at least {{ size }} memory",
|
||
"location": "Location",
|
||
"locationPlaceholder": "Leave empty to use bare domain",
|
||
"manualWarning": "Manually set up A (IPv4) and AAAA (IPv6) DNS records for <b>{{ location }}</b> pointing to this server",
|
||
"userManagement": "User management",
|
||
"userManagementNone": "This app has its own user management.",
|
||
"userManagementMailbox": "Users with a <a href=\"/#/mailboxes\">mailbox</a> can log in with their mailbox email and Cloudron password.",
|
||
"userManagementLeaveToApp": "Leave user management to the app",
|
||
"userManagementAllUsers": "Allow all users on this Cloudron",
|
||
"userManagementSelectUsers": "Only allow the following users and groups",
|
||
"errorUserManagementSelectAtLeastOne": "Select at least one user or group",
|
||
"users": "Users",
|
||
"groups": "Groups",
|
||
"configuredForCloudronEmail": "This app is pre-configured for use with <a href=\"{{ emailDocsLink }}\" target=\"_blank\">Cloudron Email</a>.",
|
||
"cloudflarePortWarning": "Cloudflare proxying must be disabled for the app's domain to access this port",
|
||
"portReadOnly": "read-only",
|
||
"ephemeralPortWarning": "Using ephemeral ports can cause unpredictable conflicts."
|
||
},
|
||
"appNotFoundDialog": {
|
||
"title": "App not found",
|
||
"description": "There is no such app <b>{{ appId }}</b> with version <b>{{ version }}</b>."
|
||
},
|
||
"action": {
|
||
"addCustomApp": "Add custom app"
|
||
}
|
||
},
|
||
"users": {
|
||
"users": {
|
||
"user": "User",
|
||
"groups": "Groups",
|
||
"empty": "No users found",
|
||
"superadminTooltip": "This user is a superadmin",
|
||
"adminTooltip": "This user is an admin",
|
||
"usermanagerTooltip": "This user can manage groups and other users",
|
||
"inactiveTooltip": "User is inactive",
|
||
"externalLdapTooltip": "From external LDAP directory",
|
||
"resetPasswordTooltip": "Reset password",
|
||
"invitationTooltip": "Invite",
|
||
"setGhostTooltip": "Impersonate",
|
||
"mailmanagerTooltip": "This user can manage users and mailboxes",
|
||
"noMatchesPlaceholder": "No matching user",
|
||
"emptyPlaceholder": "No users"
|
||
},
|
||
"groups": {
|
||
"name": "Name",
|
||
"users": "Users",
|
||
"externalLdapTooltip": "From external LDAP directory",
|
||
"emptyPlaceholder": "No groups",
|
||
"noMatchesPlaceholder": "No matching group"
|
||
},
|
||
"settings": {
|
||
"allowProfileEditCheckbox": "Allow users to edit their name and email",
|
||
"require2FACheckbox": "Require users to set up 2FA",
|
||
"saveAction": "Save",
|
||
"title": "Settings"
|
||
},
|
||
"externalLdap": {
|
||
"title": "Connect an External Directory",
|
||
"description": "Synchronize and authenticate users and groups from an external LDAP or Active Directory server. Synchronization runs periodically every 4 hours.",
|
||
"noopInfo": "No external directory configured",
|
||
"provider": "Provider",
|
||
"server": "Server URL",
|
||
"acceptSelfSignedCert": "Accept self-signed certificate",
|
||
"baseDn": "Base DN",
|
||
"filter": "Filter",
|
||
"usernameField": "Username field",
|
||
"syncGroups": "Sync groups",
|
||
"groupBaseDn": "Group Base DN",
|
||
"groupFilter": "Group Filter",
|
||
"groupnameField": "Groupname Field",
|
||
"auth": "Auth",
|
||
"autocreateUsersOnLogin": "Auto-create users on login",
|
||
"syncAction": "Sync now",
|
||
"configureAction": "Configure",
|
||
"bindUsername": "Bind DN/Username (optional)",
|
||
"bindPassword": "Bind password (optional)",
|
||
"errorSelfSignedCert": "Server is using an invalid or self-signed certificate.",
|
||
"disableWarning": "The authentication source of all existing users will be reset to authenticate against the local password database."
|
||
},
|
||
"addUserDialog": {
|
||
"title": "Add User",
|
||
"sendInviteCheckbox": "Send invitation email",
|
||
"addUserAction": "Add"
|
||
},
|
||
"user": {
|
||
"fullName": "Full name",
|
||
"username": "Username",
|
||
"role": "Role",
|
||
"groups": "Groups",
|
||
"noGroups": "No groups available",
|
||
"usernamePlaceholder": "Optional. If not provided, user can pick during sign up.",
|
||
"displayName": "Display name",
|
||
"primaryEmail": "Primary email",
|
||
"recoveryEmail": "Password recovery email",
|
||
"activeCheckbox": "User is active",
|
||
"displayNamePlaceholder": "Optional. If not provided, user can provide during sign up.",
|
||
"fallbackEmailPlaceholder": "If not specified, primary email will be used"
|
||
},
|
||
"deleteUserDialog": {
|
||
"title": "Delete User",
|
||
"description": "After deletion, the user will not be able to access the dashboard or login to any of the apps. Note that any user data inside the apps is not removed.<br/><br/>Delete user \"{{ username }}\" ?",
|
||
"deleteAction": "Delete"
|
||
},
|
||
"editUserDialog": {
|
||
"title": "Edit User",
|
||
"externalLdapWarning": "This user is synced from the external LDAP directory."
|
||
},
|
||
"addGroupDialog": {
|
||
"title": "Add Group"
|
||
},
|
||
"group": {
|
||
"name": "Name",
|
||
"users": "Users",
|
||
"addGroupAction": "Add",
|
||
"allowedApps": "Allowed apps"
|
||
},
|
||
"editGroupDialog": {
|
||
"title": "Edit Group",
|
||
"externalLdapWarning": "This group is synced from the external LDAP directory."
|
||
},
|
||
"deleteGroupDialog": {
|
||
"title": "Delete Group",
|
||
"description": "This group has {{ memberCount }} member(s). <br/><br/>Delete group \"{{ name }}\"?",
|
||
"deleteAction": "Delete"
|
||
},
|
||
"passwordResetDialog": {
|
||
"title": "Reset password for {{ username }}",
|
||
"description": "The following password reset link was sent to {{ email }}:",
|
||
"reset2FAAction": "Reset 2FA",
|
||
"sendAction": "Send mail",
|
||
"descriptionLink": "Copy password reset link",
|
||
"descriptionEmail": "Send password reset link"
|
||
},
|
||
"externalLdapDialog": {
|
||
"title": "Configure LDAP"
|
||
},
|
||
"role": {
|
||
"user": "User",
|
||
"usermanager": "User Manager",
|
||
"admin": "Administrator",
|
||
"owner": "Superadmin",
|
||
"mailmanager": "User & Email Manager"
|
||
},
|
||
"invitationDialog": {
|
||
"title": "Invite User",
|
||
"description": "The following invite link was sent to {{ email }}:",
|
||
"sendAction": "Send mail",
|
||
"descriptionLink": "Invite link",
|
||
"descriptionEmail": "Email invite link",
|
||
"context": "Invite user \"{{ username }}\""
|
||
},
|
||
"setGhostDialog": {
|
||
"title": "Impersonate User",
|
||
"description": "Set a temporary password to log in on behalf of this user to apps or the dashboard. This password is valid for 6 hours.",
|
||
"password": "Temporary password",
|
||
"setPassword": "Set password",
|
||
"generatePassword": "Generate Password",
|
||
"context": "Impersonate user \"{{ username }}\""
|
||
},
|
||
"invitationNotification": {
|
||
"body": "Email sent to {{ email }}"
|
||
},
|
||
"exposedLdap": {
|
||
"description": "The LDAP server lets external apps authenticate users against the Cloudron user directory.",
|
||
"ipRestriction": {
|
||
"description": "Limit Directory Server access to specific IPs or ranges",
|
||
"placeholder": "Line-separated IP addresses or subnets. Lines starting with <code>#</code> are treated as comments.",
|
||
"label": "Allowed IPs & ranges"
|
||
},
|
||
"secret": {
|
||
"label": "Bind password",
|
||
"description": "Authenticate queries with the user DN <i>{{ userDN }}</i> and this secret",
|
||
"url": "Server URL"
|
||
},
|
||
"cloudflarePortWarning": "Cloudflare proxying must be disabled on the dashboard domain to access the LDAP server",
|
||
"enable": "Enable LDAP server",
|
||
"title": "LDAP Server",
|
||
"enabled": "Enable LDAP server"
|
||
},
|
||
"title": "Users",
|
||
"2FAResetDialog": {
|
||
"title": "Reset User 2FA",
|
||
"description": "Remove the existing 2FA setup for user “{{ username }}”?"
|
||
}
|
||
},
|
||
"profile": {
|
||
"title": "Profile",
|
||
"primaryEmail": "Primary email",
|
||
"passwordRecoveryEmail": "Password recovery email",
|
||
"language": "Language",
|
||
"changePassword": {
|
||
"title": "Change Password",
|
||
"currentPassword": "Current password",
|
||
"newPassword": "New password",
|
||
"newPasswordRepeat": "Repeat new password",
|
||
"errorPasswordsDontMatch": "Passwords don't match"
|
||
},
|
||
"disable2FA": {
|
||
"title": "Disable Two-Factor Authentication",
|
||
"password": "Password",
|
||
"disable": "Disable"
|
||
},
|
||
"enable2FA": {
|
||
"title": "Enable Two-Factor Authentication",
|
||
"authenticatorAppDescription": "Use Google Authenticator (<a href=\"{{ googleAuthenticatorPlayStoreLink }}\" target=\"_blank\">Android</a>, <a href=\"{{ googleAuthenticatorITunesLink }}\" target=\"_blank\">iOS</a>), FreeOTP authenticator (<a href=\"{{ freeOTPPlayStoreLink }}\" target=\"_blank\">Android</a>, <a href=\"{{ freeOTPITunesLink }}\" target=\"_blank\">iOS</a>) or a similar TOTP app to scan the secret.",
|
||
"token": "Token",
|
||
"enable": "Enable",
|
||
"mandatorySetup": "2FA is required to access the dashboard. Please complete the setup to continue.",
|
||
"passkeyOption": "Setup passkey",
|
||
"totpOption": "Setup TOTP",
|
||
"registerPasskey": "Register passkey"
|
||
},
|
||
"appPasswords": {
|
||
"title": "App Passwords",
|
||
"app": "App",
|
||
"name": "Name",
|
||
"noPasswordsPlaceholder": "No app passwords",
|
||
"description": "App passwords are a security measure to protect your Cloudron user account. If you need to access a Cloudron app from an untrusted mobile app or client, you can log in with your username and the alternate password generated here.",
|
||
"expires": "Expires"
|
||
},
|
||
"apiTokens": {
|
||
"title": "API Tokens",
|
||
"name": "Name",
|
||
"description": "Use these personal access tokens to authenticate with the <a target=\"_blank\" href=\"{{ apiDocsLink }}\">Cloudron API</a>.",
|
||
"noTokensPlaceholder": "No API tokens",
|
||
"lastUsed": "Last used",
|
||
"neverUsed": "never",
|
||
"scope": "Scope",
|
||
"readonly": "Readonly",
|
||
"readwrite": "Read and Write",
|
||
"allowedIpRangesPlaceholder": "Comma-separated IPs or Subnets",
|
||
"allowedIpRanges": "Allowed IPs"
|
||
},
|
||
"loginTokens": {
|
||
"title": "Login Tokens",
|
||
"description": "You have {{ webadminTokenCount}} active web token(s) and {{ cliTokenCount }} CLI token(s).",
|
||
"logoutAll": "Log out from all"
|
||
},
|
||
"changeEmail": {
|
||
"title": "Change Primary Email",
|
||
"email": "New Email",
|
||
"password": "Confirm with Password"
|
||
},
|
||
"changeFallbackEmail": {
|
||
"title": "Change Password Recovery Email"
|
||
},
|
||
"createAppPassword": {
|
||
"title": "Add App Password",
|
||
"name": "Password name",
|
||
"app": "App",
|
||
"description": "Use the following password to authenticate against the app:",
|
||
"copyNow": "Please copy the password now. It won't be shown again for security purposes.",
|
||
"expiresAt": "Expiry date"
|
||
},
|
||
"createApiToken": {
|
||
"title": "Add API Token",
|
||
"name": "API token name",
|
||
"description": "New API token:",
|
||
"copyNow": "Please copy the API token now. It won't be shown again for security purposes.",
|
||
"access": "API access",
|
||
"allowedIpRanges": "Allowed IP range(s)"
|
||
},
|
||
"changePasswordAction": "Change password",
|
||
"disable2FAAction": "Disable 2FA",
|
||
"enable2FAAction": "Enable 2FA",
|
||
"passwordResetNotification": {
|
||
"body": "Email sent to {{ email }}"
|
||
},
|
||
"removeApiToken": {
|
||
"title": "Remove API Token",
|
||
"description": "Remove API token \"{{ name }}\" ?"
|
||
},
|
||
"removeAppPassword": {
|
||
"title": "Remove App Password",
|
||
"description": "Remove app password \"{{ name }}\" ?"
|
||
},
|
||
"twoFactorAuth": {
|
||
"title": "Two-factor authentication",
|
||
"disabled": "Disabled",
|
||
"totpEnabled": "Using time-based one-time password (TOTP)",
|
||
"passkeyEnabled": "Using passkey"
|
||
}
|
||
},
|
||
"backups": {
|
||
"title": "Backups",
|
||
"location": {
|
||
"remount": "Remount Storage"
|
||
},
|
||
"schedule": {
|
||
"title": "Schedule & retention",
|
||
"schedule": "Schedule",
|
||
"retentionPolicy": "Retention Policy"
|
||
},
|
||
"listing": {
|
||
"title": "System Backups",
|
||
"noBackups": "No backups",
|
||
"contents": "Contents",
|
||
"version": "Version",
|
||
"noApps": "No apps",
|
||
"appCount": "{{ appCount }} App(s)",
|
||
"tooltipDownloadBackupConfig": "Download config",
|
||
"cleanupBackups": "Cleanup backups",
|
||
"backupNow": "Backup now",
|
||
"tooltipPreservedBackup": "This backup will be preserved",
|
||
"description": "System backups contain Cloudron configuration and app installation metadata. They can be used to <a href=\"{{restoreLink}}\" target=\"_blank\">restore</a> or <a href=\"{{migrateLink}}\" target=\"_blank\">migrate</a> the entire Cloudron installation to another server."
|
||
},
|
||
"backupDetails": {
|
||
"title": "Backup Details",
|
||
"id": "Backup ID",
|
||
"date": "Created",
|
||
"version": "Package version",
|
||
"size": "Size",
|
||
"duration": "Backup duration",
|
||
"lastIntegrityCheck": "Last integrity check",
|
||
"integrityNever": "never"
|
||
},
|
||
"configureBackupSchedule": {
|
||
"title": "Configure Backup Schedule & Retention",
|
||
"schedule": {
|
||
"context": "Configure schedule & retention of backup site \"{{ name }}\"",
|
||
"description": "Set the days and times for backups. Make sure this schedule does not overlap with the <a href=\"/#/system-update\">update schedule</a>.",
|
||
"title": "Backup schedule"
|
||
},
|
||
"days": "Days",
|
||
"hours": "Hours",
|
||
"retentionPolicy": "Retention policy",
|
||
"disable": "Disable automatic backups",
|
||
"enable": "Enable automatic backups"
|
||
},
|
||
"configureBackupStorage": {
|
||
"title": "Configure Backup Site",
|
||
"provider": "Storage provider",
|
||
"mountPoint": "Mount point",
|
||
"mountPointDescription": "The mount point has to be set up manually. See <a href=\"{{ providerDocsLink }}\" target=\"_blank\">docs</a>.",
|
||
"localDirectory": "Local backup directory",
|
||
"hardlinksLabel": "Use hardlinks",
|
||
"s3Endpoint": "Endpoint",
|
||
"acceptSelfSignedCerts": "Accept self-signed certificate",
|
||
"bucketName": "Bucket name",
|
||
"prefix": "Prefix",
|
||
"region": "Region",
|
||
"s3AccessKeyId": "Access key ID",
|
||
"s3SecretAccessKey": "Secret access key",
|
||
"gcsServiceKey": "Service account key",
|
||
"format": "Storage format",
|
||
"s3LikeNote": "Please remove any object expiration lifecycle rules since it will corrupt rsync backups.",
|
||
"encryptionPassword": "Encryption password",
|
||
"encryptionDescription": "Save this passphrase in a safe place. Cloudron does not store this password. Backups cannot be decrypted without the passphrase.",
|
||
"memoryLimit": "Memory limit",
|
||
"memoryLimitDescription": "Memory limit for the backup task",
|
||
"uploadPartSize": "Upload part size",
|
||
"uploadPartSizeDescription": "Multi-part upload part size. Up to 3 parts are uploaded in parallel and requires as much memory.",
|
||
"downloadConcurrency": "Download concurrency",
|
||
"downloadConcurrencyDescription": "Number of files downloaded in parallel",
|
||
"uploadConcurrency": "Upload concurrency",
|
||
"uploadConcurrencyDescription": "Number of files uploaded in parallel",
|
||
"copyConcurrency": "Copy concurrency",
|
||
"copyConcurrencyDescription": "Number of remote file copied in parallel",
|
||
"encryptionPasswordPlaceholder": "Passphrase used to encrypt the backups",
|
||
"encryptionPasswordRepeat": "Repeat password",
|
||
"server": "Server IP / Hostname",
|
||
"remoteDirectory": "Remote directory",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"port": "Port",
|
||
"user": "User",
|
||
"privateKey": "Private Key",
|
||
"diskPath": "Disk path",
|
||
"cifsSealSupport": "Use seal encryption (requires at least SMB v3)",
|
||
"chown": "Remote file system supports chown",
|
||
"encryptFilenames": "Encrypt filenames",
|
||
"preserveAttributesLabel": "Preserve file attributes",
|
||
"name": "Name",
|
||
"encryptionHint": "Encryption password hint",
|
||
"usesEncryption": "Backup is encrypted",
|
||
"useForUpdates": "Store automatic-update backups here",
|
||
"backupContents": {
|
||
"title": "Backup contents",
|
||
"description": "Choose what to back up to this site.",
|
||
"everything": "Everything",
|
||
"excludeSelected": "Exclude selected",
|
||
"includeOnlySelected": "Include only selected",
|
||
"context": "Configure contents of backup site \"{{ name }}\""
|
||
},
|
||
"automaticUpdates": {
|
||
"title": "Backups of automatic updates",
|
||
"description": "A backup is always created before automatic updates. Select this option to store those backups on this site."
|
||
},
|
||
"useEncryption": "Encrypt backups",
|
||
"regionHelperText": "Defaults to \"us-east-1\" if left empty",
|
||
"prefixHelperText": "Backups are stored inside this subfolder"
|
||
},
|
||
"backupEdit": {
|
||
"title": "Edit Backup",
|
||
"label": "Label",
|
||
"preserved": {
|
||
"description": "Keep backup permanently (excluded from retention policy)",
|
||
"tooltip": "This will also preserve the mail and {{ appsLength }} app backup(s)."
|
||
},
|
||
"remotePath": "Remote path"
|
||
},
|
||
"archives": {
|
||
"title": "App Archive",
|
||
"info": "Info"
|
||
},
|
||
"deleteArchiveDialog": {
|
||
"title": "Delete Archive",
|
||
"description": "After deletion, the archive is cleaned up based on the backup policy.<br/><br/>Delete \"{{ appTitle }} ({{ appFqdn }})\"?"
|
||
},
|
||
"deleteArchive": {
|
||
"deleteAction": "Delete"
|
||
},
|
||
"restoreArchiveDialog": {
|
||
"title": "Restore from Archive",
|
||
"description": "Restore \"{{appId}}\" to the specified location using the backup from {{creationTime}}",
|
||
"restoreAction": "Restore",
|
||
"restoreActionOverwrite": "Restore and overwrite DNS"
|
||
},
|
||
"sites": {
|
||
"title": "Sites"
|
||
},
|
||
"site": {
|
||
"addDialog": {
|
||
"title": "Add Backup Site"
|
||
}
|
||
},
|
||
"configAction": "Config",
|
||
"contentAction": "Content",
|
||
"configureContent": {
|
||
"title": "Configure Backup Content"
|
||
},
|
||
"useFileAndFileNameEncryption": "File and filename encryption used",
|
||
"useFileEncryption": "File encryption used",
|
||
"checkIntegrity": "Check integrity"
|
||
},
|
||
"branding": {
|
||
"title": "Branding",
|
||
"cloudronName": "Cloudron name",
|
||
"logo": "Logo",
|
||
"footer": {
|
||
"title": "Footer"
|
||
},
|
||
"backgroundImage": "Login page background"
|
||
},
|
||
"emails": {
|
||
"title": "Email",
|
||
"domains": {
|
||
"title": "Domains",
|
||
"outbound": "Outbound only",
|
||
"disabled": "Disabled",
|
||
"stats": "Mailboxes: {{ mailboxCount }} / Usage: {{ usage }}",
|
||
"testEmailTooltip": "Send test email",
|
||
"inbound": "Inbound & Outbound"
|
||
},
|
||
"settings": {
|
||
"title": "Settings",
|
||
"location": "Mail Server Location",
|
||
"maxMailSize": "Maximum email size",
|
||
"spamFilter": "Spam filtering",
|
||
"spamFilterOverview": "{{ blacklistCount }} address(es) on the blocklist",
|
||
"solrFts": "Full-text search",
|
||
"acl": "Mail ACL",
|
||
"aclOverview": "{{ dnsblZonesCount }} DNSBL zone(s)",
|
||
"virtualAllMail": "\"All Mail\" folder"
|
||
},
|
||
"eventlog": {
|
||
"title": "Event Log",
|
||
"time": "Time",
|
||
"details": "Details",
|
||
"type": {
|
||
"outgoing": "Outgoing",
|
||
"deferred": "Deferred",
|
||
"incoming": "Incoming",
|
||
"queued": "Queued",
|
||
"denied": "Denied",
|
||
"bounce": "Bounce",
|
||
"spamFilterTrained": "Spam filter trained",
|
||
"bounceInfo": "Sending bounce",
|
||
"deferredInfo": "Delivery failure, will retry in {{ delay }}s.",
|
||
"inboundInfo": "Queued for inbound delivery",
|
||
"outboundInfo": "Queued for outbound delivery",
|
||
"deniedInfo": "Connection denied",
|
||
"spamFilterTrainedInfo": "Spam filter trained using mailbox content",
|
||
"overQuotaInfo": "Mailbox {{ mailbox }} is {{ quotaPercent }}% full",
|
||
"underQuotaInfo": "Mailbox {{ mailbox }} has fallen below {{ quotaPercent }}% quota",
|
||
"quota": "Mailbox Quota",
|
||
"savedInfo": "Saved",
|
||
"sentInfo": "Sent"
|
||
},
|
||
"mailFrom": "From",
|
||
"rcptTo": "To"
|
||
},
|
||
"changeDomainDialog": {
|
||
"description": "Set IMAP and SMTP server to the specified location",
|
||
"setAction": "Set location"
|
||
},
|
||
"changeMailSizeDialog": {
|
||
"description": "Incoming emails larger than this size are rejected"
|
||
},
|
||
"spamFilterDialog": {
|
||
"title": "Spam Filtering",
|
||
"blacklisteAddresses": "Email address blocklist",
|
||
"blacklisteAddressesInfo": "Matched addresses will end up in the user's Spam folder. '*' and '?' glob patterns are supported.",
|
||
"customRules": "Custom Spamassassin rules",
|
||
"blacklisteAddressesPlaceholder": "Line separated email address patterns",
|
||
"customRulesPlaceholder": "Custom Spamassassin Rules"
|
||
},
|
||
"testMailDialog": {
|
||
"title": "Send test email",
|
||
"description": "Sends a test email from <b>no-reply@{{ domain }}</b> to the specified address.",
|
||
"sendAction": "Send"
|
||
},
|
||
"solrConfig": {
|
||
"description": "Solr & Tika can be used to provide fast full-text search for emails and attachments. Solr is only run if the <a href=\"/#/services\" target=\"_blank\">mail service</a> has been allocated at least 3GB RAM."
|
||
},
|
||
"typeFilterHeader": "All Events",
|
||
"aclDialog": {
|
||
"dnsblZones": "DNSBL zones",
|
||
"dnsblZonesInfo": "Connecting IP address is looked up in these IP blocklists",
|
||
"dnsblZonesPlaceholder": "Line separated zone names",
|
||
"title": "Change Email ACL"
|
||
},
|
||
"mailboxSharing": {
|
||
"title": "Mailbox sharing",
|
||
"description": "When enabled, users can share their IMAP folders with other users"
|
||
},
|
||
"changeVirtualAllMailDialog": {
|
||
"description": "The “All Mail” folder is a single folder that contains all emails. It can be useful in mail clients that do not support recursive folder search."
|
||
}
|
||
},
|
||
"network": {
|
||
"title": "Network",
|
||
"ip": {
|
||
"title": "IPv4",
|
||
"description": "The IPv4 address used for DNS A records.",
|
||
"provider": "Provider",
|
||
"interface": "Network interface name",
|
||
"configure": "Configure",
|
||
"interfaceDescription": "List available devices on the server with:",
|
||
"detected": "detected",
|
||
"address": "IP address"
|
||
},
|
||
"firewall": {
|
||
"title": "Firewall",
|
||
"blockedIpRanges": "Blocked IPs & ranges",
|
||
"blocklist": "{{ blockCount }} IP(s) blocked",
|
||
"configure": {
|
||
"title": "Firewall Configuration",
|
||
"description": "Matched IP addresses will be blocked from accessing the server, including the mail server, the dashboard, and all apps. Make sure not to block your own IP.",
|
||
"blocklistPlaceholder": "Line separated IP addresses or subnets"
|
||
}
|
||
},
|
||
"dyndns": {
|
||
"title": "Dynamic DNS",
|
||
"description": "Keep DNS records in sync with a changing public IP address. Useful when Cloudron runs on a network with a frequently changing IP, such as a home connection."
|
||
},
|
||
"configureIp": {
|
||
"title": "Configure IPv4",
|
||
"providerGenericDescription": "The Public IP address of the server will be automatically detected."
|
||
},
|
||
"ipv4": {
|
||
"address": "IPv4 address"
|
||
},
|
||
"ipv6": {
|
||
"address": "IPv6 address",
|
||
"title": "IPv6",
|
||
"description": "The IPv6 address used for DNS AAAA records."
|
||
},
|
||
"configureIpv6": {
|
||
"title": "Configure IPv6"
|
||
},
|
||
"trustedIps": {
|
||
"description": "HTTP headers from matching IP addresses will be trusted.",
|
||
"title": "Configure Trusted IPs",
|
||
"summary": "{{ trustCount }} IPs trusted"
|
||
},
|
||
"trustedIpRanges": "Trusted IPs & ranges "
|
||
},
|
||
"services": {
|
||
"title": "Services",
|
||
"description": "Services provide functionality such as databases, email and authentication.",
|
||
"service": "Service",
|
||
"memoryUsage": "Memory usage",
|
||
"memoryLimit": "Memory limit",
|
||
"restartActionTooltip": "Restart",
|
||
"configure": {
|
||
"title": "Configure Service",
|
||
"resetToDefaults": "Reset to default",
|
||
"enableRecoveryMode": "Enable recovery mode",
|
||
"description": "Configure service \"{{ name }}\""
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Settings",
|
||
"appstoreAccount": {
|
||
"title": "Cloudron.io Account",
|
||
"description": "A Cloudron.io account is used to manage your subscription.",
|
||
"setupAction": "Set up account",
|
||
"subscription": "Subscription",
|
||
"cloudronId": "Cloudron ID",
|
||
"subscriptionChangeAction": "Manage subscription",
|
||
"subscriptionReactivateAction": "Reactivate Subscription",
|
||
"emailNotVerified": "Email not yet verified",
|
||
"account": "Account",
|
||
"unlinkAction": "Unlink account",
|
||
"unlinkDialog": {
|
||
"title": "Unlink Cloudron.io Account",
|
||
"description": "Unlink this Cloudron from the current Cloudron.io account. It can then be <a href=\"https://docs.cloudron.io/appstore/#account-change\" target=\"_blank\">linked</a> to another account."
|
||
}
|
||
},
|
||
"timezone": {
|
||
"title": "System time zone",
|
||
"description": "Used to schedule backups and updates. UI timestamps always follow the browser’s time zone."
|
||
},
|
||
"updates": {
|
||
"title": "Updates",
|
||
"checkForUpdatesAction": "Check for updates",
|
||
"updateAvailableAction": "Update available",
|
||
"stopUpdateAction": "Stop update",
|
||
"disabled": "Disabled",
|
||
"schedule": "Update schedule",
|
||
"description": "Platform and app updates are applied on the configured schedule, using the <a href=\"/#/system-settings\">System time zone</a>.",
|
||
"onLatest": "latest"
|
||
},
|
||
"updateScheduleDialog": {
|
||
"title": "Configure Automatic Update Schedule",
|
||
"disableCheckbox": "Disable automatic updates",
|
||
"enableCheckbox": "Enable automatic updates",
|
||
"selectOne": "Select at least one day and time",
|
||
"days": "Days",
|
||
"hours": "Hours",
|
||
"description": "Set the days and times for automatic platform and app updates. Ensure this schedule doesn’t overlap with backup schedules."
|
||
},
|
||
"updateDialog": {
|
||
"title": "Update Cloudron",
|
||
"blockingApps": "The apps below are blocking the update because they have pending actions:",
|
||
"blockingAppsInfo": "Please wait for the above operations to finish.",
|
||
"unstableWarning": "This update is a pre-release and not considered stable yet. Please update at your own risk.",
|
||
"changes": "Changes",
|
||
"skipBackupCheckbox": "Skip backup",
|
||
"updateAction": "Update",
|
||
"updateAvailable": "Cloudron {{ newVersion }} is available"
|
||
},
|
||
"language": {
|
||
"title": "Language",
|
||
"description": "The default language for Cloudron and system emails (e.g. invitations, password resets). Users can override the dashboard language in their profile."
|
||
},
|
||
"registryConfig": {
|
||
"provider": "Docker registry provider",
|
||
"providerOther": "Other"
|
||
}
|
||
},
|
||
"support": {
|
||
"help": {
|
||
"title": "Help",
|
||
"description": "Please use the following resources for help and support:\n\n* [Cloudron Forum]({{ forumLink }}) - Please use the Support and App specific categories for questions.\n* [Documentation]({{ docsLink }})\n* [App Packaging]({{ packagingLink }})\n* [API]({{ apiLink }})"
|
||
}
|
||
},
|
||
"system": {
|
||
"diskUsage": {
|
||
"title": "Disk Usage"
|
||
},
|
||
"systemMemory": {
|
||
"title": "System Memory"
|
||
},
|
||
"cpuUsage": {
|
||
"title": "CPU"
|
||
},
|
||
"info": {
|
||
"vendor": "Vendor",
|
||
"product": "Product",
|
||
"memory": "Memory",
|
||
"uptime": "Uptime",
|
||
"activationTime": "Cloudron creation time",
|
||
"cloudronVersion": "Cloudron version",
|
||
"ubuntuVersion": "Ubuntu version"
|
||
},
|
||
"graphs": {
|
||
"title": "Graphs"
|
||
},
|
||
"locale": {
|
||
"title": "Locale"
|
||
},
|
||
"title": "System",
|
||
"settings": {
|
||
"title": "Settings"
|
||
}
|
||
},
|
||
"eventlog": {
|
||
"title": "Event Log",
|
||
"time": "Time",
|
||
"source": "Source",
|
||
"details": "Details",
|
||
"filterAllEvents": "All Events"
|
||
},
|
||
"domains": {
|
||
"title": "Domains",
|
||
"domain": "Domain",
|
||
"provider": "Provider",
|
||
"renewCerts": {
|
||
"title": "Renew Certificates",
|
||
"description": "Let’s Encrypt certificates renew automatically. You can renew them manually if needed.",
|
||
"renewAllAction": "Renew all certs"
|
||
},
|
||
"changeDashboardDomain": {
|
||
"title": "Dashboard Domain",
|
||
"description": "Change the dashboard to the “my” subdomain of the selected domain",
|
||
"changeAction": "Change domain",
|
||
"confirmMessage": "This will invalidate all passkeys for users.",
|
||
"confirmTitle": "Really change dashboard domain?"
|
||
},
|
||
"domainDialog": {
|
||
"addTitle": "Add Domain",
|
||
"editTitle": "Edit Domain",
|
||
"domain": "Domain",
|
||
"provider": "DNS provider",
|
||
"route53AccessKeyId": "Access key ID",
|
||
"route53SecretAccessKey": "Secret access key",
|
||
"gcdnsServiceAccountKey": "Service account key",
|
||
"digitalOceanToken": "DigitalOcean token",
|
||
"gandiApiKey": "Gandi API key",
|
||
"goDaddyApiKey": "GoDaddy API key",
|
||
"goDaddyApiSecret": "GoDaddy API secret",
|
||
"cloudflareTokenType": "Token type",
|
||
"cloudflareTokenTypeGlobalApiKey": "Global API key",
|
||
"cloudflareTokenTypeApiToken": "API token",
|
||
"cloudflareEmail": "Cloudflare Email",
|
||
"linodeToken": "Linode token",
|
||
"nameComUsername": "Name.com username",
|
||
"nameComApiToken": "API token",
|
||
"namecheapUsername": "Namecheap username",
|
||
"namecheapApiKey": "Namecheap API Key",
|
||
"namecheapInfo": "The server’s IP address must be added to the allowlist for this API key",
|
||
"manualInfo": "All DNS records must be set up manually before installing an app",
|
||
"wildcardInfo": "Manually set up A (IPv4) and AAAA (IPv6) DNS records for <b>*.{{ domain }}.</b> and <b>{{ domain }}.</b> pointing to this server",
|
||
"letsEncryptInfo": "Let's Encrypt requires your server to be reachable on port 80",
|
||
"advancedAction": "Advanced settings…",
|
||
"zoneName": "Zone name",
|
||
"fallbackCert": "Fallback Certificate (optional)",
|
||
"fallbackCertCustomCert": "Custom Certificate",
|
||
"fallbackCertCustomCertInfo": "Provide a <a href=\"{{ customCertLink }}\" target=\"_blank\">wildcard certificate</a> to use for all apps on this domain. If not provided, a self-signed certificate is automatically generated.",
|
||
"fallbackCertKeyPlaceholder": "Key",
|
||
"fallbackCertCertificatePlaceholder": "Certificate",
|
||
"matrixHostname": "Matrix server location",
|
||
"mastodonHostname": "Mastodon server location",
|
||
"netcupCustomerNumber": "Netcup customer number",
|
||
"netcupApiKey": "Netcup API key",
|
||
"netcupApiPassword": "Netcup API password",
|
||
"vultrToken": "Vultr token",
|
||
"jitsiHostname": "Jitsi location",
|
||
"hetznerToken": "Hetzner token",
|
||
"cloudflareDefaultProxyStatus": "Enable proxying for new DNS records",
|
||
"porkbunApikey": "Porkbun API key",
|
||
"porkbunSecretapikey": "Porkbun secret API key",
|
||
"bunnyAccessKey": "Bunny access key",
|
||
"dnsimpleAccessToken": "Access token",
|
||
"ovhEndpoint": "OVH endpoint",
|
||
"ovhConsumerKey": "OVH consumer key",
|
||
"ovhAppKey": "OVH application key",
|
||
"ovhAppSecret": "OVH application secret",
|
||
"deSecToken": "deSEC token",
|
||
"gandiTokenType": "Token type",
|
||
"gandiTokenTypeApiKey": "API key (Deprecated)",
|
||
"gandiTokenTypePAT": "Personal Access Token (PAT)",
|
||
"inwxUsername": "INWX username",
|
||
"inwxPassword": "INWX password",
|
||
"customNameservers": "Domain uses custom (vanity) nameservers",
|
||
"zoneNamePlaceholder": "Optional. If not provided, defaults to the root domain.",
|
||
"carddavLocation": "CardDAV server location",
|
||
"caldavLocation": "CalDAV server location"
|
||
},
|
||
"removeDialog": {
|
||
"title": "Remove Domain",
|
||
"removeAction": "Remove",
|
||
"description": "Remove domain \"{{ domain }}\" ?"
|
||
},
|
||
"syncDns": {
|
||
"title": "Sync DNS",
|
||
"description": "Updates app and email DNS records for all domains.",
|
||
"syncAction": "Sync DNS"
|
||
},
|
||
"emptyPlaceholder": "No Domains",
|
||
"noMatchesPlaceholder": "No matching domain",
|
||
"description": "Adding a domain allows you to install apps on its subdomains.",
|
||
"wellknown": {
|
||
"editAction": "Well-known URIs",
|
||
"title": "Well-known URIs",
|
||
"context": "Configure responses to \"https://{{ domain }}/.well-known/\" URLs",
|
||
"description": "This feature requires an app installed on the root domain \"{{ domain }}\". See the <a href=\"{{docsLink}}\" target=\"_blank\">documentation</a> for details."
|
||
}
|
||
},
|
||
"notifications": {
|
||
"dismissTooltip": "Dismiss",
|
||
"markAllAsRead": "Mark all as read",
|
||
"settings": {
|
||
"title": "Notification Settings",
|
||
"backupFailed": "Backup failed",
|
||
"certificateRenewalFailed": "Certificate renewal failed",
|
||
"appOutOfMemory": "App ran out of memory",
|
||
"appUp": "App is back online",
|
||
"appDown": "App is down",
|
||
"rebootRequired": "Server reboot required",
|
||
"cloudronUpdateFailed": "Cloudron update failed",
|
||
"diskSpace": "Low disk space"
|
||
},
|
||
"settingsDialog": {
|
||
"description": "An email will be sent for the selected events to your primary email."
|
||
},
|
||
"allCaughtUp": "All caught up",
|
||
"title": "Notifications",
|
||
"showAll": "All",
|
||
"showUnread": "Unread",
|
||
"markUnread": "Mark as unread",
|
||
"markRead": "Mark as read"
|
||
},
|
||
"logs": {
|
||
"title": "Logs",
|
||
"clear": "Clear view",
|
||
"download": "Download full logs"
|
||
},
|
||
"terminal": {
|
||
"title": "Terminal",
|
||
"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 file",
|
||
"uploadTo": "Upload to {{ path }}"
|
||
},
|
||
"filemanager": {
|
||
"title": "File Manager",
|
||
"removeDialog": {
|
||
"reallyDelete": "Really delete?"
|
||
},
|
||
"newDirectoryDialog": {
|
||
"title": "New folder",
|
||
"create": "Create"
|
||
},
|
||
"newFileDialog": {
|
||
"title": "New filename",
|
||
"create": "Create"
|
||
},
|
||
"renameDialog": {
|
||
"reallyOverwrite": "A file with that name already exists. Overwrite existing file?",
|
||
"title": "Rename {{ fileName }}",
|
||
"newName": "New Name",
|
||
"rename": "Rename"
|
||
},
|
||
"toolbar": {
|
||
"new": "New",
|
||
"upload": "Upload",
|
||
"newFile": "New file",
|
||
"newFolder": "New folder",
|
||
"uploadFile": "Upload file",
|
||
"restartApp": "Restart App",
|
||
"uploadFolder": "Upload folder",
|
||
"openTerminal": "Open terminal",
|
||
"openLogs": "Open logs",
|
||
"refresh": "Refresh"
|
||
},
|
||
"extractionInProgress": "Extraction in progress",
|
||
"pasteInProgress": "Pasting in progress",
|
||
"deleteInProgress": "Deletion in progress",
|
||
"chownDialog": {
|
||
"title": "Change owner",
|
||
"newOwner": "New owner",
|
||
"change": "Change owner",
|
||
"recursiveCheckbox": "Change owner recursively"
|
||
},
|
||
"uploadingDialog": {
|
||
"title": "Uploading files ({{ countDone }}/{{ count }})",
|
||
"errorAlreadyExists": "One or more files already exist.",
|
||
"errorFailed": "Failed to upload one or more files. Please try again.",
|
||
"closeWarning": "Do not refresh the page until upload has finished.",
|
||
"retry": "Retry",
|
||
"overwrite": "Overwrite"
|
||
},
|
||
"extractDialog": {
|
||
"title": "Extracting {{ fileName }}",
|
||
"closeWarning": "Do not refresh the page until extract has finished."
|
||
},
|
||
"textEditorCloseDialog": {
|
||
"title": "File has unsaved changes",
|
||
"details": "Your changes will be lost if you don't save them",
|
||
"dontSave": "Don't Save"
|
||
},
|
||
"notFound": "Not found",
|
||
"list": {
|
||
"name": "Name",
|
||
"size": "Size",
|
||
"owner": "Owner",
|
||
"empty": "No files",
|
||
"symlink": "symlink to {{ target }}",
|
||
"menu": {
|
||
"rename": "Rename",
|
||
"chown": "Change ownership",
|
||
"extract": "Extract Here",
|
||
"download": "Download",
|
||
"delete": "Delete",
|
||
"edit": "Edit",
|
||
"cut": "Cut",
|
||
"copy": "Copy",
|
||
"paste": "Paste",
|
||
"selectAll": "Select all",
|
||
"open": "Open"
|
||
},
|
||
"mtime": "Modified"
|
||
},
|
||
"extract": {
|
||
"error": "Failed to extract: {{ message }}"
|
||
},
|
||
"newDirectory": {
|
||
"errorAlreadyExists": "Already exists"
|
||
},
|
||
"newFile": {
|
||
"errorAlreadyExists": "Already exists"
|
||
},
|
||
"status": {
|
||
"restartingApp": "restarting app"
|
||
},
|
||
"uploader": {
|
||
"uploading": "Uploading",
|
||
"exitWarning": "Upload still in progress. Really close this page?"
|
||
},
|
||
"textEditor": {
|
||
"undo": "Undo",
|
||
"redo": "Redo",
|
||
"save": "Save"
|
||
}
|
||
},
|
||
"email": {
|
||
"config": {
|
||
"title": "Email Configuration {{ domain }}",
|
||
"clientConfiguration": "Configuring Email Clients",
|
||
"sending": {
|
||
"title": "Sending"
|
||
},
|
||
"receiving": {
|
||
"title": "Receiving"
|
||
}
|
||
},
|
||
"incoming": {
|
||
"title": "Incoming Email",
|
||
"outgointServerInfo": "Outgoing Mail (SMTP)",
|
||
"sieveServerInfo": "ManageSieve",
|
||
"server": "Server",
|
||
"port": "Port",
|
||
"mailboxes": {
|
||
"title": "Mailboxes",
|
||
"addAction": "Add",
|
||
"name": "Name",
|
||
"owner": "Owner",
|
||
"aliases": "Aliases",
|
||
"usage": "Usage",
|
||
"emptyPlaceholder": "No mailboxes",
|
||
"noMatchesPlaceholder": "No matching mailboxes",
|
||
"stats": "Count: {{ mailboxCount }} / Usage: {{ usage }}"
|
||
},
|
||
"mailinglists": {
|
||
"title": "Mailing Lists",
|
||
"name": "Name",
|
||
"members": "Members",
|
||
"everyoneTooltip": "Posting allowed by non-members",
|
||
"membersOnlyTooltip": "Posting restricted to members only",
|
||
"emptyPlaceholder": "No mailing lists",
|
||
"noMatchesPlaceholder": "No matching mailing lists"
|
||
},
|
||
"catchall": {
|
||
"title": "Catch-all",
|
||
"description": "Emails sent to non-existing addresses will be forwarded to the following mailboxes",
|
||
"saveAction": "Save"
|
||
},
|
||
"incomingServerInfo": "Incoming Mail (IMAP)",
|
||
"howToConnectDescription": "Use the settings below to configure email clients.",
|
||
"incomingUserInfo": "Username",
|
||
"incomingPasswordInfo": "Password",
|
||
"incomingPasswordUsage": "Password of the owner of the mailbox",
|
||
"description": "Receive incoming emails for this domain"
|
||
},
|
||
"outbound": {
|
||
"title": "Email Relay",
|
||
"description": "Configure outbound mail delivery for this domain",
|
||
"noopAdminDomainWarning": "Cloudron cannot send user invites, password reset and other notifications when outbound email is disabled on the primary domain",
|
||
"noopNonAdminDomainWarning": "No email will be sent from this domain",
|
||
"mailRelay": {
|
||
"host": "SMTP host",
|
||
"port": "SMTP port (STARTTLS)",
|
||
"selfsignedCheckbox": "Accept self-signed certificate",
|
||
"apiTokenOrKey": "API Token/Key",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"spfDocInfo": "Cloudron does not automatically set up SPF record. Set it up manually by following the <a href=\"{{ spfDocsLink }}\" target=\"_blank\">{{ name }} docs</a>."
|
||
}
|
||
},
|
||
"signature": {
|
||
"title": "Email Signature",
|
||
"description": "The text here will be attached to all outbound mail from this domain.",
|
||
"plainTextFormat": "Text format",
|
||
"htmlFormat": "HTML format",
|
||
"customSignatureSet": "Custom signature configured",
|
||
"noSignatureSet": "No signature configured"
|
||
},
|
||
"dnsStatus": {
|
||
"description": "Status of DNS Records may show an error while DNS is propagating (~5 minutes). See the <a href=\"{{ emailDnsDocsLink }}\" target=\"_blank\">troubleshooting</a> docs for help.",
|
||
"namecheapInfo": "Namecheap requires manual steps for MX records",
|
||
"ptrInfo": "The PTR record is set by your VPS provider and not by your DNS provider.",
|
||
"hostname": "Hostname",
|
||
"domain": "Domain",
|
||
"expected": "Expected value",
|
||
"current": "Current value",
|
||
"type": "Record type",
|
||
"recordNotSet": "not set"
|
||
},
|
||
"smtpStatus": {
|
||
"blacklisted": "This server's IP {{ ip }} is on a blocklist.",
|
||
"notBlacklisted": "This server's IP {{ ip }} is <b>not</b> on a blocklist.",
|
||
"outboundSmtp": "Outbound SMTP",
|
||
"rblCheck": "DNS Blacklist Check"
|
||
},
|
||
"enableEmailDialog": {
|
||
"title": "Enable Incoming Email",
|
||
"description": "Cloudron will start receiving email for \"{{ domain }}\". See the documentation for the <a href=\"{{ requiredPortsDocsLink }}\" target=\"_blank\">required ports</a>.",
|
||
"noProviderInfo": "No DNS provider is set up. The DNS records listed in the Status tab have to be set up manually.",
|
||
"setupDnsCheckbox": "Set up Mail DNS records now",
|
||
"setupDnsInfo": "Automatically set up mail DNS records. You can also <a href=\"/#/domains\">sync DNS</a> later if you need to <a href=\"{{ importEmailDocsLink }}\">import</a> mailboxes first.",
|
||
"enableAction": "Enable"
|
||
},
|
||
"disableEmailDialog": {
|
||
"title": "Disable Incoming Email",
|
||
"description": "Cloudron will stop receiving emails for \"{{ domain }}\". Mailboxes and mailing lists on this domain will not be deleted.",
|
||
"disableAction": "Disable"
|
||
},
|
||
"addMailboxDialog": {
|
||
"title": "Add Mailbox",
|
||
"name": "Mailbox name",
|
||
"incomingDisabledWarning": "Incoming email for this domain is not enabled"
|
||
},
|
||
"editMailboxDialog": {
|
||
"title": "Edit Mailbox",
|
||
"owner": "Mailbox owner",
|
||
"aliases": "Aliases",
|
||
"noAliases": "No aliases",
|
||
"addAliasAction": "Add an alias",
|
||
"addAnotherAliasAction": "Add another alias",
|
||
"enableStorageQuota": "Storage quota"
|
||
},
|
||
"deleteMailboxDialog": {
|
||
"title": "Delete Mailbox",
|
||
"description": "After deletion, emails sent to this mailbox will bounce. You can choose to not delete existing emails for archival purposes. Archived emails are located at \"/home/yellowtent/boxdata/mail/vmail\" on the server.<br/><br/>Delete \"{{ name }}@{{ domain }}\"?",
|
||
"purgeMailboxCheckbox": "Delete all mail and filters in this mailbox",
|
||
"deleteAction": "Delete"
|
||
},
|
||
"addMailinglistDialog": {
|
||
"title": "Add Mailing List",
|
||
"members": "Mailing list members",
|
||
"membersOnlyCheckbox": "Restrict posting to members",
|
||
"name": "Mailing list name"
|
||
},
|
||
"editMailinglistDialog": {
|
||
"title": "Edit Mailing List"
|
||
},
|
||
"deleteMailinglistDialog": {
|
||
"title": "Delete Mailing List",
|
||
"description": "Delete mailing list\"{{ name }}@{{ domain }}\"?",
|
||
"deleteAction": "Delete"
|
||
},
|
||
"updateMailinglistDialog": {
|
||
"activeCheckbox": "Mailing list is active"
|
||
},
|
||
"updateMailboxDialog": {
|
||
"activeCheckbox": "Mailbox is active",
|
||
"enablePop3": "POP3 access"
|
||
},
|
||
"howToConnectInfoModal": "Configuring Email Clients",
|
||
"customFrom": {
|
||
"title": "Allow custom from address",
|
||
"description": "Let authenticated users and apps use any from address"
|
||
}
|
||
},
|
||
"app": {
|
||
"logsActionTooltip": "Logs",
|
||
"terminalActionTooltip": "Terminal",
|
||
"filemanagerActionTooltip": "File manager",
|
||
"docsActionTooltip": "Documentation",
|
||
"firstTimeSetupAction": "First Time Setup",
|
||
"docsAction": "Documentation",
|
||
"adminPageAction": "Admin Page",
|
||
"projectWebsiteAction": "Project website",
|
||
"displayTabTitle": "Display",
|
||
"locationTabTitle": "Location",
|
||
"accessControlTabTitle": "Access Control",
|
||
"resourcesTabTitle": "Resources",
|
||
"storageTabTitle": "Storage",
|
||
"graphsTabTitle": "Graphs",
|
||
"securityTabTitle": "Security",
|
||
"emailTabTitle": "Email",
|
||
"updatesTabTitle": "Updates",
|
||
"backupsTabTitle": "Backups",
|
||
"repairTabTitle": "Repair",
|
||
"uninstallTabTitle": "Uninstall",
|
||
"display": {
|
||
"label": "Label",
|
||
"tags": "Tags",
|
||
"icon": "Icon",
|
||
"tagsPlaceholder": "Use space to separate tags",
|
||
"tagsTooltip": "For grouping in the dashboard",
|
||
"saveAction": "Save"
|
||
},
|
||
"location": {
|
||
"location": "Location",
|
||
"locationPlaceholder": "Leave empty to use bare domain",
|
||
"redirections": "Redirections",
|
||
"noRedirections": "No redirect domains",
|
||
"addRedirectionAction": "Add a redirection",
|
||
"saveAction": "Save",
|
||
"aliases": "Aliases",
|
||
"addAliasAction": "Add an alias",
|
||
"noAliases": "No alias domains",
|
||
"dnsoverwrite": "Some DNS records already exist. Agree to overwrite."
|
||
},
|
||
"accessControl": {
|
||
"userManagement": {
|
||
"description": "Configure who can log in and use the app",
|
||
"descriptionSftp": "This setting also controls SFTP access.",
|
||
"dashboardVisibility": "Dashboard visibility",
|
||
"visibleForAllUsers": "Visible to all users on this Cloudron",
|
||
"visibleForSelected": "Only visible to the following users and groups"
|
||
},
|
||
"sftp": {
|
||
"title": "SFTP",
|
||
"server": "Server",
|
||
"port": "Port",
|
||
"username": "Username"
|
||
},
|
||
"operators": {
|
||
"title": "Operators",
|
||
"description": "Configure who can maintain the app"
|
||
},
|
||
"dashboardVisibility": {
|
||
"description": "Configure who can see this app on the dashboard."
|
||
}
|
||
},
|
||
"resources": {
|
||
"memory": {
|
||
"title": "Memory limit",
|
||
"description": "Maximum memory the app can use",
|
||
"resizeAction": "Resize"
|
||
},
|
||
"cpu": {
|
||
"setAction": "Scale",
|
||
"title": "CPU limit",
|
||
"description": "Maximum percent of CPU the app can use"
|
||
},
|
||
"devices": {
|
||
"label": "Devices",
|
||
"description": "Comma-separated list of devices attached to the app"
|
||
}
|
||
},
|
||
"storage": {
|
||
"appdata": {
|
||
"title": "Data directory",
|
||
"description": "Move the app’s data to a <a href=\"/#/volumes\">volume</a>. 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 mounted",
|
||
"addMountAction": "Add a volume mount",
|
||
"saveAction": "Save",
|
||
"permissions": {
|
||
"readOnly": "Read Only",
|
||
"readWrite": "Read and Write",
|
||
"label": "Permissions"
|
||
}
|
||
}
|
||
},
|
||
"graphs": {
|
||
"period": {
|
||
"12h": "12 hours",
|
||
"24h": "24 hours",
|
||
"7d": "7 days",
|
||
"30d": "30 days",
|
||
"6h": "6 hours",
|
||
"live": "Live",
|
||
"1h": "1 hour"
|
||
},
|
||
"diskIOTotal": "Total read: {{ read }} Total write: {{ write }}",
|
||
"networkIOTotal": "Total inbound: {{ inbound }} Total outbound: {{ outbound }}"
|
||
},
|
||
"email": {
|
||
"from": {
|
||
"title": "Mail from address",
|
||
"mailboxPlaceholder": "Mailbox name",
|
||
"saveAction": "Save",
|
||
"enable": "Use Cloudron Mail to send email",
|
||
"disable": "Do not configure the app's mail delivery settings",
|
||
"enableDescription": "Configure the app to send email using the address below and <a href=\"{{ domainConfigLink }}\">outbound email</a> settings.",
|
||
"disableDescription": "The app's mail delivery settings remain unchanged. You can configure them inside the app.",
|
||
"displayName": "From name"
|
||
},
|
||
"inbox": {
|
||
"disable": "Do not configure inbox",
|
||
"disableDescription": "The app's incoming mail settings remain unchanged. You can configure them inside the app. Select this option if the domain’s email is not hosted on Cloudron.",
|
||
"title": "Incoming mail",
|
||
"enable": "Use Cloudron Mail to receive emails",
|
||
"enableDescription": "Configure the app to receive email using the address below. Select this option if {{ domain }}'s email is hosted on this server."
|
||
},
|
||
"configuration": {
|
||
"title": "Outbound mail"
|
||
}
|
||
},
|
||
"security": {
|
||
"csp": {
|
||
"description": "Override any CSP headers defined by the app",
|
||
"title": "Content Security Policy",
|
||
"saveAction": "Save",
|
||
"insertCommonCsp": "Insert common CSP",
|
||
"commonPattern": {
|
||
"allowEmbedding": "Allow embedding",
|
||
"sameOriginEmbedding": "Allow embedding (only subdomains)",
|
||
"allowCdnAssets": "Allow CDN assets",
|
||
"reportOnly": "Report CSP violations",
|
||
"strictBaseline": "Strict baseline"
|
||
}
|
||
},
|
||
"robots": {
|
||
"title": "Robots.txt",
|
||
"description": "By default, bots can index this app",
|
||
"commonPattern": {
|
||
"allowAll": "Allow all (default)",
|
||
"disallowAll": "Disallow all",
|
||
"disallowCommonBots": "Disallow common bots",
|
||
"disallowAdminPaths": "Disallow admin paths",
|
||
"disallowApiPaths": "Disallow API paths"
|
||
},
|
||
"insertCommonRobotsTxt": "Insert common robots.txt"
|
||
},
|
||
"hstsPreload": "Enable HSTS Preload (including subdomains)"
|
||
},
|
||
"updates": {
|
||
"info": {
|
||
"description": "App title & version",
|
||
"appId": "App ID",
|
||
"packageVersion": "Package version",
|
||
"lastUpdated": "Last updated",
|
||
"customAppUpdateInfo": "Auto-update is not available for custom apps.",
|
||
"installedAt": "Installed",
|
||
"packager": "Packager"
|
||
},
|
||
"auto": {
|
||
"description": "App updates are applied periodically based on the <a href=\"/#/system-update\">update schedule</a>",
|
||
"title": "Automatic updates"
|
||
},
|
||
"updates": {
|
||
"description": "Cloudron automatically checks the App Store for updates. You can also check manually."
|
||
}
|
||
},
|
||
"backups": {
|
||
"backups": {
|
||
"title": "Backups",
|
||
"description": "Create a complete snapshot of the app",
|
||
"downloadConfigTooltip": "Download config",
|
||
"cloneTooltip": "Clone",
|
||
"restoreTooltip": "Restore",
|
||
"createBackupAction": "Create backup",
|
||
"importAction": "Import backup",
|
||
"downloadBackupTooltip": "Download",
|
||
"checkIntegrity": "Check Integrity"
|
||
},
|
||
"import": {
|
||
"title": "Import",
|
||
"description": "Import app from an external backup"
|
||
},
|
||
"auto": {
|
||
"title": "Automatic backups",
|
||
"description": "Back up the app periodically to the configured <a href=\"/#/backup-sites\">Backup Sites</a>"
|
||
}
|
||
},
|
||
"repair": {
|
||
"recovery": {
|
||
"title": "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": "Retry a failed installation, configuration, update, restore, or backup task.",
|
||
"retryAction": "Retry {{ task }} task"
|
||
},
|
||
"restart": {
|
||
"title": "Restart",
|
||
"description": "If the app is not responding, try restarting the app."
|
||
}
|
||
},
|
||
"uninstall": {
|
||
"uninstall": {
|
||
"title": "Uninstall",
|
||
"description": "Uninstall the app and delete its data. Backups are cleaned up according to the backup policy.",
|
||
"uninstallAction": "Uninstall"
|
||
}
|
||
},
|
||
"appInfo": {
|
||
"package": "Package",
|
||
"openAction": "Open {{ app }}",
|
||
"checklist": "Admin Checklist",
|
||
"checklistShow": "Show Checklist",
|
||
"checklistHide": "Hide Checklist"
|
||
},
|
||
"uninstallDialog": {
|
||
"title": "Uninstall App",
|
||
"description": "Uninstall \"{{ app }}\" and remove all its data?",
|
||
"uninstallAction": "Uninstall"
|
||
},
|
||
"importBackupDialog": {
|
||
"title": "Import Backup",
|
||
"uploadAction": "upload a Backup Config",
|
||
"importAction": "Import",
|
||
"remotePath": "Backup path",
|
||
"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 }}",
|
||
"unstableWarning": "This update is a pre-release and not considered stable yet. Please update at your own risk.",
|
||
"changelogHeader": "Changes for new package version {{ version}}:",
|
||
"subscriptionExpired": "Your Cloudron subscription has expired. Please set up a subscription to update the app.",
|
||
"skipBackupCheckbox": "Skip backup",
|
||
"setupSubscriptionAction": "Set up Subscription",
|
||
"updateAction": "Update"
|
||
},
|
||
"restoreDialog": {
|
||
"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": "Clone using the backup from <b>{{ creationTime }}</b> (version <b>{{ packageVersion }}</b>).",
|
||
"location": "Location"
|
||
},
|
||
"eventlogTabTitle": "Event Log",
|
||
"sftpInfoAction": "SFTP Access",
|
||
"cronTabTitle": "Cron",
|
||
"cron": {
|
||
"title": "Crontab",
|
||
"saveAction": "Save",
|
||
"addCommonPattern": "Insert common pattern",
|
||
"commonPattern": {
|
||
"everyMinute": "Every Minute",
|
||
"everyHour": "Every Hour",
|
||
"twicePerHour": "Twice per Hour",
|
||
"everyDay": "Every Day",
|
||
"twicePerDay": "Twice per Day",
|
||
"everySunday": "Every Sunday",
|
||
"daily": "Daily",
|
||
"hourly": "Hourly",
|
||
"service": "Service (runs once)"
|
||
},
|
||
"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": {
|
||
"title": "Add External Link"
|
||
},
|
||
"editApplinkDialog": {
|
||
"title": "Edit External Link"
|
||
},
|
||
"applinks": {
|
||
"upstreamUri": "External URL",
|
||
"label": "Label"
|
||
},
|
||
"servicesTabTitle": "Services",
|
||
"turn": {
|
||
"title": "TURN autoconfiguration",
|
||
"info": "Use the built-in TURN server. When disabled, the app’s TURN settings remain unchanged."
|
||
},
|
||
"redis": {
|
||
"title": "Redis autoconfiguration",
|
||
"info": "Use the built-in Redis service. When disabled, the app’s Redis settings remain unchanged."
|
||
},
|
||
"infoTabTitle": "Info",
|
||
"info": {
|
||
"notes": {
|
||
"title": "Admin notes"
|
||
}
|
||
},
|
||
"archive": {
|
||
"title": "Archive",
|
||
"description": "Add the latest app backup to the <a href=\"/#/app-archive\">App Archive</a> and uninstall 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."
|
||
},
|
||
"archiveDialog": {
|
||
"title": "Archive App",
|
||
"description": "Uninstall the app \"{{ app }}\" and move its latest backup (created on {{ date }}) to the app archive?"
|
||
},
|
||
"updateAvailableTooltip": "Update available",
|
||
"configureTooltip": "Configure",
|
||
"forumAction": "Forum",
|
||
"appLink": {
|
||
"title": "External Link"
|
||
},
|
||
"start": {
|
||
"title": "Start",
|
||
"description": "Start the app to make it available again.",
|
||
"action": "Start"
|
||
},
|
||
"stop": {
|
||
"action": "Stop",
|
||
"title": "Stop",
|
||
"description": "Stop the app to conserve resources. Back up before stopping to preserve recent changes."
|
||
}
|
||
},
|
||
"login": {
|
||
"errorIncorrectCredentials": "Incorrect username or password",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"2faToken": "2FA Token",
|
||
"resetPasswordAction": "Reset password",
|
||
"errorIncorrect2FAToken": "2FA token is invalid",
|
||
"errorInternal": "Internal error, try again later",
|
||
"loginAction": "Log in",
|
||
"usePasskeyAction": "Use passkey"
|
||
},
|
||
"passwordReset": {
|
||
"title": "Password reset",
|
||
"usernameOrEmail": "Username or email",
|
||
"resetAction": "Reset",
|
||
"backToLoginAction": "Back to login",
|
||
"emailSent": {
|
||
"title": "Password reset email sent"
|
||
},
|
||
"newPassword": {
|
||
"title": "Set new password",
|
||
"password": "New password",
|
||
"passwordRepeat": "Repeat password"
|
||
},
|
||
"passwordChanged": {
|
||
"submitAction": "Submit"
|
||
},
|
||
"success": {
|
||
"title": "Password changed",
|
||
"openDashboardAction": "Open dashboard"
|
||
}
|
||
},
|
||
"setupAccount": {
|
||
"description": "Please set up your account",
|
||
"username": "Username",
|
||
"fullName": "Full name",
|
||
"password": "New password",
|
||
"passwordRepeat": "Repeat password",
|
||
"errorPassword": "Password must be at least 8 characters",
|
||
"errorPasswordNoMatch": "Passwords don't match",
|
||
"setupAction": "Set up",
|
||
"invalidToken": {
|
||
"title": "Invalid or expired invite link",
|
||
"description": "Contact your server admin to get a new invite link."
|
||
},
|
||
"success": {
|
||
"title": "Your account is ready",
|
||
"openDashboardAction": "Open dashboard"
|
||
},
|
||
"noUsername": {
|
||
"title": "Cannot set up account",
|
||
"description": "Account cannot be set up without a username. Please contact the administrator."
|
||
},
|
||
"welcome": "Welcome"
|
||
},
|
||
"welcomeEmail": {
|
||
"welcomeTo": "Welcome to <%= cloudronName %>!",
|
||
"salutation": "Hi <%= user %>,",
|
||
"inviteLinkAction": "Get started",
|
||
"invitor": "You are receiving this email because you were invited by <%= invitor %>.",
|
||
"inviteLinkActionText": "Follow the link to get started: <%- inviteLink %>",
|
||
"subject": "Welcome to <%= cloudron %>"
|
||
},
|
||
"passwordResetEmail": {
|
||
"salutation": "Hi <%= user %>,",
|
||
"description": "Someone, hopefully you, has requested your account's password be reset. If you did not request this reset, please ignore this message.",
|
||
"resetAction": "Click to reset your password",
|
||
"expireNote": "Please note that the password reset link will expire in 24 hours.",
|
||
"resetActionText": "To reset your password, please visit the following page: <%- resetLink %>",
|
||
"subject": "[<%= cloudron %>] Password Reset"
|
||
},
|
||
"volumes": {
|
||
"title": "Volumes",
|
||
"name": "Name",
|
||
"openFileManagerActionTooltip": "File manager",
|
||
"addVolumeDialog": {
|
||
"title": "Add Volume",
|
||
"server": "Server IP / Hostname",
|
||
"remoteDirectory": "Remote directory",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"diskPath": "Disk path",
|
||
"port": "Port",
|
||
"user": "User",
|
||
"privateKey": "Private SSH key"
|
||
},
|
||
"removeVolumeDialog": {
|
||
"removeAction": "Remove",
|
||
"title": "Remove Volume",
|
||
"description": "Remove volume \"{{ volumeName }}\"?"
|
||
},
|
||
"description": "Volumes are local or remote file systems. They can be used for an app’s primary data storage or shared between apps.",
|
||
"mountType": "Mount type",
|
||
"localDirectory": "Local directory",
|
||
"remountActionTooltip": "Remount",
|
||
"editVolumeDialog": {
|
||
"title": "Edit Volume"
|
||
},
|
||
"emptyPlaceholder": "No volumes"
|
||
},
|
||
"newLoginEmail": {
|
||
"subject": "[<%= cloudron %>] New login on your account",
|
||
"topic": "We've noticed a new login on your Cloudron account.",
|
||
"salutation": "Hi <%= user %>,",
|
||
"notice": "We noticed a login on your Cloudron account from a new device.",
|
||
"action": "If this was you, you can safely disregard this email. If this wasn't you, you should change your password immediately."
|
||
},
|
||
"storage": {
|
||
"mounts": {
|
||
"description": "Mounted volumes can be accessed at \"/media/(volume name)\". Mounted data is not included in the app's backup."
|
||
}
|
||
},
|
||
"oidc": {
|
||
"newClientDialog": {
|
||
"title": "Add OIDC Client",
|
||
"createAction": "Add"
|
||
},
|
||
"client": {
|
||
"name": "Client name",
|
||
"id": "Client ID",
|
||
"secret": "Client secret",
|
||
"signingAlgorithm": "Signing algorithm",
|
||
"loginRedirectUri": "Login callback URLs",
|
||
"loginRedirectUriPlaceholder": "Comma-separated URLs"
|
||
},
|
||
"description": "Cloudron’s OpenID provider can be used for single sign-on with external applications.",
|
||
"editClientDialog": {
|
||
"title": "Edit Client"
|
||
},
|
||
"deleteClientDialog": {
|
||
"title": "Delete Client",
|
||
"description": "After deletion, any access tokens issued by this client will be invalidated. Apps using it will no longer be able to authenticate.<br/><br/>Delete client \"{{ clientName }}\"?"
|
||
},
|
||
"env": {
|
||
"discoveryUrl": "Discovery URL"
|
||
},
|
||
"clients": {
|
||
"title": "OpenID Clients",
|
||
"empty": "No OpenID clients"
|
||
},
|
||
"clientCredentials": {
|
||
"title": "Client credentials",
|
||
"description": "Copy the credentials for client \"{{ clientName }}\""
|
||
}
|
||
},
|
||
"userdirectory": {
|
||
"settings": {
|
||
"title": "Settings"
|
||
}
|
||
},
|
||
"archives": {
|
||
"listing": {
|
||
"placeholder": "No archived apps"
|
||
},
|
||
"description": "Archived apps preserve the latest backup when an app was archived. These backups are kept permanently and can be restored."
|
||
},
|
||
"backup": {
|
||
"target": {
|
||
"label": "Site",
|
||
"size": "Size",
|
||
"fileCount": "Files"
|
||
},
|
||
"sites": {
|
||
"title": "Backup Sites",
|
||
"emptyPlaceholder": "No backup sites",
|
||
"lastRun": "Last run",
|
||
"description": "Backup sites specify where system and app backups are stored. App backups can be restored individually."
|
||
},
|
||
"site": {
|
||
"removeDialog": {
|
||
"description": "Removing a backup site deletes its backup entries from Cloudron. Backup files stored on the remote destination are not removed.<br/></br>Remove the backup site \"{{ name }}\" ?",
|
||
"title": "Remove Backup Site"
|
||
}
|
||
}
|
||
},
|
||
"dockerRegistries": {
|
||
"server": "Server address",
|
||
"provider": "Provider",
|
||
"username": "Username",
|
||
"title": "Docker Registries",
|
||
"description": "Configure access to private Docker registries for installing custom apps.",
|
||
"removeDialog": {
|
||
"title": "Remove Docker Registry"
|
||
},
|
||
"email": "Email",
|
||
"passwordToken": "Password/Token",
|
||
"emptyPlaceholder": "No docker registries",
|
||
"dialog": {
|
||
"addTitle": "Add Docker Registry",
|
||
"editTitle": "Edit Docker Registry"
|
||
}
|
||
},
|
||
"dockerRegistres": {
|
||
"removeDialog": {
|
||
"description": "Remove Docker registry \"{{ serverAddress }}\"?"
|
||
}
|
||
},
|
||
"appearance": {
|
||
"title": "Appearance"
|
||
},
|
||
"dashboard": {
|
||
"title": "Dashboard"
|
||
},
|
||
"server": {
|
||
"title": "Server"
|
||
},
|
||
"communityapp": {
|
||
"installwarning": "Community apps are not reviewed by Cloudron. Only install apps from trusted developers. Third-party code can compromise your system.",
|
||
"unstablewarning": "This app is marked as unstable by its developer."
|
||
}
|
||
}
|