diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-06 16:05:19 +0300 | 
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-08-06 16:05:19 +0300 | 
| commit | 4f91a84c40dd820e08a322310ab403b07d7c985a (patch) | |
| tree | dc8f5b06e8f0254eb4585397ae1345542c32965f | |
| parent | 46334b6310ca76fea0f712b2e9dd1084af387f25 (diff) | |
| parent | bcb7401645e8ded64a2ca35e3daea697fb480d39 (diff) | |
Merge from default branch
--HG--
branch : product-engine
12 files changed, 164 insertions, 51 deletions
| diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 7bc9e97eb1..ab48ff4a43 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 0fc5ca1ad6..1566389e30 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 cc9d42b3cb..9c4006b4e6 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 >>" 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 a6bd4ffbaf..8da17a4034 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 f0dd035b5d..6290b79211 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 44b8211bdb..474bdca55f 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -2749,7 +2749,7 @@ Avatar '[NAME]' è partito completamente caricato.  	</notification>  	<notification name="AvatarRezSelfBakeNotification">  		( in esistenza da [EXISTENCE] secondi ) -Hai caricato una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. +Effettuata l'azione: [ACTION] di una texture [RESOLUTION] completata per '[BODYREGION]' 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 "Infohub".  	</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 8dd945830e..2e2f0dc7b0 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'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 1769ef748d..478b35e628 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'è 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'è 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à è 'Espelli i membri dal gruppo'. Solo un Capogruppo puo espellere un'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 9f8a13fedc..2ddb226020 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 85f8f87e68..f4fa59babe 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 627aeb5cb5..6f650ea55d 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 69c84be22c..fb479b4653 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'animazione :"/>  	<string name="AnimFlagStart" value="Inizia l'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 >>"/>  	<string name="GetMoreGestures" value="Altre >>"/> @@ -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à 'occupato', 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> | 
