diff --git a/dashboard/TRANSLATIONS.md b/dashboard/TRANSLATIONS.md
index a2da40ac2..9569609c1 100644
--- a/dashboard/TRANSLATIONS.md
+++ b/dashboard/TRANSLATIONS.md
@@ -24,16 +24,22 @@ Only first word is capitalized.
### UI Conventions
+Keeping as much as possible in Sentence Case helps in sharing the same strings.
+
| Element | Recommended Style | Example |
| -------------- | ---------------------- | -------------------------------- |
| Headings | Title Case | Manage Account |
| Sub heading | Title Case | Create Admin Account |
-| Form Labels | Title Case | Email Address |
-| Buttons | Sentence Case | Save changes |
-| Radio Buttons | Sentence Case | Option one / Option two |
-| Checkbox | Sentence Case | Use CIFS encryption |
-| Menu action | Sentence Case | Select all |
-| Switches | Sentence Case | Allow users to edit email |
+| Section/Card | Title Case | System Information |
+| Form Labels | Sentence case | Email address |
+| Form Groups | Sentence case | Volume mounts, Data directory |
+| Table headings | Sentence case | Memory limit |
+| Info sections | Sentence case | Cloudron version |
+| Buttons | Sentence case | Save changes |
+| Radio Buttons | Sentence case | Option one / Option two |
+| Checkbox | Sentence case | Use CIFS encryption |
+| Menu action | Sentence case | Select all |
+| Switches | Sentence case | Allow users to edit email |
| Descriptions | Sentence case | Enter your password to continue. |
| Tooltips | Sentence case | Click to edit. |
| Error Messages | Sentence case | Password is too short |
diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json
index 130b16934..d6dc3744d 100644
--- a/dashboard/public/translation/en.json
+++ b/dashboard/public/translation/en.json
@@ -32,7 +32,7 @@
"done": "Done"
},
"username": "Username",
- "displayName": "Display Name",
+ "displayName": "Display name",
"actions": "Actions",
"table": {
"date": "Date",
@@ -79,7 +79,7 @@
"location": "Location",
"locationPlaceholder": "Leave empty to use bare domain",
"manualWarning": "Manually set up A (IPv4) and AAAA (IPv6) DNS records for {{ location }} pointing to this server",
- "userManagement": "User Management",
+ "userManagement": "User management",
"userManagementNone": "This app has its own user management. This setting determines whether this app is visible in the user's dashboard.",
"userManagementMailbox": "All users with a mailbox on this Cloudron have access.",
"userManagementLeaveToApp": "Leave user management to the app",
@@ -134,7 +134,7 @@
"noopInfo": "LDAP authentication is not configured.",
"provider": "Provider",
"server": "Server URL",
- "acceptSelfSignedCert": "Accept Self-signed Certificate",
+ "acceptSelfSignedCert": "Accept self-signed certificate",
"baseDn": "Base DN",
"filter": "Filter",
"usernameField": "Username Field",
@@ -157,15 +157,15 @@
"addUserAction": "Add"
},
"user": {
- "fullName": "Full Name",
+ "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",
+ "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"
@@ -186,7 +186,7 @@
"name": "Name",
"users": "Users",
"addGroupAction": "Add",
- "allowedApps": "Allowed Apps"
+ "allowedApps": "Allowed apps"
},
"editGroupDialog": {
"title": "Edit Group",
@@ -216,16 +216,17 @@
"mailmanager": "User & Email Manager"
},
"invitationDialog": {
- "title": "Invite {{ username }}",
+ "title": "Invite User",
"description": "The following invite link was sent to {{ email }}:",
"sendAction": "Send mail",
- "descriptionLink": "Invite Link",
- "descriptionEmail": "Email Invite Link"
+ "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",
+ "password": "Temporary password",
"setPassword": "Set password",
"generatePassword": "Generate Password",
"context": "Impersonate user \"{{ username }}\""
@@ -254,14 +255,14 @@
},
"profile": {
"title": "Profile",
- "primaryEmail": "Primary Email",
- "passwordRecoveryEmail": "Password Recovery Email",
+ "primaryEmail": "Primary email",
+ "passwordRecoveryEmail": "Password recovery email",
"language": "Language",
"changePassword": {
"title": "Change Password",
- "currentPassword": "Current Password",
- "newPassword": "New Password",
- "newPasswordRepeat": "Repeat New Password",
+ "currentPassword": "Current password",
+ "newPassword": "New password",
+ "newPasswordRepeat": "Repeat new password",
"errorPasswordsDontMatch": "Passwords don't match"
},
"disable2FA": {
@@ -311,18 +312,18 @@
},
"createAppPassword": {
"title": "Add App Password",
- "name": "Password Name",
+ "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."
},
"createApiToken": {
"title": "Add API Token",
- "name": "API Token Name",
+ "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)"
+ "access": "API access",
+ "allowedIpRanges": "Allowed IP range(s)"
},
"changePasswordAction": "Change password",
"disable2FAAction": "Disable 2FA",
@@ -377,29 +378,29 @@
"days": "Days",
"hours": "Hours",
"retentionPolicy": "Retention Policy",
- "disable": "Disable Automatic Backups",
- "enable": "Enable Automatic Backups"
+ "disable": "Disable automatic backups",
+ "enable": "Enable automatic backups"
},
"configureBackupStorage": {
"title": "Configure Backup Site",
- "provider": "Storage Provider",
+ "provider": "Storage provider",
"mountPoint": "Mount point",
"mountPointDescription": "The mount point has to be set up manually. See docs.",
"localDirectory": "Local backup directory",
"hardlinksLabel": "Use hardlinks",
"s3Endpoint": "Endpoint",
- "acceptSelfSignedCerts": "Accept Self-signed Certificate",
- "bucketName": "Bucket Name",
+ "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",
+ "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",
+ "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",
+ "memoryLimit": "Memory limit",
"memoryLimitDescription": "Memory limit for the backup task. Adjust this if you increase the concurrency values from their defaults.",
"uploadPartSize": "Upload Part Size",
"uploadPartSizeDescription": "Multi-part upload part size. Up to 3 parts are uploaded in parallel and requires as much memory.",
@@ -411,22 +412,22 @@
"copyConcurrencyDescription": "Number of remote file copies in parallel when backing up.",
"copyConcurrencyDigitalOceanNote": "DigitalOcean Spaces rate limits at 20.",
"encryptionPasswordPlaceholder": "Passphrase used to encrypt the backups",
- "encryptionPasswordRepeat": "Repeat Password",
- "server": "Server IP or Hostname",
- "remoteDirectory": "Remote Directory",
+ "encryptionPasswordRepeat": "Repeat password",
+ "server": "Server IP / Hostname",
+ "remoteDirectory": "Remote directory",
"username": "Username",
"password": "Password",
"port": "Port",
"user": "User",
"privateKey": "Private Key",
- "diskPath": "Disk Path",
+ "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 uses encryption",
+ "encryptionHint": "Encryption password hint",
+ "usesEncryption": "Backup is encrypted",
"useForUpdates": "Store backups of automatic updates here",
"backupContents": {
"title": "Backup Contents",
@@ -436,19 +437,19 @@
"includeOnlySelected": "Include only selected"
},
"automaticUpdates": {
- "title": "Backups of Automatic Updates",
+ "title": "Backups of automatic updates",
"description": "A backup is always created before applying automatic updates. Choose whether to store those backups on this site."
},
"useEncryption": "Encrypt Backups"
},
"backupEdit": {
"title": "Edit Backup",
- "label": "Backup Label",
+ "label": "Backup 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"
+ "remotePath": "Remote path"
},
"archives": {
"title": "App Archive",
@@ -485,12 +486,12 @@
},
"branding": {
"title": "Branding",
- "cloudronName": "Cloudron Name",
+ "cloudronName": "Cloudron name",
"logo": "Logo",
"footer": {
"title": "Footer"
},
- "backgroundImage": "Login Page Background"
+ "backgroundImage": "Login page background"
},
"emails": {
"title": "Email",
@@ -505,13 +506,13 @@
"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",
+ "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"
+ "virtualAllMail": "\"All Mail\" folder"
},
"eventlog": {
"title": "Event Log",
@@ -545,13 +546,13 @@
"setAction": "Set location"
},
"changeMailSizeDialog": {
- "description": "Incoming emails larger than this size are rejected."
+ "description": "Incoming emails larger than this size are rejected"
},
"spamFilterDialog": {
"title": "Spam Filtering",
- "blacklisteAddresses": "Email Address Blocklist",
+ "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",
+ "customRules": "Custom Spamassassin rules",
"blacklisteAddressesPlaceholder": "Line separated email address patterns",
"customRulesPlaceholder": "Custom Spamassassin Rules"
},
@@ -565,14 +566,14 @@
},
"typeFilterHeader": "All Events",
"aclDialog": {
- "dnsblZones": "DNSBL Zones",
+ "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."
+ "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."
@@ -584,15 +585,15 @@
"title": "IPv4",
"description": "The IPv4 address used for DNS A records.",
"provider": "Provider",
- "interface": "Network Interface Name",
+ "interface": "Network interface name",
"configure": "Configure",
"interfaceDescription": "List available devices on the server with:",
"detected": "detected",
- "address": "IP Address"
+ "address": "IP address"
},
"firewall": {
"title": "Firewall",
- "blockedIpRanges": "Blocked IPs & Ranges",
+ "blockedIpRanges": "Blocked IPs & ranges",
"blocklist": "{{ blockCount }} IP(s) blocked",
"configure": {
"title": "Firewall Configuration",
@@ -609,10 +610,10 @@
"providerGenericDescription": "The Public IP address of the server will be automatically detected."
},
"ipv4": {
- "address": "IPv4 Address"
+ "address": "IPv4 address"
},
"ipv6": {
- "address": "IPv6 Address",
+ "address": "IPv6 address",
"title": "IPv6",
"description": "The IPv6 address used for DNS AAAA records."
},
@@ -624,14 +625,14 @@
"title": "Configure Trusted IPs",
"summary": "{{ trustCount }} IPs trusted"
},
- "trustedIpRanges": "Trusted IPs & Ranges "
+ "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",
+ "memoryUsage": "Memory usage",
+ "memoryLimit": "Memory limit",
"restartActionTooltip": "Restart",
"configure": {
"title": "Configure Service",
@@ -660,7 +661,7 @@
}
},
"timezone": {
- "title": "System Time Zone",
+ "title": "System time zone",
"description": "Used to schedule backups and updates. UI timestamps always follow the browser’s time zone."
},
"updates": {
@@ -669,14 +670,14 @@
"updateAvailableAction": "Update available",
"stopUpdateAction": "Stop update",
"disabled": "Disabled",
- "schedule": "Update Schedule",
- "description": "Platform and app updates are applied on the configured schedule, using the System Time Zone.",
+ "schedule": "Update schedule",
+ "description": "Platform and app updates are applied on the configured schedule, using the System time zone.",
"onLatest": "latest"
},
"updateScheduleDialog": {
"title": "Configure Automatic Update Schedule",
- "disableCheckbox": "Disable Automatic Updates",
- "enableCheckbox": "Enable Automatic Updates",
+ "disableCheckbox": "Disable automatic updates",
+ "enableCheckbox": "Enable automatic updates",
"selectOne": "Select at least one day and time",
"days": "Days",
"hours": "Hours",
@@ -697,7 +698,7 @@
"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",
+ "provider": "Docker registry provider",
"providerOther": "Other"
}
},
@@ -722,9 +723,9 @@
"product": "Product",
"memory": "Memory",
"uptime": "Uptime",
- "activationTime": "Cloudron Creation Time",
- "cloudronVersion": "Cloudron Version",
- "ubuntuVersion": "Ubuntu Version"
+ "activationTime": "Cloudron creation time",
+ "cloudronVersion": "Cloudron version",
+ "ubuntuVersion": "Ubuntu version"
},
"graphs": {
"title": "Graphs"
@@ -762,58 +763,58 @@
"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": "API Key",
- "goDaddyApiSecret": "API Secret",
- "cloudflareTokenType": "Token Type",
- "cloudflareTokenTypeGlobalApiKey": "Global API Key",
- "cloudflareTokenTypeApiToken": "API Token",
+ "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": "API Key",
+ "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 *.{{ domain }}. and {{ domain }}. pointing to this server",
"letsEncryptInfo": "Let's Encrypt requires your server to be reachable on port 80",
"advancedAction": "Advanced settings…",
- "zoneName": "Zone Name (Optional)",
+ "zoneName": "Zone name (optional)",
"fallbackCert": "Fallback Certificate (optional)",
"fallbackCertCustomCert": "Custom Certificate",
"fallbackCertCustomCertInfo": "Provide a wildcard certificate 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": "Customer Number",
- "netcupApiKey": "API Key",
- "netcupApiPassword": "API Password",
- "vultrToken": "Vultr Token",
+ "matrixHostname": "Matrix server location",
+ "mastodonHostname": "Mastodon server location",
+ "netcupCustomerNumber": "Netcup customer number",
+ "netcupApiKey": "Netcup API key",
+ "netcupApiPassword": "Netcup API password",
+ "vultrToken": "Vultr token",
"wellKnownDescription": "The values will be used to respond to https://{{ domain }}/.well-known/ URLs. Note that an app must be available on the bare domain {{ domain }} for this to work. See the docs for more information.",
- "jitsiHostname": "Jitsi Location",
- "hetznerToken": "Hetzner Token",
- "cloudflareDefaultProxyStatus": "Enable Proxying for New DNS Records",
- "porkbunApikey": "API Key",
- "porkbunSecretapikey": "Secret API Key",
- "bunnyAccessKey": "Bunny Access Key",
- "dnsimpleAccessToken": "Access Token",
- "ovhEndpoint": "Endpoint",
- "ovhConsumerKey": "Consumer Key",
- "ovhAppKey": "Application Key",
- "ovhAppSecret": "Application Secret",
- "deSecToken": "deSEC Token",
- "gandiTokenType": "Token Type",
- "gandiTokenTypeApiKey": "API Key (Deprecated)",
+ "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": "Username",
- "inwxPassword": "Password",
+ "inwxUsername": "INWX username",
+ "inwxPassword": "INWX password",
"customNameservers": "Domain uses custom (vanity) nameservers"
},
"removeDialog": {
@@ -875,11 +876,11 @@
"reallyDelete": "Really delete?"
},
"newDirectoryDialog": {
- "title": "New Folder",
+ "title": "New Folder Name",
"create": "Create"
},
"newFileDialog": {
- "title": "New File",
+ "title": "New Filename",
"create": "Create"
},
"renameDialog": {
@@ -896,15 +897,15 @@
"uploadFile": "Upload file",
"restartApp": "Restart App",
"uploadFolder": "Upload folder",
- "openTerminal": "Open Terminal",
- "openLogs": "Open Logs"
+ "openTerminal": "Open terminal",
+ "openLogs": "Open logs"
},
"extractionInProgress": "Extraction in progress",
"pasteInProgress": "Pasting in progress",
"deleteInProgress": "Deletion in progress",
"chownDialog": {
"title": "Change ownership",
- "newOwner": "New Owner",
+ "newOwner": "New owner",
"change": "Change Owner",
"recursiveCheckbox": "Change ownership recursively"
},
@@ -942,7 +943,7 @@
"cut": "Cut",
"copy": "Copy",
"paste": "Paste",
- "selectAll": "Select All",
+ "selectAll": "Select all",
"open": "Open"
},
"mtime": "Modified"
@@ -1000,7 +1001,7 @@
"mailinglists": {
"title": "Mailing Lists",
"name": "Name",
- "members": "List Members",
+ "members": "Members",
"everyoneTooltip": "Posting allowed by non-members",
"membersOnlyTooltip": "Posting restricted to members only",
"emptyPlaceholder": "No mailing lists",
@@ -1026,7 +1027,7 @@
"mailRelay": {
"host": "SMTP Host",
"port": "SMTP Port (STARTTLS)",
- "selfsignedCheckbox": "Accept Self-signed Certificate",
+ "selfsignedCheckbox": "Accept self-signed certificate",
"apiTokenOrKey": "API Token/Key",
"username": "Username",
"password": "Password",
@@ -1072,17 +1073,17 @@
},
"addMailboxDialog": {
"title": "Add Mailbox",
- "name": "Mailbox Name",
- "incomingDisabledWarning": "Incoming email for this domain is not enabled."
+ "name": "Mailbox name",
+ "incomingDisabledWarning": "Incoming email for this domain is not enabled"
},
"editMailboxDialog": {
"title": "Edit Mailbox",
- "owner": "Mailbox Owner",
+ "owner": "Mailbox owner",
"aliases": "Aliases",
"noAliases": "No aliases.",
"addAliasAction": "Add an alias",
"addAnotherAliasAction": "Add another alias",
- "enableStorageQuota": "Storage Quota"
+ "enableStorageQuota": "Storage quota"
},
"deleteMailboxDialog": {
"title": "Delete Mailbox",
@@ -1092,9 +1093,9 @@
},
"addMailinglistDialog": {
"title": "Add Mailing List",
- "members": "List Members",
- "membersOnlyCheckbox": "Restrict posting to list members",
- "name": "Name"
+ "members": "Mailing list members",
+ "membersOnlyCheckbox": "Restrict posting to members",
+ "name": "Mailing list name"
},
"editMailinglistDialog": {
"title": "Edit Mailing List"
@@ -1108,8 +1109,8 @@
"activeCheckbox": "Mailing list is active"
},
"updateMailboxDialog": {
- "activeCheckbox": "Active Mailbox",
- "enablePop3": "POP3 Access"
+ "activeCheckbox": "Mailbox is active",
+ "enablePop3": "POP3 access"
},
"howToConnectInfoModal": "Configuring Email Clients",
"customFrom": {
@@ -1120,12 +1121,12 @@
"app": {
"logsActionTooltip": "Logs",
"terminalActionTooltip": "Terminal",
- "filemanagerActionTooltip": "File Manager",
+ "filemanagerActionTooltip": "File manager",
"docsActionTooltip": "Documentation",
"firstTimeSetupAction": "First Time Setup",
"docsAction": "Documentation",
"adminPageAction": "Admin Page",
- "projectWebsiteAction": "Project Website",
+ "projectWebsiteAction": "Project website",
"displayTabTitle": "Display",
"locationTabTitle": "Location",
"accessControlTabTitle": "Access Control",
@@ -1150,7 +1151,7 @@
"location": "Location",
"locationPlaceholder": "Leave empty to use bare domain",
"redirections": "Redirections",
- "noRedirections": "No redirect domains.",
+ "noRedirections": "No redirect domains",
"addRedirectionAction": "Add a redirection",
"saveAction": "Save",
"aliases": "Aliases",
@@ -1162,7 +1163,7 @@
"userManagement": {
"description": "This app is configured to authenticate with the Cloudron User Directory. This setting controls who can log in and use the app.",
"descriptionSftp": "This setting also controls SFTP access.",
- "dashboardVisibility": "Dashboard Visibility",
+ "dashboardVisibility": "Dashboard visibility",
"visibleForAllUsers": "Visible to all users on this Cloudron",
"visibleForSelected": "Only visible to the following users and groups"
},
@@ -1185,7 +1186,7 @@
},
"cpu": {
"setAction": "Scale",
- "title": "CPU Limit",
+ "title": "CPU limit",
"description": "Maximum percent of CPU the app can use"
},
"devices": {
@@ -1195,13 +1196,13 @@
},
"storage": {
"appdata": {
- "title": "Data Directory",
+ "title": "Data directory",
"description": "Move 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",
+ "title": "Volume mounts",
"volume": "Volume",
"noMounts": "No volumes mounted",
"addMountAction": "Add a volume mount",
@@ -1229,13 +1230,13 @@
"email": {
"from": {
"title": "Mail From Address",
- "mailboxPlaceholder": "Mailbox Name",
+ "mailboxPlaceholder": "Mailbox name",
"saveAction": "Save",
"enable": "Use Cloudron Mail to send email",
"disable": "Do not configure app's mail delivery settings",
"enableDescription": "Configures the app to send email using the address below and outbound email settings.",
"disableDescription": "The app's mail delivery settings remain unchanged. You can configure it inside the app.",
- "displayName": "From Name"
+ "displayName": "From name"
},
"inbox": {
"disable": "Do not configure inbox",
@@ -1263,16 +1264,16 @@
},
"updates": {
"info": {
- "description": "App Title and Version",
+ "description": "App title & version",
"appId": "App ID",
- "packageVersion": "Package Version",
- "lastUpdated": "Last Updated",
+ "packageVersion": "Package version",
+ "lastUpdated": "Last updated",
"customAppUpdateInfo": "Auto-update is not available for custom apps.",
- "installedAt": "Installed At"
+ "installedAt": "Installed at"
},
"auto": {
"description": "App updates are applied periodically based on the update schedule",
- "title": "Automatic Updates"
+ "title": "Automatic updates"
},
"updates": {
"description": "Cloudron automatically checks the App Store for updates. You can also check manually."
@@ -1282,7 +1283,7 @@
"backups": {
"title": "Backups",
"description": "Create a complete snapshot of the app.",
- "time": "Created At",
+ "time": "Created at",
"downloadConfigTooltip": "Download config",
"cloneTooltip": "Clone",
"restoreTooltip": "Restore",
@@ -1296,20 +1297,20 @@
"description": "Import the app from an external backup."
},
"auto": {
- "title": "Automatic Backups",
+ "title": "Automatic backups",
"description": "Back up the app periodically to the configured Backup Sites"
}
},
"repair": {
"recovery": {
- "title": "Recovery Mode",
+ "title": "Recovery mode",
"description": "To fix broken plugins or misconfiguration, place the app in recovery mode.",
"restartAction": "Restart",
- "disableAction": "Disable Recovery Mode",
+ "disableAction": "Disable recovery mode",
"enableAction": "Enable recovery mode"
},
"taskError": {
- "title": "Task Error",
+ "title": "Task error",
"description": "Retry a failed installation, configuration, update, restore, or backup task.",
"retryAction": "Retry {{ task }} task"
},
@@ -1346,7 +1347,7 @@
"title": "Import Backup",
"uploadAction": "upload a Backup Config",
"importAction": "Import",
- "remotePath": "Backup Path",
+ "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."
@@ -1406,17 +1407,17 @@
},
"servicesTabTitle": "Services",
"turn": {
- "title": "TURN Setup",
+ "title": "TURN autoconfiguration",
"info": "Enable this option to configure the app to use the built-in TURN server. When disabled, the app's TURN settings are left alone."
},
"redis": {
- "title": "Redis Autoconfiguration",
- "info": "Uses the built-in Redis service. When disabled, the app’s Redis settings remain unchanged."
+ "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"
+ "title": "Admin notes"
}
},
"archive": {
@@ -1449,7 +1450,7 @@
},
"passwordReset": {
"title": "Password reset",
- "usernameOrEmail": "Username or Email",
+ "usernameOrEmail": "Username or email",
"resetAction": "Reset",
"backToLoginAction": "Back to login",
"emailSent": {
@@ -1457,8 +1458,8 @@
},
"newPassword": {
"title": "Set new password",
- "password": "New Password",
- "passwordRepeat": "Repeat Password"
+ "password": "New password",
+ "passwordRepeat": "Repeat password"
},
"passwordChanged": {
"submitAction": "Submit"
@@ -1472,23 +1473,23 @@
"welcomeTo": "Welcome to",
"description": "Please set up your account",
"username": "Username",
- "fullName": "Full Name",
- "password": "New Password",
- "passwordRepeat": "Repeat Password",
+ "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",
+ "title": "Invalid or expired invite link",
"description": "Contact your server admin to get a new invite link."
},
"success": {
- "title": "Your Account is ready",
+ "title": "Your account is ready",
"openDashboardAction": "Open Dashboard"
},
"noUsername": {
- "title": "Cannot setup account",
- "description": "Account cannot be setup without a username."
+ "title": "Cannot set up account",
+ "description": "Account cannot be set up without a username."
}
},
"welcomeEmail": {
@@ -1514,14 +1515,14 @@
"openFileManagerActionTooltip": "File manager",
"addVolumeDialog": {
"title": "Add Volume",
- "server": "Server IP or Hostname",
- "remoteDirectory": "Remote Directory",
+ "server": "Server IP / Hostname",
+ "remoteDirectory": "Remote directory",
"username": "Username",
"password": "Password",
- "diskPath": "Disk Path",
+ "diskPath": "Disk path",
"port": "Port",
"user": "User",
- "privateKey": "Private SSH Key"
+ "privateKey": "Private SSH key"
},
"removeVolumeDialog": {
"removeAction": "Remove",
@@ -1529,8 +1530,8 @@
"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",
+ "mountType": "Mount type",
+ "localDirectory": "Local directory",
"remountActionTooltip": "Remount",
"editVolumeDialog": {
"title": "Edit Volume"
@@ -1555,11 +1556,11 @@
"createAction": "Add"
},
"client": {
- "name": "Name",
+ "name": "Client name",
"id": "Client ID",
- "secret": "Client Secret",
- "signingAlgorithm": "Signing Algorithm",
- "loginRedirectUri": "Login Callback URLs",
+ "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.",
@@ -1578,7 +1579,7 @@
"empty": "No OpenID clients"
},
"clientCredentials": {
- "title": "Client Credentials",
+ "title": "Client credentials",
"description": "Copy the credentials for client \"{{ clientName }}\"."
}
},
@@ -1594,7 +1595,7 @@
},
"backup": {
"target": {
- "label": "Backup Site",
+ "label": "Backup site",
"size": "Size",
"fileCount": "Files"
},
@@ -1611,7 +1612,7 @@
}
},
"dockerRegistries": {
- "server": "Server Address",
+ "server": "Server address",
"provider": "Provider",
"username": "Username",
"title": "Docker Registries",
@@ -1639,7 +1640,7 @@
"title": "Dashboard"
},
"externallinks": {
- "label": "External Links",
+ "label": "External links",
"description": "Add shortcuts to external services on the dashboard"
},
"server": {
diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json
index 33f311e6b..905c0540c 100644
--- a/dashboard/public/translation/nl.json
+++ b/dashboard/public/translation/nl.json
@@ -132,7 +132,7 @@
"title": "Verbind met een externe lijst",
"noopInfo": "LDAP authenticatie is niet geconfigureerd.",
"provider": "Aanbieder",
- "acceptSelfSignedCert": "Accepteer zelf-ondertekend Certificaat",
+ "acceptSelfSignedCert": "Accepteer zelf-ondertekend certificaat",
"baseDn": "Base DN",
"filter": "Filter",
"usernameField": "Veld voor gebruikersnaam",
@@ -157,13 +157,13 @@
"sendInviteCheckbox": "Uitnodigingsmail verzenden"
},
"user": {
- "fullName": "Volledige Naam",
+ "fullName": "Volledige naam",
"username": "Gebruikersnaam",
"role": "Rol",
"groups": "Groepen",
"noGroups": "Geen groepen beschikbaar.",
"displayName": "Weergavenaam",
- "primaryEmail": "Primair E-mailadres",
+ "primaryEmail": "Primair e-mailadres",
"recoveryEmail": "Wachtwoordherstel e-mailadres",
"activeCheckbox": "Gebruiker is actief",
"usernamePlaceholder": "Optioneel. Indien niet ingevuld mag de gebruiker bij registratie zelf kiezen",
@@ -186,7 +186,7 @@
"name": "Naam",
"users": "Gebruikers",
"addGroupAction": "Toevoegen",
- "allowedApps": "Toegestane Apps"
+ "allowedApps": "Toegestane apps"
},
"editGroupDialog": {
"title": "Groep bewerken",
@@ -216,7 +216,7 @@
"mailmanager": "Gebruiker & E-mail beheerder"
},
"invitationDialog": {
- "title": "Nodig {{ username }} uit",
+ "title": "Gebruiker uitnodigen",
"description": "De volgende uitnodigingslink is gestuurd naar {{ email }}:",
"sendAction": "Verstuur E-mail",
"descriptionLink": "Uitnodigingslink",
@@ -225,7 +225,7 @@
"setGhostDialog": {
"description": "Stel een tijdelijk wachtwoord in om namens deze gebruiker in te loggen bij apps of het dashboard. Dit wachtwoord is 6 uur geldig.",
"title": "Impersoneer gebruiker",
- "password": "Tijdelijk Wachtwoord",
+ "password": "Tijdelijk wachtwoord",
"setPassword": "Wachtwoord instellen",
"generatePassword": "Genereer wachtwoord",
"context": "Impersoneer gebruiker \"{{ username }}\""
@@ -259,10 +259,10 @@
"language": "Taal",
"changePassword": {
"title": "Verander Wachtwoord",
- "newPassword": "Nieuw Wachtwoord",
- "newPasswordRepeat": "Herhaal Nieuw Wachtwoord",
+ "newPassword": "Nieuw wachtwoord",
+ "newPasswordRepeat": "Herhaal nieuw wachtwoord",
"errorPasswordsDontMatch": "Wachtwoorden komen niet overeen",
- "currentPassword": "Huidig Wachtwoord"
+ "currentPassword": "Huidig wachtwoord"
},
"disable2FA": {
"password": "Wachtwoord",
@@ -318,11 +318,11 @@
},
"createApiToken": {
"title": "API Token aanmaken",
- "name": "API Token Naam",
+ "name": "API token naam",
"description": "Nieuwe API token:",
"copyNow": "Let op: kopieer de API token nu, vanwege veiligheidsredenen wordt het nooit meer getoond.",
"access": "API toegang",
- "allowedIpRanges": "Toegestane IP Range(s)"
+ "allowedIpRanges": "Toegestane IP range(s)"
},
"changePasswordAction": "Verander Wachtwoord",
"disable2FAAction": "Twee-Factor (2FA) authenticatie uitschakelen",
@@ -382,14 +382,14 @@
},
"configureBackupStorage": {
"title": "Configureer Backup Locatie",
- "provider": "Opslag Aanbieder",
+ "provider": "Opslagaanbieder",
"mountPoint": "Koppelpunt",
"mountPointDescription": "Het koppelpunt moet handmatig ingesteld worden. Zie handleiding.",
"localDirectory": "Lokale backup map",
"hardlinksLabel": "Gebruik hardlinks",
"s3Endpoint": "Eindpunt",
- "acceptSelfSignedCerts": "Accepteer zelf-ondertekend Certificaat",
- "bucketName": "Bucket Naam",
+ "acceptSelfSignedCerts": "Accepteer zelf-ondertekend certificaat",
+ "bucketName": "Bucket-naam",
"prefix": "Prefix",
"region": "Regio",
"gcsServiceKey": "Serviceaccountsleutel",
@@ -414,7 +414,7 @@
"encryptionPasswordRepeat": "Herhaal wachtwoord",
"remoteDirectory": "Externe map",
"username": "Gebruikersnaam",
- "server": "Server IP of Hostnaam",
+ "server": "Server IP / Hostnaam",
"password": "Wachtwoord",
"port": "Poort",
"diskPath": "Schijf pad",
@@ -425,7 +425,7 @@
"encryptFilenames": "Versleutel bestandsnamen",
"preserveAttributesLabel": "Behoud bestand attributen",
"name": "Naam",
- "encryptionHint": "Encryptie Wachtwoord Hint",
+ "encryptionHint": "Encryptie wachtwoord hint",
"usesEncryption": "Backup gebruikt encryptie",
"useForUpdates": "Sla hier backups van automatische updates op",
"backupContents": {
@@ -436,7 +436,7 @@
"includeOnlySelected": "Inclusief geselecteerde"
},
"automaticUpdates": {
- "title": "Backups van Automatische Updates",
+ "title": "Backups van automatische updates",
"description": "Vóór automatische updates wordt altijd een back-up gemaakt. Kies of je die back-ups op deze locatie wilt opslaan."
},
"useEncryption": "Encrypt Backups"
@@ -447,7 +447,7 @@
"description": "Backup permanent behouden (uitgesloten van het bewaarbeleid)"
},
"title": "Bewerk Backup",
- "label": "Backup Label",
+ "label": "Backup label",
"remotePath": "Extern pad"
},
"archives": {
@@ -490,7 +490,7 @@
"footer": {
"title": "Voettekst"
},
- "backgroundImage": "Inlogpagina Achtergrond"
+ "backgroundImage": "Inlogpagina achtergrond"
},
"emails": {
"title": "E-mail",
@@ -507,7 +507,7 @@
"location": "Mail Server Locatie",
"maxMailSize": "Maximale e-mailgrootte",
"spamFilter": "Spam filtering",
- "spamFilterOverview": "{{ blacklistCount }} adres(sen) op de blokkeerlijst.",
+ "spamFilterOverview": "{{ blacklistCount }} adres(sen) op de blokkeerlijst",
"solrFts": "Zoek volledige tekst",
"acl": "E-mail ACL",
"aclOverview": "{{ dnsblZonesCount }} DNSBL zone(s)",
@@ -545,7 +545,7 @@
"setAction": "Locatie instellen"
},
"changeMailSizeDialog": {
- "description": "Inkomende e-mails groter dan dit worden geweigerd."
+ "description": "Inkomende e-mails groter dan dit worden geweigerd"
},
"spamFilterDialog": {
"title": "Spam Filtering",
@@ -565,13 +565,13 @@
},
"typeFilterHeader": "Alle gebeurtenissen",
"aclDialog": {
- "dnsblZones": "DNSBL Zones",
+ "dnsblZones": "DNSBL zones",
"dnsblZonesInfo": "Verbindend IP-adres wordt opgezocht in deze IP-blokkeerlijsten",
"dnsblZonesPlaceholder": "Regel gescheiden zone namen",
"title": "Verander E-mail ACL"
},
"mailboxSharing": {
- "description": "Indien ingeschakeld kunnen gebruikers hun IMAP-mappen delen met andere gebruikers.",
+ "description": "Indien ingeschakeld kunnen gebruikers hun IMAP-mappen delen met andere gebruikers",
"title": "Mailbox delen"
},
"changeVirtualAllMailDialog": {
@@ -580,29 +580,29 @@
},
"domains": {
"domainDialog": {
- "nameComUsername": "Name.com Gebruikersnaam",
+ "nameComUsername": "Name.com gebruikersnaam",
"namecheapInfo": "Het IP adres van deze server moet opgenomen worden in de toegangslijst voor deze API Sleutel",
"addTitle": "Domein toevoegen",
"editTitle": "Bewerk Domein",
- "provider": "DNS Aanbieder",
- "route53AccessKeyId": "Toegangssleutel Id",
+ "provider": "DNS aanbieder",
+ "route53AccessKeyId": "Toegangssleutel ID",
"route53SecretAccessKey": "Geheime toegangssleutel",
- "digitalOceanToken": "DigitalOcean Token",
- "gandiApiKey": "Gandi API Sleutel",
- "goDaddyApiKey": "API Sleutel",
- "goDaddyApiSecret": "API geheim",
- "cloudflareTokenType": "Token Type",
- "cloudflareTokenTypeGlobalApiKey": "Globale API Sleutel",
- "cloudflareTokenTypeApiToken": "API Token",
+ "digitalOceanToken": "DigitalOcean token",
+ "gandiApiKey": "Gandi API sleutel",
+ "goDaddyApiKey": "GoDaddy API sleutel",
+ "goDaddyApiSecret": "GoDaddy API geheim",
+ "cloudflareTokenType": "Token type",
+ "cloudflareTokenTypeGlobalApiKey": "Globale API sleutel",
+ "cloudflareTokenTypeApiToken": "API token",
"cloudflareEmail": "Cloudflare E-mailadres",
- "linodeToken": "Linode Token",
- "nameComApiToken": "API Token",
- "namecheapUsername": "Namecheap Gebruikersnaam",
- "namecheapApiKey": "API Sleutel",
+ "linodeToken": "Linode token",
+ "nameComApiToken": "API token",
+ "namecheapUsername": "Namecheap gebruikersnaam",
+ "namecheapApiKey": "Namecheap API sleutel",
"manualInfo": "Alle DNS-records moeten handmatig worden aangemaakt voordat een app geïnstalleerd kan worden.",
"wildcardInfo": "Stel handmatig A (IPv4) and AAAA (IPv6) DNS records in voor *.{{ domain }} en {{ domain }} met verwijzingen naar deze Cloudron server",
"advancedAction": "Geavanceerde instellingen …",
- "zoneName": "Zone Naam (Optioneel)",
+ "zoneName": "Zone naam (optioneel)",
"fallbackCert": "Reservecertificaat (optioneel)",
"fallbackCertCustomCert": "Aangepast certificaat",
"fallbackCertCustomCertInfo": "Voorzie een wildcard certificaat voor gebruik door alle apps op dit domein. Als dit niet wordt verstrekt, wordt automatisch een zelfondertekend certificaat aangemaakt.",
@@ -610,19 +610,19 @@
"fallbackCertCertificatePlaceholder": "Certificaat",
"letsEncryptInfo": "Let's Encrypt vereist dat deze server bereikbaar is op poort 80",
"domain": "Domein",
- "gcdnsServiceAccountKey": "Service Account Sleutel",
- "mastodonHostname": "Mastodon Server Locatie",
- "matrixHostname": "Matrix Server Locatie",
- "netcupApiKey": "API Sleutel",
- "netcupCustomerNumber": "Klantnummer",
- "netcupApiPassword": "API wachtwoord",
- "vultrToken": "Vultr Token",
- "jitsiHostname": "Jitsi Locatie",
+ "gcdnsServiceAccountKey": "Service account sleutel",
+ "mastodonHostname": "Mastodon server locatie",
+ "matrixHostname": "Matrix server locatie",
+ "netcupApiKey": "Netcup API sleutel",
+ "netcupCustomerNumber": "Netcup klantnummer",
+ "netcupApiPassword": "Netcup API wachtwoord",
+ "vultrToken": "Vultr token",
+ "jitsiHostname": "Jitsi locatie",
"wellKnownDescription": "De waardes worden gebruikt om te reageren op https://{{ domain }}/.well-known/ URLs. Let op: de app moet bereikbaar zijn op het hoofddomein {{ domain }} om te kunnen werken. Lees de documentatie voor meer informatie.",
- "hetznerToken": "Hetzner Token",
- "cloudflareDefaultProxyStatus": "Inschakelen Proxy voor nieuwe DNS regels",
- "porkbunApikey": "API sleutel",
- "porkbunSecretapikey": "Geheime API sleutel",
+ "hetznerToken": "Hetzner token",
+ "cloudflareDefaultProxyStatus": "Inschakelen proxy voor nieuwe DNS regels",
+ "porkbunApikey": "Porkbun API sleutel",
+ "porkbunSecretapikey": "Porkbun geheime API sleutel",
"bunnyAccessKey": "Bunny toegangssleutel",
"dnsimpleAccessToken": "Toegangstoken",
"ovhEndpoint": "Eindpunt",
@@ -1069,22 +1069,22 @@
}
},
"timezone": {
- "title": "Systeem Tijdzone",
+ "title": "Systeem tijdzone",
"description": "Gebruikt voor geplande backups en updates. Tijden zijn op basis van jouw browser’s tijdzone."
},
"updates": {
"title": "Updates",
"checkForUpdatesAction": "Controleer op updates",
"updateAvailableAction": "Update beschikbaar",
- "stopUpdateAction": "Stop Update",
- "description": "Platform en app updates worden toegepast met de geconfigureerde planning met deze Systeem Tijdzone.",
+ "stopUpdateAction": "Stop update",
+ "description": "Platform en app updates worden toegepast met de geconfigureerde planning met deze Systeem tijdzone.",
"disabled": "Uitgeschakeld",
- "schedule": "Update Planning",
+ "schedule": "Update planning",
"onLatest": "Laatste"
},
"updateScheduleDialog": {
- "disableCheckbox": "Automatische Updates uitschakelen",
- "enableCheckbox": "Automatische Updates inschakelen",
+ "disableCheckbox": "Automatische updates uitschakelen",
+ "enableCheckbox": "Automatische updates inschakelen",
"selectOne": "Selecteer minstens één dag en tijd",
"days": "Dagen",
"hours": "Uren",
@@ -1092,13 +1092,14 @@
"description": "Stel de dagen en uren in voor automatische updates van het platform en apps. Zorg ervoor dat dit schema niet overlapt met de back-upschema's."
},
"updateDialog": {
- "title": "Update Cloudron naar",
+ "title": "Update Cloudron",
"blockingApps": "Onderstaande apps blokkeren een update omdat ze openstaande acties hebben:",
"blockingAppsInfo": "Wacht tot de bovenstaande activiteiten uitgevoerd zijn.",
"unstableWarning": "Deze update is een niet-stabiele versie. Update op eigen risico.",
"changes": "Aanpassingen",
"skipBackupCheckbox": "Backup overslaan",
- "updateAction": "Update"
+ "updateAction": "Update",
+ "updateAvailable": "Cloudron {{ newVersion }} is beschikbaar"
},
"language": {
"title": "Taal",
@@ -1106,7 +1107,7 @@
},
"title": "Instellingen",
"registryConfig": {
- "provider": "Docker Registry Aanbieder",
+ "provider": "Docker registry aanbieder",
"providerOther": "Anders"
}
},
@@ -1130,10 +1131,10 @@
"vendor": "Leverancier",
"memory": "Geheugen",
"uptime": "Uptime",
- "activationTime": "Cloudron installatie tijd",
+ "activationTime": "Cloudron installatietijd",
"product": "Product",
- "cloudronVersion": "Cloudron Versie",
- "ubuntuVersion": "Ubuntu Versie"
+ "cloudronVersion": "Cloudron versie",
+ "ubuntuVersion": "Ubuntu versie"
},
"graphs": {
"title": "Grafieken"
@@ -1194,11 +1195,11 @@
"reallyDelete": "Wil je het echt verwijderen?"
},
"newDirectoryDialog": {
- "title": "Nieuwe map",
+ "title": "Nieuwe mapnaam",
"create": "Aanmaken"
},
"newFileDialog": {
- "title": "Nieuw bestand",
+ "title": "Nieuw bestandsnaam",
"create": "Aanmaken"
},
"renameDialog": {
@@ -1215,7 +1216,7 @@
"upload": "Upload",
"newFolder": "Nieuwe map",
"uploadFolder": "Upload map",
- "openTerminal": "Open Terminal",
+ "openTerminal": "Open terminal",
"openLogs": "Open logbestanden"
},
"extractionInProgress": "Bezig met uitpakken",
diff --git a/dashboard/public/translation/pt.json b/dashboard/public/translation/pt.json
index 5ddd6c3a6..e3cea8357 100644
--- a/dashboard/public/translation/pt.json
+++ b/dashboard/public/translation/pt.json
@@ -105,10 +105,10 @@
"title": "Alterar endereço de correio eletrónico principal"
},
"changePassword": {
- "title": "Alterar palavra-passe",
- "currentPassword": "Palavra-passe atual",
- "newPassword": "Nova palavra-passe",
- "newPasswordRepeat": "Repetir palavra-passe",
+ "title": "Alterar Palavra-passe",
+ "currentPassword": "Palavra-passe Atual",
+ "newPassword": "Nova Palavra-passe",
+ "newPasswordRepeat": "Repetir Nova Palavra-passe",
"errorPasswordsDontMatch": "As palavras-passe não coincidem"
},
"enable2FA": {
@@ -150,7 +150,7 @@
"body": "Mensagem enviada para {{ email }}"
},
"title": "Perfil",
- "primaryEmail": "E-mail principal",
+ "primaryEmail": "E-mail Principal",
"language": "Idioma",
"disable2FA": {
"title": "Desativar Autenticação de Dois Fatores",
@@ -169,7 +169,7 @@
"title": "Palavras-passe da Aplicação",
"app": "Aplicação",
"name": "Nome",
- "noPasswordsPlaceholder": "Nenhumas Palavras-passe de Aplicação criadas",
+ "noPasswordsPlaceholder": "Sem palavras-passe da aplicação",
"description": "As palavras-passe da aplicação são uma medida de segurança para proteger a sua conta de utilizador Cloudron. Se precisar de aceder a uma aplicação Cloudron a partir de uma aplicação móvel ou cliente não fidedigno, pode iniciar a sessão com o seu nome de utilizador e a palavra-passe alternativa gerada aqui."
},
"changePasswordAction": "Alterar Palavra-passe",
@@ -181,13 +181,13 @@
"removeApiToken": {
"title": "Deseja remover o código {{ name }}?"
},
- "passwordRecoveryEmail": "Mensagem de recuperação da palavra-passe"
+ "passwordRecoveryEmail": "Mensagem de Recuperação da Palavra-passe"
},
"users": {
"exposedLdap": {
"ipRestriction": {
"label": "Restringir Acesso",
- "placeholder": "Endereço de IP ou Sub-rede separado por linha",
+ "placeholder": "Endereço de IP ou sub-redes separados por linha",
"description": "Limite o acesso do Servidor de Diretoria para IPs ou intervalos específicos. As linhas que começam com # são tratadas como comentários."
},
"secret": {
@@ -240,7 +240,7 @@
},
"passwordResetDialog": {
"description": "A seguinte hiperligação de redefinir palavra-passe foi enviada para {{ email }}:",
- "sendAction": "Enviar Mensagem",
+ "sendAction": "Enviar mensagem",
"reset2FAAction": "Redefinir 2FA",
"title": "Redefinir palavra-passe para {{ username }}",
"descriptionLink": "Copiar hiperligação de redefinição da palavra-passe",
@@ -251,15 +251,15 @@
"title": "Editar utilizador {{ username }}"
},
"deleteGroupDialog": {
- "description": "Este grupo tem {{ memberCount }} membro(s). Deseja remover este grupo?",
+ "description": "Este grupo tem {{ memberCount }} membro(s).
Eliminar grupo\"{{ name }}\"?",
"deleteAction": "Eliminar",
- "title": "Eliminar grupo {{ name }}"
+ "title": "Eliminar Grupo"
},
"invitationDialog": {
- "descriptionEmail": "Enviar hiperligação de convite",
+ "descriptionEmail": "Enviar Hiperligação de Convite",
"title": "Convidar {{ username }}",
- "sendAction": "Enviar Mensagem",
- "descriptionLink": "Copiar hiperligação de convite",
+ "sendAction": "Enviar mensagem",
+ "descriptionLink": "Hiperligação de Convite",
"description": "A seguinte hiperligação de convite foi enviada para {{ email }}:"
},
"externalLdap": {
@@ -302,10 +302,10 @@
},
"setGhostDialog": {
"password": "Palavra-passe Temporária",
- "setPassword": "Definir Palavra-passe",
+ "setPassword": "Definir palavra-passe",
"generatePassword": "Gerar Palavra-passe",
- "title": "Criar palavra-passe para se passar por {{ username }}",
- "description": "Defina uma palavra-passe temporária para fazer iniciar a sessão em nome deste utilizador nas aplicações ou no painel. Esta palavra-passe é válida por 6 horas."
+ "title": "Fazer-se passar pelo Utilizador",
+ "description": "Defina uma palavra-passe temporária para iniciar a sessão em nome deste utilizador nas aplicações ou no painel. Esta palavra-passe é válida por 6 horas."
},
"settings": {
"saveAction": "Guardar",
diff --git a/dashboard/src/components/ApplinkDialog.vue b/dashboard/src/components/ApplinkDialog.vue
index edf826bce..547b92437 100644
--- a/dashboard/src/components/ApplinkDialog.vue
+++ b/dashboard/src/components/ApplinkDialog.vue
@@ -178,7 +178,8 @@ defineExpose({