Kaynağa Gözat

Normalize i18n files with new bounce keys.

- Rename some 'settings.smtp' keys to `settings.mailserver` so that
  they can be reused across SMTP and bounce settings UIs.
Kailash Nadh 3 yıl önce
ebeveyn
işleme
59c897645d
12 değiştirilmiş dosya ile 544 ekleme ve 262 silme
  1. 35 32
      frontend/src/views/Settings.vue
  2. 47 18
      i18n/de.json
  3. 39 50
      i18n/en.json
  4. 47 18
      i18n/es.json
  5. 47 18
      i18n/fr.json
  6. 47 18
      i18n/it.json
  7. 47 18
      i18n/ml.json
  8. 47 18
      i18n/pl.json
  9. 47 18
      i18n/pt-BR.json
  10. 47 18
      i18n/pt.json
  11. 47 18
      i18n/ru.json
  12. 47 18
      i18n/tr.json

+ 35 - 32
frontend/src/views/Settings.vue

@@ -302,15 +302,15 @@
                   <div class="column" :class="{'disabled': !item.enabled}">
                     <div class="columns">
                       <div class="column is-8">
-                        <b-field :label="$t('settings.smtp.host')" label-position="on-border"
-                          :message="$t('settings.smtp.hostHelp')">
+                        <b-field :label="$t('settings.mailserver.host')" label-position="on-border"
+                          :message="$t('settings.mailserver.hostHelp')">
                           <b-input v-model="item.host" name="host"
                             placeholder='smtp.yourmailserver.net' :maxlength="200" />
                         </b-field>
                       </div>
                       <div class="column">
-                        <b-field :label="$t('settings.smtp.port')" label-position="on-border"
-                          :message="$t('settings.smtp.portHelp')">
+                        <b-field :label="$t('settings.mailserver.port')" label-position="on-border"
+                          :message="$t('settings.mailserver.portHelp')">
                           <b-numberinput v-model="item.port" name="port" type="is-light"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
@@ -320,7 +320,7 @@
 
                     <div class="columns">
                       <div class="column is-2">
-                        <b-field :label="$t('settings.smtp.authProtocol')"
+                        <b-field :label="$t('settings.mailserver.authProtocol')"
                           label-position="on-border">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                             <option value="none">none</option>
@@ -332,19 +332,19 @@
                       </div>
                       <div class="column">
                         <b-field grouped>
-                          <b-field :label="$t('settings.smtp.username')"
+                          <b-field :label="$t('settings.mailserver.username')"
                             label-position="on-border" expanded>
                             <b-input v-model="item.username"
                               :disabled="item.auth_protocol === 'none'"
                               name="username" placeholder="mysmtp" :maxlength="200" />
                           </b-field>
-                          <b-field :label="$t('settings.smtp.password')"
+                          <b-field :label="$t('settings.mailserver.password')"
                             label-position="on-border" expanded
-                            :message="$t('settings.smtp.passwordHelp')">
+                            :message="$t('settings.mailserver.passwordHelp')">
                             <b-input v-model="item.password"
                               :disabled="item.auth_protocol === 'none'"
                               name="password" type="password"
-                              :placeholder="$t('settings.smtp.passwordHelp')"
+                              :placeholder="$t('settings.mailserver.passwordHelp')"
                               :maxlength="200" />
                           </b-field>
                         </b-field>
@@ -362,12 +362,12 @@
                       </div>
                       <div class="column">
                         <b-field grouped>
-                          <b-field :label="$t('settings.smtp.tls')" expanded
-                            :message="$t('settings.smtp.tlsHelp')">
+                          <b-field :label="$t('settings.mailserver.tls')" expanded
+                            :message="$t('settings.mailserver.tlsHelp')">
                             <b-switch v-model="item.tls_enabled" name="item.tls_enabled" />
                           </b-field>
-                          <b-field :label="$t('settings.smtp.skipTLS')" expanded
-                            :message="$t('settings.smtp.skipTLSHelp')">
+                          <b-field :label="$t('settings.mailserver.skipTLS')" expanded
+                            :message="$t('settings.mailserver.skipTLSHelp')">
                             <b-switch v-model="item.tls_skip_verify"
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                           </b-field>
@@ -378,8 +378,9 @@
 
                     <div class="columns">
                       <div class="column is-3">
-                        <b-field :label="$t('settings.smtp.maxConns')" label-position="on-border"
-                          :message="$t('settings.smtp.maxConnsHelp')">
+                        <b-field :label="$t('settings.mailserver.maxConns')"
+                          label-position="on-border"
+                          :message="$t('settings.mailserver.maxConnsHelp')">
                           <b-numberinput v-model="item.max_conns" name="max_conns" type="is-light"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
@@ -395,15 +396,17 @@
                         </b-field>
                       </div>
                       <div class="column is-3">
-                        <b-field :label="$t('settings.smtp.idleTimeout')" label-position="on-border"
-                          :message="$t('settings.smtp.idleTimeoutHelp')">
+                        <b-field :label="$t('settings.mailserver.idleTimeout')"
+                          label-position="on-border"
+                          :message="$t('settings.mailserver.idleTimeoutHelp')">
                           <b-input v-model="item.idle_timeout" name="idle_timeout"
                             placeholder="15s" :pattern="regDuration" :maxlength="10" />
                         </b-field>
                       </div>
                       <div class="column is-3">
-                        <b-field :label="$t('settings.smtp.waitTimeout')" label-position="on-border"
-                          :message="$t('settings.smtp.waitTimeoutHelp')">
+                        <b-field :label="$t('settings.mailserver.waitTimeout')"
+                          label-position="on-border"
+                          :message="$t('settings.mailserver.waitTimeoutHelp')">
                           <b-input v-model="item.wait_timeout" name="wait_timeout"
                             placeholder="5s" :pattern="regDuration" :maxlength="10" />
                         </b-field>
@@ -518,15 +521,15 @@
                         </b-field>
                       </div>
                       <div class="column is-6">
-                        <b-field :label="$t('settings.bounces.host')" label-position="on-border"
-                          :message="$t('settings.bounces.hostHelp')">
+                        <b-field :label="$t('settings.mailserver.host')" label-position="on-border"
+                          :message="$t('settings.mailserver.hostHelp')">
                           <b-input v-model="item.host" name="host"
                             placeholder='bounce.yourmailserver.net' :maxlength="200" />
                         </b-field>
                       </div>
                       <div class="column is-3">
-                        <b-field :label="$t('settings.bounces.port')" label-position="on-border"
-                          :message="$t('settings.bounces.portHelp')">
+                        <b-field :label="$t('settings.mailserver.port')" label-position="on-border"
+                          :message="$t('settings.mailserver.portHelp')">
                           <b-numberinput v-model="item.port" name="port" type="is-light"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
@@ -536,7 +539,7 @@
 
                     <div class="columns">
                       <div class="column is-3">
-                        <b-field :label="$t('settings.bounces.authProtocol')"
+                        <b-field :label="$t('settings.mailserver.authProtocol')"
                           label-position="on-border">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                             <option value="none">none</option>
@@ -551,19 +554,19 @@
                       </div>
                       <div class="column">
                         <b-field grouped>
-                          <b-field :label="$t('settings.bounces.username')"
+                          <b-field :label="$t('settings.mailserver.username')"
                             label-position="on-border" expanded>
                             <b-input v-model="item.username"
                               :disabled="item.auth_protocol === 'none'"
                               name="username" placeholder="mysmtp" :maxlength="200" />
                           </b-field>
-                          <b-field :label="$t('settings.bounces.password')"
+                          <b-field :label="$t('settings.mailserver.password')"
                             label-position="on-border" expanded
-                            :message="$t('settings.bounces.passwordHelp')">
+                            :message="$t('settings.mailserver.passwordHelp')">
                             <b-input v-model="item.password"
                               :disabled="item.auth_protocol === 'none'"
                               name="password" type="password"
-                              :placeholder="$t('settings.bounces.passwordHelp')"
+                              :placeholder="$t('settings.mailserver.passwordHelp')"
                               :maxlength="200" />
                           </b-field>
                         </b-field>
@@ -573,12 +576,12 @@
                     <div class="columns">
                       <div class="column is-6">
                         <b-field grouped>
-                          <b-field :label="$t('settings.bounces.tls')" expanded
-                            :message="$t('settings.bounces.tlsHelp')">
+                          <b-field :label="$t('settings.mailserver.tls')" expanded
+                            :message="$t('settings.mailserver.tlsHelp')">
                             <b-switch v-model="item.tls_enabled" name="item.tls_enabled" />
                           </b-field>
-                          <b-field :label="$t('settings.bounces.skipTLS')" expanded
-                            :message="$t('settings.bounces.skipTLSHelp')">
+                          <b-field :label="$t('settings.mailserver.skipTLS')" expanded
+                            :message="$t('settings.mailserver.skipTLSHelp')">
                             <b-switch v-model="item.tls_skip_verify"
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                           </b-field>

+ 47 - 18
i18n/de.json

@@ -2,6 +2,9 @@
     "_.code": "de",
     "_.name": "Deutsch (de)",
     "admin.errorMarshallingConfig": "Fehler beim einlesen der Konfiguration: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Füge eine alternative Plain-Text Nachricht hinzu (falls HTML nicht angezeigt werden kann).",
     "campaigns.cantUpdate": "Eine laufende oder abgeschlossene Kampagne kann nicht geändert werden.",
     "campaigns.clicks": "Klicks",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Schließen",
     "globals.buttons.continue": "Fortfahren",
     "globals.buttons.delete": "Löschen",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Bearbeiten",
     "globals.buttons.enabled": "Aktiviert",
     "globals.buttons.learnMore": "Erfahre mehr",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Bist du sicher?",
     "globals.messages.created": "\"{name}\" erstellt",
     "globals.messages.deleted": "\"{name}\" gelöscht",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Hier ist nichts",
     "globals.messages.errorCreating": "Fehler beim Erstellen von {name}: {error}",
     "globals.messages.errorDeleting": "Fehler beim Löschen von {name}: {error}",
     "globals.messages.errorFetching": "Fehler beim Abrufen von {name}: {error}",
     "globals.messages.errorUUID": "Fehler beim Erzeugen einer UUID: {error}",
     "globals.messages.errorUpdating": "Fehler beim Aktualisieren von {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Ungültige ID",
     "globals.messages.invalidUUID": "Ungültige UUID",
     "globals.messages.notFound": "{name} nicht gefunden",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.8": "Aug",
     "globals.months.9": "Sep",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampagne | Kampagnen",
     "globals.terms.campaigns": "Kampagnen",
     "globals.terms.dashboard": "Überblick",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Du wurdest erfolgreich abgemeldet",
     "public.unsubbedTitle": "Abgemeldet",
     "public.unsubscribeTitle": "Von E-Mail Liste abmelden.",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Stelle sicher, dass laufende Kampagnen pausiert sind. Neustarten?",
     "settings.duplicateMessengerName": "Doppelter Nachrichtendienstname: {name}",
     "settings.errorEncoding": "Fehler bei der Kodierung der Einstellungen: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURLHelp": "Öffentliche URL der Installation (ohne Slash am Ende).",
     "settings.invalidMessengerName": "Der Name des Nachrichtendienst ist ungültig",
+    "settings.mailserver.authProtocol": "Autentifizierungsprotokoll",
+    "settings.mailserver.host": "Server",
+    "settings.mailserver.hostHelp": "SMTP Server Adresse.",
+    "settings.mailserver.idleTimeout": "Maximale Wartezeit",
+    "settings.mailserver.idleTimeoutHelp": "Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen wird. (s für Sekunden, m für Minuten).",
+    "settings.mailserver.maxConns": "Max. Verbindungen",
+    "settings.mailserver.maxConnsHelp": "Maximale gleichzeitige Verbindungen zum SMTP Server",
+    "settings.mailserver.password": "Passwort",
+    "settings.mailserver.passwordHelp": "Gib dein Passwort ein, um es zu ändern",
+    "settings.mailserver.port": "Port",
+    "settings.mailserver.portHelp": "SMTP Server Port.",
+    "settings.mailserver.skipTLS": "TLS Verifikation überspringen",
+    "settings.mailserver.skipTLSHelp": "Überspringe die Hostname Prüfung im TLS Zertifikat.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Verwende STARTTLS.",
+    "settings.mailserver.username": "Benutzername",
+    "settings.mailserver.waitTimeout": "Maximale Wartezeit",
+    "settings.mailserver.waitTimeoutHelp": "Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen wird. (s für Sekunden, m für Minuten).",
     "settings.media.provider": "Anbieter",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket Pfad",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Inkludiere Header zum einfachen Abmelden in den E-Mails. Erlaubt es, den E-Mail Clients der Nutzer eine \",Ein Klick\"-Abmeldung anzubieten.",
     "settings.privacy.name": "Privatsphäre",
     "settings.restart": "Neustarten",
-    "settings.smtp.authProtocol": "Autentifizierungsprotokoll",
     "settings.smtp.customHeaders": "Benutzerdefinierte Header",
     "settings.smtp.customHeadersHelp": "(Optional) Array von benutzerdefinierten E-Mail Headern, welche in die Nachricht eingefügt werden sollen. Z.B.: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Aktiviert",
     "settings.smtp.heloHost": "HELO Hostname",
     "settings.smtp.heloHostHelp": "(Optional) Manche SMTP Server benötigen ein FQDN Hostname im HELO. Standard ist dieser `localhost`. Wenn du eienen anderen brauchst, kannst du ihn hier ändern.",
-    "settings.smtp.host": "Server",
-    "settings.smtp.hostHelp": "SMTP Server Adresse.",
-    "settings.smtp.idleTimeout": "Maximale Wartezeit",
-    "settings.smtp.idleTimeoutHelp": "Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen wird. (s für Sekunden, m für Minuten).",
-    "settings.smtp.maxConns": "Max. Verbindungen",
-    "settings.smtp.maxConnsHelp": "Maximale gleichzeitige Verbindungen zum SMTP Server",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Passwort",
-    "settings.smtp.passwordHelp": "Gib dein Passwort ein, um es zu ändern",
-    "settings.smtp.port": "Port",
-    "settings.smtp.portHelp": "SMTP Server Port.",
     "settings.smtp.retries": "Wiederholungen",
     "settings.smtp.retriesHelp": "Maximale Anzahl an Wiederholungen, wenn eine Machricht fehlschlägt.",
     "settings.smtp.setCustomHeaders": "Benutzerdefinierten Header verwenden",
-    "settings.smtp.skipTLS": "TLS Verifikation überspringen",
-    "settings.smtp.skipTLSHelp": "Überspringe die Hostname Prüfung im TLS Zertifikat.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Verwende STARTTLS.",
-    "settings.smtp.username": "Benutzername",
-    "settings.smtp.waitTimeout": "Maximale Wartezeit",
-    "settings.smtp.waitTimeoutHelp": "Wartezeit auf neue Aktivität bevor eine Verbindung geschlossen wird. (s für Sekunden, m für Minuten).",
     "settings.title": "Einstellungen",
     "settings.updateAvailable": "Ein neues Update auf {version} ist verfügbar.",
     "subscribers.advancedQuery": "Erweitert",

+ 39 - 50
i18n/en.json

@@ -2,6 +2,9 @@
     "_.code": "en",
     "_.name": "English (en)",
     "admin.errorMarshallingConfig": "Error marshalling config: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Add alternate plain text message",
     "campaigns.cantUpdate": "Cannot update a running or a finished campaign.",
     "campaigns.clicks": "Clicks",
@@ -133,13 +136,13 @@
     "globals.messages.deleted": "\"{name}\" deleted",
     "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nothing here",
-    "globals.messages.invalidData": "Invalid data",
-    "globals.messages.internalError": "Internal server error",
     "globals.messages.errorCreating": "Error creating {name}: {error}",
     "globals.messages.errorDeleting": "Error deleting {name}: {error}",
     "globals.messages.errorFetching": "Error fetching {name}: {error}",
     "globals.messages.errorUUID": "Error generating UUID: {error}",
     "globals.messages.errorUpdating": "Error updating {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Invalid ID(s)",
     "globals.messages.invalidUUID": "Invalid UUID(s)",
     "globals.messages.notFound": "{name} not found",
@@ -157,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.8": "Aug",
     "globals.months.9": "Sep",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campaign | Campaigns",
     "globals.terms.campaigns": "Campaigns",
     "globals.terms.dashboard": "Dashboard",
@@ -168,8 +173,6 @@
     "globals.terms.settings": "Settings",
     "globals.terms.subscriber": "Subscriber | Subscribers",
     "globals.terms.subscribers": "Subscribers",
-    "globals.terms.bounce": "Bounce | Bounces",
-    "globals.terms.bounces": "Bounces",
     "globals.terms.tag": "Tag | Tags",
     "globals.terms.tags": "Tags",
     "globals.terms.template": "Template | Templates",
@@ -280,21 +283,26 @@
     "public.unsubbedInfo": "You have unsubscribed successfully.",
     "public.unsubbedTitle": "Unsubscribed",
     "public.unsubscribeTitle": "Unsubscribe from mailing list",
-    "bounces.unknownService": "Unknown service.",
-    "bounces.view": "View bounces",
-    "bounces.source": "Source",
-    "settings.bounces.name": "Bounces",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
     "settings.bounces.enable": "Enable bounce processing",
     "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
     "settings.bounces.enableWebhooks": "Enable bounce webhooks",
-    "settings.bounces.count": "Bounce count",
-    "settings.bounces.countHelp": "Number of bounces per subscriber",
-    "settings.bounces.action": "Action",
-    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.enabled": "Enabled",
     "settings.bounces.folder": "Folder",
     "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
-    "settings.bounces.delete": "Delete",
     "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "Duplicate messenger name: {name}",
     "settings.errorEncoding": "Error encoding settings: {error}",
@@ -316,6 +324,24 @@
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURLHelp": "Public URL of the installation (no trailing slash).",
     "settings.invalidMessengerName": "Invalid messenger name.",
+    "settings.mailserver.authProtocol": "Auth protocol",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "SMTP server's host address.",
+    "settings.mailserver.idleTimeout": "Idle timeout",
+    "settings.mailserver.idleTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).",
+    "settings.mailserver.maxConns": "Max. connections",
+    "settings.mailserver.maxConnsHelp": "Maximum concurrent connections to the server.",
+    "settings.mailserver.password": "Password",
+    "settings.mailserver.passwordHelp": "Enter to change",
+    "settings.mailserver.port": "Port",
+    "settings.mailserver.portHelp": "SMTP server's port.",
+    "settings.mailserver.skipTLS": "Skip TLS verification",
+    "settings.mailserver.skipTLSHelp": "Skip hostname check on the TLS certificate.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Enable STARTTLS.",
+    "settings.mailserver.username": "Username",
+    "settings.mailserver.waitTimeout": "Wait timeout",
+    "settings.mailserver.waitTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).",
     "settings.media.provider": "Provider",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket path",
@@ -376,52 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Include unsubscription headers that allow e-mail clients to allow users to unsubscribe in a single click.",
     "settings.privacy.name": "Privacy",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Auth protocol",
     "settings.smtp.customHeaders": "Custom headers",
     "settings.smtp.customHeadersHelp": "Optional array of e-mail headers to include in all messages sent from this server. eg: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Enabled",
     "settings.smtp.heloHost": "HELO hostname",
     "settings.smtp.heloHostHelp": "Optional. Some SMTP servers require a FQDN in the hostname. By default, HELLOs go with `localhost`. Set this if a custom hostname should be used.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "SMTP server's host address.",
-    "settings.smtp.idleTimeout": "Idle timeout",
-    "settings.smtp.idleTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).",
-    "settings.smtp.maxConns": "Max. connections",
-    "settings.smtp.maxConnsHelp": "Maximum concurrent connections to the server.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Password",
-    "settings.smtp.passwordHelp": "Enter to change",
-    "settings.smtp.port": "Port",
-    "settings.smtp.portHelp": "SMTP server's port.",
     "settings.smtp.retries": "Retries",
     "settings.smtp.retriesHelp": "Number of times to retry when a message fails.",
     "settings.smtp.setCustomHeaders": "Set custom headers",
-    "settings.smtp.skipTLS": "Skip TLS verification",
-    "settings.smtp.skipTLSHelp": "Skip hostname check on the TLS certificate.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Enable STARTTLS.",
-    "settings.smtp.username": "Username",
-    "settings.smtp.waitTimeout": "Wait timeout",
-    "settings.smtp.waitTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).",
-    "settings.bounces.authProtocol": "Auth protocol",
-    "settings.bounces.type": "Type",
-    "settings.bounces.enabled": "Enabled",
-    "settings.bounces.host": "Host",
-    "settings.bounces.hostHelp": "Mail server's host address.",
-    "settings.bounces.scanInterval": "Scan interval",
-    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
-    "settings.bounces.password": "Password",
-    "settings.bounces.passwordHelp": "Enter to change",
-    "settings.bounces.port": "Port",
-    "settings.bounces.portHelp": "Mail server's port.",
-    "settings.bounces.skipTLS": "Skip TLS verification",
-    "settings.bounces.skipTLSHelp": "Skip hostname check on the TLS certificate.",
-    "settings.bounces.tls": "TLS",
-    "settings.bounces.tlsHelp": "Enable STARTTLS.",
-    "settings.bounces.username": "Username",
-    "settings.bounces.enableSES": "Enable SES",
-    "settings.bounces.enableSendgrid": "Enable SendGrid",
-    "settings.bounces.sendgridKey": "SendGrid Key",
     "settings.title": "Settings",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "Advanced",

+ 47 - 18
i18n/es.json

@@ -2,6 +2,9 @@
     "_.code": "es",
     "_.name": "Español (es)",
     "admin.errorMarshallingConfig": "Error al ordenar la configuración: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Agregar mensaje en texto plano alternativo",
     "campaigns.cantUpdate": "No es posible actualizar una campaña iniciada o finalizada.",
     "campaigns.clicks": "Clics",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Cerrar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Borrar",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Habilitar",
     "globals.buttons.learnMore": "Conocer más",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "¿Está seguro?",
     "globals.messages.created": "\"{name}\" creado",
     "globals.messages.deleted": "\"{name}\" borrado",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Vacío",
     "globals.messages.errorCreating": "Error creando {name}: {error}",
     "globals.messages.errorDeleting": "Error borrando {name}: {error}",
     "globals.messages.errorFetching": "Error buscando {name}: {error}",
     "globals.messages.errorUUID": "Error generando UUID: {error}",
     "globals.messages.errorUpdating": "Error actualizando {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} no encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Julio",
     "globals.months.8": "Agosto",
     "globals.months.9": "Setiembre",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campaña | Campañas",
     "globals.terms.campaigns": "Campañas",
     "globals.terms.dashboard": "Panel",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Ud. se ha des-subscrito de forma satisfactoria",
     "public.unsubbedTitle": "Des-subscrito.",
     "public.unsubscribeTitle": "Des-subscribirse de una lista de correo",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Asegúrese de que las campañas ejecutándose están en pause. ¿Reiniciar?",
     "settings.duplicateMessengerName": "Nombre de mensajero duplicado: {name}",
     "settings.errorEncoding": "Error codificando configuración: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL raíz",
     "settings.general.rootURLHelp": "URL pública de la instalación (sin la barra final)",
     "settings.invalidMessengerName": "Nombre de mensajero inválido.",
+    "settings.mailserver.authProtocol": "Protocolo de autenticación",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "Dirección del servidor SMTP",
+    "settings.mailserver.idleTimeout": "Timeout por inactividad",
+    "settings.mailserver.idleTimeoutHelp": "Tiempo de espara para nueva actividad en una conexión antes de cerrarla y elminarla del pool (s para segundos, m para minutos).",
+    "settings.mailserver.maxConns": "Conexiones máximas",
+    "settings.mailserver.maxConnsHelp": "Número máximo de conexiones concurrentes hacia el servidor SMTP.",
+    "settings.mailserver.password": "Contraseña",
+    "settings.mailserver.passwordHelp": "Ingresar contraseña para cambiar",
+    "settings.mailserver.port": "Puerto",
+    "settings.mailserver.portHelp": "Puerto del servidor SMTP",
+    "settings.mailserver.skipTLS": "Omitir verificación de TLS",
+    "settings.mailserver.skipTLSHelp": "Omitir la verificación del nombre de servidor en un certificado TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Habilitar STARTTLS",
+    "settings.mailserver.username": "Nombre de usuario",
+    "settings.mailserver.waitTimeout": "Timeout de espera",
+    "settings.mailserver.waitTimeoutHelp": "Tiempo de espera para nueva actividad en una conexión antes de cerrarla y eliminarla del pool (s para segundos, m para minutos).",
     "settings.media.provider": "Proveedor",
     "settings.media.s3.bucket": "Contenedor",
     "settings.media.s3.bucketPath": "Ruta del contenedor",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Incluye los encabezados de des-subscripción para habilitar a los clientes de correo para permitir a los usuarios des-subscribirse con un solo clic.",
     "settings.privacy.name": "Privacidad",
     "settings.restart": "Reiniciar",
-    "settings.smtp.authProtocol": "Protocolo de autenticación",
     "settings.smtp.customHeaders": "Encabezados personalizados",
     "settings.smtp.customHeadersHelp": "Lista de encabezados opcionales a incluir en todos los mensajes enviados desde este servidor. Por ejemplo {{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Habilitado",
     "settings.smtp.heloHost": "HELO hostname",
     "settings.smtp.heloHostHelp": "Opcional. Algunos servidores SMTP requieren un FQDN en el nombre de host. Por defecto se usa 'localhost' cmo dato HELLO. Configurar aquí un nombre de host específico en caso se ser requerido.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "Dirección del servidor SMTP",
-    "settings.smtp.idleTimeout": "Timeout por inactividad",
-    "settings.smtp.idleTimeoutHelp": "Tiempo de espara para nueva actividad en una conexión antes de cerrarla y elminarla del pool (s para segundos, m para minutos).",
-    "settings.smtp.maxConns": "Conexiones máximas",
-    "settings.smtp.maxConnsHelp": "Número máximo de conexiones concurrentes hacia el servidor SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Contraseña",
-    "settings.smtp.passwordHelp": "Ingresar contraseña para cambiar",
-    "settings.smtp.port": "Puerto",
-    "settings.smtp.portHelp": "Puerto del servidor SMTP",
     "settings.smtp.retries": "Reintentos",
     "settings.smtp.retriesHelp": "Número de reintentos cuando un mensaje falla.",
     "settings.smtp.setCustomHeaders": "Configurar encabezados personalizados.",
-    "settings.smtp.skipTLS": "Omitir verificación de TLS",
-    "settings.smtp.skipTLSHelp": "Omitir la verificación del nombre de servidor en un certificado TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Habilitar STARTTLS",
-    "settings.smtp.username": "Nombre de usuario",
-    "settings.smtp.waitTimeout": "Timeout de espera",
-    "settings.smtp.waitTimeoutHelp": "Tiempo de espera para nueva actividad en una conexión antes de cerrarla y eliminarla del pool (s para segundos, m para minutos).",
     "settings.title": "Configuraciones",
     "settings.updateAvailable": "Una actualización {version} está disponible.",
     "subscribers.advancedQuery": "Avanzado",

+ 47 - 18
i18n/fr.json

@@ -2,6 +2,9 @@
     "_.code": "fr",
     "_.name": "Français (fr)",
     "admin.errorMarshallingConfig": "Erreur lors de la lecture de la configuration : {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Ajouter un message alternatif en texte brut",
     "campaigns.cantUpdate": "Impossible de mettre à jour une campagne en cours ou terminée.",
     "campaigns.clicks": "clics",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fermer",
     "globals.buttons.continue": "Continuer",
     "globals.buttons.delete": "Supprimer",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Éditer",
     "globals.buttons.enabled": "Activé·e",
     "globals.buttons.learnMore": "En savoir plus",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Confirmer ?",
     "globals.messages.created": "Création de \"{name}\"",
     "globals.messages.deleted": "Suppression de \"{name}\"",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Rien",
     "globals.messages.errorCreating": "Erreur lors de la création de {name} : {error}",
     "globals.messages.errorDeleting": "Erreur lors de la suppression de {name} : {error}",
     "globals.messages.errorFetching": "Erreur lors de la récupération de {name} : {error}",
     "globals.messages.errorUUID": "Erreur lors de la génération de l'UUID : {error}",
     "globals.messages.errorUpdating": "Erreur lors de la mise à jour de {name} : {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ID invalide",
     "globals.messages.invalidUUID": "UUID invalide",
     "globals.messages.notFound": "{name} introuvable",
@@ -153,6 +160,8 @@
     "globals.months.7": "juil.",
     "globals.months.8": "août",
     "globals.months.9": "sept.",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campagne | Campagnes",
     "globals.terms.campaigns": "Campagnes",
     "globals.terms.dashboard": "Tableau de bord",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Vous vous êtes désabonné·e avec succès.",
     "public.unsubbedTitle": "Désabonné·e",
     "public.unsubscribeTitle": "Se désabonner de la liste de diffusion",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Assurez-vous que les campagnes actives soient en pause. Redémarrer ?",
     "settings.duplicateMessengerName": "Doublon du nom de messagerie : {name}",
     "settings.errorEncoding": "Erreur lors de l'encodage des paramètres : {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL racine",
     "settings.general.rootURLHelp": "URL publique de l'installation (sans slash final)",
     "settings.invalidMessengerName": "Nom de messagerie invalide",
+    "settings.mailserver.authProtocol": "Protocole d'authentification",
+    "settings.mailserver.host": "Hôte",
+    "settings.mailserver.hostHelp": "Adresse hôte du serveur SMTP",
+    "settings.mailserver.idleTimeout": "Délai d'inactivité",
+    "settings.mailserver.idleTimeoutHelp": "Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute)",
+    "settings.mailserver.maxConns": "Nb. de connexions max.",
+    "settings.mailserver.maxConnsHelp": "Nombre maximum de connexions simultanées au serveur SMTP",
+    "settings.mailserver.password": "Mot de passe",
+    "settings.mailserver.passwordHelp": "Entrez un nouveau mot de passe si vous souhaitez le modifier",
+    "settings.mailserver.port": "Port",
+    "settings.mailserver.portHelp": "Port du serveur SMTP",
+    "settings.mailserver.skipTLS": "Ignorer la vérification TLS",
+    "settings.mailserver.skipTLSHelp": "Ignorer la vérification du nom d'hôte sur le certificat TLS",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Activer STARTTLS",
+    "settings.mailserver.username": "Nom d'utilisateur",
+    "settings.mailserver.waitTimeout": "Délai d'attente",
+    "settings.mailserver.waitTimeoutHelp": "Temps d'attente d'une nouvelle activité sur une connexion avant sa fermeture et sa suppression du pool (s pour seconde, m pour minute)",
     "settings.media.provider": "Fournisseur",
     "settings.media.s3.bucket": "Compartiment",
     "settings.media.s3.bucketPath": "Chemin du compartiment",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Inclure des en-têtes de désabonnement qui permettent aux utilisateurs de se désabonner en un seul clic depuis leur client de messagerie.",
     "settings.privacy.name": "Vie privée",
     "settings.restart": "Redémarrer",
-    "settings.smtp.authProtocol": "Protocole d'authentification",
     "settings.smtp.customHeaders": "En-têtes personnalisées",
     "settings.smtp.customHeadersHelp": "Tableau facultatif d'en-têtes à inclure dans tous les emails envoyés depuis ce serveur. Par exemple : [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Activé",
     "settings.smtp.heloHost": "Nom d'hôte HELO",
     "settings.smtp.heloHostHelp": "Facultatif. Certains serveurs SMTP nécessitent un nom de domaine complet dans le nom d'hôte. Par défaut, HELOs utilise `localhost`. Définissez ce paramètre si un nom d'hôte personnalisé doit être utilisé.",
-    "settings.smtp.host": "Hôte",
-    "settings.smtp.hostHelp": "Adresse hôte du serveur SMTP",
-    "settings.smtp.idleTimeout": "Délai d'inactivité",
-    "settings.smtp.idleTimeoutHelp": "Temps d'attente d'une nouvelle activité sur la connexion avant sa fermeture et suppression du pool (s pour seconde, m pour minute)",
-    "settings.smtp.maxConns": "Nb. de connexions max.",
-    "settings.smtp.maxConnsHelp": "Nombre maximum de connexions simultanées au serveur SMTP",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Mot de passe",
-    "settings.smtp.passwordHelp": "Entrez un nouveau mot de passe si vous souhaitez le modifier",
-    "settings.smtp.port": "Port",
-    "settings.smtp.portHelp": "Port du serveur SMTP",
     "settings.smtp.retries": "Tentatives de renvoi",
     "settings.smtp.retriesHelp": "Nombre de tentatives de renvoi d'un message en cas d'échec",
     "settings.smtp.setCustomHeaders": "Définir des en-têtes personnalisés",
-    "settings.smtp.skipTLS": "Ignorer la vérification TLS",
-    "settings.smtp.skipTLSHelp": "Ignorer la vérification du nom d'hôte sur le certificat TLS",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Activer STARTTLS",
-    "settings.smtp.username": "Nom d'utilisateur",
-    "settings.smtp.waitTimeout": "Délai d'attente",
-    "settings.smtp.waitTimeoutHelp": "Temps d'attente d'une nouvelle activité sur une connexion avant sa fermeture et sa suppression du pool (s pour seconde, m pour minute)",
     "settings.title": "Paramètres",
     "settings.updateAvailable": "Une nouvelle version ({version}) est disponible.",
     "subscribers.advancedQuery": "Requête avancée",

+ 47 - 18
i18n/it.json

@@ -2,6 +2,9 @@
     "_.code": "it",
     "_.name": "Italiano (it)",
     "admin.errorMarshallingConfig": "Errore durante la lettura della configurazione: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Aggiungere un messaggio sostitutivo in testo semplice",
     "campaigns.cantUpdate": "Impossibile aggiornare una campagna in corso o già effettuata.",
     "campaigns.clicks": "Clic",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Chiudi",
     "globals.buttons.continue": "Continuare",
     "globals.buttons.delete": "Cancellare",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Modifica",
     "globals.buttons.enabled": "Attivata",
     "globals.buttons.learnMore": "Per saperne di più",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Sei sicuro?",
     "globals.messages.created": "\"{name}\" creato",
     "globals.messages.deleted": "\"{name}\" cancellato",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Niente da visualizzare",
     "globals.messages.errorCreating": "Errore durante la creazione di {name}: {error}",
     "globals.messages.errorDeleting": "Errore durante la cancellazione di {name}: {error}",
     "globals.messages.errorFetching": "Errore durante il recupero di {name}: {error}",
     "globals.messages.errorUUID": "Errore durante la generazione dell'UUID: {error}",
     "globals.messages.errorUpdating": "Errore durante l'aggiornamento di {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ID non valido",
     "globals.messages.invalidUUID": "UUID non valido",
     "globals.messages.notFound": "{name} introvabile",
@@ -153,6 +160,8 @@
     "globals.months.7": "Lug",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campagna | Campagne",
     "globals.terms.campaigns": "Campagne",
     "globals.terms.dashboard": "Tabella di marcia",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "La cancellazione è avvenuta con successo.",
     "public.unsubbedTitle": "Iscrizione annullata",
     "public.unsubscribeTitle": "Cancella l'iscrizione dalla lista di diffusione",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Asicurati che le campagne sono in pausa. Riavviare?",
     "settings.duplicateMessengerName": "Nome in messaggeria doppio: {name}",
     "settings.errorEncoding": "Errore durante la codifica dei parametri: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Radice dell'URL",
     "settings.general.rootURLHelp": "URL pubblico dell'installazione (senza barra obliqua finale).",
     "settings.invalidMessengerName": "Nome di messaggeria non valido.",
+    "settings.mailserver.authProtocol": "Protocollo di autenticazione",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "Indirizzo host del server SMTP.",
+    "settings.mailserver.idleTimeout": "Periodo di inattività",
+    "settings.mailserver.idleTimeoutHelp": "Tempo di attesa prima di una nuova attività sulla connessione prima della chiusura e cancellazione del pool (s per i secondi, m per i minuti).",
+    "settings.mailserver.maxConns": "Nb. connessioni max.",
+    "settings.mailserver.maxConnsHelp": "Numero massimo di connessioni simultanee al server SMTP.",
+    "settings.mailserver.password": "Password",
+    "settings.mailserver.passwordHelp": "Entra per modificare",
+    "settings.mailserver.port": "Porto",
+    "settings.mailserver.portHelp": "Porta del server SMTP.",
+    "settings.mailserver.skipTLS": "Ignora controllo TLS",
+    "settings.mailserver.skipTLSHelp": "Ignora la verifica del nome dell'host sul certificato TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Attiva STARTTLS.",
+    "settings.mailserver.username": "Nome utente",
+    "settings.mailserver.waitTimeout": "Tempo d'attesa",
+    "settings.mailserver.waitTimeoutHelp": "Tempo di attesa per una nuova attività su una connessione prima che venga chiusa e rimossa dal pool (s per secondo, m per minuto).",
     "settings.media.provider": "Fornitore",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Percorso del bucket",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Includere intestazioni di annullamento dell'iscrizione che consentono agli utenti di annullare l'iscrizione con un clic dal proprio client di posta elettronica.",
     "settings.privacy.name": "Vita privata",
     "settings.restart": "Riavviare",
-    "settings.smtp.authProtocol": "Protocollo di autenticazione",
     "settings.smtp.customHeaders": "Intestazioni personalizzate",
     "settings.smtp.customHeadersHelp": "Matrice facoltativa di intestazioni di posta elettronica da includere in tutti i messaggi inviati da questo server. Ad esempio: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Attivata",
     "settings.smtp.heloHost": "Nome host HELO",
     "settings.smtp.heloHostHelp": "Facoltativo. Alcuni server SMTP richiedono un nome di dominio completo nel nome host. Per impostazione predefinita, HELLOs viene fornito con `localhost`. Impostare questo parametro se deve essere utilizzato un nome host personalizzato.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "Indirizzo host del server SMTP.",
-    "settings.smtp.idleTimeout": "Periodo di inattività",
-    "settings.smtp.idleTimeoutHelp": "Tempo di attesa prima di una nuova attività sulla connessione prima della chiusura e cancellazione del pool (s per i secondi, m per i minuti).",
-    "settings.smtp.maxConns": "Nb. connessioni max.",
-    "settings.smtp.maxConnsHelp": "Numero massimo di connessioni simultanee al server SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Password",
-    "settings.smtp.passwordHelp": "Entra per modificare",
-    "settings.smtp.port": "Porto",
-    "settings.smtp.portHelp": "Porta del server SMTP.",
     "settings.smtp.retries": "Tentativi",
     "settings.smtp.retriesHelp": "Numero di tentativi in caso di errore invio messaggio.",
     "settings.smtp.setCustomHeaders": "Definisci intestazioni personalizzate",
-    "settings.smtp.skipTLS": "Ignora controllo TLS",
-    "settings.smtp.skipTLSHelp": "Ignora la verifica del nome dell'host sul certificato TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Attiva STARTTLS.",
-    "settings.smtp.username": "Nome utente",
-    "settings.smtp.waitTimeout": "Tempo d'attesa",
-    "settings.smtp.waitTimeoutHelp": "Tempo di attesa per una nuova attività su una connessione prima che venga chiusa e rimossa dal pool (s per secondo, m per minuto).",
     "settings.title": "Parametri",
     "settings.updateAvailable": "È a disponsizione una nuova attualizazione {version}.",
     "subscribers.advancedQuery": "Avanzate",

+ 47 - 18
i18n/ml.json

@@ -2,6 +2,9 @@
     "_.code": "ml",
     "_.name": "മലയാളം (ml)",
     "admin.errorMarshallingConfig": "അഭ്യർത്ഥന ക്രമീകരിയ്ക്കുന്നതിൽ പരാജയപ്പെട്ടു: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Add alternate plain text message",
     "campaigns.cantUpdate": "ഇപ്പോൾ നടന്നുകൊണ്ടിരിയ്ക്കുന്നതോ, അവസാനിച്ചതോ ആയ ക്യാമ്പേയ്ൻ പുതുക്കാനാകില്ല.",
     "campaigns.clicks": "ക്ലീക്കുകൾ",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "അടയ്ക്കുക",
     "globals.buttons.continue": "തുടരുക",
     "globals.buttons.delete": "നീക്കം ചെയ്യുക",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "തിരുത്തുക",
     "globals.buttons.enabled": "പ്രവർത്തനക്ഷമാക്കി",
     "globals.buttons.learnMore": "കൂടുതൽ അറിയുക",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "താങ്കൾക്ക് തീർച്ചയാണോ?",
     "globals.messages.created": "\"{name}\" നിർമ്മിച്ചു",
     "globals.messages.deleted": "\"{name}\" നീക്കം ചെയ്തു",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "ഇവിടൊന്നുമില്ല",
     "globals.messages.errorCreating": "{name} നിർമ്മിക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorDeleting": "{name} നീക്കം ചെയ്യുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorFetching": "{name} കൊണ്ടുവരുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUUID": "യുയുഐഡി ഉണ്ടാക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUpdating": "{name} പുതുക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ഐഡി അസാധുവാണ്",
     "globals.messages.invalidUUID": "യുയുഐഡി അസാധുവാണ്",
     "globals.messages.notFound": "{name} കണ്ടെത്തിയില്ല",
@@ -153,6 +160,8 @@
     "globals.months.7": "ജൂലൈ",
     "globals.months.8": "ഓഗസ്റ്റ്",
     "globals.months.9": "സെപ്റ്റംബർ",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "ക്യാമ്പേയ്ൻ | ക്യാമ്പേയ്നുകൾ",
     "globals.terms.campaigns": "ക്യാമ്പേയ്നുകൾ",
     "globals.terms.dashboard": "ഡാഷ്ബോഡ്",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "നിങ്ങൾ വരിക്കാരനല്ലാതായി",
     "public.unsubbedTitle": "വരിക്കാരനല്ലാതാകുക",
     "public.unsubscribeTitle": "മെയിലിങ് ലിസ്റ്റിന്റെ വരിക്കാരനല്ലാതാകുക",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "ഒരേ പേരിൽ ഒന്നിലധികം സന്ദശവാഹകർ: {name}",
     "settings.errorEncoding": "ക്രമീകരണം എൻകോഡ് ചെയ്യുന്നതിൽ തടസം നേരിട്ടു: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "റൂട്ട് യൂ. ആർ. എൽ",
     "settings.general.rootURLHelp": "ഇൻസ്റ്റാളേഷന്റെ പൊതു യൂ. ആർ. എൽ (അവസാനത്തെ സ്ലാഷ് ആവശ്യമില്ല).",
     "settings.invalidMessengerName": "സന്ദേശവാഹകന്റെ പേര് അസാധുവാണ്",
+    "settings.mailserver.authProtocol": "പ്രാമാണീകരണ പ്രോട്ടോക്കോൾ",
+    "settings.mailserver.host": "ഹോസ്റ്റ്",
+    "settings.mailserver.hostHelp": "എസ്. എം. ടീ. പി സേർവ്വറിന്റെ വിലാസം.",
+    "settings.mailserver.idleTimeout": "നിഷ്‌ക്രിയതാ സമയപരിധി",
+    "settings.mailserver.idleTimeoutHelp": "പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).",
+    "settings.mailserver.maxConns": "പരമാവധി കണക്ഷനുകൾ",
+    "settings.mailserver.maxConnsHelp": "എസ്. എം. ടീ. പി സേർവ്വറിലേയ്ക്കുള്ള പരമാവധി സമാന്തര കണക്ഷനുകൾ.",
+    "settings.mailserver.password": "രഹസ്യ വാക്ക്",
+    "settings.mailserver.passwordHelp": "മാറ്റം വരുത്താൻ എന്റർ കീ അമർത്തുക",
+    "settings.mailserver.port": "പോർട്ട്",
+    "settings.mailserver.portHelp": "എസ്. എം. ടീ. പി സേർവറിന്റെ പോർട്ട്.",
+    "settings.mailserver.skipTLS": "TLS പരിശോധന ഒഴിവാക്കുക",
+    "settings.mailserver.skipTLSHelp": "TLS സർട്ടിഫിക്കേറ്റിന്റെ ഹോസ്റ്റ്നേയിം പരിശോധന ഒഴിവാക്കുക.",
+    "settings.mailserver.tls": "ടിഎൽഎസ്",
+    "settings.mailserver.tlsHelp": "STARTTLS പ്രവർത്തനക്ഷമമാക്കുക.",
+    "settings.mailserver.username": "ഉപഭോക്തൃ നാമം",
+    "settings.mailserver.waitTimeout": "കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി",
+    "settings.mailserver.waitTimeoutHelp": "പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).",
     "settings.media.provider": "ദാതാവ്",
     "settings.media.s3.bucket": "ബക്കറ്റ്",
     "settings.media.s3.bucketPath": "ബക്കറ്റിലേക്കുള്ള പാത്ത്",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "ഒറ്റ ക്ലിക്കിലൂടെ വരിക്കാനല്ലാതാക്കാൻ ഇ-മെയിൽ ക്ലൈന്റിൽ വരിക്കാരനല്ലാതാക്കാനുള്ള തലക്കെട്ട് കൂട്ടിച്ചേർക്കുക.",
     "settings.privacy.name": "സ്വകാര്യത",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "പ്രാമാണീകരണ പ്രോട്ടോക്കോൾ",
     "settings.smtp.customHeaders": "ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ",
     "settings.smtp.customHeadersHelp": "ഈ സേർവറിൽ നിന്നും അയക്കുന്ന എല്ലാ ഈ-മെയിലിലും ഉണ്ടാകേണ്ട ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ. ഉദാഹരണം: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "പ്രവർത്തനക്ഷമമാക്കി",
     "settings.smtp.heloHost": "HELO ഹോസ്റ്റ് നേയിം",
     "settings.smtp.heloHostHelp": "ഐച്ഛികമാണ്. ചില എസ്. എം. ടീ. പി സേർവ്വറുകൾക്ക് ഹോസ്റ്റ് നേയിമിൽ FQDN വേണ്ടിവരാം. HELLO യ്ക്ക് `localhost` ഉപയോഗിക്കും. ഹോസ്റ്റ് നേയിം ഇഷ്ടാനുസൃതമാക്കാൻ ഇത് സജ്ജമാക്കുക",
-    "settings.smtp.host": "ഹോസ്റ്റ്",
-    "settings.smtp.hostHelp": "എസ്. എം. ടീ. പി സേർവ്വറിന്റെ വിലാസം.",
-    "settings.smtp.idleTimeout": "നിഷ്‌ക്രിയതാ സമയപരിധി",
-    "settings.smtp.idleTimeoutHelp": "പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).",
-    "settings.smtp.maxConns": "പരമാവധി കണക്ഷനുകൾ",
-    "settings.smtp.maxConnsHelp": "എസ്. എം. ടീ. പി സേർവ്വറിലേയ്ക്കുള്ള പരമാവധി സമാന്തര കണക്ഷനുകൾ.",
     "settings.smtp.name": "എസ്. എം. ടീ. പി",
-    "settings.smtp.password": "രഹസ്യ വാക്ക്",
-    "settings.smtp.passwordHelp": "മാറ്റം വരുത്താൻ എന്റർ കീ അമർത്തുക",
-    "settings.smtp.port": "പോർട്ട്",
-    "settings.smtp.portHelp": "എസ്. എം. ടീ. പി സേർവറിന്റെ പോർട്ട്.",
     "settings.smtp.retries": "പുനഃശ്രമങ്ങൾ",
     "settings.smtp.retriesHelp": "സന്ദേശമയ്ക്കുന്നത് പരാജയപ്പെട്ടാൽ എത്ര തവണ വീണ്ടും ശ്രമിക്കണം.",
     "settings.smtp.setCustomHeaders": "ഇഷ്‌ടാനുസൃത തലക്കെട്ടുകൾ നൽകുക",
-    "settings.smtp.skipTLS": "TLS പരിശോധന ഒഴിവാക്കുക",
-    "settings.smtp.skipTLSHelp": "TLS സർട്ടിഫിക്കേറ്റിന്റെ ഹോസ്റ്റ്നേയിം പരിശോധന ഒഴിവാക്കുക.",
-    "settings.smtp.tls": "ടിഎൽഎസ്",
-    "settings.smtp.tlsHelp": "STARTTLS പ്രവർത്തനക്ഷമമാക്കുക.",
-    "settings.smtp.username": "ഉപഭോക്തൃ നാമം",
-    "settings.smtp.waitTimeout": "കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി",
-    "settings.smtp.waitTimeoutHelp": "പൂളിൽ നിന്നും കണക്ഷൻ വിച്ഛേദിയ്ക്കുന്നതിനുമുമ്പ് പുതിയ പ്രവർത്തനത്തിനായി കാത്തുനിൽക്കുന്നതിനുള്ള സമയപരിധി(s സെക്കന്റിന്, m മിനുട്ടിന്).",
     "settings.title": "ക്രമീകരണങ്ങൾ",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "വിപുലമായത്",

+ 47 - 18
i18n/pl.json

@@ -2,6 +2,9 @@
     "_.code": "pl",
     "_.name": "Polski (pl)",
     "admin.errorMarshallingConfig": "Błąd przerabiania konfiguracji: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Dodaj alternatywną wiadomość jako plain text",
     "campaigns.cantUpdate": "Nie można aktualizować aktywnej ani zakończonej kampanii",
     "campaigns.clicks": "Kliknięć",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Zamknij",
     "globals.buttons.continue": "Kontynuuj",
     "globals.buttons.delete": "Usuń",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Edytuj",
     "globals.buttons.enabled": "Włączone",
     "globals.buttons.learnMore": "Dowiedz się więcej",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Na pewno?",
     "globals.messages.created": "\"{name}\" utworzono",
     "globals.messages.deleted": "\"{name}\" usunięto",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nic tutaj nie ma",
     "globals.messages.errorCreating": "Błąd podczas tworzenia {name}: {error}",
     "globals.messages.errorDeleting": "Błąd podczas usuwania {name}: {error}",
     "globals.messages.errorFetching": "Błąd podczas pobierania {name}: {error}",
     "globals.messages.errorUUID": "Błąd podczas generowania UUID: {error}",
     "globals.messages.errorUpdating": "Błąd podczas aktualizacji {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Nieprawidłowy iD",
     "globals.messages.invalidUUID": "Nieprawidłowy UUID",
     "globals.messages.notFound": "{name} nie znaleziono",
@@ -153,6 +160,8 @@
     "globals.months.7": "Lip",
     "globals.months.8": "Sie",
     "globals.months.9": "Wrz",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampania | Kampanie",
     "globals.terms.campaigns": "Kampanie",
     "globals.terms.dashboard": "Przegląd",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Pomyślnie odsubskrybowano",
     "public.unsubbedTitle": "Odsubskrybowano",
     "public.unsubscribeTitle": "Wypisz się z listy mailingowej",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Upewnij się, że uruchomione kampanie są zapauzowane. Zrestartować?",
     "settings.duplicateMessengerName": "Powtórzona nazwa komunikatora: {name}",
     "settings.errorEncoding": "Błąd szyfrowania ustawień: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Bazowy URL",
     "settings.general.rootURLHelp": "Publiczny URL instalacji (bez slasha na końcu)",
     "settings.invalidMessengerName": "Nieprawidłowa nazwa komunikatora.",
+    "settings.mailserver.authProtocol": "Protokół autoryzacji",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "Adres serwera SMTP.",
+    "settings.mailserver.idleTimeout": "Czas bezczynności",
+    "settings.mailserver.idleTimeoutHelp": "Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut).",
+    "settings.mailserver.maxConns": "Maksymalna liczba połączeń",
+    "settings.mailserver.maxConnsHelp": "Maksymalna liczba jednoczesnych połączeń do serwera SMTP.",
+    "settings.mailserver.password": "Hasło",
+    "settings.mailserver.passwordHelp": "Wpisz w celu zmiany",
+    "settings.mailserver.port": "Port",
+    "settings.mailserver.portHelp": "Port serwera SMTP.",
+    "settings.mailserver.skipTLS": "Pomiń weryfikację TLS",
+    "settings.mailserver.skipTLSHelp": "Pomiń sprawdzanie nazwy hosta dla certyfikatu TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Włącz STARTTLS.",
+    "settings.mailserver.username": "Nazwa użytkownika",
+    "settings.mailserver.waitTimeout": "Czas oczekiwania",
+    "settings.mailserver.waitTimeoutHelp": "Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut).",
     "settings.media.provider": "Dostawca",
     "settings.media.s3.bucket": "Komora (Bucket)",
     "settings.media.s3.bucketPath": "Ścieżka komory (Bucket path)",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Dodaj nagłówki do wypisania się z subskrypcji. Niektóre programy pocztowe umożliwiają wypisanie się jednym kliknięciem.",
     "settings.privacy.name": "Prywatność",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Protokół autoryzacji",
     "settings.smtp.customHeaders": "Niestandardowe nagłówki",
     "settings.smtp.customHeadersHelp": "Opcjonalna lista nagłówków do zamieszczania w wiadomościach we wszystkich wiadomościach wysłanych z tego serwera. np: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Włączone",
     "settings.smtp.heloHost": "Nazwa hosta HELO",
     "settings.smtp.heloHostHelp": "Opcjonalne. Niektóre serwery SMTP wymagają FQDN w nazwie hosta. Domyślnie HELLO korzystają z `localhost`. Ustaw jeśli inny host powinien zostać użyty.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "Adres serwera SMTP.",
-    "settings.smtp.idleTimeout": "Czas bezczynności",
-    "settings.smtp.idleTimeoutHelp": "Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut).",
-    "settings.smtp.maxConns": "Maksymalna liczba połączeń",
-    "settings.smtp.maxConnsHelp": "Maksymalna liczba jednoczesnych połączeń do serwera SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Hasło",
-    "settings.smtp.passwordHelp": "Wpisz w celu zmiany",
-    "settings.smtp.port": "Port",
-    "settings.smtp.portHelp": "Port serwera SMTP.",
     "settings.smtp.retries": "Ponowne próby",
     "settings.smtp.retriesHelp": "Liczba ponownych prób przy niepowodzeniu",
     "settings.smtp.setCustomHeaders": "Ustaw niestandardowe nagłówki",
-    "settings.smtp.skipTLS": "Pomiń weryfikację TLS",
-    "settings.smtp.skipTLSHelp": "Pomiń sprawdzanie nazwy hosta dla certyfikatu TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Włącz STARTTLS.",
-    "settings.smtp.username": "Nazwa użytkownika",
-    "settings.smtp.waitTimeout": "Czas oczekiwania",
-    "settings.smtp.waitTimeoutHelp": "Czas czekania na nową aktywność na połączeniu przed jej zamknięciem i usunięciem z puli (s dla sekud, m dla minut).",
     "settings.title": "Ustawienia",
     "settings.updateAvailable": "Nowa wersja {version} jest dostępna.",
     "subscribers.advancedQuery": "Zaawansowane",

+ 47 - 18
i18n/pt-BR.json

@@ -2,6 +2,9 @@
     "_.code": "pt-BR",
     "_.name": "Português Brasileiro (pt-BR)",
     "admin.errorMarshallingConfig": "Erro ao ler as configurações: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Adicionar mensagem alternativa em texto simples",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em execução ou finalizada.",
     "campaigns.clicks": "Cliques",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fechar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Excluir",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Habilitado",
     "globals.buttons.learnMore": "Saiba mais",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Tem certeza?",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.deleted": "\"{name}\" excluído",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nada por aqui",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao excluir {name}: {error}",
     "globals.messages.errorFetching": "Erro ao obter {name}: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUpdating": "Erro ao atualizar {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} não encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaigns": "Campanhas",
     "globals.terms.dashboard": "Painel",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Você cancelou a inscrição com sucesso.",
     "public.unsubbedTitle": "Inscrição cancelada",
     "public.unsubscribeTitle": "Cancelar inscrição na lista de e-mails",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Certifique-se de que as campanhas em execução estão pausadas. Reiniciar?",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.errorEncoding": "Erro ao codificar as configurações: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL base",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.invalidMessengerName": "Nome de mensageiro inválido.",
+    "settings.mailserver.authProtocol": "Protocolo Autenticação",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "Endereço do servidor SMTP.",
+    "settings.mailserver.idleTimeout": "Tempo limite ocioso",
+    "settings.mailserver.idleTimeoutHelp": "Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).",
+    "settings.mailserver.maxConns": "Máx. Conexões",
+    "settings.mailserver.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor SMTP.",
+    "settings.mailserver.password": "Senha",
+    "settings.mailserver.passwordHelp": "Digite para alterar",
+    "settings.mailserver.port": "Porta",
+    "settings.mailserver.portHelp": "Porta do servidor SMTP.",
+    "settings.mailserver.skipTLS": "Pular verificação de TLS",
+    "settings.mailserver.skipTLSHelp": "Pular verificação de hostname sobre o certificado TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Habilitar STARTTLS.",
+    "settings.mailserver.username": "Usuário",
+    "settings.mailserver.waitTimeout": "Tempo limite de espera",
+    "settings.mailserver.waitTimeoutHelp": "Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).",
     "settings.media.provider": "Provedor",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Caminho do bucket",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Incluir cabeçalhos de desinscrição que permitem aos clientes de e-mail cancelem a inscrição em um único clique.",
     "settings.privacy.name": "Privacidade",
     "settings.restart": "Reiniciar",
-    "settings.smtp.authProtocol": "Protocolo Autenticação",
     "settings.smtp.customHeaders": "Cabeçalhos personalizados",
     "settings.smtp.customHeadersHelp": "Array opcional de cabeçalhos de e-mail para incluir em todas as mensagens enviadas a partir deste servidor. por exemplo: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Habilitado",
     "settings.smtp.heloHost": "Nome do host HELO",
     "settings.smtp.heloHostHelp": "Opcional. Alguns servidores SMTP exigem um FQDN no nome do host. Por padrão, os HELLOs vão com 'localhost'. Defina isto se um nome de host personalizado deve ser usado.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "Endereço do servidor SMTP.",
-    "settings.smtp.idleTimeout": "Tempo limite ocioso",
-    "settings.smtp.idleTimeoutHelp": "Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).",
-    "settings.smtp.maxConns": "Máx. Conexões",
-    "settings.smtp.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Senha",
-    "settings.smtp.passwordHelp": "Digite para alterar",
-    "settings.smtp.port": "Porta",
-    "settings.smtp.portHelp": "Porta do servidor SMTP.",
     "settings.smtp.retries": "Tentativas",
     "settings.smtp.retriesHelp": "Número de tentativas quando uma mensagem falhar.",
     "settings.smtp.setCustomHeaders": "Definir cabeçalhos personalizados",
-    "settings.smtp.skipTLS": "Pular verificação de TLS",
-    "settings.smtp.skipTLSHelp": "Pular verificação de hostname sobre o certificado TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Habilitar STARTTLS.",
-    "settings.smtp.username": "Usuário",
-    "settings.smtp.waitTimeout": "Tempo limite de espera",
-    "settings.smtp.waitTimeoutHelp": "Tempo para esperar por uma nova atividade em uma conexão antes de fechá-la e removê-la do pool (s parar segundo, m para minuto).",
     "settings.title": "Configurações",
     "settings.updateAvailable": "Atualização: a nova versão {version} já está disponível.",
     "subscribers.advancedQuery": "Avançado",

+ 47 - 18
i18n/pt.json

@@ -2,6 +2,9 @@
     "_.code": "pt",
     "_.name": "Portuguese (pt)",
     "admin.errorMarshallingConfig": "Erro ao ler o config: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Adicionar mensagem alternativa em texto simples",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em curso ou terminada.",
     "campaigns.clicks": "Cliques",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fechar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Eliminar",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Ativo",
     "globals.buttons.learnMore": "Saber mais",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Tens a certeza?",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.deleted": "\"{name}\" eliminado",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Não há nada aqui",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao eliminar {name}: {error}",
     "globals.messages.errorFetching": "Erro ao carregar {name}: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUpdating": "Erro ao atualizar {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} não encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaigns": "Campanha",
     "globals.terms.dashboard": "Dashboard",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "A sua subscrição foi cancelada com sucesso.",
     "public.unsubbedTitle": "Subscrição cancelada",
     "public.unsubscribeTitle": "Cancelar subscrição da lista de emails",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.errorEncoding": "Erro de definições de codificação: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL base",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.invalidMessengerName": "Nome de mensageiro inválido.",
+    "settings.mailserver.authProtocol": "Protocolo Autenticação",
+    "settings.mailserver.host": "Host",
+    "settings.mailserver.hostHelp": "O endereço host do servidor SMTP",
+    "settings.mailserver.idleTimeout": "Tempo limite de inatividade",
+    "settings.mailserver.idleTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).",
+    "settings.mailserver.maxConns": "N. Max. Conexões",
+    "settings.mailserver.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor SMTP.",
+    "settings.mailserver.password": "Palavra-passe",
+    "settings.mailserver.passwordHelp": "Escreve aqui para alterar",
+    "settings.mailserver.port": "Porta",
+    "settings.mailserver.portHelp": "Porta do servidor SMTP",
+    "settings.mailserver.skipTLS": "Saltar verificação TLS",
+    "settings.mailserver.skipTLSHelp": "Saltar verificação do hostname no certificado TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Ativar STARTTLS.",
+    "settings.mailserver.username": "Nome de utilizador",
+    "settings.mailserver.waitTimeout": "Tempo limite de espera",
+    "settings.mailserver.waitTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).",
     "settings.media.provider": "Fornecedor",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Caminho do bucket",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Incluir headers de cancelamento de subscrição que permite aos clientes de email permitir ao utilizadores cancelar a subscrição num único clique.",
     "settings.privacy.name": "Privacidade",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Protocolo Autenticação",
     "settings.smtp.customHeaders": "Headers customizados",
     "settings.smtp.customHeadersHelp": "Array opcional de headers de email a incluir em todas as mensagens enviadas deste servidor. eg: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Ativo",
     "settings.smtp.heloHost": "Hostname HELO",
     "settings.smtp.heloHostHelp": "Opcional. Alguns servidores SMTP necessitam de um FQDN no hostname. Por padrão, HELLOs usam `localhost`. Coloca um hostname customizado se for necessario.",
-    "settings.smtp.host": "Host",
-    "settings.smtp.hostHelp": "O endereço host do servidor SMTP",
-    "settings.smtp.idleTimeout": "Tempo limite de inatividade",
-    "settings.smtp.idleTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).",
-    "settings.smtp.maxConns": "N. Max. Conexões",
-    "settings.smtp.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Palavra-passe",
-    "settings.smtp.passwordHelp": "Escreve aqui para alterar",
-    "settings.smtp.port": "Porta",
-    "settings.smtp.portHelp": "Porta do servidor SMTP",
     "settings.smtp.retries": "Tentativas",
     "settings.smtp.retriesHelp": "Número de vezes para tentar novamente quando uma mensagem falha.",
     "settings.smtp.setCustomHeaders": "Colocar headers customizados",
-    "settings.smtp.skipTLS": "Saltar verificação TLS",
-    "settings.smtp.skipTLSHelp": "Saltar verificação do hostname no certificado TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Ativar STARTTLS.",
-    "settings.smtp.username": "Nome de utilizador",
-    "settings.smtp.waitTimeout": "Tempo limite de espera",
-    "settings.smtp.waitTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).",
     "settings.title": "Definições",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "Avançado",

+ 47 - 18
i18n/ru.json

@@ -2,6 +2,9 @@
     "_.code": "ru",
     "_.name": "Русский (ru)",
     "admin.errorMarshallingConfig": "Ошибка преобразования конфига: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Добавить альтернативное простое текстовое сообщение",
     "campaigns.cantUpdate": "Не возможно обновить запущенную или завершённую компанию.",
     "campaigns.clicks": "Клики",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Закрыть",
     "globals.buttons.continue": "Продолжить",
     "globals.buttons.delete": "Удалить",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Изменить",
     "globals.buttons.enabled": "Включено",
     "globals.buttons.learnMore": "Подпробней",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Уверены?",
     "globals.messages.created": "\"{name}\" создано",
     "globals.messages.deleted": "\"{name}\" удалено",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Ничего нет",
     "globals.messages.errorCreating": "Ошибка создания {name}: {error}",
     "globals.messages.errorDeleting": "Ошибка удаления {name}: {error}",
     "globals.messages.errorFetching": "Ошибка получения {name}: {error}",
     "globals.messages.errorUUID": "Ошибка генерации UUID: {error}",
     "globals.messages.errorUpdating": "Ошибка обновления {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Неверный ID",
     "globals.messages.invalidUUID": "Неверный UUID",
     "globals.messages.notFound": "{name} не найдено",
@@ -153,6 +160,8 @@
     "globals.months.7": "Июл",
     "globals.months.8": "Авг",
     "globals.months.9": "Сен",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Компания | Компании",
     "globals.terms.campaigns": "Компании",
     "globals.terms.dashboard": "Панель",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Вы были отписаны.",
     "public.unsubbedTitle": "Отписано",
     "public.unsubscribeTitle": "Отписаться от списков рассылки",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Убедитесь, что запущенные кампании приостановлены. Запустить снова?",
     "settings.duplicateMessengerName": "Повторяющееся имя мессенджера: {name}",
     "settings.errorEncoding": "Error encoding settings: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Базовый URL",
     "settings.general.rootURLHelp": "Публичный URL текущего портала (без конечного слэша).",
     "settings.invalidMessengerName": "Неверное имя мессенджера.",
+    "settings.mailserver.authProtocol": "Протокол авторизации",
+    "settings.mailserver.host": "Хост",
+    "settings.mailserver.hostHelp": "Адрес сервера SMTP.",
+    "settings.mailserver.idleTimeout": "Таймаут простоя",
+    "settings.mailserver.idleTimeoutHelp": "Время ожидания новой активности в соединении перед тем, как закрыть и удалить его из пула (s, m соотвественно секунды и минуты).",
+    "settings.mailserver.maxConns": "Максимальное количество соединений",
+    "settings.mailserver.maxConnsHelp": "Максимальное количество одновременных соединений к серверу SMTP.",
+    "settings.mailserver.password": "Пароль",
+    "settings.mailserver.passwordHelp": "Для изменения введите",
+    "settings.mailserver.port": "Порт",
+    "settings.mailserver.portHelp": "Порт сервера SMTP.",
+    "settings.mailserver.skipTLS": "Пропустить проверку TLS",
+    "settings.mailserver.skipTLSHelp": "Не проверять имя хоста в сертификате TLS.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "Включить STARTTLS.",
+    "settings.mailserver.username": "Имя пользователя",
+    "settings.mailserver.waitTimeout": "Таймаут ожидания",
+    "settings.mailserver.waitTimeoutHelp": "Время ожидания новой активности в соединении перед тем, как закрыть и удалить его из пула (s, m соттветственно секунды и минуты)",
     "settings.media.provider": "Провайдер",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Путь bucket",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Включать заголовок отписки",
     "settings.privacy.name": "Конфиденциальност",
     "settings.restart": "Перезапустить",
-    "settings.smtp.authProtocol": "Протокол авторизации",
     "settings.smtp.customHeaders": "Настраиваемые заголовки",
     "settings.smtp.customHeadersHelp": "Необязательный массив заголовков e-mail, которые будут включены во все письма, отправляемые с этого сервера. Например: [{\"X-Custom\": \"значение\"}, {\"X-Custom2\": \"значение\"}]",
     "settings.smtp.enabled": "Включено",
     "settings.smtp.heloHost": "Имя хоста HELO",
     "settings.smtp.heloHostHelp": "Необязательно. Некоторые серверы SMTP требуют FQDN в имени хоста. По умолчанию команды HELO идут с `localhost`. Укажите, если должно использоваться собственное имя хоста.",
-    "settings.smtp.host": "Хост",
-    "settings.smtp.hostHelp": "Адрес сервера SMTP.",
-    "settings.smtp.idleTimeout": "Таймаут простоя",
-    "settings.smtp.idleTimeoutHelp": "Время ожидания новой активности в соединении перед тем, как закрыть и удалить его из пула (s, m соотвественно секунды и минуты).",
-    "settings.smtp.maxConns": "Максимальное количество соединений",
-    "settings.smtp.maxConnsHelp": "Максимальное количество одновременных соединений к серверу SMTP.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Пароль",
-    "settings.smtp.passwordHelp": "Для изменения введите",
-    "settings.smtp.port": "Порт",
-    "settings.smtp.portHelp": "Порт сервера SMTP.",
     "settings.smtp.retries": "Повторные попытки",
     "settings.smtp.retriesHelp": "Количество повторных попыток после ошибки отправки сообщения.",
     "settings.smtp.setCustomHeaders": "Установка настраиваемых заголовков",
-    "settings.smtp.skipTLS": "Пропустить проверку TLS",
-    "settings.smtp.skipTLSHelp": "Не проверять имя хоста в сертификате TLS.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "Включить STARTTLS.",
-    "settings.smtp.username": "Имя пользователя",
-    "settings.smtp.waitTimeout": "Таймаут ожидания",
-    "settings.smtp.waitTimeoutHelp": "Время ожидания новой активности в соединении перед тем, как закрыть и удалить его из пула (s, m соттветственно секунды и минуты)",
     "settings.title": "Параметры",
     "settings.updateAvailable": "Доступна новая версия: {version}.",
     "subscribers.advancedQuery": "Дополнительно",

+ 47 - 18
i18n/tr.json

@@ -2,6 +2,9 @@
     "_.code": "tr",
     "_.name": "Turkish (tr)",
     "admin.errorMarshallingConfig": "Ayarlar ile ilgili hata: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Alternatif düz metin ekleyin",
     "campaigns.cantUpdate": "Gönderilmekte olan veya gönderilmiş kampaynalar güncellenemez.",
     "campaigns.clicks": "Tıklama",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Kapat",
     "globals.buttons.continue": "Devam et",
     "globals.buttons.delete": "Sil",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Değiştir",
     "globals.buttons.enabled": "Etkinleştirildi",
     "globals.buttons.learnMore": "Daha fazla öğren",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Eminmisiniz?",
     "globals.messages.created": "\"{name}\" oluşturma",
     "globals.messages.deleted": "\"{name}\" silme",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Burası Boş",
     "globals.messages.errorCreating": "Hata oluşturma {name}: {error}",
     "globals.messages.errorDeleting": "Hata silme {name}: {error}",
     "globals.messages.errorFetching": "Hata çağırırken {name}: {error}",
     "globals.messages.errorUUID": "Hata oluştururken UUID: {error}",
     "globals.messages.errorUpdating": "Hata güncellerken {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Yanlış ID",
     "globals.messages.invalidUUID": "Yanlış UUID",
     "globals.messages.notFound": "{name} bulunamadı",
@@ -153,6 +160,8 @@
     "globals.months.7": "Tem",
     "globals.months.8": "Aug",
     "globals.months.9": "Eyl",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampanya | Kampanyalar",
     "globals.terms.campaigns": "Kampanyalar",
     "globals.terms.dashboard": "Yönetim Paneli",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Başarı ile üyeliğinizi bitirdiniz.",
     "public.unsubbedTitle": "Üyelik bitirildi.",
     "public.unsubscribeTitle": "e-posta listesi üyeliğini bitir",
+    "settings.bounces.action": "Action",
+    "settings.bounces.blocklist": "Blocklist",
+    "settings.bounces.count": "Bounce count",
+    "settings.bounces.countHelp": "Number of bounces per subscriber",
+    "settings.bounces.delete": "Delete",
+    "settings.bounces.enable": "Enable bounce processing",
+    "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
+    "settings.bounces.enableWebhooks": "Enable bounce webhooks",
+    "settings.bounces.enabled": "Enabled",
+    "settings.bounces.folder": "Folder",
+    "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
+    "settings.bounces.invalidScanInterval": "Bounce scan interval should be minimum 1 minute.",
+    "settings.bounces.name": "Bounces",
+    "settings.bounces.scanInterval": "Scan interval",
+    "settings.bounces.scanIntervalHelp": "Interval at which the bounce mailbox should be scanned for bounces (s for second, m for minute).",
+    "settings.bounces.sendgridKey": "SendGrid Key",
+    "settings.bounces.type": "Type",
+    "settings.bounces.username": "Username",
     "settings.confirmRestart": "Çalışan kampanyaların duraklatıldığından emin ol. Yeniden başlat?",
     "settings.duplicateMessengerName": "Çoklanmış messenger ismi: {name}",
     "settings.errorEncoding": "Hatalı kodlama ayarları: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Kök URL",
     "settings.general.rootURLHelp": "Kurulumun genel URL'si (bölme çizgisi yok).",
     "settings.invalidMessengerName": "Geçersiz messenger adı.",
+    "settings.mailserver.authProtocol": "Protokol",
+    "settings.mailserver.host": "İstemci",
+    "settings.mailserver.hostHelp": "SMTP sunucusu adresi.",
+    "settings.mailserver.idleTimeout": "Idle süresi",
+    "settings.mailserver.idleTimeoutHelp": "Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (s saniye, m dakika).",
+    "settings.mailserver.maxConns": "Maks. bağ. say.",
+    "settings.mailserver.maxConnsHelp": "SMTP sunucusuna aynı anda gönderilecek çoklu istek sayısı.",
+    "settings.mailserver.password": "Parola",
+    "settings.mailserver.passwordHelp": "Değiştirmek için giriniz",
+    "settings.mailserver.port": "Port",
+    "settings.mailserver.portHelp": "SMTP sunucusu port numarası.",
+    "settings.mailserver.skipTLS": "TLS doğrulamasını atla",
+    "settings.mailserver.skipTLSHelp": "TLS sertifikaları için sunucu adı doğrulamayı atla.",
+    "settings.mailserver.tls": "TLS",
+    "settings.mailserver.tlsHelp": "STARTTLS tanımla.",
+    "settings.mailserver.username": "Kullanıcı adı",
+    "settings.mailserver.waitTimeout": "Bekleme süresi aşımı",
+    "settings.mailserver.waitTimeoutHelp": "Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (saniye için s, dakika için m). ",
     "settings.media.provider": "Sağlayıcı",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket yolu",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "E-posta istemcilerinin kullanıcıların tek bir tıklamayla abonelikten çıkmalarına olanak tanıyan abonelik iptal başlıklarını ekleyin.",
     "settings.privacy.name": "Gizlilik",
     "settings.restart": "Yeniden başlat",
-    "settings.smtp.authProtocol": "Protokol",
     "settings.smtp.customHeaders": "Özel başlık bilgisi",
     "settings.smtp.customHeadersHelp": "Bu sunucudan gönderilen tüm iletilere eklenecek isteğe bağlı e-posta başlıkları dizisi. Örnek: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "Etkinleştirildi",
     "settings.smtp.heloHost": "HELO İstemci adı",
     "settings.smtp.heloHostHelp": "Opsiyonel. Bazı SMTP sunucuları istemci adı olarak FQDN isterler. Varsayılan olarak, 'localhost' üzerine HELLO gönderilecektir. Farklı bir sunucu adı kullanılacaksa tanımlayın lütfen.",
-    "settings.smtp.host": "İstemci",
-    "settings.smtp.hostHelp": "SMTP sunucusu adresi.",
-    "settings.smtp.idleTimeout": "Idle süresi",
-    "settings.smtp.idleTimeoutHelp": "Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (s saniye, m dakika).",
-    "settings.smtp.maxConns": "Maks. bağ. say.",
-    "settings.smtp.maxConnsHelp": "SMTP sunucusuna aynı anda gönderilecek çoklu istek sayısı.",
     "settings.smtp.name": "SMTP",
-    "settings.smtp.password": "Parola",
-    "settings.smtp.passwordHelp": "Değiştirmek için giriniz",
-    "settings.smtp.port": "Port",
-    "settings.smtp.portHelp": "SMTP sunucusu port numarası.",
     "settings.smtp.retries": "Tekrarlama",
     "settings.smtp.retriesHelp": "Mesaj hata verdiğinde tekrar deneme sayısı.",
     "settings.smtp.setCustomHeaders": "Özel başlık tanımla",
-    "settings.smtp.skipTLS": "TLS doğrulamasını atla",
-    "settings.smtp.skipTLSHelp": "TLS sertifikaları için sunucu adı doğrulamayı atla.",
-    "settings.smtp.tls": "TLS",
-    "settings.smtp.tlsHelp": "STARTTLS tanımla.",
-    "settings.smtp.username": "Kullanıcı adı",
-    "settings.smtp.waitTimeout": "Bekleme süresi aşımı",
-    "settings.smtp.waitTimeoutHelp": "Bir bağlantıdaki yeni etkinliği kapatmadan ve havuzdan kaldırmadan önce bekleme süresi (saniye için s, dakika için m). ",
     "settings.title": "Ayarlar",
     "settings.updateAvailable": "Yeni bir güncel sürüm {version} mevcuttur.",
     "subscribers.advancedQuery": "İleri düzey",