@plone/volto 14.5.0 → 14.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/addon-registry.js +15 -2
  3. package/cypress.json +2 -1
  4. package/locales/it/LC_MESSAGES/volto.po +6 -6
  5. package/locales/it.json +1 -1
  6. package/package.json +6 -4
  7. package/pyvenv.cfg +3 -0
  8. package/razzle.config.js +1 -1
  9. package/src/components/index.js +2 -0
  10. package/src/components/manage/Add/Add.jsx +39 -36
  11. package/src/components/manage/Contents/Contents.test.jsx +0 -7
  12. package/src/components/manage/Contents/ContentsItem.jsx +9 -14
  13. package/src/components/manage/Contents/ContentsUploadModal.jsx +2 -4
  14. package/src/components/manage/Controlpanels/ModerateComments.jsx +7 -5
  15. package/src/components/manage/Diff/Diff.jsx +13 -5
  16. package/src/components/manage/Diff/Diff.test.jsx +0 -6
  17. package/src/components/manage/Diff/DiffField.jsx +12 -3
  18. package/src/components/manage/Diff/DiffField.test.jsx +0 -6
  19. package/src/components/manage/History/History.jsx +6 -5
  20. package/src/components/manage/History/History.test.jsx +12 -7
  21. package/src/components/manage/Widgets/DatetimeWidget.jsx +10 -3
  22. package/src/components/manage/Widgets/DatetimeWidget.test.jsx +2 -2
  23. package/src/components/manage/Widgets/ObjectListWidget.stories.js +3 -3
  24. package/src/components/manage/Widgets/RecurrenceWidget/ByDayField.jsx +4 -3
  25. package/src/components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField.jsx +10 -3
  26. package/src/components/manage/Widgets/RecurrenceWidget/Occurences.jsx +8 -4
  27. package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +21 -13
  28. package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.test.jsx +6 -0
  29. package/src/components/manage/Widgets/RecurrenceWidget/Utils.js +1 -2
  30. package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField.jsx +5 -3
  31. package/src/components/manage/Widgets/UrlWidget.jsx +2 -0
  32. package/src/components/theme/App/App.jsx +4 -1
  33. package/src/components/theme/Comments/Comments.jsx +3 -1
  34. package/src/components/theme/Comments/Comments.test.jsx +6 -0
  35. package/src/components/theme/Component/Component.jsx +19 -0
  36. package/src/components/theme/Component/Component.test.jsx +31 -0
  37. package/src/components/theme/FormattedDate/FormattedDate.jsx +42 -0
  38. package/src/components/theme/FormattedDate/FormattedDate.stories.jsx +91 -0
  39. package/src/components/theme/FormattedDate/FormattedRelativeDate.jsx +57 -0
  40. package/src/components/theme/FormattedDate/FormattedRelativeDate.stories.jsx +122 -0
  41. package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +28 -1
  42. package/src/components/theme/View/EventDatesInfo.jsx +12 -6
  43. package/src/components/theme/View/EventDatesInfo.test.jsx +6 -0
  44. package/src/components/theme/View/EventView.test.jsx +6 -0
  45. package/src/config/index.js +1 -0
  46. package/src/helpers/FormValidation/FormValidation.js +1 -1
  47. package/src/helpers/Utils/Date.js +97 -0
  48. package/src/helpers/Utils/Date.test.js +197 -0
  49. package/src/helpers/Utils/Utils.js +1 -2
  50. package/src/helpers/Utils/Utils.test.js +25 -0
  51. package/src/registry.js +16 -0
  52. package/src/registry.test.js +28 -0
  53. package/theme/themes/pastanaga/extras/widgets.less +2 -1
  54. package/volto.config.js +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # Change Log
2
2
 
3
+ ## 14.8.0 (2022-02-03)
4
+
5
+ ### Feature
6
+
7
+ - Enable `components` property in Volto's config registry. Does not expose any direct feature but this will open the door to be able to override registered components using the config registry and avoid using shadowing explicitly. @sneridagh
8
+ - Add `resolve` and `register` helper methods for the Volto config. They retrieve and register new components in the registry. @tiberiuichim @sneridagh
9
+ - Add `Component` component, given a `name` of a component registered in the registry, it renders it, passing down the props. @tiberiuichim
10
+ - Syncronize the content language with the UI language in multilingual sites. So when you are accessing a content in a given language the rest of the interface literals follow along (it updates the language cookie). So the UI remains consistent. @sneridagh
11
+
12
+ ### Bugfix
13
+
14
+ - Fix the a11y violation of UrlWidget @iRohitSingh
15
+
16
+ ### Internal
17
+
18
+ - Update volta pins in package.json @fredvd
19
+
20
+ ## 14.7.1 (2022-02-02)
21
+
22
+ ### Internal
23
+
24
+ - Add CSS body class in Babel view. Improve marker for language independent fields in Babel view too. @sneridagh
25
+
26
+ ### Docs
27
+
28
+ Update documentation for internal proxy & other smaller reorganisation for quicker onboarding of
29
+ new users/evaluators. @fredvd
30
+
31
+ ## 14.7.0 (2022-01-28)
32
+
33
+ ### Feature
34
+
35
+ - Add `<FormattedDate>` and `<FormattedRelativeDate>` components. Check their Storybook stories for details. This is part of ongoing work to minimize the use of 'deprecated' momentjs. @sneridagh @tiberiuichim
36
+
37
+ ### Internal
38
+
39
+ - Upgrade jest to latest release, 27 major. @tiberiuichim
40
+ - Lazyload momentjs. `parseDateTime` helper now requires passing the momentjs library @tiberiuichim
41
+
42
+ ## 14.6.0 (2022-01-27)
43
+
44
+ ### Feature
45
+
46
+ - Use `volto.config.js` as dynamic configuration for addons. It adds up to the `package.json` `addons` key, allowing dynamic load of addons (eg. via environment variables) @sneridagh
47
+
48
+ ### Internal
49
+
50
+ - Fix ObjectListWidget story bug caused by lazyloading dnd libraries
51
+ @tiberiuichim
52
+
3
53
  ## 14.5.0 (2022-01-26)
4
54
 
5
55
  ### Feature
package/addon-registry.js CHANGED
@@ -99,13 +99,26 @@ class AddonConfigurationRegistry {
99
99
  projectRootPath,
100
100
  'package.json',
101
101
  )));
102
+ // Loads the dynamic config, if any
103
+ if (fs.existsSync(path.join(projectRootPath, 'volto.config.js'))) {
104
+ this.voltoConfigJS = require(path.join(
105
+ projectRootPath,
106
+ 'volto.config.js',
107
+ ));
108
+ } else {
109
+ this.voltoConfigJS = [];
110
+ }
111
+ this.resultantMergedAddons = [
112
+ ...(packageJson.addons || []),
113
+ ...(this.voltoConfigJS.addons || []),
114
+ ];
102
115
 
103
116
  this.projectRootPath = projectRootPath;
104
117
  this.voltoPath =
105
118
  packageJson.name === '@plone/volto'
106
119
  ? `${projectRootPath}`
107
120
  : `${projectRootPath}/node_modules/@plone/volto`;
108
- this.addonNames = (packageJson.addons || []).map((s) => s.split(':')[0]);
121
+ this.addonNames = this.resultantMergedAddons.map((s) => s.split(':')[0]);
109
122
  this.packages = {};
110
123
  this.customizations = new Map();
111
124
 
@@ -114,7 +127,7 @@ class AddonConfigurationRegistry {
114
127
  this.initTestingPackages();
115
128
 
116
129
  this.dependencyGraph = buildDependencyGraph(
117
- packageJson.addons || [],
130
+ this.resultantMergedAddons,
118
131
  (name) => {
119
132
  this.initPublishedPackage(name);
120
133
  return this.packages[name].addons || [];
package/cypress.json CHANGED
@@ -3,5 +3,6 @@
3
3
  "viewportWidth": 1280,
4
4
  "ignoreTestFiles": ["*~"],
5
5
  "integrationFolder": "cypress/tests/core",
6
- "chromeWebSecurity": false
6
+ "chromeWebSecurity": false,
7
+ "projectId": "5iy5e2"
7
8
  }
@@ -1339,7 +1339,7 @@ msgstr "Lingua"
1339
1339
  #: components/manage/Widgets/FormFieldWrapper
1340
1340
  # defaultMessage: Language independent field.
1341
1341
  msgid "Language independent field."
1342
- msgstr ""
1342
+ msgstr "Campo indipendete dalla lingua"
1343
1343
 
1344
1344
  #: components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField
1345
1345
  # defaultMessage: Last
@@ -1938,7 +1938,7 @@ msgstr "il"
1938
1938
  #: components/manage/Form/UndoToolbar
1939
1939
  # defaultMessage: Redo
1940
1940
  msgid "Redo"
1941
- msgstr ""
1941
+ msgstr "Ripeti"
1942
1942
 
1943
1943
  #: components/manage/Blocks/Table/Edit
1944
1944
  # defaultMessage: Minimalistic table design
@@ -2723,12 +2723,12 @@ msgstr "Digita l'URL di un Video (YouTube, Vimeo or mp4)"
2723
2723
  #: components/manage/Widgets/SelectAutoComplete
2724
2724
  # defaultMessage: Type text...
2725
2725
  msgid "Type text..."
2726
- msgstr ""
2726
+ msgstr "Digita il testo..."
2727
2727
 
2728
2728
  #: components/manage/Blocks/Text/Edit
2729
2729
  # defaultMessage: Type text…
2730
2730
  msgid "Type text…"
2731
- msgstr "Digita testo…"
2731
+ msgstr "Digita il testo…"
2732
2732
 
2733
2733
  #: components/manage/Blocks/Title/Edit
2734
2734
  # defaultMessage: Type the title…
@@ -2748,7 +2748,7 @@ msgstr "Non autorizzato"
2748
2748
  #: components/manage/Form/UndoToolbar
2749
2749
  # defaultMessage: Undo
2750
2750
  msgid "Undo"
2751
- msgstr ""
2751
+ msgstr "Annulla"
2752
2752
 
2753
2753
  #: components/manage/BlockChooser/BlockChooser
2754
2754
  # defaultMessage: Unfold
@@ -3508,7 +3508,7 @@ msgstr "Indice dei contenuti"
3508
3508
  #: helpers/MessageLabels/MessageLabels
3509
3509
  # defaultMessage: Input must be valid url (www.something.com or http(s)://www.something.com)
3510
3510
  msgid "url"
3511
- msgstr "URL"
3511
+ msgstr "Il testo inserito deve essere un url valido (www.qualcosa.com oppure http(s)://www.qualcosa.com)"
3512
3512
 
3513
3513
  #: components/manage/Toolbar/PersonalTools
3514
3514
  # defaultMessage: user avatar
package/locales/it.json CHANGED
@@ -1 +1 @@
1
- {"<p>Add some HTML here</p>":"<p>Aggiungi dell'HTML qui</p>","Accessibility":"Accessibilità","Account Registration Completed":"Registrazione account completata","Account activation completed":"Attivazione account completata","Action":"Azione","Actions":"Azioni","Activate and deactivate":"Attiva e disattiva","Add":"Aggiungi","Add Addons":"Aggiungi Add-ons","Add Content":"Aggiungi un contenuto","Add Translation…":"Aggiungi traduzione…","Add User":"Aggiungi un utente","Add a description…":"Aggiungi una descrizione…","Add block":"Aggiungi blocco","Add block…":"Aggiungi un blocco…","Add criteria":"Aggiungi un criterio","Add date":"Aggiungi una data","Add field":"Aggiungi campo","Add fieldset":"Aggiungi un nuovo insieme di campi","Add group":"Aggiungi un gruppo","Add new content type":"Aggiungi un nuovo tipo di contenuto","Add new group":"Aggiungi un nuovo gruppo","Add new user":"Aggiungi nuovo utente","Add to Groups":"Aggiungi ai gruppi","Add vocabulary term":"Aggiungi termine","Add {type}":"Aggiungi {type}","Add-ons Settings":"Impostazioni Add-ons","Additional date":"Data aggiuntiva","Alignment":"Allineamento","All":"Tutti","Alphabetically":"Alfabetico","Alt text":"Testo alternativo","Alt text hint":"Lascia vuoto se l'immagine è decorativa.","Alt text hint link text":"Descrivi lo scopo dell'immagine.","Apply working copy":"Applica la copia di lavoro","Are you sure you want to delete this field?":"Sicuro di voler eliminare questo campo?","Are you sure you want to delete this fieldset including all fields?":"Sicuro di voler eliminare questo insieme di campi compresi tutti i campi contenuti?","Ascending":"Crescente","Available":"Disponibile","Back":"Indietro","Base":"Base","Base search query":"Ricerca iniziale","Block":"Blocco","Both email address and password are case sensitive, check that caps lock is not enabled.":"E-mail e password distinguono entrambi le maiuscole dalle minuscole, verifica di non avere il Blocco maiuscole attivato.","Breadcrumbs":"Briciole di pane","Browse":"Sfoglia","Browse the site, drop an image, or type an URL":"Sfoglia i contenuti, rilascia un'immagine o digita un URL","By default, permissions from the container of this item are inherited. If you disable this, only the explicitly defined sharing permissions will be valid. In the overview, the symbol {inherited} indicates an inherited value. Similarly, the symbol {global} indicates a global role, which is managed by the site administrator.":"Di norma, i permessi di questo elemento vengono ereditati dal contenitore. Se disabiliti questa opzione, verranno considerati solo i permessi di condivisione definiti esplicitamente. Nel sommario, il simbolo {inherited} indica una impostazione ereditata. Analogamente, il simbolo {global} indica un ruolo globale, che è gestito dall'amministratore del sito","Cache Name":"Nome della cache","Can not edit Layout for <strong>{type}</strong> content-type as it doesn't have support for <strong>Volto Blocks</strong> enabled":"Non è possibile modificare il Layout per il tipo <strong>{type}</strong> poichè non ha abilitato il supporto per i <strong>blocchi</strong>","Can not edit Layout for <strong>{type}</strong> content-type as the <strong>Blocks behavior</strong> is enabled and <strong>read-only</strong>":"Non è possibile modificare il Layout per il tipo <strong>{type}</strong> poichè il <strong>Blocks behavior</strong> è abilitato ma in <strong>sola lettura</strong>","Cancel":"Annulla","Cell":"Cella","Center":"Centrato","Change Note":"Cambia Nota","Change Password":"Cambia Password","Change State":"Cambia Stato","Change workflow state recursively":"Cambia stato di workflow ricorsivamente","Changes applied.":"Modifiche applicate.","Changes saved":"Modifiche salvate","Changes saved.":"Modifiche salvate.","Checkbox":"Checkbox","Choices":"Scelta multipla","Choose Image":"Seleziona un'immagine","Choose Target":"Seleziona la destinazione","Choose a file":"Scegli un file","Clear":"Annulla","Clear filters":"Azzera filtri","Click to download full sized image":"Clicca per scaricare l'immagine in dimensione originale","Close":"Chiudi","Close menu":"Chiudi menu","Code":"Codice","Collapse item":"Collassa elemento","Collection":"Collezione","Comment":"Commento","Commenter":"Autore","Comments":"Commenti","Compare":"Confronta","Confirm password":"Conferma password","Connection refused":"Connessione rifiutata","Contact":"Contatti","Contact form":"Form di contatto","Contained items":"Elementi contenuti","Content type created":"Il tipo di contenuto è stato creato","Content type deleted":"Il tipo di contenuto è stato eliminato","Contents":"Contenuti","Controls":"Controlli","Copy":"Copia","Copy blocks":"Copia blocchi","Copyright":"Copyright","Copyright statement or other rights information on this item.":"Informazioni sul copyright o su altri diritti dell'elemento.","Create working copy":"Crea copia di lavoro","Created by {creator} on {date}":"Creato da {creator} il {date}","Created on":"Creato il","Creator":"Autore","Creators":"Autori","Criteria":"Criteri","Current filters applied":"Filtri attualmente applicati","Current password":"Password corrente","Cut":"Taglia","Cut blocks":"Taglia blocchi","Daily":"Giornaliera","Database Information":"Informazioni sul database","Database Location":"Posizione del database","Database Size":"Dimensione del database","Database main":"Database principale","Date":"Data","Date (newest first)":"Data (prima i più recenti)","Default":"Default","Delete":"Elimina","Delete Group":"Elimina gruppo","Delete Type":"Rimuovi tipo di contenuto","Delete User":"Elimina utente","Delete blocks":"Elimina blocchi","Delete col":"Elimina colonna","Delete row":"Elimina riga","Depth":"Profondità di ricerca","Descending":"Decrescente","Description":"Descrizione","Diff":"Diff","Difference between revision {one} and {two} of {title}":"Differenze tra la revisione {one} e {two} di {title}","Distributed under the {license}.":"Distribuito sotto {license}","Divide each row into separate cells":"Dividi ogni fila in celle separate","Do you really want to delete the following items?":"Vuoi veramente eliminare i seguenti elementi?","Do you really want to delete the group {groupname}?":"Vuoi veramente eliminare il gruppo {groupname}?","Do you really want to delete the type {typename}?":"Vuoi veramente eliminare il tipo di contenuto {typename}?","Do you really want to delete the user {username}?":"Vuoi veramente eliminare l'utente {username}?","Do you really want to delete this item?":"Vuoi veramente eliminare questo elemento?","Document":"Pagina","Drag and drop files from your computer onto this area or click the “Browse” button.":"Trascina in quest'area i file dal tuo computer o clicca su “Sfoglia”.","Drop file here to replace the existing file":"Rilascia un file qui per sostituire quello esistente","Drop file here to upload a new file":"Rilascia un file qui per caricare un nuovo file","Drop files here ...":"Rilascia file qui...","E-mail":"E-mail","E-mail addresses do not match.":"Gli indirizzi e-mail non corrispondono","Edit":"Modifica","Edit comment":"Modifica commento","Edit field":"Modifica campo","Edit fieldset":"Modifica insieme di campi","Edit recurrence":"Modifica le regole","Edit values":"Modifica i valori","Edit {title}":"Modifica {title}","Email":"Email","Email sent":"Email inviata","Embed code error, please follow the instructions and try again.":"Errore del codice incorporato, per favore segui le istruzioni e riprova.","Embeded Google Maps":"Google Maps incorporata","Empty object list":"Lista di oggetti vuota","Enable editable Blocks":"Abilita i blocchi editabili","End Date":"Data di fine","Enter URL or select an item":"Inserisci un URL o seleziona un elemento","Enter a username above to search or click 'Show All'":"Inserisci uno username da ricercare, oppure clicca su 'Vedi tutto'","Enter an email address. This will be your login name. We respect your privacy, and will not give the address away to any third parties or expose it anywhere.":"Inserisci un indirizzo e-mail. Esso sarà il tuo nome utente. Rispettiamo la tua privacy: non daremo l'indirizzo a terzi, né verrà esposto nel portale.","Enter full name, e.g. John Smith.":"Inserisci il tuo nome completo, ad esempio Mario Rossi.","Enter map Embed Code":"Inserisci il codice di incorporamento della mappa","Enter your current password.":"Inserisci la tua password attuale.","Enter your email address for verification.":"Inserisci la tua mail per verifica.","Enter your new password. Minimum 5 characters.":"Inserisci la tua nuova password. Minimo 5 caratteri.","Error":"Errore","Exclude from navigation":"Escludi dalla navigazione","Exclude this occurence":"Escludi questa data","Excluded from navigation":"Escluso dalla navigazione","Expand sidebar":"Espandi la sidebar","Expiration Date":"Data di scadenza","Expiration date":"Data di scadenza","Expired":"Scaduto","External URL":"URL esterno","Facet":"Faccetta","Facet widget":"Widget della faccetta","Facets":"Faccette","Facets on left side":"Faccette nel lato sinistro","Facets on right side":"Faccette nel lato destro","Facets on top":"Faccette in alto","Field":"Campo","File":"File","File size":"Dimensione del file","Filename":"Nome del file","Filter…":"Filtra…","First":"Primo","Fixed width table cells":"Celle della tabella a larghezza fissata","Fold":"Chiudi","Folder":"Cartella","Forbidden":"Proibito","Fourth":"Quarto","From":"Da","Full":"A tutta larghezza","Full Name":"Nome completo","Fullname":"Nome completo","GNU GPL license":"licenza GNU GPL","Global role":"Ruolo globale","Google Maps Embedded Block":"Blocco Google Maps incorporata","Group":"Gruppo","Group created":"Gruppo creato","Group roles updated":"Ruoli del gruppo aggiornati","Groupname":"Nome del gruppo","Groups":"Gruppi","Groups are logical collections of users, such as departments and business units. Groups are not directly related to permissions on a global level, you normally use Roles for that - and let certain Groups have a particular role. The symbol{plone_svg}indicates a role inherited from membership in another group.":"I gruppi sono raggruppamenti di utenti, come dipartimenti e unità organizzative. I gruppi non sono direttamente collegati a permessi a livello globale, per quello usiamo i ruoli e applichiamo specifici ruoli a certi gruppi. Il simbolo {plong_svg} indica che un ruolo è ereditato dall'appartenenza ad un gruppo.","Header cell":"Cella d'intestazione","Headline":"Intestazione","Hidden facets will still filter the results if proper parameters are passed in URLs":"Le faccette nascoste filtreranno comunque i risultati se saranno passati parametri adeguati nell'URL","Hide Replies":"Nascondi risposte","Hide facet?":"Nascondere la faccetta?","History":"Cronologia","History Version Number":"Numero di versione della cronologia","History of {title}":"Cronologia di {title}","Home":"Home","Home page":"Pagina personale","ID":"ID","If selected, this item will not appear in the navigation tree":"Se attivi l'opzione, questo elemento non apparirà nell'albero di navigazione del sito.","If this date is in the future, the content will not show up in listings and searches until this date.":"Se questa data è in futuro, il contenuto non verrà mostrato negli elenchi e nelle ricerche fino a questa data.","If you are certain this user has abandoned the object, you may unlock the object. You will then be able to edit it.":"Se sei sicuro che questo utente ha chiuso l'oggetto, puoi sbloccarlo. Sarai successivamente in grado di modificarlo.","If you are certain you have the correct web address but are encountering an error, please contact the {site_admin}.":"Se sei sicuro di aver inserito l'indirizzo corretto ma ottieni comunque un errore, contatta l' {site_admin}.","Image":"Immagine","Image gallery":"Galleria di immagini","Include this occurence":"Includi questa data","Info":"Info","Inherit permissions from higher levels":"Eredita i permessi dai livelli superiori","Inherited value":"Valore ereditato","Insert col after":"Inserisci colonna dopo","Insert col before":"Inserisci colonna prima","Insert row after":"Inserisci riga sotto","Insert row before":"Inserisci riga sopra","Install":"Installa","Installed":"Installato","Installed version":"Versione installata","Interval Daily":"giorni","Interval Monthly":"mesi","Interval Weekly":"settimane","Interval Yearly":"anni","Item batch size":"Risultati per pagina","Item succesfully moved.":"Elemento spostato correttamente.","Item(s) copied.":"Elemento/i copiato/i.","Item(s) cut.":"Elemento/i tagliato/i.","Item(s) has been updated.":"Elemento/i aggiornati.","Item(s) pasted.":"Elemento/i incollato/i.","Item(s) state has been updated.":"Stato/i aggiornato/i","Items":"Elementi","Items must be unique.":"Gli elementi devono essere unici.","Label":"Etichetta","Language":"Lingua","Language independent field.":"","Last":"Ultimo","Last comment date":"Data ultimo commento","Last modified":"Ultima modifica","Latest version":"Ultima versione","Layout":"Layout","Lead Image":"Immagine di testata","Left":"Sinistra","Link":"Link","Link more":"Link ad altro","Link title":"Link al resto","Link to":"Link a","Link translation for":"Collega traduzione per","Listing":"Elenco","Load more":"Carica altro","Loading":"Caricamento","Location":"Luogo","Log In":"Log In","Log in":"Log in","Login":"Login","Login Failed":"Accesso fallito","Login Name":"Nome utente","Logout":"Logout","Made by {creator} on {date}. This is not a working copy anymore, but the main content.":"Creato da {creator} il {date}. Questa non è più una copia di lavoro, ma il contenuto principale.","Make the table compact":"Rendi la tabella compatta","Manage Translations":"Gestisci traduzioni","Manage translations for {title}":"Gestisci le traduzioni per {title}","Map":"Mappa","Maps URL":"URL di Maps","Maximum length is {len}.":"La lunghezza massima è {len}.","Maximum value is {len}.":"Il valore massimo è {len}.","Message":"Messaggio","Minimum length is {len}.":"La lunghezza minima è {len}","Minimum value is {len}.":"Il valore minimo è {len}.","Moderate Comments":"Modera i commenti","Moderate comments":"Moderazione dei commenti","Monday and Friday":"lunedi e venerdì","Month day":"Giorno","Monthly":"Mensile","More":"Altro","Move to bottom of folder":"Sposta in fondo alla cartella","Move to top of folder":"Sposta in cima alla cartella","Multiple choices?":"Scelta multipla?","My email address is":"Il mio indirizzo email è","Name":"Nome","Navigate back":"Torna indietro","Navigation":"Navigazione","New password":"Nuova password","News Item":"Notizia","No":"No","No image selected":"Nessuna immagine selezionata","No image set in Lead Image content field":"Nessuna immagine impostata come Immagine di testata","No image set in image content field":"Nessuna immagine impostata","No items found in this container.":"Nessun elemento trovato in questo contenitore.","No items selected":"Nessun elemento selezionato","No map selected":"Nessuna mappa selezionata","No occurences set":"Nessuna ricorrenza impostata","No options":"Nessuna opzione","No results found":"Nessun risultato","No results found.":"La ricerca non ha prodotto risultati.","No selection":"Nessun elemento selezionato","No uninstall profile":"Nessun profilo di disinstallazione","No value":"Nessun valore","No video selected":"Nessun video selezionato","No workflow":"Nessun flusso","None":"Nessuno","Note that roles set here apply directly to a user. The symbol{plone_svg}indicates a role inherited from membership in a group.":"Tieni presente che i ruoli qui impostati si applicano direttamente a un utente. Il simbolo {plone_svg} indica un ruolo ereditato dall'appartenenza a un gruppo.","Number of active objects":"Numero degli oggetti attivi","Object Size":"Dimensioni dell'oggetto","Occurences":"occorrenze","Ok":"Ok","Open in a new tab":"Apri in un nuovo tab","Open menu":"Apri menu","Open object browser":"Apri object browser","Origin":"Origine","Page":"Pagina","Parent fieldset":"Fieldset genitore","Password":"Password","Password reset":"Recupera password","Passwords do not match.":"Le password non corrispondono.","Paste":"Incolla","Paste blocks":"Incolla blocchi","Permissions have been updated successfully":"I permesso sono stati aggiornati con successo","Permissions updated":"Permessi aggiornati","Personal Information":"Informazioni Personali","Personal Preferences":"Preferenze Personali","Personal tools":"Strumenti","Persons responsible for creating the content of this item. Please enter a list of user names, one per line. The principal creator should come first.":"Persone responsabili della creazione del contenuto di questo elemento. Inserisci un elenco di nomi, uno per riga. L'autore principale dovrebbe essere messo al primo posto.","Please enter a valid URL by deleting the block and adding a new video block.":"Inserisci un URL valido eliminando il blocco e aggiungendo un nuovo blocco di tipo video.","Please enter the Embed Code provided by Google Maps -> Share -> Embed map. It should contain the <iframe> code on it.":"Per favore inserisci il codice di incorporamento fornito da Google Maps. Per incorporare la mappa di un luogo clicca su 'Condividi' -> 'Incorporare una mappa' -> 'Copia HTML'. Se invece vuoi incorporare una mappa con MyMaps clicca su 'Incorpora nel mio sito' -> 'Copia HTML'. Deve contenere un <iframe>.","Please fill out the form below to set your password.":"Completa il seguente modulo per reimpostare la tua password.","Plone Foundation":"Plone Foundation","Plone Site":"Sito Plone","Plone{reg} Open Source CMS/WCM":"Plone{reg} Open Source CMS/WCM","Portrait":"Ritratto","Possible values":"Valori possibili","Powered by Plone & Python":"Realizzato con Plone &amp; Python","Preferences":"Preferenze","Prettify your code":"Formatta il tuo codice","Preview":"Anteprima","Preview Image URL":"URL dell'immagine di anteprima","Profile":"Profilo","Properties":"Proprietà","Publication date":"Data di pubblicazione","Publishing Date":"Data di pubblicazione","Query":"Query","Re-enter the password. Make sure the passwords are identical.":"Reinserisci la password. Assicurati che le password siano identiche.","Read More…":"Leggi il resto…","Rearrange items by…":"Riordina elementi per…","Recurrence ends":"Termina","Recurrence ends after":"dopo","Recurrence ends on":"il","Redo":"","Reduce complexity":"Riduci complessità","Register":"Registrati","Registration form":"Form di iscrizione","Relevance":"Rilevanza","Remove item":"Rimuovi elemento","Remove recurrence":"Rimuovi","Remove term":"Rimuovi termine","Remove working copy":"Rimuovi copia di lavoro","Rename":"Rinomina","Rename Items Loading Message":"Aggiornando gli elementi...","Rename items":"Rinomina elementi","Repeat":"Tipo di ricorrenza","Repeat every":"Ogni","Repeat on":"Ripeti ogni","Replace existing file":"Sostituisci file esistente","Reply":"Rispondi","Required":"Obbligatorio","Required input is missing.":"Un campo richiesto è mancante.","Reset term title":"Reimposta titolo del termine","Results limit":"Numero massimo di risultati ","Results preview":"Anteprima dei risultati","Results template":"Template dei risultati","Reversed order":"Ordine inverso","Revert to this revision":"Ripristina questa versione","Review state":"Stato del workflow","Richtext":"Testo formattato","Right":"Destra","Rights":"Diritti","Roles":"Ruoli","Root":"Radice","Save":"Salva","Save recurrence":"Salva la ricorrenza","Schema":"Schema","Schema updates":"Aggiornamenti dello schema","Search":"Ricerca","Search SVG":"Cerca","Search Site":"Cerca nel sito","Search block":"Blocco di ricerca","Search button label":"Etichetta del bottone di ricerca","Search content":"Cerca contenuto","Search for user or group":"Ricerca per nome utente o gruppo","Search group…":"Cerca gruppo…","Search input label":"Etichetta del campo di ricerca","Search results":"Risultati della ricerca","Search results for {term}":"Risultati per {term}","Search users…":"Cerca utenti…","Searched for":"Hai cercato","Second":"Secondo","Section title":"Titolo della sezione","Select":"Seleziona","Select a date to add to recurrence":"Seleziona una data da aggiungere alla ricorrenza","Select columns to show":"Seleziona le colonne da mostrare","Select the transition to be used for modifying the items state.":"Seleziona la transizione da effettuare per cambiare lo stato del contenuto.","Selected dates":"Date selezionate","Selected items":"Elementi selezionati","Selected items - x of y":"su","Selection":"Selezione","Select…":"Seleziona…","Send":"Invia","Set my password":"Imposta la password","Set your password":"Specifica la tua password","Settings":"Impostazioni","Sharing":"Condivisione","Sharing for {title}":"Condivisioni di {title}","Short Name":"Nome Breve","Short name":"Nome breve","Show":"Mostra","Show All":"Mostra tutti","Show Replies":"Mostra risposte","Show item":"Mostra elemento","Show search button?":"Mostrare il bottone di ricerca?","Show search input?":"Mostrare il campo di ricerca?","Show sorting?":"Mostrare l'ordinamento?","Shrink sidebar":"Riduci la sidebar","Shrink toolbar":"Riduci la toolbar","Sign in to start session":"Accedi per iniziare la sessione","Site":"Sito","Site Administration":"Amministratore del sito","Site Map":"Mappa del sito","Site Setup":"Configurazione del sito","Sitemap":"Mappa del sito","Size":"Dimensione","Size: {size}":"Dimensione: {size}","Sorry, something went wrong with your request":"Spiacente, qualcosa è andato storto","Sort By:":"Ordina per:","Sort on":"Ordina per","Sort on label":"Etichetta dell'ordinamento","Sort on options":"Opzioni di ordinamento","Source":"Sorgente","Specify a youtube video or playlist url":"Specifica l'URL di un video o una playlist di YouTube","Split":"Dividi","Start Date":"Data di inizio","Start of the recurrence":"Inizio della ricorrenza","Start password reset":"Rinnova la password","State":"Stato","Stop compare":"Interrompi il confronto","String":"Stringa","Stripe alternate rows with color":"Colore delle righe alternato","Subject":"Oggetto","Success":"Successo","Summary":"Sommario","Switch to":"Vai a","Table":"Tabella","Table of Contents":"Indice dei contenuti","Tags":"Categorie","Tags to add":"Categorie da aggiungere","Tags to remove":"Categorie da rimuovere","Target memory size per cache in bytes":"Dimensionei target della memoria per cache in byte","Target number of objects in memory per cache":"Numero target di oggetti in memoria per cache","Text":"Testo","Thank you.":"Grazie.","The Database Manager allow you to view database status information":"Il Database Manager ti permette di vedere le informazioni di stato del database","The URL for your external home page, if you have one.":"L'indirizzo della tua pagina personale esterna, se ne hai una.","The backend is not responding, please check if you have started Plone, check your project's configuration object apiPath (or if you are using the internal proxy, devProxyToApiPath) or the RAZZLE_API_PATH Volto's environment variable.":"Il backend non sta rispondendo, verifica di avere avviato Plone, controlla la configurazione di apiPath nel tuo progetto (o se stai usando un proxy interno, devProxyToApiPath) oppure la variabile RAZZLE_API_PATH nell'ambiente di Volto.","The backend is responding, but the CORS headers are not configured properly and the browser has denied the access to the backend resources.":"Il backend sta rispondendo, ma i CORS headers non sono adeguatamente configurati e il browser ha negato l'accesso alle risorse del backend.","The backend server of your website is not answering, we apologize for the inconvenience. Please try to re-load the page and try again. If the problem persists please contact the site administrators.":"Il server di backend del tuo sito web non risponde, ci scusiamo per l'inconveniente. Prova a ricaricare la pagina e riprova. Se il problema persiste, contattare gli amministratori del sito.","The button presence disables the live search, the query is issued when you press ENTER":"La presenza del bottone disabilita la ricerca al volo, la ricerca verrà effettuata premendo Invio","The item could not be deleted.":"L'elemento non può essere eliminato.","The link address is:":"L'indirizzo del collegamento è:","The registration process has been successful. Please check your e-mail inbox for information on how activate your account.":"La registrazione è avvenuta correttamente. Per favore controlla la tua casella di posta per informazioni su come attivare il tuo account.","The user portrait/avatar":"L'avatar/ritratto utente","The working copy was discarded":"La copia di lavoro è stata scartata","The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.":"{plonecms} è {copyright} 2000-{current_year} della {plonefoundation} ed amici.","There is a configuration problem on the backend":"C'è un problema di configurazione sul backend","There were some errors":"Si sono verificati degli errori","There were some errors.":"Si sono verificati degli errori.","Third":"Terzo","This has an ongoing working copy in {title}":"Questa è una copia di lavoro in corso di {title}","This is a working copy of {title}":"Questa è una copia di lavoro di {title}","This item was locked by {creator} on {date}":"Questo contenuto è stato bloccato da {creator} il {date}","This name will be displayed in the URL.":"Questo nome verrà mostrato nell'URL.","This page does not seem to exist…":"Questa pagina non esiste…","Time":"Ora","Title":"Titolo","Total active and non-active objects":"Totale degli oggetti attivi e non attivi","Total comments":"Totale dei commenti","Total number of objects in each cache":"Numero totale degli oggetti in ogni cache","Total number of objects in memory from all caches":"Numero totale degli oggetti di tutte le cache","Total number of objects in the database":"Numero totale di oggetti nel database","Translate to {lang}":"Traduci in {lang}","Translation linked":"Traduzioni collegate","Translation linking removed":"Rimosso il collegamento delle traduzioni","Type":"Tipo","Type a Video (YouTube, Vimeo or mp4) URL":"Digita l'URL di un Video (YouTube, Vimeo or mp4)","Type text...":"","Type text…":"Digita testo…","Type the title…":"Digita il titolo…","UID":"UID","Unauthorized":"Non autorizzato","Undo":"","Unfold":"Apri","Unified":"Unificato","Uninstall":"Disinstalla","Unknown Block":"Blocco sconosciuto","Unlink translation for":"Scollega traduzione per","Unlock":"Sblocca","Update":"Aggiorna","Update installed addons":"Aggiorna gli addons installati","Update installed addons:":"Aggiorna gli addons installati:","Updates available":"Aggiornamenti disponibili","Upload":"Carica","Upload a lead image in the 'Lead Image' content field.":"Carica un'Immagine di testata nel campo del contenuto.","Upload a new image":"Carica una nuova immagine","Upload files":"Carica file","Uploading files":"Caricamento dei files","Uploading image":"Caricamento dell'immagine","Used for programmatic access to the fieldset.":"Usato per l'accesso programmatico al set di campi.","User":"Utente","User created":"Utente creato","User name":"Nome utente","User roles updated":"Ruoli utente aggiornati","Username":"Username","Users":"Utenti","Users and Groups":"Utenti e gruppi","Variation":"Variazione","Version Overview":"Panoramica delle versioni","Video":"Video","Video URL":"URL del video","View":"Visualizza","View changes":"Mostra le modifiche","View this revision":"Mostra questa revisione","View working copy":"Vedi copia di lavoro","Viewmode":"Vista","Vocabulary term":"Termine del vocabolario","Vocabulary term title":"Titolo del termine del vocabolario","Vocabulary terms":"Termini del vocabolario","Warning Regarding debug mode":"Avviso relativo alla modalità di debug","We apologize for the inconvenience, but the backend of the site you are accessing is not available right now. Please, try again later.":"Ci scusiamo per l'inconveniente, ma il backend del sito a cui stai cercando di accedere non è disponibile al momento. Ti preghiamo di riprovare più tardi.","We apologize for the inconvenience, but the page you were trying to access is not at this address. You can use the links below to help you find what you are looking for.":"Ci scusiamo per l'inconveniente, la pagina cui stai provando ad accedere non esiste a questo indirizzo. Puoi usare il link qui sotto per trovare quello che stavi cercando.","We apologize for the inconvenience, but you don't have permissions on this resource.":"Ci scusiamo per l'inconveniente, ma non hai i permessi per questa risorsa.","We will use this address if you need to recover your password":"Useremo questo indirizzo email nel caso dovessi recuperare la tua password","Weeek day of month":"Il","Weekday":"giorno feriale (lunedì-venerdì)","Weekly":"Settimanale","What":"Cosa","When":"Quando","When this date is reached, the content will nolonger be visible in listings and searches.":"Quando questa data sarà raggiunta, il contenuto non sarà più visibile negli elenchi e nelle ricerche.","Who":"Chi","Workflow Change Loading Message":"Aggiornando gli stati...","Workflow updated.":"Workflow aggiornato.","Yearly":"Annuale","Yes":"Si","You are trying to access a protected resource, please {login} first.":"Stai provando ad accedere ad una risorsa protetta, per favore fai prima il {login}.","You are using an outdated browser":"Stai usando un browser obsoleto","You can add a comment by filling out the form below. Plain text formatting.":"Puoi aggiungere un commento compilando la form sotto. Utilizza il testo semplice.","You can control who can view and edit your item using the list below.":"Puoi controllare chi può visualizzare e modificare l'elemento usando l'elenco che segue.","You can view the difference of the revisions below.":"Puoi visualizzare la differenza delle revisioni qui sotto.","You can view the history of your item below.":"Puoi visualizzare la cronologia del tuo articolo qui sotto.","You can't paste this content here":"Non puoi incollare questo contenuto qui.","Your email is required for reset your password.":"La tua email è necessaria per reimpostare la tua password.","Your location - either city and country - or in a company setting, where your office is located.":"La località in cui vivi (paese e città) oppure, in ambito aziendale, il luogo in cui si trova il tuo ufficio.","Your password has been set successfully. You may now {link} with your new password.":"La tua password è stata reimpostata correttamente. Ora puoi {link} usando la nuova password.","Your preferred language":"La tua lingua preferita.","box_forgot_password_option":"Hai dimenticato la tua password?","common":"Comuni","compare_to":"Confronta con","delete":"Elimina","deprecated_browser_notice_message":"Stai usando {browsername} {browserversion} che è stato deprecato dal suo fornitore. Questo significa che non riceverà aggiornamenti di sicurezza e che non supporterà le attuali funzionalità del web moderno, danneggiando l'esperienza utente. Esegui l'upgrade a un browser moderno.","description":"Descrizione","description_lost_password":"Per ragioni di sicurezza, le password vengono memorizzate in forma crittata e non è quindi possibile spedirtela. Se desideri reimpostare la tua password, completa il modulo sottostante: ti verranno spedite ulteriori istruzioni per completare il processo all'indirizzo e-mail che hai specificato all'iscrizione.","description_sent_password":"La istruzioni per reimpostare la tua password sono state inviate. Dovrebbero arrivare a breve nella tua casella di posta. Una volta ricevuto il messaggio, visita l'indirizzo indicato per reimpostare la password.","draft":"Bozza","email":"email","event_alldates":"Tutte le date","event_attendees":"Partecipanti","event_contactname":"Nome del contatto","event_contactphone":"Telefono del contatto","event_website":"Sito web","event_what":"Cosa","event_when":"Quando","event_where":"Dove","heading_sent_password":"Richiesta di conferma reimpostazione password spedita","hero":"Hero","html":"HTML","image":"Immagine","integer":"intero","intranet":"Pubbliato internamente","label_my_email_address_is":"Il mio indirizzo email è","leadimage":"Immagine di testata","listing":"Elenco","loading":"caricamento","log in":"log in","maps":"Mappa","maxLength":"Lunghezza massima","maximum":"Fine del range (valore stesso incluso)","media":"media","minLength":"Lunghezza minima","minimum":"Inizio del range","mostUsed":"Più usati","no workflow state":"Nessun stato di workflow","number":"numero","of the month":"del mese","or try a different page.":"oppure prova una pagina diversa.","others":"altre","private":"Privato","published":"Pubblicato","querystring-widget-select":"Seleziona…","results found":"risultati trovati","return to the site root":"ritorna alla radice del sito","rrule_and":"e","rrule_approximate":"(approssimativamente)","rrule_at":"alle","rrule_dateFormat":"[day] [month] [year]","rrule_day":"giorno","rrule_days":"giorni","rrule_every":"ogni","rrule_for":"per","rrule_hour":"ora","rrule_hours":"ore","rrule_in":"nel","rrule_last":"ultimo","rrule_minutes":"minuti","rrule_month":"mese","rrule_months":"mesi","rrule_nd":"secondo","rrule_on":"il","rrule_on the":"nel","rrule_or":"oppure","rrule_rd":"terzo","rrule_st":"primo","rrule_th":"*","rrule_the":"il","rrule_time":"volta","rrule_times":"volte","rrule_until":"fino al","rrule_week":"settimana","rrule_weekday":"giorno","rrule_weekdays":"giorni","rrule_weeks":"settimane","rrule_year":"anno","rrule_years":"anni","skiplink-footer":"Salta al footer","skiplink-main-content":"Salta al contenuto","skiplink-navigation":"Salta alla navigazione","sort":"ordina","table":"Tabella","text":"Testo","title":"Titolo","toc":"Indice dei contenuti","url":"URL","user avatar":"Avatar dell'utente","video":"Video","visit_external_website":"Visita il sito web","{count, plural, one {Upload {count} file} other {Upload {count} files}}":"{count, plural, one {Carica {count} file} other {Carica {count} file}}","{count} selected":"{count} selezionati.","{id} Content Type":"{id} Tipo di Contenuto","{id} Schema":"{id} Schema","{title} copied.":"{title} copiato.","{title} cut.":"{title} tagliato.","{title} has been deleted.":"{title} è stato eliminato."}
1
+ {"<p>Add some HTML here</p>":"<p>Aggiungi dell'HTML qui</p>","Accessibility":"Accessibilità","Account Registration Completed":"Registrazione account completata","Account activation completed":"Attivazione account completata","Action":"Azione","Actions":"Azioni","Activate and deactivate":"Attiva e disattiva","Add":"Aggiungi","Add Addons":"Aggiungi Add-ons","Add Content":"Aggiungi un contenuto","Add Translation…":"Aggiungi traduzione…","Add User":"Aggiungi un utente","Add a description…":"Aggiungi una descrizione…","Add block":"Aggiungi blocco","Add block…":"Aggiungi un blocco…","Add criteria":"Aggiungi un criterio","Add date":"Aggiungi una data","Add field":"Aggiungi campo","Add fieldset":"Aggiungi un nuovo insieme di campi","Add group":"Aggiungi un gruppo","Add new content type":"Aggiungi un nuovo tipo di contenuto","Add new group":"Aggiungi un nuovo gruppo","Add new user":"Aggiungi nuovo utente","Add to Groups":"Aggiungi ai gruppi","Add vocabulary term":"Aggiungi termine","Add {type}":"Aggiungi {type}","Add-ons Settings":"Impostazioni Add-ons","Additional date":"Data aggiuntiva","Alignment":"Allineamento","All":"Tutti","Alphabetically":"Alfabetico","Alt text":"Testo alternativo","Alt text hint":"Lascia vuoto se l'immagine è decorativa.","Alt text hint link text":"Descrivi lo scopo dell'immagine.","Apply working copy":"Applica la copia di lavoro","Are you sure you want to delete this field?":"Sicuro di voler eliminare questo campo?","Are you sure you want to delete this fieldset including all fields?":"Sicuro di voler eliminare questo insieme di campi compresi tutti i campi contenuti?","Ascending":"Crescente","Available":"Disponibile","Back":"Indietro","Base":"Base","Base search query":"Ricerca iniziale","Block":"Blocco","Both email address and password are case sensitive, check that caps lock is not enabled.":"E-mail e password distinguono entrambi le maiuscole dalle minuscole, verifica di non avere il Blocco maiuscole attivato.","Breadcrumbs":"Briciole di pane","Browse":"Sfoglia","Browse the site, drop an image, or type an URL":"Sfoglia i contenuti, rilascia un'immagine o digita un URL","By default, permissions from the container of this item are inherited. If you disable this, only the explicitly defined sharing permissions will be valid. In the overview, the symbol {inherited} indicates an inherited value. Similarly, the symbol {global} indicates a global role, which is managed by the site administrator.":"Di norma, i permessi di questo elemento vengono ereditati dal contenitore. Se disabiliti questa opzione, verranno considerati solo i permessi di condivisione definiti esplicitamente. Nel sommario, il simbolo {inherited} indica una impostazione ereditata. Analogamente, il simbolo {global} indica un ruolo globale, che è gestito dall'amministratore del sito","Cache Name":"Nome della cache","Can not edit Layout for <strong>{type}</strong> content-type as it doesn't have support for <strong>Volto Blocks</strong> enabled":"Non è possibile modificare il Layout per il tipo <strong>{type}</strong> poichè non ha abilitato il supporto per i <strong>blocchi</strong>","Can not edit Layout for <strong>{type}</strong> content-type as the <strong>Blocks behavior</strong> is enabled and <strong>read-only</strong>":"Non è possibile modificare il Layout per il tipo <strong>{type}</strong> poichè il <strong>Blocks behavior</strong> è abilitato ma in <strong>sola lettura</strong>","Cancel":"Annulla","Cell":"Cella","Center":"Centrato","Change Note":"Cambia Nota","Change Password":"Cambia Password","Change State":"Cambia Stato","Change workflow state recursively":"Cambia stato di workflow ricorsivamente","Changes applied.":"Modifiche applicate.","Changes saved":"Modifiche salvate","Changes saved.":"Modifiche salvate.","Checkbox":"Checkbox","Choices":"Scelta multipla","Choose Image":"Seleziona un'immagine","Choose Target":"Seleziona la destinazione","Choose a file":"Scegli un file","Clear":"Annulla","Clear filters":"Azzera filtri","Click to download full sized image":"Clicca per scaricare l'immagine in dimensione originale","Close":"Chiudi","Close menu":"Chiudi menu","Code":"Codice","Collapse item":"Collassa elemento","Collection":"Collezione","Comment":"Commento","Commenter":"Autore","Comments":"Commenti","Compare":"Confronta","Confirm password":"Conferma password","Connection refused":"Connessione rifiutata","Contact":"Contatti","Contact form":"Form di contatto","Contained items":"Elementi contenuti","Content type created":"Il tipo di contenuto è stato creato","Content type deleted":"Il tipo di contenuto è stato eliminato","Contents":"Contenuti","Controls":"Controlli","Copy":"Copia","Copy blocks":"Copia blocchi","Copyright":"Copyright","Copyright statement or other rights information on this item.":"Informazioni sul copyright o su altri diritti dell'elemento.","Create working copy":"Crea copia di lavoro","Created by {creator} on {date}":"Creato da {creator} il {date}","Created on":"Creato il","Creator":"Autore","Creators":"Autori","Criteria":"Criteri","Current filters applied":"Filtri attualmente applicati","Current password":"Password corrente","Cut":"Taglia","Cut blocks":"Taglia blocchi","Daily":"Giornaliera","Database Information":"Informazioni sul database","Database Location":"Posizione del database","Database Size":"Dimensione del database","Database main":"Database principale","Date":"Data","Date (newest first)":"Data (prima i più recenti)","Default":"Default","Delete":"Elimina","Delete Group":"Elimina gruppo","Delete Type":"Rimuovi tipo di contenuto","Delete User":"Elimina utente","Delete blocks":"Elimina blocchi","Delete col":"Elimina colonna","Delete row":"Elimina riga","Depth":"Profondità di ricerca","Descending":"Decrescente","Description":"Descrizione","Diff":"Diff","Difference between revision {one} and {two} of {title}":"Differenze tra la revisione {one} e {two} di {title}","Distributed under the {license}.":"Distribuito sotto {license}","Divide each row into separate cells":"Dividi ogni fila in celle separate","Do you really want to delete the following items?":"Vuoi veramente eliminare i seguenti elementi?","Do you really want to delete the group {groupname}?":"Vuoi veramente eliminare il gruppo {groupname}?","Do you really want to delete the type {typename}?":"Vuoi veramente eliminare il tipo di contenuto {typename}?","Do you really want to delete the user {username}?":"Vuoi veramente eliminare l'utente {username}?","Do you really want to delete this item?":"Vuoi veramente eliminare questo elemento?","Document":"Pagina","Drag and drop files from your computer onto this area or click the “Browse” button.":"Trascina in quest'area i file dal tuo computer o clicca su “Sfoglia”.","Drop file here to replace the existing file":"Rilascia un file qui per sostituire quello esistente","Drop file here to upload a new file":"Rilascia un file qui per caricare un nuovo file","Drop files here ...":"Rilascia file qui...","E-mail":"E-mail","E-mail addresses do not match.":"Gli indirizzi e-mail non corrispondono","Edit":"Modifica","Edit comment":"Modifica commento","Edit field":"Modifica campo","Edit fieldset":"Modifica insieme di campi","Edit recurrence":"Modifica le regole","Edit values":"Modifica i valori","Edit {title}":"Modifica {title}","Email":"Email","Email sent":"Email inviata","Embed code error, please follow the instructions and try again.":"Errore del codice incorporato, per favore segui le istruzioni e riprova.","Embeded Google Maps":"Google Maps incorporata","Empty object list":"Lista di oggetti vuota","Enable editable Blocks":"Abilita i blocchi editabili","End Date":"Data di fine","Enter URL or select an item":"Inserisci un URL o seleziona un elemento","Enter a username above to search or click 'Show All'":"Inserisci uno username da ricercare, oppure clicca su 'Vedi tutto'","Enter an email address. This will be your login name. We respect your privacy, and will not give the address away to any third parties or expose it anywhere.":"Inserisci un indirizzo e-mail. Esso sarà il tuo nome utente. Rispettiamo la tua privacy: non daremo l'indirizzo a terzi, né verrà esposto nel portale.","Enter full name, e.g. John Smith.":"Inserisci il tuo nome completo, ad esempio Mario Rossi.","Enter map Embed Code":"Inserisci il codice di incorporamento della mappa","Enter your current password.":"Inserisci la tua password attuale.","Enter your email address for verification.":"Inserisci la tua mail per verifica.","Enter your new password. Minimum 5 characters.":"Inserisci la tua nuova password. Minimo 5 caratteri.","Error":"Errore","Exclude from navigation":"Escludi dalla navigazione","Exclude this occurence":"Escludi questa data","Excluded from navigation":"Escluso dalla navigazione","Expand sidebar":"Espandi la sidebar","Expiration Date":"Data di scadenza","Expiration date":"Data di scadenza","Expired":"Scaduto","External URL":"URL esterno","Facet":"Faccetta","Facet widget":"Widget della faccetta","Facets":"Faccette","Facets on left side":"Faccette nel lato sinistro","Facets on right side":"Faccette nel lato destro","Facets on top":"Faccette in alto","Field":"Campo","File":"File","File size":"Dimensione del file","Filename":"Nome del file","Filter…":"Filtra…","First":"Primo","Fixed width table cells":"Celle della tabella a larghezza fissata","Fold":"Chiudi","Folder":"Cartella","Forbidden":"Proibito","Fourth":"Quarto","From":"Da","Full":"A tutta larghezza","Full Name":"Nome completo","Fullname":"Nome completo","GNU GPL license":"licenza GNU GPL","Global role":"Ruolo globale","Google Maps Embedded Block":"Blocco Google Maps incorporata","Group":"Gruppo","Group created":"Gruppo creato","Group roles updated":"Ruoli del gruppo aggiornati","Groupname":"Nome del gruppo","Groups":"Gruppi","Groups are logical collections of users, such as departments and business units. Groups are not directly related to permissions on a global level, you normally use Roles for that - and let certain Groups have a particular role. The symbol{plone_svg}indicates a role inherited from membership in another group.":"I gruppi sono raggruppamenti di utenti, come dipartimenti e unità organizzative. I gruppi non sono direttamente collegati a permessi a livello globale, per quello usiamo i ruoli e applichiamo specifici ruoli a certi gruppi. Il simbolo {plong_svg} indica che un ruolo è ereditato dall'appartenenza ad un gruppo.","Header cell":"Cella d'intestazione","Headline":"Intestazione","Hidden facets will still filter the results if proper parameters are passed in URLs":"Le faccette nascoste filtreranno comunque i risultati se saranno passati parametri adeguati nell'URL","Hide Replies":"Nascondi risposte","Hide facet?":"Nascondere la faccetta?","History":"Cronologia","History Version Number":"Numero di versione della cronologia","History of {title}":"Cronologia di {title}","Home":"Home","Home page":"Pagina personale","ID":"ID","If selected, this item will not appear in the navigation tree":"Se attivi l'opzione, questo elemento non apparirà nell'albero di navigazione del sito.","If this date is in the future, the content will not show up in listings and searches until this date.":"Se questa data è in futuro, il contenuto non verrà mostrato negli elenchi e nelle ricerche fino a questa data.","If you are certain this user has abandoned the object, you may unlock the object. You will then be able to edit it.":"Se sei sicuro che questo utente ha chiuso l'oggetto, puoi sbloccarlo. Sarai successivamente in grado di modificarlo.","If you are certain you have the correct web address but are encountering an error, please contact the {site_admin}.":"Se sei sicuro di aver inserito l'indirizzo corretto ma ottieni comunque un errore, contatta l' {site_admin}.","Image":"Immagine","Image gallery":"Galleria di immagini","Include this occurence":"Includi questa data","Info":"Info","Inherit permissions from higher levels":"Eredita i permessi dai livelli superiori","Inherited value":"Valore ereditato","Insert col after":"Inserisci colonna dopo","Insert col before":"Inserisci colonna prima","Insert row after":"Inserisci riga sotto","Insert row before":"Inserisci riga sopra","Install":"Installa","Installed":"Installato","Installed version":"Versione installata","Interval Daily":"giorni","Interval Monthly":"mesi","Interval Weekly":"settimane","Interval Yearly":"anni","Item batch size":"Risultati per pagina","Item succesfully moved.":"Elemento spostato correttamente.","Item(s) copied.":"Elemento/i copiato/i.","Item(s) cut.":"Elemento/i tagliato/i.","Item(s) has been updated.":"Elemento/i aggiornati.","Item(s) pasted.":"Elemento/i incollato/i.","Item(s) state has been updated.":"Stato/i aggiornato/i","Items":"Elementi","Items must be unique.":"Gli elementi devono essere unici.","Label":"Etichetta","Language":"Lingua","Language independent field.":"Campo indipendete dalla lingua","Last":"Ultimo","Last comment date":"Data ultimo commento","Last modified":"Ultima modifica","Latest version":"Ultima versione","Layout":"Layout","Lead Image":"Immagine di testata","Left":"Sinistra","Link":"Link","Link more":"Link ad altro","Link title":"Link al resto","Link to":"Link a","Link translation for":"Collega traduzione per","Listing":"Elenco","Load more":"Carica altro","Loading":"Caricamento","Location":"Luogo","Log In":"Log In","Log in":"Log in","Login":"Login","Login Failed":"Accesso fallito","Login Name":"Nome utente","Logout":"Logout","Made by {creator} on {date}. This is not a working copy anymore, but the main content.":"Creato da {creator} il {date}. Questa non è più una copia di lavoro, ma il contenuto principale.","Make the table compact":"Rendi la tabella compatta","Manage Translations":"Gestisci traduzioni","Manage translations for {title}":"Gestisci le traduzioni per {title}","Map":"Mappa","Maps URL":"URL di Maps","Maximum length is {len}.":"La lunghezza massima è {len}.","Maximum value is {len}.":"Il valore massimo è {len}.","Message":"Messaggio","Minimum length is {len}.":"La lunghezza minima è {len}","Minimum value is {len}.":"Il valore minimo è {len}.","Moderate Comments":"Modera i commenti","Moderate comments":"Moderazione dei commenti","Monday and Friday":"lunedi e venerdì","Month day":"Giorno","Monthly":"Mensile","More":"Altro","Move to bottom of folder":"Sposta in fondo alla cartella","Move to top of folder":"Sposta in cima alla cartella","Multiple choices?":"Scelta multipla?","My email address is":"Il mio indirizzo email è","Name":"Nome","Navigate back":"Torna indietro","Navigation":"Navigazione","New password":"Nuova password","News Item":"Notizia","No":"No","No image selected":"Nessuna immagine selezionata","No image set in Lead Image content field":"Nessuna immagine impostata come Immagine di testata","No image set in image content field":"Nessuna immagine impostata","No items found in this container.":"Nessun elemento trovato in questo contenitore.","No items selected":"Nessun elemento selezionato","No map selected":"Nessuna mappa selezionata","No occurences set":"Nessuna ricorrenza impostata","No options":"Nessuna opzione","No results found":"Nessun risultato","No results found.":"La ricerca non ha prodotto risultati.","No selection":"Nessun elemento selezionato","No uninstall profile":"Nessun profilo di disinstallazione","No value":"Nessun valore","No video selected":"Nessun video selezionato","No workflow":"Nessun flusso","None":"Nessuno","Note that roles set here apply directly to a user. The symbol{plone_svg}indicates a role inherited from membership in a group.":"Tieni presente che i ruoli qui impostati si applicano direttamente a un utente. Il simbolo {plone_svg} indica un ruolo ereditato dall'appartenenza a un gruppo.","Number of active objects":"Numero degli oggetti attivi","Object Size":"Dimensioni dell'oggetto","Occurences":"occorrenze","Ok":"Ok","Open in a new tab":"Apri in un nuovo tab","Open menu":"Apri menu","Open object browser":"Apri object browser","Origin":"Origine","Page":"Pagina","Parent fieldset":"Fieldset genitore","Password":"Password","Password reset":"Recupera password","Passwords do not match.":"Le password non corrispondono.","Paste":"Incolla","Paste blocks":"Incolla blocchi","Permissions have been updated successfully":"I permesso sono stati aggiornati con successo","Permissions updated":"Permessi aggiornati","Personal Information":"Informazioni Personali","Personal Preferences":"Preferenze Personali","Personal tools":"Strumenti","Persons responsible for creating the content of this item. Please enter a list of user names, one per line. The principal creator should come first.":"Persone responsabili della creazione del contenuto di questo elemento. Inserisci un elenco di nomi, uno per riga. L'autore principale dovrebbe essere messo al primo posto.","Please enter a valid URL by deleting the block and adding a new video block.":"Inserisci un URL valido eliminando il blocco e aggiungendo un nuovo blocco di tipo video.","Please enter the Embed Code provided by Google Maps -> Share -> Embed map. It should contain the <iframe> code on it.":"Per favore inserisci il codice di incorporamento fornito da Google Maps. Per incorporare la mappa di un luogo clicca su 'Condividi' -> 'Incorporare una mappa' -> 'Copia HTML'. Se invece vuoi incorporare una mappa con MyMaps clicca su 'Incorpora nel mio sito' -> 'Copia HTML'. Deve contenere un <iframe>.","Please fill out the form below to set your password.":"Completa il seguente modulo per reimpostare la tua password.","Plone Foundation":"Plone Foundation","Plone Site":"Sito Plone","Plone{reg} Open Source CMS/WCM":"Plone{reg} Open Source CMS/WCM","Portrait":"Ritratto","Possible values":"Valori possibili","Powered by Plone & Python":"Realizzato con Plone &amp; Python","Preferences":"Preferenze","Prettify your code":"Formatta il tuo codice","Preview":"Anteprima","Preview Image URL":"URL dell'immagine di anteprima","Profile":"Profilo","Properties":"Proprietà","Publication date":"Data di pubblicazione","Publishing Date":"Data di pubblicazione","Query":"Query","Re-enter the password. Make sure the passwords are identical.":"Reinserisci la password. Assicurati che le password siano identiche.","Read More…":"Leggi il resto…","Rearrange items by…":"Riordina elementi per…","Recurrence ends":"Termina","Recurrence ends after":"dopo","Recurrence ends on":"il","Redo":"Ripeti","Reduce complexity":"Riduci complessità","Register":"Registrati","Registration form":"Form di iscrizione","Relevance":"Rilevanza","Remove item":"Rimuovi elemento","Remove recurrence":"Rimuovi","Remove term":"Rimuovi termine","Remove working copy":"Rimuovi copia di lavoro","Rename":"Rinomina","Rename Items Loading Message":"Aggiornando gli elementi...","Rename items":"Rinomina elementi","Repeat":"Tipo di ricorrenza","Repeat every":"Ogni","Repeat on":"Ripeti ogni","Replace existing file":"Sostituisci file esistente","Reply":"Rispondi","Required":"Obbligatorio","Required input is missing.":"Un campo richiesto è mancante.","Reset term title":"Reimposta titolo del termine","Results limit":"Numero massimo di risultati ","Results preview":"Anteprima dei risultati","Results template":"Template dei risultati","Reversed order":"Ordine inverso","Revert to this revision":"Ripristina questa versione","Review state":"Stato del workflow","Richtext":"Testo formattato","Right":"Destra","Rights":"Diritti","Roles":"Ruoli","Root":"Radice","Save":"Salva","Save recurrence":"Salva la ricorrenza","Schema":"Schema","Schema updates":"Aggiornamenti dello schema","Search":"Ricerca","Search SVG":"Cerca","Search Site":"Cerca nel sito","Search block":"Blocco di ricerca","Search button label":"Etichetta del bottone di ricerca","Search content":"Cerca contenuto","Search for user or group":"Ricerca per nome utente o gruppo","Search group…":"Cerca gruppo…","Search input label":"Etichetta del campo di ricerca","Search results":"Risultati della ricerca","Search results for {term}":"Risultati per {term}","Search users…":"Cerca utenti…","Searched for":"Hai cercato","Second":"Secondo","Section title":"Titolo della sezione","Select":"Seleziona","Select a date to add to recurrence":"Seleziona una data da aggiungere alla ricorrenza","Select columns to show":"Seleziona le colonne da mostrare","Select the transition to be used for modifying the items state.":"Seleziona la transizione da effettuare per cambiare lo stato del contenuto.","Selected dates":"Date selezionate","Selected items":"Elementi selezionati","Selected items - x of y":"su","Selection":"Selezione","Select…":"Seleziona…","Send":"Invia","Set my password":"Imposta la password","Set your password":"Specifica la tua password","Settings":"Impostazioni","Sharing":"Condivisione","Sharing for {title}":"Condivisioni di {title}","Short Name":"Nome Breve","Short name":"Nome breve","Show":"Mostra","Show All":"Mostra tutti","Show Replies":"Mostra risposte","Show item":"Mostra elemento","Show search button?":"Mostrare il bottone di ricerca?","Show search input?":"Mostrare il campo di ricerca?","Show sorting?":"Mostrare l'ordinamento?","Shrink sidebar":"Riduci la sidebar","Shrink toolbar":"Riduci la toolbar","Sign in to start session":"Accedi per iniziare la sessione","Site":"Sito","Site Administration":"Amministratore del sito","Site Map":"Mappa del sito","Site Setup":"Configurazione del sito","Sitemap":"Mappa del sito","Size":"Dimensione","Size: {size}":"Dimensione: {size}","Sorry, something went wrong with your request":"Spiacente, qualcosa è andato storto","Sort By:":"Ordina per:","Sort on":"Ordina per","Sort on label":"Etichetta dell'ordinamento","Sort on options":"Opzioni di ordinamento","Source":"Sorgente","Specify a youtube video or playlist url":"Specifica l'URL di un video o una playlist di YouTube","Split":"Dividi","Start Date":"Data di inizio","Start of the recurrence":"Inizio della ricorrenza","Start password reset":"Rinnova la password","State":"Stato","Stop compare":"Interrompi il confronto","String":"Stringa","Stripe alternate rows with color":"Colore delle righe alternato","Subject":"Oggetto","Success":"Successo","Summary":"Sommario","Switch to":"Vai a","Table":"Tabella","Table of Contents":"Indice dei contenuti","Tags":"Categorie","Tags to add":"Categorie da aggiungere","Tags to remove":"Categorie da rimuovere","Target memory size per cache in bytes":"Dimensionei target della memoria per cache in byte","Target number of objects in memory per cache":"Numero target di oggetti in memoria per cache","Text":"Testo","Thank you.":"Grazie.","The Database Manager allow you to view database status information":"Il Database Manager ti permette di vedere le informazioni di stato del database","The URL for your external home page, if you have one.":"L'indirizzo della tua pagina personale esterna, se ne hai una.","The backend is not responding, please check if you have started Plone, check your project's configuration object apiPath (or if you are using the internal proxy, devProxyToApiPath) or the RAZZLE_API_PATH Volto's environment variable.":"Il backend non sta rispondendo, verifica di avere avviato Plone, controlla la configurazione di apiPath nel tuo progetto (o se stai usando un proxy interno, devProxyToApiPath) oppure la variabile RAZZLE_API_PATH nell'ambiente di Volto.","The backend is responding, but the CORS headers are not configured properly and the browser has denied the access to the backend resources.":"Il backend sta rispondendo, ma i CORS headers non sono adeguatamente configurati e il browser ha negato l'accesso alle risorse del backend.","The backend server of your website is not answering, we apologize for the inconvenience. Please try to re-load the page and try again. If the problem persists please contact the site administrators.":"Il server di backend del tuo sito web non risponde, ci scusiamo per l'inconveniente. Prova a ricaricare la pagina e riprova. Se il problema persiste, contattare gli amministratori del sito.","The button presence disables the live search, the query is issued when you press ENTER":"La presenza del bottone disabilita la ricerca al volo, la ricerca verrà effettuata premendo Invio","The item could not be deleted.":"L'elemento non può essere eliminato.","The link address is:":"L'indirizzo del collegamento è:","The registration process has been successful. Please check your e-mail inbox for information on how activate your account.":"La registrazione è avvenuta correttamente. Per favore controlla la tua casella di posta per informazioni su come attivare il tuo account.","The user portrait/avatar":"L'avatar/ritratto utente","The working copy was discarded":"La copia di lavoro è stata scartata","The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.":"{plonecms} è {copyright} 2000-{current_year} della {plonefoundation} ed amici.","There is a configuration problem on the backend":"C'è un problema di configurazione sul backend","There were some errors":"Si sono verificati degli errori","There were some errors.":"Si sono verificati degli errori.","Third":"Terzo","This has an ongoing working copy in {title}":"Questa è una copia di lavoro in corso di {title}","This is a working copy of {title}":"Questa è una copia di lavoro di {title}","This item was locked by {creator} on {date}":"Questo contenuto è stato bloccato da {creator} il {date}","This name will be displayed in the URL.":"Questo nome verrà mostrato nell'URL.","This page does not seem to exist…":"Questa pagina non esiste…","Time":"Ora","Title":"Titolo","Total active and non-active objects":"Totale degli oggetti attivi e non attivi","Total comments":"Totale dei commenti","Total number of objects in each cache":"Numero totale degli oggetti in ogni cache","Total number of objects in memory from all caches":"Numero totale degli oggetti di tutte le cache","Total number of objects in the database":"Numero totale di oggetti nel database","Translate to {lang}":"Traduci in {lang}","Translation linked":"Traduzioni collegate","Translation linking removed":"Rimosso il collegamento delle traduzioni","Type":"Tipo","Type a Video (YouTube, Vimeo or mp4) URL":"Digita l'URL di un Video (YouTube, Vimeo or mp4)","Type text...":"Digita il testo...","Type text…":"Digita il testo…","Type the title…":"Digita il titolo…","UID":"UID","Unauthorized":"Non autorizzato","Undo":"Annulla","Unfold":"Apri","Unified":"Unificato","Uninstall":"Disinstalla","Unknown Block":"Blocco sconosciuto","Unlink translation for":"Scollega traduzione per","Unlock":"Sblocca","Update":"Aggiorna","Update installed addons":"Aggiorna gli addons installati","Update installed addons:":"Aggiorna gli addons installati:","Updates available":"Aggiornamenti disponibili","Upload":"Carica","Upload a lead image in the 'Lead Image' content field.":"Carica un'Immagine di testata nel campo del contenuto.","Upload a new image":"Carica una nuova immagine","Upload files":"Carica file","Uploading files":"Caricamento dei files","Uploading image":"Caricamento dell'immagine","Used for programmatic access to the fieldset.":"Usato per l'accesso programmatico al set di campi.","User":"Utente","User created":"Utente creato","User name":"Nome utente","User roles updated":"Ruoli utente aggiornati","Username":"Username","Users":"Utenti","Users and Groups":"Utenti e gruppi","Variation":"Variazione","Version Overview":"Panoramica delle versioni","Video":"Video","Video URL":"URL del video","View":"Visualizza","View changes":"Mostra le modifiche","View this revision":"Mostra questa revisione","View working copy":"Vedi copia di lavoro","Viewmode":"Vista","Vocabulary term":"Termine del vocabolario","Vocabulary term title":"Titolo del termine del vocabolario","Vocabulary terms":"Termini del vocabolario","Warning Regarding debug mode":"Avviso relativo alla modalità di debug","We apologize for the inconvenience, but the backend of the site you are accessing is not available right now. Please, try again later.":"Ci scusiamo per l'inconveniente, ma il backend del sito a cui stai cercando di accedere non è disponibile al momento. Ti preghiamo di riprovare più tardi.","We apologize for the inconvenience, but the page you were trying to access is not at this address. You can use the links below to help you find what you are looking for.":"Ci scusiamo per l'inconveniente, la pagina cui stai provando ad accedere non esiste a questo indirizzo. Puoi usare il link qui sotto per trovare quello che stavi cercando.","We apologize for the inconvenience, but you don't have permissions on this resource.":"Ci scusiamo per l'inconveniente, ma non hai i permessi per questa risorsa.","We will use this address if you need to recover your password":"Useremo questo indirizzo email nel caso dovessi recuperare la tua password","Weeek day of month":"Il","Weekday":"giorno feriale (lunedì-venerdì)","Weekly":"Settimanale","What":"Cosa","When":"Quando","When this date is reached, the content will nolonger be visible in listings and searches.":"Quando questa data sarà raggiunta, il contenuto non sarà più visibile negli elenchi e nelle ricerche.","Who":"Chi","Workflow Change Loading Message":"Aggiornando gli stati...","Workflow updated.":"Workflow aggiornato.","Yearly":"Annuale","Yes":"Si","You are trying to access a protected resource, please {login} first.":"Stai provando ad accedere ad una risorsa protetta, per favore fai prima il {login}.","You are using an outdated browser":"Stai usando un browser obsoleto","You can add a comment by filling out the form below. Plain text formatting.":"Puoi aggiungere un commento compilando la form sotto. Utilizza il testo semplice.","You can control who can view and edit your item using the list below.":"Puoi controllare chi può visualizzare e modificare l'elemento usando l'elenco che segue.","You can view the difference of the revisions below.":"Puoi visualizzare la differenza delle revisioni qui sotto.","You can view the history of your item below.":"Puoi visualizzare la cronologia del tuo articolo qui sotto.","You can't paste this content here":"Non puoi incollare questo contenuto qui.","Your email is required for reset your password.":"La tua email è necessaria per reimpostare la tua password.","Your location - either city and country - or in a company setting, where your office is located.":"La località in cui vivi (paese e città) oppure, in ambito aziendale, il luogo in cui si trova il tuo ufficio.","Your password has been set successfully. You may now {link} with your new password.":"La tua password è stata reimpostata correttamente. Ora puoi {link} usando la nuova password.","Your preferred language":"La tua lingua preferita.","box_forgot_password_option":"Hai dimenticato la tua password?","common":"Comuni","compare_to":"Confronta con","delete":"Elimina","deprecated_browser_notice_message":"Stai usando {browsername} {browserversion} che è stato deprecato dal suo fornitore. Questo significa che non riceverà aggiornamenti di sicurezza e che non supporterà le attuali funzionalità del web moderno, danneggiando l'esperienza utente. Esegui l'upgrade a un browser moderno.","description":"Descrizione","description_lost_password":"Per ragioni di sicurezza, le password vengono memorizzate in forma crittata e non è quindi possibile spedirtela. Se desideri reimpostare la tua password, completa il modulo sottostante: ti verranno spedite ulteriori istruzioni per completare il processo all'indirizzo e-mail che hai specificato all'iscrizione.","description_sent_password":"La istruzioni per reimpostare la tua password sono state inviate. Dovrebbero arrivare a breve nella tua casella di posta. Una volta ricevuto il messaggio, visita l'indirizzo indicato per reimpostare la password.","draft":"Bozza","email":"email","event_alldates":"Tutte le date","event_attendees":"Partecipanti","event_contactname":"Nome del contatto","event_contactphone":"Telefono del contatto","event_website":"Sito web","event_what":"Cosa","event_when":"Quando","event_where":"Dove","heading_sent_password":"Richiesta di conferma reimpostazione password spedita","hero":"Hero","html":"HTML","image":"Immagine","integer":"intero","intranet":"Pubbliato internamente","label_my_email_address_is":"Il mio indirizzo email è","leadimage":"Immagine di testata","listing":"Elenco","loading":"caricamento","log in":"log in","maps":"Mappa","maxLength":"Lunghezza massima","maximum":"Fine del range (valore stesso incluso)","media":"media","minLength":"Lunghezza minima","minimum":"Inizio del range","mostUsed":"Più usati","no workflow state":"Nessun stato di workflow","number":"numero","of the month":"del mese","or try a different page.":"oppure prova una pagina diversa.","others":"altre","private":"Privato","published":"Pubblicato","querystring-widget-select":"Seleziona…","results found":"risultati trovati","return to the site root":"ritorna alla radice del sito","rrule_and":"e","rrule_approximate":"(approssimativamente)","rrule_at":"alle","rrule_dateFormat":"[day] [month] [year]","rrule_day":"giorno","rrule_days":"giorni","rrule_every":"ogni","rrule_for":"per","rrule_hour":"ora","rrule_hours":"ore","rrule_in":"nel","rrule_last":"ultimo","rrule_minutes":"minuti","rrule_month":"mese","rrule_months":"mesi","rrule_nd":"secondo","rrule_on":"il","rrule_on the":"nel","rrule_or":"oppure","rrule_rd":"terzo","rrule_st":"primo","rrule_th":"*","rrule_the":"il","rrule_time":"volta","rrule_times":"volte","rrule_until":"fino al","rrule_week":"settimana","rrule_weekday":"giorno","rrule_weekdays":"giorni","rrule_weeks":"settimane","rrule_year":"anno","rrule_years":"anni","skiplink-footer":"Salta al footer","skiplink-main-content":"Salta al contenuto","skiplink-navigation":"Salta alla navigazione","sort":"ordina","table":"Tabella","text":"Testo","title":"Titolo","toc":"Indice dei contenuti","url":"Il testo inserito deve essere un url valido (www.qualcosa.com oppure http(s)://www.qualcosa.com)","user avatar":"Avatar dell'utente","video":"Video","visit_external_website":"Visita il sito web","{count, plural, one {Upload {count} file} other {Upload {count} files}}":"{count, plural, one {Carica {count} file} other {Carica {count} file}}","{count} selected":"{count} selezionati.","{id} Content Type":"{id} Tipo di Contenuto","{id} Schema":"{id} Schema","{title} copied.":"{title} copiato.","{title} cut.":"{title} tagliato.","{title} has been deleted.":"{title} è stato eliminato."}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
  ],
11
11
  "license": "MIT",
12
- "version": "14.5.0",
12
+ "version": "14.8.0",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "git@github.com:plone/volto.git"
@@ -35,7 +35,7 @@
35
35
  "build": "razzle build",
36
36
  "build-spa": "razzle build --type=spa",
37
37
  "test": "razzle test --env=jest-environment-jsdom-sixteen --maxWorkers=50%",
38
- "test:ci": "CI=true razzle test --env=jest-environment-jsdom-sixteen",
38
+ "test:ci": "CI=true NODE_ICU_DATA=node_modules/full-icu razzle test --env=jest-environment-jsdom-sixteen",
39
39
  "test:husky": "CI=true yarn test --bail --findRelatedTests",
40
40
  "test:debug": "node --inspect node_modules/.bin/jest --runInBand",
41
41
  "start:prod": "NODE_ENV=production node build/server.js",
@@ -414,7 +414,9 @@
414
414
  "@storybook/react": "^6.3.0",
415
415
  "babel-loader": "^8.1.0",
416
416
  "crypto-random-string": "3.2.0",
417
+ "full-icu": "1.4.0",
417
418
  "identity-obj-proxy": "3.0.0",
419
+ "jest": "27.4.5",
418
420
  "jest-environment-jsdom-sixteen": "1.0.3",
419
421
  "react-is": "^16.13.1",
420
422
  "tmp": "0.2.1",
@@ -432,7 +434,7 @@
432
434
  "ua-parser-js": "0.7.28"
433
435
  },
434
436
  "volta": {
435
- "node": "14.17.0",
436
- "yarn": "1.19.1"
437
+ "node": "16.13.2",
438
+ "yarn": "1.22.17"
437
439
  }
438
440
  }
package/pyvenv.cfg ADDED
@@ -0,0 +1,3 @@
1
+ home = /opt/homebrew/Cellar/python@3.8/3.8.12_1/bin
2
+ include-system-site-packages = false
3
+ version = 3.8.12
package/razzle.config.js CHANGED
@@ -227,7 +227,7 @@ const defaultModify = ({
227
227
  include.push(fs.realpathSync(`${registry.voltoPath}/src`));
228
228
  }
229
229
  // Add babel support external (ie. node_modules npm published packages)
230
- if (packageJson.addons) {
230
+ if (registry.addonNames && registry.addonNames.length > 0) {
231
231
  registry.addonNames.forEach((addon) => {
232
232
  const p = fs.realpathSync(registry.packages[addon].modulePath);
233
233
  if (include.indexOf(p) === -1) {
@@ -198,5 +198,7 @@ export ToCSettingsSchema from '@plone/volto/components/manage/Blocks/ToC/Schema'
198
198
 
199
199
  export MaybeWrap from '@plone/volto/components/manage/MaybeWrap/MaybeWrap';
200
200
  export ContentMetadataTags from '@plone/volto/components/theme/ContentMetadataTags/ContentMetadataTags';
201
+ export FormattedDate from '@plone/volto/components/theme/FormattedDate/FormattedDate';
202
+ export FormattedRelativeDate from '@plone/volto/components/theme/FormattedDate/FormattedRelativeDate';
201
203
 
202
204
  export App from '@plone/volto/components/theme/App/App';
@@ -5,7 +5,7 @@
5
5
 
6
6
  import React, { Component } from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { Helmet } from '@plone/volto/helpers';
8
+ import { BodyClass, Helmet } from '@plone/volto/helpers';
9
9
  import { connect } from 'react-redux';
10
10
  import { compose } from 'redux';
11
11
  import { keys, isEmpty } from 'lodash';
@@ -400,41 +400,44 @@ class Add extends Component {
400
400
  );
401
401
 
402
402
  return translationObject ? (
403
- <Grid
404
- celled="internally"
405
- stackable
406
- columns={2}
407
- id="page-add-translation"
408
- >
409
- <Grid.Column className="source-object">
410
- <TranslationObject
411
- translationObject={translationObject}
412
- schema={this.props.schema}
413
- pathname={this.props.pathname}
414
- visual={visual}
415
- isFormSelected={
416
- this.state.formSelected === 'translationObjectForm'
417
- }
418
- onSelectForm={() => {
419
- this.setState({
420
- formSelected: 'translationObjectForm',
421
- });
422
- }}
423
- />
424
- </Grid.Column>
425
- <Grid.Column>
426
- <div className="new-translation">
427
- <Menu pointing secondary attached tabular>
428
- <Menu.Item name={translateTo.toUpperCase()} active={true}>
429
- {`${this.props.intl.formatMessage(messages.translateTo, {
430
- lang: translateTo,
431
- })}`}
432
- </Menu.Item>
433
- </Menu>
434
- {pageAdd}
435
- </div>
436
- </Grid.Column>
437
- </Grid>
403
+ <>
404
+ <BodyClass className="babel-view" />
405
+ <Grid
406
+ celled="internally"
407
+ stackable
408
+ columns={2}
409
+ id="page-add-translation"
410
+ >
411
+ <Grid.Column className="source-object">
412
+ <TranslationObject
413
+ translationObject={translationObject}
414
+ schema={this.props.schema}
415
+ pathname={this.props.pathname}
416
+ visual={visual}
417
+ isFormSelected={
418
+ this.state.formSelected === 'translationObjectForm'
419
+ }
420
+ onSelectForm={() => {
421
+ this.setState({
422
+ formSelected: 'translationObjectForm',
423
+ });
424
+ }}
425
+ />
426
+ </Grid.Column>
427
+ <Grid.Column>
428
+ <div className="new-translation">
429
+ <Menu pointing secondary attached tabular>
430
+ <Menu.Item name={translateTo.toUpperCase()} active={true}>
431
+ {`${this.props.intl.formatMessage(messages.translateTo, {
432
+ lang: translateTo,
433
+ })}`}
434
+ </Menu.Item>
435
+ </Menu>
436
+ {pageAdd}
437
+ </div>
438
+ </Grid.Column>
439
+ </Grid>
440
+ </>
438
441
  ) : (
439
442
  pageAdd
440
443
  );
@@ -24,13 +24,6 @@ jest.mock('./ContentsUploadModal', () =>
24
24
  jest.fn(() => <div className="UploadModal" />),
25
25
  );
26
26
 
27
- jest.mock('moment', () =>
28
- jest.fn(() => ({
29
- format: jest.fn(() => 'Sunday, April 23, 2017 3:38 AM'),
30
- fromNow: jest.fn(() => 'a few seconds ago'),
31
- })),
32
- );
33
-
34
27
  describe('Contents', () => {
35
28
  it('renders a folder contents view component', () => {
36
29
  const store = mockStore({
@@ -8,9 +8,8 @@ import { Button, Dropdown, Table } from 'semantic-ui-react';
8
8
  import { Link } from 'react-router-dom';
9
9
  import PropTypes from 'prop-types';
10
10
  import { map } from 'lodash';
11
- import moment from 'moment';
12
11
  import { useIntl, defineMessages, FormattedMessage } from 'react-intl';
13
- import { Icon, Circle } from '@plone/volto/components';
12
+ import { Circle, FormattedDate, Icon } from '@plone/volto/components';
14
13
  import { getContentIcon } from '@plone/volto/helpers';
15
14
  import moreSVG from '@plone/volto/icons/more.svg';
16
15
  import checkboxUncheckedSVG from '@plone/volto/icons/checkbox-unchecked.svg';
@@ -48,6 +47,10 @@ const messages = defineMessages({
48
47
  id: 'no workflow state',
49
48
  defaultMessage: 'No workflow state',
50
49
  },
50
+ none: {
51
+ id: 'None',
52
+ defaultMessage: 'None',
53
+ },
51
54
  });
52
55
 
53
56
  function getColor(string) {
@@ -187,21 +190,13 @@ export const ContentsItemComponent = ({
187
190
  </div>
188
191
  )}
189
192
  {index.type === 'date' && (
190
- <span
191
- title={
192
- item[index.id] !== 'None' ? (
193
- moment(item[index.id]).format('LLLL')
194
- ) : (
195
- <FormattedMessage id="None" defaultMessage="None" />
196
- )
197
- }
198
- >
193
+ <>
199
194
  {item[index.id] !== 'None' ? (
200
- moment(item[index.id]).format('L')
195
+ <FormattedDate date={item[index.id]} />
201
196
  ) : (
202
- <FormattedMessage id="None" defaultMessage="None" />
197
+ intl.formatMessage(messages.none)
203
198
  )}
204
- </span>
199
+ </>
205
200
  )}
206
201
  {index.type === 'array' && (
207
202
  <span>{item[index.id]?.join(', ')}</span>
@@ -20,10 +20,10 @@ import {
20
20
  } from 'semantic-ui-react';
21
21
  import loadable from '@loadable/component';
22
22
  import { concat, filter, map } from 'lodash';
23
- import moment from 'moment';
24
23
  import filesize from 'filesize';
25
24
  import { readAsDataURL } from 'promise-file-reader';
26
25
  import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
26
+ import { FormattedRelativeDate } from '@plone/volto/components';
27
27
  import { createContent } from '@plone/volto/actions';
28
28
 
29
29
  const Dropzone = loadable(() => import('react-dropzone'));
@@ -180,8 +180,6 @@ class ContentsUploadModal extends Component {
180
180
  * @returns {string} Markup for the component.
181
181
  */
182
182
  render() {
183
- moment.locale(this.props.intl.locale);
184
-
185
183
  return (
186
184
  this.props.open && (
187
185
  <Modal open={this.props.open}>
@@ -269,7 +267,7 @@ class ContentsUploadModal extends Component {
269
267
  <Table.Row className="upload-row" key={file.name}>
270
268
  <Table.Cell>{file.name}</Table.Cell>
271
269
  <Table.Cell>
272
- {moment(file.lastModifiedDate).fromNow()}
270
+ <FormattedRelativeDate date={file.lastModifiedDate} />
273
271
  </Table.Cell>
274
272
  <Table.Cell>
275
273
  {filesize(file.size, { round: 0 })}