diff --git a/packages/-ember-caluma/config/ember-intl.js b/packages/-ember-caluma/config/ember-intl.js index 31e3a0e06..b58de8698 100644 --- a/packages/-ember-caluma/config/ember-intl.js +++ b/packages/-ember-caluma/config/ember-intl.js @@ -93,7 +93,7 @@ module.exports = function (/* environment */) { return false; } - const requiredLocales = ["en", "de"]; + const requiredLocales = ["en", "de", "it"]; // form builder is not yet supported in french if (!key.startsWith("caluma.form-builder")) { diff --git a/packages/core/tests/dummy/config/ember-intl.js b/packages/core/tests/dummy/config/ember-intl.js index 79898e99f..b6cc0765b 100644 --- a/packages/core/tests/dummy/config/ember-intl.js +++ b/packages/core/tests/dummy/config/ember-intl.js @@ -89,7 +89,7 @@ module.exports = function (/* environment */) { * @default "function(key,locale) { return true }" */ requiresTranslation(key, locale) { - return ["en", "de", "fr"].includes(locale); + return ["en", "de", "fr", "it"].includes(locale); }, }; }; diff --git a/packages/core/translations/it.yaml b/packages/core/translations/it.yaml new file mode 100644 index 000000000..4a7c5fa2f --- /dev/null +++ b/packages/core/translations/it.yaml @@ -0,0 +1,15 @@ +caluma: + caluma-query: + work-item: + status: + READY: "In corso" + COMPLETED: "Evaso" + CANCELED: "Demolito" + SKIPPED: "Tralasciato" + SUSPENDED: "In sospeso" + case: + status: + RUNNING: "In elaborazione" + COMPLETED: "Concluso" + CANCELED: "Demolito" + SUSPENDED: "In sospeso" diff --git a/packages/distribution/translations/it.yaml b/packages/distribution/translations/it.yaml new file mode 100644 index 000000000..55d599efd --- /dev/null +++ b/packages/distribution/translations/it.yaml @@ -0,0 +1,116 @@ +caluma: + distribution: + empty: "Non sono ancora state create richieste." + no-actions: "Non sono disponibili operazioni nello stato attuale." + start: "Avvia circolazione" + send: "Invia richieste in corso" + complete: "Concludi circolazione" + skip: "Tralascia circolazione" + reopen: "Riavvia circolazione" + check-inquiries: "Segna le prese di posizione come verificate" + send-confirm: "Inviare davvero {count, plural, =1 {una richiesta in corso} other {{count} richieste in corso}}?" + complete-confirm: "Nella circolazione attuale {count, plural, =1 {vi è una richiesta in corso} other {vi sono {count} richieste in corso}}Attenzione: sta elaborando una richiesta già inviata. In caso di modifiche essenziali dei dettagli, può essere che il servizio destinatario non se ne accorga poiché non viene informato." + + answer: + link: "Rispondi" + + complete-error: "Errore nel tentativo di concludere il compito" + complete-not-allowed: "Non dispone del diritto di inviare questa risposta." + + buttons: + compose: + label: "Rilascia per il controllo" + status: "In elaborazione" + adjust: + label: "Rilasciare adeguamento per il controllo" + status: "In rielaborazione" + confirm: + label: "Conferma" + status: "In fase di verifica" + revise: + label: "Rielabora" + + details: + show: "Visualizza dettagli" + hide: "Nascondi dettagli" + + new: + title: "Nuova richiesta" + search: "Cerca..." + suggestions: "Raccomandazioni" + empty: "Non sono stati trovati servizi" + groups: "{count} {count, plural, =1 {servizio} other {servizi}}" + selected: "{count, plural, other {selezionati}}" + reset: "Ripristina" + create-draft: "Crea bozza" + continue: "Avanti" + back: "Indietro" + error: "Errore nel tentativo di creare {count, plural, =1 {le richieste} other {la richiesta}}" + + reminder: + link: "Invia reminder" + confirm: "Inviare davvero un reminder per questa richiesta?" + title: "Reminder inviati" + no-reminders: "Per la presente richiesta non sono ancora stati inviati reminder." + success: "Il reminder è stato inviato con successo" + error: "Errore nel tentativo di inviare il reminder" + + types: + controlling: "Prese di posizione richieste" + addressed: "Proprie prese di posizione" + more: "Altre prese di posizione" + + status: + draft: "Bozza" + skipped: "Terminata prima del tempo" + sent: "Inviata" + in-progress: "In elaborazione" + positive: "Positiva" + negative: "Negativa" + needs-interaction: "Operazione necessaria" + + notfound: + title: "404" + subtitle: "Pagina non trovata!" + back: "Torna alla" + link: "Pagina iniziale" + + withdraw: + link: "Ritira" + confirm: "Ritirare davvero la richiesta?" + error: "Errore nel tentativo di ritirare la richiesta" + status: "Ritirate" + + reopen-inquiry: + link: "Riaprire" + confirm: "Riaprire davvero la richiesta?" + error: "Errore nel tentativo di riaprire la richiesta" diff --git a/packages/form-builder/translations/it.yaml b/packages/form-builder/translations/it.yaml new file mode 100644 index 000000000..9ce802f46 --- /dev/null +++ b/packages/form-builder/translations/it.yaml @@ -0,0 +1,197 @@ +caluma: + form-builder: + global: + save: "Salva" + loading: "Carica" + cancel: "Annulla" + search: "Cerca" + optional: "Facoltativo" + + empty-search: "Nessun risultato trovato. Adegua la ricerca per ottenere risultati migliori." + + not-found: + title: "Sembra si sia verificato un errore." + subtitle: "La pagina cercata non esiste!" + home: "Torna alla pagina principale" + + form: + name: "Nome" + slug: "Slug" + description: "Descrizione" + isArchived: "Archiviato" + widgetOverride: "Widget personalizzato" + isPublished: "Pubblicato" + draft: "Bozza" + active: "Attivo" + all: "Tutti" + + allForms: "Tutti i moduli" + new: "Nuovo modulo" + empty: "Non abbiamo trovato nessun modulo. Clicca sul pulsante in alto a destra per creare un modulo!" + loadMore: "Carica più moduli" + + not-found: "Non è stato trovato un modulo con lo slug ''{slug}''" + + question-list: + required: + label: "Obbligatorio (JEXL)" + not-required: "Facoltativo" + required: "Obbligatorio" + conditional: "Parzialmente obbligatorio" + hidden: + label: "Nascosto (JEXL)" + not-hidden: "Visibile" + hidden: "Nascosto" + conditional: "Parzialmente nascosto" + + question: + label: "Etichetta" + slug: "Slug" + type: "Tipo" + isRequired: "Campo obbligatorio" + staticContent: "Contenuto statico" + infoText: "Testo informativo" + hintText: "Testo suggerimento" + confirmationText: "Testo di conferma" + placeholder: "Segnaposto" + isHidden: "Nascosto (JEXL)" + widgetOverride: "Tipo di widget" + isArchived: "Archiviato" + type-disabled: "Per evitare di avere dati corrotti non è più possibile modificare il tipo di domanda dopo aver creato una domanda." + supportsMarkdownPrefix: "Questo campo sostiene" + markdown: "Markdown" + dataSource: "Fonte dei dati" + formatValidators: "Convalida" + defaultValue: "Valore standard" + meta: "Metainformazioni" + + general: "In generale" + options: "Opzioni" + + min-value: "Valore minimo" + max-value: "Valore massimo" + min-length: "Lunghezza minima" + max-length: "Lunghezza massima" + rowForm: "Modulo per righe delle tabelle" + subForm: "Modulo per voci" + no-selection: "Nessuna selezione" + search-placeholder: "Clicca qui per cercare" + search-empty: "Nessun modulo trovato" + columnsToDisplay: "Colonne da visualizzare nel modulo" + calcExpression: "Formula di calcolo (JEXL)" + + new: "Nuova domanda" + + minor-info-title: "Importante!" + minor-info: "Per mantenere la coerenza dei dati, l'adeguamento di una domanda non può mai comportare la mutazione del significato della domanda." + + remove: "Elimina domanda" + add: "Aggiungi nuova domanda o domanda esistente" + search: "Cerca una domanda (label o slug)" + create: "o crea una nuova domanda" + loadMore: "Carica più domande" + + empty: "Non ha ancora aggiunto nessuna domanda. Clicchi sul pulsante in alto per farlo!" + advancedSettings: "Impostazioni avanzate" + + types: + IntegerQuestion: "Numero intero" + FloatQuestion: "Numero in virgola mobile" + MultipleChoiceQuestion: "Selezione multipla" + ChoiceQuestion: "Selezione unica" + TextQuestion: "Testo" + TextareaQuestion: "Testo (più righe)" + TableQuestion: "Tabella" + FormQuestion: "Modulo" + FilesQuestion: "File" + StaticQuestion: "Contenuto non interattivo" + DateQuestion: "Data" + DynamicMultipleChoiceQuestion: "Selezione multipla dinamica" + DynamicChoiceQuestion: "Selezione unica dinamica" + CalculatedFloatQuestion: "Calcolo (numero in virgola mobile)" + ActionButtonQuestion: "Pulsante di operazione" + + confirmText: "Testo di conferma" + action: "Operazione" + color: "Colore" + validateOnEnter: "Convalida quando si accede alla finestra" + showValidation: "Visualizza errore di convalida" + + actions: + COMPLETE: "Concludi" + SKIP: "Tralascia" + + colors: + PRIMARY: "Primario" + SECONDARY: "Secondario" + DEFAULT: "Standard" + + widgetOverrides: + powerselect: "Power Select" + hidden: "Nascosto" + number-separator: "Separatore delle cifre" + + not-found: "Non è stata trovata nessuna domanda con lo slug ''{slug}''" + + hideLabel: "Nascondi etichetta" + + usage: + title: "Questa domanda viene usata in {n,plural, =1 {un modulo} other {# moduli}}." + references-heading: "Tutti i riferimenti a questa domanda" + not-published: "non pubblicati" + + options: + delete: "Elimina opzione" + archive: "Archivia (nascondi) opzione" + restore: "Ripristina opzione" + + notification: + form: + save: + success: "Modulo salvato con successo!" + error: "Ops, nel tentativo di salvare il modulo qualcosa è andato storto..." + + create: + success: "Modulo creato con successo!" + error: "Ops, nel tentativo di creare il modulo qualcosa è andato storto..." + + reorder-questions: + success: "Le domande sono state riordinate con successo!" + error: "Ops, nel tentativo di riordinare le domande qualcosa è andato storto..." + + reorder-options: + success: "Le opzioni sono state riordinate con successo!" + error: "Ops, nel tentativo di riordinare le opzioni qualcosa è andato storto..." + + add-question: + success: "La domanda è stata aggiunta con successo al modulo!" + error: "Ops, nel tentativo di aggiungere la domanda qualcosa è andato storto..." + + remove-question: + success: "La domanda è stata eliminata con successo dal modulo!" + error: "Ops, nel tentativo di eliminare la domanda qualcosa è andato storto..." + + question: + save: + success: "La domanda è stata salvata con successo!" + error: "Ops, nel tentativo di salvare la domanda qualcosa è andato storto..." + + copy-modal: + title: 'Copia "{form}"' + name: + label: "Nome" + hint: "Originale: {name}" + slug: + label: "Slug" + hint: "Originale: {slug}" + submit: "Copia" + + validations: + form: + slug: "Esiste già un modulo con questo slug" + + question: + slug: "Esiste già una domanda con questo slug" + + option: + slug: "Esiste già un'opzione con questo slug" diff --git a/packages/form/tests/dummy/config/ember-intl.js b/packages/form/tests/dummy/config/ember-intl.js index 79898e99f..b6cc0765b 100644 --- a/packages/form/tests/dummy/config/ember-intl.js +++ b/packages/form/tests/dummy/config/ember-intl.js @@ -89,7 +89,7 @@ module.exports = function (/* environment */) { * @default "function(key,locale) { return true }" */ requiresTranslation(key, locale) { - return ["en", "de", "fr"].includes(locale); + return ["en", "de", "fr", "it"].includes(locale); }, }; }; diff --git a/packages/form/translations/it.yaml b/packages/form/translations/it.yaml new file mode 100644 index 000000000..5e1d5e6ee --- /dev/null +++ b/packages/form/translations/it.yaml @@ -0,0 +1,58 @@ +caluma: + form: + optional: "Facoltativo" + save: "Salva" + delete: "Elimina" + edit: "Modifica" + cancel: "Annulla" + close: "Chiudi" + view: "Visualizza" + selectFile: "Cerca..." + deleteRow: "Cancellare davvero questa riga?" + addRow: "Aggiungi riga" + optionNotAvailable: "Questa opzione non è più disponibile" + info: "Ulteriori informazioni" + + error: + details: "Dettagli tecnici:" + technical-error: "ops, qualcosa è andato storto! Non è stato possibile salvare la risposta." + offline: "Non è stato possibile salvare la risposta poiché manca la connessione a Internet. Verificare la connessione a Internet e riprovare." + invalid: "Non è stato possibile salvare la risposta poiché la convalida non è andata a buon fine. Verificare i dati inseriti e riprovare." + + navigation: + next: "Avanti" + previous: "Indietro" + states: + untouched: "Non compilato" + unfinished: "Non compilato integralmente" + valid: "Compilato correttamente" + invalid: "Compilato in modo non corretto" + + notification: + table: + add: + success: "Voce aggiunta con successo." + error: "Ops, nel tentativo di aggiungere la voce qualcosa è andato storto." + + power-select: + placeholder-single: "Seleziona un'opzione" + placeholder-multiple: "Seleziona una o più opzioni" + options-loading: "Carica opzioni..." + options-empty: "Nessuna opzione disponibile" + search-placeholder: "Clicca qui per cercare" + search-empty: "Nessuna opzione trovata" + reset: "Ripristina" + + validation: + blank: "Questo campo non può essere vuoto" + tooShort: "Questo campo deve contenere almeno {min} caratteri" + tooLong: "In questo campo sono ammessi al massimo {max} caratteri" + greaterThanOrEqualTo: "Il valore inserito in questo campo non può essere inferiore a {gte}" + lessThanOrEqualTo: "Il valore inserito in questo campo non può essere superiore a {lte}" + notAnInteger: "Inserisci una cifra intera" + inclusion: '"{label}" non è un valore valido per questo campo' + deleteFailed: "Errore durante l'eliminazione." + uploadFailed: "Errore durante il caricamento." + format: "{errorMsg}" + table: "Almeno una riga della tabella non è stata compilata correttamente." + error: "Le domande seguenti non sono state compilate in modo corretto:" diff --git a/packages/workflow/tests/dummy/config/ember-intl.js b/packages/workflow/tests/dummy/config/ember-intl.js index 79898e99f..b6cc0765b 100644 --- a/packages/workflow/tests/dummy/config/ember-intl.js +++ b/packages/workflow/tests/dummy/config/ember-intl.js @@ -89,7 +89,7 @@ module.exports = function (/* environment */) { * @default "function(key,locale) { return true }" */ requiresTranslation(key, locale) { - return ["en", "de", "fr"].includes(locale); + return ["en", "de", "fr", "it"].includes(locale); }, }; }; diff --git a/packages/workflow/translations/it.yaml b/packages/workflow/translations/it.yaml new file mode 100644 index 000000000..9dc24fab1 --- /dev/null +++ b/packages/workflow/translations/it.yaml @@ -0,0 +1,16 @@ +caluma: + mutate-work-item: + complete: "Concludi" + skip: "Tralascia" + cancel: "Annulla" + success: + complete: "Compito concluso con successo!" + skip: "Compito tralasciato con successo!" + cancel: "Compito annullato con successo!" + error: + complete: "Ops, nel tentativo di concludere il compito qualcosa è andato storto..." + skip: "Ops, nel tentativo di tralasciare il compito qualcosa è andato storto..." + cancel: "Ops, nel tentativo di annullare il compito qualcosa è andato storto..." + + task-button: + error: "Errore nel tentativo di caricare il compito"