469 lines
22 KiB
JSON
469 lines
22 KiB
JSON
{
|
||
"appName": "Simple Mail Cleaner",
|
||
"tagline": "Clean inboxes at scale, safely.",
|
||
"start": "Start cleanup",
|
||
"progress": "Progress",
|
||
"mailboxes": "Mailboxes",
|
||
"jobs": "Jobs",
|
||
"rules": "Rules",
|
||
"status": "Status",
|
||
"welcome": "Welcome back",
|
||
"description": "Connect GMX, Gmail, and web.de accounts to unsubscribe newsletters, sort mail, and track every step.",
|
||
"language": "Language",
|
||
"overview": "Overview",
|
||
"queue": "Queue",
|
||
"security": "Security",
|
||
"securityText": "Tokens encrypted, audit-ready logs, GDPR-first design.",
|
||
"featureOne": "Automated unsubscribe",
|
||
"featureTwo": "Configurable routing",
|
||
"featureThree": "Multi-tenant ready",
|
||
"featureOneText": "List-Unsubscribe one-click plus web-link handling.",
|
||
"featureTwoText": "Flexible rules for folders, labels, and deletions.",
|
||
"featureThreeText": "Tenant isolation with accounts, jobs, and rules per user.",
|
||
"queueText": "Track jobs, progress, and logs in real time.",
|
||
"progressNote": "Security posture preview – encryption and audit trails are planned.",
|
||
"admin": "Admin",
|
||
"login": "Login",
|
||
"register": "Register",
|
||
"createAccount": "Create account",
|
||
"noAccount": "No account yet?",
|
||
"confirm": "Confirm",
|
||
"confirmTitle": "Please confirm",
|
||
"cancel": "Cancel",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"provider": "Provider",
|
||
"authMode": "Auth mode",
|
||
"oauth": "OAuth",
|
||
"passwordResetTitle": "Password change required",
|
||
"passwordResetHint": "Your admin password was reset. Please set a new password to continue.",
|
||
"newPassword": "New password",
|
||
"confirmPassword": "Confirm password",
|
||
"passwordResetAction": "Update password",
|
||
"passwordMismatch": "Passwords do not match.",
|
||
"passwordUpdated": "Password updated.",
|
||
"adminTenants": "Tenants",
|
||
"adminUsers": "Users",
|
||
"adminAccounts": "Accounts",
|
||
"adminJobs": "Jobs",
|
||
"adminSettings": "Settings",
|
||
"adminExport": "Export",
|
||
"adminDisable": "Disable",
|
||
"adminEnable": "Enable",
|
||
"adminDelete": "Delete",
|
||
"adminMakeUser": "Make USER",
|
||
"adminMakeAdmin": "Make ADMIN",
|
||
"adminImpersonate": "Impersonate",
|
||
"adminResetPassword": "Reset password",
|
||
"adminResetTitle": "Reset password",
|
||
"adminResetPlaceholder": "New password (min 10 characters)",
|
||
"adminCancel": "Cancel",
|
||
"adminConfirmReset": "Reset",
|
||
"adminSettingsHint": "Override OAuth settings stored in the environment. Leave empty to fall back to .env.",
|
||
"adminGoogleSettings": "Google OAuth",
|
||
"adminGoogleSettingsHelp": "Create an OAuth client in Google Cloud Console. Add the Redirect URL below as an authorized redirect URI. Use OAuth consent screen in external mode and enable Gmail API.",
|
||
"adminGoogleClientId": "Client ID",
|
||
"adminGoogleClientSecret": "Client secret",
|
||
"adminGoogleRedirectUri": "Redirect URL",
|
||
"adminCleanupScanLimit": "Max emails per cleanup",
|
||
"adminCleanupScanLimitHint": "0 = unlimited. Useful for testing.",
|
||
"adminNewsletterSettings": "Newsletter detection",
|
||
"adminNewsletterSettingsHint": "Signals and thresholds used to detect newsletters. Comma-separated lists. Weights define how much each signal adds to the score.",
|
||
"adminNewsletterThreshold": "Minimum signals",
|
||
"adminNewsletterHeaderKeys": "Header keys",
|
||
"adminNewsletterHeaderKeysHint": "Comma-separated list headers (e.g. list-unsubscribe,list-id,...).",
|
||
"adminNewsletterWeightHeader": "Weight: header matches",
|
||
"adminNewsletterWeightPrecedence": "Weight: bulk/list precedence",
|
||
"adminNewsletterSubjectTokens": "Subject keywords",
|
||
"adminNewsletterSubjectTokensHint": "Comma-separated tokens matched against the subject.",
|
||
"adminNewsletterWeightSubject": "Weight: subject match",
|
||
"adminNewsletterFromTokens": "From keywords",
|
||
"adminNewsletterFromTokensHint": "Comma-separated tokens matched against the sender.",
|
||
"adminNewsletterWeightFrom": "Weight: from match",
|
||
"adminUnsubscribeHistoryTtl": "Unsubscribe dedupe window (days)",
|
||
"adminUnsubscribeHistoryTtlHint": "Prevents running unsubscribe again within this time window. Set to 0 to disable.",
|
||
"adminUnsubscribeMethod": "Unsubscribe method preference",
|
||
"adminUnsubscribeMethodHint": "Auto uses HTTP when available and falls back to mailto if HTTP fails.",
|
||
"adminUnsubscribeMethodAuto": "Auto (HTTP → mailto fallback)",
|
||
"adminUnsubscribeMethodHttp": "Prefer HTTP",
|
||
"adminUnsubscribeMethodMailto": "Prefer mailto",
|
||
"adminSaveSettings": "Save settings",
|
||
"adminSaving": "Saving...",
|
||
"adminSettingsSaved": "Saved",
|
||
"adminSettingsError": "Save failed",
|
||
"adminShowSecret": "Show secret",
|
||
"adminHideSecret": "Hide secret",
|
||
"adminSettingsSource": "Sources - Client ID: {{id}}, Secret: {{secret}}, Redirect: {{redirect}}",
|
||
"adminSettingsSourceNewsletter": "Sources - Threshold: {{threshold}}, Headers: {{headers}}, Subject tokens: {{subject}}, From tokens: {{from}}, Weights (header/precedence/subject/from): {{weightHeader}}/{{weightPrecedence}}/{{weightSubject}}/{{weightFrom}}, Unsubscribe history: {{history}}, Method: {{method}}",
|
||
"selectAll": "Select all",
|
||
"adminCancelSelected": "Cancel selected",
|
||
"adminDeleteSelected": "Delete selected",
|
||
"adminDeleteJobsConfirm": "Delete {{count}} selected jobs and all events?",
|
||
"adminRetry": "Retry",
|
||
"adminCancelJob": "Cancel",
|
||
"adminMailboxStatus": "Mailbox status",
|
||
"oauthConnected": "OAuth connected",
|
||
"oauthMissing": "OAuth missing",
|
||
"oauthConnect": "Check/connect OAuth",
|
||
"gmailConnect": "Connect Gmail OAuth",
|
||
"mailboxAdd": "Add mailbox",
|
||
"mailboxEditTitle": "Edit mailbox",
|
||
"mailboxSave": "Save",
|
||
"mailboxUpdate": "Update",
|
||
"mailboxEdit": "Edit",
|
||
"mailboxDelete": "Delete",
|
||
"mailboxCancelEdit": "Cancel",
|
||
"mailboxEmpty": "No mailboxes yet. Add one to start cleaning.",
|
||
"cleanupStart": "Start cleanup",
|
||
"cleanupDryRun": "Simulate only (no changes)",
|
||
"cleanupUnsubscribe": "Unsubscribe enabled",
|
||
"cleanupRouting": "Routing enabled",
|
||
"cleanupDisabled": "Cleanup is not available yet.",
|
||
"cleanupSelectMailbox": "Select a mailbox to start cleanup.",
|
||
"cleanupOauthRequired": "Connect Gmail OAuth before starting cleanup.",
|
||
"cleanupDryRunHint": "Simulation only: routing and unsubscribe are simulated. No changes or emails are sent.",
|
||
"cleanupUnsubscribeHint": "Tries to unsubscribe newsletters via List-Unsubscribe. In simulation mode, it only logs the checks.",
|
||
"cleanupRoutingHint": "Applies your rules (move/delete/label). In simulation mode, it only simulates the actions.",
|
||
"rulesTitle": "Rules",
|
||
"rulesAdd": "Add rule",
|
||
"rulesReorder": "Drag to reorder",
|
||
"rulesAddTitle": "Create rule",
|
||
"rulesEditTitle": "Edit rule",
|
||
"rulesName": "Rule name",
|
||
"rulesEnabled": "Rule enabled",
|
||
"rulesMatchMode": "Match mode",
|
||
"rulesMatchAll": "All conditions (AND)",
|
||
"rulesMatchAny": "Any condition (OR)",
|
||
"rulesMatchAnyLabel": "OR",
|
||
"rulesPhase": "Execution phase",
|
||
"rulesPhasePre": "Before unsubscribe",
|
||
"rulesPhasePost": "After unsubscribe",
|
||
"rulesPhaseHint": "Pre rules run before unsubscribe (unsubscribe status not available). Post rules run after unsubscribe.",
|
||
"rulesStopOnMatch": "Stop after match (first match wins)",
|
||
"rulePhasePreBadge": "Pre‑unsubscribe",
|
||
"rulePhasePostBadge": "Post‑unsubscribe",
|
||
"rulesStopOnMatchBadge": "FIRST",
|
||
"rulesConditions": "Conditions",
|
||
"rulesActions": "Actions",
|
||
"rulesAddCondition": "+ Add condition",
|
||
"rulesAddAction": "+ Add action",
|
||
"rulesSave": "Save rule",
|
||
"rulesExampleHint": "Example: Unsubscribe status = OK + List-Unsubscribe = * → Action: Move to \"Newsletter-Abgemeldet\".",
|
||
"remove": "Remove",
|
||
"ruleConditionUnsubscribeStatus": "Unsubscribe status",
|
||
"ruleConditionScore": "Newsletter score",
|
||
"ruleConditionScorePlaceholder": "e.g. >=2",
|
||
"ruleConditionHeaderMissing": "Header missing",
|
||
"ruleConditionHeaderMissingPlaceholder": "Header name (e.g. List-Unsubscribe)",
|
||
"ruleUnsubStatusAny": "Any",
|
||
"ruleUnsubStatusOk": "OK",
|
||
"ruleUnsubStatusDryRun": "Simulated",
|
||
"ruleUnsubStatusFailed": "Failed",
|
||
"ruleUnsubStatusSkipped": "Skipped",
|
||
"ruleUnsubStatusDuplicate": "Skipped (duplicate)",
|
||
"ruleUnsubStatusDisabled": "Disabled",
|
||
"ruleActionMarkRead": "Mark as read",
|
||
"ruleActionMarkUnread": "Mark as unread",
|
||
"rulesOverview": "Rules overview",
|
||
"rulesEmpty": "No rules yet.",
|
||
"jobsTitle": "Jobs",
|
||
"jobsEmpty": "No jobs yet.",
|
||
"jobCandidatesTitle": "Result details",
|
||
"jobCandidatesHint": "Shows each newsletter candidate with actions, unsubscribe outcome, and metadata.",
|
||
"jobCandidatesGroupBy": "Group by",
|
||
"jobCandidatesGroupDomain": "Sender domain",
|
||
"jobCandidatesGroupFrom": "From address",
|
||
"jobCandidatesGroupListId": "List-ID",
|
||
"jobCandidatesGroupNone": "No grouping",
|
||
"jobCandidatesGroupsEmpty": "No newsletter candidates yet.",
|
||
"jobCandidatesShowSignals": "Show details",
|
||
"jobCandidatesCount": "{{count}} candidates",
|
||
"jobCandidatesLoadMore": "Load more",
|
||
"jobCandidatesBack": "Back to groups",
|
||
"jobCandidatesRefresh": "Refresh",
|
||
"jobCandidatesUnknown": "Unknown",
|
||
"jobCandidatesSubject": "Subject",
|
||
"jobCandidatesFrom": "From",
|
||
"jobCandidatesListId": "List-ID",
|
||
"jobCandidatesDate": "Date",
|
||
"jobCandidatesActions": "Actions",
|
||
"jobCandidatesUnsubscribe": "Unsubscribe",
|
||
"jobCandidatesUnsubscribeNone": "No List-Unsubscribe header",
|
||
"jobCandidatesUnsubscribeDisabled": "Disabled",
|
||
"jobCandidatesUnsubscribeDryRun": "Simulated",
|
||
"jobCandidatesUnsubscribeOk": "OK",
|
||
"jobCandidatesUnsubscribeFailed": "Failed",
|
||
"jobCandidatesUnsubscribeDuplicate": "Skipped (duplicate)",
|
||
"resultsTitle": "Result details",
|
||
"resultsHint": "Open a detailed list of all detected emails with a preview of each message.",
|
||
"resultsOpen": "Open results",
|
||
"resultsGroups": "Groups",
|
||
"resultsGroupsDisabled": "Grouping disabled. Switch to a grouping option to see categories.",
|
||
"resultsItems": "Messages",
|
||
"resultsPreview": "Preview",
|
||
"resultsSelectGroup": "Select a group to load its messages.",
|
||
"resultsSelectItem": "Select a message to preview it.",
|
||
"resultsPreviewLoading": "Loading preview...",
|
||
"resultsPreviewEmpty": "No preview text available.",
|
||
"resultsSearch": "Search subject/from/list",
|
||
"resultsFilterAll": "All statuses",
|
||
"resultsReviewedAll": "All",
|
||
"resultsReviewed": "Reviewed",
|
||
"resultsUnreviewed": "Unreviewed",
|
||
"resultsExportCsv": "CSV",
|
||
"resultsExportGroupCsv": "Group CSV",
|
||
"resultsSelectAll": "All",
|
||
"resultsMarkSelectedReviewed": "Selected reviewed",
|
||
"resultsMarkSelectedUnreviewed": "Selected unreviewed",
|
||
"resultsBulkSelect": "Unreviewed",
|
||
"resultsBulkMarkReviewed": "All reviewed",
|
||
"resultsDeleteSelected": "Delete selected",
|
||
"resultsAttachments": "Attachments",
|
||
"resultsDownloadAttachment": "Download",
|
||
"resultsHistory": "Unsubscribe history",
|
||
"resultsUnsubscribeDetails": "Unsubscribe details",
|
||
"resultsUnsubscribeStatus": "Status",
|
||
"resultsUnsubscribeMethod": "Method",
|
||
"resultsUnsubscribeTarget": "Target",
|
||
"resultsUnsubscribeMessage": "Result",
|
||
"resultsListId": "List-ID",
|
||
"resultsListUnsubscribe": "List-Unsubscribe",
|
||
"resultsListUnsubscribePost": "List-Unsubscribe-Post",
|
||
"resultsMailtoSubject": "Mailto subject",
|
||
"resultsMailtoBody": "Mailto body",
|
||
"resultsRequestMethod": "Request method",
|
||
"resultsRequestUrl": "Request URL",
|
||
"resultsResponseStatus": "Response status",
|
||
"resultsResponseRedirect": "Redirect",
|
||
"resultsMailtoVia": "Mail sent via",
|
||
"resultsMailtoTo": "Mailto",
|
||
"resultsMailtoReplyTo": "Reply-To",
|
||
"resultsMailtoListUnsubscribe": "List-Unsubscribe header",
|
||
"resultsUnsubscribeReason": "Reason",
|
||
"resultsUnsubscribeError": "Error",
|
||
"resultsLive": "Live",
|
||
"resultsStatic": "Static",
|
||
"resultsBackToJob": "Back to job",
|
||
"jobCandidatesActionApplied": "Applied",
|
||
"jobCandidatesActionDryRun": "Simulated",
|
||
"jobCandidatesActionFailed": "Failed",
|
||
"jobCandidatesActionSkipped": "Skipped",
|
||
"jobCandidatesSignals": "Signals",
|
||
"jobCandidatesScore": "Score",
|
||
"jobCandidatesScoreHint": "Score is derived from subject, sender, header signals, and the newsletter detection model.",
|
||
"jobCandidatesHeaderSignals": "Headers",
|
||
"jobCandidatesSubjectSignals": "Subject matches",
|
||
"jobCandidatesFromSignals": "From matches",
|
||
"jobCandidatesPrecedenceSignal": "Bulk/List precedence",
|
||
"jobEventCleanupStarted": "Cleanup started",
|
||
"jobEventCleanupFinished": "Cleanup finished",
|
||
"jobEventConnecting": "Connecting to {{email}}",
|
||
"jobEventListingGmail": "Listing Gmail messages",
|
||
"jobEventListedGmail": "Listed {{count}} Gmail messages so far",
|
||
"jobEventPreparedGmail": "Prepared {{count}} Gmail messages",
|
||
"jobEventResumeGmail": "Resuming Gmail cleanup at {{current}}/{{total}}",
|
||
"jobEventProcessingGmail": "Processing {{count}} Gmail messages",
|
||
"jobEventNoGmail": "No Gmail messages to process",
|
||
"jobEventFoundMailboxes": "Found {{count}} mailboxes",
|
||
"jobEventScanningMailbox": "Scanning {{mailbox}}",
|
||
"jobEventPreparedImap": "Prepared {{count}} IMAP messages",
|
||
"jobEventResumeImap": "Resuming IMAP cleanup at {{current}}/{{total}}",
|
||
"jobEventProcessingImap": "Processing {{count}} IMAP messages",
|
||
"jobEventNoImap": "No IMAP messages to process",
|
||
"jobEventDetectedCandidates": "Detected {{count}} newsletter candidates",
|
||
"jobEventProcessed": "Processed {{current}}/{{total}}",
|
||
"jobEventProcessedCount": "Processed {{current}}",
|
||
"jobEventGmailActionAppliedList": "Gmail action applied: {{actions}}",
|
||
"jobEventGmailActionApplied": "Gmail action applied: {{action}}",
|
||
"jobEventGmailBatchModify": "Gmail batch: MODIFY {{count}}",
|
||
"jobEventGmailBatchDelete": "Gmail batch: DELETE {{count}}",
|
||
"jobEventGmailActionSkippedNoChanges": "Gmail action skipped: no label changes",
|
||
"jobEventGmailActionFailedSimple": "Gmail action failed: {{error}}",
|
||
"jobEventGmailActionFailed": "Gmail action failed ({{action}}): {{error}}",
|
||
"jobEventImapDeleteBatchFailed": "IMAP delete batch failed: {{error}}",
|
||
"jobEventImapMarkReadBatchFailed": "IMAP mark-read batch failed: {{error}}",
|
||
"jobEventImapMarkUnreadBatchFailed": "IMAP mark-unread batch failed: {{error}}",
|
||
"jobEventImapMoveBatchFailed": "IMAP move batch failed: {{error}}",
|
||
"jobEventImapBatchDelete": "IMAP batch: DELETE {{count}}",
|
||
"jobEventImapBatchMarkRead": "IMAP batch: MARK_READ {{count}}",
|
||
"jobEventImapBatchMarkUnread": "IMAP batch: MARK_UNREAD {{count}}",
|
||
"jobEventImapBatchMove": "IMAP batch: MOVE {{count}} → {{target}}",
|
||
"jobEventImapActionFailedSimple": "IMAP action failed: {{error}}",
|
||
"jobEventImapActionFailed": "IMAP action failed ({{action}}): {{error}}",
|
||
"jobEventDryRunAction": "Simulate only: {{action}}",
|
||
"jobEventCanceledByAdmin": "Job canceled by admin",
|
||
"jobEventCanceledBeforeStart": "Job canceled before start",
|
||
"jobEventFailed": "Job failed: {{error}}",
|
||
"loadingCandidates": "Loading candidates...",
|
||
"jobsProgress": "Progress",
|
||
"jobsEta": "ETA",
|
||
"jobsEtaDone": "Done",
|
||
"jobsEtaQueued": "Queued",
|
||
"jobsEtaRecalculating": "Recalculating ETA…",
|
||
"jobsEtaCalculating": "Calculating…",
|
||
"jobDetailsTitle": "Job details",
|
||
"jobNoEvents": "No events yet.",
|
||
"jobEvents": "Job events",
|
||
"phaseListing": "Listing",
|
||
"phaseProcessing": "Processing",
|
||
"phaseUnsubscribe": "Unsubscribe",
|
||
"phaseListingPending": "Preparing message list.",
|
||
"phaseProcessingPending": "Waiting for processing.",
|
||
"phaseUnsubscribePending": "Waiting for unsubscribe.",
|
||
"phaseUnsubscribeDisabled": "Unsubscribe disabled for this job.",
|
||
"phaseUnsubscribeSummary": "Unsubscribed {{ok}} · Failed {{failed}} · Simulated {{dryRun}} ({{total}} total).",
|
||
"phaseUnsubscribeSummaryWithProcessed": "Unsubscribed {{ok}} · Failed {{failed}} · Simulated {{dryRun}} ({{total}} candidates, {{processed}}/{{overall}} processed).",
|
||
"phaseUnsubscribeSummaryNoDryRun": "Unsubscribed {{ok}} · Failed {{failed}} ({{total}} total).",
|
||
"phaseUnsubscribeSummaryNoDryRunWithProcessed": "Unsubscribed {{ok}} · Failed {{failed}} ({{total}} candidates, {{processed}}/{{overall}} processed).",
|
||
"phaseUnsubscribeDryRunPending": "Simulation: waiting for unsubscribe checks.",
|
||
"phaseUnsubscribeDryRunSummary": "Simulation: {{dryRun}} unsubscribe checks ({{total}} total).",
|
||
"phaseUnsubscribeDryRunSummaryWithProcessed": "Simulation: {{dryRun}} unsubscribe checks ({{total}} candidates, {{processed}}/{{overall}} processed).",
|
||
"phaseStatusActive": "Active",
|
||
"phaseStatusDone": "Done",
|
||
"phaseStatusPending": "Pending",
|
||
"noJobSelected": "No job selected.",
|
||
"tenantName": "Tenant name",
|
||
"password": "Password",
|
||
"selectMailbox": "Select mailbox",
|
||
"value": "Value",
|
||
"targetPlaceholder": "Target (e.g. Newsletter)",
|
||
"delete": "Delete",
|
||
"details": "Details",
|
||
"email": "Email",
|
||
"appPassword": "App password / OAuth token",
|
||
"adminDeleteConfirm": "Delete tenant {{name}}?"
|
||
,
|
||
"countUsers": "{{count}} users",
|
||
"countAccounts": "{{count}} accounts",
|
||
"countJobs": "{{count}} jobs",
|
||
"placeholderEmail": "email@example.com",
|
||
"providerHintGmail": "Gmail uses OAuth. You can leave the password empty and connect via the OAuth button.",
|
||
"providerHintGmx": "GMX uses IMAP. Enter your app password or IMAP password for this mailbox.",
|
||
"providerHintWebde": "web.de uses IMAP. Enter your app password or IMAP password for this mailbox.",
|
||
"mailboxPasswordHintEdit": "Leave empty to keep the current app password.",
|
||
"providerHelp": "Help for mailbox setup",
|
||
"providerHelpTitle": "Mailbox setup help",
|
||
"providerHelpGmail": "Create a Google OAuth Client and connect via the OAuth button. The password field is not required when OAuth is used.",
|
||
"providerHelpGmx": "Enable IMAP in your GMX settings and create an app password. Use that password here.",
|
||
"providerHelpWebde": "Enable IMAP in your web.de account settings and create an app password. Use that password here.",
|
||
"wizardStepProvider": "Provider",
|
||
"wizardStepDetails": "Details",
|
||
"wizardStepReview": "Review",
|
||
"wizardChooseProvider": "Choose a provider",
|
||
"wizardNext": "Next",
|
||
"wizardBack": "Back",
|
||
"wizardCreate": "Create mailbox",
|
||
"wizardConnectNow": "Connect Gmail OAuth now",
|
||
"close": "Close",
|
||
"providerGmail": "Gmail",
|
||
"providerGmx": "GMX",
|
||
"providerWebde": "web.de",
|
||
"selectProvider": "Select provider",
|
||
"statusRunning": "Running",
|
||
"statusQueued": "Queued",
|
||
"statusSucceeded": "Succeeded",
|
||
"statusFinished": "Cleanup finished",
|
||
"statusFailed": "Failed",
|
||
"statusCanceled": "Canceled",
|
||
"oauthStatusLabel": "OAuth status"
|
||
,
|
||
"adminExportJson": "Export JSON",
|
||
"adminExportCsv": "Export CSV",
|
||
"adminExporting": "Exporting...",
|
||
"adminExportDone": "Export ready",
|
||
"adminExportFailed": "Export failed",
|
||
"adminLastConnected": "Last connected",
|
||
"adminExpiresAt": "Expires",
|
||
"oauthStatusUnknown": "Unknown",
|
||
"adminTenantExport": "Tenant export",
|
||
"adminExportHint": "Export tenant data for GDPR requests. Choose format and scope.",
|
||
"adminExportScope": "Scope",
|
||
"adminExportAll": "All data",
|
||
"adminExportUsers": "Users only",
|
||
"adminExportAccounts": "Accounts only",
|
||
"adminExportJobs": "Jobs only",
|
||
"adminExportRules": "Rules only",
|
||
"adminExportStart": "Start export",
|
||
"badgeConnected": "Connected",
|
||
"badgeMissing": "Missing",
|
||
"badgeHealthy": "Healthy",
|
||
"badgeUnhealthy": "Unhealthy",
|
||
"statusLabel": "Status",
|
||
"ruleConditionHeader": "Header",
|
||
"ruleConditionSubject": "Subject",
|
||
"ruleConditionFrom": "From",
|
||
"ruleConditionListUnsub": "List-Unsubscribe",
|
||
"ruleConditionListId": "List-Id",
|
||
"ruleActionMove": "Move",
|
||
"ruleActionDelete": "Delete",
|
||
"ruleActionArchive": "Archive",
|
||
"ruleActionLabel": "Label",
|
||
"adminExportFormat": "Format",
|
||
"exportFormatJson": "JSON",
|
||
"exportFormatCsv": "CSV",
|
||
"exportFormatZip": "ZIP",
|
||
"logout": "Logout",
|
||
"tenantFallback": "Tenant",
|
||
"ruleConditionsCount": "{{count}} conditions",
|
||
"ruleActionsCount": "{{count}} actions",
|
||
"oauthErrorInvalidGrant": "Token revoked or invalid",
|
||
"oauthErrorExpired": "Token expired",
|
||
"oauthErrorUnknown": "OAuth error",
|
||
"adminActive": "Active",
|
||
"adminInactive": "Inactive",
|
||
"adminSortLabel": "Sort",
|
||
"adminSortRecent": "Newest",
|
||
"adminSortOldest": "Oldest",
|
||
"adminSortName": "Name",
|
||
"adminSortEmail": "Email",
|
||
"adminSortStatus": "Status",
|
||
"exportHistory": "Export history",
|
||
"exportDownload": "Download",
|
||
"exportExpires": "Expires",
|
||
"exportStatusQueued": "Queued",
|
||
"exportStatusRunning": "Running",
|
||
"exportStatusDone": "Done",
|
||
"exportStatusFailed": "Failed",
|
||
"exportStatusExpired": "Expired",
|
||
"adminExportPurge": "Purge expired",
|
||
"exportProgress": "Progress {{progress}}%",
|
||
"adminConsole": "Admin console",
|
||
"adminConsoleHint": "Global controls for tenants, users, accounts, exports, and jobs.",
|
||
"userWorkspace": "User workspace",
|
||
"userWorkspaceHint": "Everything below affects only your own mailbox and rules.",
|
||
"toastGenericError": "Something went wrong.",
|
||
"toastSessionExpired": "Session expired. Please log in again.",
|
||
"toastLoginSuccess": "Logged in successfully.",
|
||
"toastRegisterSuccess": "Account created successfully.",
|
||
"toastMailboxAdded": "Mailbox added.",
|
||
"toastMailboxUpdated": "Mailbox updated.",
|
||
"toastMailboxDeleted": "Mailbox deleted.",
|
||
"toastRuleSaved": "Rule saved.",
|
||
"toastRuleDeleted": "Rule deleted.",
|
||
"toastRuleOrderSaved": "Rule order updated.",
|
||
"toastDeleteSelected": "{{deleted}} deleted · {{missing}} missing · {{failed}} failed",
|
||
"toastCleanupStarted": "Cleanup job started.",
|
||
"toastLoggedOut": "Logged out.",
|
||
"toastExportQueued": "Export queued.",
|
||
"toastExportReady": "Export ready.",
|
||
"toastExportFailed": "Export failed.",
|
||
"toastDownloadFailed": "Download failed.",
|
||
"toastExportPurged": "Expired exports purged.",
|
||
"toastExportDeleted": "Export deleted.",
|
||
"toastTenantUpdated": "Tenant updated.",
|
||
"toastTenantDeleted": "Tenant deleted.",
|
||
"toastUserUpdated": "User updated.",
|
||
"toastAccountUpdated": "Account updated.",
|
||
"toastRoleUpdated": "Role updated.",
|
||
"toastImpersonate": "Impersonation started.",
|
||
"toastPasswordReset": "Password reset.",
|
||
"toastJobCanceled": "Job canceled.",
|
||
"toastJobRetry": "Job retried.",
|
||
"toastJobDeleted": "Job deleted.",
|
||
"toastSettingsSaved": "Settings saved.",
|
||
"toastSettingsFailed": "Settings save failed.",
|
||
"confirmMailboxDelete": "Delete mailbox {{email}}? This will remove all related data.",
|
||
"confirmDeleteSelected": "Delete {{count}} selected messages? Messages might already be deleted.",
|
||
"adminDeleteJobConfirm": "Delete this job and all its events?"
|
||
}
|