diff --git a/framework/yii/messages/config.php b/framework/yii/messages/config.php
index 94ce979..ab3c480 100644
--- a/framework/yii/messages/config.php
+++ b/framework/yii/messages/config.php
@@ -7,7 +7,7 @@ return [
'messagePath' => __DIR__,
// array, required, list of language codes that the extracted messages
// should be translated to. For example, ['zh-CN', 'de'].
- 'languages' => ['de', 'ru', 'pt-BR'],
+ 'languages' => ['de', 'ru', 'pt-BR','it'],
// string, the name of the function for translating messages.
// Defaults to 'Yii::t'. This is used as a mark to find the messages to be
// translated. You may use a string for single function name or an array for
diff --git a/framework/yii/messages/it/yii.php b/framework/yii/messages/it/yii.php
new file mode 100644
index 0000000..2cf7b53
--- /dev/null
+++ b/framework/yii/messages/it/yii.php
@@ -0,0 +1,105 @@
+ '(nessun valore)',
+ 'An internal server error occurred.' => 'Si è verificato un errore interno',
+ 'Are you sure to delete this item?' => 'Sei sicuro di voler cancellare questo elemento?',
+ 'Compile Error' => 'Errore di compilazione',
+ 'Compile Warning' => 'Avviso compilazione',
+ 'Core Error' => 'Errore nel Core',
+ 'Core Warning' => 'Avviso sul Core',
+ 'Database Exception' => 'Errore di Database',
+ 'Delete' => 'Elimina',
+ 'Deprecated' => 'Deprecato',
+ 'Error' => 'Errore',
+ 'Exception' => 'Eccezione',
+ 'Fatal Error' => 'Errore Fatale',
+ 'File upload failed.' => 'Upload file fallito',
+ 'Home' => 'Home',
+ 'Invalid Call' => 'Chiamata non valida',
+ 'Invalid Configuration' => 'Configurazione non valida',
+ 'Invalid Parameter' => 'Parametro non valido',
+ 'Invalid Route' => 'Percorso non valido',
+ 'Invalid data received for parameter "{param}".' => 'Dati ricevuti non correti per il parametro "{param}".',
+ 'Login Required' => 'Login Richiesto',
+ 'Missing required arguments: {params}' => 'Il seguente argomento è mancante: {params}',
+ 'Missing required parameters: {params}' => 'Il seguente parametro è mancante: {params}',
+ 'No' => 'No',
+ 'No help for unknown command "{command}".' => 'Nessun aiuto per il comando sconosciuto "{command}".',
+ 'No help for unknown sub-command "{command}".' => 'Nessun aiuto per il sub-comando sconosciuto "{command}".',
+ 'No results found.' => 'Nessun risultato trovato',
+ 'Not Supported' => 'Non supportato',
+ 'Notice' => 'Avviso',
+ 'Only files with these extensions are allowed: {extensions}.' => 'Solo i files con queste estensioni sono permessi: {extensions}.',
+ 'Only files with these mimeTypes are allowed: {mimeTypes}.' => 'Solo i files con questi mimeTypes sono permessi: {mimeTypes}.',
+ 'Page not found.' => 'Pagina non trovata',
+ 'Parse Error' => 'Errore di Parsing',
+ 'Please fix the following errors:' => 'Per favore correggi i seguenti errori:',
+ 'Please upload a file.' => 'Per favore carica il file.',
+ 'Recoverable Error' => 'Errore rimediabile',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' =>'Mostro {begin, number}-{end, number} di {totalCount, number} {totalCount, plural, one{item} other{items}}.',
+ 'Stale Object Exception' => 'Eccezione su Oggetto Stabile',
+ 'Strict' => 'Severo',
+ 'The file "{file}" is not an image.' => 'Questo file "{file}" non è una immagine.',
+ 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Il file "{file}"è troppo grande. La dimensione non può superare {limit, number} {limit, plural, one{byte} other{bytes}}.',
+ 'The file "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Le dimensioni del file "{file}" non sono corrette. Il suo height non può essere maggiore di {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The file "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Le dimensioni del "{file}" non sono corrette. Il width non può essere maggiore di {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'Il file "{file}" è troppo piccollo. La dimensione non può essere più piccola di {limit, number} {limit, plural, one{byte} other{bytes}}.',
+ 'The file "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Le dimensioni del fle "{file}" sono troppo piccole. Il suo height non può essere più piccolo di {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The file "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => 'Le dimensioni del file "{file}" sono troppo piccole. Il width non può essere più piccolo di {limit, number} {limit, plural, one{pixel} other{pixels}}.',
+ 'The format of {attribute} is invalid.' => 'Il formato di {attribute} non è valido.',
+ 'The verification code is incorrect.' => 'Il codice di verifica non è corretto.',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => 'Totali {count, number} {count, plural, one{item} other{items}}.',
+ 'Unable to verify your data submission.' => 'Impossibile verificare i dati inviati.',
+ 'Unknown Class' => 'Class Sconosciuta',
+ 'Unknown Method' => 'Metodo Sconosciuto',
+ 'Unknown Property' => 'Proprietà Sconosciuta',
+ 'Unknown command "{command}".' => 'Comando Sconosciuto "{command}".',
+ 'Unknown option: --{name}' => 'Opzione Sconosciuta: --{name}',
+ 'Update' => 'Aggiorna',
+ 'User Error' => 'Errore Utente',
+ 'User Warning' => 'Allarme utente',
+ 'View' => 'Vedi',
+ 'Warning' => 'Warning',
+ 'Yes' => 'Si',
+ 'You are not allowed to perform this action.' => 'Non sei autorizzato ad eseguire questa operazione',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => 'Puoi eseguire il caricamento massi di questo numero di file {limit, number} {limit, plural, one{file} other{files}}.',
+ 'the input value' => 'Il campo input',
+ '{attribute} "{value}" has already been taken.' => '{attribute} "{value}" è già presente.',
+ '{attribute} cannot be blank.' => '{attribute} non può essere vuoto.',
+ '{attribute} is invalid.' => '{attribute} non è valido.',
+ '{attribute} is not a valid URL.' => '{attribute} non è un URL valido.',
+ '{attribute} is not a valid email address.' => '{attribute} non è un email valida.',
+ '{attribute} must be "{requiredValue}".' => '{attribute} deve essere "{requiredValue}".',
+ '{attribute} must be a number.' => '{attribute} deve essere un numero',
+ '{attribute} must be a string.' => '{attribute} deve essere una stringa.',
+ '{attribute} must be an integer.' => '{attribute} deve essere un numero intero.',
+ '{attribute} must be either "{true}" or "{false}".' => '{attribute} deve essere "{true}" oppure "{false}".',
+ '{attribute} must be greater than "{compareValue}".' => '{attribute} deve essere più grande di "{compareValue}".',
+ '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute} deve essere più grande o uguale a "{compareValue}".',
+ '{attribute} must be less than "{compareValue}".' => '{attribute} deve essere minore di "{compareValue}".',
+ '{attribute} must be less than or equal to "{compareValue}".' => '{attribute} deve essere minore o uguale a "{compareValue}".',
+ '{attribute} must be no greater than {max}.' => '{attribute} deve essere più grande di {max}.',
+ '{attribute} must be no less than {min}.' => '{attribute} deve essere minore di {min}.',
+ '{attribute} must be repeated exactly.' =>'{attribute} deve essere ripetuto esattamente.',
+ '{attribute} must not be equal to "{compareValue}".' => '{attribute} deve essere uguale a "{compareValue}".',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere almeno {min, number} {min, plural, one{character} other{characters}}.',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere al massimo {max, number} {max, plural, one{character} other{characters}}.',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute} dovrebbe contenere {length, number} {length, plural, one{character} other{characters}}.',
+);