diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index 7bc9e97eb16ac858b3df1268f089c45aae147694..ab48ff4a43721e4d2fef03e04926f3922fdc6544 100644
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -1213,7 +1213,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 
 	if (!dp.unpackS32(temp_priority, "base_priority"))
 	{
-		llwarns << "can't read priority" << llendl;
+		llwarns << "can't read animation base_priority" << llendl;
 		return FALSE;
 	}
 	mJointMotionList->mBasePriority = (LLJoint::JointPriority) temp_priority;
@@ -1223,6 +1223,11 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		mJointMotionList->mBasePriority = (LLJoint::JointPriority)((int)LLJoint::ADDITIVE_PRIORITY-1);
 		mJointMotionList->mMaxPriority = mJointMotionList->mBasePriority;
 	}
+	else if (mJointMotionList->mBasePriority < LLJoint::USE_MOTION_PRIORITY)
+	{
+		llwarns << "bad animation base_priority " << mJointMotionList->mBasePriority << llendl;
+		return FALSE;
+	}
 
 	//-------------------------------------------------------------------------
 	// get duration
@@ -1233,7 +1238,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		return FALSE;
 	}
 	
-	if (mJointMotionList->mDuration > MAX_ANIM_DURATION )
+	if (mJointMotionList->mDuration > MAX_ANIM_DURATION ||
+	    !llfinite(mJointMotionList->mDuration))
 	{
 		llwarns << "invalid animation duration" << llendl;
 		return FALSE;
@@ -1257,13 +1263,15 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 	//-------------------------------------------------------------------------
 	// get loop
 	//-------------------------------------------------------------------------
-	if (!dp.unpackF32(mJointMotionList->mLoopInPoint, "loop_in_point"))
+	if (!dp.unpackF32(mJointMotionList->mLoopInPoint, "loop_in_point") ||
+	    !llfinite(mJointMotionList->mLoopInPoint))
 	{
 		llwarns << "can't read loop point" << llendl;
 		return FALSE;
 	}
 
-	if (!dp.unpackF32(mJointMotionList->mLoopOutPoint, "loop_out_point"))
+	if (!dp.unpackF32(mJointMotionList->mLoopOutPoint, "loop_out_point") ||
+	    !llfinite(mJointMotionList->mLoopOutPoint))
 	{
 		llwarns << "can't read loop point" << llendl;
 		return FALSE;
@@ -1278,13 +1286,15 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 	//-------------------------------------------------------------------------
 	// get easeIn and easeOut
 	//-------------------------------------------------------------------------
-	if (!dp.unpackF32(mJointMotionList->mEaseInDuration, "ease_in_duration"))
+	if (!dp.unpackF32(mJointMotionList->mEaseInDuration, "ease_in_duration") ||
+	    !llfinite(mJointMotionList->mEaseInDuration))
 	{
 		llwarns << "can't read easeIn" << llendl;
 		return FALSE;
 	}
 
-	if (!dp.unpackF32(mJointMotionList->mEaseOutDuration, "ease_out_duration"))
+	if (!dp.unpackF32(mJointMotionList->mEaseOutDuration, "ease_out_duration") ||
+	    !llfinite(mJointMotionList->mEaseOutDuration))
 	{
 		llwarns << "can't read easeOut" << llendl;
 		return FALSE;
@@ -1374,7 +1384,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		
 		LLPointer<LLJointState> joint_state = new LLJointState;
 		mJointStates.push_back(joint_state);
-		joint_state->setJoint( joint );
+		joint_state->setJoint( joint ); // note: can accept NULL
 		joint_state->setUsage( 0 );
 
 		//---------------------------------------------------------------------
@@ -1386,10 +1396,16 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 			llwarns << "can't read joint priority." << llendl;
 			return FALSE;
 		}
+
+		if (joint_priority < LLJoint::USE_MOTION_PRIORITY)
+		{
+			llwarns << "joint priority unknown - too low." << llendl;
+			return FALSE;
+		}
 		
 		joint_motion->mPriority = (LLJoint::JointPriority)joint_priority;
 		if (joint_priority != LLJoint::USE_MOTION_PRIORITY &&
-			joint_priority > mJointMotionList->mMaxPriority)
+		    joint_priority > mJointMotionList->mMaxPriority)
 		{
 			mJointMotionList->mMaxPriority = (LLJoint::JointPriority)joint_priority;
 		}
@@ -1399,7 +1415,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		//---------------------------------------------------------------------
 		// scan rotation curve header
 		//---------------------------------------------------------------------
-		if (!dp.unpackS32(joint_motion->mRotationCurve.mNumKeys, "num_rot_keys"))
+		if (!dp.unpackS32(joint_motion->mRotationCurve.mNumKeys, "num_rot_keys") || joint_motion->mRotationCurve.mNumKeys < 0)
 		{
 			llwarns << "can't read number of rotation keys" << llendl;
 			return FALSE;
@@ -1423,7 +1439,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 
 			if (old_version)
 			{
-				if (!dp.unpackF32(time, "time"))
+				if (!dp.unpackF32(time, "time") ||
+				    !llfinite(time))
 				{
 					llwarns << "can't read rotation key (" << k << ")" << llendl;
 					return FALSE;
@@ -1456,7 +1473,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 
 			if (old_version)
 			{
-				success = dp.unpackVector3(rot_angles, "rot_angles");
+				success = dp.unpackVector3(rot_angles, "rot_angles") && rot_angles.isFinite();
 
 				LLQuaternion::Order ro = StringToOrder("ZYX");
 				rot_key.mRotation = mayaQ(rot_angles.mV[VX], rot_angles.mV[VY], rot_angles.mV[VZ], ro);
@@ -1492,7 +1509,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		//---------------------------------------------------------------------
 		// scan position curve header
 		//---------------------------------------------------------------------
-		if (!dp.unpackS32(joint_motion->mPositionCurve.mNumKeys, "num_pos_keys"))
+		if (!dp.unpackS32(joint_motion->mPositionCurve.mNumKeys, "num_pos_keys") || joint_motion->mPositionCurve.mNumKeys < 0)
 		{
 			llwarns << "can't read number of position keys" << llendl;
 			return FALSE;
@@ -1516,7 +1533,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 
 			if (old_version)
 			{
-				if (!dp.unpackF32(pos_key.mTime, "time"))
+				if (!dp.unpackF32(pos_key.mTime, "time") ||
+				    !llfinite(pos_key.mTime))
 				{
 					llwarns << "can't read position key (" << k << ")" << llendl;
 					return FALSE;
@@ -1585,9 +1603,9 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 		return FALSE;
 	}
 
-	if (num_constraints > MAX_CONSTRAINTS)
+	if (num_constraints > MAX_CONSTRAINTS || num_constraints < 0)
 	{
-		llwarns << "Too many constraints... ignoring" << llendl;
+		llwarns << "Bad number of constraints... ignoring: " << num_constraints << llendl;
 	}
 	else
 	{
@@ -1632,7 +1650,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 			constraintp->mConstraintType = (EConstraintType)byte;
 
 			const S32 BIN_DATA_LENGTH = 16;
-			U8 bin_data[BIN_DATA_LENGTH];
+			U8 bin_data[BIN_DATA_LENGTH+1];
 			if (!dp.unpackBinaryDataFixed(bin_data, BIN_DATA_LENGTH, "source_volume"))
 			{
 				llwarns << "can't read source volume name" << llendl;
@@ -1640,7 +1658,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 				return FALSE;
 			}
 
-			bin_data[BIN_DATA_LENGTH-1] = 0; // Ensure null termination
+			bin_data[BIN_DATA_LENGTH] = 0; // Ensure null termination
 			str = (char*)bin_data;
 			constraintp->mSourceConstraintVolume = mCharacter->getCollisionVolumeID(str);
 
@@ -1665,7 +1683,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 				return FALSE;
 			}
 
-			bin_data[BIN_DATA_LENGTH-1] = 0; // Ensure null termination
+			bin_data[BIN_DATA_LENGTH] = 0; // Ensure null termination
 			str = (char*)bin_data;
 			if (str == "GROUND")
 			{
@@ -1712,28 +1730,28 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 	//			constraintp->mTargetConstraintDir *= constraintp->mSourceConstraintOffset.magVec();
 			}
 
-			if (!dp.unpackF32(constraintp->mEaseInStartTime, "ease_in_start"))
+			if (!dp.unpackF32(constraintp->mEaseInStartTime, "ease_in_start") || !llfinite(constraintp->mEaseInStartTime))
 			{
 				llwarns << "can't read constraint ease in start time" << llendl;
 				delete constraintp;
 				return FALSE;
 			}
 
-			if (!dp.unpackF32(constraintp->mEaseInStopTime, "ease_in_stop"))
+			if (!dp.unpackF32(constraintp->mEaseInStopTime, "ease_in_stop") || !llfinite(constraintp->mEaseInStopTime))
 			{
 				llwarns << "can't read constraint ease in stop time" << llendl;
 				delete constraintp;
 				return FALSE;
 			}
 
-			if (!dp.unpackF32(constraintp->mEaseOutStartTime, "ease_out_start"))
+			if (!dp.unpackF32(constraintp->mEaseOutStartTime, "ease_out_start") || !llfinite(constraintp->mEaseOutStartTime))
 			{
 				llwarns << "can't read constraint ease out start time" << llendl;
 				delete constraintp;
 				return FALSE;
 			}
 
-			if (!dp.unpackF32(constraintp->mEaseOutStopTime, "ease_out_stop"))
+			if (!dp.unpackF32(constraintp->mEaseOutStopTime, "ease_out_stop") || !llfinite(constraintp->mEaseOutStopTime))
 			{
 				llwarns << "can't read constraint ease out stop time" << llendl;
 				delete constraintp;
@@ -1742,7 +1760,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp)
 
 			mJointMotionList->mConstraints.push_front(constraintp);
 
-			constraintp->mJointStateIndices = new S32[constraintp->mChainLength + 1];
+			constraintp->mJointStateIndices = new S32[constraintp->mChainLength + 1]; // note: mChainLength is size-limited - comes from a byte
 			
 			LLJoint* joint = mCharacter->findCollisionVolume(constraintp->mSourceConstraintVolume);
 			// get joint to which this collision volume is attached
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp
index 0fc5ca1ad6e79575c157b9f7e59db634423a0f21..1566389e30e452d649fdd1d2ed28edd9bc59b0e0 100644
--- a/indra/llimage/llimage.cpp
+++ b/indra/llimage/llimage.cpp
@@ -1553,6 +1553,7 @@ void LLImageFormatted::appendData(U8 *data, S32 size)
 			S32 newsize = cursize + size;
 			reallocateData(newsize);
 			memcpy(getData() + cursize, data, size);
+			delete[] data;
 		}
 	}
 }
diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml
index cc9d42b3cb521a29e70484f94024996de54be261..9c4006b4e6db23c3c3100f6ca318463ff46f40b5 100644
--- a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml
@@ -42,7 +42,12 @@
 	<text name="library_label">
 		Libreria:
 	</text>
-	<scroll_list name="library_list"/>
+	<scroll_list name="library_list">
+		<scroll_list.rows name="action_animation" value="Animazione"/>
+		<scroll_list.rows name="action_sound" value="Suono"/>
+		<scroll_list.rows name="action_chat" value="Chat"/>
+		<scroll_list.rows name="action_wait" value="Attendi"/>
+	</scroll_list>
 	<button label="Aggiungi &gt;&gt;" name="add_btn"/>
 	<text name="steps_label">
 		Fasi:
diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml
index a6bd4ffbaf73fa0a2688c261e9bf90e6e302867d..8da17a4034b0add755825357f5cdc50df236c66b 100644
--- a/indra/newview/skins/default/xui/it/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/it/floater_world_map.xml
@@ -19,12 +19,12 @@
 		<text name="land_sale_label">
 			Vendita terreno
 		</text>
-		<text name="by_owner_label">
-			da parte del proprietario
-		</text>
 		<text name="auction_label">
 			asta di terreni
 		</text>
+		<text name="by_owner_label">
+			da parte del proprietario
+		</text>
 		<button name="Go Home" tool_tip="Teleport a casa"/>
 		<text name="Home_label">
 			Home
@@ -35,7 +35,7 @@
 		<text name="pg_label">
 			Generale
 		</text>
-		<check_box name="events_mature_chk"/>
+		<check_box initial_value="true" name="events_mature_chk"/>
 		<text name="events_mature_label">
 			Moderato
 		</text>
@@ -58,6 +58,9 @@
 		<search_editor label="Regioni secondo il nome" name="location" tool_tip="Digita il nome di una regione"/>
 		<button label="Trova" name="DoSearch" tool_tip="Cerca la regione"/>
 		<button name="Clear" tool_tip="Elimina le linee di monitoraggio e reimposta la mappa"/>
+		<text name="events_label">
+			Luogo:
+		</text>
 		<button label="Teleport" name="Teleport" tool_tip="Teleport al luogo selezionato"/>
 		<button label="Copia SLurl" name="copy_slurl" tool_tip="Copia la posizione attuale come un SLurl da usare nel Web."/>
 		<button label="Mostra la selezione" name="Show Destination" tool_tip="Centra la mappa sul luogo selezionato"/>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index f0dd035b5d61d29fbb3bf93c839194be1d4f66d8..6290b79211d1c9877430a04965b62b0703584ce2 100644
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -94,6 +94,7 @@
 			<menu_item_call label="Imposta script come non in esecuzione" name="Set Scripts to Not Running"/>
 		</menu>
 		<menu label="Opzioni" name="Options">
+			<menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
 			<menu_item_check label="Mostra autorizzazioni avanzate" name="DebugPermissions"/>
 			<menu_item_check label="Seleziona solo i miei oggetti" name="Select Only My Objects"/>
 			<menu_item_check label="Seleziona solo gli oggetti spostabili" name="Select Only Movable Objects"/>
@@ -111,7 +112,6 @@
 			<menu_item_call label="Suono ([COST] L$)..." name="Upload Sound"/>
 			<menu_item_call label="Animazione ([COST] L$)..." name="Upload Animation"/>
 			<menu_item_call label="In blocco ([COST] L$ per file)..." name="Bulk Upload"/>
-			<menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
 		</menu>
 	</menu>
 	<menu label="Aiuto" name="Help">
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index 44b8211bdb541965f71f60d4171fc93cc85694ae..474bdca55f3ed1aad46109314d7485af2975af3c 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -2749,7 +2749,7 @@ Avatar &apos;[NAME]&apos; è partito completamente caricato.
 	</notification>
 	<notification name="AvatarRezSelfBakeNotification">
 		( in esistenza da [EXISTENCE] secondi )
-Hai caricato una texture [RESOLUTION] completata per &apos;[BODYREGION]&apos; dopo [TIME] secondi.
+Effettuata l&apos;azione: [ACTION] di una texture [RESOLUTION] completata per &apos;[BODYREGION]&apos; dopo [TIME] secondi.
 	</notification>
 	<notification name="ConfirmLeaveCall">
 		Sei sicuro di volere uscire dalla chiamata?
@@ -2787,4 +2787,7 @@ Se continui ad avere problemi, visita la pagina [SUPPORT_SITE].
 		Se sei proprietario di un appezzamento di terreno, puoi definirlo come la tua posizione iniziale.
 In alternativa, puoi guardare sulla mappa e trovare luoghi segnalati come &quot;Infohub&quot;.
 	</global>
+	<global name="You died and have been teleported to your home location">
+		Sei deceduto e sei stato teleportato a casa tua.
+	</global>
 </notifications>
diff --git a/indra/newview/skins/default/xui/it/panel_group_notices.xml b/indra/newview/skins/default/xui/it/panel_group_notices.xml
index 8dd945830e298fcd3592012da792e0b5a92a7526..2e2f0dc7b0349ccbe4dd7c2127f569829ae551b9 100644
--- a/indra/newview/skins/default/xui/it/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_notices.xml
@@ -19,7 +19,7 @@ Massimo 200 per gruppo al giorno
 	<text name="notice_list_none_found">
 		Nessuno trovato
 	</text>
-	<button label="Crea un nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/>
+	<button label="Nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/>
 	<button label="Aggiorna" label_selected="Aggiorna l&apos;elenco" name="refresh_notices" tool_tip="Aggiorna la lista degli avvisi"/>
 	<panel label="Crea una nuova notice" name="panel_create_new_notice">
 		<text name="lbl">
diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml
index 1769ef748d0ea6cedf616774e90629a2b8cebd23..478b35e628c43ed23867c95ba3a4973ac5dfa9fe 100644
--- a/indra/newview/skins/default/xui/it/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml
@@ -13,6 +13,9 @@
 Seleziona più membri tenendo premuto il tasto Ctrl e 
 cliccando sui loro nomi.
 			</panel.string>
+			<panel.string name="donation_area">
+				[AREA] m²
+			</panel.string>
 			<filter_editor label="Filtra Membri" name="filter_input"/>
 			<name_list name="member_list">
 				<name_list.columns label="Socio" name="name"/>
@@ -66,21 +69,15 @@ in questo gruppo. C&apos;è una vasta gamma di abilità.
 		<text name="static">
 			Nome del ruolo
 		</text>
-		<line_editor name="role_name">
-			Addetti
-		</line_editor>
+		<line_editor name="role_name"/>
 		<text name="static3">
 			Titolo del ruolo
 		</text>
-		<line_editor name="role_title">
-			(attendi)
-		</line_editor>
+		<line_editor name="role_title"/>
 		<text name="static2">
 			Descrizione
 		</text>
-		<text_editor name="role_description">
-			(attendi)
-		</text_editor>
+		<text_editor name="role_description"/>
 		<text name="static4">
 			Ruoli assegnati
 		</text>
@@ -91,9 +88,6 @@ in questo gruppo. C&apos;è una vasta gamma di abilità.
 		<scroll_list name="role_allowed_actions" tool_tip="Per i dettagli di ogni abilità consentita vedi la scheda abilità."/>
 	</panel>
 	<panel name="actions_footer">
-		<text name="static">
-			Descrizione abilità
-		</text>
 		<text_editor name="action_description">
 			Questa abilità è &apos;Espelli i membri dal gruppo&apos;. Solo un Capogruppo puo espellere un&apos;altro Capogruppo.
 		</text_editor>
diff --git a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml
index 9f8a13fedc6c26a2302fbb782e3a95eb4d8946d3..2ddb226020bd64f40da11d852950030b0c99f2f5 100644
--- a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml
@@ -11,8 +11,8 @@
 	<check_box label="Abilitato" name="enable_media"/>
 	<slider label="Chat vocale" name="Voice Volume"/>
 	<check_box label="Abilitato" name="enable_voice_check"/>
-	<check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica"/>
-	<check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni"/>
+	<check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica" value="true"/>
+	<check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni" value="true"/>
 	<text name="voice_chat_settings">
 		Impostazioni Chat vocale
 	</text>
@@ -28,6 +28,12 @@
 		<panel.string name="default_text">
 			Predefinito
 		</panel.string>
+		<panel.string name="default system device">
+			Dispositivo di sistema predefinito
+		</panel.string>
+		<panel.string name="no device">
+			Nessun dispositivo
+		</panel.string>
 		<text name="Input">
 			Input
 		</text>
diff --git a/indra/newview/skins/default/xui/it/panel_teleport_history.xml b/indra/newview/skins/default/xui/it/panel_teleport_history.xml
index 85f8f87e6867f9c2a2a470a7d4a1ef717634b21e..f4fa59babee576fd7991d76fc39d0e814a9d4812 100644
--- a/indra/newview/skins/default/xui/it/panel_teleport_history.xml
+++ b/indra/newview/skins/default/xui/it/panel_teleport_history.xml
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="Teleport History">
 	<accordion name="history_accordion">
+		<no_matched_tabs_text name="no_matched_teleports_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/places/[SEARCH_TERM] Cerca]."/>
+		<no_visible_tabs_text name="no_teleports_msg" value="La cronologia dei teleport è vuota. Prova [secondlife:///app/search/places/ Cerca]."/>
 		<accordion_tab name="today" title="Oggi"/>
 		<accordion_tab name="yesterday" title="Ieri"/>
 		<accordion_tab name="2_days_ago" title="2 giorni fa"/>
-		5
 		<accordion_tab name="3_days_ago" title="3 giorni fa"/>
 		<accordion_tab name="4_days_ago" title="4 giorni fa"/>
 		<accordion_tab name="5_days_ago" title="5 giorni fa"/>
diff --git a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
index 627aeb5cb574207638eb1f220da1d0a4da49475c..6f650ea55d068f8073f7fda4a5087781a14eec5b 100644
--- a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml
@@ -23,8 +23,7 @@
 	</panel.string>
 	<text name="title" value="Profilo articolo"/>
 	<text name="origin" value="(Inventario)"/>
-	<panel label=""
-           name="item_profile">
+	<panel label="" name="item_profile">
 		<text name="LabelItemNameTitle">
 			Nome:
 		</text>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 69c84be22c10ce54b04907993de52ebb2aac359d..fb479b4653a4e847bb6324126518a503ca86ce61 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -651,6 +651,9 @@
 	<string name="worldmap_offline">
 		Offline
 	</string>
+	<string name="worldmap_item_tooltip_format">
+		L$ [PRICE] - [AREA] m²
+	</string>
 	<string name="worldmap_results_none_found">
 		Nessun risultato.
 	</string>
@@ -1040,6 +1043,7 @@
 	<string name="AnimFlagStop" value="Ferma l&apos;animazione :"/>
 	<string name="AnimFlagStart" value="Inizia l&apos;animazione :"/>
 	<string name="Wave" value="Saluta con la mano"/>
+	<string name="GestureActionNone" value="Nessuna"/>
 	<string name="HelloAvatar" value="Ciao, avatar!"/>
 	<string name="ViewAllGestures" value="Visualizza tutto &gt;&gt;"/>
 	<string name="GetMoreGestures" value="Altre &gt;&gt;"/>
@@ -1122,12 +1126,12 @@
 	<string name="InvFolder Favorite">
 		Preferiti
 	</string>
-	<string name="InvFolder favorite">
-		Preferiti
-	</string>
 	<string name="InvFolder Current Outfit">
 		Abbigliamento attuale
 	</string>
+	<string name="InvFolder Initial Outfits">
+		Vestiario iniziale
+	</string>
 	<string name="InvFolder My Outfits">
 		Il mio vestiario
 	</string>
@@ -1447,6 +1451,7 @@
 	<string name="SummaryForTheWeek" value="Riassunto della settimana, partendo dal"/>
 	<string name="NextStipendDay" value="Il prossimo giorno di stipendio è"/>
 	<string name="GroupIndividualShare" value="Gruppo       Dividendi individuali"/>
+	<string name="GroupColumn" value="Gruppo"/>
 	<string name="Balance">
 		Saldo
 	</string>
@@ -1660,6 +1665,12 @@
 	<string name="BusyModeResponseDefault">
 		Il residente al quale hai inviato un messaggio è in modalità &apos;occupato&apos;, ovvero ha chiesto di non essere disturbato.  Il tuo messaggio comparirà nel suo pannello IM, dove potrà essere letto in un secondo momento.
 	</string>
+	<string name="NoOutfits">
+		Non hai ancora vestiario da indossare. Prova [secondlife:///app/search/all Cerca].
+	</string>
+	<string name="NoOutfitsTabsMatched">
+		Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all/[SEARCH_TERM] Cerca].
+	</string>
 	<string name="MuteByName">
 		(In base al nome)
 	</string>
@@ -3580,6 +3591,9 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
 	<string name="group_role_owners">
 		Proprietari
 	</string>
+	<string name="group_member_status_online">
+		Online
+	</string>
 	<string name="uploading_abuse_report">
 		Caricamento in corso...
   
@@ -3633,9 +3647,15 @@ Segnala abuso
 	<string name="Invalid Wearable">
 		Capo da indossare non valido
 	</string>
+	<string name="New Gesture">
+		Nuova gesture
+	</string>
 	<string name="New Script">
 		Nuovo script
 	</string>
+	<string name="New Note">
+		Nuovo appunto
+	</string>
 	<string name="New Folder">
 		Nuova cartella
 	</string>
@@ -3693,6 +3713,15 @@ Segnala abuso
 	<string name="Male - Wow">
 		Maschio - Accipicchia
 	</string>
+	<string name="Female - Chuckle">
+		Femmina - Risatina
+	</string>
+	<string name="Female - Cry">
+		Femmina - Pianto
+	</string>
+	<string name="Female - Embarrassed">
+		Femmina - Imbarazzata
+	</string>
 	<string name="Female - Excuse me">
 		Femmina - Chiedere scusa
 	</string>
@@ -3711,9 +3740,21 @@ Segnala abuso
 	<string name="Female - Hey">
 		Femmina - Ehi
 	</string>
+	<string name="Female - Hey baby">
+		Femmina - Ehi tu
+	</string>
 	<string name="Female - Laugh">
 		Femmina - Ridere
 	</string>
+	<string name="Female - Looking good">
+		Femmina - Sei in forma
+	</string>
+	<string name="Female - Over here">
+		Femmina - Per di qua
+	</string>
+	<string name="Female - Please">
+		Femmina - Per cortesia
+	</string>
 	<string name="Female - Repulsed">
 		Femmina - Disgustata
 	</string>
@@ -3763,4 +3804,46 @@ Segnala abuso
 	<string name="dateTimePM">
 		pomeridiane
 	</string>
+	<string name="LocalEstimateUSD">
+		US$ [AMOUNT]
+	</string>
+	<string name="Membership">
+		Abbonamento
+	</string>
+	<string name="Roles">
+		Ruoli
+	</string>
+	<string name="Group Identity">
+		Identità gruppo
+	</string>
+	<string name="Parcel Management">
+		Gestione lotto
+	</string>
+	<string name="Parcel Identity">
+		Identità lotto
+	</string>
+	<string name="Parcel Settings">
+		Impostazioni lotto
+	</string>
+	<string name="Parcel Powers">
+		Poteri lotto
+	</string>
+	<string name="Parcel Access">
+		Accesso al lotto
+	</string>
+	<string name="Parcel Content">
+		Contenuto lotto
+	</string>
+	<string name="Object Management">
+		Gestione oggetti
+	</string>
+	<string name="Accounting">
+		Contabilità
+	</string>
+	<string name="Notices">
+		Avvisi
+	</string>
+	<string name="Chat">
+		Chat
+	</string>
 </strings>