Mask passwords on the UI accurately with the actual passwords length.
This PR masks all the password fields in the UI with a pseudo dot character retaining the rune length of the original password so that the password fields on the UI appear to be containing the entered value as-is. The earlier implementation would revert to a fixed length dummy password confusing certain users and making it look like the password they entered wasn't being saved.
This commit is contained in:
parent
0be5901df7
commit
a62851915c
26 changed files with 162 additions and 39 deletions
|
@ -10,6 +10,7 @@ import (
|
|||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/gofrs/uuid"
|
||||
"github.com/jmoiron/sqlx/types"
|
||||
|
@ -21,6 +22,8 @@ import (
|
|||
"github.com/labstack/echo/v4"
|
||||
)
|
||||
|
||||
const pwdMask = "•"
|
||||
|
||||
type aboutHost struct {
|
||||
OS string `json:"os"`
|
||||
OSRelease string `json:"os_release"`
|
||||
|
@ -57,17 +60,17 @@ func handleGetSettings(c echo.Context) error {
|
|||
|
||||
// Empty out passwords.
|
||||
for i := 0; i < len(s.SMTP); i++ {
|
||||
s.SMTP[i].Password = ""
|
||||
s.SMTP[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SMTP[i].Password))
|
||||
}
|
||||
for i := 0; i < len(s.BounceBoxes); i++ {
|
||||
s.BounceBoxes[i].Password = ""
|
||||
s.BounceBoxes[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.BounceBoxes[i].Password))
|
||||
}
|
||||
for i := 0; i < len(s.Messengers); i++ {
|
||||
s.Messengers[i].Password = ""
|
||||
s.Messengers[i].Password = strings.Repeat(pwdMask, utf8.RuneCountInString(s.Messengers[i].Password))
|
||||
}
|
||||
s.UploadS3AwsSecretAccessKey = ""
|
||||
s.SendgridKey = ""
|
||||
s.SecurityCaptchaSecret = ""
|
||||
s.UploadS3AwsSecretAccessKey = strings.Repeat(pwdMask, utf8.RuneCountInString(s.UploadS3AwsSecretAccessKey))
|
||||
s.SendgridKey = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SendgridKey))
|
||||
s.SecurityCaptchaSecret = strings.Repeat(pwdMask, utf8.RuneCountInString(s.SecurityCaptchaSecret))
|
||||
|
||||
return c.JSON(http.StatusOK, okResp{s})
|
||||
}
|
||||
|
|
|
@ -77,8 +77,6 @@ import BounceSettings from './settings/bounces.vue';
|
|||
import MessengerSettings from './settings/messengers.vue';
|
||||
import AppearanceSettings from './settings/appearance.vue';
|
||||
|
||||
const dummyPassword = ' '.repeat(8);
|
||||
|
||||
export default Vue.extend({
|
||||
components: {
|
||||
GeneralSettings,
|
||||
|
@ -113,10 +111,13 @@ export default Vue.extend({
|
|||
const form = JSON.parse(JSON.stringify(this.form));
|
||||
|
||||
// SMTP boxes.
|
||||
let hasDummy = '';
|
||||
for (let i = 0; i < form.smtp.length; i += 1) {
|
||||
// If it's the dummy UI password placeholder, ignore it.
|
||||
if (form.smtp[i].password === dummyPassword) {
|
||||
if (this.isDummy(form.smtp[i].password)) {
|
||||
form.smtp[i].password = '';
|
||||
} else if (this.hasDummy(form.smtp[i].password)) {
|
||||
hasDummy = `smtp #${i + 1}`;
|
||||
}
|
||||
|
||||
if (form.smtp[i].strEmailHeaders && form.smtp[i].strEmailHeaders !== '[]') {
|
||||
|
@ -129,30 +130,45 @@ export default Vue.extend({
|
|||
// Bounces boxes.
|
||||
for (let i = 0; i < form['bounce.mailboxes'].length; i += 1) {
|
||||
// If it's the dummy UI password placeholder, ignore it.
|
||||
if (form['bounce.mailboxes'][i].password === dummyPassword) {
|
||||
if (this.isDummy(form['bounce.mailboxes'][i].password)) {
|
||||
form['bounce.mailboxes'][i].password = '';
|
||||
} else if (this.hasDummy(form['bounce.mailboxes'][i].password)) {
|
||||
hasDummy = `bounce #${i + 1}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (form['upload.s3.aws_secret_access_key'] === dummyPassword) {
|
||||
if (this.isDummy(form['upload.s3.aws_secret_access_key'])) {
|
||||
form['upload.s3.aws_secret_access_key'] = '';
|
||||
} else if (this.hasDummy(form['upload.s3.aws_secret_access_key'])) {
|
||||
hasDummy = 's3';
|
||||
}
|
||||
|
||||
if (form['bounce.sendgrid_key'] === dummyPassword) {
|
||||
if (this.isDummy(form['bounce.sendgrid_key'])) {
|
||||
form['bounce.sendgrid_key'] = '';
|
||||
} else if (this.hasDummy(form['bounce.sendgrid_key'])) {
|
||||
hasDummy = 'sendgrid';
|
||||
}
|
||||
|
||||
if (form['security.captcha_secret'] === dummyPassword) {
|
||||
if (this.isDummy(form['security.captcha_secret'])) {
|
||||
form['security.captcha_secret'] = '';
|
||||
} else if (this.hasDummy(form['security.captcha_secret'])) {
|
||||
hasDummy = 'captcha';
|
||||
}
|
||||
|
||||
for (let i = 0; i < form.messengers.length; i += 1) {
|
||||
// If it's the dummy UI password placeholder, ignore it.
|
||||
if (form.messengers[i].password === dummyPassword) {
|
||||
if (this.isDummy(form.messengers[i].password)) {
|
||||
form.messengers[i].password = '';
|
||||
} else if (this.hasDummy(form.messengers[i].password)) {
|
||||
hasDummy = `messenger #${i + 1}`;
|
||||
}
|
||||
}
|
||||
|
||||
if (hasDummy) {
|
||||
this.$utils.toast(this.$t('globals.messages.passwordChangeFull', { name: hasDummy }), 'is-danger');
|
||||
return false;
|
||||
}
|
||||
|
||||
// Domain blocklist array from multi-line strings.
|
||||
form['privacy.domain_blocklist'] = form['privacy.domain_blocklist'].split('\n').map((v) => v.trim().toLowerCase()).filter((v) => v !== '');
|
||||
|
||||
|
@ -181,6 +197,8 @@ export default Vue.extend({
|
|||
}, () => {
|
||||
this.isLoading = false;
|
||||
});
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
getSettings() {
|
||||
|
@ -191,30 +209,8 @@ export default Vue.extend({
|
|||
// Serialize the `email_headers` array map to display on the form.
|
||||
for (let i = 0; i < d.smtp.length; i += 1) {
|
||||
d.smtp[i].strEmailHeaders = JSON.stringify(d.smtp[i].email_headers, null, 4);
|
||||
|
||||
// The backend doesn't send passwords, so add a dummy so that
|
||||
// the password looks filled on the UI.
|
||||
d.smtp[i].password = dummyPassword;
|
||||
}
|
||||
|
||||
for (let i = 0; i < d['bounce.mailboxes'].length; i += 1) {
|
||||
// The backend doesn't send passwords, so add a dummy so that
|
||||
// the password looks filled on the UI.
|
||||
d['bounce.mailboxes'][i].password = dummyPassword;
|
||||
}
|
||||
|
||||
for (let i = 0; i < d.messengers.length; i += 1) {
|
||||
// The backend doesn't send passwords, so add a dummy so that it
|
||||
// the password looks filled on the UI.
|
||||
d.messengers[i].password = dummyPassword;
|
||||
}
|
||||
|
||||
if (d['upload.provider'] === 's3') {
|
||||
d['upload.s3.aws_secret_access_key'] = dummyPassword;
|
||||
}
|
||||
d['bounce.sendgrid_key'] = dummyPassword;
|
||||
d['security.captcha_secret'] = dummyPassword;
|
||||
|
||||
// Domain blocklist array to multi-line string.
|
||||
d['privacy.domain_blocklist'] = d['privacy.domain_blocklist'].join('\n');
|
||||
|
||||
|
@ -227,6 +223,14 @@ export default Vue.extend({
|
|||
});
|
||||
});
|
||||
},
|
||||
|
||||
isDummy(pwd) {
|
||||
return !pwd || (pwd.match(/•/g) || []).length === pwd.length;
|
||||
},
|
||||
|
||||
hasDummy(pwd) {
|
||||
return pwd.includes('•');
|
||||
},
|
||||
},
|
||||
|
||||
computed: {
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Servei desconegut",
|
||||
"bounces.view": "Veure rebots",
|
||||
"campaigns.addAltText": "Afegeix un missatge de text pla alternatiu",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Arxiu",
|
||||
"campaigns.archiveEnable": "Publica a l'arxiu públic",
|
||||
"campaigns.archiveHelp": "Publica (en curs, aturada, finalitzada) el missatge de campanya a l'arxiu públic ",
|
||||
"campaigns.archiveMeta": "Metadades de la campanya",
|
||||
"campaigns.archiveMetaHelp": "Dades del subscriptor de prova per ser usat en el missatge públic que inclou nom, correu electrònic i qualsevol atribut opcional emprat en el missatge de campanya o plantilla.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "No es pot actualitzar una campanya en curs o ja finalitzada.",
|
||||
"campaigns.clicks": "Clics",
|
||||
"campaigns.confirmDelete": "Esborra {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Falten camps: {name}",
|
||||
"globals.messages.notFound": "No s'ha trobat {name} ",
|
||||
"globals.messages.passwordChange": "Introduïu un valor per canviar",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" actualitzat",
|
||||
"globals.months.1": "gen.",
|
||||
"globals.months.10": "oct.",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "URL del backend S3",
|
||||
"settings.media.s3.urlHelp": "Canvia només si fas servir un backend personalitzat compatible amb S3 com Minio.",
|
||||
"settings.media.title": "Càrrega de mèdia",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Ruta de càrrega",
|
||||
"settings.media.upload.pathHelp": "Ruta al directori on es carregaran els mèdia.",
|
||||
"settings.media.upload.uri": "Carrega URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Neznámá služba.",
|
||||
"bounces.view": "Zobrazit převzetí",
|
||||
"campaigns.addAltText": "Přidat alternativní zprávu ve formátu prostého textu",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archiv",
|
||||
"campaigns.archiveEnable": "Zveřejnit ve veřejném archivu",
|
||||
"campaigns.archiveHelp": "Zveřejnit (bežící, pozastavenou, dokončenou) zprávu kampaně ve veřejném archivu",
|
||||
"campaigns.archiveMeta": "Metadata kampaně",
|
||||
"campaigns.archiveMetaHelp": "Použít prázdná data přihlášených ve veřejné zpráve včetně jména, emailu a jiných volitelných atributů použitých ve zprávách kampaně nebo šablonách.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Nelze aktualizovat spuštěnou nebo dokončenou kampaň.",
|
||||
"campaigns.clicks": "Klepnutí",
|
||||
"campaigns.confirmDelete": "Odstranit {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Chybějící pole: {name}",
|
||||
"globals.messages.notFound": "{name} nebyl nalezen",
|
||||
"globals.messages.passwordChange": "Zadejte hodnotu ke změně",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" aktualizován",
|
||||
"globals.months.1": "Led",
|
||||
"globals.months.10": "Říj",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "Adresa URL pro S3 backend",
|
||||
"settings.media.s3.urlHelp": "Lze změnit, pouze pokud se použije S3 kompatibilní backend, jako je Minio.",
|
||||
"settings.media.title": "Odeslání médií",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Cesta odeslání",
|
||||
"settings.media.upload.pathHelp": "Cesta k adresáři, kam se odešlou média.",
|
||||
"settings.media.upload.uri": "URI odeslání",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Gwasanaeth anhysbys.",
|
||||
"bounces.view": "Gweld beth sydd wedi sboncio",
|
||||
"campaigns.addAltText": "Ychwanegu neges destun blaen",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archif",
|
||||
"campaigns.archiveEnable": "Cyhoeddi i archif gyhoeddus",
|
||||
"campaigns.archiveHelp": "Cyhoeddi neges yr ymgyrch (wrthi'n rhedeg",
|
||||
"campaigns.archiveMeta": "Ymgyrch metaddata",
|
||||
"campaigns.archiveMetaHelp": "Data tanysgrifiwr ffug i'w defnyddio yn y neges gyhoeddus",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Does dim modd diweddaru ymgyrch fyw neu ymgyrch sydd wedi dod i ben.",
|
||||
"campaigns.clicks": "Cliciau",
|
||||
"campaigns.confirmDelete": "Dileu {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Maes/meysydd coll: {name}",
|
||||
"globals.messages.notFound": "Heb ddod o hyd i {enw]",
|
||||
"globals.messages.passwordChange": "Rhoi gwerth i'w newid",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "Wedi diweddaru “{name}”",
|
||||
"globals.months.1": "Ion",
|
||||
"globals.months.10": "Hyd",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "URL cefn ôl S3",
|
||||
"settings.media.s3.urlHelp": "Dim ond ei newid os ydych yn defnyddio URL cefn ôl personol sy'n gydnaws â S3 fel Minio.",
|
||||
"settings.media.title": "Cyfryngau sydd wedi'u llwytho i fyny",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Llwytho llwybr i fyny",
|
||||
"settings.media.upload.pathHelp": "Llwybr i'r gyfarwyddiaeth lle bydd cyfryngau'n cael eu llwytho i fyny.",
|
||||
"settings.media.upload.uri": "Llwytho URI i fyny",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Unbekannter Dienst.",
|
||||
"bounces.view": "Bounces anzeigen",
|
||||
"campaigns.addAltText": "Füge eine alternative Nachricht in unformatierten Text hinzu (falls HTML nicht angezeigt werden kann).",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archiv",
|
||||
"campaigns.archiveEnable": "Im öffentlichen Archiv veröffentlichen",
|
||||
"campaigns.archiveHelp": "Veröffentliche die Nachricht (laufende, pausierte, beendete) der Kampagne im öffentlichen Archiv.",
|
||||
"campaigns.archiveMeta": "Kampagne Metadaten",
|
||||
"campaigns.archiveMetaHelp": "Dummy-Abonnentendaten, die in der öffentlichen Nachricht verwendet werden sollen, einschließlich Name, E-Mail und alle optionalen Attribute, die in der Kampagnennachricht oder -vorlage verwendet werden.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Eine laufende oder abgeschlossene Kampagne kann nicht geändert werden.",
|
||||
"campaigns.clicks": "Klicks",
|
||||
"campaigns.confirmDelete": "Lösche {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Fehlende Felder: {name}",
|
||||
"globals.messages.notFound": "{name} nicht gefunden",
|
||||
"globals.messages.passwordChange": "Gib dein Passwort für die Änderung ein",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" aktualisiert",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Okt",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 Backend-URL",
|
||||
"settings.media.s3.urlHelp": "Nur bei Verwendungen eines eigenen S3-kompatiblen Backends (wie Minio) ändern.",
|
||||
"settings.media.title": "Medien Uploads",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Upload Pfad",
|
||||
"settings.media.upload.pathHelp": "Pfad zum Upload Verzeichnis.",
|
||||
"settings.media.upload.uri": "Upload URI",
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
"bounces.view": "View bounces",
|
||||
"campaigns.addAltText": "Add alternate plain text message",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publish to public archive",
|
||||
"campaigns.archiveHelp": "Publish (running, paused, finished) the campaign message on the public archive.",
|
||||
"campaigns.archiveMeta": "Campaign metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Cannot update a running or a finished campaign.",
|
||||
"campaigns.clicks": "Clicks",
|
||||
"campaigns.confirmDelete": "Delete {name}",
|
||||
|
@ -183,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Missing field(s): {name}",
|
||||
"globals.messages.notFound": "{name} not found",
|
||||
"globals.messages.passwordChange": "Enter a value to change",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" updated",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Oct",
|
||||
|
@ -436,9 +437,9 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Only change if using a custom S3 compatible backend like Minio.",
|
||||
"settings.media.title": "Media uploads",
|
||||
"settings.media.upload.path": "Upload path",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Upload path",
|
||||
"settings.media.upload.pathHelp": "Path to the directory where media will be uploaded.",
|
||||
"settings.media.upload.uri": "Upload URI",
|
||||
"settings.media.upload.uriHelp": "Upload URI that is visible to the outside world. The media uploaded to upload_path will be publicly accessible under {root_url}, for instance, https://listmonk.yoursite.com/uploads.",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Servicio desconocido.",
|
||||
"bounces.view": "Ver rebotes",
|
||||
"campaigns.addAltText": "Agregar mensaje en texto plano alternativo",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archivo",
|
||||
"campaigns.archiveEnable": "Hacer el archivo público",
|
||||
"campaigns.archiveHelp": "Publicar los mensajes de las campañas (en marcha, pausadas y terminadas) en el archivo público.",
|
||||
"campaigns.archiveMeta": "Metadata de la campaña",
|
||||
"campaigns.archiveMetaHelp": "Información de suscripción de ejemplo (por defecto) para ser usada en el mensaje público incluido nombre, correo electrónico, o cualquier valor accesible mediante atributos `{}` opcionales tanto en el mensaje de la campaña como en la plantilla.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "No es posible actualizar una campaña iniciada o finalizada.",
|
||||
"campaigns.clicks": "Clics",
|
||||
"campaigns.confirmDelete": "Eliminar {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Falta el campo(s): {name}",
|
||||
"globals.messages.notFound": "{name} no encontrado",
|
||||
"globals.messages.passwordChange": "Ingresar una contraseña para cambiar",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" actualizado",
|
||||
"globals.months.1": "Enero",
|
||||
"globals.months.10": "Octubre",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "URL de API de S3",
|
||||
"settings.media.s3.urlHelp": "Cambiar únicamente si se utiliza un servicio S3 personalizado (por ejemplo MinIO).",
|
||||
"settings.media.title": "Cargas multimedia",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Ruta de carga",
|
||||
"settings.media.upload.pathHelp": "Ruta o prefijo donde los archivos seránn cargados.",
|
||||
"settings.media.upload.uri": "URI de carga",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Tuntematon palvelu.",
|
||||
"bounces.view": "Näytä epäonnistuneet toimitukset",
|
||||
"campaigns.addAltText": "Lisää vaihtoehtoinen tekstimuotoinen viesti",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publish to public archive",
|
||||
"campaigns.archiveHelp": "Publish (running, paused, finished) the campaign message on the public archive.",
|
||||
"campaigns.archiveMeta": "Campaign metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Käynnissä olevaa tai päättynyttä kampanjaa ei voi päivittää.",
|
||||
"campaigns.clicks": "Klikkaukset",
|
||||
"campaigns.confirmDelete": "Poista {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Missing field(s): {name}",
|
||||
"globals.messages.notFound": "{name} not found",
|
||||
"globals.messages.passwordChange": "Enter a value to change",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" updated",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Oct",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Only change if using a custom S3 compatible backend like Minio.",
|
||||
"settings.media.title": "Media uploads",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Upload path",
|
||||
"settings.media.upload.pathHelp": "Path to the directory where media will be uploaded.",
|
||||
"settings.media.upload.uri": "Upload URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Service inconnu.",
|
||||
"bounces.view": "Voir les rebonds",
|
||||
"campaigns.addAltText": "Ajouter un message alternatif en texte brut",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publier dans l'archive publique",
|
||||
"campaigns.archiveHelp": "Publier (en cours, en pause, terminé) le message de la campagne sur l'archive publique.",
|
||||
"campaigns.archiveMeta": "Métadonnées de la campagne",
|
||||
"campaigns.archiveMetaHelp": "Données d'abonné fictives à utiliser dans le message public, notamment le nom, l'adresse électronique et tout attribut facultatif utilisé dans le message ou le modèle de la campagne.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Impossible de mettre à jour une campagne en cours ou terminée.",
|
||||
"campaigns.clicks": "Clics",
|
||||
"campaigns.confirmDelete": "Supprimer la campagne {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Champ(s) manquant(s) : {name}",
|
||||
"globals.messages.notFound": "{name} introuvable",
|
||||
"globals.messages.passwordChange": "Entrez un nouveau mot de passe pour en changer",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "Mise à jour de \"{name}\"",
|
||||
"globals.months.1": "jan.",
|
||||
"globals.months.10": "oct.",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "URL du 'backend' S3",
|
||||
"settings.media.s3.urlHelp": "Ne changez que si vous utilisez un 'backend' personnalisé compatible S3 comme Minio.",
|
||||
"settings.media.title": "Mise en ligne de fichiers",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Emplacement d'envoi des fichiers",
|
||||
"settings.media.upload.pathHelp": "Chemin vers le répertoire où les médias seront mis en ligne",
|
||||
"settings.media.upload.uri": "URI d'envoi des fichiers",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Ismeretlen szolgáltatás.",
|
||||
"bounces.view": "Visszapattanások megtekintése",
|
||||
"campaigns.addAltText": "Alternatív egyszerű szöveges üzenet hozzáadása",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archívum",
|
||||
"campaigns.archiveEnable": "Nyilvános archívumba mentés",
|
||||
"campaigns.archiveHelp": "A kampány nyilvános archívumba mentése, közzététele.",
|
||||
"campaigns.archiveMeta": "Kapány metaadat",
|
||||
"campaigns.archiveMetaHelp": "A nyilvánosan közzétett kampányüzenetbe helyettesítendő adatok (pl. név, e-mail cím, és amiket a sablon használ).",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Nem lehet frissíteni futó vagy befejezett kampányt.",
|
||||
"campaigns.clicks": "Kattintások",
|
||||
"campaigns.confirmDelete": "Kampány törlése: {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Hiányzó mező(k): {name}",
|
||||
"globals.messages.notFound": "{name} nem található",
|
||||
"globals.messages.passwordChange": "Adja meg az új jelszót",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" frissítve",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Okt",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Csak akkor módosítsa, ha egyéni S3-kompatibilis hátteret használ, mint például a Minio.",
|
||||
"settings.media.title": "Média",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Könyvtár",
|
||||
"settings.media.upload.pathHelp": "A feltöltött fájlok célkönyvtára.",
|
||||
"settings.media.upload.uri": "Nyilvános URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Servizio sconosciuto.",
|
||||
"bounces.view": "Visualizza i rimbalzi",
|
||||
"campaigns.addAltText": "Aggiungere un messaggio sostitutivo in testo semplice",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archivio",
|
||||
"campaigns.archiveEnable": "Rendere pubblico l'archivio",
|
||||
"campaigns.archiveHelp": "Pubblicare i messagi delle campagne (avviate, pausate, finite) nel archivio pubblico.",
|
||||
"campaigns.archiveMeta": "Metadati della campagna",
|
||||
"campaigns.archiveMetaHelp": "Dati di essempio di suscrizioni per essere usate nei messagi publici, inclossi nome, posta elettronica, e qualche altro attributo ozionale `{}` che sia fatto servire nell messagio della campagna o pure della sagoma.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Impossibile aggiornare una campagna in corso o già effettuata.",
|
||||
"campaigns.clicks": "Clic",
|
||||
"campaigns.confirmDelete": "Cancellare {nome}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Valore/i mancante/i: {name}",
|
||||
"globals.messages.notFound": "{name} introvabile",
|
||||
"globals.messages.passwordChange": "Inserisci un valore da modificare",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" aggiornato",
|
||||
"globals.months.1": "Gen",
|
||||
"globals.months.10": "Ott",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Modifficare soltanto se stai utilizando uno backend compatibile con S3, ad essempio Minio.",
|
||||
"settings.media.title": "Caricamento dei media",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Percorso del caricamento",
|
||||
"settings.media.upload.pathHelp": "Percorso verso il repertorio dove i media saranno caricati.",
|
||||
"settings.media.upload.uri": "URI del caricamento",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "不明のサービス。",
|
||||
"bounces.view": "バウンスビュー",
|
||||
"campaigns.addAltText": "代替のプレーンテキストメッセージを追加する",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "アーカイブ",
|
||||
"campaigns.archiveEnable": "公開アーカイブに発行する",
|
||||
"campaigns.archiveHelp": "公開アーカイブにキャンペーンメッセージを発行(実行中, 停止された, 終わりましたキャンペーン全部含めて)。",
|
||||
"campaigns.archiveMeta": "キャンペーンメタデータ",
|
||||
"campaigns.archiveMetaHelp": "キャンペーンのメッセージやテンプレートに使う偽データ(名やメールアドレスや設定)。",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "実行中又は終了しているキャンペーンの更新はできません。",
|
||||
"campaigns.clicks": "クリック",
|
||||
"campaigns.confirmDelete": "削除 {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "フィールドがありません: {name}",
|
||||
"globals.messages.notFound": "{name} が見つかりません。",
|
||||
"globals.messages.passwordChange": "変更するには値を入力",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" 更新済み",
|
||||
"globals.months.1": "1月",
|
||||
"globals.months.10": "10月",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3バックエンドURL",
|
||||
"settings.media.s3.urlHelp": "MinioのようなS3互換のカスタムバックエンドを使用する場合のみ変更。",
|
||||
"settings.media.title": "メディアアップロード",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "パスアップロード",
|
||||
"settings.media.upload.pathHelp": "メディアをアップロードするディレクトリへのパス",
|
||||
"settings.media.upload.uri": "URIアップロード",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "അറിയാത്ത സേവനം",
|
||||
"bounces.view": "ബൗൺസായവ കാണുക",
|
||||
"campaigns.addAltText": "ബദൽ സന്ദേശം ചേർക്കുക",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "ആർക്കൈവ്",
|
||||
"campaigns.archiveEnable": "പൊതു ആർക്കൈവിൽ പ്രസിദ്ധീകരിക്കുക",
|
||||
"campaigns.archiveHelp": "പ്രചാരണ സന്ദേശം (റൺ ചെയ്യുന്ന, താൽക്കാലികമായി നിർത്തിയ, പൂർത്തിയായ) പൊതു ആർക്കൈവിൽ പ്രസിദ്ധീകരിക്കുക.",
|
||||
"campaigns.archiveMeta": "കാമ്പെയ്ൻ മെറ്റാഡാറ്റ",
|
||||
"campaigns.archiveMetaHelp": "പേര്, ഇമെയിൽ, പ്രചാരണ സന്ദേശത്തിലോ ടെംപ്ലേറ്റിലോ ഉപയോഗിക്കുന്ന ഏതെങ്കിലും ഓപ്ഷണൽ ആട്രിബ്യൂട്ടുകൾ എന്നിവയുൾപ്പെടെ പൊതു സന്ദേശത്തിൽ ഉപയോഗിക്കാനുള്ള ഡമ്മി സബ്സ്ക്രൈബർ ഡാറ്റ.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "ഇപ്പോൾ നടന്നുകൊണ്ടിരിയ്ക്കുന്നതോ, അവസാനിച്ചതോ ആയ ക്യാമ്പേയ്ൻ പുതുക്കാനാകില്ല.",
|
||||
"campaigns.clicks": "ക്ലീക്കുകൾ",
|
||||
"campaigns.confirmDelete": "{name} നീക്കം ചെയ്യുക",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "വിട്ടുപോയ ഫീൽഡ്(കൾ): {name}",
|
||||
"globals.messages.notFound": "{name} കണ്ടെത്തിയില്ല",
|
||||
"globals.messages.passwordChange": "മാറ്റം വരുത്തേണ്ട വില രേഖപ്പെടുത്തുക",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" പുതുക്കി",
|
||||
"globals.months.1": "ജനുവരി",
|
||||
"globals.months.10": "ഒക്ടോബർ",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 വിലാസം",
|
||||
"settings.media.s3.urlHelp": "Minio പോലെയുള്ള ഒരു ഇഷ്ടാനുസൃത S3 അനുയോജ്യമായ ബാക്കെൻഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ മാത്രം മാറ്റുക.",
|
||||
"settings.media.title": "മീഡിയാ അപ്ലോഡുകൾ",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "അപ്ലോഡ് പാത്ത്",
|
||||
"settings.media.upload.pathHelp": "മീഡിയ അപ്ലോഡ് ചെയ്യുന്നതിനുള്ള ഡയറക്ടറിയിലേക്കുള്ള പാത്ത്.",
|
||||
"settings.media.upload.uri": "അപ്ലോഡ് യൂ. ആർ. ഐ",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Onbekende service.",
|
||||
"bounces.view": "Zie bounces",
|
||||
"campaigns.addAltText": "Voeg alternatieve tekst zonder opmaak toe",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archiveren",
|
||||
"campaigns.archiveEnable": "Publiceren naar publiek archief",
|
||||
"campaigns.archiveHelp": "Publiceer (lopende, gepauzeerde, afgeronde) het campange bericht naar het publiek archief.",
|
||||
"campaigns.archiveMeta": "Campagne metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Kan een lopende of afgelopen campagne niet updaten.",
|
||||
"campaigns.clicks": "Kliks",
|
||||
"campaigns.confirmDelete": "Verwijder {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Ontbrekend(e) veld(en): {name}",
|
||||
"globals.messages.notFound": "{name} niet gevonden",
|
||||
"globals.messages.passwordChange": "Geef een nieuw wachtwoord in",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" geüpdatet",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Okt",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Enkel veranderen als je een custom S3-compatibele backend gebruikt zoals Minio.",
|
||||
"settings.media.title": "Media uploads",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Upload pad",
|
||||
"settings.media.upload.pathHelp": "Pad naar de map waar media geüpload zal worden.",
|
||||
"settings.media.upload.uri": "Upload URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Nieznane usługi.",
|
||||
"bounces.view": "Zobacz odbicia",
|
||||
"campaigns.addAltText": "Dodaj alternatywną wiadomość jako plain text",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archiwizacja",
|
||||
"campaigns.archiveEnable": "Opublikuj do publicznego archiwum",
|
||||
"campaigns.archiveHelp": "Opublikuj (w trakcie, zatrzymane, zakończone) treść kampanii do publicznego archiwum.",
|
||||
"campaigns.archiveMeta": "Metadane kampanii",
|
||||
"campaigns.archiveMetaHelp": "Dane podstawione subskrybenta do użycia w publicznym archiwum. W tym nazwa, email, i dowolne opcjonalne atrybuty użyte w szablonie kampanii.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Nie można aktualizować aktywnej ani zakończonej kampanii",
|
||||
"campaigns.clicks": "Kliknięcia",
|
||||
"campaigns.confirmDelete": "Usuń {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Brakujące pole(a): {name}",
|
||||
"globals.messages.notFound": "{name} nie znaleziono",
|
||||
"globals.messages.passwordChange": "Podaj wartość do zmiany",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" zaktualizowano",
|
||||
"globals.months.1": "Sty",
|
||||
"globals.months.10": "Paź",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Zmień tylko, jeśli używasz niestandardowego backendu kompatybilnego z S3, takiego jak Minio.",
|
||||
"settings.media.title": "Wysyłka mediów",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Ścieżka do wysyłki",
|
||||
"settings.media.upload.pathHelp": "Ścieżka do folderu do którego media będą wrzucane.",
|
||||
"settings.media.upload.uri": "URI wysyłki",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Serviço desconhecido.",
|
||||
"bounces.view": "Ver bounces",
|
||||
"campaigns.addAltText": "Adicionar mensagem alternativa em texto simples",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Arquivo",
|
||||
"campaigns.archiveEnable": "Publicar no arquivo publico",
|
||||
"campaigns.archiveHelp": "Publicar (executando, pausada, finalizada) a mensagem da campanha no arquivo publico.",
|
||||
"campaigns.archiveMeta": "Metadados da campanha",
|
||||
"campaigns.archiveMetaHelp": "Dados de assinante fictício para utilizar na mensagem publica incluindo nome, email e qualquer atributo opcional usado na mensagem ou template da campanha.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Não é possível atualizar uma campanha em execução ou finalizada.",
|
||||
"campaigns.clicks": "Cliques",
|
||||
"campaigns.confirmDelete": "Excluir {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Campos ausente(s): {name}",
|
||||
"globals.messages.notFound": "{name} não encontrado",
|
||||
"globals.messages.passwordChange": "Digite um valor para alterar",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\"atualizado",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Out",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "URL backend do S3",
|
||||
"settings.media.s3.urlHelp": "Altere apenas se usar um backnd customizado compatível com S3, como o Minio.",
|
||||
"settings.media.title": "Envios de mídias",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Caminho de envio",
|
||||
"settings.media.upload.pathHelp": "Caminho para o diretório onde a mídia será enviado.",
|
||||
"settings.media.upload.uri": "URI de envio",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Serviço desconhecido.",
|
||||
"bounces.view": "Ver bounces",
|
||||
"campaigns.addAltText": "Adicionar mensagem alternativa em texto simples",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Arquivo",
|
||||
"campaigns.archiveEnable": "Publicar para o arquivo público",
|
||||
"campaigns.archiveHelp": "Publicar (em execução, em pausa e terminadas) as mensagens da campanha no arquivo público.",
|
||||
"campaigns.archiveMeta": "Metadados da campanha",
|
||||
"campaigns.archiveMetaHelp": "Dados do subscritor modelo a usar em mensagens públicas, tais como nome, email e quais quer outros atributos opcionais usados na mensagem ou template da campanha.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Não é possível atualizar uma campanha em curso ou terminada.",
|
||||
"campaigns.clicks": "Cliques",
|
||||
"campaigns.confirmDelete": "Eliminar {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Campo(s) em falta: {name}",
|
||||
"globals.messages.notFound": "{name} não encontrado",
|
||||
"globals.messages.passwordChange": "Insere um valor para alterar",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" atualizado",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Out",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "URL do backend S3",
|
||||
"settings.media.s3.urlHelp": "Apenas alterar quando um backend customizado compatível com S3, como Minio, está em uso.",
|
||||
"settings.media.title": "Upload de mídia",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Caminho de upload",
|
||||
"settings.media.upload.pathHelp": "Caminho para a pasta onde será enviada a mídia.",
|
||||
"settings.media.upload.uri": "URI de envio",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Serviciu necunoscut.",
|
||||
"bounces.view": "Vizualizarea bounce-urilor",
|
||||
"campaigns.addAltText": "Adăugarea unui mesaj text alternativ simplu",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Arhivă",
|
||||
"campaigns.archiveEnable": "Publicarea în arhiva publică",
|
||||
"campaigns.archiveHelp": "Publicați (rulând, întrerupt, terminat) mesajul campaniei în arhiva publică.",
|
||||
"campaigns.archiveMeta": "Metadatele campaniei",
|
||||
"campaigns.archiveMetaHelp": "Datele abonaților inactivi de utilizat în mesajul public, inclusiv numele, e-mailul și orice atribute opționale utilizate în mesajul sau șablonul campaniei.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Nu se poate actualiza o campanie care rulează sau s-a terminat.",
|
||||
"campaigns.clicks": "Click-uri",
|
||||
"campaigns.confirmDelete": "Ștergerea {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Câmp(e) lipsă: {name}",
|
||||
"globals.messages.notFound": "{name} nu a fost găsit",
|
||||
"globals.messages.passwordChange": "Introducerea unei valori de modificat",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" actualizat",
|
||||
"globals.months.1": "Ian",
|
||||
"globals.months.10": "Oct",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL-ul",
|
||||
"settings.media.s3.urlHelp": "Schimbă numai dacă folosești un backend personalizat compatibil S3, cum ar fi Minio.",
|
||||
"settings.media.title": "Încărcări media",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Calea de încărcare",
|
||||
"settings.media.upload.pathHelp": "Calea către directorul în care va fi încărcat conținutul media.",
|
||||
"settings.media.upload.uri": "Încărcați URI-ul",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Неизвестная услуга.",
|
||||
"bounces.view": "Просмотр отскоков",
|
||||
"campaigns.addAltText": "Добавить альтернативное простое текстовое сообщение",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Архив",
|
||||
"campaigns.archiveEnable": "Опубликовать в общедоступном архиве",
|
||||
"campaigns.archiveHelp": "Опубликовать (запущено, на паузе, завершено) сообщение кампании в общедоступном архиве.",
|
||||
"campaigns.archiveMeta": "Метаданные кампании",
|
||||
"campaigns.archiveMetaHelp": "Данные фиктивных подписчиков для использования в публичном сообщении, включая имя, электронную почту и любые дополнительные атрибуты, используемые в сообщении или шаблоне кампании.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Не возможно обновить запущенную или завершённую кампанию.",
|
||||
"campaigns.clicks": "Клики",
|
||||
"campaigns.confirmDelete": "Удалить {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Отсутствующее поле (поля): {name}",
|
||||
"globals.messages.notFound": "{name} не найдено",
|
||||
"globals.messages.passwordChange": "Введите значение для изменения",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" обновлено",
|
||||
"globals.months.1": "Янв",
|
||||
"globals.months.10": "Окт",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "URL бэкенда S3",
|
||||
"settings.media.s3.urlHelp": "Измените только в случае использования бэкенда, совместимого с S3, например, Minio.",
|
||||
"settings.media.title": "Выгрузки медиа",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Путь для выгрузок",
|
||||
"settings.media.upload.pathHelp": "Путь до каталога, куда будут выгружаться медиа-файлы.",
|
||||
"settings.media.upload.uri": "URI выгрузок",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Unknown service.",
|
||||
"bounces.view": "View bounces",
|
||||
"campaigns.addAltText": "Add alternate plain text message",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publish to public archive",
|
||||
"campaigns.archiveHelp": "Publish (running, paused, finished) the campaign message on the public archive.",
|
||||
"campaigns.archiveMeta": "Campaign metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Cannot update a running or a finished campaign.",
|
||||
"campaigns.clicks": "Clicks",
|
||||
"campaigns.confirmDelete": "Delete {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Missing field(s): {name}",
|
||||
"globals.messages.notFound": "{name} not found",
|
||||
"globals.messages.passwordChange": "Enter a value to change",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" updated",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Oct",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3 backend URL",
|
||||
"settings.media.s3.urlHelp": "Only change if using a custom S3 compatible backend like Minio.",
|
||||
"settings.media.title": "Media uploads",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Upload path",
|
||||
"settings.media.upload.pathHelp": "Path to the directory where media will be uploaded.",
|
||||
"settings.media.upload.uri": "Upload URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Neznáma služba.",
|
||||
"bounces.view": "Zobraziť prevzetie",
|
||||
"campaigns.addAltText": "Pridať alternatívnu správu vo formáte obyčajného textu",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archív",
|
||||
"campaigns.archiveEnable": "Zverejniť vo verejnom archíve",
|
||||
"campaigns.archiveHelp": "Zverejniť (prebiehajúcu, pozastavenú, dokončenú) správu kampane vo verejnom archíve",
|
||||
"campaigns.archiveMeta": "Metadáta kampane",
|
||||
"campaigns.archiveMetaHelp": "Použíť prázdne dáta prihlásených vo verejnom archíve vrátane mena, emailu a iných voliteľných atribútov použitých v správach kampane aleebo šablónach.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Nedá sa aktualizovať spustená alebo dokončená kampaň.",
|
||||
"campaigns.clicks": "Kliknutia",
|
||||
"campaigns.confirmDelete": "Odstrániť {name}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "Chýbajúce pole: {name}",
|
||||
"globals.messages.notFound": "{name} sa nenašlo",
|
||||
"globals.messages.passwordChange": "Zadajte zmenenú hodnotu",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" upravené",
|
||||
"globals.months.1": "Jan",
|
||||
"globals.months.10": "Okt",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "Adresa URL pre S3 backend",
|
||||
"settings.media.s3.urlHelp": "Dá sa nastaviť ak používateľ S3 kompatibilný backend ako napr. Minio.",
|
||||
"settings.media.title": "Nahrávanie médií",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Cesta nahrávania",
|
||||
"settings.media.upload.pathHelp": "Cesta k priečinku, kde se nahrávajú médiá.",
|
||||
"settings.media.upload.uri": "URI nahrávania",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Bilinmeyen servis.",
|
||||
"bounces.view": "Sıçramaları görüntüleyin",
|
||||
"campaigns.addAltText": "Alternatif düz metin ekleyin",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Arşiv",
|
||||
"campaigns.archiveEnable": "Halka açık arşivde yayınlayın",
|
||||
"campaigns.archiveHelp": "Kampanya mesajını genel arşivde yayınlayın (çalışıyor, duraklatıldı, bitti).",
|
||||
"campaigns.archiveMeta": "Kampanya meta verisi",
|
||||
"campaigns.archiveMetaHelp": "Ad, e-posta ve kampanya mesajında veya şablonunda kullanılan tüm isteğe bağlı öznitelikler dahil olmak üzere genel mesajda kullanılacak kukla abone verileri.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Gönderilmekte olan veya gönderilmiş kampaynalar güncellenemez.",
|
||||
"campaigns.clicks": "Tıklama",
|
||||
"campaigns.confirmDelete": "Sil {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Eksik alan(lar): {name}",
|
||||
"globals.messages.notFound": "{name} bulunamadı",
|
||||
"globals.messages.passwordChange": "Değiştirmek için değer gir",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" güncellendi",
|
||||
"globals.months.1": "Oca",
|
||||
"globals.months.10": "Eki",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3 arka uç URL'si",
|
||||
"settings.media.s3.urlHelp": "Yalnızca Minio gibi özel bir S3 uyumlu arka uç kullanıyorsanız değiştirin.",
|
||||
"settings.media.title": "Medya yüklemeleri",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Yükleme yolu",
|
||||
"settings.media.upload.pathHelp": "Medyanın yükleneceği dizinin yolu.",
|
||||
"settings.media.upload.uri": "Yüklwmw URI si",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "Dịch vụ không xác định.",
|
||||
"bounces.view": "Xem thư bị trả lại",
|
||||
"campaigns.addAltText": "Thêm tin nhắn văn bản thuần túy thay thế",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publish to public archive",
|
||||
"campaigns.archiveHelp": "Publish (running, paused, finished) the campaign message on the public archive.",
|
||||
"campaigns.archiveMeta": "Campaign metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "Không thể cập nhật chiến dịch đang chạy hoặc đã kết thúc.",
|
||||
"campaigns.clicks": "Số lần nhấp chuột",
|
||||
"campaigns.confirmDelete": "Xóa {name}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "Lỗi field(s): {name}",
|
||||
"globals.messages.notFound": "{name} không tìm thấy",
|
||||
"globals.messages.passwordChange": "Nhập một giá trị để thay đổi",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "\"{name}\" đã cập nhật",
|
||||
"globals.months.1": "Tháng 1",
|
||||
"globals.months.10": "Tháng 10",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "URL phụ trợ S3",
|
||||
"settings.media.s3.urlHelp": "Chỉ thay đổi nếu sử dụng chương trình phụ trợ tương thích S3 tùy chỉnh như Minio.",
|
||||
"settings.media.title": "Tải lên phương tiện",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "Đường dẫn tải lên",
|
||||
"settings.media.upload.pathHelp": "Đường dẫn đến thư mục nơi phương tiện sẽ được tải lên.",
|
||||
"settings.media.upload.uri": "Tải lên URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "未知的服务。",
|
||||
"bounces.view": "查看退回邮",
|
||||
"campaigns.addAltText": "添加备用纯文本消息",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "存档",
|
||||
"campaigns.archiveEnable": "发布到公开存档",
|
||||
"campaigns.archiveHelp": "在公共档案中发布(运行、暂停、完成)活动消息。",
|
||||
"campaigns.archiveMeta": "活动元数据",
|
||||
"campaigns.archiveMetaHelp": "在公共消息中使用的模拟订阅者数据,包括姓名、电子邮件以及活动消息或模板中使用的任何可选属性。",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "无法更新正在运行或已完成的广告系列。",
|
||||
"campaigns.clicks": "点击次数",
|
||||
"campaigns.confirmDelete": "删除{名称}",
|
||||
|
@ -181,6 +183,7 @@
|
|||
"globals.messages.missingFields": "缺少字段:{name}",
|
||||
"globals.messages.notFound": "{name} 未找到",
|
||||
"globals.messages.passwordChange": "输入要更改的值",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "“{name}”已更新",
|
||||
"globals.months.1": "一月",
|
||||
"globals.months.10": "十月",
|
||||
|
@ -438,6 +441,8 @@
|
|||
"settings.media.s3.url": "S3后端URL",
|
||||
"settings.media.s3.urlHelp": "只有在使用像Minio这样的自定义S3兼容后端时才进行更改。",
|
||||
"settings.media.title": "媒体上传",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "上传路径",
|
||||
"settings.media.upload.pathHelp": "将上传媒体的目录的路径。",
|
||||
"settings.media.upload.uri": "上传URI",
|
||||
|
|
|
@ -17,11 +17,13 @@
|
|||
"bounces.unknownService": "未知的服務。",
|
||||
"bounces.view": "查看退回郵",
|
||||
"campaigns.addAltText": "添加備用純文本消息",
|
||||
"campaigns.addAttachments": "Add attachments",
|
||||
"campaigns.archive": "Archive",
|
||||
"campaigns.archiveEnable": "Publish to public archive",
|
||||
"campaigns.archiveHelp": "Publish (running, paused, finished) the campaign message on the public archive.",
|
||||
"campaigns.archiveMeta": "Campaign metadata",
|
||||
"campaigns.archiveMetaHelp": "Dummy subscriber data to use in the public message including name, email, and any optional attributes used in the campaign message or template.",
|
||||
"campaigns.attachments": "Attachments",
|
||||
"campaigns.cantUpdate": "無法更新正在運行或已完成的廣告系列。",
|
||||
"campaigns.clicks": "點擊次數",
|
||||
"campaigns.confirmDelete": "刪除{名稱}",
|
||||
|
@ -182,6 +184,7 @@
|
|||
"globals.messages.missingFields": "缺少字段:{name}",
|
||||
"globals.messages.notFound": "{name} 未找到",
|
||||
"globals.messages.passwordChange": "輸入要更改的值",
|
||||
"globals.messages.passwordChangeFull": "Clear and re-enter the full password in '{name}'.",
|
||||
"globals.messages.updated": "“{name}”已更新",
|
||||
"globals.months.1": "一月",
|
||||
"globals.months.10": "十月",
|
||||
|
@ -439,6 +442,8 @@
|
|||
"settings.media.s3.url": "S3後端URL",
|
||||
"settings.media.s3.urlHelp": "只有在使用像Minio這樣的自定義S3兼容後端時才進行更改。",
|
||||
"settings.media.title": "媒體上傳",
|
||||
"settings.media.upload.extensions": "Permitted file extensions",
|
||||
"settings.media.upload.extensionsHelp": "Add * to allow all extensions",
|
||||
"settings.media.upload.path": "上傳路徑",
|
||||
"settings.media.upload.pathHelp": "將上傳媒體的目錄的路徑。",
|
||||
"settings.media.upload.uri": "上傳URI",
|
||||
|
|
Loading…
Reference in a new issue