Initial commit
This commit is contained in:
@@ -0,0 +1,364 @@
|
||||
{
|
||||
"accounts": "Accounts",
|
||||
"actions": {
|
||||
"actionFailed": "Action failed.",
|
||||
"backToActions": "Back to actions",
|
||||
"execute": "Execute",
|
||||
"executeAnother": "Execute another action",
|
||||
"executedSuccess": "Action executed successfully.",
|
||||
"executing": "Executing {{label}}...",
|
||||
"failedTitle": "Action failed",
|
||||
"noAdditionalData": "No additional data returned.",
|
||||
"otherGroup": "Other",
|
||||
"title": "Actions"
|
||||
},
|
||||
"bootstrap": {
|
||||
"clipboardBlocked": "Your browser blocked clipboard access.",
|
||||
"complete": "Setup complete",
|
||||
"configuredSuccessfully": "Stalwart has been configured successfully.",
|
||||
"copyFailed": "Copy failed",
|
||||
"credentialsCreated": "Your administrator account has been created. Write these down now: the password will not be shown again.",
|
||||
"emptyForm": "Setup form is empty. The server did not return any bootstrap fields.",
|
||||
"failedToComplete": "Failed to complete setup.",
|
||||
"failedToLoad": "Failed to load bootstrap state.",
|
||||
"finishSetup": "Finish setup",
|
||||
"loadingSetup": "Loading setup...",
|
||||
"nextStepBody": "restart Stalwart for the new configuration to take effect. Once restarted, sign in with the credentials above to continue administering your server.",
|
||||
"nextStepLabel": "Next step:",
|
||||
"noConfirm": "The server did not confirm the update.",
|
||||
"stepOf": "Step {{current}} of {{total}}",
|
||||
"welcome": "Welcome to Stalwart",
|
||||
"welcomeSubtitle": "Let's get your server set up."
|
||||
},
|
||||
"common": {
|
||||
"apply": "Apply",
|
||||
"back": "Back",
|
||||
"cancel": "Cancel",
|
||||
"clear": "Clear",
|
||||
"confirm": "Confirm",
|
||||
"continue": "Continue",
|
||||
"create": "Create",
|
||||
"delete": "Delete",
|
||||
"loading": "Loading...",
|
||||
"next": "Next",
|
||||
"no": "No",
|
||||
"noResultsDot": "No results.",
|
||||
"save": "Save",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search...",
|
||||
"yes": "Yes",
|
||||
"close": "Close"
|
||||
},
|
||||
"dashboard": {
|
||||
"customEllipsis": "Custom...",
|
||||
"customRange": "Custom range",
|
||||
"failedFetchMetrics": "Failed to fetch metrics",
|
||||
"from": "From",
|
||||
"liveMetricsDisconnected": "Live metrics stream disconnected after multiple retries.",
|
||||
"liveMetricsFailed": "Failed to connect to live metrics.",
|
||||
"preset24h": "Last 24 hours",
|
||||
"preset30d": "Last 30 days",
|
||||
"preset7d": "Last 7 days",
|
||||
"preset90d": "Last 90 days",
|
||||
"to": "To"
|
||||
},
|
||||
"deliveryTrace": {
|
||||
"attemptCount_one": "{{count}} attempt",
|
||||
"attemptCount_other": "{{count}} attempts",
|
||||
"attemptLabel": "Delivery Attempt: {{hostname}}",
|
||||
"body": {
|
||||
"connectionStart": "Connecting to {{ip}}",
|
||||
"connectionSuccess": "Connected",
|
||||
"daneVerifySuccess": "DANE verification passed",
|
||||
"ehloSuccess": "EHLO accepted",
|
||||
"ipLookupOverflow": "{{shown}} +{{extra}} more",
|
||||
"mailFromSuccess": "Sender accepted",
|
||||
"mtaStsFetchSuccess": "Policy fetched successfully",
|
||||
"mtaStsNotFound": "No MTA-STS policy published",
|
||||
"mtaStsVerifySuccess": "MTA-STS hostname verified",
|
||||
"mxLookupStart": "Looking up MX for {{domain}}",
|
||||
"mxLookupSuccess_one": "Resolved {{count}} MX record",
|
||||
"mxLookupSuccess_other": "Resolved {{count}} MX records",
|
||||
"quitCompleted": "Session closed",
|
||||
"rcptToSuccess": "Recipient accepted",
|
||||
"readGreetingSuccess": "Server greeting received",
|
||||
"startTlsSuccess": "TLS negotiated",
|
||||
"tlsRptLookupSuccess_one": "Found {{count}} reporting URI",
|
||||
"tlsRptLookupSuccess_other": "Found {{count}} reporting URIs",
|
||||
"tlsRptNotFound": "No TLS-RPT record published",
|
||||
"tlsaLookupSuccess": "TLSA record found",
|
||||
"tlsaNotFound": "No TLSA record found"
|
||||
},
|
||||
"cancelTrace": "Cancel trace",
|
||||
"connectionLost": "Connection lost before trace completed.",
|
||||
"deliveryFailed": "Delivery failed",
|
||||
"deliverySuccessful": "Delivery successful",
|
||||
"failedToStart": "Failed to start trace.",
|
||||
"inDuration": "in {{elapsed}}",
|
||||
"invalidTarget": "Enter a valid email address or domain.",
|
||||
"phase": {
|
||||
"connection": "TCP Connection",
|
||||
"daneVerify": "DANE Verify",
|
||||
"ipLookup": "IP Lookup",
|
||||
"mtaStsFetch": "MTA-STS Policy Fetch",
|
||||
"mtaStsVerify": "MTA-STS Verify",
|
||||
"mxLookup": "MX Lookup",
|
||||
"readGreeting": "Read Greeting",
|
||||
"tlsRptLookup": "TLS-RPT Lookup",
|
||||
"tlsaLookup": "TLSA / DANE Lookup"
|
||||
},
|
||||
"runAnother": "Run another trace",
|
||||
"startTrace": "Start trace",
|
||||
"startedAgoMin": "Started {{m}}m {{s}}s ago",
|
||||
"startedAgoSec": "Started {{s}}s ago",
|
||||
"subtitle": "Run a real outbound SMTP delivery attempt and watch every DNS lookup, TLS handshake, and SMTP command as it happens.",
|
||||
"targetLabel": "Target address or domain",
|
||||
"targetPlaceholder": "john@example.org or example.org",
|
||||
"timedOut": "Trace timed out after 120 seconds.",
|
||||
"title": "Delivery Trace",
|
||||
"traceCompletedFor": "Trace completed for {{target}}",
|
||||
"traceFailedFor": "Trace failed for {{target}}",
|
||||
"tracingDelivery": "Tracing delivery to {{target}}",
|
||||
"viewDetails": "View details",
|
||||
"waiting": "Waiting for more events"
|
||||
},
|
||||
"duration": {
|
||||
"days": "Days",
|
||||
"hours": "Hours",
|
||||
"milliseconds": "Milliseconds",
|
||||
"minutes": "Minutes",
|
||||
"seconds": "Seconds"
|
||||
},
|
||||
"enterprise": {
|
||||
"featureDisabled": "This feature requires an Enterprise license.",
|
||||
"trialTitle": "Unlock Enterprise Features",
|
||||
"trialDescription": "Get access to advanced features including multi-tenancy, AI-powered spam filtering, alerts, and more.",
|
||||
"trialButton": "Start 30-Day Free Trial",
|
||||
"requestTrial": "Request a free trial to unlock this feature.",
|
||||
"ossHidden": "This feature is not available in the open-source edition."
|
||||
},
|
||||
"errorBoundary": {
|
||||
"title": "Something went wrong",
|
||||
"tryAgain": "Try Again"
|
||||
},
|
||||
"errors": {
|
||||
"unexpectedError": "An unexpected error occurred.",
|
||||
"viewNotFound": "View not found",
|
||||
"loadSchemaFailed": "Failed to load the admin panel configuration.",
|
||||
"notFound": "The requested resource was not found."
|
||||
},
|
||||
"expression": {
|
||||
"addCondition": "Add condition",
|
||||
"condition": "Condition",
|
||||
"defaultValue": "Default value",
|
||||
"else": "ELSE",
|
||||
"if": "IF",
|
||||
"result": "Result",
|
||||
"then": "THEN",
|
||||
"value": "Value"
|
||||
},
|
||||
"field": {
|
||||
"add": "Add",
|
||||
"addItem": "Add item",
|
||||
"contentModified": "Content modified (will be saved as a new blob)",
|
||||
"enable": "Enable",
|
||||
"key": "Key...",
|
||||
"loadingContent": "Loading content...",
|
||||
"noMatches": "No matches",
|
||||
"noPermissionToView": "You do not have permission to view {{name}}",
|
||||
"none": "None",
|
||||
"notSet": "Not set",
|
||||
"optional": "(optional)",
|
||||
"required": "required",
|
||||
"selectEllipsis": "Select...",
|
||||
"selectKey": "Select key...",
|
||||
"selectOptions": "Select options...",
|
||||
"type": "Type",
|
||||
"typeAndPressEnter": "Type and press Enter...",
|
||||
"unknownObjectType": "Unknown object type: {{name}}"
|
||||
},
|
||||
"filters": {
|
||||
"after": "After",
|
||||
"all": "All",
|
||||
"before": "Before"
|
||||
},
|
||||
"form": {
|
||||
"correctErrorsBelow": "Please correct the errors below.",
|
||||
"createTitle": "Create {{name}}",
|
||||
"createdServerGenerated": "The following values were generated by the server. Please save them now, they may not be retrievable later.",
|
||||
"createdSuccess": "Created successfully",
|
||||
"deleteDescription": "This action cannot be undone. This will permanently delete this {{name}}.",
|
||||
"deleteTitle": "Delete {{name}}?",
|
||||
"deletedSuccess": "{{name}} deleted successfully",
|
||||
"editTitle": "Edit {{name}}",
|
||||
"editTitleWithValue": "Edit {{name}}: {{value}}",
|
||||
"failedToDelete": "Failed to delete.",
|
||||
"failedToLoadData": "Failed to load data.",
|
||||
"failedToSave": "Failed to save.",
|
||||
"invalidValue": "Invalid value.",
|
||||
"item": "item",
|
||||
"leave": "Leave",
|
||||
"loadingData": "Loading data...",
|
||||
"loadingSchema": "Loading schema...",
|
||||
"maxLengthIs": "Maximum length is {{max}}.",
|
||||
"maxValueIs": "Maximum value is {{max}}.",
|
||||
"minLengthIs": "Minimum length is {{min}}.",
|
||||
"minValueIs": "Minimum value is {{min}}.",
|
||||
"noChangesToSave": "No changes to save",
|
||||
"objectNotFound": "Object not found.",
|
||||
"otpCodeRequired": "Enter your current authenticator code to authorise this change.",
|
||||
"required": "This field is required.",
|
||||
"savedSuccess": "Saved successfully",
|
||||
"selectType": "Select type...",
|
||||
"stay": "Stay",
|
||||
"unsavedChanges": "You have unsaved changes. Are you sure you want to leave?",
|
||||
"unsavedChangesLabel": "Unsaved changes",
|
||||
"unsavedChangesTitle": "Unsaved changes"
|
||||
},
|
||||
"globalSearch": {
|
||||
"create": "Create",
|
||||
"fields": "Fields",
|
||||
"formSections": "Form Sections",
|
||||
"list": "List",
|
||||
"noResults": "No results found.",
|
||||
"pages": "Pages",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"jmapErrors": {
|
||||
"addressBookHasContents": "This address book has contacts. Remove them first.",
|
||||
"alreadyExists": "An item with the same identifier already exists.",
|
||||
"calendarHasEvent": "This calendar contains events. Remove them first.",
|
||||
"forbidden": "You do not have permission to perform this action.",
|
||||
"invalidForeignKey": "This item references another item that does not exist.",
|
||||
"mailboxHasChild": "This mailbox has child mailboxes. Delete them first.",
|
||||
"mailboxHasEmail": "This mailbox contains messages. Remove them first.",
|
||||
"nodeHasChildren": "This item has children. Delete them first.",
|
||||
"notFound": "The item was not found. It may have been already deleted.",
|
||||
"objectIsLinked": "This item is referenced by other items and cannot be deleted.",
|
||||
"overQuota": "The operation exceeds your storage quota.",
|
||||
"primaryKeyViolation": "An item with the same key already exists.",
|
||||
"rateLimit": "Too many requests. Please try again later.",
|
||||
"singleton": "This item is a singleton and cannot be deleted.",
|
||||
"tooLarge": "The item is too large.",
|
||||
"unexpected": "Unexpected error ({{type}}).",
|
||||
"validationFailed": "The data did not pass validation."
|
||||
},
|
||||
"list": {
|
||||
"actionWithCount": "{{action}} ({{count}} {{name}})",
|
||||
"actions": "Actions",
|
||||
"allItemsSelected": "All {{total}} items matching filters are selected.",
|
||||
"allPageSelected": "All {{count}} items on this page are selected.",
|
||||
"bulkErrorGrouped": "{{count}} items: {{message}}",
|
||||
"bulkErrorMore": "…and {{count}} more.",
|
||||
"bulkFailDelete_one": "Failed to delete {{count}} item.",
|
||||
"bulkFailDelete_other": "Failed to delete {{count}} items.",
|
||||
"bulkFailUpdate_one": "Failed to update {{count}} item.",
|
||||
"bulkFailUpdate_other": "Failed to update {{count}} items.",
|
||||
"bulkMixedDelete": "{{success}} deleted, {{failed}} failed.",
|
||||
"bulkMixedUpdate": "{{success}} updated, {{failed}} failed.",
|
||||
"bulkSuccessDelete_one": "{{count}} item deleted successfully.",
|
||||
"bulkSuccessDelete_other": "{{count}} items deleted successfully.",
|
||||
"bulkSuccessUpdate_one": "{{count}} item updated successfully.",
|
||||
"bulkSuccessUpdate_other": "{{count}} items updated successfully.",
|
||||
"clearSelection": "Clear selection",
|
||||
"confirmDescription": "Are you sure you want to proceed with: {{action}}?",
|
||||
"confirmTitle": "Confirm Action",
|
||||
"create": "Create {{name}}",
|
||||
"delete": "Delete",
|
||||
"deleteNotConfirmed": "Delete failed: item was not confirmed as destroyed by the server.",
|
||||
"filterPlaceholder": "Search {{label}}...",
|
||||
"filters": "Filters",
|
||||
"massAction": "Actions",
|
||||
"next": "Next",
|
||||
"noResults": "No results found",
|
||||
"previous": "Previous",
|
||||
"resetFilters": "Reset",
|
||||
"searchFilters": "Search",
|
||||
"selectAll": "Select all",
|
||||
"selectAllMatching": "Select all {{total}} items matching filters",
|
||||
"selectFilterPlaceholder": "Select {{label}}...",
|
||||
"selectItem": "Select item",
|
||||
"showing": "Showing {{from}}-{{to}} of {{total}} {{name}}",
|
||||
"showingItems": "Showing {{count}} items",
|
||||
"sort": "Sort",
|
||||
"unknownError": "Unknown error"
|
||||
},
|
||||
"login": {
|
||||
"continue": "Continue",
|
||||
"error": "An unexpected error occurred",
|
||||
"prompt": "Enter your account name to continue",
|
||||
"usernamePlaceholder": "user@example.com"
|
||||
},
|
||||
"logo": {
|
||||
"alt": "Logo",
|
||||
"stalwartAlt": "Stalwart Logo"
|
||||
},
|
||||
"logout": "Logout",
|
||||
"oauth": {
|
||||
"backToLogin": "Back to login",
|
||||
"discoveryFailed": "Discovery failed for \"{{username}}\": {{status}} {{statusText}}",
|
||||
"error": "Authentication failed",
|
||||
"missingData": "Missing OAuth session data. Please try logging in again.",
|
||||
"missingParams": "Missing authorization code or state parameter",
|
||||
"processing": "Completing sign in...",
|
||||
"stateMismatch": "State parameter mismatch. Please try logging in again.",
|
||||
"tokenExchangeFailed": "Token exchange failed: {{status}} {{statusText}}"
|
||||
},
|
||||
"otp": {
|
||||
"codeIncorrect": "That code is incorrect. Make sure your authenticator clock is in sync.",
|
||||
"confirmationCodeLabel": "Confirmation code",
|
||||
"currentCodeLabel": "Current code",
|
||||
"currentCodePrompt": "Enter your current 6-digit code to authorise any change to this account (including disabling two-factor authentication).",
|
||||
"disable": "Disable",
|
||||
"enterCodePrompt": "Enter the code shown in your authenticator.",
|
||||
"qrCodeAlt": "TOTP QR code",
|
||||
"scanDescription": "Scan the QR code below with Google Authenticator, 1Password, Authy, or any other TOTP app, then enter the 6-digit code it shows to confirm setup.",
|
||||
"scanPrompt": "Scan with your authenticator app",
|
||||
"setUp": "Set up TOTP",
|
||||
"statusDisabled": "Two-factor authentication is not enabled.",
|
||||
"statusEnabled": "Two-factor authentication is enabled."
|
||||
},
|
||||
"rate": {
|
||||
"count": "Count",
|
||||
"per": "per",
|
||||
"periodValue": "Period value"
|
||||
},
|
||||
"sections": "Sections",
|
||||
"toggleTheme": "Toggle theme",
|
||||
"tracing": {
|
||||
"addFilter": "Add filter",
|
||||
"bufferFull": "(buffer full)",
|
||||
"connecting": "Connecting...",
|
||||
"date": "Date",
|
||||
"disabled": "disabled",
|
||||
"duration": "Duration",
|
||||
"enabled": "enabled",
|
||||
"eventCount_one": "{{count}} event",
|
||||
"eventCount_other": "{{count}} events",
|
||||
"events": "Events",
|
||||
"failedToLoadTrace": "Failed to load trace",
|
||||
"keywordsLabel": "Keywords (optional)",
|
||||
"keywordsPlaceholder": "Enter keywords to filter events...",
|
||||
"liveDisconnected": "Live tracing stream disconnected after multiple retries.",
|
||||
"liveFailedStart": "Failed to start live tracing.",
|
||||
"liveSubtitle": "Stream server events in real time.",
|
||||
"liveTitle": "Live Tracing",
|
||||
"noEvents": "No trace events to display.",
|
||||
"restart": "Restart",
|
||||
"spanType": "Span Type",
|
||||
"startTracing": "Start tracing",
|
||||
"stopTracing": "Stop tracing",
|
||||
"stopped": "Stopped",
|
||||
"streamingEvents": "Streaming events...",
|
||||
"traceNotFound": "Trace not found",
|
||||
"valuePlaceholder": "Value..."
|
||||
},
|
||||
"tryEnterprise": "Try Enterprise",
|
||||
"userMenu": "User menu",
|
||||
"view": {
|
||||
"couldNotResolve": "Could not resolve object",
|
||||
"failedToLoad": "Failed to load",
|
||||
"noGetResponse": "No get response",
|
||||
"objectNotFound": "Object not found"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user