Selaa lähdekoodia

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 vuotta sitten
vanhempi
commit
59c897645d
12 muutettua tiedostoa jossa 544 lisäystä ja 262 poistoa
  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="column" :class="{'disabled': !item.enabled}">
                     <div class="columns">
                     <div class="columns">
                       <div class="column is-8">
                       <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"
                           <b-input v-model="item.host" name="host"
                             placeholder='smtp.yourmailserver.net' :maxlength="200" />
                             placeholder='smtp.yourmailserver.net' :maxlength="200" />
                         </b-field>
                         </b-field>
                       </div>
                       </div>
                       <div class="column">
                       <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"
                           <b-numberinput v-model="item.port" name="port" type="is-light"
                               controls-position="compact"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
                               placeholder="25" min="1" max="65535" />
@@ -320,7 +320,7 @@
 
 
                     <div class="columns">
                     <div class="columns">
                       <div class="column is-2">
                       <div class="column is-2">
-                        <b-field :label="$t('settings.smtp.authProtocol')"
+                        <b-field :label="$t('settings.mailserver.authProtocol')"
                           label-position="on-border">
                           label-position="on-border">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                             <option value="none">none</option>
                             <option value="none">none</option>
@@ -332,19 +332,19 @@
                       </div>
                       </div>
                       <div class="column">
                       <div class="column">
                         <b-field grouped>
                         <b-field grouped>
-                          <b-field :label="$t('settings.smtp.username')"
+                          <b-field :label="$t('settings.mailserver.username')"
                             label-position="on-border" expanded>
                             label-position="on-border" expanded>
                             <b-input v-model="item.username"
                             <b-input v-model="item.username"
                               :disabled="item.auth_protocol === 'none'"
                               :disabled="item.auth_protocol === 'none'"
                               name="username" placeholder="mysmtp" :maxlength="200" />
                               name="username" placeholder="mysmtp" :maxlength="200" />
                           </b-field>
                           </b-field>
-                          <b-field :label="$t('settings.smtp.password')"
+                          <b-field :label="$t('settings.mailserver.password')"
                             label-position="on-border" expanded
                             label-position="on-border" expanded
-                            :message="$t('settings.smtp.passwordHelp')">
+                            :message="$t('settings.mailserver.passwordHelp')">
                             <b-input v-model="item.password"
                             <b-input v-model="item.password"
                               :disabled="item.auth_protocol === 'none'"
                               :disabled="item.auth_protocol === 'none'"
                               name="password" type="password"
                               name="password" type="password"
-                              :placeholder="$t('settings.smtp.passwordHelp')"
+                              :placeholder="$t('settings.mailserver.passwordHelp')"
                               :maxlength="200" />
                               :maxlength="200" />
                           </b-field>
                           </b-field>
                         </b-field>
                         </b-field>
@@ -362,12 +362,12 @@
                       </div>
                       </div>
                       <div class="column">
                       <div class="column">
                         <b-field grouped>
                         <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-switch v-model="item.tls_enabled" name="item.tls_enabled" />
                           </b-field>
                           </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"
                             <b-switch v-model="item.tls_skip_verify"
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                           </b-field>
                           </b-field>
@@ -378,8 +378,9 @@
 
 
                     <div class="columns">
                     <div class="columns">
                       <div class="column is-3">
                       <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"
                           <b-numberinput v-model="item.max_conns" name="max_conns" type="is-light"
                               controls-position="compact"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
                               placeholder="25" min="1" max="65535" />
@@ -395,15 +396,17 @@
                         </b-field>
                         </b-field>
                       </div>
                       </div>
                       <div class="column is-3">
                       <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"
                           <b-input v-model="item.idle_timeout" name="idle_timeout"
                             placeholder="15s" :pattern="regDuration" :maxlength="10" />
                             placeholder="15s" :pattern="regDuration" :maxlength="10" />
                         </b-field>
                         </b-field>
                       </div>
                       </div>
                       <div class="column is-3">
                       <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"
                           <b-input v-model="item.wait_timeout" name="wait_timeout"
                             placeholder="5s" :pattern="regDuration" :maxlength="10" />
                             placeholder="5s" :pattern="regDuration" :maxlength="10" />
                         </b-field>
                         </b-field>
@@ -518,15 +521,15 @@
                         </b-field>
                         </b-field>
                       </div>
                       </div>
                       <div class="column is-6">
                       <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"
                           <b-input v-model="item.host" name="host"
                             placeholder='bounce.yourmailserver.net' :maxlength="200" />
                             placeholder='bounce.yourmailserver.net' :maxlength="200" />
                         </b-field>
                         </b-field>
                       </div>
                       </div>
                       <div class="column is-3">
                       <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"
                           <b-numberinput v-model="item.port" name="port" type="is-light"
                               controls-position="compact"
                               controls-position="compact"
                               placeholder="25" min="1" max="65535" />
                               placeholder="25" min="1" max="65535" />
@@ -536,7 +539,7 @@
 
 
                     <div class="columns">
                     <div class="columns">
                       <div class="column is-3">
                       <div class="column is-3">
-                        <b-field :label="$t('settings.bounces.authProtocol')"
+                        <b-field :label="$t('settings.mailserver.authProtocol')"
                           label-position="on-border">
                           label-position="on-border">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                           <b-select v-model="item.auth_protocol" name="auth_protocol">
                             <option value="none">none</option>
                             <option value="none">none</option>
@@ -551,19 +554,19 @@
                       </div>
                       </div>
                       <div class="column">
                       <div class="column">
                         <b-field grouped>
                         <b-field grouped>
-                          <b-field :label="$t('settings.bounces.username')"
+                          <b-field :label="$t('settings.mailserver.username')"
                             label-position="on-border" expanded>
                             label-position="on-border" expanded>
                             <b-input v-model="item.username"
                             <b-input v-model="item.username"
                               :disabled="item.auth_protocol === 'none'"
                               :disabled="item.auth_protocol === 'none'"
                               name="username" placeholder="mysmtp" :maxlength="200" />
                               name="username" placeholder="mysmtp" :maxlength="200" />
                           </b-field>
                           </b-field>
-                          <b-field :label="$t('settings.bounces.password')"
+                          <b-field :label="$t('settings.mailserver.password')"
                             label-position="on-border" expanded
                             label-position="on-border" expanded
-                            :message="$t('settings.bounces.passwordHelp')">
+                            :message="$t('settings.mailserver.passwordHelp')">
                             <b-input v-model="item.password"
                             <b-input v-model="item.password"
                               :disabled="item.auth_protocol === 'none'"
                               :disabled="item.auth_protocol === 'none'"
                               name="password" type="password"
                               name="password" type="password"
-                              :placeholder="$t('settings.bounces.passwordHelp')"
+                              :placeholder="$t('settings.mailserver.passwordHelp')"
                               :maxlength="200" />
                               :maxlength="200" />
                           </b-field>
                           </b-field>
                         </b-field>
                         </b-field>
@@ -573,12 +576,12 @@
                     <div class="columns">
                     <div class="columns">
                       <div class="column is-6">
                       <div class="column is-6">
                         <b-field grouped>
                         <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-switch v-model="item.tls_enabled" name="item.tls_enabled" />
                           </b-field>
                           </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"
                             <b-switch v-model="item.tls_skip_verify"
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                               :disabled="!item.tls_enabled" name="item.tls_skip_verify" />
                           </b-field>
                           </b-field>

+ 47 - 18
i18n/de.json

@@ -2,6 +2,9 @@
     "_.code": "de",
     "_.code": "de",
     "_.name": "Deutsch (de)",
     "_.name": "Deutsch (de)",
     "admin.errorMarshallingConfig": "Fehler beim einlesen der Konfiguration: {error}",
     "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.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.cantUpdate": "Eine laufende oder abgeschlossene Kampagne kann nicht geändert werden.",
     "campaigns.clicks": "Klicks",
     "campaigns.clicks": "Klicks",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Schließen",
     "globals.buttons.close": "Schließen",
     "globals.buttons.continue": "Fortfahren",
     "globals.buttons.continue": "Fortfahren",
     "globals.buttons.delete": "Löschen",
     "globals.buttons.delete": "Löschen",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Bearbeiten",
     "globals.buttons.edit": "Bearbeiten",
     "globals.buttons.enabled": "Aktiviert",
     "globals.buttons.enabled": "Aktiviert",
     "globals.buttons.learnMore": "Erfahre mehr",
     "globals.buttons.learnMore": "Erfahre mehr",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Bist du sicher?",
     "globals.messages.confirm": "Bist du sicher?",
     "globals.messages.created": "\"{name}\" erstellt",
     "globals.messages.created": "\"{name}\" erstellt",
     "globals.messages.deleted": "\"{name}\" gelöscht",
     "globals.messages.deleted": "\"{name}\" gelöscht",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Hier ist nichts",
     "globals.messages.emptyState": "Hier ist nichts",
     "globals.messages.errorCreating": "Fehler beim Erstellen von {name}: {error}",
     "globals.messages.errorCreating": "Fehler beim Erstellen von {name}: {error}",
     "globals.messages.errorDeleting": "Fehler beim Löschen von {name}: {error}",
     "globals.messages.errorDeleting": "Fehler beim Löschen von {name}: {error}",
     "globals.messages.errorFetching": "Fehler beim Abrufen von {name}: {error}",
     "globals.messages.errorFetching": "Fehler beim Abrufen von {name}: {error}",
     "globals.messages.errorUUID": "Fehler beim Erzeugen einer UUID: {error}",
     "globals.messages.errorUUID": "Fehler beim Erzeugen einer UUID: {error}",
     "globals.messages.errorUpdating": "Fehler beim Aktualisieren von {name}: {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.invalidID": "Ungültige ID",
     "globals.messages.invalidUUID": "Ungültige UUID",
     "globals.messages.invalidUUID": "Ungültige UUID",
     "globals.messages.notFound": "{name} nicht gefunden",
     "globals.messages.notFound": "{name} nicht gefunden",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.7": "Jul",
     "globals.months.8": "Aug",
     "globals.months.8": "Aug",
     "globals.months.9": "Sep",
     "globals.months.9": "Sep",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampagne | Kampagnen",
     "globals.terms.campaign": "Kampagne | Kampagnen",
     "globals.terms.campaigns": "Kampagnen",
     "globals.terms.campaigns": "Kampagnen",
     "globals.terms.dashboard": "Überblick",
     "globals.terms.dashboard": "Überblick",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Du wurdest erfolgreich abgemeldet",
     "public.unsubbedInfo": "Du wurdest erfolgreich abgemeldet",
     "public.unsubbedTitle": "Abgemeldet",
     "public.unsubbedTitle": "Abgemeldet",
     "public.unsubscribeTitle": "Von E-Mail Liste abmelden.",
     "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.confirmRestart": "Stelle sicher, dass laufende Kampagnen pausiert sind. Neustarten?",
     "settings.duplicateMessengerName": "Doppelter Nachrichtendienstname: {name}",
     "settings.duplicateMessengerName": "Doppelter Nachrichtendienstname: {name}",
     "settings.errorEncoding": "Fehler bei der Kodierung der Einstellungen: {error}",
     "settings.errorEncoding": "Fehler bei der Kodierung der Einstellungen: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURLHelp": "Öffentliche URL der Installation (ohne Slash am Ende).",
     "settings.general.rootURLHelp": "Öffentliche URL der Installation (ohne Slash am Ende).",
     "settings.invalidMessengerName": "Der Name des Nachrichtendienst ist ungültig",
     "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.provider": "Anbieter",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket Pfad",
     "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.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.privacy.name": "Privatsphäre",
     "settings.restart": "Neustarten",
     "settings.restart": "Neustarten",
-    "settings.smtp.authProtocol": "Autentifizierungsprotokoll",
     "settings.smtp.customHeaders": "Benutzerdefinierte Header",
     "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.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.enabled": "Aktiviert",
     "settings.smtp.heloHost": "HELO Hostname",
     "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.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.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.retries": "Wiederholungen",
     "settings.smtp.retriesHelp": "Maximale Anzahl an Wiederholungen, wenn eine Machricht fehlschlägt.",
     "settings.smtp.retriesHelp": "Maximale Anzahl an Wiederholungen, wenn eine Machricht fehlschlägt.",
     "settings.smtp.setCustomHeaders": "Benutzerdefinierten Header verwenden",
     "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.title": "Einstellungen",
     "settings.updateAvailable": "Ein neues Update auf {version} ist verfügbar.",
     "settings.updateAvailable": "Ein neues Update auf {version} ist verfügbar.",
     "subscribers.advancedQuery": "Erweitert",
     "subscribers.advancedQuery": "Erweitert",

+ 39 - 50
i18n/en.json

@@ -2,6 +2,9 @@
     "_.code": "en",
     "_.code": "en",
     "_.name": "English (en)",
     "_.name": "English (en)",
     "admin.errorMarshallingConfig": "Error marshalling config: {error}",
     "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.addAltText": "Add alternate plain text message",
     "campaigns.cantUpdate": "Cannot update a running or a finished campaign.",
     "campaigns.cantUpdate": "Cannot update a running or a finished campaign.",
     "campaigns.clicks": "Clicks",
     "campaigns.clicks": "Clicks",
@@ -133,13 +136,13 @@
     "globals.messages.deleted": "\"{name}\" deleted",
     "globals.messages.deleted": "\"{name}\" deleted",
     "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nothing here",
     "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.errorCreating": "Error creating {name}: {error}",
     "globals.messages.errorDeleting": "Error deleting {name}: {error}",
     "globals.messages.errorDeleting": "Error deleting {name}: {error}",
     "globals.messages.errorFetching": "Error fetching {name}: {error}",
     "globals.messages.errorFetching": "Error fetching {name}: {error}",
     "globals.messages.errorUUID": "Error generating UUID: {error}",
     "globals.messages.errorUUID": "Error generating UUID: {error}",
     "globals.messages.errorUpdating": "Error updating {name}: {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.invalidID": "Invalid ID(s)",
     "globals.messages.invalidUUID": "Invalid UUID(s)",
     "globals.messages.invalidUUID": "Invalid UUID(s)",
     "globals.messages.notFound": "{name} not found",
     "globals.messages.notFound": "{name} not found",
@@ -157,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.7": "Jul",
     "globals.months.8": "Aug",
     "globals.months.8": "Aug",
     "globals.months.9": "Sep",
     "globals.months.9": "Sep",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campaign | Campaigns",
     "globals.terms.campaign": "Campaign | Campaigns",
     "globals.terms.campaigns": "Campaigns",
     "globals.terms.campaigns": "Campaigns",
     "globals.terms.dashboard": "Dashboard",
     "globals.terms.dashboard": "Dashboard",
@@ -168,8 +173,6 @@
     "globals.terms.settings": "Settings",
     "globals.terms.settings": "Settings",
     "globals.terms.subscriber": "Subscriber | Subscribers",
     "globals.terms.subscriber": "Subscriber | Subscribers",
     "globals.terms.subscribers": "Subscribers",
     "globals.terms.subscribers": "Subscribers",
-    "globals.terms.bounce": "Bounce | Bounces",
-    "globals.terms.bounces": "Bounces",
     "globals.terms.tag": "Tag | Tags",
     "globals.terms.tag": "Tag | Tags",
     "globals.terms.tags": "Tags",
     "globals.terms.tags": "Tags",
     "globals.terms.template": "Template | Templates",
     "globals.terms.template": "Template | Templates",
@@ -280,21 +283,26 @@
     "public.unsubbedInfo": "You have unsubscribed successfully.",
     "public.unsubbedInfo": "You have unsubscribed successfully.",
     "public.unsubbedTitle": "Unsubscribed",
     "public.unsubbedTitle": "Unsubscribed",
     "public.unsubscribeTitle": "Unsubscribe from mailing list",
     "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.enable": "Enable bounce processing",
     "settings.bounces.enableMailbox": "Enable bounce mailbox",
     "settings.bounces.enableMailbox": "Enable bounce mailbox",
+    "settings.bounces.enableSES": "Enable SES",
+    "settings.bounces.enableSendgrid": "Enable SendGrid",
     "settings.bounces.enableWebhooks": "Enable bounce webhooks",
     "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.folder": "Folder",
     "settings.bounces.folderHelp": "Name of the IMAP folder to scan. Eg: Inbox.",
     "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.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.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "Duplicate messenger name: {name}",
     "settings.duplicateMessengerName": "Duplicate messenger name: {name}",
     "settings.errorEncoding": "Error encoding settings: {error}",
     "settings.errorEncoding": "Error encoding settings: {error}",
@@ -316,6 +324,24 @@
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURL": "Root URL",
     "settings.general.rootURLHelp": "Public URL of the installation (no trailing slash).",
     "settings.general.rootURLHelp": "Public URL of the installation (no trailing slash).",
     "settings.invalidMessengerName": "Invalid messenger name.",
     "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.provider": "Provider",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket path",
     "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.listUnsubHeaderHelp": "Include unsubscription headers that allow e-mail clients to allow users to unsubscribe in a single click.",
     "settings.privacy.name": "Privacy",
     "settings.privacy.name": "Privacy",
     "settings.restart": "Restart",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Auth protocol",
     "settings.smtp.customHeaders": "Custom headers",
     "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.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.enabled": "Enabled",
     "settings.smtp.heloHost": "HELO hostname",
     "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.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.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.retries": "Retries",
     "settings.smtp.retriesHelp": "Number of times to retry when a message fails.",
     "settings.smtp.retriesHelp": "Number of times to retry when a message fails.",
     "settings.smtp.setCustomHeaders": "Set custom headers",
     "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.title": "Settings",
     "settings.updateAvailable": "A new update {version} is available.",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "Advanced",
     "subscribers.advancedQuery": "Advanced",

+ 47 - 18
i18n/es.json

@@ -2,6 +2,9 @@
     "_.code": "es",
     "_.code": "es",
     "_.name": "Español (es)",
     "_.name": "Español (es)",
     "admin.errorMarshallingConfig": "Error al ordenar la configuración: {error}",
     "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.addAltText": "Agregar mensaje en texto plano alternativo",
     "campaigns.cantUpdate": "No es posible actualizar una campaña iniciada o finalizada.",
     "campaigns.cantUpdate": "No es posible actualizar una campaña iniciada o finalizada.",
     "campaigns.clicks": "Clics",
     "campaigns.clicks": "Clics",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Cerrar",
     "globals.buttons.close": "Cerrar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Borrar",
     "globals.buttons.delete": "Borrar",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Habilitar",
     "globals.buttons.enabled": "Habilitar",
     "globals.buttons.learnMore": "Conocer más",
     "globals.buttons.learnMore": "Conocer más",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "¿Está seguro?",
     "globals.messages.confirm": "¿Está seguro?",
     "globals.messages.created": "\"{name}\" creado",
     "globals.messages.created": "\"{name}\" creado",
     "globals.messages.deleted": "\"{name}\" borrado",
     "globals.messages.deleted": "\"{name}\" borrado",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Vacío",
     "globals.messages.emptyState": "Vacío",
     "globals.messages.errorCreating": "Error creando {name}: {error}",
     "globals.messages.errorCreating": "Error creando {name}: {error}",
     "globals.messages.errorDeleting": "Error borrando {name}: {error}",
     "globals.messages.errorDeleting": "Error borrando {name}: {error}",
     "globals.messages.errorFetching": "Error buscando {name}: {error}",
     "globals.messages.errorFetching": "Error buscando {name}: {error}",
     "globals.messages.errorUUID": "Error generando UUID: {error}",
     "globals.messages.errorUUID": "Error generando UUID: {error}",
     "globals.messages.errorUpdating": "Error actualizando {name}: {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.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} no encontrado",
     "globals.messages.notFound": "{name} no encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Julio",
     "globals.months.7": "Julio",
     "globals.months.8": "Agosto",
     "globals.months.8": "Agosto",
     "globals.months.9": "Setiembre",
     "globals.months.9": "Setiembre",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campaña | Campañas",
     "globals.terms.campaign": "Campaña | Campañas",
     "globals.terms.campaigns": "Campañas",
     "globals.terms.campaigns": "Campañas",
     "globals.terms.dashboard": "Panel",
     "globals.terms.dashboard": "Panel",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Ud. se ha des-subscrito de forma satisfactoria",
     "public.unsubbedInfo": "Ud. se ha des-subscrito de forma satisfactoria",
     "public.unsubbedTitle": "Des-subscrito.",
     "public.unsubbedTitle": "Des-subscrito.",
     "public.unsubscribeTitle": "Des-subscribirse de una lista de correo",
     "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.confirmRestart": "Asegúrese de que las campañas ejecutándose están en pause. ¿Reiniciar?",
     "settings.duplicateMessengerName": "Nombre de mensajero duplicado: {name}",
     "settings.duplicateMessengerName": "Nombre de mensajero duplicado: {name}",
     "settings.errorEncoding": "Error codificando configuración: {error}",
     "settings.errorEncoding": "Error codificando configuración: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL raíz",
     "settings.general.rootURL": "URL raíz",
     "settings.general.rootURLHelp": "URL pública de la instalación (sin la barra final)",
     "settings.general.rootURLHelp": "URL pública de la instalación (sin la barra final)",
     "settings.invalidMessengerName": "Nombre de mensajero inválido.",
     "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.provider": "Proveedor",
     "settings.media.s3.bucket": "Contenedor",
     "settings.media.s3.bucket": "Contenedor",
     "settings.media.s3.bucketPath": "Ruta del 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.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.privacy.name": "Privacidad",
     "settings.restart": "Reiniciar",
     "settings.restart": "Reiniciar",
-    "settings.smtp.authProtocol": "Protocolo de autenticación",
     "settings.smtp.customHeaders": "Encabezados personalizados",
     "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.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.enabled": "Habilitado",
     "settings.smtp.heloHost": "HELO hostname",
     "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.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.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.retries": "Reintentos",
     "settings.smtp.retriesHelp": "Número de reintentos cuando un mensaje falla.",
     "settings.smtp.retriesHelp": "Número de reintentos cuando un mensaje falla.",
     "settings.smtp.setCustomHeaders": "Configurar encabezados personalizados.",
     "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.title": "Configuraciones",
     "settings.updateAvailable": "Una actualización {version} está disponible.",
     "settings.updateAvailable": "Una actualización {version} está disponible.",
     "subscribers.advancedQuery": "Avanzado",
     "subscribers.advancedQuery": "Avanzado",

+ 47 - 18
i18n/fr.json

@@ -2,6 +2,9 @@
     "_.code": "fr",
     "_.code": "fr",
     "_.name": "Français (fr)",
     "_.name": "Français (fr)",
     "admin.errorMarshallingConfig": "Erreur lors de la lecture de la configuration : {error}",
     "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.addAltText": "Ajouter un message alternatif en texte brut",
     "campaigns.cantUpdate": "Impossible de mettre à jour une campagne en cours ou terminée.",
     "campaigns.cantUpdate": "Impossible de mettre à jour une campagne en cours ou terminée.",
     "campaigns.clicks": "clics",
     "campaigns.clicks": "clics",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fermer",
     "globals.buttons.close": "Fermer",
     "globals.buttons.continue": "Continuer",
     "globals.buttons.continue": "Continuer",
     "globals.buttons.delete": "Supprimer",
     "globals.buttons.delete": "Supprimer",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Éditer",
     "globals.buttons.edit": "Éditer",
     "globals.buttons.enabled": "Activé·e",
     "globals.buttons.enabled": "Activé·e",
     "globals.buttons.learnMore": "En savoir plus",
     "globals.buttons.learnMore": "En savoir plus",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Confirmer ?",
     "globals.messages.confirm": "Confirmer ?",
     "globals.messages.created": "Création de \"{name}\"",
     "globals.messages.created": "Création de \"{name}\"",
     "globals.messages.deleted": "Suppression de \"{name}\"",
     "globals.messages.deleted": "Suppression de \"{name}\"",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Rien",
     "globals.messages.emptyState": "Rien",
     "globals.messages.errorCreating": "Erreur lors de la création de {name} : {error}",
     "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.errorDeleting": "Erreur lors de la suppression de {name} : {error}",
     "globals.messages.errorFetching": "Erreur lors de la récupération 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.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.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.invalidID": "ID invalide",
     "globals.messages.invalidUUID": "UUID invalide",
     "globals.messages.invalidUUID": "UUID invalide",
     "globals.messages.notFound": "{name} introuvable",
     "globals.messages.notFound": "{name} introuvable",
@@ -153,6 +160,8 @@
     "globals.months.7": "juil.",
     "globals.months.7": "juil.",
     "globals.months.8": "août",
     "globals.months.8": "août",
     "globals.months.9": "sept.",
     "globals.months.9": "sept.",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campagne | Campagnes",
     "globals.terms.campaign": "Campagne | Campagnes",
     "globals.terms.campaigns": "Campagnes",
     "globals.terms.campaigns": "Campagnes",
     "globals.terms.dashboard": "Tableau de bord",
     "globals.terms.dashboard": "Tableau de bord",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Vous vous êtes désabonné·e avec succès.",
     "public.unsubbedInfo": "Vous vous êtes désabonné·e avec succès.",
     "public.unsubbedTitle": "Désabonné·e",
     "public.unsubbedTitle": "Désabonné·e",
     "public.unsubscribeTitle": "Se désabonner de la liste de diffusion",
     "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.confirmRestart": "Assurez-vous que les campagnes actives soient en pause. Redémarrer ?",
     "settings.duplicateMessengerName": "Doublon du nom de messagerie : {name}",
     "settings.duplicateMessengerName": "Doublon du nom de messagerie : {name}",
     "settings.errorEncoding": "Erreur lors de l'encodage des paramètres : {error}",
     "settings.errorEncoding": "Erreur lors de l'encodage des paramètres : {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL racine",
     "settings.general.rootURL": "URL racine",
     "settings.general.rootURLHelp": "URL publique de l'installation (sans slash final)",
     "settings.general.rootURLHelp": "URL publique de l'installation (sans slash final)",
     "settings.invalidMessengerName": "Nom de messagerie invalide",
     "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.provider": "Fournisseur",
     "settings.media.s3.bucket": "Compartiment",
     "settings.media.s3.bucket": "Compartiment",
     "settings.media.s3.bucketPath": "Chemin du 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.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.privacy.name": "Vie privée",
     "settings.restart": "Redémarrer",
     "settings.restart": "Redémarrer",
-    "settings.smtp.authProtocol": "Protocole d'authentification",
     "settings.smtp.customHeaders": "En-têtes personnalisées",
     "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.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.enabled": "Activé",
     "settings.smtp.heloHost": "Nom d'hôte HELO",
     "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.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.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.retries": "Tentatives de renvoi",
     "settings.smtp.retriesHelp": "Nombre de tentatives de renvoi d'un message en cas d'échec",
     "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.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.title": "Paramètres",
     "settings.updateAvailable": "Une nouvelle version ({version}) est disponible.",
     "settings.updateAvailable": "Une nouvelle version ({version}) est disponible.",
     "subscribers.advancedQuery": "Requête avancée",
     "subscribers.advancedQuery": "Requête avancée",

+ 47 - 18
i18n/it.json

@@ -2,6 +2,9 @@
     "_.code": "it",
     "_.code": "it",
     "_.name": "Italiano (it)",
     "_.name": "Italiano (it)",
     "admin.errorMarshallingConfig": "Errore durante la lettura della configurazione: {error}",
     "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.addAltText": "Aggiungere un messaggio sostitutivo in testo semplice",
     "campaigns.cantUpdate": "Impossibile aggiornare una campagna in corso o già effettuata.",
     "campaigns.cantUpdate": "Impossibile aggiornare una campagna in corso o già effettuata.",
     "campaigns.clicks": "Clic",
     "campaigns.clicks": "Clic",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Chiudi",
     "globals.buttons.close": "Chiudi",
     "globals.buttons.continue": "Continuare",
     "globals.buttons.continue": "Continuare",
     "globals.buttons.delete": "Cancellare",
     "globals.buttons.delete": "Cancellare",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Modifica",
     "globals.buttons.edit": "Modifica",
     "globals.buttons.enabled": "Attivata",
     "globals.buttons.enabled": "Attivata",
     "globals.buttons.learnMore": "Per saperne di più",
     "globals.buttons.learnMore": "Per saperne di più",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Sei sicuro?",
     "globals.messages.confirm": "Sei sicuro?",
     "globals.messages.created": "\"{name}\" creato",
     "globals.messages.created": "\"{name}\" creato",
     "globals.messages.deleted": "\"{name}\" cancellato",
     "globals.messages.deleted": "\"{name}\" cancellato",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Niente da visualizzare",
     "globals.messages.emptyState": "Niente da visualizzare",
     "globals.messages.errorCreating": "Errore durante la creazione di {name}: {error}",
     "globals.messages.errorCreating": "Errore durante la creazione di {name}: {error}",
     "globals.messages.errorDeleting": "Errore durante la cancellazione 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.errorFetching": "Errore durante il recupero di {name}: {error}",
     "globals.messages.errorUUID": "Errore durante la generazione dell'UUID: {error}",
     "globals.messages.errorUUID": "Errore durante la generazione dell'UUID: {error}",
     "globals.messages.errorUpdating": "Errore durante l'aggiornamento di {name}: {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.invalidID": "ID non valido",
     "globals.messages.invalidUUID": "UUID non valido",
     "globals.messages.invalidUUID": "UUID non valido",
     "globals.messages.notFound": "{name} introvabile",
     "globals.messages.notFound": "{name} introvabile",
@@ -153,6 +160,8 @@
     "globals.months.7": "Lug",
     "globals.months.7": "Lug",
     "globals.months.8": "Ago",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campagna | Campagne",
     "globals.terms.campaign": "Campagna | Campagne",
     "globals.terms.campaigns": "Campagne",
     "globals.terms.campaigns": "Campagne",
     "globals.terms.dashboard": "Tabella di marcia",
     "globals.terms.dashboard": "Tabella di marcia",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "La cancellazione è avvenuta con successo.",
     "public.unsubbedInfo": "La cancellazione è avvenuta con successo.",
     "public.unsubbedTitle": "Iscrizione annullata",
     "public.unsubbedTitle": "Iscrizione annullata",
     "public.unsubscribeTitle": "Cancella l'iscrizione dalla lista di diffusione",
     "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.confirmRestart": "Asicurati che le campagne sono in pausa. Riavviare?",
     "settings.duplicateMessengerName": "Nome in messaggeria doppio: {name}",
     "settings.duplicateMessengerName": "Nome in messaggeria doppio: {name}",
     "settings.errorEncoding": "Errore durante la codifica dei parametri: {error}",
     "settings.errorEncoding": "Errore durante la codifica dei parametri: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Radice dell'URL",
     "settings.general.rootURL": "Radice dell'URL",
     "settings.general.rootURLHelp": "URL pubblico dell'installazione (senza barra obliqua finale).",
     "settings.general.rootURLHelp": "URL pubblico dell'installazione (senza barra obliqua finale).",
     "settings.invalidMessengerName": "Nome di messaggeria non valido.",
     "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.provider": "Fornitore",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Percorso del 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.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.privacy.name": "Vita privata",
     "settings.restart": "Riavviare",
     "settings.restart": "Riavviare",
-    "settings.smtp.authProtocol": "Protocollo di autenticazione",
     "settings.smtp.customHeaders": "Intestazioni personalizzate",
     "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.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.enabled": "Attivata",
     "settings.smtp.heloHost": "Nome host HELO",
     "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.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.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.retries": "Tentativi",
     "settings.smtp.retriesHelp": "Numero di tentativi in caso di errore invio messaggio.",
     "settings.smtp.retriesHelp": "Numero di tentativi in caso di errore invio messaggio.",
     "settings.smtp.setCustomHeaders": "Definisci intestazioni personalizzate",
     "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.title": "Parametri",
     "settings.updateAvailable": "È a disponsizione una nuova attualizazione {version}.",
     "settings.updateAvailable": "È a disponsizione una nuova attualizazione {version}.",
     "subscribers.advancedQuery": "Avanzate",
     "subscribers.advancedQuery": "Avanzate",

+ 47 - 18
i18n/ml.json

@@ -2,6 +2,9 @@
     "_.code": "ml",
     "_.code": "ml",
     "_.name": "മലയാളം (ml)",
     "_.name": "മലയാളം (ml)",
     "admin.errorMarshallingConfig": "അഭ്യർത്ഥന ക്രമീകരിയ്ക്കുന്നതിൽ പരാജയപ്പെട്ടു: {error}",
     "admin.errorMarshallingConfig": "അഭ്യർത്ഥന ക്രമീകരിയ്ക്കുന്നതിൽ പരാജയപ്പെട്ടു: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Add alternate plain text message",
     "campaigns.addAltText": "Add alternate plain text message",
     "campaigns.cantUpdate": "ഇപ്പോൾ നടന്നുകൊണ്ടിരിയ്ക്കുന്നതോ, അവസാനിച്ചതോ ആയ ക്യാമ്പേയ്ൻ പുതുക്കാനാകില്ല.",
     "campaigns.cantUpdate": "ഇപ്പോൾ നടന്നുകൊണ്ടിരിയ്ക്കുന്നതോ, അവസാനിച്ചതോ ആയ ക്യാമ്പേയ്ൻ പുതുക്കാനാകില്ല.",
     "campaigns.clicks": "ക്ലീക്കുകൾ",
     "campaigns.clicks": "ക്ലീക്കുകൾ",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "അടയ്ക്കുക",
     "globals.buttons.close": "അടയ്ക്കുക",
     "globals.buttons.continue": "തുടരുക",
     "globals.buttons.continue": "തുടരുക",
     "globals.buttons.delete": "നീക്കം ചെയ്യുക",
     "globals.buttons.delete": "നീക്കം ചെയ്യുക",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "തിരുത്തുക",
     "globals.buttons.edit": "തിരുത്തുക",
     "globals.buttons.enabled": "പ്രവർത്തനക്ഷമാക്കി",
     "globals.buttons.enabled": "പ്രവർത്തനക്ഷമാക്കി",
     "globals.buttons.learnMore": "കൂടുതൽ അറിയുക",
     "globals.buttons.learnMore": "കൂടുതൽ അറിയുക",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "താങ്കൾക്ക് തീർച്ചയാണോ?",
     "globals.messages.confirm": "താങ്കൾക്ക് തീർച്ചയാണോ?",
     "globals.messages.created": "\"{name}\" നിർമ്മിച്ചു",
     "globals.messages.created": "\"{name}\" നിർമ്മിച്ചു",
     "globals.messages.deleted": "\"{name}\" നീക്കം ചെയ്തു",
     "globals.messages.deleted": "\"{name}\" നീക്കം ചെയ്തു",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "ഇവിടൊന്നുമില്ല",
     "globals.messages.emptyState": "ഇവിടൊന്നുമില്ല",
     "globals.messages.errorCreating": "{name} നിർമ്മിക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorCreating": "{name} നിർമ്മിക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorDeleting": "{name} നീക്കം ചെയ്യുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorDeleting": "{name} നീക്കം ചെയ്യുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorFetching": "{name} കൊണ്ടുവരുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorFetching": "{name} കൊണ്ടുവരുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUUID": "യുയുഐഡി ഉണ്ടാക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUUID": "യുയുഐഡി ഉണ്ടാക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUpdating": "{name} പുതുക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
     "globals.messages.errorUpdating": "{name} പുതുക്കുന്നതിൽ പിശകുണ്ടായി: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "ഐഡി അസാധുവാണ്",
     "globals.messages.invalidID": "ഐഡി അസാധുവാണ്",
     "globals.messages.invalidUUID": "യുയുഐഡി അസാധുവാണ്",
     "globals.messages.invalidUUID": "യുയുഐഡി അസാധുവാണ്",
     "globals.messages.notFound": "{name} കണ്ടെത്തിയില്ല",
     "globals.messages.notFound": "{name} കണ്ടെത്തിയില്ല",
@@ -153,6 +160,8 @@
     "globals.months.7": "ജൂലൈ",
     "globals.months.7": "ജൂലൈ",
     "globals.months.8": "ഓഗസ്റ്റ്",
     "globals.months.8": "ഓഗസ്റ്റ്",
     "globals.months.9": "സെപ്റ്റംബർ",
     "globals.months.9": "സെപ്റ്റംബർ",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "ക്യാമ്പേയ്ൻ | ക്യാമ്പേയ്നുകൾ",
     "globals.terms.campaign": "ക്യാമ്പേയ്ൻ | ക്യാമ്പേയ്നുകൾ",
     "globals.terms.campaigns": "ക്യാമ്പേയ്നുകൾ",
     "globals.terms.campaigns": "ക്യാമ്പേയ്നുകൾ",
     "globals.terms.dashboard": "ഡാഷ്ബോഡ്",
     "globals.terms.dashboard": "ഡാഷ്ബോഡ്",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "നിങ്ങൾ വരിക്കാരനല്ലാതായി",
     "public.unsubbedInfo": "നിങ്ങൾ വരിക്കാരനല്ലാതായി",
     "public.unsubbedTitle": "വരിക്കാരനല്ലാതാകുക",
     "public.unsubbedTitle": "വരിക്കാരനല്ലാതാകുക",
     "public.unsubscribeTitle": "മെയിലിങ് ലിസ്റ്റിന്റെ വരിക്കാരനല്ലാതാകുക",
     "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.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "ഒരേ പേരിൽ ഒന്നിലധികം സന്ദശവാഹകർ: {name}",
     "settings.duplicateMessengerName": "ഒരേ പേരിൽ ഒന്നിലധികം സന്ദശവാഹകർ: {name}",
     "settings.errorEncoding": "ക്രമീകരണം എൻകോഡ് ചെയ്യുന്നതിൽ തടസം നേരിട്ടു: {error}",
     "settings.errorEncoding": "ക്രമീകരണം എൻകോഡ് ചെയ്യുന്നതിൽ തടസം നേരിട്ടു: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "റൂട്ട് യൂ. ആർ. എൽ",
     "settings.general.rootURL": "റൂട്ട് യൂ. ആർ. എൽ",
     "settings.general.rootURLHelp": "ഇൻസ്റ്റാളേഷന്റെ പൊതു യൂ. ആർ. എൽ (അവസാനത്തെ സ്ലാഷ് ആവശ്യമില്ല).",
     "settings.general.rootURLHelp": "ഇൻസ്റ്റാളേഷന്റെ പൊതു യൂ. ആർ. എൽ (അവസാനത്തെ സ്ലാഷ് ആവശ്യമില്ല).",
     "settings.invalidMessengerName": "സന്ദേശവാഹകന്റെ പേര് അസാധുവാണ്",
     "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.provider": "ദാതാവ്",
     "settings.media.s3.bucket": "ബക്കറ്റ്",
     "settings.media.s3.bucket": "ബക്കറ്റ്",
     "settings.media.s3.bucketPath": "ബക്കറ്റിലേക്കുള്ള പാത്ത്",
     "settings.media.s3.bucketPath": "ബക്കറ്റിലേക്കുള്ള പാത്ത്",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "ഒറ്റ ക്ലിക്കിലൂടെ വരിക്കാനല്ലാതാക്കാൻ ഇ-മെയിൽ ക്ലൈന്റിൽ വരിക്കാരനല്ലാതാക്കാനുള്ള തലക്കെട്ട് കൂട്ടിച്ചേർക്കുക.",
     "settings.privacy.listUnsubHeaderHelp": "ഒറ്റ ക്ലിക്കിലൂടെ വരിക്കാനല്ലാതാക്കാൻ ഇ-മെയിൽ ക്ലൈന്റിൽ വരിക്കാരനല്ലാതാക്കാനുള്ള തലക്കെട്ട് കൂട്ടിച്ചേർക്കുക.",
     "settings.privacy.name": "സ്വകാര്യത",
     "settings.privacy.name": "സ്വകാര്യത",
     "settings.restart": "Restart",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "പ്രാമാണീകരണ പ്രോട്ടോക്കോൾ",
     "settings.smtp.customHeaders": "ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ",
     "settings.smtp.customHeaders": "ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ",
     "settings.smtp.customHeadersHelp": "ഈ സേർവറിൽ നിന്നും അയക്കുന്ന എല്ലാ ഈ-മെയിലിലും ഉണ്ടാകേണ്ട ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ. ഉദാഹരണം: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.customHeadersHelp": "ഈ സേർവറിൽ നിന്നും അയക്കുന്ന എല്ലാ ഈ-മെയിലിലും ഉണ്ടാകേണ്ട ഇഷ്ടാനുസൃത തലക്കെട്ടുകൾ. ഉദാഹരണം: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]",
     "settings.smtp.enabled": "പ്രവർത്തനക്ഷമമാക്കി",
     "settings.smtp.enabled": "പ്രവർത്തനക്ഷമമാക്കി",
     "settings.smtp.heloHost": "HELO ഹോസ്റ്റ് നേയിം",
     "settings.smtp.heloHost": "HELO ഹോസ്റ്റ് നേയിം",
     "settings.smtp.heloHostHelp": "ഐച്ഛികമാണ്. ചില എസ്. എം. ടീ. പി സേർവ്വറുകൾക്ക് ഹോസ്റ്റ് നേയിമിൽ FQDN വേണ്ടിവരാം. HELLO യ്ക്ക് `localhost` ഉപയോഗിക്കും. ഹോസ്റ്റ് നേയിം ഇഷ്ടാനുസൃതമാക്കാൻ ഇത് സജ്ജമാക്കുക",
     "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.name": "എസ്. എം. ടീ. പി",
-    "settings.smtp.password": "രഹസ്യ വാക്ക്",
-    "settings.smtp.passwordHelp": "മാറ്റം വരുത്താൻ എന്റർ കീ അമർത്തുക",
-    "settings.smtp.port": "പോർട്ട്",
-    "settings.smtp.portHelp": "എസ്. എം. ടീ. പി സേർവറിന്റെ പോർട്ട്.",
     "settings.smtp.retries": "പുനഃശ്രമങ്ങൾ",
     "settings.smtp.retries": "പുനഃശ്രമങ്ങൾ",
     "settings.smtp.retriesHelp": "സന്ദേശമയ്ക്കുന്നത് പരാജയപ്പെട്ടാൽ എത്ര തവണ വീണ്ടും ശ്രമിക്കണം.",
     "settings.smtp.retriesHelp": "സന്ദേശമയ്ക്കുന്നത് പരാജയപ്പെട്ടാൽ എത്ര തവണ വീണ്ടും ശ്രമിക്കണം.",
     "settings.smtp.setCustomHeaders": "ഇഷ്‌ടാനുസൃത തലക്കെട്ടുകൾ നൽകുക",
     "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.title": "ക്രമീകരണങ്ങൾ",
     "settings.updateAvailable": "A new update {version} is available.",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "വിപുലമായത്",
     "subscribers.advancedQuery": "വിപുലമായത്",

+ 47 - 18
i18n/pl.json

@@ -2,6 +2,9 @@
     "_.code": "pl",
     "_.code": "pl",
     "_.name": "Polski (pl)",
     "_.name": "Polski (pl)",
     "admin.errorMarshallingConfig": "Błąd przerabiania konfiguracji: {error}",
     "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.addAltText": "Dodaj alternatywną wiadomość jako plain text",
     "campaigns.cantUpdate": "Nie można aktualizować aktywnej ani zakończonej kampanii",
     "campaigns.cantUpdate": "Nie można aktualizować aktywnej ani zakończonej kampanii",
     "campaigns.clicks": "Kliknięć",
     "campaigns.clicks": "Kliknięć",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Zamknij",
     "globals.buttons.close": "Zamknij",
     "globals.buttons.continue": "Kontynuuj",
     "globals.buttons.continue": "Kontynuuj",
     "globals.buttons.delete": "Usuń",
     "globals.buttons.delete": "Usuń",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Edytuj",
     "globals.buttons.edit": "Edytuj",
     "globals.buttons.enabled": "Włączone",
     "globals.buttons.enabled": "Włączone",
     "globals.buttons.learnMore": "Dowiedz się więcej",
     "globals.buttons.learnMore": "Dowiedz się więcej",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Na pewno?",
     "globals.messages.confirm": "Na pewno?",
     "globals.messages.created": "\"{name}\" utworzono",
     "globals.messages.created": "\"{name}\" utworzono",
     "globals.messages.deleted": "\"{name}\" usunięto",
     "globals.messages.deleted": "\"{name}\" usunięto",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nic tutaj nie ma",
     "globals.messages.emptyState": "Nic tutaj nie ma",
     "globals.messages.errorCreating": "Błąd podczas tworzenia {name}: {error}",
     "globals.messages.errorCreating": "Błąd podczas tworzenia {name}: {error}",
     "globals.messages.errorDeleting": "Błąd podczas usuwania {name}: {error}",
     "globals.messages.errorDeleting": "Błąd podczas usuwania {name}: {error}",
     "globals.messages.errorFetching": "Błąd podczas pobierania {name}: {error}",
     "globals.messages.errorFetching": "Błąd podczas pobierania {name}: {error}",
     "globals.messages.errorUUID": "Błąd podczas generowania UUID: {error}",
     "globals.messages.errorUUID": "Błąd podczas generowania UUID: {error}",
     "globals.messages.errorUpdating": "Błąd podczas aktualizacji {name}: {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.invalidID": "Nieprawidłowy iD",
     "globals.messages.invalidUUID": "Nieprawidłowy UUID",
     "globals.messages.invalidUUID": "Nieprawidłowy UUID",
     "globals.messages.notFound": "{name} nie znaleziono",
     "globals.messages.notFound": "{name} nie znaleziono",
@@ -153,6 +160,8 @@
     "globals.months.7": "Lip",
     "globals.months.7": "Lip",
     "globals.months.8": "Sie",
     "globals.months.8": "Sie",
     "globals.months.9": "Wrz",
     "globals.months.9": "Wrz",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampania | Kampanie",
     "globals.terms.campaign": "Kampania | Kampanie",
     "globals.terms.campaigns": "Kampanie",
     "globals.terms.campaigns": "Kampanie",
     "globals.terms.dashboard": "Przegląd",
     "globals.terms.dashboard": "Przegląd",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Pomyślnie odsubskrybowano",
     "public.unsubbedInfo": "Pomyślnie odsubskrybowano",
     "public.unsubbedTitle": "Odsubskrybowano",
     "public.unsubbedTitle": "Odsubskrybowano",
     "public.unsubscribeTitle": "Wypisz się z listy mailingowej",
     "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.confirmRestart": "Upewnij się, że uruchomione kampanie są zapauzowane. Zrestartować?",
     "settings.duplicateMessengerName": "Powtórzona nazwa komunikatora: {name}",
     "settings.duplicateMessengerName": "Powtórzona nazwa komunikatora: {name}",
     "settings.errorEncoding": "Błąd szyfrowania ustawień: {error}",
     "settings.errorEncoding": "Błąd szyfrowania ustawień: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Bazowy URL",
     "settings.general.rootURL": "Bazowy URL",
     "settings.general.rootURLHelp": "Publiczny URL instalacji (bez slasha na końcu)",
     "settings.general.rootURLHelp": "Publiczny URL instalacji (bez slasha na końcu)",
     "settings.invalidMessengerName": "Nieprawidłowa nazwa komunikatora.",
     "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.provider": "Dostawca",
     "settings.media.s3.bucket": "Komora (Bucket)",
     "settings.media.s3.bucket": "Komora (Bucket)",
     "settings.media.s3.bucketPath": "Ścieżka komory (Bucket path)",
     "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.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.privacy.name": "Prywatność",
     "settings.restart": "Restart",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Protokół autoryzacji",
     "settings.smtp.customHeaders": "Niestandardowe nagłówki",
     "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.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.enabled": "Włączone",
     "settings.smtp.heloHost": "Nazwa hosta HELO",
     "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.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.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.retries": "Ponowne próby",
     "settings.smtp.retriesHelp": "Liczba ponownych prób przy niepowodzeniu",
     "settings.smtp.retriesHelp": "Liczba ponownych prób przy niepowodzeniu",
     "settings.smtp.setCustomHeaders": "Ustaw niestandardowe nagłówki",
     "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.title": "Ustawienia",
     "settings.updateAvailable": "Nowa wersja {version} jest dostępna.",
     "settings.updateAvailable": "Nowa wersja {version} jest dostępna.",
     "subscribers.advancedQuery": "Zaawansowane",
     "subscribers.advancedQuery": "Zaawansowane",

+ 47 - 18
i18n/pt-BR.json

@@ -2,6 +2,9 @@
     "_.code": "pt-BR",
     "_.code": "pt-BR",
     "_.name": "Português Brasileiro (pt-BR)",
     "_.name": "Português Brasileiro (pt-BR)",
     "admin.errorMarshallingConfig": "Erro ao ler as configurações: {error}",
     "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.addAltText": "Adicionar mensagem alternativa em texto simples",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em execução ou finalizada.",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em execução ou finalizada.",
     "campaigns.clicks": "Cliques",
     "campaigns.clicks": "Cliques",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fechar",
     "globals.buttons.close": "Fechar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Excluir",
     "globals.buttons.delete": "Excluir",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Habilitado",
     "globals.buttons.enabled": "Habilitado",
     "globals.buttons.learnMore": "Saiba mais",
     "globals.buttons.learnMore": "Saiba mais",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Tem certeza?",
     "globals.messages.confirm": "Tem certeza?",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.deleted": "\"{name}\" excluído",
     "globals.messages.deleted": "\"{name}\" excluído",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Nada por aqui",
     "globals.messages.emptyState": "Nada por aqui",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao excluir {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao excluir {name}: {error}",
     "globals.messages.errorFetching": "Erro ao obter {name}: {error}",
     "globals.messages.errorFetching": "Erro ao obter {name}: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUpdating": "Erro ao atualizar {name}: {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.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} não encontrado",
     "globals.messages.notFound": "{name} não encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.7": "Jul",
     "globals.months.8": "Ago",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaigns": "Campanhas",
     "globals.terms.campaigns": "Campanhas",
     "globals.terms.dashboard": "Painel",
     "globals.terms.dashboard": "Painel",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Você cancelou a inscrição com sucesso.",
     "public.unsubbedInfo": "Você cancelou a inscrição com sucesso.",
     "public.unsubbedTitle": "Inscrição cancelada",
     "public.unsubbedTitle": "Inscrição cancelada",
     "public.unsubscribeTitle": "Cancelar inscrição na lista de e-mails",
     "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.confirmRestart": "Certifique-se de que as campanhas em execução estão pausadas. Reiniciar?",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.errorEncoding": "Erro ao codificar as configurações: {error}",
     "settings.errorEncoding": "Erro ao codificar as configurações: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL base",
     "settings.general.rootURL": "URL base",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.invalidMessengerName": "Nome de mensageiro inválido.",
     "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.provider": "Provedor",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Caminho do 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.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.privacy.name": "Privacidade",
     "settings.restart": "Reiniciar",
     "settings.restart": "Reiniciar",
-    "settings.smtp.authProtocol": "Protocolo Autenticação",
     "settings.smtp.customHeaders": "Cabeçalhos personalizados",
     "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.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.enabled": "Habilitado",
     "settings.smtp.heloHost": "Nome do host HELO",
     "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.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.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.retries": "Tentativas",
     "settings.smtp.retriesHelp": "Número de tentativas quando uma mensagem falhar.",
     "settings.smtp.retriesHelp": "Número de tentativas quando uma mensagem falhar.",
     "settings.smtp.setCustomHeaders": "Definir cabeçalhos personalizados",
     "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.title": "Configurações",
     "settings.updateAvailable": "Atualização: a nova versão {version} já está disponível.",
     "settings.updateAvailable": "Atualização: a nova versão {version} já está disponível.",
     "subscribers.advancedQuery": "Avançado",
     "subscribers.advancedQuery": "Avançado",

+ 47 - 18
i18n/pt.json

@@ -2,6 +2,9 @@
     "_.code": "pt",
     "_.code": "pt",
     "_.name": "Portuguese (pt)",
     "_.name": "Portuguese (pt)",
     "admin.errorMarshallingConfig": "Erro ao ler o config: {error}",
     "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.addAltText": "Adicionar mensagem alternativa em texto simples",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em curso ou terminada.",
     "campaigns.cantUpdate": "Não é possível atualizar uma campanha em curso ou terminada.",
     "campaigns.clicks": "Cliques",
     "campaigns.clicks": "Cliques",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Fechar",
     "globals.buttons.close": "Fechar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.continue": "Continuar",
     "globals.buttons.delete": "Eliminar",
     "globals.buttons.delete": "Eliminar",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Editar",
     "globals.buttons.edit": "Editar",
     "globals.buttons.enabled": "Ativo",
     "globals.buttons.enabled": "Ativo",
     "globals.buttons.learnMore": "Saber mais",
     "globals.buttons.learnMore": "Saber mais",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Tens a certeza?",
     "globals.messages.confirm": "Tens a certeza?",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.created": "\"{name}\" criado",
     "globals.messages.deleted": "\"{name}\" eliminado",
     "globals.messages.deleted": "\"{name}\" eliminado",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Não há nada aqui",
     "globals.messages.emptyState": "Não há nada aqui",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorCreating": "Erro ao criar {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao eliminar {name}: {error}",
     "globals.messages.errorDeleting": "Erro ao eliminar {name}: {error}",
     "globals.messages.errorFetching": "Erro ao carregar {name}: {error}",
     "globals.messages.errorFetching": "Erro ao carregar {name}: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUUID": "Erro ao gerar UUID: {error}",
     "globals.messages.errorUpdating": "Erro ao atualizar {name}: {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.invalidID": "ID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.invalidUUID": "UUID inválido",
     "globals.messages.notFound": "{name} não encontrado",
     "globals.messages.notFound": "{name} não encontrado",
@@ -153,6 +160,8 @@
     "globals.months.7": "Jul",
     "globals.months.7": "Jul",
     "globals.months.8": "Ago",
     "globals.months.8": "Ago",
     "globals.months.9": "Set",
     "globals.months.9": "Set",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaign": "Campanha | Campanhas",
     "globals.terms.campaigns": "Campanha",
     "globals.terms.campaigns": "Campanha",
     "globals.terms.dashboard": "Dashboard",
     "globals.terms.dashboard": "Dashboard",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "A sua subscrição foi cancelada com sucesso.",
     "public.unsubbedInfo": "A sua subscrição foi cancelada com sucesso.",
     "public.unsubbedTitle": "Subscrição cancelada",
     "public.unsubbedTitle": "Subscrição cancelada",
     "public.unsubscribeTitle": "Cancelar subscrição da lista de emails",
     "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.confirmRestart": "Ensure running campaigns are paused. Restart?",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}",
     "settings.errorEncoding": "Erro de definições de codificação: {error}",
     "settings.errorEncoding": "Erro de definições de codificação: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "URL base",
     "settings.general.rootURL": "URL base",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.general.rootURLHelp": "URL público da instalação (sem barra final).",
     "settings.invalidMessengerName": "Nome de mensageiro inválido.",
     "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.provider": "Fornecedor",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Caminho do 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.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.privacy.name": "Privacidade",
     "settings.restart": "Restart",
     "settings.restart": "Restart",
-    "settings.smtp.authProtocol": "Protocolo Autenticação",
     "settings.smtp.customHeaders": "Headers customizados",
     "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.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.enabled": "Ativo",
     "settings.smtp.heloHost": "Hostname HELO",
     "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.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.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.retries": "Tentativas",
     "settings.smtp.retriesHelp": "Número de vezes para tentar novamente quando uma mensagem falha.",
     "settings.smtp.retriesHelp": "Número de vezes para tentar novamente quando uma mensagem falha.",
     "settings.smtp.setCustomHeaders": "Colocar headers customizados",
     "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.title": "Definições",
     "settings.updateAvailable": "A new update {version} is available.",
     "settings.updateAvailable": "A new update {version} is available.",
     "subscribers.advancedQuery": "Avançado",
     "subscribers.advancedQuery": "Avançado",

+ 47 - 18
i18n/ru.json

@@ -2,6 +2,9 @@
     "_.code": "ru",
     "_.code": "ru",
     "_.name": "Русский (ru)",
     "_.name": "Русский (ru)",
     "admin.errorMarshallingConfig": "Ошибка преобразования конфига: {error}",
     "admin.errorMarshallingConfig": "Ошибка преобразования конфига: {error}",
+    "bounces.source": "Source",
+    "bounces.unknownService": "Unknown service.",
+    "bounces.view": "View bounces",
     "campaigns.addAltText": "Добавить альтернативное простое текстовое сообщение",
     "campaigns.addAltText": "Добавить альтернативное простое текстовое сообщение",
     "campaigns.cantUpdate": "Не возможно обновить запущенную или завершённую компанию.",
     "campaigns.cantUpdate": "Не возможно обновить запущенную или завершённую компанию.",
     "campaigns.clicks": "Клики",
     "campaigns.clicks": "Клики",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Закрыть",
     "globals.buttons.close": "Закрыть",
     "globals.buttons.continue": "Продолжить",
     "globals.buttons.continue": "Продолжить",
     "globals.buttons.delete": "Удалить",
     "globals.buttons.delete": "Удалить",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Изменить",
     "globals.buttons.edit": "Изменить",
     "globals.buttons.enabled": "Включено",
     "globals.buttons.enabled": "Включено",
     "globals.buttons.learnMore": "Подпробней",
     "globals.buttons.learnMore": "Подпробней",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Уверены?",
     "globals.messages.confirm": "Уверены?",
     "globals.messages.created": "\"{name}\" создано",
     "globals.messages.created": "\"{name}\" создано",
     "globals.messages.deleted": "\"{name}\" удалено",
     "globals.messages.deleted": "\"{name}\" удалено",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Ничего нет",
     "globals.messages.emptyState": "Ничего нет",
     "globals.messages.errorCreating": "Ошибка создания {name}: {error}",
     "globals.messages.errorCreating": "Ошибка создания {name}: {error}",
     "globals.messages.errorDeleting": "Ошибка удаления {name}: {error}",
     "globals.messages.errorDeleting": "Ошибка удаления {name}: {error}",
     "globals.messages.errorFetching": "Ошибка получения {name}: {error}",
     "globals.messages.errorFetching": "Ошибка получения {name}: {error}",
     "globals.messages.errorUUID": "Ошибка генерации UUID: {error}",
     "globals.messages.errorUUID": "Ошибка генерации UUID: {error}",
     "globals.messages.errorUpdating": "Ошибка обновления {name}: {error}",
     "globals.messages.errorUpdating": "Ошибка обновления {name}: {error}",
+    "globals.messages.internalError": "Internal server error",
+    "globals.messages.invalidData": "Invalid data",
     "globals.messages.invalidID": "Неверный ID",
     "globals.messages.invalidID": "Неверный ID",
     "globals.messages.invalidUUID": "Неверный UUID",
     "globals.messages.invalidUUID": "Неверный UUID",
     "globals.messages.notFound": "{name} не найдено",
     "globals.messages.notFound": "{name} не найдено",
@@ -153,6 +160,8 @@
     "globals.months.7": "Июл",
     "globals.months.7": "Июл",
     "globals.months.8": "Авг",
     "globals.months.8": "Авг",
     "globals.months.9": "Сен",
     "globals.months.9": "Сен",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Компания | Компании",
     "globals.terms.campaign": "Компания | Компании",
     "globals.terms.campaigns": "Компании",
     "globals.terms.campaigns": "Компании",
     "globals.terms.dashboard": "Панель",
     "globals.terms.dashboard": "Панель",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Вы были отписаны.",
     "public.unsubbedInfo": "Вы были отписаны.",
     "public.unsubbedTitle": "Отписано",
     "public.unsubbedTitle": "Отписано",
     "public.unsubscribeTitle": "Отписаться от списков рассылки",
     "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.confirmRestart": "Убедитесь, что запущенные кампании приостановлены. Запустить снова?",
     "settings.duplicateMessengerName": "Повторяющееся имя мессенджера: {name}",
     "settings.duplicateMessengerName": "Повторяющееся имя мессенджера: {name}",
     "settings.errorEncoding": "Error encoding settings: {error}",
     "settings.errorEncoding": "Error encoding settings: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Базовый URL",
     "settings.general.rootURL": "Базовый URL",
     "settings.general.rootURLHelp": "Публичный URL текущего портала (без конечного слэша).",
     "settings.general.rootURLHelp": "Публичный URL текущего портала (без конечного слэша).",
     "settings.invalidMessengerName": "Неверное имя мессенджера.",
     "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.provider": "Провайдер",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Путь bucket",
     "settings.media.s3.bucketPath": "Путь bucket",
@@ -355,33 +402,15 @@
     "settings.privacy.listUnsubHeaderHelp": "Включать заголовок отписки",
     "settings.privacy.listUnsubHeaderHelp": "Включать заголовок отписки",
     "settings.privacy.name": "Конфиденциальност",
     "settings.privacy.name": "Конфиденциальност",
     "settings.restart": "Перезапустить",
     "settings.restart": "Перезапустить",
-    "settings.smtp.authProtocol": "Протокол авторизации",
     "settings.smtp.customHeaders": "Настраиваемые заголовки",
     "settings.smtp.customHeaders": "Настраиваемые заголовки",
     "settings.smtp.customHeadersHelp": "Необязательный массив заголовков e-mail, которые будут включены во все письма, отправляемые с этого сервера. Например: [{\"X-Custom\": \"значение\"}, {\"X-Custom2\": \"значение\"}]",
     "settings.smtp.customHeadersHelp": "Необязательный массив заголовков e-mail, которые будут включены во все письма, отправляемые с этого сервера. Например: [{\"X-Custom\": \"значение\"}, {\"X-Custom2\": \"значение\"}]",
     "settings.smtp.enabled": "Включено",
     "settings.smtp.enabled": "Включено",
     "settings.smtp.heloHost": "Имя хоста HELO",
     "settings.smtp.heloHost": "Имя хоста HELO",
     "settings.smtp.heloHostHelp": "Необязательно. Некоторые серверы SMTP требуют FQDN в имени хоста. По умолчанию команды HELO идут с `localhost`. Укажите, если должно использоваться собственное имя хоста.",
     "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.name": "SMTP",
-    "settings.smtp.password": "Пароль",
-    "settings.smtp.passwordHelp": "Для изменения введите",
-    "settings.smtp.port": "Порт",
-    "settings.smtp.portHelp": "Порт сервера SMTP.",
     "settings.smtp.retries": "Повторные попытки",
     "settings.smtp.retries": "Повторные попытки",
     "settings.smtp.retriesHelp": "Количество повторных попыток после ошибки отправки сообщения.",
     "settings.smtp.retriesHelp": "Количество повторных попыток после ошибки отправки сообщения.",
     "settings.smtp.setCustomHeaders": "Установка настраиваемых заголовков",
     "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.title": "Параметры",
     "settings.updateAvailable": "Доступна новая версия: {version}.",
     "settings.updateAvailable": "Доступна новая версия: {version}.",
     "subscribers.advancedQuery": "Дополнительно",
     "subscribers.advancedQuery": "Дополнительно",

+ 47 - 18
i18n/tr.json

@@ -2,6 +2,9 @@
     "_.code": "tr",
     "_.code": "tr",
     "_.name": "Turkish (tr)",
     "_.name": "Turkish (tr)",
     "admin.errorMarshallingConfig": "Ayarlar ile ilgili hata: {error}",
     "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.addAltText": "Alternatif düz metin ekleyin",
     "campaigns.cantUpdate": "Gönderilmekte olan veya gönderilmiş kampaynalar güncellenemez.",
     "campaigns.cantUpdate": "Gönderilmekte olan veya gönderilmiş kampaynalar güncellenemez.",
     "campaigns.clicks": "Tıklama",
     "campaigns.clicks": "Tıklama",
@@ -105,6 +108,7 @@
     "globals.buttons.close": "Kapat",
     "globals.buttons.close": "Kapat",
     "globals.buttons.continue": "Devam et",
     "globals.buttons.continue": "Devam et",
     "globals.buttons.delete": "Sil",
     "globals.buttons.delete": "Sil",
+    "globals.buttons.deleteAll": "Delete all",
     "globals.buttons.edit": "Değiştir",
     "globals.buttons.edit": "Değiştir",
     "globals.buttons.enabled": "Etkinleştirildi",
     "globals.buttons.enabled": "Etkinleştirildi",
     "globals.buttons.learnMore": "Daha fazla öğren",
     "globals.buttons.learnMore": "Daha fazla öğren",
@@ -130,12 +134,15 @@
     "globals.messages.confirm": "Eminmisiniz?",
     "globals.messages.confirm": "Eminmisiniz?",
     "globals.messages.created": "\"{name}\" oluşturma",
     "globals.messages.created": "\"{name}\" oluşturma",
     "globals.messages.deleted": "\"{name}\" silme",
     "globals.messages.deleted": "\"{name}\" silme",
+    "globals.messages.deletedCount": "{name} ({num}) deleted",
     "globals.messages.emptyState": "Burası Boş",
     "globals.messages.emptyState": "Burası Boş",
     "globals.messages.errorCreating": "Hata oluşturma {name}: {error}",
     "globals.messages.errorCreating": "Hata oluşturma {name}: {error}",
     "globals.messages.errorDeleting": "Hata silme {name}: {error}",
     "globals.messages.errorDeleting": "Hata silme {name}: {error}",
     "globals.messages.errorFetching": "Hata çağırırken {name}: {error}",
     "globals.messages.errorFetching": "Hata çağırırken {name}: {error}",
     "globals.messages.errorUUID": "Hata oluştururken UUID: {error}",
     "globals.messages.errorUUID": "Hata oluştururken UUID: {error}",
     "globals.messages.errorUpdating": "Hata güncellerken {name}: {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.invalidID": "Yanlış ID",
     "globals.messages.invalidUUID": "Yanlış UUID",
     "globals.messages.invalidUUID": "Yanlış UUID",
     "globals.messages.notFound": "{name} bulunamadı",
     "globals.messages.notFound": "{name} bulunamadı",
@@ -153,6 +160,8 @@
     "globals.months.7": "Tem",
     "globals.months.7": "Tem",
     "globals.months.8": "Aug",
     "globals.months.8": "Aug",
     "globals.months.9": "Eyl",
     "globals.months.9": "Eyl",
+    "globals.terms.bounce": "Bounce | Bounces",
+    "globals.terms.bounces": "Bounces",
     "globals.terms.campaign": "Kampanya | Kampanyalar",
     "globals.terms.campaign": "Kampanya | Kampanyalar",
     "globals.terms.campaigns": "Kampanyalar",
     "globals.terms.campaigns": "Kampanyalar",
     "globals.terms.dashboard": "Yönetim Paneli",
     "globals.terms.dashboard": "Yönetim Paneli",
@@ -274,6 +283,26 @@
     "public.unsubbedInfo": "Başarı ile üyeliğinizi bitirdiniz.",
     "public.unsubbedInfo": "Başarı ile üyeliğinizi bitirdiniz.",
     "public.unsubbedTitle": "Üyelik bitirildi.",
     "public.unsubbedTitle": "Üyelik bitirildi.",
     "public.unsubscribeTitle": "e-posta listesi üyeliğini bitir",
     "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.confirmRestart": "Çalışan kampanyaların duraklatıldığından emin ol. Yeniden başlat?",
     "settings.duplicateMessengerName": "Çoklanmış messenger ismi: {name}",
     "settings.duplicateMessengerName": "Çoklanmış messenger ismi: {name}",
     "settings.errorEncoding": "Hatalı kodlama ayarları: {error}",
     "settings.errorEncoding": "Hatalı kodlama ayarları: {error}",
@@ -295,6 +324,24 @@
     "settings.general.rootURL": "Kök URL",
     "settings.general.rootURL": "Kök URL",
     "settings.general.rootURLHelp": "Kurulumun genel URL'si (bölme çizgisi yok).",
     "settings.general.rootURLHelp": "Kurulumun genel URL'si (bölme çizgisi yok).",
     "settings.invalidMessengerName": "Geçersiz messenger adı.",
     "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.provider": "Sağlayıcı",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucket": "Bucket",
     "settings.media.s3.bucketPath": "Bucket yolu",
     "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.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.privacy.name": "Gizlilik",
     "settings.restart": "Yeniden başlat",
     "settings.restart": "Yeniden başlat",
-    "settings.smtp.authProtocol": "Protokol",
     "settings.smtp.customHeaders": "Özel başlık bilgisi",
     "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.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.enabled": "Etkinleştirildi",
     "settings.smtp.heloHost": "HELO İstemci adı",
     "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.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.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.retries": "Tekrarlama",
     "settings.smtp.retriesHelp": "Mesaj hata verdiğinde tekrar deneme sayısı.",
     "settings.smtp.retriesHelp": "Mesaj hata verdiğinde tekrar deneme sayısı.",
     "settings.smtp.setCustomHeaders": "Özel başlık tanımla",
     "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.title": "Ayarlar",
     "settings.updateAvailable": "Yeni bir güncel sürüm {version} mevcuttur.",
     "settings.updateAvailable": "Yeni bir güncel sürüm {version} mevcuttur.",
     "subscribers.advancedQuery": "İleri düzey",
     "subscribers.advancedQuery": "İleri düzey",