diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp
index 1c664e093b78ed35970968afb3242a6fd5c8e6da..2cd29448ae4ef7ba9c628b737818087902dc2311 100644
--- a/indra/llcommon/llassettype.cpp
+++ b/indra/llcommon/llassettype.cpp
@@ -77,23 +77,23 @@ LLAssetDictionary::LLAssetDictionary()
 {
 	//       												   DESCRIPTION			TYPE NAME	HUMAN NAME			CAN LINK?   CAN FETCH?  CAN KNOW?	
 	//      												  |--------------------|-----------|-------------------|-----------|-----------|---------|
-	addEntry(LLAssetType::AT_TEXTURE, 			new AssetEntry("TEXTURE",			"texture",	"texture",			false,		false,		true));
-	addEntry(LLAssetType::AT_SOUND, 			new AssetEntry("SOUND",				"sound",	"sound",			false,		true,		true));
-	addEntry(LLAssetType::AT_CALLINGCARD, 		new AssetEntry("CALLINGCARD",		"callcard",	"calling card",		false,		false,		false));
-	addEntry(LLAssetType::AT_LANDMARK, 			new AssetEntry("LANDMARK",			"landmark",	"landmark",			false,		true,		true));
-	addEntry(LLAssetType::AT_SCRIPT, 			new AssetEntry("SCRIPT",			"script",	"legacy script",	false,		false,		false));
+	addEntry(LLAssetType::AT_TEXTURE, 			new AssetEntry("TEXTURE",			"texture",	"texture",			true,		false,		true));
+	addEntry(LLAssetType::AT_SOUND, 			new AssetEntry("SOUND",				"sound",	"sound",			true,		true,		true));
+	addEntry(LLAssetType::AT_CALLINGCARD, 		new AssetEntry("CALLINGCARD",		"callcard",	"calling card",		true,		false,		false));
+	addEntry(LLAssetType::AT_LANDMARK, 			new AssetEntry("LANDMARK",			"landmark",	"landmark",			true,		true,		true));
+	addEntry(LLAssetType::AT_SCRIPT, 			new AssetEntry("SCRIPT",			"script",	"legacy script",	true,		false,		false));
 	addEntry(LLAssetType::AT_CLOTHING, 			new AssetEntry("CLOTHING",			"clothing",	"clothing",			true,		true,		true));
 	addEntry(LLAssetType::AT_OBJECT, 			new AssetEntry("OBJECT",			"object",	"object",			true,		false,		false));
-	addEntry(LLAssetType::AT_NOTECARD, 			new AssetEntry("NOTECARD",			"notecard",	"note card",		false,		false,		true));
+	addEntry(LLAssetType::AT_NOTECARD, 			new AssetEntry("NOTECARD",			"notecard",	"note card",		true,		false,		true));
 	addEntry(LLAssetType::AT_CATEGORY, 			new AssetEntry("CATEGORY",			"category",	"folder",			true,		false,		false));
-	addEntry(LLAssetType::AT_LSL_TEXT, 			new AssetEntry("LSL_TEXT",			"lsltext",	"lsl2 script",		false,		false,		false));
-	addEntry(LLAssetType::AT_LSL_BYTECODE, 		new AssetEntry("LSL_BYTECODE",		"lslbyte",	"lsl bytecode",		false,		false,		false));
-	addEntry(LLAssetType::AT_TEXTURE_TGA, 		new AssetEntry("TEXTURE_TGA",		"txtr_tga",	"tga texture",		false,		false,		false));
+	addEntry(LLAssetType::AT_LSL_TEXT, 			new AssetEntry("LSL_TEXT",			"lsltext",	"lsl2 script",		true,		false,		false));
+	addEntry(LLAssetType::AT_LSL_BYTECODE, 		new AssetEntry("LSL_BYTECODE",		"lslbyte",	"lsl bytecode",		true,		false,		false));
+	addEntry(LLAssetType::AT_TEXTURE_TGA, 		new AssetEntry("TEXTURE_TGA",		"txtr_tga",	"tga texture",		true,		false,		false));
 	addEntry(LLAssetType::AT_BODYPART, 			new AssetEntry("BODYPART",			"bodypart",	"body part",		true,		true,		true));
-	addEntry(LLAssetType::AT_SOUND_WAV, 		new AssetEntry("SOUND_WAV",			"snd_wav",	"sound",			false,		false,		false));
-	addEntry(LLAssetType::AT_IMAGE_TGA, 		new AssetEntry("IMAGE_TGA",			"img_tga",	"targa image",		false,		false,		false));
-	addEntry(LLAssetType::AT_IMAGE_JPEG, 		new AssetEntry("IMAGE_JPEG",		"jpeg",		"jpeg image",		false,		false,		false));
-	addEntry(LLAssetType::AT_ANIMATION, 		new AssetEntry("ANIMATION",			"animatn",	"animation",		false,		true,		true));
+	addEntry(LLAssetType::AT_SOUND_WAV, 		new AssetEntry("SOUND_WAV",			"snd_wav",	"sound",			true,		false,		false));
+	addEntry(LLAssetType::AT_IMAGE_TGA, 		new AssetEntry("IMAGE_TGA",			"img_tga",	"targa image",		true,		false,		false));
+	addEntry(LLAssetType::AT_IMAGE_JPEG, 		new AssetEntry("IMAGE_JPEG",		"jpeg",		"jpeg image",		true,		false,		false));
+	addEntry(LLAssetType::AT_ANIMATION, 		new AssetEntry("ANIMATION",			"animatn",	"animation",		true,		true,		true));
 	addEntry(LLAssetType::AT_GESTURE, 			new AssetEntry("GESTURE",			"gesture",	"gesture",			true,		true,		true));
 	addEntry(LLAssetType::AT_SIMSTATE, 			new AssetEntry("SIMSTATE",			"simstate",	"simstate",			false,		false,		false));
 
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index bd334a66548ab379a22e86c73843ca1be9069d89..41ff5849f4562f8164ffc6de24012b3123082660 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -1225,17 +1225,32 @@ namespace LLError
 	char** LLCallStacks::sBuffer = NULL ;
 	S32    LLCallStacks::sIndex  = 0 ;
 
+#define SINGLE_THREADED 1
+
 	class CallStacksLogLock
 	{
 	public:
 		CallStacksLogLock();
 		~CallStacksLogLock();
+
+#if SINGLE_THREADED
+		bool ok() const { return true; }
+#else
 		bool ok() const { return mOK; }
 	private:
 		bool mLocked;
 		bool mOK;
+#endif
 	};
 	
+#if SINGLE_THREADED
+	CallStacksLogLock::CallStacksLogLock()
+	{
+	}
+	CallStacksLogLock::~CallStacksLogLock()
+	{
+	}
+#else
 	CallStacksLogLock::CallStacksLogLock()
 		: mLocked(false), mOK(false)
 	{
@@ -1271,6 +1286,7 @@ namespace LLError
 			apr_thread_mutex_unlock(gCallStacksLogMutexp);
 		}
 	}
+#endif
 
 	//static
    void LLCallStacks::push(const char* function, const int line)
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index fc9fcb2d9ecb49455d30436133da24a58101b4b1..fc3ce6df7ec790ecb927ff47cf28c79729cf5448 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -35,8 +35,8 @@
 
 const S32 LL_VERSION_MAJOR = 2;
 const S32 LL_VERSION_MINOR = 0;
-const S32 LL_VERSION_PATCH = 1;
-const S32 LL_VERSION_BUILD = 203110;
+const S32 LL_VERSION_PATCH = 2;
+const S32 LL_VERSION_BUILD = 0;
 
 const char * const LL_CHANNEL = "Second Life Developer";
 
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp
index 0874f574c55e025c86d45bb9a59f1d7c150e9208..aa7c8c789aa4a300215d33753af1a8c500e76a5e 100644
--- a/indra/llimage/llimage.cpp
+++ b/indra/llimage/llimage.cpp
@@ -1338,7 +1338,7 @@ LLImageFormatted::LLImageFormatted(S8 codec)
 	  mCodec(codec),
 	  mDecoding(0),
 	  mDecoded(0),
-	  mDiscardLevel(0)
+	  mDiscardLevel(-1)
 {
 	mMemType = LLMemType::MTYPE_IMAGEFORMATTED;
 }
diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp
index 4ef5df0b2897fc429ff47d15bddbc6f9b8526a49..c050f20a9dea4f02a743e49a052e8bfcb656cfa4 100644
--- a/indra/llinventory/llinventorytype.cpp
+++ b/indra/llinventory/llinventorytype.cpp
@@ -181,6 +181,10 @@ bool LLInventoryType::cannotRestrictPermissions(LLInventoryType::EType type)
 bool inventory_and_asset_types_match(LLInventoryType::EType inventory_type,
 									 LLAssetType::EType asset_type)
 {
+	// Links can be of any inventory type.
+	if (LLAssetType::lookupIsLinkType(asset_type))
+		return true;
+
 	const InventoryEntry *entry = LLInventoryDictionary::getInstance()->lookup(inventory_type);
 	if (!entry) return false;
 
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp
index e09b511a6e475ace147d16ea9e3e6343a0e42cf9..41ace629640ced60f4ffbf41a747548bd36aa20d 100644
--- a/indra/llplugin/llpluginclassmedia.cpp
+++ b/indra/llplugin/llpluginclassmedia.cpp
@@ -57,11 +57,15 @@ LLPluginClassMedia::LLPluginClassMedia(LLPluginClassMediaOwner *owner)
 	mOwner = owner;
 	mPlugin = NULL;
 	reset();
+
+	//debug use
+	mDeleteOK = true ;
 }
 
 
 LLPluginClassMedia::~LLPluginClassMedia()
 {
+	llassert_always(mDeleteOK) ;
 	reset();
 }
 
@@ -160,7 +164,7 @@ void LLPluginClassMedia::idle(void)
 		mPlugin->idle();
 	}
 	
-	if((mMediaWidth == -1) || (!mTextureParamsReceived) || (mPlugin == NULL))
+	if((mMediaWidth == -1) || (!mTextureParamsReceived) || (mPlugin == NULL) || (mPlugin->isBlocked()))
 	{
 		// Can't process a size change at this time
 	}
@@ -437,6 +441,12 @@ void LLPluginClassMedia::mouseEvent(EMouseEventType type, int button, int x, int
 {
 	if(type == MOUSE_EVENT_MOVE)
 	{
+		if(!mPlugin || !mPlugin->isRunning() || mPlugin->isBlocked())
+		{
+			// Don't queue up mouse move events that can't be delivered.
+			return;
+		}
+
 		if((x == mLastMouseX) && (y == mLastMouseY))
 		{
 			// Don't spam unnecessary mouse move events.
diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h
index 8c7b00f45b0284f3ec39ade63666f9d87ef5f7bf..66853c994043738aed6dc1277a442b701c8b2806 100644
--- a/indra/llplugin/llpluginclassmedia.h
+++ b/indra/llplugin/llpluginclassmedia.h
@@ -373,6 +373,14 @@ class LLPluginClassMedia : public LLPluginProcessParentOwner
 	F64				mCurrentRate;
 	F64				mLoadedDuration;
 	
+//--------------------------------------
+	//debug use only
+	//
+private:
+	bool  mDeleteOK ;
+public:
+	void setDeleteOK(bool flag) { mDeleteOK = flag ;}
+//--------------------------------------
 };
 
 #endif // LL_LLPLUGINCLASSMEDIA_H
diff --git a/indra/llplugin/llpluginmessagepipe.cpp b/indra/llplugin/llpluginmessagepipe.cpp
index 1d7ddc55924c02f1728a8694a2db6cdbf9b8ba19..89f8b445695ae327a87722a039fda6b61e022e80 100644
--- a/indra/llplugin/llpluginmessagepipe.cpp
+++ b/indra/llplugin/llpluginmessagepipe.cpp
@@ -96,11 +96,14 @@ void LLPluginMessagePipeOwner::killMessagePipe(void)
 	}
 }
 
-LLPluginMessagePipe::LLPluginMessagePipe(LLPluginMessagePipeOwner *owner, LLSocket::ptr_t socket)
+LLPluginMessagePipe::LLPluginMessagePipe(LLPluginMessagePipeOwner *owner, LLSocket::ptr_t socket):
+	mInputMutex(gAPRPoolp),
+	mOutputMutex(gAPRPoolp),
+	mOwner(owner),
+	mSocket(socket)
 {
-	mOwner = owner;
+	
 	mOwner->setMessagePipe(this);
-	mSocket = socket;
 }
 
 LLPluginMessagePipe::~LLPluginMessagePipe()
@@ -114,6 +117,7 @@ LLPluginMessagePipe::~LLPluginMessagePipe()
 bool LLPluginMessagePipe::addMessage(const std::string &message)
 {
 	// queue the message for later output
+	LLMutexLock lock(&mOutputMutex);
 	mOutput += message;
 	mOutput += MESSAGE_DELIMITER;	// message separator
 	
@@ -148,6 +152,18 @@ void LLPluginMessagePipe::setSocketTimeout(apr_interval_time_t timeout_usec)
 }
 
 bool LLPluginMessagePipe::pump(F64 timeout)
+{
+	bool result = pumpOutput();
+	
+	if(result)
+	{
+		result = pumpInput(timeout);
+	}
+	
+	return result;
+}
+
+bool LLPluginMessagePipe::pumpOutput()
 {
 	bool result = true;
 	
@@ -156,6 +172,7 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 		apr_status_t status;
 		apr_size_t size;
 		
+		LLMutexLock lock(&mOutputMutex);
 		if(!mOutput.empty())
 		{
 			// write any outgoing messages
@@ -183,6 +200,17 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 				// remove the written part from the buffer and try again later.
 				mOutput = mOutput.substr(size);
 			}
+			else if(APR_STATUS_IS_EOF(status))
+			{
+				// This is what we normally expect when a plugin exits.
+				llinfos << "Got EOF from plugin socket. " << llendl;
+
+				if(mOwner)
+				{
+					mOwner->socketError(status);
+				}
+				result = false;
+			}
 			else 
 			{
 				// some other error
@@ -196,6 +224,19 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 				result = false;
 			}
 		}
+	}
+	
+	return result;
+}
+
+bool LLPluginMessagePipe::pumpInput(F64 timeout)
+{
+	bool result = true;
+
+	if(mSocket)
+	{
+		apr_status_t status;
+		apr_size_t size;
 
 		// FIXME: For some reason, the apr timeout stuff isn't working properly on windows.
 		// Until such time as we figure out why, don't try to use the socket timeout -- just sleep here instead.
@@ -216,8 +257,16 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 			char input_buf[1024];
 			apr_size_t request_size;
 			
-			// Start out by reading one byte, so that any data received will wake us up.
-			request_size = 1;
+			if(timeout == 0.0f)
+			{
+				// If we have no timeout, start out with a full read.
+				request_size = sizeof(input_buf);
+			}
+			else
+			{
+				// Start out by reading one byte, so that any data received will wake us up.
+				request_size = 1;
+			}
 			
 			// and use the timeout so we'll sleep if no data is available.
 			setSocketTimeout((apr_interval_time_t)(timeout * 1000000));
@@ -236,11 +285,14 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 //				LL_INFOS("Plugin") << "after apr_socket_recv, size = " << size << LL_ENDL;
 				
 				if(size > 0)
+				{
+					LLMutexLock lock(&mInputMutex);
 					mInput.append(input_buf, size);
+				}
 
 				if(status == APR_SUCCESS)
 				{
-//					llinfos << "success, read " << size << llendl;
+					LL_DEBUGS("PluginSocket") << "success, read " << size << LL_ENDL;
 
 					if(size != request_size)
 					{
@@ -250,16 +302,28 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 				}
 				else if(APR_STATUS_IS_TIMEUP(status))
 				{
-//					llinfos << "TIMEUP, read " << size << llendl;
+					LL_DEBUGS("PluginSocket") << "TIMEUP, read " << size << LL_ENDL;
 
 					// Timeout was hit.  Since the initial read is 1 byte, this should never be a partial read.
 					break;
 				}
 				else if(APR_STATUS_IS_EAGAIN(status))
 				{
-//					llinfos << "EAGAIN, read " << size << llendl;
+					LL_DEBUGS("PluginSocket") << "EAGAIN, read " << size << LL_ENDL;
 
-					// We've been doing partial reads, and we're done now.
+					// Non-blocking read returned immediately.
+					break;
+				}
+				else if(APR_STATUS_IS_EOF(status))
+				{
+					// This is what we normally expect when a plugin exits.
+					LL_INFOS("PluginSocket") << "Got EOF from plugin socket. " << LL_ENDL;
+
+					if(mOwner)
+					{
+						mOwner->socketError(status);
+					}
+					result = false;
 					break;
 				}
 				else
@@ -276,22 +340,18 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 					break;
 				}
 
-				// Second and subsequent reads should not use the timeout
-				setSocketTimeout(0);
-				// and should try to fill the input buffer
-				request_size = sizeof(input_buf);
+				if(timeout != 0.0f)
+				{
+					// Second and subsequent reads should not use the timeout
+					setSocketTimeout(0);
+					// and should try to fill the input buffer
+					request_size = sizeof(input_buf);
+				}
 			}
 			
 			processInput();
 		}
 	}
-
-	if(!result)
-	{
-		// If we got an error, we're done.
-		LL_INFOS("Plugin") << "Error from socket, cleaning up." << LL_ENDL;
-		delete this;
-	}
 	
 	return result;	
 }
@@ -299,26 +359,27 @@ bool LLPluginMessagePipe::pump(F64 timeout)
 void LLPluginMessagePipe::processInput(void)
 {
 	// Look for input delimiter(s) in the input buffer.
-	int start = 0;
 	int delim;
-	while((delim = mInput.find(MESSAGE_DELIMITER, start)) != std::string::npos)
+	mInputMutex.lock();
+	while((delim = mInput.find(MESSAGE_DELIMITER)) != std::string::npos)
 	{	
 		// Let the owner process this message
 		if (mOwner)
 		{
-			mOwner->receiveMessageRaw(mInput.substr(start, delim - start));
+			// Pull the message out of the input buffer before calling receiveMessageRaw.
+			// It's now possible for this function to get called recursively (in the case where the plugin makes a blocking request)
+			// and this guarantees that the messages will get dequeued correctly.
+			std::string message(mInput, 0, delim);
+			mInput.erase(0, delim + 1);
+			mInputMutex.unlock();
+			mOwner->receiveMessageRaw(message);
+			mInputMutex.lock();
 		}
 		else
 		{
 			LL_WARNS("Plugin") << "!mOwner" << LL_ENDL;
 		}
-		
-		start = delim + 1;
 	}
-	
-	// Remove delivered messages from the input buffer.
-	if(start != 0)
-		mInput = mInput.substr(start);
-	
+	mInputMutex.unlock();
 }
 
diff --git a/indra/llplugin/llpluginmessagepipe.h b/indra/llplugin/llpluginmessagepipe.h
index 1ddb38de6883f63b6e7e090b6ff3c77be0b25d6d..1b0a08254bb1cff36bb31d09d24dc4276b06df8e 100644
--- a/indra/llplugin/llpluginmessagepipe.h
+++ b/indra/llplugin/llpluginmessagepipe.h
@@ -35,6 +35,7 @@
 #define LL_LLPLUGINMESSAGEPIPE_H
 
 #include "lliosocket.h"
+#include "llthread.h"
 
 class LLPluginMessagePipe;
 
@@ -51,7 +52,7 @@ class LLPluginMessagePipeOwner
 	virtual apr_status_t socketError(apr_status_t error);
 
 	// called from LLPluginMessagePipe to manage the connection with LLPluginMessagePipeOwner -- do not use!
-	virtual void setMessagePipe(LLPluginMessagePipe *message_pipe) ;
+	virtual void setMessagePipe(LLPluginMessagePipe *message_pipe);
 
 protected:
 	// returns false if writeMessageRaw() would drop the message
@@ -76,14 +77,18 @@ class LLPluginMessagePipe
 	void clearOwner(void);
 	
 	bool pump(F64 timeout = 0.0f);
-	
+	bool pumpOutput();
+	bool pumpInput(F64 timeout = 0.0f);
+		
 protected:	
 	void processInput(void);
 
 	// used internally by pump()
 	void setSocketTimeout(apr_interval_time_t timeout_usec);
 	
+	LLMutex mInputMutex;
 	std::string mInput;
+	LLMutex mOutputMutex;
 	std::string mOutput;
 
 	LLPluginMessagePipeOwner *mOwner;
diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp
index ccaf95b36ded8c072865cb1a954041650126dce1..d1cf91b2537e21a7a18c43bb75d6ebf4d00397c0 100644
--- a/indra/llplugin/llpluginprocesschild.cpp
+++ b/indra/llplugin/llpluginprocesschild.cpp
@@ -48,6 +48,8 @@ LLPluginProcessChild::LLPluginProcessChild()
 	mSocket = LLSocket::create(gAPRPoolp, LLSocket::STREAM_TCP);
 	mSleepTime = PLUGIN_IDLE_SECONDS;	// default: send idle messages at 100Hz
 	mCPUElapsed = 0.0f;
+	mBlockingRequest = false;
+	mBlockingResponseReceived = false;
 }
 
 LLPluginProcessChild::~LLPluginProcessChild()
@@ -83,9 +85,14 @@ void LLPluginProcessChild::idle(void)
 	bool idle_again;
 	do
 	{
-		if(mSocketError != APR_SUCCESS)
+		if(APR_STATUS_IS_EOF(mSocketError))
 		{
-			LL_INFOS("Plugin") << "message pipe is in error state, moving to STATE_ERROR"<< LL_ENDL;
+			// Plugin socket was closed.  This covers both normal plugin termination and host crashes.
+			setState(STATE_ERROR);
+		}
+		else if(mSocketError != APR_SUCCESS)
+		{
+			LL_INFOS("Plugin") << "message pipe is in error state (" << mSocketError << "), moving to STATE_ERROR"<< LL_ENDL;
 			setState(STATE_ERROR);
 		}	
 
@@ -226,6 +233,7 @@ void LLPluginProcessChild::idle(void)
 
 void LLPluginProcessChild::sleep(F64 seconds)
 {
+	deliverQueuedMessages();
 	if(mMessagePipe)
 	{
 		mMessagePipe->pump(seconds);
@@ -238,6 +246,7 @@ void LLPluginProcessChild::sleep(F64 seconds)
 
 void LLPluginProcessChild::pump(void)
 {
+	deliverQueuedMessages();
 	if(mMessagePipe)
 	{
 		mMessagePipe->pump(0.0f);
@@ -309,15 +318,32 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message)
 
 	LL_DEBUGS("Plugin") << "Received from parent: " << message << LL_ENDL;
 
+	// Decode this message
+	LLPluginMessage parsed;
+	parsed.parse(message);
+
+	if(mBlockingRequest)
+	{
+		// We're blocking the plugin waiting for a response.
+
+		if(parsed.hasValue("blocking_response"))
+		{
+			// This is the message we've been waiting for -- fall through and send it immediately. 
+			mBlockingResponseReceived = true;
+		}
+		else
+		{
+			// Still waiting.  Queue this message and don't process it yet.
+			mMessageQueue.push(message);
+			return;
+		}
+	}
+	
 	bool passMessage = true;
 	
 	// FIXME: how should we handle queueing here?
 	
 	{
-		// Decode this message
-		LLPluginMessage parsed;
-		parsed.parse(message);
-		
 		std::string message_class = parsed.getClass();
 		if(message_class == LLPLUGIN_MESSAGE_CLASS_INTERNAL)
 		{
@@ -425,7 +451,13 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message)
 void LLPluginProcessChild::receivePluginMessage(const std::string &message)
 {
 	LL_DEBUGS("Plugin") << "Received from plugin: " << message << LL_ENDL;
-
+	
+	if(mBlockingRequest)
+	{
+		// 
+		LL_ERRS("Plugin") << "Can't send a message while already waiting on a blocking request -- aborting!" << LL_ENDL;
+	}
+	
 	// Incoming message from the plugin instance
 	bool passMessage = true;
 
@@ -436,6 +468,12 @@ void LLPluginProcessChild::receivePluginMessage(const std::string &message)
 		// Decode this message
 		LLPluginMessage parsed;
 		parsed.parse(message);
+		
+		if(parsed.hasValue("blocking_request"))
+		{
+			mBlockingRequest = true;
+		}
+
 		std::string message_class = parsed.getClass();
 		if(message_class == "base")
 		{
@@ -494,6 +532,19 @@ void LLPluginProcessChild::receivePluginMessage(const std::string &message)
 		LL_DEBUGS("Plugin") << "Passing through to parent: " << message << LL_ENDL;
 		writeMessageRaw(message);
 	}
+	
+	while(mBlockingRequest)
+	{
+		// The plugin wants to block and wait for a response to this message.
+		sleep(mSleepTime);	// this will pump the message pipe and process messages
+
+		if(mBlockingResponseReceived || mSocketError != APR_SUCCESS || (mMessagePipe == NULL))
+		{
+			// Response has been received, or we've hit an error state.  Stop waiting.
+			mBlockingRequest = false;
+			mBlockingResponseReceived = false;
+		}
+	}
 }
 
 
@@ -502,3 +553,15 @@ void LLPluginProcessChild::setState(EState state)
 	LL_DEBUGS("Plugin") << "setting state to " << state << LL_ENDL;
 	mState = state; 
 };
+
+void LLPluginProcessChild::deliverQueuedMessages()
+{
+	if(!mBlockingRequest)
+	{
+		while(!mMessageQueue.empty())
+		{
+			receiveMessageRaw(mMessageQueue.front());
+			mMessageQueue.pop();
+		}
+	}
+}
diff --git a/indra/llplugin/llpluginprocesschild.h b/indra/llplugin/llpluginprocesschild.h
index 0e5e85406a671fa00f0b33ac1357e5ca17695e8a..1430ad7a5db5cf6f2e486562a9906d55f6e0977d 100644
--- a/indra/llplugin/llpluginprocesschild.h
+++ b/indra/llplugin/llpluginprocesschild.h
@@ -106,6 +106,11 @@ class LLPluginProcessChild: public LLPluginMessagePipeOwner, public LLPluginInst
 	LLTimer mHeartbeat;
 	F64		mSleepTime;
 	F64		mCPUElapsed;
+	bool	mBlockingRequest;
+	bool	mBlockingResponseReceived;
+	std::queue<std::string> mMessageQueue;
+	
+	void deliverQueuedMessages();
 	
 };
 
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp
index 895c858979026645dfc5632e6707ae2cc7fd773e..3589b22a77164004f036f2962d8c694ecf60c68e 100644
--- a/indra/llplugin/llpluginprocessparent.cpp
+++ b/indra/llplugin/llpluginprocessparent.cpp
@@ -45,8 +45,51 @@ LLPluginProcessParentOwner::~LLPluginProcessParentOwner()
 	
 }
 
-LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner)
+bool LLPluginProcessParent::sUseReadThread = false;
+apr_pollset_t *LLPluginProcessParent::sPollSet = NULL;
+bool LLPluginProcessParent::sPollsetNeedsRebuild = false;
+LLMutex *LLPluginProcessParent::sInstancesMutex;
+std::list<LLPluginProcessParent*> LLPluginProcessParent::sInstances;
+LLThread *LLPluginProcessParent::sReadThread = NULL;
+
+
+class LLPluginProcessParentPollThread: public LLThread
 {
+public:
+	LLPluginProcessParentPollThread() :
+		LLThread("LLPluginProcessParentPollThread", gAPRPoolp)
+	{
+	}
+protected:
+	// Inherited from LLThread
+	/*virtual*/ void run(void)
+	{
+		while(!isQuitting() && LLPluginProcessParent::getUseReadThread())
+		{
+			LLPluginProcessParent::poll(0.1f);
+			checkPause();
+		}
+		
+		// Final poll to clean up the pollset, etc.
+		LLPluginProcessParent::poll(0.0f);
+	} 
+
+	// Inherited from LLThread
+	/*virtual*/ bool runCondition(void)
+	{
+		return(LLPluginProcessParent::canPollThreadRun());
+	}
+
+};
+
+LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner):
+	mIncomingQueueMutex(gAPRPoolp)
+{
+	if(!sInstancesMutex)
+	{
+		sInstancesMutex = new LLMutex(gAPRPoolp);
+	}
+	
 	mOwner = owner;
 	mBoundPort = 0;
 	mState = STATE_UNINITIALIZED;
@@ -54,18 +97,37 @@ LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner)
 	mCPUUsage = 0.0;
 	mDisableTimeout = false;
 	mDebug = false;
+	mBlocked = false;
+	mPolledInput = false;
+	mPollFD.client_data = NULL;
 
 	mPluginLaunchTimeout = 60.0f;
 	mPluginLockupTimeout = 15.0f;
 	
 	// Don't start the timer here -- start it when we actually launch the plugin process.
 	mHeartbeat.stop();
+	
+	// Don't add to the global list until fully constructed.
+	{
+		LLMutexLock lock(sInstancesMutex);
+		sInstances.push_back(this);
+	}
 }
 
 LLPluginProcessParent::~LLPluginProcessParent()
 {
 	LL_DEBUGS("Plugin") << "destructor" << LL_ENDL;
 
+	// Remove from the global list before beginning destruction.
+	{
+		// Make sure to get the global mutex _first_ here, to avoid a possible deadlock against LLPluginProcessParent::poll()
+		LLMutexLock lock(sInstancesMutex);
+		{
+			LLMutexLock lock2(&mIncomingQueueMutex);
+			sInstances.remove(this);
+		}
+	}
+
 	// Destroy any remaining shared memory regions
 	sharedMemoryRegionsType::iterator iter;
 	while((iter = mSharedMemoryRegions.begin()) != mSharedMemoryRegions.end())
@@ -77,15 +139,17 @@ LLPluginProcessParent::~LLPluginProcessParent()
 		mSharedMemoryRegions.erase(iter);
 	}
 	
-	// orphaning the process means it won't be killed when the LLProcessLauncher is destructed.
-	// This is what we want -- it should exit cleanly once it notices the sockets have been closed.
-	mProcess.orphan();
+	mProcess.kill();
 	killSockets();
 }
 
 void LLPluginProcessParent::killSockets(void)
 {
-	killMessagePipe();
+	{
+		LLMutexLock lock(&mIncomingQueueMutex);
+		killMessagePipe();
+	}
+
 	mListenSocket.reset();
 	mSocket.reset();
 }
@@ -159,21 +223,47 @@ void LLPluginProcessParent::idle(void)
 
 	do
 	{
+		// process queued messages
+		mIncomingQueueMutex.lock();
+		while(!mIncomingQueue.empty())
+		{
+			LLPluginMessage message = mIncomingQueue.front();
+			mIncomingQueue.pop();
+			mIncomingQueueMutex.unlock();
+				
+			receiveMessage(message);
+			
+			mIncomingQueueMutex.lock();
+		}
+
+		mIncomingQueueMutex.unlock();
+		
 		// Give time to network processing
 		if(mMessagePipe)
 		{
-			if(!mMessagePipe->pump())
+			// Drain any queued outgoing messages
+			mMessagePipe->pumpOutput();
+			
+			// Only do input processing here if this instance isn't in a pollset.
+			if(!mPolledInput)
 			{
-//				LL_WARNS("Plugin") << "Message pipe hit an error state" << LL_ENDL;
-				errorState();
+				mMessagePipe->pumpInput();
 			}
 		}
-
-		if((mSocketError != APR_SUCCESS) && (mState <= STATE_RUNNING))
+		
+		if(mState <= STATE_RUNNING)
 		{
-			// The socket is in an error state -- the plugin is gone.
-			LL_WARNS("Plugin") << "Socket hit an error state (" << mSocketError << ")" << LL_ENDL;
-			errorState();
+			if(APR_STATUS_IS_EOF(mSocketError))
+			{
+				// Plugin socket was closed.  This covers both normal plugin termination and plugin crashes.
+				errorState();
+			}
+			else if(mSocketError != APR_SUCCESS)
+			{
+				// The socket is in an error state -- the plugin is gone.
+				LL_WARNS("Plugin") << "Socket hit an error state (" << mSocketError << ")" << LL_ENDL;
+				errorState();
+			}
 		}	
 		
 		// If a state needs to go directly to another state (as a performance enhancement), it can set idle_again to true after calling setState().
@@ -354,7 +444,7 @@ void LLPluginProcessParent::idle(void)
 			break;
 
 			case STATE_HELLO:
-				LL_DEBUGS("Plugin") << "received hello message" << llendl;
+				LL_DEBUGS("Plugin") << "received hello message" << LL_ENDL;
 				
 				// Send the message to load the plugin
 				{
@@ -388,7 +478,7 @@ void LLPluginProcessParent::idle(void)
 				}
 				else if(pluginLockedUp())
 				{
-					LL_WARNS("Plugin") << "timeout in exiting state, bailing out" << llendl;
+					LL_WARNS("Plugin") << "timeout in exiting state, bailing out" << LL_ENDL;
 					errorState();
 				}
 			break;
@@ -410,8 +500,7 @@ void LLPluginProcessParent::idle(void)
 			break;
 			
 			case STATE_CLEANUP:
-				// Don't do a kill here anymore -- closing the sockets is the new 'kill'.
-				mProcess.orphan();
+				mProcess.kill();
 				killSockets();
 				setState(STATE_DONE);
 			break;
@@ -479,23 +568,323 @@ void LLPluginProcessParent::setSleepTime(F64 sleep_time, bool force_send)
 
 void LLPluginProcessParent::sendMessage(const LLPluginMessage &message)
 {
+	if(message.hasValue("blocking_response"))
+	{
+		mBlocked = false;
+
+		// reset the heartbeat timer, since there will have been no heartbeats while the plugin was blocked.
+		mHeartbeat.setTimerExpirySec(mPluginLockupTimeout);
+	}
 	
 	std::string buffer = message.generate();
 	LL_DEBUGS("Plugin") << "Sending: " << buffer << LL_ENDL;	
 	writeMessageRaw(buffer);
+	
+	// Try to send message immediately.
+	if(mMessagePipe)
+	{
+		mMessagePipe->pumpOutput();
+	}
 }
 
+//virtual 
+void LLPluginProcessParent::setMessagePipe(LLPluginMessagePipe *message_pipe)
+{
+	bool update_pollset = false;
+	
+	if(mMessagePipe)
+	{
+		// Unsetting an existing message pipe -- remove from the pollset		
+		mPollFD.client_data = NULL;
+
+		// pollset needs an update
+		update_pollset = true;
+	}
+	if(message_pipe != NULL)
+	{
+		// Set up the apr_pollfd_t
+		mPollFD.p = gAPRPoolp;
+		mPollFD.desc_type = APR_POLL_SOCKET;
+		mPollFD.reqevents = APR_POLLIN|APR_POLLERR|APR_POLLHUP;
+		mPollFD.rtnevents = 0;
+		mPollFD.desc.s = mSocket->getSocket();
+		mPollFD.client_data = (void*)this;	
+		
+		// pollset needs an update
+		update_pollset = true;
+	}
+
+	mMessagePipe = message_pipe;
+	
+	if(update_pollset)
+	{
+		dirtyPollSet();
+	}
+}
+
+//static 
+void LLPluginProcessParent::dirtyPollSet()
+{
+	sPollsetNeedsRebuild = true;
+	
+	if(sReadThread)
+	{
+		LL_DEBUGS("PluginPoll") << "unpausing read thread " << LL_ENDL;
+		sReadThread->unpause();
+	}
+}
+
+void LLPluginProcessParent::updatePollset()
+{
+	if(!sInstancesMutex)
+	{
+		// No instances have been created yet.  There's no work to do.
+		return;
+	}
+		
+	LLMutexLock lock(sInstancesMutex);
+
+	if(sPollSet)
+	{
+		LL_DEBUGS("PluginPoll") << "destroying pollset " << sPollSet << LL_ENDL;
+		// delete the existing pollset.
+		apr_pollset_destroy(sPollSet);
+		sPollSet = NULL;
+	}
+	
+	std::list<LLPluginProcessParent*>::iterator iter;
+	int count = 0;
+	
+	// Count the number of instances that want to be in the pollset
+	for(iter = sInstances.begin(); iter != sInstances.end(); iter++)
+	{
+		(*iter)->mPolledInput = false;
+		if((*iter)->mPollFD.client_data)
+		{
+			// This instance has a socket that needs to be polled.
+			++count;
+		}
+	}
+
+	if(sUseReadThread && sReadThread && !sReadThread->isQuitting())
+	{
+		if(!sPollSet && (count > 0))
+		{
+#ifdef APR_POLLSET_NOCOPY
+			// The pollset doesn't exist yet.  Create it now.
+			apr_status_t status = apr_pollset_create(&sPollSet, count, gAPRPoolp, APR_POLLSET_NOCOPY);
+			if(status != APR_SUCCESS)
+			{
+#endif // APR_POLLSET_NOCOPY
+				LL_WARNS("PluginPoll") << "Couldn't create pollset.  Falling back to non-pollset mode." << LL_ENDL;
+				sPollSet = NULL;
+#ifdef APR_POLLSET_NOCOPY
+			}
+			else
+			{
+				LL_DEBUGS("PluginPoll") << "created pollset " << sPollSet << LL_ENDL;
+				
+				// Pollset was created, add all instances to it.
+				for(iter = sInstances.begin(); iter != sInstances.end(); iter++)
+				{
+					if((*iter)->mPollFD.client_data)
+					{
+						status = apr_pollset_add(sPollSet, &((*iter)->mPollFD));
+						if(status == APR_SUCCESS)
+						{
+							(*iter)->mPolledInput = true;
+						}
+						else
+						{
+							LL_WARNS("PluginPoll") << "apr_pollset_add failed with status " << status << LL_ENDL;
+						}
+					}
+				}
+			}
+#endif // APR_POLLSET_NOCOPY
+		}
+	}
+}
+
+void LLPluginProcessParent::setUseReadThread(bool use_read_thread)
+{
+	if(sUseReadThread != use_read_thread)
+	{
+		sUseReadThread = use_read_thread;
+		
+		if(sUseReadThread)
+		{
+			if(!sReadThread)
+			{
+				// start up the read thread
+				LL_INFOS("PluginPoll") << "creating read thread " << LL_ENDL;
+
+				// make sure the pollset gets rebuilt.
+				sPollsetNeedsRebuild = true;
+				
+				sReadThread = new LLPluginProcessParentPollThread;
+				sReadThread->start();
+			}
+		}
+		else
+		{
+			if(sReadThread)
+			{
+				// shut down the read thread
+				LL_INFOS("PluginPoll") << "destroying read thread " << LL_ENDL;
+				delete sReadThread;
+				sReadThread = NULL;
+			}
+		}
+
+	}
+}
+
+void LLPluginProcessParent::poll(F64 timeout)
+{
+	if(sPollsetNeedsRebuild || !sUseReadThread)
+	{
+		sPollsetNeedsRebuild = false;
+		updatePollset();
+	}
+	
+	if(sPollSet)
+	{
+		apr_status_t status;
+		apr_int32_t count;
+		const apr_pollfd_t *descriptors;
+		status = apr_pollset_poll(sPollSet, (apr_interval_time_t)(timeout * 1000000), &count, &descriptors);
+		if(status == APR_SUCCESS)
+		{
+			// One or more of the descriptors signalled.  Call them.
+			for(int i = 0; i < count; i++)
+			{
+				LLPluginProcessParent *self = (LLPluginProcessParent *)(descriptors[i].client_data);
+				// NOTE: the descriptor returned here is actually a COPY of the original (even though we create the pollset with APR_POLLSET_NOCOPY).
+				// This means that even if the parent has set its mPollFD.client_data to NULL, the old pointer may still there in this descriptor.
+				// It's even possible that the old pointer no longer points to a valid LLPluginProcessParent.
+				// This means that we can't safely dereference the 'self' pointer here without some extra steps...
+				if(self)
+				{
+					// Make sure this pointer is still in the instances list
+					bool valid = false;
+					{
+						LLMutexLock lock(sInstancesMutex);
+						for(std::list<LLPluginProcessParent*>::iterator iter = sInstances.begin(); iter != sInstances.end(); ++iter)
+						{
+							if(*iter == self)
+							{
+								// Lock the instance's mutex before unlocking the global mutex.  
+								// This avoids a possible race condition where the instance gets deleted between this check and the servicePoll() call.
+								self->mIncomingQueueMutex.lock();
+								valid = true;
+								break;
+							}
+						}
+					}
+					
+					if(valid)
+					{
+						// The instance is still valid.
+						// Pull incoming messages off the socket
+						self->servicePoll();
+						self->mIncomingQueueMutex.unlock();
+					}
+					else
+					{
+						LL_DEBUGS("PluginPoll") << "detected deleted instance " << self << LL_ENDL;
+					}
+
+				}
+			}
+		}
+		else if(APR_STATUS_IS_TIMEUP(status))
+		{
+			// timed out with no incoming data.  Just return.
+		}
+		else if(status == EBADF)
+		{
+			// This happens when one of the file descriptors in the pollset is destroyed, which happens whenever a plugin's socket is closed.
+			// The pollset has been or will be recreated, so just return.
+			LL_DEBUGS("PluginPoll") << "apr_pollset_poll returned EBADF" << LL_ENDL;
+		}
+		else if(status != APR_SUCCESS)
+		{
+			LL_WARNS("PluginPoll") << "apr_pollset_poll failed with status " << status << LL_ENDL;
+		}
+	}
+}
+
+void LLPluginProcessParent::servicePoll()
+{
+	bool result = true;
+	
+	// poll signalled on this object's socket.  Try to process incoming messages.
+	if(mMessagePipe)
+	{
+		result = mMessagePipe->pumpInput(0.0f);
+	}
+
+	if(!result)
+	{
+		// If we got a read error on input, remove this pipe from the pollset
+		apr_pollset_remove(sPollSet, &mPollFD);
+
+		// and tell the code not to re-add it
+		mPollFD.client_data = NULL;
+	}
+}
 
 void LLPluginProcessParent::receiveMessageRaw(const std::string &message)
 {
 	LL_DEBUGS("Plugin") << "Received: " << message << LL_ENDL;
-
-	// FIXME: should this go into a queue instead?
 	
 	LLPluginMessage parsed;
 	if(parsed.parse(message) != -1)
 	{
-		receiveMessage(parsed);
+		if(parsed.hasValue("blocking_request"))
+		{
+			mBlocked = true;
+		}
+
+		if(mPolledInput)
+		{
+			// This is being called on the polling thread -- only do minimal processing/queueing.
+			receiveMessageEarly(parsed);
+		}
+		else
+		{
+			// This is not being called on the polling thread -- do full message processing at this time.
+			receiveMessage(parsed);
+		}
+	}
+}
+
+void LLPluginProcessParent::receiveMessageEarly(const LLPluginMessage &message)
+{
+	// NOTE: this function will be called from the polling thread.  It will be called with mIncomingQueueMutex _already locked_. 
+
+	bool handled = false;
+	
+	std::string message_class = message.getClass();
+	if(message_class == LLPLUGIN_MESSAGE_CLASS_INTERNAL)
+	{
+		// no internal messages need to be handled early.
+	}
+	else
+	{
+		// Call out to the owner and see if they to reply
+		// TODO: Should this only happen when blocked?
+		if(mOwner != NULL)
+		{
+			handled = mOwner->receivePluginMessageEarly(message);
+		}
+	}
+	
+	if(!handled)
+	{
+		// any message that wasn't handled early needs to be queued.
+		mIncomingQueue.push(message);
 	}
 }
 
@@ -689,18 +1078,15 @@ bool LLPluginProcessParent::pluginLockedUpOrQuit()
 {
 	bool result = false;
 	
-	if(!mDisableTimeout && !mDebug)
+	if(!mProcess.isRunning())
 	{
-		if(!mProcess.isRunning())
-		{
-			LL_WARNS("Plugin") << "child exited" << llendl;
-			result = true;
-		}
-		else if(pluginLockedUp())
-		{
-			LL_WARNS("Plugin") << "timeout" << llendl;
-			result = true;
-		}
+		LL_WARNS("Plugin") << "child exited" << LL_ENDL;
+		result = true;
+	}
+	else if(pluginLockedUp())
+	{
+		LL_WARNS("Plugin") << "timeout" << LL_ENDL;
+		result = true;
 	}
 	
 	return result;
@@ -708,6 +1094,12 @@ bool LLPluginProcessParent::pluginLockedUpOrQuit()
 
 bool LLPluginProcessParent::pluginLockedUp()
 {
+	if(mDisableTimeout || mDebug || mBlocked)
+	{
+		// Never time out a plugin process in these cases.
+		return false;
+	}
+	
 	// If the timer is running and has expired, the plugin has locked up.
 	return (mHeartbeat.getStarted() && mHeartbeat.hasExpired());
 }
diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h
index cc6c513615747283dfd71c9e504841168697ffb3..4dff835b6aff1769c8986d596ec1a99d617f6036 100644
--- a/indra/llplugin/llpluginprocessparent.h
+++ b/indra/llplugin/llpluginprocessparent.h
@@ -41,12 +41,14 @@
 #include "llpluginsharedmemory.h"
 
 #include "lliosocket.h"
+#include "llthread.h"
 
 class LLPluginProcessParentOwner
 {
 public:
 	virtual ~LLPluginProcessParentOwner();
 	virtual void receivePluginMessage(const LLPluginMessage &message) = 0;
+	virtual bool receivePluginMessageEarly(const LLPluginMessage &message) {return false;};
 	// This will only be called when the plugin has died unexpectedly 
 	virtual void pluginLaunchFailed() {};
 	virtual void pluginDied() {};
@@ -74,6 +76,9 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner
 	// returns true if the process has exited or we've had a fatal error
 	bool isDone(void);	
 	
+	// returns true if the process is currently waiting on a blocking request
+	bool isBlocked(void) { return mBlocked; };
+	
 	void killSockets(void);
 	
 	// Go to the proper error state
@@ -87,7 +92,9 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner
 	void receiveMessage(const LLPluginMessage &message);
 	
 	// Inherited from LLPluginMessagePipeOwner
-	void receiveMessageRaw(const std::string &message);
+	/*virtual*/ void receiveMessageRaw(const std::string &message);
+	/*virtual*/ void receiveMessageEarly(const LLPluginMessage &message);
+	/*virtual*/ void setMessagePipe(LLPluginMessagePipe *message_pipe) ;
 	
 	// This adds a memory segment shared with the client, generating a name for the segment.  The name generated is guaranteed to be unique on the host.
 	// The caller must call removeSharedMemory first (and wait until getSharedMemorySize returns 0 for the indicated name) before re-adding a segment with the same name.
@@ -110,7 +117,11 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner
 	void setLockupTimeout(F32 timeout) { mPluginLockupTimeout = timeout; };
 
 	F64 getCPUUsage() { return mCPUUsage; };
-
+	
+	static void poll(F64 timeout);
+	static bool canPollThreadRun() { return (sPollSet || sPollsetNeedsRebuild || sUseReadThread); };
+	static void setUseReadThread(bool use_read_thread);
+	static bool getUseReadThread() { return sUseReadThread; };
 private:
 
 	enum EState
@@ -160,12 +171,27 @@ class LLPluginProcessParent : public LLPluginMessagePipeOwner
 	
 	bool mDisableTimeout;
 	bool mDebug;
+	bool mBlocked;
+	bool mPolledInput;
 
 	LLProcessLauncher mDebugger;
 	
 	F32 mPluginLaunchTimeout;		// Somewhat longer timeout for initial launch.
 	F32 mPluginLockupTimeout;		// If we don't receive a heartbeat in this many seconds, we declare the plugin locked up.
 
+	static bool sUseReadThread;
+	apr_pollfd_t mPollFD;
+	static apr_pollset_t *sPollSet;
+	static bool sPollsetNeedsRebuild;
+	static LLMutex *sInstancesMutex;
+	static std::list<LLPluginProcessParent*> sInstances;
+	static void dirtyPollSet();
+	static void updatePollset();
+	void servicePoll();
+	static LLThread *sReadThread;
+	
+	LLMutex mIncomingQueueMutex;
+	std::queue<LLPluginMessage> mIncomingQueue;
 };
 
 #endif // LL_LLPLUGINPROCESSPARENT_H
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp
index 3c706ce90edbbdebefa60a470e3173b5a61bc7c9..596da782ce8852efee16eac65f7759ef80ccb6b0 100644
--- a/indra/llui/llaccordionctrltab.cpp
+++ b/indra/llui/llaccordionctrltab.cpp
@@ -436,6 +436,34 @@ void LLAccordionCtrlTab::setAccordionView(LLView* panel)
 	addChild(panel,0);
 }
 
+void LLAccordionCtrlTab::setTitle(const std::string& title)
+{
+	LLAccordionCtrlTabHeader* header = findChild<LLAccordionCtrlTabHeader>(DD_HEADER_NAME);
+	if (header)
+	{
+		header->setTitle(title);
+	}
+}
+
+boost::signals2::connection LLAccordionCtrlTab::setFocusReceivedCallback(const focus_signal_t::slot_type& cb)
+{
+	LLAccordionCtrlTabHeader* header = findChild<LLAccordionCtrlTabHeader>(DD_HEADER_NAME);
+	if (header)
+	{
+		return header->setFocusReceivedCallback(cb);
+	}
+	return boost::signals2::connection();
+}
+
+boost::signals2::connection LLAccordionCtrlTab::setFocusLostCallback(const focus_signal_t::slot_type& cb)
+{
+	LLAccordionCtrlTabHeader* header = findChild<LLAccordionCtrlTabHeader>(DD_HEADER_NAME);
+	if (header)
+	{
+		return header->setFocusLostCallback(cb);
+	}
+	return boost::signals2::connection();
+}
 
 LLView*	LLAccordionCtrlTab::findContainerView()
 {
diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h
index fb19d17e99a644a88a642e1349ed9bd6ceed1c63..de254ed3ebb2a7ec2096f81acbb15fcf17fc97f2 100644
--- a/indra/llui/llaccordionctrltab.h
+++ b/indra/llui/llaccordionctrltab.h
@@ -113,6 +113,12 @@ class LLAccordionCtrlTab : public LLUICtrl
 	void		setAccordionView(LLView* panel);
 	LLView*		getAccordionView() { return mContainerPanel; };
 
+	// Set text in LLAccordionCtrlTabHeader
+	void setTitle(const std::string& title);
+
+	boost::signals2::connection setFocusReceivedCallback(const focus_signal_t::slot_type& cb);
+	boost::signals2::connection setFocusLostCallback(const focus_signal_t::slot_type& cb);
+
 	bool getCollapsible() {return mCollapsible;};
 
 	void setCollapsible(bool collapsible) {mCollapsible = collapsible;};
diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp
index ec247b25c32846a52884d9af80e5a5e5dfbcb627..bea2572ff83beddfc693fb101094b1cb8cbc2cb6 100644
--- a/indra/llui/llflatlistview.cpp
+++ b/indra/llui/llflatlistview.cpp
@@ -297,6 +297,27 @@ void LLFlatListView::setNoItemsCommentText(const std::string& comment_text)
 	mNoItemsCommentTextbox->setValue(comment_text);
 }
 
+U32 LLFlatListView::size(const bool only_visible_items) const
+{
+	if (only_visible_items)
+	{
+		U32 size = 0;
+		for (pairs_const_iterator_t
+				 iter = mItemPairs.begin(),
+				 iter_end = mItemPairs.end();
+			 iter != iter_end; ++iter)
+		{
+			if ((*iter)->first->getVisible())
+				++size;
+		}
+		return size;
+	}
+	else
+	{
+		return mItemPairs.size();
+	}
+}
+
 void LLFlatListView::clear()
 {
 	// do not use LLView::deleteAllChildren to avoid removing nonvisible items. drag-n-drop for ex.
@@ -426,7 +447,7 @@ void LLFlatListView::rearrangeItems()
 {
 	static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
 
-	setNoItemsCommentVisible(mItemPairs.empty());
+	setNoItemsCommentVisible(0==size());
 
 	if (mItemPairs.empty()) return;
 
@@ -745,19 +766,43 @@ LLRect LLFlatListView::getLastSelectedItemRect()
 void LLFlatListView::selectFirstItem	()
 {
 	// No items - no actions!
-	if (mItemPairs.empty()) return;
+	if (0 == size()) return;
 
-	selectItemPair(mItemPairs.front(), true);
-	ensureSelectedVisible();
+	// Select first visible item
+	for (pairs_iterator_t
+			 iter = mItemPairs.begin(),
+			 iter_end = mItemPairs.end();
+		 iter != iter_end; ++iter)
+	{
+		// skip invisible items
+		if ( (*iter)->first->getVisible() )
+		{
+			selectItemPair(*iter, true);
+			ensureSelectedVisible();
+			break;
+		}
+	}
 }
 
 void LLFlatListView::selectLastItem		()
 {
 	// No items - no actions!
-	if (mItemPairs.empty()) return;
+	if (0 == size()) return;
 
-	selectItemPair(mItemPairs.back(), true);
-	ensureSelectedVisible();
+	// Select last visible item
+	for (pairs_list_t::reverse_iterator
+			 r_iter = mItemPairs.rbegin(),
+			 r_iter_end = mItemPairs.rend();
+		 r_iter != r_iter_end; ++r_iter)
+	{
+		// skip invisible items
+		if ( (*r_iter)->first->getVisible() )
+		{
+			selectItemPair(*r_iter, true);
+			ensureSelectedVisible();
+			break;
+		}
+	}
 }
 
 void LLFlatListView::ensureSelectedVisible()
@@ -775,14 +820,14 @@ void LLFlatListView::ensureSelectedVisible()
 bool LLFlatListView::selectNextItemPair(bool is_up_direction, bool reset_selection)
 {
 	// No items - no actions!
-	if ( !mItemPairs.size() )
+	if ( 0 == size() )
 		return false;
 
-	
-	item_pair_t* to_sel_pair = NULL;
-	item_pair_t* cur_sel_pair = NULL;
 	if ( mSelectedItemPairs.size() )
 	{
+		item_pair_t* to_sel_pair = NULL;
+		item_pair_t* cur_sel_pair = NULL;
+
 		// Take the last selected pair
 		cur_sel_pair = mSelectedItemPairs.back();
 		// Bases on given direction choose next item to select
@@ -816,42 +861,42 @@ bool LLFlatListView::selectNextItemPair(bool is_up_direction, bool reset_selecti
 				}
 			}
 		}
+
+		if ( to_sel_pair )
+		{
+			bool select = true;
+			if ( reset_selection )
+			{
+				// Reset current selection if we were asked about it
+				resetSelection();
+			}
+			else
+			{
+				// If item already selected and no reset request than we should deselect last selected item.
+				select = (mSelectedItemPairs.end() == std::find(mSelectedItemPairs.begin(), mSelectedItemPairs.end(), to_sel_pair));
+			}
+			// Select/Deselect next item
+			selectItemPair(select ? to_sel_pair : cur_sel_pair, select);
+			return true;
+		}
 	}
 	else
 	{
 		// If there weren't selected items then choose the first one bases on given direction
-		cur_sel_pair = (is_up_direction) ? mItemPairs.back() : mItemPairs.front();
 		// Force selection to first item
-		to_sel_pair = cur_sel_pair;
-	}
-
-
-	if ( to_sel_pair )
-	{
-		bool select = true;
-
-		if ( reset_selection )
-		{
-			// Reset current selection if we were asked about it
-			resetSelection();
-		}
+		if (is_up_direction)
+			selectLastItem();
 		else
-		{
-			// If item already selected and no reset request than we should deselect last selected item.
-			select = (mSelectedItemPairs.end() == std::find(mSelectedItemPairs.begin(), mSelectedItemPairs.end(), to_sel_pair));
-		}
-
-		// Select/Deselect next item
-		selectItemPair(select ? to_sel_pair : cur_sel_pair, select);
-
+			selectFirstItem();
 		return true;
 	}
+
 	return false;
 }
 
 BOOL LLFlatListView::canSelectAll() const
 {
-	return !mItemPairs.empty() && mAllowSelection && mMultipleSelection;
+	return 0 != size() && mAllowSelection && mMultipleSelection;
 }
 
 void LLFlatListView::selectAll()
@@ -1167,4 +1212,51 @@ void LLFlatListViewEx::updateNoItemsMessage(const std::string& filter_string)
 
 }
 
+void LLFlatListViewEx::setFilterSubString(const std::string& filter_str)
+{
+	if (0 != LLStringUtil::compareInsensitive(filter_str, mFilterSubString))
+	{
+		mFilterSubString = filter_str;
+		updateNoItemsMessage(mFilterSubString);
+		filterItems();
+	}
+}
+
+void LLFlatListViewEx::filterItems()
+{
+	typedef std::vector <LLPanel*> item_panel_list_t;
+
+	std::string cur_filter = mFilterSubString;
+	LLStringUtil::toUpper(cur_filter);
+
+	LLSD action;
+	action.with("match_filter", cur_filter);
+
+	item_panel_list_t items;
+	getItems(items);
+
+	for (item_panel_list_t::iterator
+			 iter = items.begin(),
+			 iter_end = items.end();
+		 iter != iter_end; ++iter)
+	{
+		LLPanel* pItem = (*iter);
+		// 0 signifies that filter is matched,
+		// i.e. we don't hide items that don't support 'match_filter' action, separators etc.
+		if (0 == pItem->notify(action))
+		{
+			pItem->setVisible(true);
+		}
+		else
+		{
+			// TODO: implement (re)storing of current selection.
+			selectItem(pItem, false);
+			pItem->setVisible(false);
+		}
+	}
+
+	rearrangeItems();
+	notifyParentItemsRectChanged();
+}
+
 //EOF
diff --git a/indra/llui/llflatlistview.h b/indra/llui/llflatlistview.h
index 4f718ab0dcaaf8d67dd1450d46b072c7579692b1..6395805aab30a93d6048ca6b248ef013e8f2c6d7 100644
--- a/indra/llui/llflatlistview.h
+++ b/indra/llui/llflatlistview.h
@@ -264,9 +264,8 @@ class LLFlatListView : public LLScrollContainer, public LLEditMenuHandler
 	/** Get number of selected items in the list */
 	U32 numSelected() const {return mSelectedItemPairs.size(); }
 
-	/** Get number of items in the list */
-	U32 size() const { return mItemPairs.size(); }
-
+	/** Get number of (visible) items in the list */
+	U32 size(const bool only_visible_items = true) const;
 
 	/** Removes all items from the list */
 	virtual void clear();
@@ -464,6 +463,17 @@ class LLFlatListViewEx : public LLFlatListView
 	void setNoItemsMsg(const std::string& msg) { mNoItemsMsg = msg; }
 	void setNoFilteredItemsMsg(const std::string& msg) { mNoFilteredItemsMsg = msg; }
 
+	/**
+	 * Sets up new filter string and filters the list.
+	 */
+	void setFilterSubString(const std::string& filter_str);
+	
+	/**
+	 * Filters the list, rearranges and notifies parent about shape changes.
+	 * Derived classes may want to overload rearrangeItems() to exclude repeated separators after filtration.
+	 */
+	void filterItems();
+
 protected:
 	LLFlatListViewEx(const Params& p);
 
@@ -478,6 +488,7 @@ class LLFlatListViewEx : public LLFlatListView
 private:
 	std::string mNoFilteredItemsMsg;
 	std::string mNoItemsMsg;
+	std::string	mFilterSubString;
 };
 
 #endif
diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp
index 491cd7b6f37564bd8690e895737e9e6fd7566bbe..b47f21ed8ae7609af5dc399f7034427916fba1d6 100644
--- a/indra/llui/llspinctrl.cpp
+++ b/indra/llui/llspinctrl.cpp
@@ -457,3 +457,8 @@ BOOL LLSpinCtrl::handleKeyHere(KEY key, MASK mask)
 	return FALSE;
 }
 
+BOOL LLSpinCtrl::handleDoubleClick(S32 x, S32 y, MASK mask)
+{
+	// just treat a double click as a second click
+	return handleMouseDown(x, y, mask);
+}
diff --git a/indra/llui/llspinctrl.h b/indra/llui/llspinctrl.h
index 00d6f86f8375906245ebf6d23a01a403d43fa0ea..06201255d2d5fef12cd8343bf44fba69931cbfbe 100644
--- a/indra/llui/llspinctrl.h
+++ b/indra/llui/llspinctrl.h
@@ -94,6 +94,7 @@ class LLSpinCtrl
 
 	virtual BOOL	handleScrollWheel(S32 x,S32 y,S32 clicks);
 	virtual BOOL	handleKeyHere(KEY key, MASK mask);
+	virtual BOOL	handleDoubleClick(S32 x, S32 y, MASK mask);
 
 	void			onEditorCommit(const LLSD& data);
 	static void		onEditorGainFocus(LLFocusableElement* caller, void *userdata);
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index a96ad7e796a24f53805372b4928680fd96d6de2d..f8fde0319e53d7079562faac9b41ef378052624d 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -2881,10 +2881,13 @@ void LLSplashScreenWin32::updateImpl(const std::string& mesg)
 	if( output_str_len>1024 )
 		return;
 
-	WCHAR w_mesg[1024];
+	WCHAR w_mesg[1025];//big enought to keep null terminatos
 
 	MultiByteToWideChar (CP_UTF8, 0, mesg.c_str(), mesg.length(), w_mesg, output_str_len);
 
+	//looks like MultiByteToWideChar didn't add null terminator to converted string, see EXT-4858
+	w_mesg[output_str_len] = 0;
+
 	SendDlgItemMessage(mWindow,
 		666,		// HACK: text id
 		WM_SETTEXT,
diff --git a/indra/media_plugins/webkit/mac_volume_catcher.cpp b/indra/media_plugins/webkit/mac_volume_catcher.cpp
index 9788f10a582b8c8f30195f1090889bb857e93685..38727e5965fbbf99e6936486355497bce98723a1 100644
--- a/indra/media_plugins/webkit/mac_volume_catcher.cpp
+++ b/indra/media_plugins/webkit/mac_volume_catcher.cpp
@@ -1,5 +1,5 @@
 /** 
- * @file dummy_volume_catcher.cpp
+ * @file mac_volume_catcher.cpp
  * @brief A Mac OS X specific hack to control the volume level of all audio channels opened by a process.
  *
  * @cond
@@ -98,7 +98,7 @@ VolumeCatcherImpl *VolumeCatcherImpl::getInstance()
 VolumeCatcherImpl::VolumeCatcherImpl()
 {
 	mVolume = 1.0;	// default to full volume
-	mPan = 0.5;		// and center pan
+	mPan = 0.0;		// and center pan
 		
 	ComponentDescription desc;
 	desc.componentType = kAudioUnitType_Output;
diff --git a/indra/media_plugins/webkit/windows_volume_catcher.cpp b/indra/media_plugins/webkit/windows_volume_catcher.cpp
index fdff28c2c173e82a8f7574ba95fd57222d7225cf..ef96102a0a9a7085945d0c252b7ca61405749c26 100644
--- a/indra/media_plugins/webkit/windows_volume_catcher.cpp
+++ b/indra/media_plugins/webkit/windows_volume_catcher.cpp
@@ -34,7 +34,6 @@
 #include "volume_catcher.h"
 #include <windows.h>
 #include "llsingleton.h"
-
 class VolumeCatcherImpl : public LLSingleton<VolumeCatcherImpl>
 {
 friend LLSingleton<VolumeCatcherImpl>;
@@ -48,8 +47,8 @@ friend LLSingleton<VolumeCatcherImpl>;
 	VolumeCatcherImpl();
 	~VolumeCatcherImpl();
 
-	typedef void (*set_volume_func_t)(F32);
-	typedef void (*set_mute_func_t)(bool);
+	typedef void (WINAPI *set_volume_func_t)(F32);
+	typedef void (WINAPI *set_mute_func_t)(bool);
 
 	set_volume_func_t mSetVolumeFunc;
 	set_mute_func_t mSetMuteFunc;
@@ -57,7 +56,6 @@ friend LLSingleton<VolumeCatcherImpl>;
 	F32 	mVolume;
 	F32 	mPan;
 };
-
 VolumeCatcherImpl::VolumeCatcherImpl()
 :	mVolume(1.0f),	// default volume is max
 	mPan(0.f)		// default pan is centered
@@ -77,10 +75,8 @@ VolumeCatcherImpl::~VolumeCatcherImpl()
 
 void VolumeCatcherImpl::setVolume(F32 volume)
 {
-	//F32 left_volume = volume * min(1.f, 1.f - mPan);
-	//F32 right_volume = volume * max(0.f, 1.f + mPan);
-	
 	mVolume = volume;
+
 	if (mSetMuteFunc)
 	{
 		mSetMuteFunc(volume == 0.f);
@@ -123,3 +119,4 @@ void VolumeCatcher::pump()
 	// No periodic tasks are necessary for this implementation.
 }
 
+
diff --git a/indra/media_plugins/winmmshim/winmm_shim.cpp b/indra/media_plugins/winmmshim/winmm_shim.cpp
index f7df3b19a06b163f67a70a948642dd2ee477097f..6fbf517d7c1cfc0d6693c57de45722451b3fe286 100644
--- a/indra/media_plugins/winmmshim/winmm_shim.cpp
+++ b/indra/media_plugins/winmmshim/winmm_shim.cpp
@@ -120,8 +120,8 @@ extern "C"
 		{ // zero out the audio buffer when muted
 			memset(pwh->lpData, 0, pwh->dwBufferLength);
 		}
-		else
-		{
+		else if (sVolumeLevel != 1.f) 
+		{ // need to apply volume level
 			wave_out_map_t::iterator found_it = sWaveOuts.find(hwo);
 			if (found_it != sWaveOuts.end())
 			{
@@ -144,10 +144,11 @@ extern "C"
 
 						// copy volume level 4 times into 64 bit MMX register
 						__m64 volume_64 = _mm_set_pi16(volume_16, volume_16, volume_16, volume_16);
-						__m64 *sample_64;
+						__m64* sample_64;
+						__m64* last_sample_64 =  (__m64*)(pwh->lpData + pwh->dwBufferLength - sizeof(__m64));
 						// for everything that can be addressed in 64 bit multiples...
 						for (sample_64 = (__m64*)pwh->lpData;
-							sample_64 < (__m64*)(pwh->lpData + pwh->dwBufferLength);
+							sample_64 <= last_sample_64;
 							++sample_64)
 						{
 							//...multiply the samples by the volume...
@@ -162,10 +163,11 @@ extern "C"
 						// the captain has turned off the MMX sign, you are now free to use floating point registers
 						_mm_empty();
 
+						// finish remaining samples that didn't fit into 64 bit register
 						for (short* sample_16 = (short*)sample_64;
 							sample_16 < (short*)(pwh->lpData + pwh->dwBufferLength);
 							++sample_16)
-						{	// finish remaining samples that didn't fit into 64 bit register
+						{	
 							*sample_16 = (*sample_16 * volume_16) >> 15;
 						}
 
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 835a9aacd57efb7c3001330c65ff252e5b0df847..a1e3b679eea05b5d31ec50ceb2e91a7bc28f98f8 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1588,7 +1588,10 @@ if (WINDOWS)
           --login_channel=${VIEWER_LOGIN_CHANNEL}
           --source=${CMAKE_CURRENT_SOURCE_DIR}
           --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat
-        DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+        DEPENDS 
+            ${VIEWER_BINARY_NAME} 
+            ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+            ${COPY_INPUT_DEPENDENCIES}
         )
 
       add_custom_target(package ALL DEPENDS 
diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings
index 02c3dfc6e0c16d31b7079ce4cccbfa585f9e7dbc..4831dc7273cb3a1622a33099652468b9cd24eb60 100644
--- a/indra/newview/English.lproj/InfoPlist.strings
+++ b/indra/newview/English.lproj/InfoPlist.strings
@@ -2,6 +2,6 @@
 
 CFBundleName = "Second Life";
 
-CFBundleShortVersionString = "Second Life version 2.0.0.203110";
-CFBundleGetInfoString = "Second Life version 2.0.0.203110, Copyright 2004-2009 Linden Research, Inc.";
+CFBundleShortVersionString = "Second Life version 2.0.2.0";
+CFBundleGetInfoString = "Second Life version 2.0.2.0, Copyright 2004-2009 Linden Research, Inc.";
 
diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist
index 4cb01a0f338759a56d18093eadfb9a75691592b3..a7241cac89481bb2afff50e052a0b7660cc8a1f2 100644
--- a/indra/newview/Info-SecondLife.plist
+++ b/indra/newview/Info-SecondLife.plist
@@ -32,7 +32,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>2.0.0.203110</string>
+	<string>2.0.2.0</string>
 	<key>CSResourcesFileMapped</key>
 	<true/>
 </dict>
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 600c548212e1c1b3b2b592aae2be57b7ce558c1f..be32d92ea197f9dd2380b231390de4edbf5e38c9 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -5585,6 +5585,19 @@
       <key>Value</key>
       <integer>8</integer>
     </map>
+
+   <key>PluginUseReadThread</key>
+    <map>
+      <key>Comment</key>
+      <string>Use a separate thread to read incoming messages from plugins</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>0</integer>
+    </map>
+
     <key>PrecachingDelay</key>
     <map>
       <key>Comment</key>
@@ -5838,7 +5851,40 @@
         <key>Value</key>
             <real>1.0</real>
         </map>
-    <key>RecentItemsSortOrder</key>
+  <key>MediaRollOffRate</key>
+  <map>
+    <key>Comment</key>
+    <string>Multiplier to change rate of media attenuation</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>F32</string>
+    <key>Value</key>
+    <real>0.2</real>
+  </map>
+  <key>MediaRollOffMin</key>
+  <map>
+    <key>Comment</key>
+    <string>Adjusts the distance at which media attentuation starts</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>F32</string>
+    <key>Value</key>
+    <real>7.0</real>
+  </map>
+  <key>MediaRollOffMax</key>
+  <map>
+    <key>Comment</key>
+    <string>Distance at which media volume is set to 0</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>F32</string>
+    <key>Value</key>
+    <real>30.0</real>
+  </map>
+  <key>RecentItemsSortOrder</key>
     <map>
       <key>Comment</key>
       <string>Specifies sort key for recent inventory items (+0 = name, +1 = date, +2 = folders always by name, +4 = system folders to top)</string>
@@ -7983,17 +8029,6 @@
       <key>Value</key>
       <integer>0</integer>
     </map>
-    <key>ShowDebugAppearanceEditor</key>
-    <map>
-      <key>Comment</key>
-      <string>Show debugging appearance editor</string>
-      <key>Persist</key>
-      <integer>1</integer>
-      <key>Type</key>
-      <string>Boolean</string>
-      <key>Value</key>
-      <integer>0</integer>
-    </map>
     <key>ShowEmptyFoldersWhenSearching</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 8a880e5acee19a09cb39485669fc4dd3a216af8c..b5fde0baca0fc2738517994081965c5ec9f1d1b9 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -1974,7 +1974,11 @@ void LLAgentWearables::userAttachMultipleAttachments(LLInventoryModel::item_arra
 		msg->nextBlockFast(_PREHASH_ObjectData );
 		msg->addUUIDFast(_PREHASH_ItemID, item->getLinkedUUID());
 		msg->addUUIDFast(_PREHASH_OwnerID, item->getPermissions().getOwner());
+#if ENABLE_MULTIATTACHMENTS
+		msg->addU8Fast(_PREHASH_AttachmentPt, 0 | ATTACHMENT_ADD );
+#else
 		msg->addU8Fast(_PREHASH_AttachmentPt, 0 );	// Wear at the previous or default attachment point
+#endif
 		pack_permissions_slam(msg, item->getFlags(), item->getPermissions());
 		msg->addStringFast(_PREHASH_Name, item->getName());
 		msg->addStringFast(_PREHASH_Description, item->getDescription());
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 5586b3cd4d6981292872df131b2463d0f4fd3a38..e93e29ecdeed96401bfb98adbe151d1286909ad5 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1092,7 +1092,8 @@ void LLAppearanceMgr::updateAppearanceFromCOF()
 	}
 
 	//preparing the list of wearables in the correct order for LLAgentWearables
-	std::sort(wear_items.begin(), wear_items.end(), sort_by_description);
+	sortItemsByActualDescription(wear_items);
+
 
 	LLWearableHoldingPattern* holder = new LLWearableHoldingPattern;
 
@@ -1910,6 +1911,13 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b
 	return result;
 }
 
+//static
+void LLAppearanceMgr::sortItemsByActualDescription(LLInventoryModel::item_array_t& items)
+{
+	if (items.size() < 2) return;
+
+	std::sort(items.begin(), items.end(), sort_by_description);
+}
 
 //#define DUMP_CAT_VERBOSE
 
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index a308a3efa947d343fb6a76a97196a3653834fdf6..516dada39da484c95787d501ec7818c9e868b383 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -48,6 +48,8 @@ class LLAppearanceMgr: public LLSingleton<LLAppearanceMgr>
 	friend class LLSingleton<LLAppearanceMgr>;
 	
 public:
+	typedef std::vector<LLInventoryModel::item_array_t> wearables_by_type_t;
+
 	void updateAppearanceFromCOF();
 	bool needToSaveCOF();
 	void updateCOF(const LLUUID& category, bool append = false);
@@ -143,17 +145,17 @@ class LLAppearanceMgr: public LLSingleton<LLAppearanceMgr>
 
 	bool moveWearable(LLViewerInventoryItem* item, bool closer_to_body);
 
+	static void sortItemsByActualDescription(LLInventoryModel::item_array_t& items);
+
+	//Divvy items into arrays by wearable type
+	static void divvyWearablesByType(const LLInventoryModel::item_array_t& items, wearables_by_type_t& items_by_type);
+
 protected:
 	LLAppearanceMgr();
 	~LLAppearanceMgr();
 
 private:
 
-	typedef std::vector<LLInventoryModel::item_array_t> wearables_by_type_t;
-
-	//Divvy items into arrays by wearable type
-	static void divvyWearablesByType(const LLInventoryModel::item_array_t& items, wearables_by_type_t& items_by_type);
-
 	//Check ordering information on wearables stored in links' descriptions and update if it is invalid
 	void updateClothingOrderingInfo();
 
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 51af6b50b40f020dd797794c50c2540c29c8210a..66aba13aba708f6aa44008fbde1659e3775de85c 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1545,6 +1545,9 @@ bool LLAppViewer::cleanup()
 	
 	LLViewerMedia::saveCookieFile();
 
+	// Stop the plugin read thread if it's running.
+	LLPluginProcessParent::setUseReadThread(false);
+
 	llinfos << "Shutting down Threads" << llendflush;
 
 	// Let threads finish
@@ -3969,9 +3972,7 @@ void LLAppViewer::idleNetwork()
 {
 	LLMemType mt_in(LLMemType::MTYPE_IDLE_NETWORK);
 	pingMainloopTimeout("idleNetwork");
-	LLError::LLCallStacks::clear() ;
-	llpushcallstacks ;
-
+	
 	gObjectList.mNumNewObjects = 0;
 	S32 total_decoded = 0;
 
@@ -3981,7 +3982,6 @@ void LLAppViewer::idleNetwork()
 		
 		// deal with any queued name requests and replies.
 		gCacheName->processPending();
-		llpushcallstacks ;
 		LLTimer check_message_timer;
 		//  Read all available packets from network 
 		const S64 frame_count = gFrameCount;  // U32->S64
@@ -4051,16 +4051,13 @@ void LLAppViewer::idleNetwork()
 			gPrintMessagesThisFrame = FALSE;
 		}
 	}
-	llpushcallstacks ;
 	LLViewerStats::getInstance()->mNumNewObjectsStat.addValue(gObjectList.mNumNewObjects);
 
 	// Retransmit unacknowledged packets.
 	gXferManager->retransmitUnackedPackets();
 	gAssetStorage->checkForTimeouts();
-	llpushcallstacks ;
 	gViewerThrottle.updateDynamicThrottle();
 
-	llpushcallstacks ;
 	// Check that the circuit between the viewer and the agent's current
 	// region is still alive
 	LLViewerRegion *agent_region = gAgent.getRegion();
@@ -4076,7 +4073,6 @@ void LLAppViewer::idleNetwork()
 		mAgentRegionLastID = this_region_id;
 		mAgentRegionLastAlive = this_region_alive;
 	}
-	llpushcallstacks ;
 }
 
 void LLAppViewer::disconnectViewer()
diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp
index 4f9434030f0a7588b8ab99c64ac990dcd8359173..fafa315a59d7eea7c5ac641de48e42bc0b8d336b 100644
--- a/indra/newview/llchannelmanager.cpp
+++ b/indra/newview/llchannelmanager.cpp
@@ -243,3 +243,19 @@ void LLChannelManager::killToastsFromChannel(const LLUUID& channel_id, const LLS
 	}
 }
 
+// static
+LLNotificationsUI::LLScreenChannel* LLChannelManager::getNotificationScreenChannel()
+{
+	LLNotificationsUI::LLScreenChannel* channel = static_cast<LLNotificationsUI::LLScreenChannel*>
+	(LLNotificationsUI::LLChannelManager::getInstance()->
+										findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID"))));
+
+	if (channel == NULL)
+	{
+		llwarns << "Can't find screen channel by NotificationChannelUUID" << llendl;
+		llassert(!"Can't find screen channel by NotificationChannelUUID");
+	}
+
+	return channel;
+}
+
diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h
index c2be39122f4d106937b718b0f1479d9440af0108..8c725f26609ddce9927043aacc1ae74cce511d87 100644
--- a/indra/newview/llchannelmanager.h
+++ b/indra/newview/llchannelmanager.h
@@ -114,6 +114,11 @@ class LLChannelManager : public LLSingleton<LLChannelManager>
 	 */
 	void killToastsFromChannel(const LLUUID& channel_id, const LLScreenChannel::Matcher& matcher);
 
+	/**
+	 * Returns notification screen channel.
+	 */
+	static LLNotificationsUI::LLScreenChannel* getNotificationScreenChannel();
+
 private:
 
 	LLScreenChannel* createChannel(LLChannelManager::Params& p);
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp
index f0442ee3f6495b8df97160b8043a346c32f55e62..1925b818f2511daf311b63c55927209277c65b78 100644
--- a/indra/newview/llcofwearables.cpp
+++ b/indra/newview/llcofwearables.cpp
@@ -34,10 +34,13 @@
 
 #include "llcofwearables.h"
 
+#include "llagentdata.h"
 #include "llappearancemgr.h"
 #include "llinventory.h"
-#include "llinventoryitemslist.h"
 #include "llinventoryfunctions.h"
+#include "llwearableitemslist.h"
+
+static LLRegisterPanelClassWrapper<LLCOFAccordionListAdaptor> t_cof_accodion_list_adaptor("accordion_list_adaptor");
 
 static LLRegisterPanelClassWrapper<LLCOFWearables> t_cof_wearables("cof_wearables");
 
@@ -91,50 +94,187 @@ void LLCOFWearables::onSelectionChange(LLFlatListView* selected_list)
 
 void LLCOFWearables::refresh()
 {
+	typedef std::vector<LLSD> values_vector_t;
+	typedef std::map<LLFlatListView*, values_vector_t> selection_map_t;
+
+	selection_map_t preserve_selection;
+
+	// Save current selection
+	mAttachments->getSelectedValues(preserve_selection[mAttachments]);
+	mClothing->getSelectedValues(preserve_selection[mClothing]);
+	mBodyParts->getSelectedValues(preserve_selection[mBodyParts]);
+
 	clear();
 
 	LLInventoryModel::cat_array_t cats;
-	LLInventoryModel::item_array_t items;
+	LLInventoryModel::item_array_t cof_items;
+
+	gInventory.collectDescendents(LLAppearanceMgr::getInstance()->getCOF(), cats, cof_items, LLInventoryModel::EXCLUDE_TRASH);
+
+	populateAttachmentsAndBodypartsLists(cof_items);
+
+
+	LLAppearanceMgr::wearables_by_type_t clothing_by_type(WT_COUNT);
+	LLAppearanceMgr::getInstance()->divvyWearablesByType(cof_items, clothing_by_type);
 	
-	gInventory.collectDescendents(LLAppearanceMgr::getInstance()->getCOF(), cats, items, LLInventoryModel::EXCLUDE_TRASH);
-	if (items.empty()) return;
+	populateClothingList(clothing_by_type);
 
-	for (U32 i = 0; i < items.size(); ++i)
+	// Restore previous selection
+	for (selection_map_t::iterator
+			 iter = preserve_selection.begin(),
+			 iter_end = preserve_selection.end();
+		 iter != iter_end; ++iter)
 	{
-		LLViewerInventoryItem* item = items.get(i);
-		if (!item) continue;
+		LLFlatListView* list = iter->first;
+		const values_vector_t& values = iter->second;
+		for (values_vector_t::const_iterator
+				 value_it = values.begin(),
+				 value_it_end = values.end();
+			 value_it != value_it_end; ++value_it)
+		{
+			list->selectItemByValue(*value_it);
+		}
+	}
+}
 
-		LLPanelInventoryListItem* item_panel = LLPanelInventoryListItem::createItemPanel(item);
-		if (!item_panel) continue;
 
-		switch (item->getType())
+void LLCOFWearables::populateAttachmentsAndBodypartsLists(const LLInventoryModel::item_array_t& cof_items)
+{
+	for (U32 i = 0; i < cof_items.size(); ++i)
+	{
+		LLViewerInventoryItem* item = cof_items.get(i);
+		if (!item) continue;
+
+		const LLAssetType::EType item_type = item->getType();
+		if (item_type == LLAssetType::AT_CLOTHING) continue;
+		LLPanelInventoryListItemBase* item_panel = NULL;
+		if (item_type == LLAssetType::AT_OBJECT)
 		{
-			case LLAssetType::AT_OBJECT:
-				mAttachments->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
-				break;
+				item_panel = LLPanelInventoryListItemBase::create(item);
+			mAttachments->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
+		}
+		else if (item_type == LLAssetType::AT_BODYPART)
+		{
+			item_panel = buildBodypartListItem(item);
+			if (!item_panel) continue;
 
-			case LLAssetType::AT_BODYPART:
-				mBodyParts->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
-				break;
+			mBodyParts->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
+		}
+	}
 
-			case LLAssetType::AT_CLOTHING:
-				mClothing->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
-				break;
+	if (mAttachments->size())
+	{
+		mAttachments->sort(); //*TODO by Name
+		mAttachments->notify(REARRANGE); //notifying the parent about the list's size change (cause items were added with rearrange=false)
+	}
 
-			default: break;
-		}
+	if (mBodyParts->size())
+	{
+		mBodyParts->sort(); //*TODO by name
 	}
 
-	mAttachments->sort(); //*TODO by Name
-	mAttachments->notify(REARRANGE); //notifying the parent about the list's size change (cause items were added with rearrange=false)
+	mBodyParts->notify(REARRANGE);
+}
+
+//create a clothing list item, update verbs and show/hide line separator
+LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventoryItem* item, bool first, bool last)
+{
+	llassert(item);
+
+	LLPanelClothingListItem* item_panel = LLPanelClothingListItem::create(item);
+	if (!item_panel) return NULL;
+
+	//updating verbs
+	//we don't need to use permissions of a link but of an actual/linked item
+	if (item->getLinkedItem()) item = item->getLinkedItem();
+
+	bool allow_modify = item->getPermissions().allowModifyBy(gAgentID);
 	
-	mClothing->sort(); //*TODO by actual inventory item description
-	mClothing->notify(REARRANGE);
+	item_panel->setShowLockButton(!allow_modify);
+	item_panel->setShowEditButton(allow_modify);
+
+	item_panel->setShowMoveUpButton(!first);
+	item_panel->setShowMoveDownButton(!last);
+
+	//setting callbacks
+	//*TODO move that item panel's inner structure disclosing stuff into the panels
+	item_panel->childSetAction("btn_delete", mCOFCallbacks.mDeleteWearable);
+	item_panel->childSetAction("btn_move_up", mCOFCallbacks.mMoveWearableCloser);
+	item_panel->childSetAction("btn_move_down", mCOFCallbacks.mMoveWearableFurther);
+	item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable);
 	
-	mBodyParts->sort(); //*TODO by name
-	mBodyParts->notify(REARRANGE);
+	//turning on gray separator line for the last item in the items group of the same wearable type
+	item_panel->childSetVisible("wearable_type_separator_panel", last);
+
+	return item_panel;
 }
 
+LLPanelBodyPartsListItem* LLCOFWearables::buildBodypartListItem(LLViewerInventoryItem* item)
+{
+	llassert(item);
+
+	LLPanelBodyPartsListItem* item_panel = LLPanelBodyPartsListItem::create(item);
+	if (!item_panel) return NULL;
+
+	//updating verbs
+	//we don't need to use permissions of a link but of an actual/linked item
+	if (item->getLinkedItem()) item = item->getLinkedItem();
+
+	bool allow_modify = item->getPermissions().allowModifyBy(gAgentID);
+	item_panel->setShowLockButton(!allow_modify);
+	item_panel->setShowEditButton(allow_modify);
+
+	//setting callbacks
+	//*TODO move that item panel's inner structure disclosing stuff into the panels
+	item_panel->childSetAction("btn_delete", mCOFCallbacks.mDeleteWearable);
+	item_panel->childSetAction("btn_edit", mCOFCallbacks.mEditWearable);
+
+	return item_panel;
+}
+
+void LLCOFWearables::populateClothingList(LLAppearanceMgr::wearables_by_type_t& clothing_by_type)
+{
+	llassert(clothing_by_type.size() == WT_COUNT);
+
+	for (U32 type = WT_SHIRT; type < WT_COUNT; ++type)
+	{
+		U32 size = clothing_by_type[type].size();
+		if (!size) continue;
+
+		LLAppearanceMgr::sortItemsByActualDescription(clothing_by_type[type]);
+
+		for (U32 i = 0; i < size; i++)
+		{
+			LLViewerInventoryItem* item = clothing_by_type[type][i];
+
+			LLPanelClothingListItem* item_panel = buildClothingListItem(item, i == 0, i == size - 1);
+			if (!item_panel) continue;
+
+			mClothing->addItem(item_panel, item->getUUID(), ADD_BOTTOM, false);
+		}
+	}
+
+	addClothingTypesDummies(clothing_by_type);
+
+	mClothing->notify(REARRANGE);
+}
+
+//adding dummy items for missing wearable types
+void LLCOFWearables::addClothingTypesDummies(const LLAppearanceMgr::wearables_by_type_t& clothing_by_type)
+{
+	llassert(clothing_by_type.size() == WT_COUNT);
+	
+	for (U32 type = WT_SHIRT; type < WT_COUNT; type++)
+	{
+		U32 size = clothing_by_type[type].size();
+		if (size) continue;
+
+		EWearableType w_type = static_cast<EWearableType>(type);
+		LLPanelInventoryListItemBase* item_panel = LLPanelDummyClothingListItem::create(w_type);
+		if(!item_panel) continue;
+		mClothing->addItem(item_panel, LLUUID::null, ADD_BOTTOM, false);
+	}
+}
 
 LLUUID LLCOFWearables::getSelectedUUID()
 {
diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h
index 58d67ed32f8e1b098079dd2152493c232f5f8d8a..2d26bf781fb4cc538fbcae7653abc3353e1b4686 100644
--- a/indra/newview/llcofwearables.h
+++ b/indra/newview/llcofwearables.h
@@ -34,12 +34,82 @@
 #define LL_LLCOFWEARABLES_H
 
 #include "llpanel.h"
+#include "llinventorymodel.h"
+#include "llappearancemgr.h"
+#include "llwearableitemslist.h"
 
 class LLFlatListView;
 
+/**
+ * Adaptor between LLAccordionCtrlTab and LLFlatListView to facilitate communication between them 
+ * (notify, notifyParent) regarding size changes of a list and selection changes across accordion tabs.
+ * Besides that it acts as a container for the LLFlatListView and a button bar on top of it.
+ */
+class LLCOFAccordionListAdaptor : public LLPanel
+{
+public:
+	LLCOFAccordionListAdaptor() : LLPanel() {};
+	~LLCOFAccordionListAdaptor() {};
+
+	S32 notifyParent(const LLSD& info)
+	{
+		LLView* parent = getParent();
+		if (!parent) return -1;
+		
+		if (!(info.has("action") && "size_changes" == info["action"].asString()))
+		{
+			return parent->notifyParent(info);
+		}
+
+		LLRect rc;
+		childGetRect("button_bar", rc);
+
+		LLSD params;
+		params["action"] = "size_changes";
+		params["width"] = info["width"];
+		params["height"] = info["height"].asInteger() + rc.getHeight();
+
+		return parent->notifyParent(params);
+	}
+
+
+	S32 notify(const LLSD& info)
+	{
+		for (child_list_const_iter_t iter = beginChild(); iter != endChild(); iter++)
+		{
+			if (dynamic_cast<LLFlatListView*>(*iter))
+			{
+				return (*iter)->notify(info);
+			}
+		}
+		return LLPanel::notify(info);
+	};
+};
+
+
 class LLCOFWearables : public LLPanel
 {
 public:
+
+	/**
+	 * Represents a collection of callbacks assigned to inventory panel item's buttons
+	 */
+	class LLCOFCallbacks
+	{
+	public:
+		LLCOFCallbacks() {};
+		virtual ~LLCOFCallbacks() {};
+		
+		typedef boost::function<void (void*)> cof_callback_t;
+
+		cof_callback_t mMoveWearableCloser;
+		cof_callback_t mMoveWearableFurther;
+		cof_callback_t mEditWearable;
+		cof_callback_t mDeleteWearable;
+	};
+
+
+
 	LLCOFWearables();
 	virtual ~LLCOFWearables() {};
 
@@ -50,16 +120,27 @@ class LLCOFWearables : public LLPanel
 	void refresh();
 	void clear();
 
+	LLCOFCallbacks& getCOFCallbacks() { return mCOFCallbacks; }
+
 protected:
 
+	void populateAttachmentsAndBodypartsLists(const LLInventoryModel::item_array_t& cof_items);
+	void populateClothingList(LLAppearanceMgr::wearables_by_type_t& clothing_by_type);
+	
+	void addClothingTypesDummies(const LLAppearanceMgr::wearables_by_type_t& clothing_by_type);
 	void onSelectionChange(LLFlatListView* selected_list);
 
+	LLPanelClothingListItem* buildClothingListItem(LLViewerInventoryItem* item, bool first, bool last);
+	LLPanelBodyPartsListItem* buildBodypartListItem(LLViewerInventoryItem* item);
+
 	LLFlatListView* mAttachments;
 	LLFlatListView* mClothing;
 	LLFlatListView* mBodyParts;
 
 	LLFlatListView* mLastSelectedList;
 
+	LLCOFCallbacks mCOFCallbacks;
+
 };
 
 
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index 4c1e3461a53ac5c260ab71c374682474075e4bc7..6b7a257a4b37a4ade2835a6815c76f10f85d9f42 100644
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -1165,6 +1165,17 @@ void LLFavoritesBarCtrl::pastFromClipboard() const
 
 void LLFavoritesBarCtrl::onButtonMouseDown(LLUUID id, LLUICtrl* ctrl, S32 x, S32 y, MASK mask)
 {
+	// EXT-6997 (Fav bar: Pop-up menu for LM in overflow dropdown is kept after LM was dragged away)
+	// mInventoryItemsPopupMenuHandle.get() - is a pop-up menu (of items) in already opened dropdown menu.
+	// We have to check and set visibility of pop-up menu in such a way instead of using
+	// LLMenuHolderGL::hideMenus() because it will close both menus(dropdown and pop-up), but
+	// we need to close only pop-up menu while dropdown one should be still opened.
+	LLMenuGL* menu = (LLMenuGL*)mInventoryItemsPopupMenuHandle.get();
+	if(menu && menu->getVisible())
+	{
+		menu->setVisible(FALSE);
+	}
+
 	mDragItemId = id;
 	mStartDrag = TRUE;
 
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 19dbc564d17fa61fa1e541fb804f731eac5ea3d2..c0cc3f198594b9232ed2082b89d9910ed2c576cb 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -53,6 +53,7 @@
 #include "llsyswellwindow.h"
 #include "lltrans.h"
 #include "llchathistory.h"
+#include "llnotifications.h"
 #include "llviewerwindow.h"
 #include "llvoicechannel.h"
 #include "lltransientfloatermgr.h"
@@ -371,6 +372,8 @@ void LLIMFloater::onSlide()
 //static
 LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
 {
+	closeHiddenIMToasts();
+
 	if (!gIMMgr->hasSession(session_id)) return NULL;
 
 	if(!isChatMultiTab())
@@ -1083,6 +1086,26 @@ void LLIMFloater::removeTypingIndicator(const LLIMInfo* im_info)
 	}
 }
 
+// static
+void LLIMFloater::closeHiddenIMToasts()
+{
+	class IMToastMatcher: public LLNotificationsUI::LLScreenChannel::Matcher
+	{
+	public:
+		bool matches(const LLNotificationPtr notification) const
+		{
+			// "notifytoast" type of notifications is reserved for IM notifications
+			return "notifytoast" == notification->getType();
+		}
+	};
+
+	LLNotificationsUI::LLScreenChannel* channel = LLNotificationsUI::LLChannelManager::getNotificationScreenChannel();
+	if (channel != NULL)
+	{
+		channel->closeHiddenToasts(IMToastMatcher());
+	}
+}
+
 // static
 bool LLIMFloater::isChatMultiTab()
 {
diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h
index 763dd5655ba9c85e122651ece71327a42de9e687..f9dd8b9b85206d13628b3c5b33b7910ad1b99dd5 100644
--- a/indra/newview/llimfloater.h
+++ b/indra/newview/llimfloater.h
@@ -148,6 +148,8 @@ class LLIMFloater : public LLTransientDockableFloater
 	// Remove the "User is typing..." indicator.
 	void removeTypingIndicator(const LLIMInfo* im_info = NULL);
 
+	static void closeHiddenIMToasts();
+
 	LLPanelChatControlPanel* mControlPanel;
 	LLUUID mSessionID;
 	S32 mLastMessageIndex;
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index f03026715d43bd35a7acb2d03576954272ea7996..15dbc03f70962d3e19f99f0c75fc61f0da2cddbd 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -257,9 +257,8 @@ LLIMModel::LLIMSession::LLIMSession(const LLUUID& session_id, const std::string&
 
 void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state, const LLVoiceChannel::EDirection& direction)
 {
-	std::string you = LLTrans::getString("You");
-	std::string started_call = LLTrans::getString("started_call");
-	std::string joined_call = LLTrans::getString("joined_call");
+	std::string you_joined_call = LLTrans::getString("you_joined_call");
+	std::string you_started_call = LLTrans::getString("you_started_call");
 	std::string other_avatar_name = "";
 
 	std::string message;
@@ -277,13 +276,15 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
 			switch(new_state)
 			{
 			case LLVoiceChannel::STATE_CALL_STARTED :
-				message = other_avatar_name + " " + started_call;
-				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);
-				
-				break;
+				{
+					LLStringUtil::format_map_t string_args;
+					string_args["[NAME]"] = other_avatar_name;
+					message = LLTrans::getString("name_started_call", string_args);
+					LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);				
+					break;
+				}
 			case LLVoiceChannel::STATE_CONNECTED :
-				message = you + " " + joined_call;
-				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);
+				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, you_joined_call);
 			default:
 				break;
 			}
@@ -293,8 +294,7 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
 			switch(new_state)
 			{
 			case LLVoiceChannel::STATE_CALL_STARTED :
-				message = you + " " + started_call;
-				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);
+				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, you_started_call);
 				break;
 			case LLVoiceChannel::STATE_CONNECTED :
 				message = LLTrans::getString("answered_call");
@@ -312,8 +312,7 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
 			switch(new_state)
 			{
 			case LLVoiceChannel::STATE_CONNECTED :
-				message = you + " " + joined_call;
-				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);
+				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, you_joined_call);
 			default:
 				break;
 			}
@@ -323,8 +322,7 @@ void LLIMModel::LLIMSession::onVoiceChannelStateChanged(const LLVoiceChannel::ES
 			switch(new_state)
 			{
 			case LLVoiceChannel::STATE_CALL_STARTED :
-				message = you + " " + started_call;
-				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, message);
+				LLIMModel::getInstance()->addMessage(mSessionID, SYSTEM_FROM, LLUUID::null, you_started_call);
 				break;
 			default:
 				break;
@@ -2069,8 +2067,9 @@ void LLIncomingCallDialog::processCallResponse(S32 response)
 				// send notification message to the corresponding chat 
 				if (mPayload["notify_box_type"].asString() == "VoiceInviteGroup" || mPayload["notify_box_type"].asString() == "VoiceInviteAdHoc")
 				{
-					std::string started_call = LLTrans::getString("started_call");
-					std::string message = mPayload["caller_name"].asString() + " " + started_call;
+					LLStringUtil::format_map_t string_args;
+					string_args["[NAME]"] = mPayload["caller_name"].asString();
+					std::string message = LLTrans::getString("name_started_call", string_args);
 					LLIMModel::getInstance()->addMessageSilently(session_id, SYSTEM_FROM, LLUUID::null, message);
 				}
 			}
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index b4a1bf2758a2efa94318cb8914373cc96f91ba6f..2d08c0a01ae40f6788310e57e597e5a9c7c8347a 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -211,10 +211,14 @@ BOOL LLInvFVBridge::isItemRemovable() const
 		return FALSE;
 	}
 
-	// Disable delete from COF folder; have users explicitly choose "detach/take off".
+	// Disable delete from COF folder; have users explicitly choose "detach/take off",
+	// unless the item is not worn but in the COF (i.e. is bugged).
 	if (LLAppearanceMgr::instance().getIsProtectedCOFItem(mUUID))
 	{
-		return FALSE;
+		if (get_is_item_worn(mUUID))
+		{
+			return FALSE;
+		}
 	}
 
 	const LLInventoryObject *obj = model->getItem(mUUID);
@@ -494,7 +498,7 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const
 			}
 		}
 		const LLViewerInventoryCategory *cat = model->getCategory(objects.get(i));
-		if (cat && !LLFolderType::lookupIsProtectedType(cat->getPreferredType()))
+		if (cat && LLFolderType::lookupIsProtectedType(cat->getPreferredType()))
 		{
 			return FALSE;
 		}
@@ -641,13 +645,10 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
 		disabled_items.push_back(std::string("Paste"));
 	}
 
-	if (gAgent.isGodlike())
+	items.push_back(std::string("Paste As Link"));
+	if (!isClipboardPasteableAsLink() || (flags & FIRST_SELECTED_ITEM) == 0)
 	{
-		items.push_back(std::string("Paste As Link"));
-		if (!isClipboardPasteableAsLink() || (flags & FIRST_SELECTED_ITEM) == 0)
-		{
-			disabled_items.push_back(std::string("Paste As Link"));
-		}
+		disabled_items.push_back(std::string("Paste As Link"));
 	}
 
 	items.push_back(std::string("Paste Separator"));
@@ -677,7 +678,8 @@ void LLInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 		{
 			disabled_items.push_back(std::string("Share"));
 		}
-		items.push_back(std::string("Open"));
+		
+		addOpenRightClickMenuOption(items);
 		items.push_back(std::string("Properties"));
 
 		getClipboardEntries(true, items, disabled_items, flags);
@@ -712,7 +714,7 @@ void LLInvFVBridge::addDeleteContextMenuOptions(menuentry_vec_t &items,
 	const LLInventoryObject *obj = getInventoryObject();
 
 	// Don't allow delete as a direct option from COF folder.
-	if (obj && obj->getIsLinkType() && isCOFFolder())
+	if (obj && obj->getIsLinkType() && isCOFFolder() && get_is_item_worn(mUUID))
 	{
 		return;
 	}
@@ -733,6 +735,17 @@ void LLInvFVBridge::addDeleteContextMenuOptions(menuentry_vec_t &items,
 	}
 }
 
+void LLInvFVBridge::addOpenRightClickMenuOption(menuentry_vec_t &items)
+{
+	const LLInventoryObject *obj = getInventoryObject();
+	const BOOL is_link = (obj && obj->getIsLinkType());
+
+	if (is_link)
+		items.push_back(std::string("Open Original"));
+	else
+		items.push_back(std::string("Open"));
+}
+
 // *TODO: remove this
 BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id) const
 {
@@ -840,21 +853,7 @@ void LLInvFVBridge::changeItemParent(LLInventoryModel* model,
 									 const LLUUID& new_parent_id,
 									 BOOL restamp)
 {
-	if (item->getParentUUID() != new_parent_id)
-	{
-		LLInventoryModel::update_list_t update;
-		LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1);
-		update.push_back(old_folder);
-		LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1);
-		update.push_back(new_folder);
-		gInventory.accountForUpdate(update);
-
-		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
-		new_item->setParent(new_parent_id);
-		new_item->updateParentOnServer(restamp);
-		model->updateItem(new_item);
-		model->notifyObservers();
-	}
+	change_item_parent(model, item, new_parent_id, restamp);
 }
 
 // static
@@ -1099,7 +1098,7 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action)
 		gotoItem();
 	}
 
-	if ("open" == action)
+	if ("open" == action || "open_original" == action)
 	{
 		openItem();
 		return;
@@ -1445,17 +1444,11 @@ BOOL LLItemBridge::isItemCopyable() const
 			return FALSE;
 		}
 
-		if (gAgent.isGodlike())
-		{
-			// All items can be copied in god mode since you can
-			// at least paste-as-link the item, though you 
-			// still may not be able paste the item.
-			return TRUE;
-		}
-		else
-		{
-			return (item->getPermissions().allowCopyBy(gAgent.getID()));
-		}
+		// All items can be copied in god mode since you can
+		// at least paste-as-link the item, though you 
+		// still may not be able paste the item.
+		return TRUE;
+		// return (item->getPermissions().allowCopyBy(gAgent.getID()));
 	}
 	return FALSE;
 }
@@ -1596,7 +1589,8 @@ BOOL LLFolderBridge::isUpToDate() const
 
 BOOL LLFolderBridge::isItemCopyable() const
 {
-	return FALSE;
+	// Can copy folders to paste-as-link, but not for straight paste.
+	return TRUE;
 }
 
 BOOL LLFolderBridge::copyToClipboard() const
@@ -1827,11 +1821,13 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
 					else
 					{
 						LLPointer<LLInventoryCallback> cb = NULL;
+						const std::string empty_description = "";
 						link_inventory_item(
 							gAgent.getID(),
 							inv_cat->getUUID(),
 							mUUID,
 							inv_cat->getName(),
+							empty_description,
 							LLAssetType::AT_LINK_FOLDER,
 							cb);
 					}
@@ -2500,30 +2496,29 @@ void LLFolderBridge::pasteLinkFromClipboard()
 			 ++iter)
 		{
 			const LLUUID &object_id = (*iter);
-#if SUPPORT_ENSEMBLES
 			if (LLInventoryCategory *cat = model->getCategory(object_id))
 			{
+				const std::string empty_description = "";
 				link_inventory_item(
 					gAgent.getID(),
 					cat->getUUID(),
 					parent_id,
 					cat->getName(),
+					empty_description,
 					LLAssetType::AT_LINK_FOLDER,
 					LLPointer<LLInventoryCallback>(NULL));
 			}
-			else
-#endif
-				if (LLInventoryItem *item = model->getItem(object_id))
-				{
-					link_inventory_item(
-						gAgent.getID(),
-						item->getLinkedUUID(),
-						parent_id,
-						item->getName(),
-						item->getDescription(),
-						LLAssetType::AT_LINK,
-						LLPointer<LLInventoryCallback>(NULL));
-				}
+			else if (LLInventoryItem *item = model->getItem(object_id))
+			{
+				link_inventory_item(
+					gAgent.getID(),
+					item->getLinkedUUID(),
+					parent_id,
+					item->getName(),
+					item->getDescription(),
+					LLAssetType::AT_LINK,
+					LLPointer<LLInventoryCallback>(NULL));
+			}
 		}
 	}
 }
@@ -3333,7 +3328,7 @@ void LLTextureBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 			disabled_items.push_back(std::string("Share"));
 		}
 
-		items.push_back(std::string("Open"));
+		addOpenRightClickMenuOption(items);
 		items.push_back(std::string("Properties"));
 
 		getClipboardEntries(true, items, disabled_items, flags);
@@ -3699,7 +3694,7 @@ void LLCallingCardBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 		{
 			disabled_items.push_back(std::string("Share"));
 		}
-		items.push_back(std::string("Open"));
+		addOpenRightClickMenuOption(items);
 		items.push_back(std::string("Properties"));
 
 		getClipboardEntries(true, items, disabled_items, flags);
@@ -3978,7 +3973,7 @@ void LLGestureBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 
 		if (!is_sidepanel)
 		{
-			items.push_back(std::string("Open"));
+			addOpenRightClickMenuOption(items);
 			items.push_back(std::string("Properties"));
 		}
 
@@ -4716,7 +4711,7 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 		
 		if (can_open && !is_sidepanel)
 		{
-			items.push_back(std::string("Open"));
+			addOpenRightClickMenuOption(items);
 		}
 
 		if (!is_sidepanel)
@@ -5177,9 +5172,13 @@ const LLUUID &LLLinkFolderBridge::getFolderID() const
 
 // static
 void LLInvFVBridgeAction::doAction(LLAssetType::EType asset_type,
-								   const LLUUID& uuid,LLInventoryModel* model)
+								   const LLUUID& uuid,
+								   LLInventoryModel* model)
 {
-	LLInvFVBridgeAction* action = createAction(asset_type,uuid,model);
+	// Perform indirection in case of link.
+	const LLUUID& linked_uuid = gInventory.getLinkedItemID(uuid);
+
+	LLInvFVBridgeAction* action = createAction(asset_type,linked_uuid,model);
 	if(action)
 	{
 		action->doIt();
@@ -5292,7 +5291,8 @@ class LLCallingCardBridgeAction: public LLInvFVBridgeAction
 
 };
 
-class LLNotecardBridgeAction: public LLInvFVBridgeAction
+class LLNotecardBridgeAction
+: public LLInvFVBridgeAction
 {
 	friend class LLInvFVBridgeAction;
 public:
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index f378d219f68317da4a8175f5d660db869525b8e9..de63bdd76b3fb46c75bbd555e7f9dcc84febcb75 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -135,7 +135,7 @@ class LLInvFVBridge : public LLFolderViewEventListener
 											menuentry_vec_t &disabled_items);
 	virtual void addDeleteContextMenuOptions(menuentry_vec_t &items,
 											 menuentry_vec_t &disabled_items);
-
+	virtual void addOpenRightClickMenuOption(menuentry_vec_t &items);
 protected:
 	LLInvFVBridge(LLInventoryPanel* inventory, LLFolderView* root, const LLUUID& uuid);
 
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 8487588404c4d5dbe8af6b20c212f5b829b9d164..8010d1f43de2e331bbf272804c52e1ee2ca69b88 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -582,3 +582,26 @@ BOOL get_is_item_worn(const LLUUID& id)
 	}
 	return FALSE;
 }
+
+
+void change_item_parent(LLInventoryModel* model,
+									 LLViewerInventoryItem* item,
+									 const LLUUID& new_parent_id,
+									 BOOL restamp)
+{
+	if (item->getParentUUID() != new_parent_id)
+	{
+		LLInventoryModel::update_list_t update;
+		LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1);
+		update.push_back(old_folder);
+		LLInventoryModel::LLCategoryUpdate new_folder(new_parent_id, 1);
+		update.push_back(new_folder);
+		gInventory.accountForUpdate(update);
+
+		LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
+		new_item->setParent(new_parent_id);
+		new_item->updateParentOnServer(restamp);
+		model->updateItem(new_item);
+		model->notifyObservers();
+	}
+}
diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h
index e3cd988e39c07ff35723f8d538830d499a8880b6..6f373f7392551a487b8f9026347842ee063fce15 100644
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -310,6 +310,12 @@ LLUIImagePtr get_item_icon(LLAssetType::EType asset_type,
 // Is this item or its baseitem is worn, attached, etc...
 BOOL get_is_item_worn(const LLUUID& id);
 
+
+void change_item_parent(LLInventoryModel* model,
+									 LLViewerInventoryItem* item,
+									 const LLUUID& new_parent_id,
+									 BOOL restamp);
+
 #endif // LL_LLINVENTORYFUNCTIONS_H
 
 
diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp
index dca130c672996f010685abca88455f4e60f3bafd..9719de46506e472743700b015e5df7f3c2851cb9 100644
--- a/indra/newview/llinventoryitemslist.cpp
+++ b/indra/newview/llinventoryitemslist.cpp
@@ -45,81 +45,269 @@
 #include "llinventoryfunctions.h"
 #include "llinventorymodel.h"
 #include "lltextutil.h"
+#include "lltrans.h"
 
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 
-// static
-LLPanelInventoryListItem* LLPanelInventoryListItem::createItemPanel(const LLViewerInventoryItem* item)
+static const S32 WIDGET_SPACING = 3;
+
+LLPanelInventoryListItemBase* LLPanelInventoryListItemBase::create(LLViewerInventoryItem* item)
 {
+	LLPanelInventoryListItemBase* list_item = NULL;
 	if (item)
 	{
-		return new LLPanelInventoryListItem(item);
+		list_item = new LLPanelInventoryListItemBase(item);
+		list_item->init();
 	}
-	else
+	return list_item;
+}
+
+void LLPanelInventoryListItemBase::draw()
+{
+	if (getNeedsRefresh())
 	{
-		return NULL;
+		updateItem();
+		setNeedsRefresh(false);
 	}
+	LLPanel::draw();
 }
 
-LLPanelInventoryListItem::~LLPanelInventoryListItem()
-{}
+void LLPanelInventoryListItemBase::updateItem()
+{
+	setIconImage(mIconImage);
+	setTitle(mItem->getName(), mHighlightedText);
+}
 
-//virtual
-BOOL LLPanelInventoryListItem::postBuild()
+void LLPanelInventoryListItemBase::addWidgetToLeftSide(const std::string& name, bool show_widget/* = true*/)
 {
-	mIcon = getChild<LLIconCtrl>("item_icon");
-	mTitle = getChild<LLTextBox>("item_name");
+	LLUICtrl* ctrl = findChild<LLUICtrl>(name);
+	if(ctrl)
+	{
+		addWidgetToLeftSide(ctrl, show_widget);
+	}
+}
 
-	updateItem();
+void LLPanelInventoryListItemBase::addWidgetToLeftSide(LLUICtrl* ctrl, bool show_widget/* = true*/)
+{
+	mLeftSideWidgets.push_back(ctrl);
+	setShowWidget(ctrl, show_widget);
+}
+
+void LLPanelInventoryListItemBase::addWidgetToRightSide(const std::string& name, bool show_widget/* = true*/)
+{
+	LLUICtrl* ctrl = findChild<LLUICtrl>(name);
+	if(ctrl)
+	{
+		addWidgetToRightSide(ctrl, show_widget);
+	}
+}
+
+void LLPanelInventoryListItemBase::addWidgetToRightSide(LLUICtrl* ctrl, bool show_widget/* = true*/)
+{
+	mRightSideWidgets.push_back(ctrl);
+	setShowWidget(ctrl, show_widget);
+}
+
+void LLPanelInventoryListItemBase::setShowWidget(const std::string& name, bool show)
+{
+	LLUICtrl* widget = findChild<LLUICtrl>(name);
+	if(widget)
+	{
+		setShowWidget(widget, show);
+	}
+}
+
+void LLPanelInventoryListItemBase::setShowWidget(LLUICtrl* ctrl, bool show)
+{
+	// Enable state determines whether widget may become visible in setWidgetsVisible()
+	ctrl->setEnabled(show);
+}
+
+BOOL LLPanelInventoryListItemBase::postBuild()
+{
+	setIconCtrl(getChild<LLIconCtrl>("item_icon"));
+	setTitleCtrl(getChild<LLTextBox>("item_name"));
+
+	mIconImage = get_item_icon(mItem->getType(), mItem->getInventoryType(), mItem->getFlags(), FALSE);
+
+	setNeedsRefresh(true);
+
+	setWidgetsVisible(false);
+	reshapeWidgets();
 
 	return TRUE;
 }
 
-//virtual
-void LLPanelInventoryListItem::setValue(const LLSD& value)
+void LLPanelInventoryListItemBase::setValue(const LLSD& value)
 {
 	if (!value.isMap()) return;
 	if (!value.has("selected")) return;
 	childSetVisible("selected_icon", value["selected"]);
 }
 
-void LLPanelInventoryListItem::updateItem()
+void LLPanelInventoryListItemBase::onMouseEnter(S32 x, S32 y, MASK mask)
+{
+	childSetVisible("hovered_icon", true);
+	LLPanel::onMouseEnter(x, y, mask);
+}
+
+void LLPanelInventoryListItemBase::onMouseLeave(S32 x, S32 y, MASK mask)
+{
+	childSetVisible("hovered_icon", false);
+	LLPanel::onMouseLeave(x, y, mask);
+}
+
+S32 LLPanelInventoryListItemBase::notify(const LLSD& info)
+{
+	S32 rv = 0;
+	if(info.has("match_filter"))
+	{
+		mHighlightedText = info["match_filter"].asString();
+
+		std::string test(mItem->getName());
+		LLStringUtil::toUpper(test);
+
+		if(mHighlightedText.empty() || std::string::npos != test.find(mHighlightedText))
+		{
+			rv = 0; // substring is found
+		}
+		else
+		{
+			rv = -1;
+		}
+
+		setNeedsRefresh(true);
+	}
+	else
+	{
+		rv = LLPanel::notify(info);
+	}
+	return rv;
+}
+
+LLPanelInventoryListItemBase::LLPanelInventoryListItemBase(LLViewerInventoryItem* item)
+: LLPanel()
+, mItem(item)
+, mIconCtrl(NULL)
+, mTitleCtrl(NULL)
+, mWidgetSpacing(WIDGET_SPACING)
+, mLeftWidgetsWidth(0)
+, mRightWidgetsWidth(0)
+, mNeedsRefresh(false)
+{
+}
+
+void LLPanelInventoryListItemBase::init()
 {
-	if (mItemIcon.notNull())
-		mIcon->setImage(mItemIcon);
+	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_inventory_item.xml");
+}
+
+class WidgetVisibilityChanger
+{
+public:
+	WidgetVisibilityChanger(bool visible) : mVisible(visible){}
+	void operator()(LLUICtrl* widget)
+	{
+		// Disabled widgets never become visible. see LLPanelInventoryListItemBase::setShowWidget()
+		widget->setVisible(mVisible && widget->getEnabled());
+	}
+private:
+	bool mVisible;
+};
+
+void LLPanelInventoryListItemBase::setWidgetsVisible(bool visible)
+{
+	std::for_each(mLeftSideWidgets.begin(), mLeftSideWidgets.end(), WidgetVisibilityChanger(visible));
+	std::for_each(mRightSideWidgets.begin(), mRightSideWidgets.end(), WidgetVisibilityChanger(visible));
+}
+
+void LLPanelInventoryListItemBase::reshapeWidgets()
+{
+	// disabled reshape left for now to reserve space for 'delete' button in LLPanelClothingListItem
+	/*reshapeLeftWidgets();*/
+	reshapeRightWidgets();
+	reshapeMiddleWidgets();
+}
 
+void LLPanelInventoryListItemBase::setIconImage(const LLUIImagePtr& image)
+{
+	if(image)
+	{
+		mIconImage = image; 
+		mIconCtrl->setImage(mIconImage);
+	}
+}
+
+void LLPanelInventoryListItemBase::setTitle(const std::string& title, const std::string& highlit_text)
+{
 	LLTextUtil::textboxSetHighlightedVal(
-		mTitle,
+		mTitleCtrl,
 		LLStyle::Params(),
-		mItemName,
-		mHighlightedText);
+		title,
+		highlit_text);
 }
 
-void LLPanelInventoryListItem::onMouseEnter(S32 x, S32 y, MASK mask)
+void LLPanelInventoryListItemBase::reshapeLeftWidgets()
 {
-	childSetVisible("hovered_icon", true);
+	S32 widget_left = 0;
+	mLeftWidgetsWidth = 0;
 
-	LLPanel::onMouseEnter(x, y, mask);
+	widget_array_t::const_iterator it = mLeftSideWidgets.begin();
+	const widget_array_t::const_iterator it_end = mLeftSideWidgets.end();
+	for( ; it_end != it; ++it)
+	{
+		LLUICtrl* widget = *it;
+		if(!widget->getVisible())
+		{
+			continue;
+		}
+		LLRect widget_rect(widget->getRect());
+		widget_rect.setLeftTopAndSize(widget_left, widget_rect.mTop, widget_rect.getWidth(), widget_rect.getHeight());
+		widget->setShape(widget_rect);
+
+		widget_left += widget_rect.getWidth() + getWidgetSpacing();
+		mLeftWidgetsWidth = widget_rect.mRight;
+	}
 }
 
-void LLPanelInventoryListItem::onMouseLeave(S32 x, S32 y, MASK mask)
+void LLPanelInventoryListItemBase::reshapeRightWidgets()
 {
-	childSetVisible("hovered_icon", false);
+	S32 widget_right = getLocalRect().getWidth();
+	S32 widget_left = widget_right;
 
-	LLPanel::onMouseLeave(x, y, mask);
+	widget_array_t::const_reverse_iterator it = mRightSideWidgets.rbegin();
+	const widget_array_t::const_reverse_iterator it_end = mRightSideWidgets.rend();
+	for( ; it_end != it; ++it)
+	{
+		LLUICtrl* widget = *it;
+		if(!widget->getVisible())
+		{
+			continue;
+		}
+		LLRect widget_rect(widget->getRect());
+		widget_left = widget_right - widget_rect.getWidth();
+		widget_rect.setLeftTopAndSize(widget_left, widget_rect.mTop, widget_rect.getWidth(), widget_rect.getHeight());
+		widget->setShape(widget_rect);
+
+		widget_right = widget_left - getWidgetSpacing();
+	}
+	mRightWidgetsWidth = getLocalRect().getWidth() - widget_left;
 }
 
-LLPanelInventoryListItem::LLPanelInventoryListItem(const LLViewerInventoryItem* item)
-:	 LLPanel()
-	,mIcon(NULL)
-	,mTitle(NULL)
+void LLPanelInventoryListItemBase::reshapeMiddleWidgets()
 {
-	mItemName = item->getName();
-	mItemIcon = get_item_icon(item->getType(), item->getInventoryType(), item->getFlags(), FALSE);
-
-	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_inventory_item.xml");
+	LLRect icon_rect(mIconCtrl->getRect());
+	icon_rect.setLeftTopAndSize(mLeftWidgetsWidth + getWidgetSpacing(), icon_rect.mTop, 
+		icon_rect.getWidth(), icon_rect.getHeight());
+	mIconCtrl->setShape(icon_rect);
+
+	S32 name_left = icon_rect.mRight + getWidgetSpacing();
+	S32 name_right = getLocalRect().getWidth() - mRightWidgetsWidth - getWidgetSpacing();
+	LLRect name_rect(mTitleCtrl->getRect());
+	name_rect.set(name_left, name_rect.mTop, name_right, name_rect.mBottom);
+	mTitleCtrl->setShape(name_rect);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -130,13 +318,15 @@ LLInventoryItemsList::Params::Params()
 {}
 
 LLInventoryItemsList::LLInventoryItemsList(const LLInventoryItemsList::Params& p)
-:	LLFlatListView(p)
+:	LLFlatListViewEx(p)
 ,	mNeedsRefresh(false)
 {
 	// TODO: mCommitOnSelectionChange is set to "false" in LLFlatListView
 	// but reset to true in all derived classes. This settings might need to
 	// be added to LLFlatListView::Params() and/or set to "true" by default.
 	setCommitOnSelectionChange(true);
+
+	setNoFilteredItemsMsg(LLTrans::getString("InventoryNoMatchingItems"));
 }
 
 // virtual
@@ -156,7 +346,7 @@ void LLInventoryItemsList::refreshList(const LLInventoryModel::item_array_t item
 
 void LLInventoryItemsList::draw()
 {
-	LLFlatListView::draw();
+	LLFlatListViewEx::draw();
 	if(mNeedsRefresh)
 	{
 		refresh();
@@ -184,7 +374,8 @@ void LLInventoryItemsList::refresh()
 			break;
 		}
 		LLViewerInventoryItem* item = gInventory.getItem(*it);
-		addNewItem(item);
+		// Do not rearrange items on each adding, let's do that on filter call
+		addNewItem(item, false);
 		++nadded;
 	}
 
@@ -194,6 +385,9 @@ void LLInventoryItemsList::refresh()
 		removeItemByUUID(*it);
 	}
 
+	// Filter, rearrange and notify parent about shape changes
+	filterItems();
+
 	bool needs_refresh = add_limit_exceeded;
 	setNeedsRefresh(needs_refresh);
 }
@@ -215,22 +409,23 @@ void LLInventoryItemsList::computeDifference(
 	LLCommonUtils::computeDifference(vnew, vcur, vadded, vremoved);
 }
 
-void LLInventoryItemsList::addNewItem(LLViewerInventoryItem* item)
+void LLInventoryItemsList::addNewItem(LLViewerInventoryItem* item, bool rearrange /*= true*/)
 {
 	if (!item)
 	{
 		llwarns << "No inventory item. Couldn't create flat list item." << llendl;
-		llassert(!"No inventory item. Couldn't create flat list item.");
+		llassert(item != NULL);
 	}
 
-	LLPanelInventoryListItem *list_item = LLPanelInventoryListItem::createItemPanel(item);
+	LLPanelInventoryListItemBase *list_item = LLPanelInventoryListItemBase::create(item);
 	if (!list_item)
 		return;
 
-	if (!addItem(list_item, item->getUUID()))
+	bool is_item_added = addItem(list_item, item->getUUID(), ADD_BOTTOM, rearrange);
+	if (!is_item_added)
 	{
 		llwarns << "Couldn't add flat list item." << llendl;
-		llassert(!"Couldn't add flat list item.");
+		llassert(is_item_added);
 	}
 }
 
diff --git a/indra/newview/llinventoryitemslist.h b/indra/newview/llinventoryitemslist.h
index b496f4b9e94c74a24e16997154fa31bd010f4616..bc04eb6f5b3a4273b42418e07651a323bbb08f09 100644
--- a/indra/newview/llinventoryitemslist.h
+++ b/indra/newview/llinventoryitemslist.h
@@ -47,37 +47,159 @@ class LLIconCtrl;
 class LLTextBox;
 class LLViewerInventoryItem;
 
-class LLPanelInventoryListItem : public LLPanel
+/**
+ * @class LLPanelInventoryListItemBase
+ *
+ * Base class for Inventory flat list item. Panel consists of inventory icon
+ * and inventory item name.
+ * This class is able to display widgets(buttons) on left(before icon) and right(after text-box) sides 
+ * of panel.
+ *
+ * How to use (see LLPanelClothingListItem for example):
+ * - implement init() to build panel from xml
+ * - create new xml file, fill it with widgets you want to dynamically show/hide/reshape on left/right sides
+ * - redefine postBuild()(call base implementation) and add needed widgets to needed sides,
+ *
+ */
+class LLPanelInventoryListItemBase : public LLPanel
 {
 public:
-	static LLPanelInventoryListItem* createItemPanel(const LLViewerInventoryItem* item);
+	static LLPanelInventoryListItemBase* create(LLViewerInventoryItem* item);
+
+	virtual void draw();
+
+	/**
+	 * Let item know it need to be refreshed in next draw()
+	 */
+	void setNeedsRefresh(bool needs_refresh){ mNeedsRefresh = needs_refresh; }
+
+	bool getNeedsRefresh(){ return mNeedsRefresh; }
+
+	/**
+	 * Add widget to left side
+	 */
+	void addWidgetToLeftSide(const std::string& name, bool show_widget = true);
+	void addWidgetToLeftSide(LLUICtrl* ctrl, bool show_widget = true);
 
-	virtual ~LLPanelInventoryListItem();
+	/**
+	 * Add widget to right side, widget is supposed to be child of calling panel
+	 */
+	void addWidgetToRightSide(const std::string& name, bool show_widget = true);
+	void addWidgetToRightSide(LLUICtrl* ctrl, bool show_widget = true);
+
+	/**
+	 * Mark widgets as visible. Only visible widgets take part in reshaping children
+	 */
+	void setShowWidget(const std::string& name, bool show);
+	void setShowWidget(LLUICtrl* ctrl, bool show);
+
+	/**
+	 * Set spacing between widgets during reshape
+	 */
+	void setWidgetSpacing(S32 spacing) { mWidgetSpacing = spacing; }
 
+	S32 getWidgetSpacing() { return mWidgetSpacing; }
+
+	/**
+	 * Inheritors need to call base implementation of postBuild()
+	 */
 	/*virtual*/ BOOL postBuild();
+
+	/**
+	 * Handles item selection
+	 */
 	/*virtual*/ void setValue(const LLSD& value);
 
-	void updateItem();
+	/**
+	 * Handles filter request
+	 */
+	/*virtual*/ S32  notify(const LLSD& info);
+
+	 /* Highlights item */
+	/*virtual*/ void onMouseEnter(S32 x, S32 y, MASK mask);
+	/* Removes item highlight */
+	/*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask);
 
-	void onMouseEnter(S32 x, S32 y, MASK mask);
-	void onMouseLeave(S32 x, S32 y, MASK mask);
+	virtual ~LLPanelInventoryListItemBase(){}
 
 protected:
-	LLPanelInventoryListItem(const LLViewerInventoryItem* item);
+
+	LLPanelInventoryListItemBase(LLViewerInventoryItem* item);
+
+	typedef std::vector<LLUICtrl*> widget_array_t;
+
+	/**
+	 * Use it from a factory function to build panel, do not build panel in constructor
+	 */
+	virtual void init();
+
+	/**
+	 * Called after inventory item was updated, update panel widgets to reflect inventory changes.
+	 */
+	virtual void updateItem();
+
+	/** setter for mIconCtrl */
+	void setIconCtrl(LLIconCtrl* icon) { mIconCtrl = icon; }
+	/** setter for MTitleCtrl */
+	void setTitleCtrl(LLTextBox* tb) { mTitleCtrl = tb; }
+
+	void setLeftWidgetsWidth(S32 width) { mLeftWidgetsWidth = width; }
+	void setRightWidgetsWidth(S32 width) { mRightWidgetsWidth = width; }
+
+	/**
+	 * Set all widgets from both side visible/invisible. Only enabled widgets
+	 * (see setShowWidget()) can become visible
+	 */
+	virtual void setWidgetsVisible(bool visible);
+
+	/**
+	 * Reshape all child widgets - icon, text-box and side widgets
+	 */
+	virtual void reshapeWidgets();
+
+	/** set wearable type icon image */
+	void setIconImage(const LLUIImagePtr& image);
+
+	/** Set item title - inventory item name usually */
+	void setTitle(const std::string& title, const std::string& highlit_text);
 
 private:
-	LLIconCtrl*		mIcon;
-	LLTextBox*		mTitle;
 
-	LLUIImagePtr	mItemIcon;
-	std::string		mItemName;
+	/** reshape left side widgets
+	 * Deprecated for now. Disabled reshape left for now to reserve space for 'delete' 
+	 * button in LLPanelClothingListItem according to Neal's comment (https://codereview.productengine.com/secondlife/r/325/)
+	 */
+	void reshapeLeftWidgets();
+
+	/** reshape right side widgets */
+	void reshapeRightWidgets();
+
+	/** reshape remaining widgets */
+	void reshapeMiddleWidgets();
+
+	LLViewerInventoryItem* mItem;
+
+	LLIconCtrl*		mIconCtrl;
+	LLTextBox*		mTitleCtrl;
+
+	LLUIImagePtr	mIconImage;
 	std::string		mHighlightedText;
+
+	widget_array_t	mLeftSideWidgets;
+	widget_array_t	mRightSideWidgets;
+	S32				mWidgetSpacing;
+
+	S32				mLeftWidgetsWidth;
+	S32				mRightWidgetsWidth;
+	bool			mNeedsRefresh;
 };
 
-class LLInventoryItemsList : public LLFlatListView
+//////////////////////////////////////////////////////////////////////////
+
+class LLInventoryItemsList : public LLFlatListViewEx
 {
 public:
-	struct Params : public LLInitParam::Block<Params, LLFlatListView::Params>
+	struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
 	{
 		Params();
 	};
@@ -117,7 +239,7 @@ class LLInventoryItemsList : public LLFlatListView
 	/**
 	 * Add an item to the list
 	 */
-	void addNewItem(LLViewerInventoryItem* item);
+	virtual void addNewItem(LLViewerInventoryItem* item, bool rearrange = true);
 
 private:
 	uuid_vec_t mIDs; // IDs of items that were added in refreshList().
diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp
index 214b5d317a530f6773fe545693ed972d136d7b91..c24d2ee0eaf0f2271405e6805f32784d19737313 100644
--- a/indra/newview/llinventoryobserver.cpp
+++ b/indra/newview/llinventoryobserver.cpp
@@ -215,7 +215,7 @@ void LLInventoryFetchItemsObserver::changed(U32 mask)
 
 void fetch_items_from_llsd(const LLSD& items_llsd)
 {
-	if (!items_llsd.size()) return;
+	if (!items_llsd.size() || gDisconnected) return;
 	LLSD body;
 	body[0]["cap_name"] = "FetchInventory";
 	body[1]["cap_name"] = "FetchLib";
@@ -235,6 +235,11 @@ void fetch_items_from_llsd(const LLSD& items_llsd)
 		
 	for (S32 i=0; i<body.size(); i++)
 	{
+		if(!gAgent.getRegion())
+		{
+			llwarns<<"Agent's region is null"<<llendl;
+			break;
+		}
 		if (0 >= body[i].size()) continue;
 		std::string url = gAgent.getRegion()->getCapability(body[i]["cap_name"].asString());
 
@@ -664,36 +669,88 @@ void LLInventoryCategoriesObserver::changed(U32 mask)
 		if (!category)
 			continue;
 
-		S32 version = category->getVersion();
-		if (version != (*iter).second.mVersion)
+		const S32 version = category->getVersion();
+		const S32 expected_num_descendents = category->getDescendentCount();
+		if ((version == LLViewerInventoryCategory::VERSION_UNKNOWN) ||
+			(expected_num_descendents == LLViewerInventoryCategory::DESCENDENT_COUNT_UNKNOWN))
+		{
+			continue;
+		}
+
+		// Check number of known descendents to find out whether it has changed.
+		LLInventoryModel::cat_array_t* cats;
+		LLInventoryModel::item_array_t* items;
+		gInventory.getDirectDescendentsOf((*iter).first, cats, items);
+		if (!cats || !items)
+		{
+			llwarns << "Category '" << category->getName() << "' descendents corrupted, fetch failed." << llendl;
+			// NULL means the call failed -- cats/items map doesn't exist (note: this does NOT mean
+			// that the cat just doesn't have any items or subfolders).
+			// Unrecoverable, so just skip this category.
+
+			llassert(cats != NULL && items != NULL);
+
+			continue;
+		}
+
+		const S32 current_num_known_descendents = cats->count() + items->count();
+
+		LLCategoryData cat_data = (*iter).second;
+
+		// If category version or descendents count has changed
+		// update category data in mCategoryMap and fire a callback.
+		if (version != cat_data.mVersion || current_num_known_descendents != cat_data.mDescendentsCount)
 		{
-			// Update category version in map.
-			(*iter).second.mVersion = version;
-			(*iter).second.mCallback();
+			cat_data.mVersion = version;
+			cat_data.mDescendentsCount = current_num_known_descendents;
+
+			cat_data.mCallback();
 		}
 	}
 }
 
-void LLInventoryCategoriesObserver::addCategory(const LLUUID& cat_id, callback_t cb)
+bool LLInventoryCategoriesObserver::addCategory(const LLUUID& cat_id, callback_t cb)
 {
-	S32 version;
+	S32 version = LLViewerInventoryCategory::VERSION_UNKNOWN;
+	S32 current_num_known_descendents = LLViewerInventoryCategory::DESCENDENT_COUNT_UNKNOWN;
+	bool can_be_added = true;
+
 	LLViewerInventoryCategory* category = gInventory.getCategory(cat_id);
+	// If category could not be retrieved it might mean that
+	// inventory is unusable at the moment so the category is
+	// stored with VERSION_UNKNOWN and DESCENDENT_COUNT_UNKNOWN,
+	// it may be updated later.
 	if (category)
 	{
 		// Inventory category version is used to find out if some changes
 		// to a category have been made.
 		version = category->getVersion();
+
+		LLInventoryModel::cat_array_t* cats;
+		LLInventoryModel::item_array_t* items;
+		gInventory.getDirectDescendentsOf(cat_id, cats, items);
+		if (!cats || !items)
+		{
+			llwarns << "Category '" << category->getName() << "' descendents corrupted, fetch failed." << llendl;
+			// NULL means the call failed -- cats/items map doesn't exist (note: this does NOT mean
+			// that the cat just doesn't have any items or subfolders).
+			// Unrecoverable, so just return "false" meaning that the category can't be observed.
+			can_be_added = false;
+
+			llassert(cats != NULL && items != NULL);
+		}
+		else
+		{
+			current_num_known_descendents = cats->count() + items->count();
+		}
 	}
-	else
+
+	if (can_be_added)
 	{
-		// If category could not be retrieved it might mean that
-		// inventory is unusable at the moment so the category is
-		// stored with VERSION_UNKNOWN and it may be updated later.
-		version = LLViewerInventoryCategory::VERSION_UNKNOWN;
+		mCategoryMap.insert(category_map_value_t(cat_id, LLCategoryData(cb, version, current_num_known_descendents)));
 	}
 
-	version = category->getVersion();
-	mCategoryMap.insert(category_map_value_t(cat_id, LLCategoryData(cb, version)));
+	return can_be_added;
 }
 
 void LLInventoryCategoriesObserver::removeCategory(const LLUUID& cat_id)
diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h
index e63b67d2adcba09b55ff21e314aeab3e369286cd..036e6ca40da2d46a297acdee707f447212ea4e9f 100644
--- a/indra/newview/llinventoryobserver.h
+++ b/indra/newview/llinventoryobserver.h
@@ -276,19 +276,28 @@ class LLInventoryCategoriesObserver : public LLInventoryObserver
 	LLInventoryCategoriesObserver() {};
 	virtual void changed(U32 mask);
 
-	void addCategory(const LLUUID& cat_id, callback_t cb);
+	/**
+	 * Add cat_id to the list of observed categories with a
+	 * callback fired on category being changed.
+	 *
+	 * @return "true" if category was added, "false" if it could
+	 * not be found.
+	 */
+	bool addCategory(const LLUUID& cat_id, callback_t cb);
 	void removeCategory(const LLUUID& cat_id);
 
 protected:
 	struct LLCategoryData
 	{
-		LLCategoryData(callback_t cb, S32 version)
+		LLCategoryData(callback_t cb, S32 version, S32 num_descendents)
 		: mCallback(cb)
 		, mVersion(version)
+		, mDescendentsCount(num_descendents)
 		{}
 
 		callback_t	mCallback;
 		S32			mVersion;
+		S32			mDescendentsCount;
 	};
 
 	typedef	std::map<LLUUID, LLCategoryData>	category_map_t;
diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp
index 95094f6b52cc44e08764cfc14e4eb796a6f692e6..7cb192e02655cf55eed34e09bbe8670497967639 100644
--- a/indra/newview/llmutelist.cpp
+++ b/indra/newview/llmutelist.cpp
@@ -145,6 +145,9 @@ std::string LLMute::getDisplayType() const
 		case GROUP:
 			return LLTrans::getString("MuteGroup");
 			break;
+		case EXTERNAL:
+			return LLTrans::getString("MuteExternal");
+			break;
 	}
 }
 
@@ -303,6 +306,12 @@ BOOL LLMuteList::add(const LLMute& mute, U32 flags)
 
 void LLMuteList::updateAdd(const LLMute& mute)
 {
+	// External mutes (e.g. Avaline callers) are local only, don't send them to the server.
+	if (mute.mType == LLMute::EXTERNAL)
+	{
+		return;
+	}
+
 	// Update the database
 	LLMessageSystem* msg = gMessageSystem;
 	msg->newMessageFast(_PREHASH_UpdateMuteListEntry);
@@ -390,6 +399,12 @@ BOOL LLMuteList::remove(const LLMute& mute, U32 flags)
 
 void LLMuteList::updateRemove(const LLMute& mute)
 {
+	// External mutes are not sent to the server anyway, no need to remove them.
+	if (mute.mType == LLMute::EXTERNAL)
+	{
+		return;
+	}
+
 	LLMessageSystem* msg = gMessageSystem;
 	msg->newMessageFast(_PREHASH_RemoveMuteListEntry);
 	msg->nextBlockFast(_PREHASH_AgentData);
@@ -573,9 +588,14 @@ BOOL LLMuteList::saveToFile(const std::string& filename)
 		 it != mMutes.end();
 		 ++it)
 	{
-		it->mID.toString(id_string);
-		const std::string& name = it->mName;
-		fprintf(fp, "%d %s %s|%u\n", (S32)it->mType, id_string.c_str(), name.c_str(), it->mFlags);
+		// Don't save external mutes as they are not sent to the server and probably won't
+		//be valid next time anyway.
+		if (it->mType != LLMute::EXTERNAL)
+		{
+			it->mID.toString(id_string);
+			const std::string& name = it->mName;
+			fprintf(fp, "%d %s %s|%u\n", (S32)it->mType, id_string.c_str(), name.c_str(), it->mFlags);
+		}
 	}
 	fclose(fp);
 	return TRUE;
diff --git a/indra/newview/llmutelist.h b/indra/newview/llmutelist.h
index 7cb11e603142f415bf4fa7920edc97269fa5a0ee..79b556bdbb6bef3a2da36a2d90f728f4a22ce6fd 100644
--- a/indra/newview/llmutelist.h
+++ b/indra/newview/llmutelist.h
@@ -45,7 +45,8 @@ class LLMute
 {
 public:
 	// Legacy mutes are BY_NAME and have null UUID.
-	enum EType { BY_NAME = 0, AGENT = 1, OBJECT = 2, GROUP = 3, COUNT = 4 };
+	// EXTERNAL mutes are only processed through an external system (e.g. Voice) and not stored.
+	enum EType { BY_NAME = 0, AGENT = 1, OBJECT = 2, GROUP = 3, EXTERNAL = 4, COUNT = 5 };
 	
 	// Bits in the mute flags.  For backwards compatibility (since any mute list entries that were created before the flags existed
 	// will have a flags field of 0), some of the flags are "inverted".
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp
index 12152726850c0cf081609a2c867bc09e96bd3678..18bd610dd9dde17c73089f2f950f199c786d5ad3 100644
--- a/indra/newview/lloutfitslist.cpp
+++ b/indra/newview/lloutfitslist.cpp
@@ -41,6 +41,7 @@
 
 #include "llaccordionctrl.h"
 #include "llaccordionctrltab.h"
+#include "llappearancemgr.h"
 #include "llinventoryfunctions.h"
 #include "llinventorymodel.h"
 #include "llwearableitemslist.h"
@@ -51,6 +52,7 @@ LLOutfitsList::LLOutfitsList()
 	:	LLPanel()
 	,	mAccordion(NULL)
 	,	mListCommands(NULL)
+	,	mSelectedList(NULL)
 {
 	mCategoriesObserver = new LLInventoryCategoriesObserver();
 	gInventory.addObserver(mCategoriesObserver);
@@ -135,30 +137,37 @@ void LLOutfitsList::refreshList(const LLUUID& category_id)
 	{
 		const LLUUID cat_id = (*iter);
 		LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id);
-		if (!cat)
-			continue;
+		if (!cat) continue;
 
 		std::string name = cat->getName();
 
 		static LLXMLNodePtr accordionXmlNode = getAccordionTabXMLNode();
-
-		accordionXmlNode->setAttributeString("name", name);
-		accordionXmlNode->setAttributeString("title", name);
 		LLAccordionCtrlTab* tab = LLUICtrlFactory::defaultBuilder<LLAccordionCtrlTab>(accordionXmlNode, NULL, NULL);
 
+		tab->setName(name);
+		tab->setTitle(name);
+
 		// *TODO: LLUICtrlFactory::defaultBuilder does not use "display_children" from xml. Should be investigated.
 		tab->setDisplayChildren(false);
 		mAccordion->addCollapsibleCtrl(tab);
 
+		// Start observing the new outfit category.
+		LLWearableItemsList* list  = tab->getChild<LLWearableItemsList>("wearable_items_list");
+		if (!mCategoriesObserver->addCategory(cat_id, boost::bind(&LLWearableItemsList::updateList, list, cat_id)))
+		{
+			// Remove accordion tab if category could not be added to observer.
+			mAccordion->removeCollapsibleCtrl(tab);
+			continue;
+		}
+
 		// Map the new tab with outfit category UUID.
 		mOutfitsMap.insert(LLOutfitsList::outfits_map_value_t(cat_id, tab));
 
-		// Start observing the new outfit category.
-		LLWearableItemsList* list  = tab->getChild<LLWearableItemsList>("wearable_items_list");
-		mCategoriesObserver->addCategory(cat_id, boost::bind(&LLWearableItemsList::updateList, list, cat_id));
+		// Setting tab focus callback to monitor currently selected outfit.
+		tab->setFocusReceivedCallback(boost::bind(&LLOutfitsList::changeOutfitSelection, this, list, cat_id));
 
-		// Setting drop down callback to monitor currently selected outfit.
-		tab->setDropDownStateChangedCallback(boost::bind(&LLOutfitsList::onTabExpandedCollapsed, this, list));
+		// Setting list commit callback to monitor currently selected wearable item.
+		list->setCommitCallback(boost::bind(&LLOutfitsList::onSelectionChange, this, _1));
 
 		// Fetch the new outfit contents.
 		cat->fetch();
@@ -178,10 +187,18 @@ void LLOutfitsList::refreshList(const LLUUID& category_id)
 			// 1. Remove outfit accordion tab from accordion.
 			mAccordion->removeCollapsibleCtrl(outfits_iter->second);
 
+			const LLUUID& outfit_id = outfits_iter->first;
+
 			// 2. Remove outfit category from observer to stop monitoring its changes.
-			mCategoriesObserver->removeCategory(outfits_iter->first);
+			mCategoriesObserver->removeCategory(outfit_id);
+
+			// 3. Reset selection if selected outfit is being removed.
+			if (mSelectedOutfitUUID == outfit_id)
+			{
+				changeOutfitSelection(NULL, LLUUID());
+			}
 
-			// 3. Remove category UUID to accordion tab mapping.
+			// 4. Remove category UUID to accordion tab mapping.
 			mOutfitsMap.erase(outfits_iter);
 		}
 	}
@@ -199,47 +216,64 @@ void LLOutfitsList::refreshList(const LLUUID& category_id)
 	mAccordion->arrange();
 }
 
-void LLOutfitsList::updateOutfitTab(const LLUUID& category_id)
+void LLOutfitsList::onSelectionChange(LLUICtrl* ctrl)
 {
-	outfits_map_t::iterator outfits_iter = mOutfitsMap.find(category_id);
-	if (outfits_iter != mOutfitsMap.end())
-	{
-		LLViewerInventoryCategory *cat = gInventory.getCategory(category_id);
-		if (!cat)
-			return;
-
-		std::string name = cat->getName();
+	LLWearableItemsList* list = dynamic_cast<LLWearableItemsList*>(ctrl);
+	if (!list) return;
 
-		// Update tab name with the new category name.
-		LLAccordionCtrlTab* tab = outfits_iter->second;
-		if (tab)
-		{
-			tab->setName(name);
-		}
+	LLViewerInventoryItem *item = gInventory.getItem(list->getSelectedUUID());
+	if (!item) return;
 
-		// Update tab title with the new category name using textbox
-		// in accordion tab header.
-		LLTextBox* tab_title = tab->findChild<LLTextBox>("dd_textbox");
-		if (tab_title)
-		{
-			tab_title->setText(name);
-		}
-	}
+	changeOutfitSelection(list, item->getParentUUID());
 }
 
-void LLOutfitsList::onTabExpandedCollapsed(LLWearableItemsList* list)
+void LLOutfitsList::performAction(std::string action)
 {
-	if (!list)
-		return;
+	LLViewerInventoryCategory* cat = gInventory.getCategory(mSelectedOutfitUUID);
+	if (!cat) return;
 
-	// TODO: Add outfit selection handling.
+	if ("replaceoutfit" == action)
+	{
+		LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, FALSE );
+	}
+	else if ("addtooutfit" == action)
+	{
+		LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, TRUE );
+	}
 }
 
 void LLOutfitsList::setFilterSubString(const std::string& string)
 {
 	mFilterSubString = string;
-}
 
+	for (outfits_map_t::iterator
+			 iter = mOutfitsMap.begin(),
+			 iter_end = mOutfitsMap.end();
+		 iter != iter_end; ++iter)
+	{
+		LLAccordionCtrlTab* tab = iter->second;
+		if (tab)
+		{
+			LLWearableItemsList* list = dynamic_cast<LLWearableItemsList*> (tab->getAccordionView());
+			if (list)
+			{
+				list->setFilterSubString(mFilterSubString);
+			}
+
+			if(!mFilterSubString.empty())
+			{
+				//store accordion tab state when filter is not empty
+				tab->notifyChildren(LLSD().with("action","store_state"));
+				tab->setDisplayChildren(true);
+			}
+			else
+			{
+				//restore accordion state after all those accodrion tab manipulations
+				tab->notifyChildren(LLSD().with("action","restore_state"));
+			}
+		}
+	}
+}
 
 //////////////////////////////////////////////////////////////////////////
 // Private methods
@@ -283,4 +317,37 @@ void LLOutfitsList::computeDifference(
 	LLCommonUtils::computeDifference(vnew, vcur, vadded, vremoved);
 }
 
+void LLOutfitsList::updateOutfitTab(const LLUUID& category_id)
+{
+	outfits_map_t::iterator outfits_iter = mOutfitsMap.find(category_id);
+	if (outfits_iter != mOutfitsMap.end())
+	{
+		LLViewerInventoryCategory *cat = gInventory.getCategory(category_id);
+		if (!cat) return;
+
+		std::string name = cat->getName();
+
+		// Update tab name with the new category name.
+		LLAccordionCtrlTab* tab = outfits_iter->second;
+		if (tab)
+		{
+			tab->setName(name);
+			tab->setTitle(name);
+		}
+	}
+}
+
+void LLOutfitsList::changeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id)
+{
+	// Reset selection in previously selected tab
+	// if a new one is selected.
+	if (list && mSelectedList && mSelectedList != list)
+	{
+		mSelectedList->resetSelection();
+	}
+
+	mSelectedList = list;
+	mSelectedOutfitUUID = category_id;
+}
+
 // EOF
diff --git a/indra/newview/lloutfitslist.h b/indra/newview/lloutfitslist.h
index 2d103ea35658a495e4aafce5e16421e6b78ae502..d86cf5a70330e01a6cd93f0507b4d8b4679c4785 100644
--- a/indra/newview/lloutfitslist.h
+++ b/indra/newview/lloutfitslist.h
@@ -65,10 +65,9 @@ class LLOutfitsList : public LLPanel, public LLInventoryObserver
 
 	void refreshList(const LLUUID& category_id);
 
-	// Update tab displaying outfit identified by category_id.
-	void updateOutfitTab(const LLUUID& category_id);
+	void onSelectionChange(LLUICtrl* ctrl);
 
-	void onTabExpandedCollapsed(LLWearableItemsList* list);
+	void performAction(std::string action);
 
 	void setFilterSubString(const std::string& string);
 
@@ -85,12 +84,24 @@ class LLOutfitsList : public LLPanel, public LLInventoryObserver
 	 */
 	void computeDifference(const LLInventoryModel::cat_array_t& vcats, uuid_vec_t& vadded, uuid_vec_t& vremoved);
 
+	/**
+	 * Updates tab displaying outfit identified by category_id.
+	 */
+	void updateOutfitTab(const LLUUID& category_id);
+
+	/**
+	 * Resets previous selection and stores newly selected list and outfit id.
+	 */
+	void changeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id);
 
 	LLInventoryCategoriesObserver* 	mCategoriesObserver;
 
 	LLAccordionCtrl*				mAccordion;
 	LLPanel*						mListCommands;
 
+	LLWearableItemsList*			mSelectedList;
+	LLUUID							mSelectedOutfitUUID;
+
 	std::string 					mFilterSubString;
 
 	typedef	std::map<LLUUID, LLAccordionCtrlTab*>		outfits_map_t;
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index da74295f9e6371770e3f152d47b2a7af38d95fee..3c112b8b5e92f81796932f0bba8c4c1acd8174d2 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -51,6 +51,12 @@
 #include "llagentwearables.h"
 #include "llscrollingpanelparam.h"
 
+#include "llcolorswatch.h"
+#include "lltexturectrl.h"
+#include "lltextureentry.h"
+#include "llviewercontrol.h"	// gSavedSettings
+#include "llviewertexturelist.h"
+
 // register panel with appropriate XML
 static LLRegisterPanelClassWrapper<LLPanelEditWearable> t_edit_wearable("panel_edit_wearable");
 
@@ -88,6 +94,8 @@ enum ESubpart {
 	SUBPART_TATTOO
  };
 
+using namespace LLVOAvatarDefines;
+
 typedef std::vector<ESubpart> subpart_vec_t;
 
 // Locally defined classes
@@ -110,14 +118,17 @@ class LLEditWearableDictionary : public LLSingleton<LLEditWearableDictionary>
 		WearableEntry(EWearableType type,
 					  const std::string &title,
 					  const std::string &desc_title,
-					  U8 num_subparts, ... ); // number of subparts followed by a list of ESubparts
+					  U8 num_color_swatches,  // number of 'color_swatches'
+					  U8 num_texture_pickers, // number of 'texture_pickers'
+					  U8 num_subparts, ... ); // number of subparts followed by a list of ETextureIndex and ESubparts
 
 
 		const EWearableType mWearableType;
 		const std::string   mTitle;
 		const std::string	mDescTitle;
 		subpart_vec_t		mSubparts;
-
+		texture_vec_t		mColorSwatchCtrls;
+		texture_vec_t		mTextureCtrls;
 	};
 
 	struct Wearables : public LLDictionary<EWearableType, WearableEntry>
@@ -158,6 +169,35 @@ class LLEditWearableDictionary : public LLSingleton<LLEditWearableDictionary>
 	} mSubparts;
 
 	const SubpartEntry*  getSubpart(ESubpart subpart) const { return mSubparts.lookup(subpart); }
+
+	//--------------------------------------------------------------------
+	// Picker Control Entries
+	//--------------------------------------------------------------------
+public:
+	struct PickerControlEntry : public LLDictionaryEntry
+	{
+		PickerControlEntry(ETextureIndex tex_index,
+						   const std::string name,
+						   const LLUUID default_image_id = LLUUID::null,
+						   const bool allow_no_texture = false);
+		ETextureIndex		mTextureIndex;
+		const std::string	mControlName;
+		const LLUUID		mDefaultImageId;
+		const bool			mAllowNoTexture;
+	};
+
+	struct ColorSwatchCtrls : public LLDictionary<ETextureIndex, PickerControlEntry>
+	{
+		ColorSwatchCtrls();
+	} mColorSwatchCtrls;
+
+	struct TextureCtrls : public LLDictionary<ETextureIndex, PickerControlEntry>
+	{
+		TextureCtrls();
+	} mTextureCtrls;
+
+	const PickerControlEntry* getTexturePicker(ETextureIndex index) const { return mTextureCtrls.lookup(index); }
+	const PickerControlEntry* getColorSwatch(ETextureIndex index) const { return mColorSwatchCtrls.lookup(index); }
 };
 
 LLEditWearableDictionary::LLEditWearableDictionary()
@@ -172,26 +212,28 @@ LLEditWearableDictionary::~LLEditWearableDictionary()
 
 LLEditWearableDictionary::Wearables::Wearables()
 {
-	addEntry(WT_SHAPE, new WearableEntry(WT_SHAPE,"edit_shape_title","shape_desc_text",9,	SUBPART_SHAPE_HEAD,	SUBPART_SHAPE_EYES,	SUBPART_SHAPE_EARS,	SUBPART_SHAPE_NOSE,	SUBPART_SHAPE_MOUTH, SUBPART_SHAPE_CHIN, SUBPART_SHAPE_TORSO, SUBPART_SHAPE_LEGS, SUBPART_SHAPE_WHOLE));
-	addEntry(WT_SKIN, new WearableEntry(WT_SKIN,"edit_skin_title","skin_desc_text",4, SUBPART_SKIN_COLOR, SUBPART_SKIN_FACEDETAIL, SUBPART_SKIN_MAKEUP, SUBPART_SKIN_BODYDETAIL));
-	addEntry(WT_HAIR, new WearableEntry(WT_HAIR,"edit_hair_title","hair_desc_text",4, SUBPART_HAIR_COLOR,	SUBPART_HAIR_STYLE,	SUBPART_HAIR_EYEBROWS, SUBPART_HAIR_FACIAL));
-	addEntry(WT_EYES, new WearableEntry(WT_EYES,"edit_eyes_title","eyes_desc_text",1, SUBPART_EYES));
-	addEntry(WT_SHIRT, new WearableEntry(WT_SHIRT,"edit_shirt_title","shirt_desc_text",1, SUBPART_SHIRT));
-	addEntry(WT_PANTS, new WearableEntry(WT_PANTS,"edit_pants_title","pants_desc_text",1, SUBPART_PANTS));
-	addEntry(WT_SHOES, new WearableEntry(WT_SHOES,"edit_shoes_title","shoes_desc_text",1, SUBPART_SHOES));
-	addEntry(WT_SOCKS, new WearableEntry(WT_SOCKS,"edit_socks_title","socks_desc_text",1, SUBPART_SOCKS));
-	addEntry(WT_JACKET, new WearableEntry(WT_JACKET,"edit_jacket_title","jacket_desc_text",1, SUBPART_JACKET));
-	addEntry(WT_GLOVES, new WearableEntry(WT_GLOVES,"edit_gloves_title","gloves_desc_text",1, SUBPART_GLOVES));
-	addEntry(WT_UNDERSHIRT, new WearableEntry(WT_UNDERSHIRT,"edit_undershirt_title","undershirt_desc_text",1, SUBPART_UNDERSHIRT));
-	addEntry(WT_UNDERPANTS, new WearableEntry(WT_UNDERPANTS,"edit_underpants_title","underpants_desc_text",1, SUBPART_UNDERPANTS));
-	addEntry(WT_SKIRT, new WearableEntry(WT_SKIRT,"edit_skirt_title","skirt_desc_text",1, SUBPART_SKIRT));
-	addEntry(WT_ALPHA, new WearableEntry(WT_ALPHA,"edit_alpha_title","alpha_desc_text",1, SUBPART_ALPHA));
-	addEntry(WT_TATTOO, new WearableEntry(WT_TATTOO,"edit_tattoo_title","tattoo_desc_text",1, SUBPART_TATTOO));
+	addEntry(WT_SHAPE, new WearableEntry(WT_SHAPE,"edit_shape_title","shape_desc_text",0,0,9,	SUBPART_SHAPE_HEAD,	SUBPART_SHAPE_EYES,	SUBPART_SHAPE_EARS,	SUBPART_SHAPE_NOSE,	SUBPART_SHAPE_MOUTH, SUBPART_SHAPE_CHIN, SUBPART_SHAPE_TORSO, SUBPART_SHAPE_LEGS, SUBPART_SHAPE_WHOLE));
+	addEntry(WT_SKIN, new WearableEntry(WT_SKIN,"edit_skin_title","skin_desc_text",0,3,4, TEX_HEAD_BODYPAINT, TEX_UPPER_BODYPAINT, TEX_LOWER_BODYPAINT, SUBPART_SKIN_COLOR, SUBPART_SKIN_FACEDETAIL, SUBPART_SKIN_MAKEUP, SUBPART_SKIN_BODYDETAIL));
+	addEntry(WT_HAIR, new WearableEntry(WT_HAIR,"edit_hair_title","hair_desc_text",0,1,4, TEX_HAIR, SUBPART_HAIR_COLOR,	SUBPART_HAIR_STYLE,	SUBPART_HAIR_EYEBROWS, SUBPART_HAIR_FACIAL));
+	addEntry(WT_EYES, new WearableEntry(WT_EYES,"edit_eyes_title","eyes_desc_text",0,1,1, TEX_EYES_IRIS, SUBPART_EYES));
+	addEntry(WT_SHIRT, new WearableEntry(WT_SHIRT,"edit_shirt_title","shirt_desc_text",1,1,1, TEX_UPPER_SHIRT, TEX_UPPER_SHIRT, SUBPART_SHIRT));
+	addEntry(WT_PANTS, new WearableEntry(WT_PANTS,"edit_pants_title","pants_desc_text",1,1,1, TEX_LOWER_PANTS, TEX_LOWER_PANTS, SUBPART_PANTS));
+	addEntry(WT_SHOES, new WearableEntry(WT_SHOES,"edit_shoes_title","shoes_desc_text",1,1,1, TEX_LOWER_SHOES, TEX_LOWER_SHOES, SUBPART_SHOES));
+	addEntry(WT_SOCKS, new WearableEntry(WT_SOCKS,"edit_socks_title","socks_desc_text",1,1,1, TEX_LOWER_SOCKS, TEX_LOWER_SOCKS, SUBPART_SOCKS));
+	addEntry(WT_JACKET, new WearableEntry(WT_JACKET,"edit_jacket_title","jacket_desc_text",1,2,1, TEX_UPPER_JACKET, TEX_UPPER_JACKET, TEX_LOWER_JACKET, SUBPART_JACKET));
+	addEntry(WT_GLOVES, new WearableEntry(WT_GLOVES,"edit_gloves_title","gloves_desc_text",1,1,1, TEX_UPPER_GLOVES, TEX_UPPER_GLOVES, SUBPART_GLOVES));
+	addEntry(WT_UNDERSHIRT, new WearableEntry(WT_UNDERSHIRT,"edit_undershirt_title","undershirt_desc_text",1,1,1, TEX_UPPER_UNDERSHIRT, TEX_UPPER_UNDERSHIRT, SUBPART_UNDERSHIRT));
+	addEntry(WT_UNDERPANTS, new WearableEntry(WT_UNDERPANTS,"edit_underpants_title","underpants_desc_text",1,1,1, TEX_LOWER_UNDERPANTS, TEX_LOWER_UNDERPANTS, SUBPART_UNDERPANTS));
+	addEntry(WT_SKIRT, new WearableEntry(WT_SKIRT,"edit_skirt_title","skirt_desc_text",1,1,1, TEX_SKIRT, TEX_SKIRT, SUBPART_SKIRT));
+	addEntry(WT_ALPHA, new WearableEntry(WT_ALPHA,"edit_alpha_title","alpha_desc_text",0,5,1, TEX_LOWER_ALPHA, TEX_UPPER_ALPHA, TEX_HEAD_ALPHA, TEX_EYES_ALPHA, TEX_HAIR_ALPHA, SUBPART_ALPHA));
+	addEntry(WT_TATTOO, new WearableEntry(WT_TATTOO,"edit_tattoo_title","tattoo_desc_text",0,3,1, TEX_LOWER_TATTOO, TEX_UPPER_TATTOO, TEX_HEAD_TATTOO, SUBPART_TATTOO));
 }
 
 LLEditWearableDictionary::WearableEntry::WearableEntry(EWearableType type,
 					  const std::string &title,
 					  const std::string &desc_title,
+					  U8 num_color_swatches,
+					  U8 num_texture_pickers,
 					  U8 num_subparts, ... ) :
 	LLDictionaryEntry(title),
 	mWearableType(type),
@@ -201,6 +243,18 @@ LLEditWearableDictionary::WearableEntry::WearableEntry(EWearableType type,
 	va_list argp;
 	va_start(argp, num_subparts);
 
+	for (U8 i = 0; i < num_color_swatches; ++i)
+	{
+		ETextureIndex index = (ETextureIndex)va_arg(argp,int);
+		mColorSwatchCtrls.push_back(index);
+	}
+
+	for (U8 i = 0; i < num_texture_pickers; ++i)
+	{
+		ETextureIndex index = (ETextureIndex)va_arg(argp,int);
+		mTextureCtrls.push_back(index);
+	}
+
 	for (U8 i = 0; i < num_subparts; ++i)
 	{
 		ESubpart part = (ESubpart)va_arg(argp,int);
@@ -265,6 +319,268 @@ LLEditWearableDictionary::SubpartEntry::SubpartEntry(ESubpart part,
 {
 }
 
+LLEditWearableDictionary::ColorSwatchCtrls::ColorSwatchCtrls()
+{
+	addEntry ( TEX_UPPER_SHIRT,  new PickerControlEntry (TEX_UPPER_SHIRT, "Color/Tint" ));
+	addEntry ( TEX_LOWER_PANTS,  new PickerControlEntry (TEX_LOWER_PANTS, "Color/Tint" ));
+	addEntry ( TEX_LOWER_SHOES,  new PickerControlEntry (TEX_LOWER_SHOES, "Color/Tint" ));
+	addEntry ( TEX_LOWER_SOCKS,  new PickerControlEntry (TEX_LOWER_SOCKS, "Color/Tint" ));
+	addEntry ( TEX_UPPER_JACKET, new PickerControlEntry (TEX_UPPER_JACKET, "Color/Tint" ));
+	addEntry ( TEX_SKIRT,  new PickerControlEntry (TEX_SKIRT, "Color/Tint" ));
+	addEntry ( TEX_UPPER_GLOVES, new PickerControlEntry (TEX_UPPER_GLOVES, "Color/Tint" ));
+	addEntry ( TEX_UPPER_UNDERSHIRT, new PickerControlEntry (TEX_UPPER_UNDERSHIRT, "Color/Tint" ));
+	addEntry ( TEX_LOWER_UNDERPANTS, new PickerControlEntry (TEX_LOWER_UNDERPANTS, "Color/Tint" ));
+}
+
+LLEditWearableDictionary::TextureCtrls::TextureCtrls()
+{
+	addEntry ( TEX_HEAD_BODYPAINT,  new PickerControlEntry (TEX_HEAD_BODYPAINT,  "Head Tattoos", LLUUID::null, TRUE ));
+	addEntry ( TEX_UPPER_BODYPAINT, new PickerControlEntry (TEX_UPPER_BODYPAINT, "Upper Tattoos", LLUUID::null, TRUE ));
+	addEntry ( TEX_LOWER_BODYPAINT, new PickerControlEntry (TEX_LOWER_BODYPAINT, "Lower Tattoos", LLUUID::null, TRUE ));
+	addEntry ( TEX_HAIR, new PickerControlEntry (TEX_HAIR, "Texture", LLUUID( gSavedSettings.getString( "UIImgDefaultHairUUID" ) ), FALSE ));
+	addEntry ( TEX_EYES_IRIS, new PickerControlEntry (TEX_EYES_IRIS, "Iris", LLUUID( gSavedSettings.getString( "UIImgDefaultEyesUUID" ) ), FALSE ));
+	addEntry ( TEX_UPPER_SHIRT, new PickerControlEntry (TEX_UPPER_SHIRT, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultShirtUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_PANTS, new PickerControlEntry (TEX_LOWER_PANTS, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultPantsUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_SHOES, new PickerControlEntry (TEX_LOWER_SHOES, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultShoesUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_SOCKS, new PickerControlEntry (TEX_LOWER_SOCKS, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultSocksUUID" ) ), FALSE ));
+	addEntry ( TEX_UPPER_JACKET, new PickerControlEntry (TEX_UPPER_JACKET, "Upper Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultJacketUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_JACKET, new PickerControlEntry (TEX_LOWER_JACKET, "Lower Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultJacketUUID" ) ), FALSE ));
+	addEntry ( TEX_SKIRT, new PickerControlEntry (TEX_SKIRT, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultSkirtUUID" ) ), FALSE ));
+	addEntry ( TEX_UPPER_GLOVES, new PickerControlEntry (TEX_UPPER_GLOVES, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultGlovesUUID" ) ), FALSE ));
+	addEntry ( TEX_UPPER_UNDERSHIRT, new PickerControlEntry (TEX_UPPER_UNDERSHIRT, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultUnderwearUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_UNDERPANTS, new PickerControlEntry (TEX_LOWER_UNDERPANTS, "Fabric", LLUUID( gSavedSettings.getString( "UIImgDefaultUnderwearUUID" ) ), FALSE ));
+	addEntry ( TEX_LOWER_ALPHA, new PickerControlEntry (TEX_LOWER_ALPHA, "Lower Alpha", LLUUID( gSavedSettings.getString( "UIImgDefaultAlphaUUID" ) ), TRUE ));
+	addEntry ( TEX_UPPER_ALPHA, new PickerControlEntry (TEX_UPPER_ALPHA, "Upper Alpha", LLUUID( gSavedSettings.getString( "UIImgDefaultAlphaUUID" ) ), TRUE ));
+	addEntry ( TEX_HEAD_ALPHA, new PickerControlEntry (TEX_HEAD_ALPHA, "Head Alpha", LLUUID( gSavedSettings.getString( "UIImgDefaultAlphaUUID" ) ), TRUE ));
+	addEntry ( TEX_EYES_ALPHA, new PickerControlEntry (TEX_EYES_ALPHA, "Eye Alpha", LLUUID( gSavedSettings.getString( "UIImgDefaultAlphaUUID" ) ), TRUE ));
+	addEntry ( TEX_HAIR_ALPHA, new PickerControlEntry (TEX_HAIR_ALPHA, "Hair Alpha", LLUUID( gSavedSettings.getString( "UIImgDefaultAlphaUUID" ) ), TRUE ));
+	addEntry ( TEX_LOWER_TATTOO, new PickerControlEntry (TEX_LOWER_TATTOO, "Lower Tattoo", LLUUID::null, TRUE ));
+	addEntry ( TEX_UPPER_TATTOO, new PickerControlEntry (TEX_UPPER_TATTOO, "Upper Tattoo", LLUUID::null, TRUE ));
+	addEntry ( TEX_HEAD_TATTOO, new PickerControlEntry (TEX_HEAD_TATTOO, "Head Tattoo", LLUUID::null, TRUE ));
+}
+
+LLEditWearableDictionary::PickerControlEntry::PickerControlEntry(ETextureIndex tex_index,
+					 const std::string name,
+					 const LLUUID default_image_id,
+					 const bool allow_no_texture) :
+	LLDictionaryEntry(name),
+	mTextureIndex(tex_index),
+	mControlName(name),
+	mDefaultImageId(default_image_id),
+	mAllowNoTexture(allow_no_texture)
+{
+}
+
+// Helper functions.
+static const texture_vec_t null_texture_vec;
+
+// Specializations of this template function return a vector of texture indexes of particular control type
+// (i.e. LLColorSwatchCtrl or LLTextureCtrl) which are contained in given WearableEntry.
+template <typename T>
+const texture_vec_t&
+get_pickers_indexes(const LLEditWearableDictionary::WearableEntry *wearable_entry) { return null_texture_vec; }
+
+// Specializations of this template function return picker control entry for particular control type.
+template <typename T>
+const LLEditWearableDictionary::PickerControlEntry*
+get_picker_entry (const ETextureIndex index) { return NULL; }
+
+typedef boost::function<void(LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry*)> function_t;
+
+typedef struct PickerControlEntryNamePredicate
+{
+	PickerControlEntryNamePredicate(const std::string name) : mName (name) {};
+	bool operator()(const LLEditWearableDictionary::PickerControlEntry* entry) const
+	{
+		return (entry && entry->mName == mName);
+	}
+private:
+	const std::string mName;
+} PickerControlEntryNamePredicate;
+
+// A full specialization of get_pickers_indexes for LLColorSwatchCtrl
+template <>
+const texture_vec_t&
+get_pickers_indexes<LLColorSwatchCtrl> (const LLEditWearableDictionary::WearableEntry *wearable_entry)
+{
+	if (!wearable_entry)
+	{
+		llwarns << "could not get LLColorSwatchCtrl indexes for null wearable entry." << llendl;
+		return null_texture_vec;
+	}
+	return wearable_entry->mColorSwatchCtrls;
+}
+
+// A full specialization of get_pickers_indexes for LLTextureCtrl
+template <>
+const texture_vec_t&
+get_pickers_indexes<LLTextureCtrl> (const LLEditWearableDictionary::WearableEntry *wearable_entry)
+{
+	if (!wearable_entry)
+	{
+		llwarns << "could not get LLTextureCtrl indexes for null wearable entry." << llendl;
+		return null_texture_vec;
+	}
+	return wearable_entry->mTextureCtrls;
+}
+
+// A full specialization of get_picker_entry for LLColorSwatchCtrl
+template <>
+const LLEditWearableDictionary::PickerControlEntry*
+get_picker_entry<LLColorSwatchCtrl> (const ETextureIndex index)
+{
+	return LLEditWearableDictionary::getInstance()->getColorSwatch(index);
+}
+
+// A full specialization of get_picker_entry for LLTextureCtrl
+template <>
+const LLEditWearableDictionary::PickerControlEntry*
+get_picker_entry<LLTextureCtrl> (const ETextureIndex index)
+{
+	return LLEditWearableDictionary::getInstance()->getTexturePicker(index);
+}
+
+template <typename CtrlType, class Predicate>
+const LLEditWearableDictionary::PickerControlEntry*
+find_picker_ctrl_entry_if(EWearableType type, const Predicate pred)
+{
+	const LLEditWearableDictionary::WearableEntry *wearable_entry
+		= LLEditWearableDictionary::getInstance()->getWearable(type);
+	if (!wearable_entry)
+	{
+		llwarns << "could not get wearable dictionary entry for wearable of type: " << type << llendl;
+		return NULL;
+	}
+	const texture_vec_t& indexes = get_pickers_indexes<CtrlType>(wearable_entry);
+	for (texture_vec_t::const_iterator
+			 iter = indexes.begin(),
+			 iter_end = indexes.end();
+		 iter != iter_end; ++iter)
+	{
+		const ETextureIndex te = *iter;
+		const LLEditWearableDictionary::PickerControlEntry*	entry
+			= get_picker_entry<CtrlType>(te);
+		if (!entry)
+		{
+			llwarns << "could not get picker dictionary entry (" << te << ") for wearable of type: " << type << llendl;
+			continue;
+		}
+		if (pred(entry))
+		{
+			return entry;
+		}
+	}
+	return NULL;
+}
+
+template <typename CtrlType>
+void
+for_each_picker_ctrl_entry(LLPanel* panel, EWearableType type, function_t fun)
+{
+	if (!panel)
+	{
+		llwarns << "the panel wasn't passed for wearable of type: " << type << llendl;
+		return;
+	}
+	const LLEditWearableDictionary::WearableEntry *wearable_entry
+		= LLEditWearableDictionary::getInstance()->getWearable(type);
+	if (!wearable_entry)
+	{
+		llwarns << "could not get wearable dictionary entry for wearable of type: " << type << llendl;
+		return;
+	}
+	const texture_vec_t& indexes = get_pickers_indexes<CtrlType>(wearable_entry);
+	for (texture_vec_t::const_iterator
+			 iter = indexes.begin(),
+			 iter_end = indexes.end();
+		 iter != iter_end; ++iter)
+	{
+		const ETextureIndex te = *iter;
+		const LLEditWearableDictionary::PickerControlEntry*	entry
+			= get_picker_entry<CtrlType>(te);
+		if (!entry)
+		{
+			llwarns << "could not get picker dictionary entry (" << te << ") for wearable of type: " << type << llendl;
+			continue;
+		}
+		fun (panel, entry);
+	}
+}
+
+// The helper functions for pickers management
+static void init_color_swatch_ctrl(LLPanelEditWearable* self, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLColorSwatchCtrl* color_swatch_ctrl = panel->getChild<LLColorSwatchCtrl>(entry->mControlName);
+	if (color_swatch_ctrl)
+	{
+		color_swatch_ctrl->setOriginal(self->getWearable()->getClothesColor(entry->mTextureIndex));
+	}
+}
+
+static void init_texture_ctrl(LLPanelEditWearable* self, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLTextureCtrl* texture_ctrl = panel->getChild<LLTextureCtrl>(entry->mControlName);
+	if (texture_ctrl)
+	{
+		texture_ctrl->setDefaultImageAssetID(entry->mDefaultImageId);
+		texture_ctrl->setAllowNoTexture(entry->mAllowNoTexture);
+		// Don't allow (no copy) or (notransfer) textures to be selected.
+		texture_ctrl->setImmediateFilterPermMask(PERM_NONE);
+		texture_ctrl->setNonImmediateFilterPermMask(PERM_NONE);
+	}
+}
+
+static void update_color_swatch_ctrl(LLPanelEditWearable* self, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLColorSwatchCtrl* color_swatch_ctrl = panel->getChild<LLColorSwatchCtrl>(entry->mControlName);
+	if (color_swatch_ctrl)
+	{
+		color_swatch_ctrl->set(self->getWearable()->getClothesColor(entry->mTextureIndex));
+	}
+}
+
+static void update_texture_ctrl(LLPanelEditWearable* self, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLTextureCtrl* texture_ctrl = panel->getChild<LLTextureCtrl>(entry->mControlName);
+	if (texture_ctrl)
+	{
+		LLUUID new_id;
+		LLLocalTextureObject *lto = self->getWearable()->getLocalTextureObject(entry->mTextureIndex);
+		if( lto && (lto->getID() != IMG_DEFAULT_AVATAR) )
+		{
+			new_id = lto->getID();
+		}
+		else
+		{
+			new_id = LLUUID::null;
+		}
+		LLUUID old_id = texture_ctrl->getImageAssetID();
+		if (old_id != new_id)
+		{
+			// texture has changed, close the floater to avoid DEV-22461
+			texture_ctrl->closeDependentFloater();
+		}
+		texture_ctrl->setImageAssetID(new_id);
+	}
+}
+
+static void set_enabled_color_swatch_ctrl(bool enabled, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLColorSwatchCtrl* color_swatch_ctrl = panel->getChild<LLColorSwatchCtrl>(entry->mControlName);
+	if (color_swatch_ctrl)
+	{
+		color_swatch_ctrl->setEnabled(enabled);
+	}
+}
+
+static void set_enabled_texture_ctrl(bool enabled, LLPanel* panel, const LLEditWearableDictionary::PickerControlEntry* entry)
+{
+	LLTextureCtrl* texture_ctrl = panel->getChild<LLTextureCtrl>(entry->mControlName);
+	if (texture_ctrl)
+	{
+		texture_ctrl->setEnabled(enabled);
+	}
+}
 
 // LLPanelEditWearable
 
@@ -273,6 +589,8 @@ LLPanelEditWearable::LLPanelEditWearable()
 	, mWearablePtr(NULL)
 	, mWearableItem(NULL)
 {
+	mCommitCallbackRegistrar.add("ColorSwatch.Commit", boost::bind(&LLPanelEditWearable::onColorSwatchCommit, this, _1));
+	mCommitCallbackRegistrar.add("TexturePicker.Commit", boost::bind(&LLPanelEditWearable::onTexturePickerCommit, this, _1));
 }
 
 //virtual
@@ -341,6 +659,10 @@ BOOL LLPanelEditWearable::isDirty() const
 void LLPanelEditWearable::draw()
 {
 	updateVerbs();
+	if (getWearable())
+	{
+		updatePanelPickerControls(getWearable()->getType());
+	}
 
 	LLPanel::draw();
 }
@@ -361,6 +683,102 @@ void LLPanelEditWearable::onRevertButtonClicked(void* userdata)
 	panel->revertChanges();
 }
 
+void LLPanelEditWearable::onTexturePickerCommit(const LLUICtrl* ctrl)
+{
+	const LLTextureCtrl* texture_ctrl = dynamic_cast<const LLTextureCtrl*>(ctrl);
+	if (!texture_ctrl)
+	{
+		llwarns << "got commit signal from not LLTextureCtrl." << llendl;
+		return;
+	}
+
+	if (getWearable())
+	{
+		EWearableType type = getWearable()->getType();
+		const PickerControlEntryNamePredicate name_pred(texture_ctrl->getName());
+		const LLEditWearableDictionary::PickerControlEntry* entry
+			= find_picker_ctrl_entry_if<LLTextureCtrl, PickerControlEntryNamePredicate>(type, name_pred);
+		if (entry)
+		{
+			// Set the new version
+			LLViewerFetchedTexture* image = LLViewerTextureManager::getFetchedTexture(texture_ctrl->getImageAssetID());
+			if( image->getID().isNull() )
+			{
+				image = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT_AVATAR);
+			}
+			if (getWearable())
+			{
+				U32 index = gAgentWearables.getWearableIndex(getWearable());
+				gAgentAvatarp->setLocalTexture(entry->mTextureIndex, image, FALSE, index);
+				LLVisualParamHint::requestHintUpdates();
+				gAgentAvatarp->wearableUpdated(type, FALSE);
+			}
+		}
+		else
+		{
+			llwarns << "could not get texture picker dictionary entry for wearable of type: " << type << llendl;
+		}
+	}
+}
+
+void LLPanelEditWearable::onColorSwatchCommit(const LLUICtrl* ctrl)
+{
+	if (getWearable())
+	{
+		EWearableType type = getWearable()->getType();
+		const PickerControlEntryNamePredicate name_pred(ctrl->getName());
+		const LLEditWearableDictionary::PickerControlEntry* entry
+			= find_picker_ctrl_entry_if<LLColorSwatchCtrl, PickerControlEntryNamePredicate>(type, name_pred);
+		if (entry)
+		{
+			const LLColor4& old_color = getWearable()->getClothesColor(entry->mTextureIndex);
+			const LLColor4& new_color = LLColor4(ctrl->getValue());
+			if( old_color != new_color )
+			{
+				getWearable()->setClothesColor(entry->mTextureIndex, new_color, TRUE);
+				LLVisualParamHint::requestHintUpdates();
+				gAgentAvatarp->wearableUpdated(getWearable()->getType(), FALSE);
+			}
+		}
+		else
+		{
+			llwarns << "could not get color swatch dictionary entry for wearable of type: " << type << llendl;
+		}
+	}
+}
+
+void LLPanelEditWearable::updatePanelPickerControls(EWearableType type)
+{
+	LLPanel* panel = getPanel(type);
+	if (!panel)
+		return;
+
+	bool is_modifiable = false;
+	bool is_complete   = false;
+	bool is_copyable   = false;
+
+	if(mWearableItem)
+	{
+		const LLPermissions& perm = mWearableItem->getPermissions();
+		is_modifiable = perm.allowModifyBy(gAgent.getID(), gAgent.getGroupID());
+		is_copyable = perm.allowCopyBy(gAgent.getID(), gAgent.getGroupID());
+		is_complete = mWearableItem->isFinished();
+	}
+
+	if (is_modifiable && is_complete)
+	{
+		// Update picker controls
+		for_each_picker_ctrl_entry <LLColorSwatchCtrl> (panel, type, boost::bind(update_color_swatch_ctrl, this, _1, _2));
+		for_each_picker_ctrl_entry <LLTextureCtrl>     (panel, type, boost::bind(update_texture_ctrl, this, _1, _2));
+	}
+
+	if (!is_modifiable || !is_complete || !is_copyable)
+	{
+		// Disable controls
+		for_each_picker_ctrl_entry <LLColorSwatchCtrl> (panel, type, boost::bind(set_enabled_color_swatch_ctrl, false, _1, _2));
+		for_each_picker_ctrl_entry <LLTextureCtrl>     (panel, type, boost::bind(set_enabled_texture_ctrl, false, _1, _2));
+	}
+}
 
 void LLPanelEditWearable::saveChanges()
 {
@@ -428,6 +846,9 @@ void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show)
 		mDescTitle->setText(description_title);
 	}
 
+	// Update picker controls state
+	for_each_picker_ctrl_entry <LLColorSwatchCtrl> (targetPanel, type, boost::bind(set_enabled_color_swatch_ctrl, show, _1, _2));
+	for_each_picker_ctrl_entry <LLTextureCtrl>     (targetPanel, type, boost::bind(set_enabled_texture_ctrl, show, _1, _2));
 }
 
 void LLPanelEditWearable::initializePanel()
@@ -493,6 +914,11 @@ void LLPanelEditWearable::initializePanel()
 
 		updateScrollingPanelUI();
 	}
+
+	// initialize texture and color picker controls
+	for_each_picker_ctrl_entry <LLColorSwatchCtrl> (getPanel(type), type, boost::bind(init_color_swatch_ctrl, this, _1, _2));
+	for_each_picker_ctrl_entry <LLTextureCtrl>     (getPanel(type), type, boost::bind(init_texture_ctrl, this, _1, _2));
+
 	updateVerbs();
 }
 
diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h
index 8b63685177bd8e2d050b5154fb4b2477b220b259..76b0ddb3cce80d7aa298bc62ccf2b924c2374299 100644
--- a/indra/newview/llpaneleditwearable.h
+++ b/indra/newview/llpaneleditwearable.h
@@ -77,6 +77,10 @@ class LLPanelEditWearable : public LLPanel
 	// update bottom bar buttons ("Save", "Revert", etc)
 	void				updateVerbs();
 
+	void				onColorSwatchCommit(const LLUICtrl*);
+	void				onTexturePickerCommit(const LLUICtrl*);
+	void				updatePanelPickerControls(EWearableType type);
+
 	// the pointer to the wearable we're editing. NULL means we're not editing a wearable.
 	LLWearable *mWearablePtr;
 	LLViewerInventoryItem* mWearableItem;
@@ -112,7 +116,6 @@ class LLPanelEditWearable : public LLPanel
 	LLPanel *mPanelSkirt;
 	LLPanel *mPanelAlpha;
 	LLPanel *mPanelTattoo;
-
 };
 
 #endif
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index dbccd243dadd1b9e494e8472df33573cb89e6070..daa41e146789836513740416acde88538cd26c97 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -128,8 +128,6 @@ LLPanelOutfitEdit::LLPanelOutfitEdit()
 	mSearchFilter(NULL),
 	mCOFWearables(NULL),
 	mInventoryItemsPanel(NULL),
-	mAddToOutfitBtn(NULL),
-	mRemoveFromOutfitBtn(NULL),
 	mLookObserver(NULL)
 {
 	mSavedFolderState = new LLSaveFolderState();
@@ -174,13 +172,20 @@ BOOL LLPanelOutfitEdit::postBuild()
 
 	mCurrentOutfitName = getChild<LLTextBox>("curr_outfit_name"); 
 
-	childSetCommitCallback("add_btn", boost::bind(&LLPanelOutfitEdit::showAddWearablesPanel, this), NULL);
 	childSetCommitCallback("filter_button", boost::bind(&LLPanelOutfitEdit::showWearablesFilter, this), NULL);
 	childSetCommitCallback("list_view_btn", boost::bind(&LLPanelOutfitEdit::showFilteredWearablesPanel, this), NULL);
 
 	mCOFWearables = getChild<LLCOFWearables>("cof_wearables_list");
 	mCOFWearables->setCommitCallback(boost::bind(&LLPanelOutfitEdit::onOutfitItemSelectionChange, this));
 
+	mCOFWearables->getCOFCallbacks().mEditWearable = boost::bind(&LLPanelOutfitEdit::onEditWearableClicked, this);
+	mCOFWearables->getCOFCallbacks().mDeleteWearable = boost::bind(&LLPanelOutfitEdit::onRemoveFromOutfitClicked, this);
+	mCOFWearables->getCOFCallbacks().mMoveWearableCloser = boost::bind(&LLPanelOutfitEdit::moveWearable, this, true);
+	mCOFWearables->getCOFCallbacks().mMoveWearableFurther = boost::bind(&LLPanelOutfitEdit::moveWearable, this, false);
+
+	mCOFWearables->childSetAction("add_btn", boost::bind(&LLPanelOutfitEdit::toggleAddWearablesPanel, this));
+
+
 	mInventoryItemsPanel = getChild<LLInventoryPanel>("inventory_items");
 	mInventoryItemsPanel->setFilterTypes(ALL_ITEMS_MASK);
 	mInventoryItemsPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
@@ -209,13 +214,6 @@ BOOL LLPanelOutfitEdit::postBuild()
 	mAddToLookBtn->setEnabled(FALSE);
 	mAddToLookBtn->setVisible(FALSE); */
 	
-	childSetAction("add_to_outfit_btn", boost::bind(&LLPanelOutfitEdit::onAddToOutfitClicked, this));
-	childSetEnabled("add_to_outfit_btn", false);
-
-	mRemoveFromOutfitBtn = getChild<LLButton>("remove_from_outfit_btn");
-	mRemoveFromOutfitBtn->setEnabled(FALSE);
-	mRemoveFromOutfitBtn->setCommitCallback(boost::bind(&LLPanelOutfitEdit::onRemoveFromOutfitClicked, this));
-
 	mEditWearableBtn = getChild<LLButton>("edit_wearable_btn");
 	mEditWearableBtn->setEnabled(FALSE);
 	mEditWearableBtn->setVisible(FALSE);
@@ -233,9 +231,6 @@ BOOL LLPanelOutfitEdit::postBuild()
 
 	mWearableListManager = new LLFilteredWearableListManager(
 		getChild<LLInventoryItemsList>("filtered_wearables_list"), ALL_ITEMS_MASK);
-		
-	childSetAction("move_closer_btn", boost::bind(&LLPanelOutfitEdit::moveWearable, this, true));
-	childSetAction("move_further_btn", boost::bind(&LLPanelOutfitEdit::moveWearable, this, false));
 
 	return TRUE;
 }
@@ -252,9 +247,9 @@ void LLPanelOutfitEdit::moveWearable(bool closer_to_body)
 	updateLookInfo();
 }
 
-void LLPanelOutfitEdit::showAddWearablesPanel()
+void LLPanelOutfitEdit::toggleAddWearablesPanel()
 {
-	childSetVisible("add_wearables_panel", childGetValue("add_btn"));
+	childSetVisible("add_wearables_panel", !childIsVisible("add_wearables_panel"));
 }
 
 void LLPanelOutfitEdit::showWearablesFilter()
@@ -379,8 +374,6 @@ void LLPanelOutfitEdit::onRemoveFromOutfitClicked(void)
 	LLAppearanceMgr::getInstance()->removeItemFromAvatar(id_to_remove);
 
 	updateLookInfo();
-
-	mRemoveFromOutfitBtn->setEnabled(FALSE);
 }
 
 
@@ -434,10 +427,7 @@ void LLPanelOutfitEdit::onInventorySelectionChange(const std::deque<LLFolderView
 	case LLAssetType::AT_CLOTHING:
 	case LLAssetType::AT_BODYPART:
 	case LLAssetType::AT_OBJECT:
-		childSetEnabled("add_to_outfit_btn", true);
-		break;
 	default:
-		childSetEnabled("add_to_outfit_btn", false);
 		break;
 	}
 	
@@ -470,10 +460,7 @@ void LLPanelOutfitEdit::onOutfitItemSelectionChange(void)
 	{
 	case LLAssetType::AT_CLOTHING:
 	case LLAssetType::AT_OBJECT:
-		mRemoveFromOutfitBtn->setEnabled(TRUE);
-		break;
 	default:
-		mRemoveFromOutfitBtn->setEnabled(FALSE);
 		break;
 	}
 }
diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h
index 21fa849289996397788f6e2bc9547409fe7e6a26..0074cd517bb660b23600810ab1c89a2e201441ac 100644
--- a/indra/newview/llpaneloutfitedit.h
+++ b/indra/newview/llpaneloutfitedit.h
@@ -90,7 +90,7 @@ class LLPanelOutfitEdit : public LLPanel
 
 	void moveWearable(bool closer_to_body);
 
-	void showAddWearablesPanel();
+	void toggleAddWearablesPanel();
 	void showWearablesFilter();
 	void showFilteredWearablesPanel();
 	void saveOutfit(bool as_new = false);
@@ -122,8 +122,6 @@ class LLPanelOutfitEdit : public LLPanel
 	LLFilterEditor*		mSearchFilter;
 	LLSaveFolderState*	mSavedFolderState;
 	std::string			mSearchString;
-	LLButton*			mAddToOutfitBtn;
-	LLButton*			mRemoveFromOutfitBtn;
 	LLButton*			mEditWearableBtn;
 	LLToggleableMenu*	mSaveMenu;
 
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index 789e85b46f14a557c0a7fd7db1b6b61daf2cadff..59c1fb4f3c5ac08f49911354630cc619e2afb69a 100644
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -68,7 +68,6 @@ static const std::string OUTFITS_TAB_NAME = "outfitslist_tab";
 static const std::string COF_TAB_NAME = "cof_tab";
 
 static LLRegisterPanelClassWrapper<LLPanelOutfitsInventory> t_inventory("panel_outfits_inventory");
-bool LLPanelOutfitsInventory::sShowDebugEditor = false;
 
 
 LLPanelOutfitsInventory::LLPanelOutfitsInventory() :
@@ -88,7 +87,6 @@ LLPanelOutfitsInventory::~LLPanelOutfitsInventory()
 // virtual
 BOOL LLPanelOutfitsInventory::postBuild()
 {
-	sShowDebugEditor = gSavedSettings.getBOOL("ShowDebugAppearanceEditor");
 	initTabPanels();
 	initListCommandsHandlers();
 
@@ -133,7 +131,6 @@ void LLPanelOutfitsInventory::updateVerbs()
 
 	if (mListCommands)
 	{
-		mListCommands->childSetVisible("edit_current_outfit_btn",sShowDebugEditor);
 		updateListCommands();
 	}
 }
@@ -188,19 +185,37 @@ void LLPanelOutfitsInventory::onSearchEdit(const std::string& string)
 
 void LLPanelOutfitsInventory::onWearButtonClick()
 {
-	LLFolderViewEventListener* listenerp = getCorrectListenerForAction();
-	if (listenerp)
+	// TODO: Remove if/else, add common interface
+	// for "My Outfits" and "Wearing" tabs.
+	if (!isCOFPanelActive())
 	{
-		listenerp->performAction(NULL, "replaceoutfit");
+		mMyOutfitsPanel->performAction("replaceoutfit");
+	}
+	else
+	{
+		LLFolderViewEventListener* listenerp = getCorrectListenerForAction();
+		if (listenerp)
+		{
+			listenerp->performAction(NULL, "replaceoutfit");
+		}
 	}
 }
 
 void LLPanelOutfitsInventory::onAdd()
 {
-	LLFolderViewEventListener* listenerp = getCorrectListenerForAction();
-	if (listenerp)
+	// TODO: Remove if/else, add common interface
+	// for "My Outfits" and "Wearing" tabs.
+	if (!isCOFPanelActive())
 	{
-		listenerp->performAction(NULL, "addtooutfit");
+		mMyOutfitsPanel->performAction("addtooutfit");
+	}
+	else
+	{
+		LLFolderViewEventListener* listenerp = getCorrectListenerForAction();
+		if (listenerp)
+		{
+			listenerp->performAction(NULL, "addtooutfit");
+		}
 	}
 }
 
@@ -289,14 +304,6 @@ void LLPanelOutfitsInventory::onSelectionChange(const std::deque<LLFolderViewIte
 	}
 }
 
-void LLPanelOutfitsInventory::showEditOutfitPanel()
-{
-	LLSD key;
-	key["type"] = "edit_outfit";
-	
-	LLSideTray::getInstance()->showPanel("sidepanel_appearance", key);
-}
-
 LLFolderViewEventListener *LLPanelOutfitsInventory::getCorrectListenerForAction()
 {
 	// TODO: add handling "My Outfits" tab.
@@ -351,8 +358,6 @@ void LLPanelOutfitsInventory::initListCommandsHandlers()
 	mListCommands->childSetAction("make_outfit_btn", boost::bind(&LLPanelOutfitsInventory::onAddButtonClick, this));
 	mListCommands->childSetAction("wear_btn", boost::bind(&LLPanelOutfitsInventory::onWearButtonClick, this));
 
-	mListCommands->childSetAction("edit_current_outfit_btn", boost::bind(&LLPanelOutfitsInventory::showEditOutfitPanel, this));
-
 	LLDragAndDropButton* trash_btn = mListCommands->getChild<LLDragAndDropButton>("trash_btn");
 	trash_btn->setDragAndDropHandler(boost::bind(&LLPanelOutfitsInventory::handleDragAndDropToTrash, this
 				   ,       _4 // BOOL drop
diff --git a/indra/newview/llpaneloutfitsinventory.h b/indra/newview/llpaneloutfitsinventory.h
index 4234cc45c5285fddea224edd89b795d21bc0e52f..975d99f834652f5a115f0b8eb55c9f5b108f242c 100644
--- a/indra/newview/llpaneloutfitsinventory.h
+++ b/indra/newview/llpaneloutfitsinventory.h
@@ -65,7 +65,6 @@ class LLPanelOutfitsInventory : public LLPanel
 	bool onSaveCommit(const LLSD& notification, const LLSD& response);
 
 	void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action);
-	void showEditOutfitPanel();
 
 	// If a compatible listener type is selected, then return a pointer to that.
 	// Otherwise, return NULL.
@@ -131,8 +130,6 @@ class LLPanelOutfitsInventory : public LLPanel
 	// List Commands                                                              //
 	////////////////////////////////////////////////////////////////////////////////
 	///
-public:
-	static bool sShowDebugEditor;
 };
 
 #endif //LL_LLPANELOUTFITSINVENTORY_H
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index c3748ca81d07d134b18d5d222600bc47c659b6e9..a05854845927355a9c31bb7cb08d5ff22034742c 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -722,7 +722,21 @@ void LLParticipantList::LLParticipantListMenu::toggleMute(const LLSD& userdata,
 
 	name = speakerp->mDisplayName;
 
-	LLMute mute(speaker_id, name, speakerp->mType == LLSpeaker::SPEAKER_AGENT ? LLMute::AGENT : LLMute::OBJECT);
+	LLMute::EType mute_type;
+	switch (speakerp->mType)
+	{
+		case LLSpeaker::SPEAKER_AGENT:
+			mute_type = LLMute::AGENT;
+			break;
+		case LLSpeaker::SPEAKER_OBJECT:
+			mute_type = LLMute::OBJECT;
+			break;
+		case LLSpeaker::SPEAKER_EXTERNAL:
+		default:
+			mute_type = LLMute::EXTERNAL;
+			break;
+	}
+	LLMute mute(speaker_id, name, mute_type);
 
 	if (!is_muted)
 	{
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index 75702dc8e52c1bf454e41729739316b55d8d41d5..fb7ac0d86b4208ee5cd07cce41c8088523483925 100644
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -35,6 +35,7 @@
 #include "llpreviewnotecard.h"
 
 #include "llinventory.h"
+#include "llinventoryfunctions.h" // for change_item_parent()
 
 #include "llagent.h"
 #include "llassetuploadresponders.h"
@@ -92,11 +93,17 @@ BOOL LLPreviewNotecard::postBuild()
 	childSetAction("Save", onClickSave, this);
 	childSetVisible("lock", FALSE);	
 
+	childSetAction("Delete", onClickDelete, this);
+	childSetEnabled("Delete", false);
+
 	const LLInventoryItem* item = getItem();
 
 	childSetCommitCallback("desc", LLPreview::onText, this);
 	if (item)
+	{
 		childSetText("desc", item->getDescription());
+		childSetEnabled("Delete", true);
+	}
 	childSetPrevalidate("desc", &LLTextValidate::validateASCIIPrintableNoPipe);
 
 	return LLPreview::postBuild();
@@ -374,6 +381,17 @@ void LLPreviewNotecard::onClickSave(void* user_data)
 	}
 }
 
+
+// static
+void LLPreviewNotecard::onClickDelete(void* user_data)
+{
+	LLPreviewNotecard* preview = (LLPreviewNotecard*)user_data;
+	if(preview)
+	{
+		preview->deleteNotecard();
+	}
+}
+
 struct LLSaveNotecardInfo
 {
 	LLPreviewNotecard* mSelf;
@@ -466,6 +484,18 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
 	return true;
 }
 
+void LLPreviewNotecard::deleteNotecard()
+{
+	LLViewerInventoryItem* item = gInventory.getItem(mItemUUID);
+	if (item != NULL)
+	{
+		const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH);
+		change_item_parent(&gInventory, item, trash_id, FALSE);
+	}
+
+	closeFloater();
+}
+
 // static
 void LLPreviewNotecard::onSaveComplete(const LLUUID& asset_uuid, void* user_data, S32 status, LLExtStat ext_status) // StoreAssetData callback (fixed)
 {
diff --git a/indra/newview/llpreviewnotecard.h b/indra/newview/llpreviewnotecard.h
index e0363eef548f8f9c79070744282dadaa75776f7b..98de99aa33ab0473cf4d64dfdfc4db3f9b77e026 100644
--- a/indra/newview/llpreviewnotecard.h
+++ b/indra/newview/llpreviewnotecard.h
@@ -83,6 +83,8 @@ class LLPreviewNotecard : public LLPreview
 	virtual void loadAsset();
 	bool saveIfNeeded(LLInventoryItem* copyitem = NULL);
 
+	void deleteNotecard();
+
 	static void onLoadComplete(LLVFS *vfs,
 							   const LLUUID& asset_uuid,
 							   LLAssetType::EType type,
@@ -90,6 +92,8 @@ class LLPreviewNotecard : public LLPreview
 
 	static void onClickSave(void* data);
 
+	static void onClickDelete(void* data);
+
 	static void onSaveComplete(const LLUUID& asset_uuid,
 							   void* user_data,
 							   S32 status, LLExtStat ext_status);
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index af440a36891800ec427227a44c140c0937cb7cff..de1da248c12ca34935d498469e5d29a641039481 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -706,6 +706,31 @@ void LLScreenChannel::hideToast(const LLUUID& notification_id)
 	}
 }
 
+void LLScreenChannel::closeHiddenToasts(const Matcher& matcher)
+{
+	// since we can't guarantee that close toast operation doesn't change mToastList
+	// we collect matched toasts that should be closed into separate list
+	std::list<ToastElem> toasts;
+	for (std::vector<ToastElem>::iterator it = mToastList.begin(); it
+			!= mToastList.end(); it++)
+	{
+		LLToast * toast = it->toast;
+		// add to list valid toast that match to provided matcher criteria
+		if (toast != NULL && !toast->isDead() && toast->getNotification() != NULL
+				&& !toast->getVisible() && matcher.matches(toast->getNotification()))
+		{
+			toasts.push_back(*it);
+		}
+	}
+
+	// close collected toasts
+	for (std::list<ToastElem>::iterator it = toasts.begin(); it
+			!= toasts.end(); it++)
+	{
+		it->toast->closeFloater();
+	}
+}
+
 //--------------------------------------------------------------------------
 void LLScreenChannel::removeToastsFromChannel()
 {
diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h
index 88053d87d9dedacad96f6cb5a71c55cc4f1e0184..46c5fed7b69c7b2cac93560a57ac2a8b33171d60 100644
--- a/indra/newview/llscreenchannel.h
+++ b/indra/newview/llscreenchannel.h
@@ -173,6 +173,12 @@ class LLScreenChannel : public LLScreenChannelBase
 	void		hideToastsFromScreen();
 	// hide toast by notification id
 	void		hideToast(const LLUUID& notification_id);
+
+	/**
+	 * Closes hidden matched toasts from channel.
+	 */
+	void closeHiddenToasts(const Matcher& matcher);
+
 	// removes all toasts from a channel
 	void		removeToastsFromChannel();
 	// show all toasts in a channel
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index d03a492cd1002146da0a6ecc2b074f254bf95836..2c26bada20709763a7533f4cf593712574faf0cf 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -3624,14 +3624,14 @@ void LLSelectMgr::sendAttach(U8 attachment_point)
 		return;
 	}
 
-#if ENABLE_MULTIATTACHMENTS
-	attachment_point |= ATTACHMENT_ADD;
-#endif
 	BOOL build_mode = LLToolMgr::getInstance()->inEdit();
 	// Special case: Attach to default location for this object.
 	if (0 == attachment_point ||
 		get_if_there(gAgentAvatarp->mAttachmentPoints, (S32)attachment_point, (LLViewerJointAttachment*)NULL))
 	{
+#if ENABLE_MULTIATTACHMENTS
+		attachment_point |= ATTACHMENT_ADD;
+#endif
 		sendListToRegions(
 			"ObjectAttach",
 			packAgentIDAndSessionAndAttachment, 
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index f38df19de0ae2796cc695f7bb395dc72d566e1e1..08098e2adb324227194d2de60ea35b0a33d8ae1a 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -44,6 +44,7 @@
 #include "llfoldervieweventlistener.h"
 #include "llpaneleditwearable.h"
 #include "llpaneloutfitsinventory.h"
+#include "llsidetray.h"
 #include "lltextbox.h"
 #include "lluictrlfactory.h"
 #include "llviewerregion.h"
@@ -115,6 +116,8 @@ BOOL LLSidepanelAppearance::postBuild()
 	mEditAppearanceBtn = getChild<LLButton>("editappearance_btn");
 	mEditAppearanceBtn->setClickedCallback(boost::bind(&LLSidepanelAppearance::onEditAppearanceButtonClicked, this));
 
+	childSetAction("edit_outfit_btn", boost::bind(&LLSidepanelAppearance::onEditOutfitButtonClicked, this));
+
 	mEditBtn = getChild<LLButton>("edit_btn");
 	mEditBtn->setClickedCallback(boost::bind(&LLSidepanelAppearance::onEditButtonClicked, this));
 
@@ -154,7 +157,7 @@ BOOL LLSidepanelAppearance::postBuild()
 
 	mCurrentLookName = getChild<LLTextBox>("currentlook_name");
 
-	mOutfitDirtyTag = getChild<LLTextBox>("currentlook_title");
+	mOutfitStatus = getChild<LLTextBox>("currentlook_status");
 	
 	mCurrOutfitPanel = getChild<LLPanel>("panel_currentlook");
 
@@ -238,6 +241,13 @@ void LLSidepanelAppearance::onEditAppearanceButtonClicked()
 	}
 }
 
+void LLSidepanelAppearance::onEditOutfitButtonClicked()
+{
+	LLSD key;
+	key["type"] = "edit_outfit";
+	LLSideTray::getInstance()->showPanel("sidepanel_appearance", key);
+}
+
 void LLSidepanelAppearance::onEditButtonClicked()
 {
 	toggleOutfitEditPanel(FALSE);
@@ -339,7 +349,11 @@ void LLSidepanelAppearance::updateVerbs()
 
 void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name)
 {
-	mOutfitDirtyTag->setVisible(LLAppearanceMgr::getInstance()->isOutfitDirty());
+	// Set current outfit status (wearing/unsaved).
+	bool dirty = LLAppearanceMgr::getInstance()->isOutfitDirty();
+	std::string cof_status_str = getString(dirty ? "Unsaved Changes" : "Now Wearing");
+	mOutfitStatus->setText(cof_status_str);
+
 	if (name == "")
 	{
 		std::string outfit_name;
diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h
index 0a609797fb093ff5b96164e86396bc7c06141454..0a2d882a0b4bd626622eca09cd81ec9cb25c02e4 100644
--- a/indra/newview/llsidepanelappearance.h
+++ b/indra/newview/llsidepanelappearance.h
@@ -71,6 +71,7 @@ class LLSidepanelAppearance : public LLPanel
 
 	void onOpenOutfitButtonClicked();
 	void onEditAppearanceButtonClicked();
+	void onEditOutfitButtonClicked();
 	void onEditButtonClicked();
 	void onEditWearBackClicked();
 
@@ -90,7 +91,7 @@ class LLSidepanelAppearance : public LLPanel
 	LLPanel*					mCurrOutfitPanel;
 
 	LLTextBox*					mCurrentLookName;
-	LLTextBox*					mOutfitDirtyTag;
+	LLTextBox*					mOutfitStatus;
 
 	// Used to make sure the user's inventory is in memory.
 	LLCurrentlyWornFetchObserver* mFetchWorn;
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index e64696b12081d07dc2063eabb0edf8ea74e35ab9..3d447dd41125e7045e5ff9a00c5bc3a56bc19741 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -167,8 +167,6 @@ class LLTextureFetchWorker : public LLWorkerClass
 	}
 
 protected:
-	LLTextureFetchWorker(LLTextureFetch* fetcher, const LLUUID& id, const LLHost& host,
-						 F32 priority, S32 discard, S32 size);
 	LLTextureFetchWorker(LLTextureFetch* fetcher, const std::string& url, const LLUUID& id, const LLHost& host,
 						 F32 priority, S32 discard, S32 size);
 
@@ -215,8 +213,15 @@ class LLTextureFetchWorker : public LLWorkerClass
 		QUEUED = 1,
 		SENT_SIM = 2
 	};
+	enum e_write_to_cache_state //mWriteToCacheState
+	{
+		NOT_WRITE = 0,
+		CAN_WRITE = 1,
+		SHOULD_WRITE = 2
+	};
 	static const char* sStateDescs[];
 	e_state mState;
+	e_write_to_cache_state mWriteToCacheState;
 	LLTextureFetch* mFetcher;
 	LLPointer<LLImageFormatted> mFormattedImage;
 	LLPointer<LLImageRaw> mRawImage;
@@ -377,6 +382,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher,
 										   S32 size)			// Desired size
 	: LLWorkerClass(fetcher, "TextureFetch"),
 	  mState(INIT),
+	  mWriteToCacheState(NOT_WRITE),
 	  mFetcher(fetcher),
 	  mID(id),
 	  mHost(host),
@@ -595,7 +601,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 	}
 
 	if (mState == INIT)
-	{
+	{		
 		mRawImage = NULL ;
 		mRequestedDiscard = -1;
 		mLoadedDiscard = -1;
@@ -636,17 +642,18 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			mFileSize = 0;
 			mLoaded = FALSE;
 			setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it
-
-			CacheReadResponder* responder = new CacheReadResponder(mFetcher, mID, mFormattedImage);
+			
 			if (mUrl.compare(0, 7, "file://") == 0)
 			{
 				// read file from local disk
 				std::string filename = mUrl.substr(7, std::string::npos);
+				CacheReadResponder* responder = new CacheReadResponder(mFetcher, mID, mFormattedImage);
 				mCacheReadHandle = mFetcher->mTextureCache->readFromCache(filename, mID, cache_priority,
 																		  offset, size, responder);
 			}
 			else if (mUrl.empty())
 			{
+				CacheReadResponder* responder = new CacheReadResponder(mFetcher, mID, mFormattedImage);
 				mCacheReadHandle = mFetcher->mTextureCache->readFromCache(mID, cache_priority,
 																		  offset, size, responder);
 			}
@@ -659,8 +666,6 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				}
 				setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 				mState = SEND_HTTP_REQ;
-				delete responder;
-				responder = NULL;
 			}
 		}
 
@@ -694,6 +699,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			llassert_always(mFormattedImage->getDataSize() > 0);
 			mLoadedDiscard = mDesiredDiscard;
 			mState = DECODE_IMAGE;
+			mWriteToCacheState = NOT_WRITE ;
 			LL_DEBUGS("Texture") << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize()
 								 << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight())
 								 << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
@@ -735,6 +741,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				if (!http_url.empty())
 				{
 					mUrl = http_url + "/?texture_id=" + mID.asString().c_str();
+					mWriteToCacheState = CAN_WRITE ; //because this texture has a fixed texture id.
 				}
 			}
 			else
@@ -747,12 +754,17 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		{
 			mState = LLTextureFetchWorker::SEND_HTTP_REQ;
 			setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
+			if(mWriteToCacheState != NOT_WRITE)
+			{
+				mWriteToCacheState = CAN_WRITE ;
+			}
 			// don't return, fall through to next state
 		}
 		else if (mSentRequest == UNSENT)
 		{
 			// Add this to the network queue and sit here.
 			// LLTextureFetch::update() will send off a request which will change our state
+			mWriteToCacheState = CAN_WRITE ;
 			mRequestedSize = mDesiredSize;
 			mRequestedDiscard = mDesiredDiscard;
 			mSentRequest = QUEUED;
@@ -789,6 +801,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			}
 			setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 			mState = DECODE_IMAGE;
+			mWriteToCacheState = SHOULD_WRITE ;
 		}
 		else
 		{
@@ -850,7 +863,6 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				mState = WAIT_HTTP_REQ;	
 
 				mFetcher->addToHTTPQueue(mID);
-				mSentRequest = QUEUED;
 				// Will call callbackHttpGet when curl request completes
 				std::vector<std::string> headers;
 				headers.push_back("Accept: image/x-j2c");
@@ -933,15 +945,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			}
 			
 			llassert_always(mBufferSize == cur_size + mRequestedSize);
-			if (mHaveAllData)
+			if (mHaveAllData && mRequestedDiscard == 0) //the image file is fully loaded.
 			{
 				mFileSize = mBufferSize;
 			}
-			else //the file size is unknown
+			else //the file size is unknown.
 			{
-				mFileSize = S32_MAX ; //flag the file is not fully loaded.
+				mFileSize = mBufferSize + 1 ; //flag the file is not fully loaded.
 			}
-
+			
 			U8* buffer = new U8[mBufferSize];
 			if (cur_size > 0)
 			{
@@ -956,6 +968,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			mBufferSize = 0;
 			mLoadedDiscard = mRequestedDiscard;
 			mState = DECODE_IMAGE;
+			if(mWriteToCacheState != NOT_WRITE)
+			{
+				mWriteToCacheState = SHOULD_WRITE ;
+			}
 			setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 			return false;
 		}
@@ -1055,7 +1071,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 
 	if (mState == WRITE_TO_CACHE)
 	{
-		if (mInLocalCache || mSentRequest == UNSENT || mFormattedImage.isNull())
+		if (mWriteToCacheState != SHOULD_WRITE || mFormattedImage.isNull())
 		{
 			// If we're in a local cache or we didn't actually receive any new data,
 			// or we failed to load anything, skip
@@ -1063,6 +1079,17 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			return false;
 		}
 		S32 datasize = mFormattedImage->getDataSize();
+		if(mFileSize < datasize)//This could happen when http fetching and sim fetching mixed.
+		{
+			if(mHaveAllData)
+			{
+				mFileSize = datasize ;
+			}
+			else
+			{
+				mFileSize = datasize + 1 ; //flag not fully loaded.
+			}
+		}
 		llassert_always(datasize);
 		setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it
 		U32 cache_priority = mWorkPriority;
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 33fb3d0f0f1c7cf472383124e616e5abc2d604a9..a8004f26eddda11c66c84992da011963083147a5 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -487,12 +487,6 @@ bool toggle_show_favorites_panel(const LLSD& newvalue)
 	return true;
 }
 
-bool toggle_show_appearance_editor(const LLSD& newvalue)
-{
-	LLPanelOutfitsInventory::sShowDebugEditor = newvalue.asBoolean();
-	return true;
-}
-
 bool toggle_show_object_render_cost(const LLSD& newvalue)
 {
 	LLFloaterTools::sShowObjectCost = newvalue.asBoolean();
@@ -644,7 +638,6 @@ void settings_setup_listeners()
 	gSavedSettings.getControl("ShowSnapshotButton")->getSignal()->connect(boost::bind(&toggle_show_snapshot_button, _2));
 	gSavedSettings.getControl("ShowNavbarNavigationPanel")->getSignal()->connect(boost::bind(&toggle_show_navigation_panel, _2));
 	gSavedSettings.getControl("ShowNavbarFavoritesPanel")->getSignal()->connect(boost::bind(&toggle_show_favorites_panel, _2));
-	gSavedSettings.getControl("ShowDebugAppearanceEditor")->getSignal()->connect(boost::bind(&toggle_show_appearance_editor, _2));
 	gSavedSettings.getControl("ShowObjectRenderingCost")->getSignal()->connect(boost::bind(&toggle_show_object_render_cost, _2));
 	gSavedSettings.getControl("ForceShowGrid")->getSignal()->connect(boost::bind(&handleForceShowGrid, _2));
 }
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index ede5950ecc77b5449c3d44d0c9df836e8b362150..235faba15aa2cd850360d012844a9c8a80068f22 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -169,7 +169,6 @@ void display_startup()
 void display_update_camera()
 {
 	LLMemType mt_uc(LLMemType::MTYPE_DISPLAY_UPDATE_CAMERA);
-	llpushcallstacks ;
 	// TODO: cut draw distance down if customizing avatar?
 	// TODO: cut draw distance on per-parcel basis?
 
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 3c0345df90e2f80010f9b68b02d70e9279afae31..1f6687bd83216c21de6c5a388fa4f355e3788874 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -33,6 +33,7 @@
 #include "llviewerprecompiledheaders.h"
 
 #include "llagent.h"
+#include "llagentcamera.h"
 #include "llviewermedia.h"
 #include "llviewermediafocus.h"
 #include "llmimetypes.h"
@@ -732,10 +733,17 @@ static bool proximity_comparitor(const LLViewerMediaImpl* i1, const LLViewerMedi
 	}
 }
 
+static LLFastTimer::DeclareTimer FTM_MEDIA_UPDATE("Update Media");
+
 //////////////////////////////////////////////////////////////////////////////////////////
 // static
 void LLViewerMedia::updateMedia(void *dummy_arg)
 {
+	LLFastTimer t1(FTM_MEDIA_UPDATE);
+	
+	// Enable/disable the plugin read thread
+	LLPluginProcessParent::setUseReadThread(gSavedSettings.getBOOL("PluginUseReadThread"));
+	
 	sAnyMediaShowing = false;
 	sUpdatedCookies = getCookieStore()->getChangedCookies();
 	if(!sUpdatedCookies.empty())
@@ -1578,6 +1586,7 @@ void LLViewerMediaImpl::destroyMediaSource()
 	
 	if(mMediaSource)
 	{
+		mMediaSource->setDeleteOK(true) ;
 		delete mMediaSource;
 		mMediaSource = NULL;
 	}	
@@ -1729,7 +1738,7 @@ bool LLViewerMediaImpl::initializePlugin(const std::string& media_type)
 		}
 				
 		mMediaSource = media_source;
-
+		mMediaSource->setDeleteOK(false) ;
 		updateVolume();
 
 		return true;
@@ -1914,7 +1923,28 @@ void LLViewerMediaImpl::updateVolume()
 {
 	if(mMediaSource)
 	{
-		mMediaSource->setVolume(mRequestedVolume * LLViewerMedia::getVolume());
+		// always scale the volume by the global media volume 
+		F32 volume = mRequestedVolume * LLViewerMedia::getVolume();
+
+		if (mProximityCamera > 0) 
+		{
+			if (mProximityCamera > gSavedSettings.getF32("MediaRollOffMax"))
+			{
+				volume = 0;
+			}
+			else if (mProximityCamera > gSavedSettings.getF32("MediaRollOffMin"))
+			{
+				// attenuated_volume = v / ( 1 + (roll_off_rate * (d - min))^2
+				// the +1 is there so that for distance 0 the volume stays the same
+				F64 adjusted_distance = mProximityCamera - gSavedSettings.getF32("MediaRollOffMin");
+				F64 attenuation = gSavedSettings.getF32("MediaRollOffRate") * adjusted_distance;
+				attenuation = attenuation * attenuation;
+				// the attenuation multiplier should never be more than one since that would increase volume
+				volume = volume * llmin(1.0, 1 /(attenuation + 1));
+			}
+		}
+
+		mMediaSource->setVolume(volume);
 	}
 }
 
@@ -2427,6 +2457,8 @@ void LLViewerMediaImpl::update()
 	}
 	else
 	{
+		updateVolume();
+
 		// If we didn't just create the impl, it may need to get cookie updates.
 		if(!sUpdatedCookies.empty())
 		{
@@ -2999,6 +3031,9 @@ void LLViewerMediaImpl::calculateInterest()
 		LLVector3d agent_global = gAgent.getPositionGlobal() ;
 		LLVector3d global_delta = agent_global - obj_global ;
 		mProximityDistance = global_delta.magVecSquared();  // use distance-squared because it's cheaper and sorts the same.
+
+		LLVector3d camera_delta = gAgentCamera.getCameraPositionGlobal() - obj_global;
+		mProximityCamera = camera_delta.magVec();
 	}
 	
 	if(mNeedsMuteCheck)
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index e829d7a5b47bb9f15e07d9bee4198f4d5c126d79..8626f4469e332fcda197cc801bf55db2d68960f0 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -431,6 +431,7 @@ class LLViewerMediaImpl
 	bool mIsParcelMedia;
 	S32 mProximity;
 	F64 mProximityDistance;
+	F64 mProximityCamera;
 	LLMimeDiscoveryResponder *mMimeTypeProbe;
 	bool mMediaAutoPlay;
 	std::string mMediaEntryURL;
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 78be6bdfd0479c8d96870a4aafeaf35a98c2d9ca..8e82725bb7ddeefe8cdc96bf294339d117490f0a 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1091,7 +1091,7 @@ void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name)
 
 		////////////////////////////////////////////////////////////////////////////////
 		// Special handling for various types.
-		const LLAssetType::EType asset_type = item->getType();
+		const LLAssetType::EType asset_type = item->getActualType();
 		if (check_offer_throttle(from_name, false)) // If we are throttled, don't display
 		{
 			LL_DEBUGS("Messaging") << "Highlighting inventory item: " << item->getUUID()  << LL_ENDL;
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 298ce3fcece2a8cd0a59a49d9112a9e416460d87..542ec16547bf245aa80ad4cfbf9ff56029e90046 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -5143,9 +5143,6 @@ LLVoiceClient::participantState *LLVoiceClient::sessionState::addParticipant(con
 			{
 				result->mAvatarIDValid = true;
 				result->mAvatarID = id;
-
-				if(result->updateMuteState())
-					mMuteDirty = true;
 			}
 			else
 			{
@@ -5154,7 +5151,12 @@ LLVoiceClient::participantState *LLVoiceClient::sessionState::addParticipant(con
 				setUUIDFromStringHash(result->mAvatarID, uri);
 			}
 		}
-		
+
+		if(result->updateMuteState())
+		{
+			mMuteDirty = true;
+		}
+
 		mParticipantsByUUID.insert(participantUUIDMap::value_type(&(result->mAvatarID), result));
 
 		if (LLSpeakerVolumeStorage::getInstance()->getSpeakerVolume(result->mAvatarID, result->mVolume))
@@ -5173,15 +5175,12 @@ bool LLVoiceClient::participantState::updateMuteState()
 {
 	bool result = false;
 	
-	if(mAvatarIDValid)
+	bool isMuted = LLMuteList::getInstance()->isMuted(mAvatarID, LLMute::flagVoiceChat);
+	if(mOnMuteList != isMuted)
 	{
-		bool isMuted = LLMuteList::getInstance()->isMuted(mAvatarID, LLMute::flagVoiceChat);
-		if(mOnMuteList != isMuted)
-		{
-			mOnMuteList = isMuted;
-			mVolumeDirty = true;
-			result = true;
-		}
+		mOnMuteList = isMuted;
+		mVolumeDirty = true;
+		result = true;
 	}
 	return result;
 }
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp
index 3d110dcc786c9b456a049d6c7243f4a1b84a646a..bd5d8d9357f6cc49bc294e5f5d6b2dd7593fa09d 100644
--- a/indra/newview/llwearableitemslist.cpp
+++ b/indra/newview/llwearableitemslist.cpp
@@ -33,8 +33,11 @@
 
 #include "llwearableitemslist.h"
 
+#include "lliconctrl.h"
+
 #include "llinventoryfunctions.h"
 #include "llinventorymodel.h"
+#include "lltransutil.h"
 
 class LLFindOutfitItems : public LLInventoryCollectFunctor
 {
@@ -60,6 +63,204 @@ bool LLFindOutfitItems::operator()(LLInventoryCategory* cat,
 	return FALSE;
 }
 
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
+void LLPanelWearableListItem::onMouseEnter(S32 x, S32 y, MASK mask)
+{
+	LLPanelInventoryListItemBase::onMouseEnter(x, y, mask);
+	setWidgetsVisible(true);
+	reshapeWidgets();
+}
+
+void LLPanelWearableListItem::onMouseLeave(S32 x, S32 y, MASK mask)
+{
+	LLPanelInventoryListItemBase::onMouseLeave(x, y, mask);
+	setWidgetsVisible(false);
+	reshapeWidgets();
+}
+
+LLPanelWearableListItem::LLPanelWearableListItem(LLViewerInventoryItem* item)
+: LLPanelInventoryListItemBase(item)
+{
+}
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
+// static
+LLPanelClothingListItem* LLPanelClothingListItem::create(LLViewerInventoryItem* item)
+{
+	LLPanelClothingListItem* list_item = NULL;
+	if(item)
+	{
+		list_item = new LLPanelClothingListItem(item);
+		list_item->init();
+	}
+	return list_item;
+}
+
+LLPanelClothingListItem::LLPanelClothingListItem(LLViewerInventoryItem* item)
+ : LLPanelWearableListItem(item)
+{
+}
+
+LLPanelClothingListItem::~LLPanelClothingListItem()
+{
+}
+
+void LLPanelClothingListItem::init()
+{
+	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_clothing_list_item.xml");
+}
+
+BOOL LLPanelClothingListItem::postBuild()
+{
+	LLPanelInventoryListItemBase::postBuild();
+
+	addWidgetToLeftSide("btn_delete");
+	addWidgetToRightSide("btn_move_up");
+	addWidgetToRightSide("btn_move_down");
+	addWidgetToRightSide("btn_lock");
+	addWidgetToRightSide("btn_edit");
+
+	LLButton* delete_btn = getChild<LLButton>("btn_delete");
+	// Reserve space for 'delete' button event if it is invisible.
+	setLeftWidgetsWidth(delete_btn->getRect().mRight);
+
+	setWidgetsVisible(false);
+	reshapeWidgets();
+
+	return TRUE;
+}
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
+// static
+LLPanelBodyPartsListItem* LLPanelBodyPartsListItem::create(LLViewerInventoryItem* item)
+{
+	LLPanelBodyPartsListItem* list_item = NULL;
+	if(item)
+	{
+		list_item = new LLPanelBodyPartsListItem(item);
+		list_item->init();
+	}
+	return list_item;
+}
+
+LLPanelBodyPartsListItem::LLPanelBodyPartsListItem(LLViewerInventoryItem* item)
+: LLPanelWearableListItem(item)
+{
+}
+
+LLPanelBodyPartsListItem::~LLPanelBodyPartsListItem()
+{
+}
+
+void LLPanelBodyPartsListItem::init()
+{
+	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_body_parts_list_item.xml");
+}
+
+BOOL LLPanelBodyPartsListItem::postBuild()
+{
+	LLPanelInventoryListItemBase::postBuild();
+
+	addWidgetToRightSide("btn_lock");
+	addWidgetToRightSide("btn_edit");
+
+	return TRUE;
+}
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
+LLPanelDummyClothingListItem* LLPanelDummyClothingListItem::create(EWearableType w_type)
+{
+	LLPanelDummyClothingListItem* list_item = new LLPanelDummyClothingListItem(w_type);
+	list_item->init();
+	return list_item;
+}
+
+void LLPanelDummyClothingListItem::updateItem()
+{
+	std::string title = wearableTypeToString(mWearableType);
+	setTitle(title, LLStringUtil::null);
+}
+
+BOOL LLPanelDummyClothingListItem::postBuild()
+{
+	LLIconCtrl* icon = getChild<LLIconCtrl>("item_icon");
+	setIconCtrl(icon);
+	setTitleCtrl(getChild<LLTextBox>("item_name"));
+
+	addWidgetToRightSide("btn_add");
+
+	setIconImage(get_item_icon(LLAssetType::AT_CLOTHING, LLInventoryType::IT_NONE, mWearableType, FALSE));
+	updateItem();
+
+	// Make it look loke clothing item - reserve space for 'delete' button
+	setLeftWidgetsWidth(icon->getRect().mLeft);
+
+	setWidgetsVisible(false);
+	reshapeWidgets();
+
+	return TRUE;
+}
+
+LLPanelDummyClothingListItem::LLPanelDummyClothingListItem(EWearableType w_type)
+ : LLPanelWearableListItem(NULL)
+ , mWearableType(w_type)
+{
+}
+
+void LLPanelDummyClothingListItem::init()
+{
+	LLUICtrlFactory::getInstance()->buildPanel(this, "panel_dummy_clothing_list_item.xml");
+}
+
+typedef std::map<EWearableType, std::string> clothing_to_string_map_t;
+
+clothing_to_string_map_t init_clothing_string_map()
+{
+	clothing_to_string_map_t w_map;
+	w_map.insert(std::make_pair(WT_SHIRT, "shirt_not_worn"));
+	w_map.insert(std::make_pair(WT_PANTS, "pants_not_worn"));
+	w_map.insert(std::make_pair(WT_SHOES, "shoes_not_worn"));
+	w_map.insert(std::make_pair(WT_SOCKS, "socks_not_worn"));
+	w_map.insert(std::make_pair(WT_JACKET, "jacket_not_worn"));
+	w_map.insert(std::make_pair(WT_GLOVES, "gloves_not_worn"));
+	w_map.insert(std::make_pair(WT_UNDERSHIRT, "undershirt_not_worn"));
+	w_map.insert(std::make_pair(WT_UNDERPANTS, "underpants_not_worn"));
+	w_map.insert(std::make_pair(WT_SKIRT, "skirt_not_worn"));
+	w_map.insert(std::make_pair(WT_ALPHA, "alpha_not_worn"));
+	w_map.insert(std::make_pair(WT_TATTOO, "tattoo_not_worn"));
+	return w_map;
+}
+
+std::string LLPanelDummyClothingListItem::wearableTypeToString(EWearableType w_type)
+{
+	static const clothing_to_string_map_t w_map = init_clothing_string_map();
+	static const std::string invalid_str = LLTrans::getString("invalid_not_worn");
+	
+	std::string type_str = invalid_str;
+	clothing_to_string_map_t::const_iterator it = w_map.find(w_type);
+	if(w_map.end() != it)
+	{
+		type_str = LLTrans::getString(it->second);
+	}
+	return type_str;
+}
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
 static const LLDefaultChildRegistry::Register<LLWearableItemsList> r("wearable_items_list");
 
 LLWearableItemsList::Params::Params()
@@ -89,3 +290,5 @@ void LLWearableItemsList::updateList(const LLUUID& category_id)
 
 	refreshList(item_array);
 }
+
+// EOF
diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h
index e7ccba8e6c151b1ee64f8adebcfce0fe94341b2a..29532a15c1b4f8ba2ab8b09725e5b0d3bb859cd0 100644
--- a/indra/newview/llwearableitemslist.h
+++ b/indra/newview/llwearableitemslist.h
@@ -36,6 +36,117 @@
 
 // newview
 #include "llinventoryitemslist.h"
+#include "llinventorymodel.h"
+#include "llwearabledictionary.h"
+
+/**
+ * @class LLPanelWearableListItem
+ *
+ * Extends LLPanelInventoryListItemBase:
+ * - makes side widgets show on mouse_enter and hide on 
+ *   mouse_leave events.
+ * - provides callback for button clicks
+ */
+class LLPanelWearableListItem : public LLPanelInventoryListItemBase
+{
+	LOG_CLASS(LLPanelWearableListItem);
+public:
+
+	/**
+	* Shows buttons when mouse is over
+	*/
+	/*virtual*/ void onMouseEnter(S32 x, S32 y, MASK mask);
+
+	/**
+	* Hides buttons when mouse is out
+	*/
+	/*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask);
+
+protected:
+
+	LLPanelWearableListItem(LLViewerInventoryItem* item);
+};
+
+/**
+ * @class LLPanelClothingListItem
+ *
+ * Provides buttons for editing, moving, deleting a wearable.
+ */
+class LLPanelClothingListItem : public LLPanelWearableListItem
+{
+	LOG_CLASS(LLPanelClothingListItem);
+public:
+
+	static LLPanelClothingListItem* create(LLViewerInventoryItem* item);
+
+	virtual ~LLPanelClothingListItem();
+
+	/*virtual*/ BOOL postBuild();
+
+	/**
+	 * Make button visible during mouse over event.
+	 */
+	inline void setShowDeleteButton(bool show) { setShowWidget("btn_delete", show); }
+	inline void setShowMoveUpButton(bool show) { setShowWidget("btn_move_up", show); }
+
+	inline void setShowMoveDownButton(bool show) { setShowWidget("btn_move_down", show); }
+	inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); }
+	inline void setShowEditButton(bool show) { setShowWidget("btn_edit", show); }
+
+
+protected:
+
+	LLPanelClothingListItem(LLViewerInventoryItem* item);
+	
+	/*virtual*/ void init();
+};
+
+class LLPanelBodyPartsListItem : public LLPanelWearableListItem
+{
+	LOG_CLASS(LLPanelBodyPartsListItem);
+public:
+
+	static LLPanelBodyPartsListItem* create(LLViewerInventoryItem* item);
+
+	virtual ~LLPanelBodyPartsListItem();
+
+	/*virtual*/ BOOL postBuild();
+
+	/**
+	* Make button visible during mouse over event.
+	*/
+	inline void setShowLockButton(bool show) { setShowWidget("btn_lock", show); }
+	inline void setShowEditButton(bool show) { setShowWidget("btn_edit", show); }
+
+protected:
+	LLPanelBodyPartsListItem(LLViewerInventoryItem* item);
+
+	/*virtual*/ void init();
+};
+
+/**
+ * @class LLPanelDummyClothingListItem
+ *
+ * A dummy item panel - displays grayed clothing icon, grayed title '<clothing> not worn' and 'add' button
+ */
+class LLPanelDummyClothingListItem : public LLPanelWearableListItem
+{
+public:
+	static LLPanelDummyClothingListItem* create(EWearableType w_type);
+
+	/*virtual*/ void updateItem();
+	/*virtual*/ BOOL postBuild();
+
+protected:
+	LLPanelDummyClothingListItem(EWearableType w_type);
+
+	/*virtual*/ void init();
+
+	static std::string wearableTypeToString(EWearableType w_type);
+
+private:
+	EWearableType mWearableType;
+};
 
 /**
  * @class LLWearableItemsList
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index e35c1a1c9cbc714b5507d3a87b8103391ea2f567..7c618162a4dcd40c47b43ba251339e0a150f1745 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -2223,7 +2223,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
 	//LLVertexBuffer::unbind();
 
 	grabReferences(result);
-
+	llpushcallstacks ;
 	for (LLCullResult::sg_list_t::iterator iter = sCull->beginDrawableGroups(); iter != sCull->endDrawableGroups(); ++iter)
 	{
 		LLSpatialGroup* group = *iter;
@@ -2241,7 +2241,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
 			}
 		}
 	}
-
+	llpushcallstacks ;
 	for (LLCullResult::sg_list_t::iterator iter = sCull->beginVisibleGroups(); iter != sCull->endVisibleGroups(); ++iter)
 	{
 		LLSpatialGroup* group = *iter;
@@ -2257,7 +2257,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
 		}
 	}
 	
-
+	llpushcallstacks ;
 	if (LLViewerCamera::sCurCameraID == LLViewerCamera::CAMERA_WORLD)
 	{
 		for (LLCullResult::bridge_list_t::iterator i = sCull->beginVisibleBridge(); i != sCull->endVisibleBridge(); ++i)
@@ -2271,7 +2271,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
 			}
 		}
 	}
-
+	llpushcallstacks ;
 	{
 		LLFastTimer ftm(FTM_STATESORT_DRAWABLE);
 		for (LLCullResult::drawable_list_t::iterator iter = sCull->beginVisibleList();
@@ -2291,6 +2291,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
 	}
 
 	postSort(camera);
+	llpushcallstacks ;
 }
 
 void LLPipeline::stateSort(LLSpatialGroup* group, LLCamera& camera)
@@ -2985,7 +2986,6 @@ U32 LLPipeline::sCurRenderPoolType = 0 ;
 
 void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
 {
-	llpushcallstacks ;
 	LLMemType mt(LLMemType::MTYPE_PIPELINE_RENDER_GEOM);
 	LLFastTimer t(FTM_RENDER_GEOMETRY);
 
@@ -7189,8 +7189,7 @@ inline float sgn(float a)
 }
 
 void LLPipeline::generateWaterReflection(LLCamera& camera_in)
-{
-	llpushcallstacks ;
+{	
 	if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate)
 	{
 		BOOL skip_avatar_update = FALSE;
@@ -7199,6 +7198,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 			skip_avatar_update = TRUE;
 		}
 
+		llpushcallstacks ;
 		if (!skip_avatar_update)
 		{
 			gAgentAvatarp->updateAttachmentVisibility(CAMERA_MODE_THIRD_PERSON);
@@ -7286,7 +7286,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 
 			glCullFace(GL_FRONT);
 
-			
 			static LLCullResult ref_result;
 			U32 ref_mask = 0;
 			if (LLDrawPoolWater::sNeedsDistortionUpdate)
@@ -7298,6 +7297,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 										(1 << LLPipeline::RENDER_TYPE_WL_SKY));
 					static LLCullResult result;
 					updateCull(camera, result);
+					llpushcallstacks ;
 					stateSort(camera, result);
 					mRenderTypeMask = tmp & ((1 << LLPipeline::RENDER_TYPE_SKY) |
 										(1 << LLPipeline::RENDER_TYPE_CLOUDS) |
@@ -7331,13 +7331,13 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 					LLGLUserClipPlane clip_plane(plane, mat, projection);
 					LLGLDisable cull(GL_CULL_FACE);
 					updateCull(camera, ref_result, 1);
+					llpushcallstacks ;
 					stateSort(camera, ref_result);
 				}
 				
 				ref_mask = mRenderTypeMask;
 				mRenderTypeMask = mask;
 			}
-
 			if (LLDrawPoolWater::sNeedsDistortionUpdate)
 			{
 				mRenderTypeMask = ref_mask;
@@ -7355,7 +7355,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 		}
 
 		camera.setOrigin(camera_in.getOrigin());
-
 		//render distortion map
 		static BOOL last_update = TRUE;
 		if (last_update)
@@ -7389,6 +7388,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 				LLGLUserClipPlane clip_plane(LLPlane(-pnorm, -(pd+pad)), mat, projection);
 				static LLCullResult result;
 				updateCull(camera, result, water_clip);
+				llpushcallstacks ;
 				stateSort(camera, result);
 
 				gGL.setColorMask(true, true);
@@ -7412,7 +7412,6 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 			glClear(GL_DEPTH_BUFFER_BIT);
 		}
 		glClearColor(0.f, 0.f, 0.f, 0.f);
-
 		gViewerWindow->setup3DViewport();
 		mRenderTypeMask = type_mask;
 		LLDrawPoolWater::sNeedsReflectionUpdate = FALSE;
@@ -7428,6 +7427,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
 		{
 			gAgentAvatarp->updateAttachmentVisibility(gAgentCamera.getCameraMode());
 		}
+		llpushcallstacks ;
 	}
 }
 
@@ -7982,7 +7982,6 @@ void LLPipeline::renderHighlight(const LLViewerObject* obj, F32 fade)
 void LLPipeline::generateHighlight(LLCamera& camera)
 {
 	//render highlighted object as white into offscreen render target
-	llpushcallstacks ;
 	if (mHighlightObject.notNull())
 	{
 		mHighlightSet.insert(HighlightItem(mHighlightObject));
diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc
index 12a09392f6eae4435982fb9471e5a030ddfd3de4..731953f9bbdf3912a51a595f7d979c134ee2707e 100644
--- a/indra/newview/res/viewerRes.rc
+++ b/indra/newview/res/viewerRes.rc
@@ -129,8 +129,8 @@ TOOLSIT                 CURSOR                  "toolsit.cur"
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,0,0,203110
- PRODUCTVERSION 2,0,0,203110
+ FILEVERSION 2,0,2,0
+ PRODUCTVERSION 2,0,2,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -147,12 +147,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "Linden Lab"
             VALUE "FileDescription", "Second Life"
-            VALUE "FileVersion", "2.0.0.203110"
+            VALUE "FileVersion", "2.0.2.0"
             VALUE "InternalName", "Second Life"
             VALUE "LegalCopyright", "Copyright © 2001-2008, Linden Research, Inc."
             VALUE "OriginalFilename", "SecondLife.exe"
             VALUE "ProductName", "Second Life"
-            VALUE "ProductVersion", "2.0.0.203110"
+            VALUE "ProductVersion", "2.0.2.0"
         END
     END
     BLOCK "VarFileInfo"
diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml
index c19f98516d449936b5a9629e4713d67e16308c8f..89f9f87043f06ba7f164714472ca4517e408995d 100644
--- a/indra/newview/skins/default/xui/de/floater_about.xml
+++ b/indra/newview/skins/default/xui/de/floater_about.xml
@@ -43,13 +43,14 @@ Vivox-Version: [VIVOX_VERSION]
 		</panel>
 		<panel label="Danksagung" name="credits_panel">
 			<text_editor name="credits_editor">
-				Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl und vielen anderen.
+				Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain und vielen anderen.
 
-Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
+Wir bedanken uns bei folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan und vielen anderen.
 
 
 
-Um im Geschäftsleben erfolreich zu sein, sei kühn, sei schnell, sei anders. --Henry Marchant
+
+„Die Arbeit beginnt aufs Neue, die Hoffnung lebt weiter, und der Traum wird niemals sterben.“ - Edward Kennedy
 			</text_editor>
 		</panel>
 		<panel label="Lizenzen" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/de/floater_animation_preview.xml b/indra/newview/skins/default/xui/de/floater_animation_preview.xml
index 0d55ea7413491629f50898bb677acecee3704646..82a4a51d0777f2e562b3e48406d72610fc1add69 100644
--- a/indra/newview/skins/default/xui/de/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/de/floater_animation_preview.xml
@@ -142,35 +142,35 @@ Maximal erlaubt sind [MAX_LENGTH] Sekunden.
 		Ausdruck
 	</text>
 	<combo_box label="" name="emote_combo" tool_tip="Steuert Gesichtsregungen während der Animation">
-		<combo_box.item label="(Keiner)" name="[None]"/>
-		<combo_box.item label="Aaaaah" name="Aaaaah"/>
-		<combo_box.item label="Ängstlich" name="Afraid"/>
-		<combo_box.item label="Verärgert" name="Angry"/>
-		<combo_box.item label="Grinst" name="BigSmile"/>
-		<combo_box.item label="Gelangweilt" name="Bored"/>
-		<combo_box.item label="Weinen" name="Cry"/>
-		<combo_box.item label="Verachten" name="Disdain"/>
-		<combo_box.item label="Verlegen" name="Embarrassed"/>
-		<combo_box.item label="Stirnrunzeln" name="Frown"/>
-		<combo_box.item label="Küssen" name="Kiss"/>
-		<combo_box.item label="Lachen" name="Laugh"/>
-		<combo_box.item label="Bäääh" name="Plllppt"/>
-		<combo_box.item label="Angewidert" name="Repulsed"/>
-		<combo_box.item label="Traurig" name="Sad"/>
-		<combo_box.item label="Schulterzucken" name="Shrug"/>
-		<combo_box.item label="Lächeln" name="Smile"/>
-		<combo_box.item label="Ãœberraschung" name="Surprise"/>
-		<combo_box.item label="Zwinkern" name="Wink"/>
-		<combo_box.item label="Sorgenvoll" name="Worry"/>
+		<item label="(Keiner)" name="[None]" value=""/>
+		<item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+		<item label="Ängstlich" name="Afraid" value="Ängstlich"/>
+		<item label="Verärgert" name="Angry" value="Verärgert"/>
+		<item label="Grinst" name="BigSmile" value="Grinsend"/>
+		<item label="Gelangweilt" name="Bored" value="Gelangweilt"/>
+		<item label="Weinen" name="Cry" value="Weinen"/>
+		<item label="Verachten" name="Disdain" value="Verachten"/>
+		<item label="Verlegen" name="Embarrassed" value="Verlegen"/>
+		<item label="Stirnrunzeln" name="Frown" value="Stirnrunzeln"/>
+		<item label="Küssen" name="Kiss" value="Küssen"/>
+		<item label="Lachen" name="Laugh" value="Lachen"/>
+		<item label="Bäääh" name="Plllppt" value="Bäääh"/>
+		<item label="Angewidert" name="Repulsed" value="Angewidert"/>
+		<item label="Traurig" name="Sad" value="Traurig"/>
+		<item label="Schulterzucken" name="Shrug" value="Schulterzucken"/>
+		<item label="Lächeln" name="Smile" value="Lächeln"/>
+		<item label="Ãœberraschung" name="Surprise" value="Ãœberraschung"/>
+		<item label="Zwinkern" name="Wink" value="Zwinkern"/>
+		<item label="Sorgenvoll" name="Worry" value="Sorgenvoll"/>
 	</combo_box>
 	<text name="preview_label" width="97">
 		Vorschau während:
 	</text>
 	<combo_box label="" left_delta="107" name="preview_base_anim" tool_tip="Hiermit können Sie das Verhalten Ihres Avatars testen, während Ihr Avatar normale Bewegungen ausführt.">
-		<combo_box.item label="Stehend" name="Standing"/>
-		<combo_box.item label="Geht" name="Walking"/>
-		<combo_box.item label="Sitzt" name="Sitting"/>
-		<combo_box.item label="Fliegen" name="Flying"/>
+		<item label="Stehend" name="Standing" value="Stehend"/>
+		<item label="Geht" name="Walking" value="Gehend"/>
+		<item label="Sitzt" name="Sitting" value="Sitzend"/>
+		<item label="Fliegen" name="Flying" value="Fliegen"/>
 	</combo_box>
 	<spinner label="Eingang glätten (s)" label_width="105" name="ease_in_time" tool_tip="Einblendungsgeschwindigkeit von Animationen (in Sekunden)" width="175"/>
 	<spinner bottom_delta="-20" label="Ausgang glätten (s)" label_width="105" left="10" name="ease_out_time" tool_tip="Ausblendegeschwindigkeit von Animationen (in Sekunden)" width="175"/>
diff --git a/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml
index 837dfa9e8c2c3496dba5dc6ead9521ca18225959..8599737106c35b18b577a6bcb4f8201a0757c535 100644
--- a/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/de/floater_day_cycle_options.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="Day Cycle Floater" title="TAGESZYKLUS-EDITOR">
 	<tab_container name="Day Cycle Tabs">
 		<panel label="Tageszyklus" name="Day Cycle">
-			<button label=" ?" name="WLDayCycleHelp" />
+			<button label=" ?" name="WLDayCycleHelp"/>
 			<text name="WL12am">
 				24:00
 			</text>
@@ -57,40 +57,38 @@
 			<text name="WL12amHash2">
 				|
 			</text>
-			<button label="Key hinzu" label_selected="Key hinzu" name="WLAddKey" />
-			<button label="Key löschen" label_selected="Key löschen" name="WLDeleteKey" />
+			<button label="Key hinzu" label_selected="Key hinzu" name="WLAddKey"/>
+			<button label="Key löschen" label_selected="Key löschen" name="WLDeleteKey"/>
 			<text name="WLCurKeyFrameText">
 				Keyframe-Einstellungen:
 			</text>
 			<text name="WLCurKeyTimeText">
 				Key-Zeit:
 			</text>
-			<spinner label="Std." name="WLCurKeyHour" />
+			<spinner label="Std." name="WLCurKeyHour"/>
 			<spinner label="Min." name="WLCurKeyMin"/>
 			<text name="WLCurKeyTimeText2">
 				Key-Voreinstellung:
 			</text>
-			<combo_box label="Voreinstellung" name="WLKeyPresets" />
+			<combo_box label="Voreinstellung" name="WLKeyPresets"/>
 			<text name="DayCycleText">
 				Einrasten:
 			</text>
-			<combo_box label="5 min" name="WLSnapOptions" />
+			<combo_box label="5 min" name="WLSnapOptions"/>
 			<text name="DayCycleText2">
 				Zykluslänge:
 			</text>
-			<spinner label="Std." name="WLLengthOfDayHour" />
+			<spinner label="Std." name="WLLengthOfDayHour"/>
 			<spinner label="Min." name="WLLengthOfDayMin"/>
 			<spinner label="Sek." name="WLLengthOfDaySec"/>
 			<text name="DayCycleText3">
 				Vorschau:
 			</text>
-			<button label="Start" label_selected="Start" name="WLAnimSky" />
-			<button label="Stopp" label_selected="Stopp" name="WLStopAnimSky" />
-			<button label="Grundbesitzzeit verw" label_selected="Zur Grundbesitzzeit"
-			     name="WLUseLindenTime" />
-			<button label="Testtag speichern" label_selected="Testtag speichern"
-			     name="WLSaveDayCycle" />
-			<button label="Testtag laden" label_selected="Testtag laden" name="WLLoadDayCycle" />
+			<button label="Start" label_selected="Start" name="WLAnimSky"/>
+			<button label="Stopp" label_selected="Stopp" name="WLStopAnimSky"/>
+			<button label="Grundbesitzzeit verw" label_selected="Zur Grundbesitzzeit" name="WLUseLindenTime"/>
+			<button label="Testtag speichern" label_selected="Testtag speichern" name="WLSaveDayCycle"/>
+			<button label="Testtag laden" label_selected="Testtag laden" name="WLLoadDayCycle"/>
 		</panel>
 	</tab_container>
 </floater>
diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml
index 9708d7603f57ae27393fc4a528e648c5e828a7e6..8cb1af9f7d6e6fe228da2a55a76972f66f39c6fe 100644
--- a/indra/newview/skins/default/xui/de/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_god_tools.xml
@@ -2,12 +2,11 @@
 <floater name="godtools floater" title="GOTT-WERKZEUGE">
 	<tab_container name="GodTools Tabs">
 		<panel label="Raster" name="grid">
-			<button label="Alle Benutzer hinauswerfen" label_selected="Alle Benutzer hinauswerfen" name="Kick all users" width="175"/>
 			<button label="Sichtbarkeits-Cache dieser Regionskarte leeren" label_selected="Sichtbarkeits-Cache dieser Regionskarte leeren" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
 		</panel>
 		<panel label="Region" name="region">
-			<text name="Sim Name:" width="55">
-				Sim:
+			<text name="Region Name:">
+				Name der Region:
 			</text>
 			<check_box label="Startbereich Einleitung" name="check prelude" tool_tip="Diese Region zu einem Startbereich machen."/>
 			<check_box label="Sonne fest" name="check fixed sun" tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundbesitz“ &gt; „Terrain“."/>
@@ -35,8 +34,8 @@
 			<text name="Redirect to Grid: " width="110">
 				Auf Raster umleiten:
 			</text>
-			<line_editor left_delta="110" name="redirectx" width="35" left_pad="0"/>
-			<line_editor left_delta="45" name="redirecty" width="35" />
+			<line_editor left_delta="110" left_pad="0" name="redirectx" width="35"/>
+			<line_editor left_delta="45" name="redirecty" width="35"/>
 			<text font="SansSerifSmall" name="billable factor text">
 				Abrechnungsfaktor:
 			</text>
@@ -52,8 +51,8 @@
 			<panel.string name="no_target">
 				(kein Ziel)
 			</panel.string>
-			<text name="Sim Name:" width="55">
-				Sim-Name:
+			<text name="Region Name:">
+				Name der Region:
 			</text>
 			<text name="region name">
 				Welsh
diff --git a/indra/newview/skins/default/xui/de/floater_image_preview.xml b/indra/newview/skins/default/xui/de/floater_image_preview.xml
index fd675f88089ca7cd52b40e877b6fd4715bc72fd5..d581c6051b84d2770526fc1c8782e8c1badd8214 100644
--- a/indra/newview/skins/default/xui/de/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/de/floater_image_preview.xml
@@ -10,16 +10,16 @@
 		Bildvorschau als:
 	</text>
 	<combo_box label="Kleidungstyp" name="clothing_type_combo">
-		<combo_box.item label="Bild" name="Image"/>
-		<combo_box.item label="Haare" name="Hair"/>
-		<combo_box.item label="Kopf (Frau)" name="FemaleHead"/>
-		<combo_box.item label="Oberkörper (Frau)" name="FemaleUpperBody"/>
-		<combo_box.item label="Unterkörper (Frau)" name="FemaleLowerBody"/>
-		<combo_box.item label="Kopf (Mann)" name="MaleHead"/>
-		<combo_box.item label="Oberkörper (Mann)" name="MaleUpperBody"/>
-		<combo_box.item label="Unterkörper (Mann)" name="MaleLowerBody"/>
-		<combo_box.item label="Rock" name="Skirt"/>
-		<combo_box.item label="Geformtes Primitiv" name="SculptedPrim"/>
+		<item label="Bild" name="Image" value="Bild"/>
+		<item label="Haare" name="Hair" value="Haare"/>
+		<item label="Kopf (Frau)" name="FemaleHead" value="Kopf (Frau)"/>
+		<item label="Oberkörper (Frau)" name="FemaleUpperBody" value="Oberkörper (Frau)"/>
+		<item label="Unterkörper (Frau)" name="FemaleLowerBody" value="Unterkörper (Frau)"/>
+		<item label="Kopf (Mann)" name="MaleHead" value="Kopf (Mann)"/>
+		<item label="Oberkörper (Mann)" name="MaleUpperBody" value="Oberkörper (Mann)"/>
+		<item label="Unterkörper (Mann)" name="MaleLowerBody" value="Unterkörper (Mann)"/>
+		<item label="Rock" name="Skirt" value="Rock"/>
+		<item label="Geformtes Primitiv" name="SculptedPrim" value="Geformtes Primitiv"/>
 	</combo_box>
 	<text name="bad_image_text">
 		Bild kann nicht gelesen werden.
diff --git a/indra/newview/skins/default/xui/de/floater_outgoing_call.xml b/indra/newview/skins/default/xui/de/floater_outgoing_call.xml
index 5372b8387e0deefceaaf3f7edf979ded5cf66254..81079a3c52c0a1ff0fb67c1f733aadc17e199f00 100644
--- a/indra/newview/skins/default/xui/de/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/de/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		Die Verbindung zu [VOICE_CHANNEL_NAME] wurde abgebrochen.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] hat den Anruf beendet.  [RECONNECT_NEARBY]
+		Ihr Anfruf wurde beendet.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		Sie haben das Gespräch beendet.  [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml
index 9ee50c7c5c33b1461a51b6861e5d602b80dc99ce..4c417710bd0ca684902e5c12b1865595ecb08e9f 100644
--- a/indra/newview/skins/default/xui/de/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="FOTO-VORSCHAU">
-	<text name="type_label">
-		Zweck des Fotos
-	</text>
-	<radio_group label="Fototyp" name="snapshot_type_radio">
-		<radio_item label="Emailen" name="postcard"/>
-		<radio_item label="Mein Inventar ([AMOUNT] L$)" name="texture"/>
-		<radio_item label="Auf meinem Computer speichern" name="local"/>
-	</radio_group>
-	<text name="file_size_label">
-		[SIZE] KB
-	</text>
-	<button label="Foto aktualisieren" name="new_snapshot_btn"/>
-	<button label="Senden" name="send_btn"/>
-	<button label="Speichern ([AMOUNT] L$)" name="upload_btn"/>
-	<flyout_button label="Speichern" name="save_btn" tool_tip="Bild als Datei speichern">
-		<flyout_button_item label="Speichern" name="save_item"/>
-		<flyout_button_item label="Speichern unter..." name="saveas_item"/>
-	</flyout_button>
-	<button label="Abbrechen" name="discard_btn"/>
-	<button label="Mehr" name="more_btn" tool_tip="Erweiterte Optionen"/>
-	<button label="Weniger" name="less_btn" tool_tip="Erweiterte Optionen"/>
-	<text name="type_label2">
-		Größe
-	</text>
-	<text name="format_label">
-		Format
-	</text>
-	<combo_box label="Auflösung" name="postcard_size_combo">
-		<combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="Benutzerdefiniert" name="Custom"/>
-	</combo_box>
-	<combo_box label="Auflösung" name="texture_size_combo">
-		<combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
-		<combo_box.item label="Klein (128x128)" name="Small(128x128)"/>
-		<combo_box.item label="Mittel (256x256)" name="Medium(256x256)"/>
-		<combo_box.item label="Groß (512x512)" name="Large(512x512)"/>
-		<combo_box.item label="Benutzerdefiniert" name="Custom"/>
-	</combo_box>
-	<combo_box label="Auflösung" name="local_size_combo">
-		<combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
-		<combo_box.item label="320x240" name="320x240"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="1280x1024" name="1280x1024"/>
-		<combo_box.item label="1600x1200" name="1600x1200"/>
-		<combo_box.item label="Benutzerdefiniert" name="Custom"/>
-	</combo_box>
-	<combo_box label="Format" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="Breite" name="snapshot_width"/>
-	<spinner label="Höhe" name="snapshot_height"/>
-	<check_box label="Seitenverhältnis beibehalten" name="keep_aspect_check"/>
-	<slider label="Bildqualität" name="image_quality_slider"/>
-	<text name="layer_type_label" width="66">
-		Aufnehmen:
-	</text>
-	<combo_box label="Bildlayer" left="73" name="layer_types" width="132">
-		<combo_box.item label="Farben" name="Colors"/>
-		<combo_box.item label="Tiefe" name="Depth"/>
-		<combo_box.item label="Objektmasken" name="ObjectMattes"/>
-	</combo_box>
-	<check_box label="Oberfläche" name="ui_check"/>
-	<check_box label="HUDs" name="hud_check"/>
-	<check_box label="Nach dem Speichern offen lassen" name="keep_open_check"/>
-	<check_box label="Frame einfrieren (Vollbild)" name="freeze_frame_check"/>
-	<check_box label="Automatisch aktualisieren" name="auto_snapshot_check"/>
-	<string name="unknown">
+<floater name="Snapshot" title="Foto">
+	<floater.string name="unknown">
 		unbekannt
-	</string>
+	</floater.string>
+	<button label="Foto aktualisieren" name="new_snapshot_btn"/>
+	<line_editor label="Beschreibung" name="description"/>
+	<button label="Foto freigeben" name="share"/>
+	<button label="Ins Internet stellen" name="share_to_web"/>
+	<button label="Objekt in meinem Inventar speichern" name="save_to_inventory"/>
+	<button label="Foto speichern" name="save"/>
+	<button label="Foto per E-Mail senden" name="share_to_email"/>
+	<button label="Auf meinem Computer speichern" name="save_to_computer"/>
+	<button label="Als Profilbild festlegen" name="set_profile_pic"/>
+	<button label="Zurück" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/de/floater_tos.xml b/indra/newview/skins/default/xui/de/floater_tos.xml
index 27c15a0337b0df521d33f80dbc0138d46aa766b4..1f3ef2f0b46d71526829d37ea6253f99c3d50421 100644
--- a/indra/newview/skins/default/xui/de/floater_tos.xml
+++ b/indra/newview/skins/default/xui/de/floater_tos.xml
@@ -1,22 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title=" ">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="Weiter" label_selected="Weiter" name="Continue"/>
 	<button label="Abbrechen" label_selected="Abbrechen" name="Cancel"/>
-	<radio_group name="tos_agreement">
-		<radio_item label="Ich stimme den Servicebedingungen nicht zu" name="radio_disagree"/>
-		<radio_item label="Ich stimme den Servicebedingungen zu" name="radio_agree"/>
-	</radio_group>
-	<text name="tos_title">
-		Nutzungsvereinbarung
-	</text>
 	<check_box label="Ich stimme den Servicebedingungen und Datenschutzbestimmungen zu." name="agree_chk"/>
 	<text name="tos_heading">
 		Lesen Sie die folgenden Servicebedingungen und Datenbestimmungen sorgfältig durch. Sie müssen den Servicebedingungen zustimmen, um sich bei [SECOND_LIFE] anmelden zu können.
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<text name="real_url">
-		http://secondlife.com/app/tos/
-	</text>
 </floater>
diff --git a/indra/newview/skins/default/xui/de/menu_attachment_other.xml b/indra/newview/skins/default/xui/de/menu_attachment_other.xml
index d234443fae9b14acb5bef1425e3e6a4c3c4c643d..237c92f7d260355ae8fdc337074b358fe91bf132 100644
--- a/indra/newview/skins/default/xui/de/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/de/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Melden" name="abuse"/>
 	<menu_item_call label="Einfrieren" name="Freeze..."/>
 	<menu_item_call label="Hinauswerfen" name="Eject..."/>
-	<menu_item_call label="Debug" name="Debug..."/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
 	<menu_item_call label="Hineinzoomen" name="Zoom In"/>
 	<menu_item_call label="Bezahlen" name="Pay..."/>
 	<menu_item_call label="Objektprofil" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/de/menu_attachment_self.xml b/indra/newview/skins/default/xui/de/menu_attachment_self.xml
index bc33b9b93dfe01a5b3b7a20dab91ccce557352b3..3af69d2f31e7532b8a5b329d68affb02bcdb88b7 100644
--- a/indra/newview/skins/default/xui/de/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/de/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="Meine Freunde" name="Friends..."/>
 	<menu_item_call label="Meine Gruppen" name="Groups..."/>
 	<menu_item_call label="Mein Profil" name="Profile..."/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_avatar_other.xml b/indra/newview/skins/default/xui/de/menu_avatar_other.xml
index 05eade1d34dad0f204bd79226548ec407686068b..8aee0be3d2e1d8b6786cad226911dba60ff965c7 100644
--- a/indra/newview/skins/default/xui/de/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/de/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Melden" name="abuse"/>
 	<menu_item_call label="Einfrieren" name="Freeze..."/>
 	<menu_item_call label="Hinauswerfen" name="Eject..."/>
-	<menu_item_call label="Debug" name="Debug..."/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
 	<menu_item_call label="Hineinzoomen" name="Zoom In"/>
 	<menu_item_call label="Bezahlen" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_avatar_self.xml b/indra/newview/skins/default/xui/de/menu_avatar_self.xml
index 3a116b84a245dc92b155625d99a8f840f458e08b..d310d10ea5d09d70a2268196db6924fe1261031b 100644
--- a/indra/newview/skins/default/xui/de/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/de/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="Meine Freunde" name="Friends..."/>
 	<menu_item_call label="Meine Gruppen" name="Groups..."/>
 	<menu_item_call label="Mein Profil" name="Profile..."/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_edit.xml b/indra/newview/skins/default/xui/de/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..37f68d68d500f4d27b2b48a851121b2ff45dfbe4
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Bearbeiten" name="Edit">
+	<menu_item_call label="Rückgängig" name="Undo"/>
+	<menu_item_call label="Wiederherstellen" name="Redo"/>
+	<menu_item_call label="Ausschneiden" name="Cut"/>
+	<menu_item_call label="Kopieren" name="Copy"/>
+	<menu_item_call label="Einfügen" name="Paste"/>
+	<menu_item_call label="Löschen" name="Delete"/>
+	<menu_item_call label="Duplizieren" name="Duplicate"/>
+	<menu_item_call label="Alle auswählen" name="Select All"/>
+	<menu_item_call label="Auswahl aufheben" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml
index 6f003dc9a50929debc5305bfaa16acd030f1d878..edad34a1d5a627375e17d7a9e46a71bec0d499c1 100644
--- a/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="Melden" name="report"/>
 	<menu_item_call label="Einfrieren" name="freeze"/>
 	<menu_item_call label="Hinauswerfen" name="eject"/>
-	<menu_item_call label="Debug" name="debug"/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="debug"/>
 	<menu_item_call label="Auf Karte anzeigen" name="find_on_map"/>
 	<menu_item_call label="Hineinzoomen" name="zoom_in"/>
 	<menu_item_call label="Bezahlen" name="pay"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml
index 383ee7831e2a20c53f7f47689d8593869aa19653..a74c41bb0cef3870c25e04382ac386bd6d58ea69 100644
--- a/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="Mein Profil" name="my_profile"/>
 	<menu_item_call label="Meine Freunde" name="my_friends"/>
 	<menu_item_call label="Meine Gruppen" name="my_groups"/>
+	<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..71cff7136bb571f98378c59375b10ecb56e0cb5f
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="Schließen" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index a0625d88a81c9ca454c9376fccc24eec7e43f4ae..306ef19de304fd266d5e620b01fa22da0a60fc1a 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="Teilen" name="Share"/>
 	<menu_item_call label="Kaufen" name="Task Buy"/>
 	<menu_item_call label="Öffnen" name="Task Open"/>
 	<menu_item_call label="Abspielen" name="Task Play"/>
@@ -49,9 +50,9 @@
 	<menu_item_call label="Aktuelles Outfit ersetzen" name="Replace Outfit"/>
 	<menu_item_call label="Zum aktuellen Outfit hinzufügen" name="Add To Outfit"/>
 	<menu_item_call label="Vom aktuellen Outfit entfernen" name="Remove From Outfit"/>
+	<menu_item_call label="Original suchen" name="Find Original"/>
 	<menu_item_call label="Objekt löschen" name="Purge Item"/>
 	<menu_item_call label="Objekt wiederherstellen" name="Restore Item"/>
-	<menu_item_call label="Original suchen" name="Find Original"/>
 	<menu_item_call label="Öffnen" name="Open"/>
 	<menu_item_call label="Eigenschaften" name="Properties"/>
 	<menu_item_call label="Umbenennen" name="Rename"/>
diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml
index fffa056cac24fa72e03a2857534b406f7b865fcb..70d31f93ded08edf0cd94ae9e5b779f1eca699bf 100644
--- a/indra/newview/skins/default/xui/de/menu_login.xml
+++ b/indra/newview/skins/default/xui/de/menu_login.xml
@@ -8,18 +8,8 @@
 		<menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/>
 		<menu_item_call label="INFO ÃœBER [APP_NAME]" name="About Second Life"/>
 	</menu>
+	<menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/>
 	<menu label="Debug" name="Debug">
-		<menu label="Bearbeiten" name="Edit">
-			<menu_item_call label="Rückgängig" name="Undo"/>
-			<menu_item_call label="Wiederherstellen" name="Redo"/>
-			<menu_item_call label="Ausschneiden" name="Cut"/>
-			<menu_item_call label="Kopieren" name="Copy"/>
-			<menu_item_call label="Einfügen" name="Paste"/>
-			<menu_item_call label="Löschen" name="Delete"/>
-			<menu_item_call label="Duplizieren" name="Duplicate"/>
-			<menu_item_call label="Alle auswählen" name="Select All"/>
-			<menu_item_call label="Auswahl aufheben" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Debug-Einstellungen anzeigen" name="Debug Settings"/>
 		<menu_item_call label="UI/Farb-Einstellungen" name="UI/Color Settings"/>
 		<menu_item_call label="XUI-Editor" name="UI Preview Tool"/>
@@ -28,5 +18,7 @@
 		<menu_item_call label="Servicebedingungen anzeigen" name="TOS"/>
 		<menu_item_call label="Wichtige Meldung anzeigen" name="Critical"/>
 		<menu_item_call label="Web-Browser-Test" name="Web Browser Test"/>
+		<menu_item_check label="Grid-Auswahl anzeigen" name="Show Grid Picker"/>
+		<menu_item_call label="Benachrichtigungs-Konsole anzeigen" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/de/menu_participant_list.xml b/indra/newview/skins/default/xui/de/menu_participant_list.xml
index 5ca4eaaa50a0fda1e389599fab3e1a63c9176001..ca0d9f8c2deddea678d069e564e9ffcd63a4d3d6 100644
--- a/indra/newview/skins/default/xui/de/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/de/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="Anrufen" name="Call"/>
 	<menu_item_call label="Teilen" name="Share"/>
 	<menu_item_call label="Bezahlen" name="Pay"/>
+	<menu_item_check label="Symbole für Personen anzeigen" name="View Icons"/>
 	<menu_item_check label="Voice ignorieren" name="Block/Unblock"/>
 	<menu_item_check label="Text ignorieren" name="MuteText"/>
 	<context_menu label="Moderator-Optionen &gt;" name="Moderator Options">
diff --git a/indra/newview/skins/default/xui/de/menu_save_outfit.xml b/indra/newview/skins/default/xui/de/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..70bca077ab1e3ac5a0df9001388454edd6ecbd02
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="Speichern" name="save_outfit"/>
+	<menu_item_call label="Als neue Datei speichern" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_script_chiclet.xml b/indra/newview/skins/default/xui/de/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3256aa1a8778b47092cb0223de649226d32df24b
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="Schließen" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index 84ed19e253761589014f6380dee5b07d5de2bd72..c416ebd7c1d61513eb088c0f643b8a7e2b749be7 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="Foto" name="Take Snapshot"/>
 		<menu_item_call label="Landmarke für diesen Ort setzen" name="Create Landmark Here"/>
 		<menu label="Ortsprofil" name="Land">
+			<menu_item_call label="Ortsprofil" name="Place Profile"/>
 			<menu_item_call label="Land-Info" name="About Land"/>
 			<menu_item_call label="Region/Grundbesitz" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="Erstellen" name="Create"/>
 			<menu_item_call label="Land" name="Land"/>
 		</menu>
-		<menu label="Bearbeiten" name="Edit">
-			<menu_item_call label="Rückgängig" name="Undo"/>
-			<menu_item_call label="Wiederherstellen" name="Redo"/>
-			<menu_item_call label="Ausschneiden" name="Cut"/>
-			<menu_item_call label="Kopieren" name="Copy"/>
-			<menu_item_call label="Einfügen" name="Paste"/>
-			<menu_item_call label="Löschen" name="Delete"/>
-			<menu_item_call label="Duplizieren" name="Duplicate"/>
-			<menu_item_call label="Alle auswählen" name="Select All"/>
-			<menu_item_call label="Auswahl aufheben" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Verknüpfung" name="Link"/>
 		<menu_item_call label="Verknüpfung auflösen" name="Unlink"/>
 		<menu_item_check label="Verknüpfte Teile bearbeiten" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="INFO ÃœBER [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu label="Erweitert" name="Advanced">
+		<menu_item_check label="Menü „Erweitert“ anzeigen" name="Show Advanced Menu"/>
 		<menu_item_call label="Animation meines Avatars stoppen" name="Stop Animating My Avatar"/>
 		<menu_item_call label="Textur neu laden" name="Rebake Texture"/>
 		<menu_item_call label="UI-Größe auf Standard setzen" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="Durchsichtig hervorheben" name="Highlight Transparent"/>
 			<menu_item_check label="HUD-Anhänge anzeigen" name="Show HUD Attachments"/>
 			<menu_item_check label="Fadenkreuz für Mouselook anzeigen" name="ShowCrosshairs"/>
-			<menu_item_check label="Land-Kurzinfos anzeigen" name="Land Tips"/>
 		</menu>
 		<menu label="Darstellungstypen" name="Rendering Types">
 			<menu_item_check label="Einfach" name="Simple"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index 97387e9e872f4dc2be9145c5c538ddfc08f2b394..aa1ee71c3f41abb8076df551143ae3eb9acf2e9c 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -359,7 +359,7 @@ Sind Sie sicher, dass Sie fortfahren wollen?
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		Auswahl [PICK] löschen?
+		Auswahl &lt;nolink&gt;[PICK]&lt;/nolink&gt; löschen?
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -937,6 +937,16 @@ Sie sind nicht berechtigt, Land für die aktive Gruppe zu kaufen.
 			<button name="Cancel" text="Abbrechen"/>
 		</form>
 	</notification>
+	<notification label="Outfit speichern" name="SaveOutfitAs">
+		Mein aktuelles Outfit als neues Outfit speichern:
+		<form name="form">
+			<input name="message">
+				[DESC] (neu)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="Abbrechen"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		Möchten Sie [FIRST_NAME] [LAST_NAME] aus Ihrer Freundesliste entfernen?
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
@@ -1426,6 +1436,10 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
 		Zu [CLASSIFIED] teleportieren?
 		<usetemplate ignoretext="Bestätigen, dass ich zu einer Position in Anzeigen teleportieren möchte." name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		Nach [HISTORY_ENTRY] teleportieren?
+		<usetemplate ignoretext="Bestätigen, dass ich zu einem Standort aus der Teleportliste teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
+	</notification>
 	<notification label="Nachricht an alle auf diesem Grundbesitz" name="MessageEstate">
 		Geben Sie eine kurze Nachricht ein, die an jede Person auf Ihrem Grundbesitz gesendet wird.
 		<form name="form">
@@ -1517,6 +1531,9 @@ Klicken Sie auf „Einstellung ändern“, um Ihre Einstellung für Altereinstuf
 			<ignore name="ignore" text="Meine Alterseinstufung lässt nicht zu, dass ich eine Region betrete."/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		Ihre Inhaltseinstufung ist jetzt [RATING].
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		Sie haben aufgrund Ihrer Alterseinstufung keinen Anspruch auf dieses Land. Der Grund hierfür ist möglicherweise, dass Sie nicht altersüberprüft sind.
 
@@ -1932,6 +1949,9 @@ Von einer Webseite zu diesem Formular linken, um anderen leichten Zugang zu dies
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		Abgebrochen
 	</notification>
@@ -1960,6 +1980,11 @@ Von einer Webseite zu diesem Formular linken, um anderen leichten Zugang zu dies
 		In-Welt- und Website-Fotos werden hochgeladen...
 (Dauert ca. 5 Minuten.)
 	</notification>
+	<notification name="UploadConfirmation">
+		Kosten für Hochladen: [AMOUNT] L$.
+Möchten Sie fortfahren?
+		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Hochladen"/>
+	</notification>
 	<notification name="UploadPayment">
 		Sie haben für das Hochladen [AMOUNT] L$ bezahlt.
 	</notification>
@@ -2304,9 +2329,9 @@ Versuchen Sie es in einigen Minuten erneut.
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] hat Ihnen einen Teleport an seine/ihre Position angeboten:
+		[NAME_SLURL] hat Ihnen einen Teleport an seine/ihre Position angeboten:
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="Teleportieren"/>
 			<button name="Cancel" text="Abbrechen"/>
@@ -2324,11 +2349,11 @@ Versuchen Sie es in einigen Minuten erneut.
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME] bietet Ihnen die Freundschaft an.
+		[NAME_SLURL] bietet Ihnen die Freundschaft an.
 
 [MESSAGE]
 
-(Standardmäßig werden Sie gegenseitig ihren Online-Status sehen können.)
+(Standardmäßig können Sie gegenseitig ihren Online-Status sehen.)
 		<form name="form">
 			<button name="Accept" text="Akzeptieren"/>
 			<button name="Decline" text="Ablehnen"/>
@@ -2391,6 +2416,9 @@ Von Objekt: [OBJECTNAME], Eigentümer: [NAME]?
 	<notification name="FailedToFindWearable">
 		[TYPE] namens [DESC] nicht in Datenbank.
 	</notification>
+	<notification name="ShareToWebFailed">
+		Bild aus Internet konnte nicht hochgeladen werden.
+	</notification>
 	<notification name="InvalidWearable">
 		Dieser Artikel verwendet eine Funktion, die Ihr Viewer nicht unterstützt. Bitte aktualisieren Sie Ihre Version von [APP_NAME], um dieses Objekt anziehen zu können.
 	</notification>
@@ -2432,14 +2460,6 @@ Anfrage gestatten?
 			<button name="Ignore" text="Ignorieren"/>
 		</form>
 	</notification>
-	<notification name="ScriptToast">
-		[FIRST] [LAST]s &apos;[TITLE]&apos; fordert Eingaben vom Benutzer an.
-		<form name="form">
-			<button name="Open" text="Dialog öffnen"/>
-			<button name="Ignore" text="Ignorieren"/>
-			<button name="Block" text="Ignorieren"/>
-		</form>
-	</notification>
 	<notification name="BuyLindenDollarSuccess">
 		Vielen Dank für Ihre Zahlung.
 
@@ -2596,6 +2616,12 @@ Diese werden für ein paar Sekunden sicherheitshalber gesperrt.
 		Die ausgewählte Schaltfläche kann zur Zeit nicht angezeigt werden.
 Die Schaltfläche wird angezeigt, wenn genügend Platz vorhanden ist.
 	</notification>
+	<notification name="ShareNotification">
+		Artikel aus Inventar auf eine Person im Fenster „Einwohner auswählen“ ziehen.
+	</notification>
+	<notification name="AvatarRezNotification">
+		Avatar &apos;[NAME]&apos; wurde in [TIME] Sekunden gerezzt.
+	</notification>
 	<global name="UnsupportedCPU">
 		- Ihre CPU-Geschwindigkeit entspricht nicht den Mindestanforderungen.
 	</global>
diff --git a/indra/newview/skins/default/xui/de/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/de/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bac885e5d81756a31eac16578c7b3452879ff33a
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Mockup Tab"/>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_eyes.xml b/indra/newview/skins/default/xui/de/panel_edit_eyes.xml
index 31251ed48f4f2506592f167f5d367603316e6dde..69bcf2fb71899a9c32482dd8852fd82b123657e9 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="Iris" name="Iris" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="Augen"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="Augen"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_gloves.xml b/indra/newview/skins/default/xui/de/panel_edit_gloves.xml
index 2d11befbfdb2e297525907cd962853160a917da7..ad87e432d6b6bd0f6d411f889c523f882ead8ade 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="Handschuhe"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="Handschuhe"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_hair.xml b/indra/newview/skins/default/xui/de/panel_edit_hair.xml
index d255b1c16c3c17114dbb14d54412926236d08cf6..d6efde83068e68e54f0fb06821c4e6d16246f2e9 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="Textur" name="Texture" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="Farbe"/>
-		<accordion_tab name="hair_style_tab" title="Stil"/>
-		<accordion_tab name="hair_eyebrows_tab" title="Augenbrauen"/>
-		<accordion_tab name="hair_facial_tab" title="Gesicht"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="Farbe"/>
+			<accordion_tab name="hair_style_tab" title="Stil"/>
+			<accordion_tab name="hair_eyebrows_tab" title="Augenbrauen"/>
+			<accordion_tab name="hair_facial_tab" title="Gesicht"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_jacket.xml b/indra/newview/skins/default/xui/de/panel_edit_jacket.xml
index 950c9023feccfad454b010d409012c50b2b50ae4..8fe76f6225e161a8bc1e044854a9492279a4c767 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
 		<texture_picker label="Stoff: unten" name="Lower Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="Jacke"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="Jacke"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_pants.xml b/indra/newview/skins/default/xui/de/panel_edit_pants.xml
index 1ff439dc26c7f6d0db9d5b9b6baa2b462c113df5..d40a27c5fd1e3a4234c6123b29e7b38550219a66 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_pants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="Hose"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="Hose"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_shape.xml b/indra/newview/skins/default/xui/de/panel_edit_shape.xml
index 37be3c1d901e19ad843f9811e1462dd14af1c016..393a586903f35d7d7befbb93137859b06e89f80e 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="Männlich" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="Körper"/>
-		<accordion_tab name="shape_head_tab" title="Kopf"/>
-		<accordion_tab name="shape_eyes_tab" title="Augen"/>
-		<accordion_tab name="shape_ears_tab" title="Ohren"/>
-		<accordion_tab name="shape_nose_tab" title="Nase"/>
-		<accordion_tab name="shape_mouth_tab" title="Mund"/>
-		<accordion_tab name="shape_chin_tab" title="Kinn"/>
-		<accordion_tab name="shape_torso_tab" title="Oberkörper"/>
-		<accordion_tab name="shape_legs_tab" title="Beine"/>
-	</accordion>
+	<panel label="Hemd" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="Körper"/>
+			<accordion_tab name="shape_head_tab" title="Kopf"/>
+			<accordion_tab name="shape_eyes_tab" title="Augen"/>
+			<accordion_tab name="shape_ears_tab" title="Ohren"/>
+			<accordion_tab name="shape_nose_tab" title="Nase"/>
+			<accordion_tab name="shape_mouth_tab" title="Mund"/>
+			<accordion_tab name="shape_chin_tab" title="Kinn"/>
+			<accordion_tab name="shape_torso_tab" title="Oberkörper"/>
+			<accordion_tab name="shape_legs_tab" title="Beine"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_shirt.xml b/indra/newview/skins/default/xui/de/panel_edit_shirt.xml
index 6025606777e69184b912888225044fa15efb2f40..344b0b412a1a7dbaacad5f646dee4fce2e2d9ae3 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="Hemd"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="Hemd"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_shoes.xml b/indra/newview/skins/default/xui/de/panel_edit_shoes.xml
index 15e8a21dd794ad0c3bb1863535968ed67f779d27..56aee5d0fed3e68bae3c7d4041338f697ec6cc13 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="Schuhe"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="Schuhe"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_skin.xml b/indra/newview/skins/default/xui/de/panel_edit_skin.xml
index 90b06a29bc3a34bc4369fe8e294e35aaa4847990..f167f45e98a7d64daa641fe9f6f83db66246543f 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_skin.xml
@@ -5,10 +5,12 @@
 		<texture_picker label="Obere Tattoos" name="Upper Tattoos" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<texture_picker label="Untere Tattoos" name="Lower Tattoos" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="Hautfarbe"/>
-		<accordion_tab name="skin_face_tab" title="Gesichtsdetails"/>
-		<accordion_tab name="skin_makeup_tab" title="Make-Up"/>
-		<accordion_tab name="skin_body_tab" title="Körperdetails"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="Hautfarbe"/>
+			<accordion_tab name="skin_face_tab" title="Gesichtsdetails"/>
+			<accordion_tab name="skin_makeup_tab" title="Make-Up"/>
+			<accordion_tab name="skin_body_tab" title="Körperdetails"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_skirt.xml b/indra/newview/skins/default/xui/de/panel_edit_skirt.xml
index 4fa9126c3713853c8f11a75beff432c36fa047e3..c8931bc9472e05ce9224a47445ee049f2e7fe2d5 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="Rock"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="Rock"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_socks.xml b/indra/newview/skins/default/xui/de/panel_edit_socks.xml
index c2ecad8642bbc084de962f589f247bd431682578..abbeefa44efb1de5844c3d8dcff0f219a7c8b3d7 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_socks.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="Socken"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="Strümpfe"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_underpants.xml b/indra/newview/skins/default/xui/de/panel_edit_underpants.xml
index 4484068c1da8046dc697936f7f0cfd9f3f61028c..03c61a495ddc5a9a04b8d533b5331f2b5770f94b 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="Unterhose"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="Unterhose"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml
index 847f806fce62cf40b87dff14b4c5e1d21fb5957c..39919393e1ee794eb196debd7afe3734c3dfc4b4 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Stoff" name="Fabric" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
 		<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="Unterhemd"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="Unterhemd"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_edit_wearable.xml b/indra/newview/skins/default/xui/de/panel_edit_wearable.xml
index c3ffb2f353866c16a135e527cfd295a14a1f2be4..17a632b46e37e17741153a75ab1e63bc7e43bbf2 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_wearable.xml
@@ -94,6 +94,11 @@
 	<panel label="Hemd" name="wearable_type_panel">
 		<text name="description_text" value="Form:"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="Optionen"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="Speichern unter" name="save_as_button"/>
 		<button label="Zurücksetzen" name="revert_button"/>
diff --git a/indra/newview/skins/default/xui/de/panel_group_general.xml b/indra/newview/skins/default/xui/de/panel_group_general.xml
index f300679e16366ea416cc74a442be4de3a296a7b2..9d4301de73feb2e3b6cdcbe7189379ace539dc85 100644
--- a/indra/newview/skins/default/xui/de/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_general.xml
@@ -47,8 +47,11 @@ Bewegen Sie die Maus über die Optionen, um weitere Informationen anzuzeigen.
 		<check_box label="Kosten für Beitritt" name="check_enrollment_fee" tool_tip="Festlegen, ob Neumitglieder eine Beitrittsgebühr zahlen müssen"/>
 		<spinner label="L$" name="spin_enrollment_fee" tool_tip="Wenn Beitrittsgebühr aktiviert ist, müssen neue Mitglieder diesen Betrag zahlen."/>
 		<combo_box name="group_mature_check" tool_tip="Legt fest, ob Ihre Gruppeninformation moderate Inhalte enthält">
-			<combo_box.item label="Genereller Inhalt" name="pg"/>
+			<combo_item name="select_mature">
+				- Inhaltseinstufung auswählen -
+			</combo_item>
 			<combo_box.item label="Moderater Inhalt" name="mature"/>
+			<combo_box.item label="Genereller Inhalt" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="In Suche anzeigen" name="show_in_group_list" tool_tip="Diese Gruppe in Suchergebnissen anzeigen"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_inventory_item.xml b/indra/newview/skins/default/xui/de/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml
index 7ee0074a3bb06696aec7209d3a4b958c640fd398..dd408b8275e411420944b0581fa99ec8c03baf63 100644
--- a/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/de/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			Mini
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		Eigentümer
+	</text>
 	<check_box initial_value="false" label="Naviation &amp; Interaktion zulassen" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="Steuerungsleiste anzeigen" name="perms_owner_control"/>
+	<text name="group_label">
+		Gruppe:
+	</text>
 	<check_box initial_value="false" label="Naviation &amp; Interaktion zulassen" name="perms_group_interact"/>
 	<check_box initial_value="false" label="Steuerungsleiste anzeigen" name="perms_group_control"/>
+	<text name="anyone_label">
+		Jeder
+	</text>
 	<check_box initial_value="false" label="Naviation &amp; Interaktion zulassen" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="Steuerungsleiste anzeigen" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_nearby_media.xml b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
index 32750f14d4a93a8e5e6286a416115e39ffaecf8d..e633ae1dde19cba0c66a5d1acc0ae09e9a1721a8 100644
--- a/indra/newview/skins/default/xui/de/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(%ls Medien-Objekte)
+	</string>
 	<string name="empty_item_text">
 		&lt;leer&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="Stoppen" name="all_nearby_media_disable_btn" tool_tip="Alle Medien in der Nähe ausschalten"/>
 		<button label="Starten" name="all_nearby_media_enable_btn" tool_tip="Alle Medien in der Nähe einschalten"/>
 		<button name="open_prefs_btn" tool_tip="Medien-Einstellungen öffnen"/>
-		<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="more_less_btn" tool_tip="Erweiterte Steuerung"/>
+		<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="more_btn" tool_tip="Erweiterte Steuerung"/>
+		<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="less_btn" tool_tip="Erweiterte Steuerung"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			Medien in der Nähe
-		</text>
-		<text name="show">
-			Anzeigen:
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="Alle" name="All"/>
 			<combo_box.item label="Auf dieser Parzelle" name="WithinParcel"/>
@@ -38,7 +36,7 @@
 			<scroll_list.columns label="Name" name="media_name"/>
 			<scroll_list.columns label="Fehler beseitigen" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="Ausgewählte Medien stoppen"/>
diff --git a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5ff088d41ce3f2b437f2f4e8c63dfdfe3e4aeac1
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Outfit bearbeiten" name="outfit_edit">
+	<string name="No Outfit" value="Kein Outfit"/>
+	<panel.string name="not_available">
+		k.A.
+	</panel.string>
+	<panel.string name="unknown">
+		(unbekannt)
+	</panel.string>
+	<string name="Filter.All" value="Alle"/>
+	<string name="Filter.Clothes/Body" value="Kleider/Körper"/>
+	<string name="Filter.Objects" value="Objekte"/>
+	<button label="Bearbeiten" name="edit_wearable_btn"/>
+	<text name="title" value="Outfit bearbeiten"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="Wird bearbeitet..."/>
+			<text name="curr_outfit_name" value="[Aktuelles Outfit]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="IM Steuerkonsole" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="Look-Artikel" name="look_item"/>
+				<scroll_list.columns label="Outfit-Artikel sortieren" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="Filter" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="IM Steuerkonsole" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="Zum Outfit hinzufügen:"/>
+					<button label="O" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="O" name="folder_view_btn"/>
+				<button label="L" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="Speichern" name="save_btn"/>
+		<button label="Zurücksetzen" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
index 54c56992fde37a1a1cd39452505115d8e4184657..f695d67d1b32381a44195baa085e0c860e7b1b7a 100644
--- a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Sonstiges" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="MEINE OUTFITS" name="outfitslist_tab"/>
+		<panel label="MEINE OUTFITS" name="outfitslist_tab"/>
 		<inventory_panel label="AKTUELLES OUTFIT" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="Auswahl löschen"/>
 		<button label="Outfit speichern" name="make_outfit_btn" tool_tip="Aussehen als Outfit speichern"/>
 		<button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="Outfit bearbeiten" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_people.xml b/indra/newview/skins/default/xui/de/panel_people.xml
index cc45f25c82ab7b2d60e4c16041bf8571330fe1f1..59cc3a8b70698ab5719f0e51b0af3581f635681d 100644
--- a/indra/newview/skins/default/xui/de/panel_people.xml
+++ b/indra/newview/skins/default/xui/de/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="Leute" name="people_panel">
-	<string name="no_people" value="Keine Leute"/>
-	<string name="no_one_near" value="Keiner in der Nähe"/>
+	<string name="no_recent_people" value="Hier sind keine Leute. Sie suchen nach Leuten? Verwenden Sie die [secondlife:///app/search/people Suche] oder die [secondlife:///app/worldmap Karte]."/>
+	<string name="no_filtered_recent_people" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/people Suche]."/>
+	<string name="no_one_near" value="Es ist niemand in der Nähe. Sie suchen nach Leuten? Verwenden Sie die [secondlife:///app/search/people Suche] oder die [secondlife:///app/worldmap Karte]."/>
+	<string name="no_one_filtered_near" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/people Suche]."/>
 	<string name="no_friends_online" value="Keine Freunde online"/>
 	<string name="no_friends" value="Keine Freunde"/>
+	<string name="no_friends_msg">
+		Verwenden Sie die [secondlife:///app/search/people Suche], um Freunde zu finden. Oder klicken Sie mit rechts auf einen Einwohner und fügen Sie diesen als Freund hinzu.
+Sie suchen nach Leuten? Verwenden Sie die [secondlife:///app/worldmap Karte].
+	</string>
+	<string name="no_filtered_friends_msg">
+		Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/people Suche].
+	</string>
 	<string name="people_filter_label" value="Nach Leuten filtern"/>
 	<string name="groups_filter_label" value="Nach Gruppen filtern"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Suche verwenden, um die Gruppe zu finden?]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups Suche verwenden, um Gruppen zu finden?]"/>
+	<string name="no_filtered_groups_msg" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/groups Suche]."/>
+	<string name="no_groups_msg" value="Suchen Sie nach Gruppen? Versuchen Sie es mit der [secondlife:///app/search/groups Suche]."/>
 	<filter_editor label="Filter" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="IN DER NÄHE" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="Bieten Sie einem Einwohner die Freundschaft an"/>
 				<button name="del_btn" tool_tip="Ausgewählte Person von Ihrer Freundesliste entfernen"/>
 			</panel>
-			<text name="no_friends_msg">
-				Verwenden Sie [secondlife:///app/search/people die globale Suche], um Freunde hinzuzufügen. Oder klicken Sie mit rechts auf einen Einwohner und fügen Sie diesen als Freund hinzu.
-Wenn Sie nach Orten suchen, an denen sich Leute befinden, verwenden Sie [secondlife:///app/worldmap die Karte].
-			</text>
 		</panel>
 		<panel label="MEINE GRUPPEN" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/de/panel_places.xml b/indra/newview/skins/default/xui/de/panel_places.xml
index 2215ea3988a692ebbad1dd6576e107ce5548354b..37ccdbeb7dac321363ba8a882acdde1a3a56781d 100644
--- a/indra/newview/skins/default/xui/de/panel_places.xml
+++ b/indra/newview/skins/default/xui/de/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="Speichern" name="save_btn" width="66"/>
 		<button label="Abbrechen" name="cancel_btn" width="66"/>
 		<button label="Schließen" name="close_btn"/>
+		<button label="Profil" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
index c0ab69fcdf60c7750b4da2bcf87a2e793d8ff8f5..f9d5c93dc0a3077ae8efe1ae0c392b80c23e4ea0 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
@@ -20,6 +20,9 @@
 	<check_box label="Blasen-Chat" name="bubble_text_chat"/>
 	<slider label="Deckkraft" label_width="66" name="bubble_chat_opacity"/>
 	<color_swatch left_pad="35" name="background" tool_tip="Farbe für Blasen-Chat auswählen"/>
+	<text name="UI Size:">
+		UI-Größe
+	</text>
 	<check_box label="Skript-Fehler anzeigen:" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="Chat in der Nähe" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="Auslöser für Zum-Sprechen-drücken:" name="modifier_combo"/>
 	<button label="Taste festlegen" name="set_voice_hotkey_button"/>
 	<button label="Mittlere Maustaste" name="set_voice_middlemouse_button" tool_tip="Auf mittlere Maustaste zurücksetzen"/>
+	<button label="Andere Geräte" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_world_map.xml b/indra/newview/skins/default/xui/de/panel_world_map.xml
index f7454dd63414f13913d5aa7a440337ff7318284a..35fe3d3ffcaadc6f00e948bb469ac3b9f921e7aa 100644
--- a/indra/newview/skins/default/xui/de/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/de/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		NW
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 Person
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] Leute
+	</panel.string>
 	<text label="N" name="floater_map_north" text="N">
 		N
 	</text>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
index f6cf911bb32cdb89ad70c588db017c29875c6c90..26bde94ffdc4d97485ef29ec8144e9998dd7747d 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="Profil" name="info_btn"/>
+			<button label="Teilen" name="share_btn"/>
 			<button label="Anziehen" name="wear_btn"/>
 			<button label="Wiedergeben" name="play_btn"/>
 			<button label="Teleportieren" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index b3aeb8cd68ee42359ff8a273dd557867616dcd48..90cdd13173ed8bdca4048c6105edbdfec0a0cc1f 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -261,6 +261,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		Schließen (Strg+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		Schließen
+	</string>
 	<string name="BUTTON_RESTORE">
 		Wiederherstellen
 	</string>
@@ -303,6 +306,9 @@
 	<string name="GroupNameNone">
 		(keiner)
 	</string>
+	<string name="AvalineCaller">
+		Avaline-Anfrufer [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		Kein Fehler
 	</string>
@@ -904,7 +910,7 @@
 		ESC drücken, um zur Normalansicht zurückzukehren
 	</string>
 	<string name="InventoryNoMatchingItems">
-		Im Inventar wurden keine passenden Objekte gefunden.  Versuchen Sie es mit [secondlife:///app/search/groups „Suche&quot;].
+		Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/all Suche].
 	</string>
 	<string name="FavoritesNoMatchingItems">
 		Landmarke hier hin ziehen, um diese hinzuzufügen.
@@ -1575,9 +1581,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		Für diesen Grundbesitz liegt kein Vertrag vor. Das Land auf diesem Grundbesitz wird vom Grundbesitzer und nicht von Linden Lab verkauft.  Für Informationen zum Verkauf setzen Sie sich bitte mit dem Grundbesitzer in Verbindung.
 	</string>
-	<string name="covenant_last_modified">
-		Zuletzt geändert:
-	</string>
+	<string name="covenant_last_modified" value="Zuletzt geändert:"/>
 	<string name="none_text" value=" (keiner) "/>
 	<string name="never_text" value=" (nie) "/>
 	<string name="GroupOwned">
@@ -3311,6 +3315,15 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
 	<string name="LocationCtrlDamageTooltip">
 		Gesundheit
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Adult-Region
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Moderate Region
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		Generelle Region
+	</string>
 	<string name="UpdaterWindowTitle">
 		[APP_NAME] Aktualisierung
 	</string>
@@ -3341,6 +3354,12 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
 	<string name="UpdaterFailStartTitle">
 		Viewer konnte nicht gestartet werden
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME]: Zuviele Objekte auf einmal von [FROM_NAME]. Automaitsche Vorschau ist für [TIME] Sekunden nicht verfügbar.
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME]: Zuviele Objekte auf einmal. Automaitsche Vorschau ist für [TIME] Sekunden nicht verfügbar.
+	</string>
 	<string name="IM_logging_string">
 		-- Instant-Message-Protokoll aktiviert --
 	</string>
@@ -3368,6 +3387,9 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
 	<string name="IM_moderator_label">
 		(Moderator)
 	</string>
+	<string name="answered_call">
+		Ihr Anruf wurde entgegengenommen
+	</string>
 	<string name="started_call">
 		haben/hat einen Anruf initiiert
 	</string>
@@ -3461,12 +3483,18 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
 	<string name="unread_chat_multiple">
 		[SOURCES] haben etwas Neues gesagt
 	</string>
+	<string name="session_initialization_timed_out_error">
+		Die Initialisierung der Sitzung ist fehlgeschlagen
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] hat Ihnen [AMOUNT] L$ bezahlt.
 	</string>
 	<string name="you_paid_ldollars">
 		Sie haben [REASON] [AMOUNT] L$ an [NAME] bezahlt.
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		Sie haben [AMOUNT] L$ bezahlt.
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		Sie haben [AMOUNT] L$ an [NAME] bezahlt.
 	</string>
@@ -3577,7 +3605,13 @@ Missbrauchsbericht
 	<string name="Contents">
 		Inhalt
 	</string>
-    <string name="AvatarBirthDateFormat">
-        [day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
-    </string>
+	<string name="AvatarBirthDateFormat">
+		[mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		Keine/Keiner
+	</string>
+	<string name="texture_load_dimensions_error">
+		Bilder, die größer sind als [WIDTH]*[HEIGHT] können nicht geladen werden
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
index 14c0081c0df57675b6064f5f9af6ffd9db37fdf0..0e8eef2a21b80018df7aa20e6746c3a96523fb07 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
@@ -84,8 +84,18 @@
      label="Save"
      label_selected="Save"
      layout="topleft"
-     left="288"
+     left="178"
      name="Save"
      top="332"
      width="100" />
+    <button
+     follows="right|bottom"
+     height="22"
+     label="Delete"
+     label_selected="Delete"
+     layout="topleft"
+     left="288"
+     name="Delete"
+     top="332"
+     width="100" />
 </floater>
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 5e1f6b58e8db78f5e0799473b2148ec15fc8a682..11459ad0e611bb6dffb28227ee154fa2fd26fbb7 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -409,6 +409,14 @@
          function="Inventory.DoToSelected"
          parameter="open" />
     </menu_item_call>
+    <menu_item_call
+     label="Open Original"
+     layout="topleft"
+     name="Open Original">
+        <menu_item_call.on_click
+         function="Inventory.DoToSelected"
+         parameter="open_original" />
+    </menu_item_call>
     <menu_item_call
      label="Properties"
      layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index cc16194c2da40570ce60b249bbbdb868664589ba..17316ffda04fd2ffb2fb2689156eb2786bbc6bdf 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -1339,6 +1339,16 @@
              function="ToggleControl"
              parameter="RunMultipleThreads" />
         </menu_item_check>
+        <menu_item_check
+         label="Use Plugin Read Thread"
+         name="Use Plugin Read Thread">
+            <menu_item_check.on_check
+             function="CheckControl"
+             parameter="PluginUseReadThread" />
+            <menu_item_check.on_click
+             function="ToggleControl"
+             parameter="PluginUseReadThread" />
+        </menu_item_check>
         <menu_item_call
          label="Clear Group Cache"
          name="ClearGroupCache">
diff --git a/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml
index 28a6995186b150581771c914d1e881f11370094b..e70abc0975e36d4b3d8966d614ebc8b7780812a9 100644
--- a/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_adhoc_control_panel.xml
@@ -37,7 +37,7 @@
              layout="topleft"
              name="speakers_list"
              opaque="false"
-             show_info_btn="false"
+             show_info_btn="true"
              show_profile_btn="false"
              show_speaking_indicator="false"
              width="147" />
diff --git a/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..115964e5f2c50a8c609c0dfa58d9cd08c39ed7e0
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_body_parts_list_item.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<panel
+ follows="top|right|left"
+ height="22"
+ layout="topleft"
+ left="0"
+ name="wearable_item"
+ top="0"
+ width="380">
+    <icon
+     follows="top|right|left"
+     height="20"
+     image_name="ListItem_Over"
+     layout="topleft"
+     left="0"
+     name="hovered_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <icon
+     height="20"
+     follows="top|right|left"
+     image_name="ListItem_Select"
+     layout="topleft"
+     left="0"
+     name="selected_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <icon
+     height="16"
+     follows="top|left"
+     image_name="Inv_Object"
+     layout="topleft"
+     left="0"
+     name="item_icon"
+     top="2"
+     width="16" />
+    <text
+     follows="left|right"
+     height="16"
+     layout="topleft"
+     left_pad="5"
+     allow_html="false"
+     use_ellipses="true"
+     name="item_name"
+     text_color="white"
+     top="4"
+     value="..."
+     width="359" />
+    <icon 
+     name="btn_lock"
+     layout="topleft"
+     follows="top|right"
+     image_name="Lock2"
+     top="0"
+     left="0"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <button 
+     name="btn_edit"
+     layout="topleft"
+     follows="top|right"
+     image_unselected="Icon_Gear_Background"
+     image_selected="Icon_Gear_Background"
+     top="0"
+     left_pad="3"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <panel
+     background_visible="true"
+     bg_alpha_color="0.4 0.4 0.4 1.0"
+     bottom="0"
+     follows="left|right|top"
+     height="1"
+     layout="bottomleft"
+     left="0"
+     name="wearable_type_separator_panel"
+     width="380"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml b/indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9d19b89a6131b7d223437253371e7e77bafe1dcd
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_bodyparts_list_button_bar.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+
+<panel
+ follows="left|right|top"
+ height="35"
+ layout="topleft"
+ left="0"
+ name="clothing_list_button_bar_panel"
+ top="0"
+ visible="true"
+ width="300">
+    <button
+     follows="top|left"
+     height="25"
+     image_hover_unselected="Toolbar_Middle_Over"
+     image_selected="Toolbar_Middle_Selected"
+     image_unselected="Toolbar_Middle_Off"
+     label="Switch"
+     layout="topleft"
+     left="5"
+     name="switch_btn"
+     top="5"
+     width="45" />
+    <button
+     follows="top|right"
+     height="25"
+     image_hover_unselected="Toolbar_Middle_Over"
+     image_selected="Toolbar_Middle_Selected"
+     image_unselected="Toolbar_Middle_Off"
+     label="Shop >" 
+     layout="topleft"
+     right="-5"
+     name="bodyparts_shop_btn"
+     top="5"
+     width="61" />
+</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml b/indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2359719c2a917ee757e8c7ec7af7901cb2f6f01b
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_clothing_list_button_bar.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+
+<panel
+ follows="left|right|top"
+ height="35"
+ layout="topleft"
+ left="0"
+ name="clothing_list_button_bar_panel"
+ top="0"
+ visible="true"
+ width="500">
+    <button
+     follows="top|left"
+     height="25"
+     image_hover_unselected="Toolbar_Middle_Over"
+     image_selected="Toolbar_Middle_Selected"
+     image_unselected="Toolbar_Middle_Off"
+     is_toggle="true"
+     label="Add +"
+     layout="topleft"
+     left="5"
+     name="add_btn"
+     top="5"
+     width="45" />
+    <button
+     follows="top|right"
+     height="25"
+     image_hover_unselected="Toolbar_Middle_Over"
+     image_selected="Toolbar_Middle_Selected"
+     image_unselected="Toolbar_Middle_Off"
+     label="Shop >" 
+     layout="topleft"
+     right="-5"
+     name="clothing_shop_btn"
+     top="5"
+     width="61" />
+</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/en/panel_clothing_list_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7cc9c46c08f444b6b56150cd237d7c2726c849be
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_clothing_list_item.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<panel
+ follows="top|right|left"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="wearable_item"
+ top="0"
+ width="380">
+    <icon
+     follows="top|right|left"
+     height="20"
+     image_name="ListItem_Over"
+     layout="topleft"
+     left="0"
+     name="hovered_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <icon
+     height="20"
+     follows="top|right|left"
+     image_name="ListItem_Select"
+     layout="topleft"
+     left="0"
+     name="selected_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <button 
+     name="btn_delete"
+     layout="topleft"
+     follows="top|left"
+     image_unselected="Toast_CloseBtn"
+     image_selected="Toast_CloseBtn"
+     top="0"
+     left="0"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <icon
+     height="16"
+     follows="top|left"
+     image_name="Inv_Object"
+     layout="topleft"
+     left_pad="3"
+     name="item_icon"
+     top="2"
+     width="16" />
+    <text
+     follows="left|right"
+     height="16"
+     layout="topleft"
+     left_pad="5"
+     allow_html="false"
+     use_ellipses="true"
+     name="item_name"
+     text_color="white"
+     top="4"
+     value="..."
+     width="359" />
+    <button 
+     name="btn_move_up"
+     layout="topleft"
+     follows="top|right"
+     image_unselected="Movement_Up_Off"
+     image_selected="Movement_Up_Off"
+     top="0"
+     left="0"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <button 
+     name="btn_move_down"
+     layout="topleft"
+     follows="top|right"
+     image_unselected="Movement_Down_Off"
+     image_selected="Movement_Down_Off"
+     top="0"
+     left_pad="3"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <icon
+     name="btn_lock"
+     layout="topleft"
+     follows="top|right"
+     image_name="Lock2"
+     top="0"
+     left_pad="3"
+     height="20"
+     width="20" />
+    <button 
+     name="btn_edit"
+     layout="topleft"
+     follows="top|right"
+     image_unselected="Icon_Gear_Background"
+     image_selected="Icon_Gear_Background"
+     top="0"
+     left_pad="3"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <panel
+     background_visible="true"
+     bg_alpha_color="0.4 0.4 0.4 1.0"
+     bottom="0"
+     follows="left|right|top"
+     height="1"
+     layout="bottomleft"
+     left="0"
+     name="wearable_type_separator_panel"
+     visible="false"
+     width="380"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml
index 01c7ae61d24d6343b07a60db09afc7fc6b4e5ac0..86b9ea6e14515abe83b20b33f6b9c48031224e9d 100644
--- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml
+++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml
@@ -3,22 +3,22 @@
  background_visible="true"
  bg_alpha_color="DkGray"
  border="false"
- bottom="0"
  follows="all"
  height="200"
  left="0"
  name="cof_wearables"
- width="313">
+ width="311">
     <accordion
      follows="all"
-     height="373"
+     height="200"
      layout="topleft"
-     left="3"
+     left="0"
+     single_expansion="true"
      top="0"
      name="cof_wearables_accordion"
      background_visible="true"
      bg_alpha_color="DkGray2"
-     width="307">
+     width="311">
         <accordion_tab
          layout="topleft"
          name="tab_attachments"
@@ -26,40 +26,82 @@
             <flat_list_view
              allow_select="true"
              follows="all"
-             height="150"
+             height="10"
              layout="topleft"
              left="0"
              name="list_attachments"
              top="0"
-             width="307" />
+             width="311" />
         </accordion_tab>
         <accordion_tab
          layout="topleft"
          name="tab_clothing"
          title="Clothing">
-            <flat_list_view
-             allow_select="true"
+            
+            <!-- *NOTE there should be no any gaps between the button bar and the list - 
+            accordiong-list adaptor won't employ them while calculating new height when the size of the list changes -->
+            <panel
+             background_visible="false"
+             class="accordion_list_adaptor"
              follows="all"
-             height="150"
+             height="45"
              layout="topleft"
              left="0"
-             name="list_clothing"
+             name="button_bar_adaptor"
              top="0"
-             width="307" />
+             width="311">
+                <panel
+                 bevel="none"
+                 filename="panel_clothing_list_button_bar.xml"
+                 height="35"
+                 name="button_bar"
+                 top="0"
+                 width="311" />
+                <flat_list_view
+                 allow_select="true"
+                 follows="all"
+                 height="10"
+                 layout="topleft"
+                 left="0"
+                 name="list_clothing"
+                 top_pad="0"
+                 width="311" />
+            </panel>
         </accordion_tab>
         <accordion_tab
          layout="topleft"
          name="tab_body_parts"
          title="Body Parts">
-            <flat_list_view
-             allow_select="true"
+
+            <!-- *NOTE there should be no any gaps between the button bar and the list - 
+            accordiong-list adaptor won't employ them while calculating new height when the size of the list changes -->
+            <panel
+             background_visible="false"
+             class="accordion_list_adaptor"
              follows="all"
-             height="150"
+             height="45"
              layout="topleft"
              left="0"
-             name="list_body_parts"
+             name="button_bar_adaptor"
              top="0"
-             width="307" />
+             width="311">
+                <panel 
+                 bevel="none"
+                 filename="panel_bodyparts_list_button_bar.xml" 
+                 height="35"
+                 name="button_bar"
+                 top="0"
+                 width="311"/>
+                <flat_list_view
+                 allow_select="true"
+                 follows="all"
+                 height="10"
+                 layout="topleft"
+                 left="0"
+                 name="list_body_parts"
+                 top_pad="0"
+                 width="311" />
+            </panel>
         </accordion_tab>
     </accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c5a60ced888136ba87cfce551885f84dab2a3f7e
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_dummy_clothing_list_item.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<panel
+ follows="top|right|left"
+ height="22"
+ layout="topleft"
+ left="0"
+ name="dummy_clothing_item"
+ top="0"
+ width="380">
+    <icon
+     follows="top|right|left"
+     height="20"
+     image_name="ListItem_Over"
+     layout="topleft"
+     left="0"
+     name="hovered_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <icon
+     height="20"
+     follows="top|right|left"
+     image_name="ListItem_Select"
+     layout="topleft"
+     left="0"
+     name="selected_icon"
+     top="0"
+     visible="false"
+     width="380" />
+    <icon
+     height="16"
+     color="0.75 0.75 0.75 1"
+     follows="top|left"
+     image_name="Inv_Object"
+     layout="topleft"
+     left="20"
+     name="item_icon"
+     top="2"
+     width="16" />
+    <text
+     follows="left|right"
+     height="16"
+     layout="topleft"
+     left_pad="5"
+     allow_html="false"
+     use_ellipses="true"
+     name="item_name"
+     text_color="LtGray_50"
+     top="4"
+     value="..."
+     width="359" />
+    <button 
+     name="btn_add"
+     layout="topleft"
+     follows="top|right"
+     label="+"
+     top="0"
+     left="0"
+     height="20"
+     width="20"
+     tab_stop="false" />
+    <panel
+     background_visible="true"
+     bg_alpha_color="0.4 0.4 0.4 1.0"
+     bottom="0"
+     follows="left|right|top"
+     height="1"
+     layout="bottomleft"
+     left="0"
+     name="wearable_type_separator_panel"
+     width="380"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
index 1d0c0a02b0ebc1afa4ae0c934fa4493a2d6dd97b..cfcdc25f81528a50eee9a8de898d078ae4f22d90 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
@@ -32,7 +32,10 @@
         name="Lower Alpha"
         tool_tip="Click to choose a picture"
         top="10"
-        width="94" />
+        width="94" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <check_box
         control_name="LowerAlphaTextureInvisible"
         follows="left"
@@ -53,7 +56,10 @@
         name="Upper Alpha"
         tool_tip="Click to choose a picture"
         top="10"
-        width="94" />
+        width="94">
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <check_box
         control_name="UpperAlphaTextureInvisible"
         follows="left"
@@ -74,7 +80,10 @@
         name="Head Alpha"
         tool_tip="Click to choose a picture"
         top="120"
-        width="94" />
+        width="94" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <check_box
         control_name="HeadAlphaTextureInvisible"
         follows="left"
@@ -95,7 +104,10 @@
         name="Eye Alpha"
         tool_tip="Click to choose a picture"
         top="120"
-        width="94" />
+        width="94" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <check_box
         control_name="Eye AlphaTextureInvisible"
         follows="left"
@@ -116,7 +128,10 @@
         name="Hair Alpha"
         tool_tip="Click to choose a picture"
         top="230"
-        width="94" />
+        width="94" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <check_box
         control_name="HairAlphaTextureInvisible"
         follows="left"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_eyes.xml b/indra/newview/skins/default/xui/en/panel_edit_eyes.xml
index f11ef43c76f4d289d3b5dd3e508a4964f0e85e41..4149a0b06f539cc4a97e5c86966d5da4d89ab4ce 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_eyes.xml
@@ -32,8 +32,11 @@
              name="Iris"
              tool_tip="Click to choose a picture"
              top="10"
-             width="64" />
-	 </panel>
+             width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
+     </panel>
      <panel
          border="false"
          bg_alpha_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_gloves.xml b/indra/newview/skins/default/xui/en/panel_edit_gloves.xml
index 7d8eed50854ac4846da928247abda8fa6afeca4d..94fd2f9080697e9435c8924bfcc3eba5d6854aee 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_gloves.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,9 +46,12 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
-	 </panel>
-	 <panel
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
+     </panel>
+     <panel
          border="false"
          bg_alpha_color="DkGray2"
          bg_opaque_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_hair.xml b/indra/newview/skins/default/xui/en/panel_edit_hair.xml
index cd81aa2c4fdc2bd520bb00adc375d605dd77d952..9b60e83387c5758c0f3af596fa41e6c9258054c9 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_hair.xml
@@ -32,8 +32,11 @@
              name="Texture"
              tool_tip="Click to choose a picture"
              top="10"
-             width="64" />
-	 </panel>
+             width="64" >
+              <texture_picker.commit_callback
+                  function="TexturePicker.Commit" />
+            </texture_picker>
+     </panel>
    <panel
          border="false"
          bg_alpha_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_jacket.xml b/indra/newview/skins/default/xui/en/panel_edit_jacket.xml
index ba038659376d2a5e97e1a6d5a30eb73bce71c5d0..248ae9fe04d8d130eb0baf483b3004a4462abe46 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_jacket.xml
@@ -32,7 +32,10 @@
         name="Upper Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="74" />
+        width="74" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <texture_picker
         can_apply_immediately="true"
         default_image_name="Default"
@@ -44,7 +47,10 @@
         name="Lower Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="74" />
+        width="74" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -55,7 +61,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="74" />
+        width="74" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
 	 <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_pants.xml b/indra/newview/skins/default/xui/en/panel_edit_pants.xml
index 5b02d1f96866d580e85ba5b88b4e00846a9548c2..3ed1df239965b995dbcf146b313159ef8a4be40b 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_pants.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
      <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_shirt.xml b/indra/newview/skins/default/xui/en/panel_edit_shirt.xml
index 7da8de4c0bfd110df9b13d1b84748e80d1443084..e088aa05acfe15745264c53ffeaf3fbb70536b63 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_shirt.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
      <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_shoes.xml b/indra/newview/skins/default/xui/en/panel_edit_shoes.xml
index 84fe26f7f6366589c79ae62e936ab1774b92eecf..e079047a86f3e1124a702bff2ff9fc02b30cec07 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_shoes.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
      <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_skin.xml b/indra/newview/skins/default/xui/en/panel_edit_skin.xml
index b5c8c954730fe56562d340f15139fd01768fc0e0..9158685c40a6a909a2dbffb1caf170297d58f40f 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_skin.xml
@@ -33,7 +33,10 @@
         name="Head Tattoos"
         tool_tip="Click to choose a picture"
         top="10"
-        width="74" />
+        width="74" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <texture_picker
         allow_no_texture="true"
         can_apply_immediately="true"
@@ -46,7 +49,10 @@
         name="Upper Tattoos"
         tool_tip="Click to choose a picture"
         top="10"
-        width="74" />
+        width="74" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <texture_picker
         allow_no_texture="true"
         can_apply_immediately="true"
@@ -59,8 +65,11 @@
         name="Lower Tattoos"
         tool_tip="Click to choose a picture"
         top="10"
-        width="74" />
-	 </panel>
+        width="74" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
+     </panel>
      <panel
          border="false"
          bg_alpha_color="DkGray2"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_skirt.xml b/indra/newview/skins/default/xui/en/panel_edit_skirt.xml
index 16f6950bd522ad294801be1f5e8a5cec85ac5163..87f3270b31c695cd4b5453dcbae95be22d4ab54d 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_skirt.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
 	 <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_socks.xml b/indra/newview/skins/default/xui/en/panel_edit_socks.xml
index e4f916703b0c81f7cddd31e0cbad7d6aaba304c2..5bd99969a293c8443c8357e62fec3c105bda4a1d 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_socks.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open color picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
 	 </panel>
 	 <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_underpants.xml b/indra/newview/skins/default/xui/en/panel_edit_underpants.xml
index d43497c943d6825abc1dd3202422c0c1c6f0af4f..bbe523034125062e35bff984d9763b6e50b91760 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_underpants.xml
@@ -32,7 +32,10 @@
              name="Fabric"
              tool_tip="Click to choose a picture"
              top="10"
-             width="64" />
+             width="64" >
+              <texture_picker.commit_callback
+                  function="TexturePicker.Commit" />
+            </texture_picker>
             <color_swatch
              can_apply_immediately="true"
              follows="left|top"
@@ -43,7 +46,10 @@
              name="Color/Tint"
              tool_tip="Click to open color picker"
              top="10"
-             width="64" />
+             width="64" >
+              <color_swatch.commit_callback
+                  function="ColorSwatch.Commit" />
+            </color_swatch>
 	 </panel>
 	 <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml
index 45c6ef4526dafd4fc61cdd17b091242c5f353a26..a79c1b9eaa1518cd95453f1d77e1c617cbeabdf8 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml
@@ -32,7 +32,10 @@
         name="Fabric"
         tool_tip="Click to choose a picture"
         top="10"
-        width="64" />
+        width="64" >
+         <texture_picker.commit_callback
+             function="TexturePicker.Commit" />
+       </texture_picker>
        <color_swatch
         can_apply_immediately="true"
         follows="left|top"
@@ -43,7 +46,10 @@
         name="Color/Tint"
         tool_tip="Click to open Color Picker"
         top="10"
-        width="64" />
+        width="64" >
+         <color_swatch.commit_callback
+             function="ColorSwatch.Commit" />
+       </color_swatch>
        </panel>
 	 <panel
          border="false"
diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
index aa7d621e4c8c4339e93346e414723df213be64b8..c1dc2aaaf78a047154b67b7d9d585347852b32c3 100644
--- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
@@ -36,7 +36,7 @@
              layout="topleft"
              name="speakers_list"
              opaque="false"
-             show_info_btn="false"
+             show_info_btn="true"
              show_profile_btn="false"
              show_speaking_indicator="false"
              width="145" />
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 27d66945d99f7d98c0b3722ed8e1b5d5755d61b8..46625144e150558d233f5762ab6124296446f2b9 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -3,7 +3,7 @@
  background_visible="true"
  default_tab_group="1"
  follows="all"
- height="408"
+ height="423"
  label="Things"
  layout="topleft"
  min_height="350"
@@ -48,7 +48,7 @@
    left="10"
    max_length="300"
    name="inventory search editor"
-   top="3"
+   top="18"
    width="303" />
   <tab_container
      bg_alpha_color="DkGray"
diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
index 73181392c9d7cf960b627ac4dc3a8c1a65491ca8..6a212306d663794069b0ca030c2c480404b11147 100644
--- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml
@@ -69,19 +69,21 @@
 
 <!-- "HEADER WITH ICON, STATUS TEXT AND OUTFIT NAME" -->
     <panel
+     background_visible="true"
+     bg_alpha_color="DkGray2"
      bevel_style="none"
      follows="top|left|right"
-     height="45"
+     height="40"
      label="bottom_panel"
      layout="topleft"
-     left="5"
+     left="6"
      name="header_panel"
      top_pad="5" 
-     width="300">
+     width="311">
         <icon
          follows="left|top"
          height="40"
-         image_name="t-shirt-image"
+         image_name="TabIcon_Appearance_Off"
          left="2"
          mouse_opaque="false"
          name="outfit_icon"
@@ -92,35 +94,35 @@
             <panel
              bevel_style="none"
              follows="top|right"
-             height="40"
+             height="38"
              label="bottom_panel"
              layout="topleft"
-             left_pad="10"
+             left_pad="5"
              name="outfit_name_and_status"
              top="2"
-             width="200">
+             width="270">
                 <text
                  follows="top|left|right"
-                 font="SansSerif"
+                 font="SansSerifSmallBold"
                  height="13"
                  layout="topleft"
                  name="status"
-                 text_color="Green"
-                 top="0"
-                 value="Editing..."
+                 text_color="EmphasisColor"
+                 top="2"
+                 value="Now editing..."
                  use_ellipses="true"
-                 width="275" /> 
+                 width="270" /> 
                 <text
                  follows="bottom|left|right"
-                 font="SansSerifHugeBold"
+                 font="SansSerifLargeBold"
                  height="26"
                  layout="topleft"
                  name="curr_outfit_name"
                  text_color="LtGray"
-                 top_pad="0"
+                 top_pad="2"
                  value="[Current Outfit]"
                  use_ellipses="true"
-                 width="275" /> 
+                 width="270" /> 
             </panel>
     </panel>
 
@@ -130,22 +132,21 @@
      animate="false"
      default_tab_group="2"
      follows="all"
-     height="470"
-     width="300"
+     height="495"
+     width="313"
      layout="topleft"
      orientation="vertical"
      name="im_panels"
      tab_group="1"
-     top_pad="10"
+     top_pad="5"
      left="5">
         <layout_panel
          layout="topleft"
-         follows="left|top|right"
          height="220"
          label="IM Control Panel"
          min_height="100"
          name="outfit_wearables_panel"
-         width="300"
+         width="313"
          auto_resize="true"
          user_resize="true">
 
@@ -157,11 +158,12 @@
              follows="left|top|right|bottom"
              height="193"
              layout="topleft"
-             left="0"
+             left="1"
              name="cof_wearables_list"
              top="0"
-             width="300" /> 
+             width="311" />
 
+          <!-- Button bar -->
           <panel
              background_visible="true"
              bevel_style="none"
@@ -171,8 +173,8 @@
              layout="topleft"
              left="0"
              name="edit_panel"
-             top_pad="0"
-             width="300">
+             top="193"
+             width="313">
                 <button
                  follows="bottom|left"
                  height="25"
@@ -185,67 +187,14 @@
                  name="gear_menu_btn"
                  top="1"
                  width="31" />
-                <button
-                 is_toggle="true"
-                 follows="bottom|left"
-                 height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay="AddItem_Off"
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
-                 layout="topleft"
-                 left_pad="1"
-                 name="add_btn"
-                 top="1"
-                 width="31" />
-                <button
-                 follows="bottom|left"
-                 height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay=""
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
-                 layout="topleft"
-                 left_pad="1"
-                 name="new_btn"
-                 top="1"
-                 width="31" />
-                <button
-                 follows="bottom|left"
-                 height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay="Movement_Forward_On"
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
-                 layout="topleft"
-                 left_pad="1"
-                 name="move_closer_btn"
-                 top="1"
-                 width="31" />
-                <button
-                 follows="bottom|left"
+                <icon
+                 follows="bottom|left|right"
                  height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay="Movement_Backward_On"
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
+                 image_name="Toolbar_Right_Off"
                  layout="topleft"
                  left_pad="1"
-                 name="move_further_btn"
-                 top="1"
-                 width="31" />
-                <button
-                 follows="bottom|right"
-                 height="25"
-                 image_hover_unselected="Toolbar_Middle_Over"
-                 image_overlay="TrashItem_Off"
-                 image_selected="Toolbar_Middle_Selected"
-                 image_unselected="Toolbar_Middle_Off"
-                 layout="topleft"
-                 name="remove_from_outfit_btn"
-                 right="-1"
-                 top="1"
-                 width="31" />
+                 name="dummy_right_icon"
+                 width="281" />
             </panel>
         </layout_panel>
 
@@ -256,7 +205,7 @@
          height="210" 
          min_height="210"
          name="add_wearables_panel"
-         width="300"
+         width="313"
          tab_group="2"
          user_resize="true"
          visible="false">
@@ -448,25 +397,28 @@
      follows="left|right|bottom"
      height="30"
      layout="topleft"
-     left="5"
-     top_pad="10"
+     left="4"
+     top_pad="2"
      name="save_revert_button_bar"
      width="300">
         <button
-         follows="bottom|left|right"
+         follows="bottom|left"
          height="23"
          label="Save"
          left="0"
          layout="topleft"
          name="save_btn"
-         width="145" />
+         top="0"
+         width="155" />
         <button
-         follows="bottom|right"
+         follows="bottom|left"
          height="23"
          name="save_flyout_btn"
          label=""
+         layout="topleft"
          left_pad="-20"
          tab_stop="false"
+         top="0"
          image_selected="SegmentedBtn_Right_Selected_Press"
          image_unselected="SegmentedBtn_Right_Off"
          image_pressed="SegmentedBtn_Right_Press"
@@ -476,10 +428,11 @@
         <button
          follows="bottom|left|right"
          height="23"
-         left_pad="15"
+         left_pad="12"
          label="Revert"
          layout="topleft"
          name="revert_btn"
-         width="145" />
+         top="0"
+         width="147" />
     </panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
index b8ad278da755f837b0477e81cb75197dd1987e2c..9e59651bd1d87d4644051980f2e5d56afe32c181 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
@@ -5,7 +5,7 @@
  background_opaque="true"
  background_visible="true"
   follows="all"
- height="570"
+ height="575"
  label="Things"
  layout="topleft"
  min_height="350"
@@ -14,7 +14,7 @@
  border="false">
    <tab_container
      follows="all"
-     height="501"
+     height="509"
      layout="topleft"
      left="7"
      name="appearance_tabs"
@@ -22,6 +22,7 @@
      tab_height="30"
      tab_position="top"
      halign="center"
+     top="8"
      width="312">
          <panel
            class="outfits_list"
@@ -50,8 +51,8 @@
    </tab_container>
 	 <panel
        background_visible="true"
-	  follows="bottom|left"
-	  height="73"
+	  follows="bottom|left|right"
+	  height="57"
 	  layout="topleft"
 	  left="9"
 	  top_pad="-1"
@@ -72,7 +73,7 @@
          top="1"
          width="31" />
      <icon
-      follows="bottom|left"
+      follows="bottom|left|right"
       height="25"
       image_name="Toolbar_Middle_Off"
       layout="topleft"
@@ -82,7 +83,7 @@
         />
 
         <dnd_button
-         follows="bottom|left"
+         follows="bottom|right"
          height="25"
          image_hover_unselected="Toolbar_Right_Over"
           image_overlay="TrashItem_Off"
@@ -104,7 +105,7 @@
        left="0"
       width="153" />
      <button
-      follows="bottom|right" 
+      follows="bottom|left|right" 
       height="23" 
       label="Wear"
       layout="topleft"
@@ -112,16 +113,6 @@
       left_pad="3"
       tool_tip="Wear selected outfit"
       width="152" />
-	 <button
-	  follows="bottom|left"
-		height="23" 
-		label="Edit Outfit" 
-		layout="topleft"
-        right="-140"
-		name="edit_current_outfit_btn"
-        top="26"
-        visible="false" 
-		width="50" />
 	 </panel>
        
 </panel>
\ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index 066ea3be6e2a75aa8cb7edd94b18fab814d7069a..7e212c938395a9f7adc6453616a3af0a0f17f40a 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -490,6 +490,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M
          label="Share"
          layout="topleft"
          name="share_btn"
+         tool_tip="Share an inventory item"
          width="62" />
         <button
          follows="bottom|left"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index 3ef16d2dec4ba515e1cb013056d8808a48e9cd9a..ba967d3e2c0961f2bb21b9c8c2c688a99dfbad16 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -330,7 +330,7 @@
     <check_box
      enabled="false"
      height="16"
-     label="Enable plain text chat history"
+     label="Enable plain text IM and chat history"
      layout="topleft"
      left_delta="0"
      name="plain_text_chat_history"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
index 73650a19dc370133ea9acaec49462426868a89ad..e74c70789fc5e8f9cf9fdd81b38c67385406c06a 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
@@ -15,63 +15,85 @@ width="333">
    <string
    name="No Outfit"
    value="No Outfit" />
+   <string
+   name="Unsaved Changes"
+   value="Unsaved changes" />
+   <string
+   name="Now Wearing"
+   value="Now wearing..." />
    <panel
-   left="0"
-   top="0"
-   follows="all"
+   background_opaque="true"
+   background_visible="true"
+   bg_opaque_color="DkGray2"
+   left="10"
+   top="5"
+   follows="left|top|right"
    layout="topleft"
-   width="330"
+   width="303"
    height="33"
    name="panel_currentlook"
    >
       <button
       follows="left|top"
-      top="0"  width="1" height="1"
+      left="205" top="7" width="20" height="20"
+      label="E"
       layout="topleft"
-      left="0"
-      name="editappearance_btn" />
+      name="editappearance_btn"
+      visible="false" />
       <button
       follows="left|top"
-      top="0"  width="1" height="1"
+      left="235" top="7" width="20" height="20"
+      label="O"
       layout="topleft"
-      left="0"
-      name="openoutfit_btn" />
+      name="openoutfit_btn"
+      visible="false" />
       <icon
       follows="top|left"
-      height="24"
+      height="32"
       image_name="TabIcon_Appearance_Off"
       name="outfit_icon"
       mouse_opaque="false"
       visible="true"
-      left="9"
+      left="0"
       top="0"
-      width="24" />
+      width="32" />
       <text
-      font="SansSerifHugeBold"
+      font="SansSerifSmallBold"
+      text_color="EmphasisColor"
+      width="300"
+      height="10"
+      follows="top|left"
+      layout="topleft"
+      left="35"
+      top="3"
+      mouse_opaque="false"
+      name="currentlook_status" >
+      (Status)
+      </text>
+      <text
+      font="SansSerifLargeBold"
       height="20"
-      left_pad="5"
-      text_color="LtGray"
-      top="0"
+      left="35"
+      text_color="White"
+      top="15"
       use_ellipses="true"
-      width="305"
+      width="230"
       follows="top|left"
-      word_wrap="true"
+      word_wrap="false"
       mouse_opaque="false"
       name="currentlook_name">
       MyOutfit With a really Long Name like MOOSE
       </text>
-      <text
-      font="SansSerifSmall"
-      text_color="White_50"
-      width="300"
-      height="1"
-      follows="top|left"
+      <button
+      follows="left|top"
+      height="20"
+      image_overlay="windows/Icon_Gear_Over.png"
+      label=""
       layout="topleft"
-      top_pad="5"
-      mouse_opaque="false"
-      name="currentlook_title" >
-      (unsaved)
-       </text>
+      left="265"
+      name="edit_outfit_btn"
+      top="7"
+      width="30" />
    </panel>
    <filter_editor
    height="23"
@@ -87,7 +109,7 @@ width="333">
    class="panel_outfits_inventory"
    filename="panel_outfits_inventory.xml"
    name="panel_outfits_inventory"
-   height="505"
+   height="493"
    min_height="410"
    width="320"
    left="0"
@@ -106,7 +128,7 @@ width="333">
    <panel
    class="panel_outfit_edit"
    filename="panel_outfit_edit.xml"
-   height="550"
+   height="565"
    follows="all"
    layout="topleft"
    left="5"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index b0e43e72ed65d78b687f2bfa12fbe5b4d5453fac..f544449d02b1379e386fb2c028f14c7c1ecbbafc 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1802,6 +1802,20 @@ Clears (deletes) the media and all params from the given face.
 	<string name="alpha">Alpha</string>
 	<string name="tattoo">Tattoo</string>
 	<string name="invalid">invalid</string>
+  
+  <!-- Not Worn Wearable Types -->
+	<string name="shirt_not_worn">Shirt not worn</string>
+	<string name="pants_not_worn">Pants not worn</string>
+	<string name="shoes_not_worn">Shoes not worn</string>
+	<string name="socks_not_worn">Socks not worn</string>
+	<string name="jacket_not_worn">Jacket not worn</string>
+	<string name="gloves_not_worn">Gloves not worn</string>
+	<string name="undershirt_not_worn">Undershirt not worn</string>
+	<string name="underpants_not_worn">Underpants not worn</string>
+	<string name="skirt_not_worn">Skirt not worn</string>
+	<string name="alpha_not_worn">Alpha not worn</string>
+	<string name="tattoo_not_worn">Tattoo not worn</string>
+	<string name="invalid_not_worn">invalid</string>
 
   <!-- Wearable List-->
   <string name="NewWearable">New [WEARABLE_ITEM]</string>
@@ -2149,10 +2163,11 @@ Clears (deletes) the media and all params from the given face.
   <string name="BusyModeResponseDefault">The Resident you messaged is in &apos;busy mode&apos; which means they have requested not to be disturbed.  Your message will still be shown in their IM panel for later viewing.</string>
 
 	<!-- Mute -->
-	<string name="MuteByName">(by name)</string>
+	<string name="MuteByName">(By name)</string>
 	<string name="MuteAgent">(Resident)</string>
-	<string name="MuteObject">(object)</string>
-	<string name="MuteGroup">(group)</string>
+	<string name="MuteObject">(Object)</string>
+	<string name="MuteGroup">(Group)</string>
+	<string name="MuteExternal">(External)</string>
 
 	<!-- Region/Estate Covenant -->
 	<string name="RegionNoCovenant">There is no Covenant provided for this Estate.</string>
@@ -2951,8 +2966,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
 
 	<!-- voice calls -->
 	<string name="answered_call">Your call has been answered</string>
-	<string name="started_call">Started a voice call</string>
-	<string name="joined_call">Joined the voice call</string>
+	<string name="you_started_call">You started a voice call</string>
+	<string name="you_joined_call">You joined the voice call</string>
+	<string name="name_started_call">[NAME] started a voice call</string>
 
   <string name="ringing-im">
     Joining voice call...
diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml
index cb1aa5eaa14c591adfaddee86c5d581adfa58d64..ebd0bdb3d725ad4584abc63a1fe85a4921afcf53 100644
--- a/indra/newview/skins/default/xui/es/floater_about.xml
+++ b/indra/newview/skins/default/xui/es/floater_about.xml
@@ -43,19 +43,14 @@ Versión de Vivox: [VIVOX_VERSION]
 		</panel>
 		<panel label="Créditos" name="credits_panel">
 			<text_editor name="credits_editor">
-				Te ofrecen Second Life Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les y muchos otros.
+				Te ofrecen Second Life Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain, y muchos otros.
 
-Gracias a los siguientes Residentes por ayudarnos a estar seguros de que, hoy por hoy, esta es la mejor versión: (pendiente)
+Gracias a estos Residentes por ayudarnos a estar seguros de que, con todo, esta es la mejor versión: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan, y muchos otros.
 
 
 
 
-
-
-
-
-No es frecuente la mente que puede hacer que lo que hasta ahora no existía de pronto salte a la vista. Sí es frecuente -y engañoso- gritar &apos;A mí se me podía haber ocurrido eso&apos;, pero el hecho es que no se hizo, un hecho muy significativo y revelador.
- -- Douglas Adams
+&quot;El trabajo sigue avanzando, la causa perdura, la esperanza aún vive, y los sueños no morirán jamás&quot; - Edward Kennedy
 			</text_editor>
 		</panel>
 		<panel label="Licencias" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/es/floater_animation_preview.xml b/indra/newview/skins/default/xui/es/floater_animation_preview.xml
index a40d53a8a87477c31ce88dc521f615b9d2e9b8c7..d57405f7e5ade593423a58b0fa1e30abcd7ad5a7 100644
--- a/indra/newview/skins/default/xui/es/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_animation_preview.xml
@@ -141,35 +141,35 @@ La duración máxima de una animación es de [MAX_LENGTH] segundos.
 		Expresión
 	</text>
 	<combo_box name="emote_combo" tool_tip="Controla qué hace la cara durante la animación">
-		<combo_box.item label="(ninguno)" name="[None]"/>
-		<combo_box.item label="Aaaaah" name="Aaaaah"/>
-		<combo_box.item label="Con miedo" name="Afraid"/>
-		<combo_box.item label="Enfado" name="Angry"/>
-		<combo_box.item label="Gran sonrisa" name="BigSmile"/>
-		<combo_box.item label="Aburrimiento" name="Bored"/>
-		<combo_box.item label="Llorar" name="Cry"/>
-		<combo_box.item label="Desdén" name="Disdain"/>
-		<combo_box.item label="Avergonzarse" name="Embarrassed"/>
-		<combo_box.item label="Fruncir el ceño" name="Frown"/>
-		<combo_box.item label="Beso" name="Kiss"/>
-		<combo_box.item label="Reír" name="Laugh"/>
-		<combo_box.item label="Sacar la lengua" name="Plllppt"/>
-		<combo_box.item label="Rechazo" name="Repulsed"/>
-		<combo_box.item label="Triste" name="Sad"/>
-		<combo_box.item label="Encogerse de hombros" name="Shrug"/>
-		<combo_box.item label="Sonrisa" name="Smile"/>
-		<combo_box.item label="Sorpresa" name="Surprise"/>
-		<combo_box.item label="Guiño" name="Wink"/>
-		<combo_box.item label="Preocupación" name="Worry"/>
+		<item label="(ninguno)" name="[None]" value=""/>
+		<item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+		<item label="Con miedo" name="Afraid" value="Miedo"/>
+		<item label="Enfado" name="Angry" value="Enfado"/>
+		<item label="Gran sonrisa" name="BigSmile" value="Gran sonrisa"/>
+		<item label="Aburrimiento" name="Bored" value="Aburrimiento"/>
+		<item label="Llorar" name="Cry" value="Lloro"/>
+		<item label="Desdén" name="Disdain" value="Desdén"/>
+		<item label="Avergonzarse" name="Embarrassed" value="Vergüenza"/>
+		<item label="Fruncir el ceño" name="Frown" value="Fruncir el ceño"/>
+		<item label="Beso" name="Kiss" value="Beso"/>
+		<item label="Reír" name="Laugh" value="Risa"/>
+		<item label="Sacar la lengua" name="Plllppt" value="Sacar la lengua"/>
+		<item label="Rechazo" name="Repulsed" value="Rechazo"/>
+		<item label="Triste" name="Sad" value="Tristeza"/>
+		<item label="Encogerse de hombros" name="Shrug" value="Encogerse de hombros"/>
+		<item label="Sonrisa" name="Smile" value="Sonrisa"/>
+		<item label="Sorpresa" name="Surprise" value="Sorpresa"/>
+		<item label="Guiño" name="Wink" value="Guiño"/>
+		<item label="Preocupación" name="Worry" value="Preocupación"/>
 	</combo_box>
 	<text name="preview_label">
 		Vista previa mientras
 	</text>
 	<combo_box name="preview_base_anim" tool_tip="Compruebe cómo se comporta su animación a la vez que el avatar realiza acciones comunes.">
-		<combo_box.item label="De pie" name="Standing"/>
-		<combo_box.item label="Caminando" name="Walking"/>
-		<combo_box.item label="Sentado/a" name="Sitting"/>
-		<combo_box.item label="Volando" name="Flying"/>
+		<item label="De pie" name="Standing" value="De pie"/>
+		<item label="Caminando" name="Walking" value="Caminando"/>
+		<item label="Sentado/a" name="Sitting" value="Sentado"/>
+		<item label="Volando" name="Flying" value="Volando"/>
 	</combo_box>
 	<spinner label="Combinar (sec)" name="ease_in_time" tool_tip="Tiempo (en segundos) en el que se combinan las animaciones"/>
 	<spinner label="Dejar de combinar (sec)" name="ease_out_time" tool_tip="Tiempo (en segundos) en el que dejan de combinarse las animaciones"/>
diff --git a/indra/newview/skins/default/xui/es/floater_god_tools.xml b/indra/newview/skins/default/xui/es/floater_god_tools.xml
index 73187f208b3e5eea16897dfc0e5de55efef390ae..218a5effe824f0655d845cd2e983d7654b5b7f02 100644
--- a/indra/newview/skins/default/xui/es/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/es/floater_god_tools.xml
@@ -2,12 +2,11 @@
 <floater name="godtools floater" title="HERRAMIENTAS DE DIOS">
 	<tab_container name="GodTools Tabs">
 		<panel label="Red" name="grid">
-			<button label="Expulsar a todos los Residentes" label_selected="Expulsar a todos los Residentes" name="Kick all users"/>
 			<button label="Vaciar los caches de visibilidad del mapa de la región" label_selected="Vaciar los caches de visibilidad del mapa de la región" name="Flush This Region&apos;s Map Visibility Caches"/>
 		</panel>
 		<panel label="Región" name="region">
-			<text name="Sim Name:">
-				Nombre del Sim:
+			<text name="Region Name:">
+				Nombre de la región:
 			</text>
 			<check_box label="Preludio" name="check prelude" tool_tip="Defina esté para hacer un preludio de la región."/>
 			<check_box label="Sol fijo" name="check fixed sun" tool_tip="Fijar la posición del sol (así como en Región/Propiedad &gt; Terreno."/>
@@ -47,8 +46,8 @@
 			<button label="Guardado automático ahora" label_selected="Guardado automático ahora" name="Autosave now" tool_tip="Guardar estado con gzip en el directorio de guardado automático."/>
 		</panel>
 		<panel label="Objetos" name="objects">
-			<text name="Sim Name:">
-				Nombre del Sim:
+			<text name="Region Name:">
+				Nombre de la región:
 			</text>
 			<text name="region name">
 				Galés
diff --git a/indra/newview/skins/default/xui/es/floater_image_preview.xml b/indra/newview/skins/default/xui/es/floater_image_preview.xml
index 0ad91265c9a922c38ac81c3af1f53f2dc5f573f5..84c5bfc824aa43033ec3fe727028670cc588693f 100644
--- a/indra/newview/skins/default/xui/es/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_image_preview.xml
@@ -11,16 +11,16 @@
 imagen como:
 	</text>
 	<combo_box label="Tipo de ropa" left="100" name="clothing_type_combo" width="186">
-		<combo_box.item label="Imagen" name="Image"/>
-		<combo_box.item label="Pelo" name="Hair"/>
-		<combo_box.item label="Mujer: cabeza" name="FemaleHead"/>
-		<combo_box.item label="Mujer: parte superior del cuerpo" name="FemaleUpperBody"/>
-		<combo_box.item label="Mujer: parte inferior del cuerpo" name="FemaleLowerBody"/>
-		<combo_box.item label="Varón: cabeza" name="MaleHead"/>
-		<combo_box.item label="Varón: parte superior del cuerpo" name="MaleUpperBody"/>
-		<combo_box.item label="Varón: parte inferior del cuerpo" name="MaleLowerBody"/>
-		<combo_box.item label="Falda" name="Skirt"/>
-		<combo_box.item label="Prim sculpted" name="SculptedPrim"/>
+		<item label="Imagen" name="Image" value="Imagen"/>
+		<item label="Pelo" name="Hair" value="Pelo"/>
+		<item label="Mujer: cabeza" name="FemaleHead" value="Mujer: cabeza"/>
+		<item label="Mujer: parte superior del cuerpo" name="FemaleUpperBody" value="Mujer: parte superior del cuerpo"/>
+		<item label="Mujer: parte inferior del cuerpo" name="FemaleLowerBody" value="Mujer: parte inferior del cuerpo"/>
+		<item label="Varón: cabeza" name="MaleHead" value="Varón: cabeza"/>
+		<item label="Varón: parte superior del cuerpo" name="MaleUpperBody" value="Varón: parte superior del cuerpo"/>
+		<item label="Varón: parte inferior del cuerpo" name="MaleLowerBody" value="Varón: parte inferior del cuerpo"/>
+		<item label="Falda" name="Skirt" value="Falda"/>
+		<item label="Prim sculpted" name="SculptedPrim" value="Prim sculpted"/>
 	</combo_box>
 	<text name="bad_image_text">
 		Imposible leer la imagen.
diff --git a/indra/newview/skins/default/xui/es/floater_outgoing_call.xml b/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
index e2a53693b52c8f30b7cf5f0bb776a8b0059b208a..5fd9dba9ac6beed2edbdb1ae4c0f37b93e54f5ec 100644
--- a/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		Has sido desconectado de [VOICE_CHANNEL_NAME].  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] ha colgado la llamada.  [RECONNECT_NEARBY]
+		Tu llamada ha acabado.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		Has finalizado la llamada.  [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/es/floater_snapshot.xml b/indra/newview/skins/default/xui/es/floater_snapshot.xml
index febb51e5d61856bbf7df938d9896adcb5f6fd884..151421c2443289e2be97c96f4247458ea69984a0 100644
--- a/indra/newview/skins/default/xui/es/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/es/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="VISTA PREVIA DE LA FOTO">
-	<text name="type_label">
-		Destino de la foto
-	</text>
-	<radio_group label="Tipo de la foto" name="snapshot_type_radio">
-		<radio_item label="Correo-e" name="postcard"/>
-		<radio_item label="Mi inventario ([AMOUNT] L$)" name="texture"/>
-		<radio_item label="Guardar en mi ordenador" name="local"/>
-	</radio_group>
-	<text name="file_size_label">
-		[SIZE] KB
-	</text>
-	<button label="Actualizar la foto" name="new_snapshot_btn"/>
-	<button label="Enviar" name="send_btn"/>
-	<button label="Guardar ([AMOUNT] L$)" name="upload_btn"/>
-	<flyout_button label="Guardar" name="save_btn" tool_tip="Guardar la imagen en un archivo">
-		<flyout_button_item label="Guardar" name="save_item"/>
-		<flyout_button_item label="Guardar como..." name="saveas_item"/>
-	</flyout_button>
-	<button label="Cancelar" name="discard_btn"/>
-	<button label="Más" name="more_btn" tool_tip="Opciones avanzadas"/>
-	<button label="Menos" name="less_btn" tool_tip="Opciones avanzadas"/>
-	<text name="type_label2">
-		Tamaño
-	</text>
-	<text name="format_label">
-		Formato
-	</text>
-	<combo_box label="Resolución" name="postcard_size_combo">
-		<combo_box.item label="Ventana actual" name="CurrentWindow"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="Personalizar" name="Custom"/>
-	</combo_box>
-	<combo_box label="Resolución" name="texture_size_combo">
-		<combo_box.item label="Ventana actual" name="CurrentWindow"/>
-		<combo_box.item label="Pequeño (128x128)" name="Small(128x128)"/>
-		<combo_box.item label="Medio (256x256)" name="Medium(256x256)"/>
-		<combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
-		<combo_box.item label="Personalizar" name="Custom"/>
-	</combo_box>
-	<combo_box label="Resolución" name="local_size_combo">
-		<combo_box.item label="Ventana actual" name="CurrentWindow"/>
-		<combo_box.item label="320x240" name="320x240"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="1280x1024" name="1280x1024"/>
-		<combo_box.item label="1600x1200" name="1600x1200"/>
-		<combo_box.item label="Personalizar" name="Custom"/>
-	</combo_box>
-	<combo_box label="Formato" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="Ancho" label_width="41" name="snapshot_width" width="101"/>
-	<spinner label="Alto" label_width="30" left="121" name="snapshot_height" width="90"/>
-	<check_box label="Mantener las proporciones" name="keep_aspect_check"/>
-	<slider label="Calidad de la imagen" name="image_quality_slider"/>
-	<text name="layer_type_label">
-		Captura:
-	</text>
-	<combo_box label="Capas de la imagen" name="layer_types">
-		<combo_box.item label="Colores" name="Colors"/>
-		<combo_box.item label="Profundidad" name="Depth"/>
-		<combo_box.item label="Bandas negras" name="ObjectMattes"/>
-	</combo_box>
-	<check_box label="Interfaz" name="ui_check"/>
-	<check_box bottom_delta="-17" label="HUDs" name="hud_check"/>
-	<check_box bottom_delta="-17" label="Mantenerla abierta tras guardarla" name="keep_open_check"/>
-	<check_box bottom_delta="-17" label="Congelar la toma (pantalla completa)" name="freeze_frame_check"/>
-	<check_box bottom_delta="-29" label="Actualizar automáticamente" name="auto_snapshot_check"/>
-	<string name="unknown">
+<floater name="Snapshot" title="Foto">
+	<floater.string name="unknown">
 		desconocido
-	</string>
+	</floater.string>
+	<button label="Actualizar la foto" name="new_snapshot_btn"/>
+	<line_editor label="Descripción" name="description"/>
+	<button label="Compartir la foto" name="share"/>
+	<button label="Compartir en la web" name="share_to_web"/>
+	<button label="Guardar en mi inventario" name="save_to_inventory"/>
+	<button label="Guardar la foto" name="save"/>
+	<button label="Foto por correo-e" name="share_to_email"/>
+	<button label="Guardar en mi ordenador" name="save_to_computer"/>
+	<button label="Usar como imagen del perfil" name="set_profile_pic"/>
+	<button label="Atrás" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/es/floater_tos.xml b/indra/newview/skins/default/xui/es/floater_tos.xml
index 7dd91f29fafb832d087e4696d49301cf7d9020eb..f4a0897d7352573d86f1325e22184e0523fa8573 100644
--- a/indra/newview/skins/default/xui/es/floater_tos.xml
+++ b/indra/newview/skins/default/xui/es/floater_tos.xml
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title=" ">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="Continuar" label_selected="Continuar" name="Continue"/>
 	<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
 	<check_box label="Acepto las Condiciones del servicio y la Política de privacidad" name="agree_chk"/>
 	<text name="tos_heading">
 		Por favor, lee detenidamente las siguientes Condiciones del servicio y Política de privacidad. Debes aceptar el acuerdo para poder iniciar sesión en [SECOND_LIFE].
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<string name="real_url">
-		http://secondlife.com/app/tos/
-	</string>
 </floater>
diff --git a/indra/newview/skins/default/xui/es/menu_attachment_other.xml b/indra/newview/skins/default/xui/es/menu_attachment_other.xml
index 12acb572dcf3c5c5e5f730f4cda45caa807252f5..00bdb748813ee6d973b9e63ba014b449da8e429c 100644
--- a/indra/newview/skins/default/xui/es/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/es/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Denunciar" name="abuse"/>
 	<menu_item_call label="Congelar" name="Freeze..."/>
 	<menu_item_call label="Expulsar" name="Eject..."/>
-	<menu_item_call label="Depurar" name="Debug..."/>
+	<menu_item_call label="Depurar las texturas" name="Debug..."/>
 	<menu_item_call label="Acercar el zoom" name="Zoom In"/>
 	<menu_item_call label="Pagar" name="Pay..."/>
 	<menu_item_call label="Perfil del objeto" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/es/menu_attachment_self.xml b/indra/newview/skins/default/xui/es/menu_attachment_self.xml
index 8cbe4299a88be29f7a912b8ae37953d06eafae1a..650ac7885513952de9cb40bc7cee150c5fcd6180 100644
--- a/indra/newview/skins/default/xui/es/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/es/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="Mis amigos" name="Friends..."/>
 	<menu_item_call label="Mis grupos" name="Groups..."/>
 	<menu_item_call label="Mi perfil" name="Profile..."/>
+	<menu_item_call label="Depurar las texturas" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_avatar_other.xml b/indra/newview/skins/default/xui/es/menu_avatar_other.xml
index 83801e872ddeb713d67a2a331456c2d2e4780345..7df2d7c4e08ea2e60ad228d224070a5876873f5e 100644
--- a/indra/newview/skins/default/xui/es/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/es/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Denunciar" name="abuse"/>
 	<menu_item_call label="Congelar" name="Freeze..."/>
 	<menu_item_call label="Expulsar" name="Eject..."/>
-	<menu_item_call label="Depurar" name="Debug..."/>
+	<menu_item_call label="Depurar las texturas" name="Debug..."/>
 	<menu_item_call label="Acercar el zoom" name="Zoom In"/>
 	<menu_item_call label="Pagar" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_avatar_self.xml b/indra/newview/skins/default/xui/es/menu_avatar_self.xml
index 67e56844b1fee55b31c94d4e755fe0ccda5651d0..5b7249843937e4a19337cf9be37e17d6edf76788 100644
--- a/indra/newview/skins/default/xui/es/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/es/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="Mis amigos" name="Friends..."/>
 	<menu_item_call label="Mis grupos" name="Groups..."/>
 	<menu_item_call label="Mi perfil" name="Profile..."/>
+	<menu_item_call label="Depurar las texturas" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_edit.xml b/indra/newview/skins/default/xui/es/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..96fc9d88813ec850f13b17ca15808164fb74fd25
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Editar" name="Edit">
+	<menu_item_call label="Deshacer" name="Undo"/>
+	<menu_item_call label="Rehacer" name="Redo"/>
+	<menu_item_call label="Cortar" name="Cut"/>
+	<menu_item_call label="Copiar" name="Copy"/>
+	<menu_item_call label="Pegar" name="Paste"/>
+	<menu_item_call label="Borrar" name="Delete"/>
+	<menu_item_call label="Duplicar" name="Duplicate"/>
+	<menu_item_call label="Seleccionar todo" name="Select All"/>
+	<menu_item_call label="Deseleccionar" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
index 34f6b8ece71dd256225cd95deb2bdfb5edbf84e1..236289f82a0ccd25e3448143fa53d3c51b80e767 100644
--- a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="Denunciar" name="report"/>
 	<menu_item_call label="Congelar" name="freeze"/>
 	<menu_item_call label="Expulsar" name="eject"/>
-	<menu_item_call label="Depurar" name="debug"/>
+	<menu_item_call label="Depurar las texturas" name="debug"/>
 	<menu_item_call label="Encontrar en el mapa" name="find_on_map"/>
 	<menu_item_call label="Acercar el zoom" name="zoom_in"/>
 	<menu_item_call label="Pagar" name="pay"/>
diff --git a/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml
index f21866e54f63f3e8108302fe03fa62424cd4fbcc..af5c17d7cbdcd8cc688f1ba9e99e764548e7dceb 100644
--- a/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="Mi perfil" name="my_profile"/>
 	<menu_item_call label="Mis amigos" name="my_friends"/>
 	<menu_item_call label="Mis grupos" name="my_groups"/>
+	<menu_item_call label="Depurar las texturas" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20d99afde11e8a606ef2252375567b9c457b6f7c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="Cerrar" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index 602798b10861807592dc2428463d21905d71bcf5..ea68bc5bee97ec3ae2153144d060c8ce5f516ab8 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="Compartir" name="Share"/>
 	<menu_item_call label="Comprar" name="Task Buy"/>
 	<menu_item_call label="Abrir" name="Task Open"/>
 	<menu_item_call label="Ejecutar" name="Task Play"/>
diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml
index 7ebe2e0c317b6e33ba797e88e3aad7f22a983675..df21ced9ab6aba9b3e9f12c0ca18e6ee690ae63a 100644
--- a/indra/newview/skins/default/xui/es/menu_login.xml
+++ b/indra/newview/skins/default/xui/es/menu_login.xml
@@ -7,18 +7,8 @@
 	<menu label="Ayuda" name="Help">
 		<menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
 	</menu>
+	<menu_item_check label="Mostrar el menú &apos;Debug&apos;" name="Show Debug Menu"/>
 	<menu label="Depurar" name="Debug">
-		<menu label="Editar" name="Edit">
-			<menu_item_call label="Deshacer" name="Undo"/>
-			<menu_item_call label="Rehacer" name="Redo"/>
-			<menu_item_call label="Cortar" name="Cut"/>
-			<menu_item_call label="Copiar" name="Copy"/>
-			<menu_item_call label="Pegar" name="Paste"/>
-			<menu_item_call label="Borrar" name="Delete"/>
-			<menu_item_call label="Duplicar" name="Duplicate"/>
-			<menu_item_call label="Seleccionar todo" name="Select All"/>
-			<menu_item_call label="Deseleccionar" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/>
 		<menu_item_call label="Configuraciones del Visor/Color" name="UI/Color Settings"/>
 		<menu label="Pruebas de la interfaz" name="UI Tests"/>
@@ -26,5 +16,7 @@
 		<menu_item_call label="Mostrar los &apos;TOS&apos;" name="TOS"/>
 		<menu_item_call label="Mostrar mensaje crítico" name="Critical"/>
 		<menu_item_call label="Web Browser Test" name="Web Browser Test"/>
+		<menu_item_check label="Mostrar el selector de Grid" name="Show Grid Picker"/>
+		<menu_item_call label="Mostrar la consola de notificaciones" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/es/menu_participant_list.xml b/indra/newview/skins/default/xui/es/menu_participant_list.xml
index ed69683de9fa6e87f1c74819672307ce7b293e5e..0985f308ae71748c05e4f1b460e9a9e93ca753a9 100644
--- a/indra/newview/skins/default/xui/es/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/es/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="Llamar" name="Call"/>
 	<menu_item_call label="Compartir" name="Share"/>
 	<menu_item_call label="Pagar" name="Pay"/>
+	<menu_item_check label="Ver los iconos de la gente" name="View Icons"/>
 	<menu_item_check label="Ignorar la voz" name="Block/Unblock"/>
 	<menu_item_check label="Ignorar el texto" name="MuteText"/>
 	<context_menu label="Opciones del moderador &gt;" name="Moderator Options">
diff --git a/indra/newview/skins/default/xui/es/menu_save_outfit.xml b/indra/newview/skins/default/xui/es/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f21dd32b80d040a9daa114310694db1d9d971531
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="Guardar" name="save_outfit"/>
+	<menu_item_call label="Guardar como nuevo" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_script_chiclet.xml b/indra/newview/skins/default/xui/es/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f517baf56626397bb956ed38c0287cd6ae0fe65c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="Cerrar" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index 323e7c98bff72e5f282099e2f346c886239f7729..c9ae4def46eef1d9166333e10dc07ab55ddb05f8 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="Foto" name="Take Snapshot"/>
 		<menu_item_call label="Crear un hito de este sitio" name="Create Landmark Here"/>
 		<menu label="Perfil del lugar" name="Land">
+			<menu_item_call label="Perfil del lugar" name="Place Profile"/>
 			<menu_item_call label="Acerca del terreno" name="About Land"/>
 			<menu_item_call label="Región/Estado" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="Herramienta Crear" name="Create"/>
 			<menu_item_call label="Herramienta Terreno" name="Land"/>
 		</menu>
-		<menu label="Editar" name="Edit">
-			<menu_item_call label="Deshacer" name="Undo"/>
-			<menu_item_call label="Rehacer" name="Redo"/>
-			<menu_item_call label="Cortar" name="Cut"/>
-			<menu_item_call label="Copiar" name="Copy"/>
-			<menu_item_call label="Pegar" name="Paste"/>
-			<menu_item_call label="Eliminar" name="Delete"/>
-			<menu_item_call label="Duplicar" name="Duplicate"/>
-			<menu_item_call label="Seleccionar todo" name="Select All"/>
-			<menu_item_call label="Deseleccionar" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Enlazar" name="Link"/>
 		<menu_item_call label="Desenlazar" name="Unlink"/>
 		<menu_item_check label="Editar las partes enlazadas" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu label="Avanzado" name="Advanced">
+		<menu_item_check label="Mostrar el menú Avanzado" name="Show Advanced Menu"/>
 		<menu_item_call label="Parar mis animaciones" name="Stop Animating My Avatar"/>
 		<menu_item_call label="Recargar las texturas" name="Rebake Texture"/>
 		<menu_item_call label="Interfaz en el tamaño predeterminado" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="Realzar las transparencias" name="Highlight Transparent"/>
 			<menu_item_check label="Mostrar los HUD anexados" name="Show HUD Attachments"/>
 			<menu_item_check label="Mostrar el Punto de Mira en la vista subjetiva" name="ShowCrosshairs"/>
-			<menu_item_check label="Mostrar información complementaria del terreno" name="Land Tips"/>
 		</menu>
 		<menu label="Objetos representados" name="Rendering Types">
 			<menu_item_check label="Simple" name="Simple"/>
@@ -201,7 +191,7 @@
 			<menu_item_call label="Pantalla completa" name="Toggle Fullscreen"/>
 		</menu>
 		<menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/>
-		<menu_item_check label="Mostrar el menú 'Develop'" name="Debug Mode"/>
+		<menu_item_check label="Mostrar el menú &apos;Develop&apos;" name="Debug Mode"/>
 	</menu>
 	<menu label="Develop" name="Develop">
 		<menu label="Consoles" name="Consoles">
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 082841af311b342a23ef9cd0fc1d3eab01af16ae..49f30ae8077249c93b43c3f1043592daf1007032 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -349,7 +349,7 @@ No se reembolsan las cuotas pagadas.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		¿Borrar el destacado [PICK]?
+		¿Borrar el destacado &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -929,6 +929,16 @@ no tienes el permiso de comprar terreno para el grupo que tienes activado actual
 			<button name="Cancel" text="Cancelar"/>
 		</form>
 	</notification>
+	<notification label="Guardar el vestuario" name="SaveOutfitAs">
+		Guardar como un nuevo vestuario lo que estoy llevando:
+		<form name="form">
+			<input name="message">
+				[DESC] (nuevo)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="Cancelar"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		¿Quieres quitar a [FIRST_NAME] [LAST_NAME] de tu lista de amigos?
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
@@ -1421,6 +1431,10 @@ Se ocultará el chat y los mensajes instantáneos (éstos recibirán tu Respuest
 		¿Teleportarte a [CLASSIFIED]?
 		<usetemplate ignoretext="Confirmar el teleporte a una localización de los Clasificados" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		¿Teleportarse a [HISTORY_ENTRY]?
+		<usetemplate ignoretext="Confirmar que quiero teleportarme a una localización del historial" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
+	</notification>
 	<notification label="Mensaje a todo el estado" name="MessageEstate">
 		Escribe un anuncio breve que se enviará a todo el que esté en tu estado.
 		<form name="form">
@@ -1512,6 +1526,9 @@ Puedes pulsar &apos;Cambiar las Preferencias&apos; para incrementar las preferen
 			<ignore name="ignore" text="Mis preferencias sobre nivel de calificación me impiden entrar a esta región"/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		Tu preferencia actual de calificación es [RATING].
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		No puedes reclamar este terreno por su nivel de calificación. Puede deberse a que no hay información validada de tu edad.
 
@@ -1926,6 +1943,9 @@ Publícala en una página web para que otros puedan acceder fácilmente a esta p
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		Cancelado
 	</notification>
@@ -1954,6 +1974,11 @@ Publícala en una página web para que otros puedan acceder fácilmente a esta p
 		Subiendo fotos del mundo y del sitio web...
 (tardará unos 5 minutos).
 	</notification>
+	<notification name="UploadConfirmation">
+		La subida cuesta [AMOUNT] L$.
+¿Quieres continuar?
+		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Subir"/>
+	</notification>
 	<notification name="UploadPayment">
 		Has pagado [AMOUNT] LS por la subida.
 	</notification>
@@ -2295,9 +2320,9 @@ Por favor, vuelve a intentarlo en unos momentos.
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] te ofrece teleportarte a su localización:
+		[NAME_SLURL] te ha ofrecido teleportarte a su posición:
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="Teleportar"/>
 			<button name="Cancel" text="Cancelar"/>
@@ -2315,11 +2340,11 @@ Por favor, vuelve a intentarlo en unos momentos.
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME] te está ofreciendo amistad.
+		[NAME_SLURL] te está ofreciendo su amistad.
 
 [MESSAGE]
 
-(Por defecto, podrás ver si están conectados los demás).
+(Por defecto, podrás ver si el otro está conectado)
 		<form name="form">
 			<button name="Accept" text="Aceptar"/>
 			<button name="Decline" text="Rehusar"/>
@@ -2382,6 +2407,9 @@ Del objeto: [OBJECTNAME]; propiedad de: [NAME]?
 	<notification name="FailedToFindWearable">
 		Búsqueda fallida de [TYPE] de nombre [DESC] en la base de datos.
 	</notification>
+	<notification name="ShareToWebFailed">
+		Fallo al subir la imagen a la web.
+	</notification>
 	<notification name="InvalidWearable">
 		El ítem que quieres vestirte tiene una característica que tu visor no puede leer. Por favor, actualiza tu versión de [APP_NAME] para ponerte este ítem.
 	</notification>
@@ -2577,6 +2605,12 @@ Por tu seguridad, serán bloqueadas durante unos segundos.
 		El botón elegido no se puede mostrar correctamente.
 Se mostrará cuando haya suficiente espacio.
 	</notification>
+	<notification name="ShareNotification">
+		Arrastrar ítems desde el inventario hasta una persona en el perfil del residente.
+	</notification>
+	<notification name="AvatarRezNotification">
+		Avatar de &apos;[NAME]&apos; obtenido en [TIME] segs.
+	</notification>
 	<global name="UnsupportedCPU">
 		- La velocidad de tu CPU no cumple los requerimientos mínimos.
 	</global>
diff --git a/indra/newview/skins/default/xui/es/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/es/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bac885e5d81756a31eac16578c7b3452879ff33a
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Mockup Tab"/>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_eyes.xml b/indra/newview/skins/default/xui/es/panel_edit_eyes.xml
index e33848554da0a5287f030e5f8824a724a080772b..29a416f698c61c0caca96aef4a8c5ca064020308 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="Iris" name="Iris" tool_tip="Pulsa para elegir una imagen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="Ojos"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="Ojos"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_gloves.xml b/indra/newview/skins/default/xui/es/panel_edit_gloves.xml
index 397322466c0f8d0cd7947eeac637500eeb569a97..684a35a830426f0627f7a790614a00c52bfd4891 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="Guantes"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="Guantes"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_hair.xml b/indra/newview/skins/default/xui/es/panel_edit_hair.xml
index 49cc8ce98cad6f9d04c91527ade8775676ba8681..25af1ea8cb4d37861d4439cb9a733441cddaf00b 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="Textura" name="Texture" tool_tip="Pulsa para elegir una imagen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="Color"/>
-		<accordion_tab name="hair_style_tab" title="Estilo"/>
-		<accordion_tab name="hair_eyebrows_tab" title="Cejas"/>
-		<accordion_tab name="hair_facial_tab" title="Facial"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="Color"/>
+			<accordion_tab name="hair_style_tab" title="Estilo"/>
+			<accordion_tab name="hair_eyebrows_tab" title="Cejas"/>
+			<accordion_tab name="hair_facial_tab" title="Facial"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_jacket.xml b/indra/newview/skins/default/xui/es/panel_edit_jacket.xml
index abee993aecadc7906cda49042fb796b180d15fca..347107d746a5763a7284b0635150d5e3c4bd0a0b 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
 		<texture_picker label="Tejido inferior" name="Lower Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="Chaqueta"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="Chaqueta"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_pants.xml b/indra/newview/skins/default/xui/es/panel_edit_pants.xml
index 80eb5f0de05d61a3a552e7447c9ba956e25d703f..e765702343524f651b9c6bf3f5cdd43aa0b23e8c 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_pants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="Pantalones"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="Pantalones"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_shape.xml b/indra/newview/skins/default/xui/es/panel_edit_shape.xml
index 8a9ac0e9ec72c90ec06ee09d8b24c82aec3bedad..1a13f928a29f06952044bad7376048c502554a2c 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="Varón" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="Cuerpo"/>
-		<accordion_tab name="shape_head_tab" title="Cabeza"/>
-		<accordion_tab name="shape_eyes_tab" title="Ojos"/>
-		<accordion_tab name="shape_ears_tab" title="Orejas"/>
-		<accordion_tab name="shape_nose_tab" title="Nariz"/>
-		<accordion_tab name="shape_mouth_tab" title="Boca"/>
-		<accordion_tab name="shape_chin_tab" title="Barbilla"/>
-		<accordion_tab name="shape_torso_tab" title="Torso"/>
-		<accordion_tab name="shape_legs_tab" title="Piernas"/>
-	</accordion>
+	<panel label="Camisa" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="Cuerpo"/>
+			<accordion_tab name="shape_head_tab" title="Cabeza"/>
+			<accordion_tab name="shape_eyes_tab" title="Ojos"/>
+			<accordion_tab name="shape_ears_tab" title="Orejas"/>
+			<accordion_tab name="shape_nose_tab" title="Nariz"/>
+			<accordion_tab name="shape_mouth_tab" title="Boca"/>
+			<accordion_tab name="shape_chin_tab" title="Barbilla"/>
+			<accordion_tab name="shape_torso_tab" title="Torso"/>
+			<accordion_tab name="shape_legs_tab" title="Piernas"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_shirt.xml b/indra/newview/skins/default/xui/es/panel_edit_shirt.xml
index 6d6566040917b81ded3e6292e045495c3ba5f3f0..f763e1b18d1e23bc335df579593bf7240a705a2d 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="Camisa"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="Camisa"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_shoes.xml b/indra/newview/skins/default/xui/es/panel_edit_shoes.xml
index e613b1809d1556cb26dacac6de0fb17fa7144824..70f20273987b36ec3188128cf775fa3421ffbb93 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="Zapatos"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="Zapatos"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_skin.xml b/indra/newview/skins/default/xui/es/panel_edit_skin.xml
index 2d9e556a4ab490dfd6ce4ba3885e6467f798c13a..501ecfb4de3dd6127f4c0224e43b9d2849ba313b 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_skin.xml
@@ -5,10 +5,12 @@
 		<texture_picker label="Tatuajes superiores" name="Upper Tattoos" tool_tip="Pulsa para elegir una imagen"/>
 		<texture_picker label="Tatuajes inferiores" name="Lower Tattoos" tool_tip="Pulsa para elegir una imagen"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="Color de la piel"/>
-		<accordion_tab name="skin_face_tab" title="Detalles faciales"/>
-		<accordion_tab name="skin_makeup_tab" title="Maquillaje"/>
-		<accordion_tab name="skin_body_tab" title="Detalles del cuerpo"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="Color de la piel"/>
+			<accordion_tab name="skin_face_tab" title="Detalles faciales"/>
+			<accordion_tab name="skin_makeup_tab" title="Maquillaje"/>
+			<accordion_tab name="skin_body_tab" title="Detalles del cuerpo"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_skirt.xml b/indra/newview/skins/default/xui/es/panel_edit_skirt.xml
index c8e25d38a9b7ebbdc10220b08214abb5ed364101..2c7196642cda132fe09fb376261bd6e3bbb33fcd 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="Falda"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="Falda"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_socks.xml b/indra/newview/skins/default/xui/es/panel_edit_socks.xml
index d65f119da7ffba1eaf6504942000ae2fdfecfab6..28423eaf617c573b1faf5fd610c501c727fb5418 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_socks.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="Calcetines"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="Calcetines"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_underpants.xml b/indra/newview/skins/default/xui/es/panel_edit_underpants.xml
index ea446c162559bd504b52197ce1591979c2f46f62..6c82bcfedf9a3feac50090daf7c2ce3b40678f61 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="Ropa interior"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="Ropa interior"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml
index 92e42657a4c98ffc1538b5932a1a932959a8c114..412bdceddfc176d22342997afd04af3f7d628664 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tela" name="Fabric" tool_tip="Pulsa para elegir una imagen"/>
 		<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="Camiseta"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="Camiseta"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_edit_wearable.xml b/indra/newview/skins/default/xui/es/panel_edit_wearable.xml
index 6d48b77d3c26294b5e7dece233f18ec651f6640b..97ab566f4da859277f90ddf19c4031ac10ef13f8 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_wearable.xml
@@ -94,6 +94,11 @@
 	<panel label="Camisa" name="wearable_type_panel">
 		<text name="description_text" value="Anatomía:"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="Opciones"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="Guardar como" name="save_as_button"/>
 		<button label="Revertir" name="revert_button"/>
diff --git a/indra/newview/skins/default/xui/es/panel_group_general.xml b/indra/newview/skins/default/xui/es/panel_group_general.xml
index 66d0c5be9361d72b401e51c113f91eda89f68d46..c4f17ab6dc203b0443e9e264840a8c140af2cfee 100644
--- a/indra/newview/skins/default/xui/es/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_general.xml
@@ -47,8 +47,11 @@ Deja el cursor sobre las opciones para ver más ayuda.
 		<check_box label="Cuota de entrada" name="check_enrollment_fee" tool_tip="Configura si hay que pagar una cuota para entrar al grupo"/>
 		<spinner label="L$" left_delta="130" name="spin_enrollment_fee" tool_tip="Si la opción Cuota de entrada está marcada, los nuevos miembros han de pagar esta cuota para entrar al grupo." width="60"/>
 		<combo_box bottom_delta="-38" name="group_mature_check" tool_tip="Establece si la información de su grupo es &apos;mature&apos;." width="150">
-			<combo_box.item label="Contenido &apos;PG&apos;" name="pg"/>
+			<combo_item name="select_mature">
+				- Elige la Calificación -
+			</combo_item>
 			<combo_box.item label="Contenido &apos;Mature&apos;" name="mature"/>
+			<combo_box.item label="Contenido &apos;PG&apos;" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="Mostrar en la búsqueda" name="show_in_group_list" tool_tip="Permite que la gente vea este grupo en los resultados de la búsqueda"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_inventory_item.xml b/indra/newview/skins/default/xui/es/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml
index 3e625f56fe3c38b3f3e2ed8d0a3867b2198aa565..ec9edbfa152204a4425d5556f1021b45cdc6f716 100644
--- a/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/es/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			Mini
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		Propietario
+	</text>
 	<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="Mostrar la barra de control" name="perms_owner_control"/>
+	<text name="group_label">
+		Grupo:
+	</text>
 	<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_group_interact"/>
 	<check_box initial_value="false" label="Mostrar la barra de control" name="perms_group_control"/>
+	<text name="anyone_label">
+		Cualquiera
+	</text>
 	<check_box initial_value="false" label="Permitir la navegación e interactividad" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="Mostrar la barra de control" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_nearby_media.xml b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
index 9bd90572d7b7d03606d13d321a0e712e9b8497f1..d1a14c877fce0d1b5791234c56cb994eefe0e3e1 100644
--- a/indra/newview/skins/default/xui/es/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(%ld ítems media)
+	</string>
 	<string name="empty_item_text">
 		&lt;vacío&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="Parar todo" name="all_nearby_media_disable_btn" tool_tip="Apagar todos los media cercanos"/>
 		<button label="Iniciar todo" name="all_nearby_media_enable_btn" tool_tip="Encender todos los media cercanos"/>
 		<button name="open_prefs_btn" tool_tip="Abrir las preferencias de los media"/>
-		<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_less_btn" tool_tip="Controles avanzados"/>
+		<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_btn" tool_tip="Controles avanzados"/>
+		<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="less_btn" tool_tip="Controles avanzados"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			Media cercanos
-		</text>
-		<text name="show">
-			Mostrar:
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="Todo" name="All"/>
 			<combo_box.item label="En esta parcela" name="WithinParcel"/>
@@ -38,22 +36,22 @@
 			<scroll_list.columns label="Nombre" name="media_name"/>
 			<scroll_list.columns label="Depurar" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="Parar los media seleccionados"/>
 				</layout_panel>
 				<layout_panel name="play">
-					<button name="play_btn" tool_tip="Ejecutar los media seleccionados"/>
+					<button name="play_btn" tool_tip="Ejecutar los media"/>
 				</layout_panel>
 				<layout_panel name="pause">
-					<button name="pause_btn" tool_tip="Pausar los media seleccionados"/>
+					<button name="pause_btn" tool_tip="Pausa los media seleccionados"/>
 				</layout_panel>
 				<layout_panel name="volume_slider_ctrl">
 					<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volumen de los media seleccionados"/>
 				</layout_panel>
 				<layout_panel name="mute">
-					<button name="mute_btn" tool_tip="Silenciar el audio de los media seleccionados"/>
+					<button name="mute_btn" tool_tip="Silencia los media seleccionados"/>
 				</layout_panel>
 				<layout_panel name="zoom">
 					<button name="zoom_btn" tool_tip="Zoom en los media seleccionados"/>
diff --git a/indra/newview/skins/default/xui/es/panel_outfit_edit.xml b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..484f51569b88468b147eb1f00b58840b0f20de31
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Editar el vestuario" name="outfit_edit">
+	<string name="No Outfit" value="No hay vestuario"/>
+	<panel.string name="not_available">
+		(No disp.)
+	</panel.string>
+	<panel.string name="unknown">
+		(desconocido)
+	</panel.string>
+	<string name="Filter.All" value="Todos"/>
+	<string name="Filter.Clothes/Body" value="Ropas/Cuerpo"/>
+	<string name="Filter.Objects" value="Objetos"/>
+	<button label="editar" name="edit_wearable_btn"/>
+	<text name="title" value="Editar el vestuario"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="Editando..."/>
+			<text name="curr_outfit_name" value="[Vestuario actual]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="Panel de control de los MI" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="Vestuario" name="look_item"/>
+				<scroll_list.columns label="Orden de los ítems del vestuario" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="Filtrar" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="Panel de control de los MI" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="Añadir al vestuario:"/>
+					<button label="o" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="C" name="folder_view_btn"/>
+				<button label="L" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="Guardar" name="save_btn"/>
+		<button label="Revertir" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
index 2f60df7743532e709ab6f881a0ed4de368b4e95e..4b230941035c81b5fa32bacf15c041ca5c4a381d 100644
--- a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Cosas" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="MIS VESTUARIOS" name="outfitslist_tab"/>
+		<panel label="MIS VESTUARIOS" name="outfitslist_tab"/>
 		<inventory_panel label="PUESTO" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="Quitar el ítem seleccionado"/>
 		<button label="Guardar el vestuario" name="make_outfit_btn" tool_tip="Guardar la apariencia como un vestuario"/>
 		<button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="Editar el vestuario" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_people.xml b/indra/newview/skins/default/xui/es/panel_people.xml
index 376aea527835f015c42270eb82cdc0d1b3420f3f..ad14d8ac9dfce2fa2bac0b4cb2c282e47e54bd14 100644
--- a/indra/newview/skins/default/xui/es/panel_people.xml
+++ b/indra/newview/skins/default/xui/es/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="Gente" name="people_panel">
-	<string name="no_people" value="No hay nadie"/>
-	<string name="no_one_near" value="No hay nadie cerca"/>
+	<string name="no_recent_people" value="No hay nadie reciente. ¿Buscas gente con la que pasar el rato? Prueba la [secondlife:///app/search/people Búsqueda] o el [secondlife:///app/worldmap Mapa del mundo]."/>
+	<string name="no_filtered_recent_people" value="¿No encontraste lo que buscabas? Prueba la [secondlife:///app/search/people Búsqueda]."/>
+	<string name="no_one_near" value="No hay nadie cerca. ¿Buscas gente con la que pasar el rato? Prueba la [secondlife:///app/search/people Búsqueda] o el [secondlife:///app/worldmap Mapa del mundo]."/>
+	<string name="no_one_filtered_near" value="¿No encontraste lo que buscabas? Prueba la [secondlife:///app/search/people Búsqueda]."/>
 	<string name="no_friends_online" value="No hay amigos conectados"/>
 	<string name="no_friends" value="No hay amigos"/>
+	<string name="no_friends_msg">
+		Busca amigos usando la [secondlife:///app/search/people Búsqueda] o pulsa con el botón derecho del ratón en un Residente para añadirle como amigo.
+¿Buscas gente con la que pasar el rato? Prueba el [secondlife:///app/worldmap Mapa del mundo].
+	</string>
+	<string name="no_filtered_friends_msg">
+		¿No encontraste lo que buscabas? Prueba la [secondlife:///app/search/people Búsqueda].
+	</string>
 	<string name="people_filter_label" value="Filtrar a la gente"/>
 	<string name="groups_filter_label" value="Filtrar a los grupos"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Intenta encontrar el grupo con una búsqueda]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups Intenta encontrar grupos a los que unirte.]"/>
+	<string name="no_filtered_groups_msg" value="¿No encontraste lo que buscabas? Prueba la [secondlife:///app/search/groups Búsqueda]."/>
+	<string name="no_groups_msg" value="¿Buscas grupos en que participar? Prueba la [secondlife:///app/search/groups Búsqueda]."/>
 	<filter_editor label="Filtrar" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="CERCANA" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="Ofrecer amistad a un Residente"/>
 				<button name="del_btn" tool_tip="Quitar a la persona seleccionada de tu lista de amigos"/>
 			</panel>
-			<text name="no_friends_msg">
-				Para añadir amigos, prueba a hacer una [secondlife:///app/search/people búsqueda general] o pulsa en un usuario para añadirle como amigo.
-Si estás buscando gente para pasar el rato, [secondlife:///app/worldmap usa el mapa].
-			</text>
 		</panel>
 		<panel label="MIS GRUPOS" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/es/panel_places.xml b/indra/newview/skins/default/xui/es/panel_places.xml
index 4818bff069a5e0c9b786c77c08b11abbe437de63..197028446624c5eebfe12afaa91cf1b57a2713e4 100644
--- a/indra/newview/skins/default/xui/es/panel_places.xml
+++ b/indra/newview/skins/default/xui/es/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="Guardar" name="save_btn"/>
 		<button label="Cancelar" name="cancel_btn"/>
 		<button label="Cerrar" name="close_btn"/>
+		<button label="Perfil" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
index a7c13b05b63f08712580dd7650fd3077fd6bd688..e0ce03d09afa9154a02007386c5a5a1692116d2d 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
@@ -20,6 +20,9 @@
 	<check_box label="Chat en bocadillos" name="bubble_text_chat"/>
 	<slider label="Opacidad" name="bubble_chat_opacity"/>
 	<color_swatch name="background" tool_tip="Elegir el color de los bocadillos del chat"/>
+	<text name="UI Size:">
+		Tamaño de la UI
+	</text>
 	<check_box label="Mostrar los errores de los scripts en:" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="Chat" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="Botón de Apretar para Hablar" name="modifier_combo"/>
 	<button label="Elegir la tecla" name="set_voice_hotkey_button"/>
 	<button label="Botón de en medio del ratón" name="set_voice_middlemouse_button" tool_tip="Reconfigurarlo al botón medio del ratón"/>
+	<button label="Otros dispositivos" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_world_map.xml b/indra/newview/skins/default/xui/es/panel_world_map.xml
index 77cec6b60b897b2be0b1eea159a708f81eb44606..b1dea02210e45544366d1f49a48875a85825a89c 100644
--- a/indra/newview/skins/default/xui/es/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/es/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		NO
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 persona
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] personas
+	</panel.string>
 	<text label="N" name="floater_map_north" text="N">
 		N
 	</text>
diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
index 776b253adc5e3ff556ce07f2c392560391370571..ff4d201d01a73b8ce9a32792a6e47167b4092da8 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="Perfil" name="info_btn"/>
+			<button label="Compartir" name="share_btn"/>
 			<button label="Ponerme" name="wear_btn"/>
 			<button label="Play" name="play_btn"/>
 			<button label="Teleporte" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 4cee677420d6af5f26f86a77f1eaa5a1bb83a002..27700b2efe31e4eb86ad59ed67c0db067c902fe0 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -249,6 +249,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		Cerrar (Ctrl+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		Cerrar
+	</string>
 	<string name="BUTTON_RESTORE">
 		Maximizar
 	</string>
@@ -288,6 +291,9 @@
 	<string name="GroupNameNone">
 		(ninguno)
 	</string>
+	<string name="AvalineCaller">
+		Avaline: [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		No hay ningún error
 	</string>
@@ -883,7 +889,7 @@
 		Pulsa ESC para salir de la vista subjetiva
 	</string>
 	<string name="InventoryNoMatchingItems">
-		No se han encontrado tales ítems en el inventario.  Intenta con [secondlife:///app/search/groups &quot;Buscar&quot;].
+		¿No encontraste lo que buscabas? Prueba en la [secondlife:///app/search/all Búsqueda].
 	</string>
 	<string name="FavoritesNoMatchingItems">
 		Arrastra aquí un hito para tenerlo en tus favoritos.
@@ -1542,9 +1548,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		No se ha aportado un contrato para este estado. El terreno de este estado lo vende el propietario del estado, no Linden Lab.  Por favor, contacta con ese propietario para informarte sobre la venta.
 	</string>
-	<string name="covenant_last_modified">
-		Última modificación: 
-	</string>
+	<string name="covenant_last_modified" value="Última modificación:"/>
 	<string name="none_text" value="(no hay)"/>
 	<string name="never_text" value=" (nunca)"/>
 	<string name="GroupOwned">
@@ -3221,6 +3225,15 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
 	<string name="LocationCtrlComboBtnTooltip">
 		Historial de mis localizaciones
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Región Adulta
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Región Moderada
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		Región General
+	</string>
 	<string name="UpdaterWindowTitle">
 		Actualizar [APP_NAME]
 	</string>
@@ -3251,6 +3264,12 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
 	<string name="UpdaterFailStartTitle">
 		Fallo al iniciar el visor
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME]: Los ítems se reciben muy rápido de [FROM_NAME]; desactivada la vista previa automática durante [TIME] sgs.
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME]: Los ítems se reciben muy rápido; desactivada la vista previa automática durante [TIME] sgs.
+	</string>
 	<string name="IM_logging_string">
 		-- Activado el registro de los mensajes instantáneos --
 	</string>
@@ -3278,6 +3297,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
 	<string name="IM_moderator_label">
 		(Moderador)
 	</string>
+	<string name="answered_call">
+		Han respondido a tu llamada
+	</string>
 	<string name="started_call">
 		Llamada de voz iniciada
 	</string>
@@ -3359,12 +3381,18 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
 	<string name="unread_chat_multiple">
 		[SOURCES] ha dicho algo nuevo
 	</string>
+	<string name="session_initialization_timed_out_error">
+		Se ha agotado el tiempo del inicio de sesión
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] te ha pagado [AMOUNT] L$
 	</string>
 	<string name="you_paid_ldollars">
 		Has pagado [AMOUNT] L$ a [NAME] por [REASON].
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		Has pagado[AMOUNT] L$
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		Has pagado [AMOUNT] L$ a [NAME].
 	</string>
@@ -3475,4 +3503,13 @@ Denuncia de infracción
 	<string name="Contents">
 		Contenidos
 	</string>
+	<string name="AvatarBirthDateFormat">
+		[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		ninguno/ninguno
+	</string>
+	<string name="texture_load_dimensions_error">
+		No se puede subir imágenes mayores de [WIDTH]*[HEIGHT]
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/fr/floater_about.xml b/indra/newview/skins/default/xui/fr/floater_about.xml
index 21d0b6c10c58de92a9e4ca5bf9861b418f9f7af8..681fd203f0e914c1a9d408c7d23fee58dd33edf4 100644
--- a/indra/newview/skins/default/xui/fr/floater_about.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about.xml
@@ -43,13 +43,14 @@ Version Vivox : [VIVOX_VERSION]
 		</panel>
 		<panel label="Remerciements" name="credits_panel">
 			<text_editor name="credits_editor">
-				Second Life existe grâce aux efforts de Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl et de nombreuses autres personnes.
+				Second Life existe grâce aux efforts de Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain et bien d&apos;autres.
 
-  Tous nos remerciements aux résidents suivants pour avoir testé cette version (la meilleure qui soit jusqu&apos;à présent) :  able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
+Tous nos remerciements aux résidents suivants pour avoir testé cette version (la meilleure qui soit jusqu&apos;à présent) : Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan et bien d&apos;autres.
 
 
 
-Pour réussir dans les affaires, soyez audacieux, créatif et différent. - Henry Marchant
+
+« Le travail continue, la cause demeure, l&apos;espoir vit encore et le rêve ne mourra jamais » - Edward Kennedy
 			</text_editor>
 		</panel>
 		<panel label="Licences" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/fr/floater_animation_preview.xml b/indra/newview/skins/default/xui/fr/floater_animation_preview.xml
index e0cb0ef524d324ca370598a3e4b5bb82aaff0a9a..aa42fe61506ecf7f807761366fc0a7b779547f3b 100644
--- a/indra/newview/skins/default/xui/fr/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_animation_preview.xml
@@ -142,36 +142,36 @@ main
 		Expression
 	</text>
 	<combo_box label="" name="emote_combo" tool_tip="Contrôle ce que fait le visage pendant l&apos;animation">
-		<combo_box.item label="(aucun)" name="[None]"/>
-		<combo_box.item label="Aaaaah" name="Aaaaah"/>
-		<combo_box.item label="Effrayé" name="Afraid"/>
-		<combo_box.item label="En colère" name="Angry"/>
-		<combo_box.item label="Grand sourire" name="BigSmile"/>
-		<combo_box.item label="Ennui" name="Bored"/>
-		<combo_box.item label="Pleurer" name="Cry"/>
-		<combo_box.item label="Mépris" name="Disdain"/>
-		<combo_box.item label="Gêne" name="Embarrassed"/>
-		<combo_box.item label="Froncer les sourcils" name="Frown"/>
-		<combo_box.item label="Embrasser" name="Kiss"/>
-		<combo_box.item label="Rire" name="Laugh"/>
-		<combo_box.item label="Plllppt" name="Plllppt"/>
-		<combo_box.item label="Dégoût" name="Repulsed"/>
-		<combo_box.item label="Triste" name="Sad"/>
-		<combo_box.item label="Hausser les épaules" name="Shrug"/>
-		<combo_box.item label="Sourire" name="Smile"/>
-		<combo_box.item label="Surprise" name="Surprise"/>
-		<combo_box.item label="Clin d&apos;Å“il" name="Wink"/>
-		<combo_box.item label="Soucis" name="Worry"/>
+		<item label="(aucun)" name="[None]" value=""/>
+		<item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+		<item label="Effrayé" name="Afraid" value="Effrayé"/>
+		<item label="En colère" name="Angry" value="En colère"/>
+		<item label="Grand sourire" name="BigSmile" value="Grand sourire"/>
+		<item label="Ennui" name="Bored" value="Ennui"/>
+		<item label="Pleurer" name="Cry" value="Pleurer"/>
+		<item label="Mépris" name="Disdain" value="Mépris"/>
+		<item label="Gêne" name="Embarrassed" value="Gêne"/>
+		<item label="Froncer les sourcils" name="Frown" value="Froncer les sourcils"/>
+		<item label="Embrasser" name="Kiss" value="Embrasser"/>
+		<item label="Rire" name="Laugh" value="Rire"/>
+		<item label="Plllppt" name="Plllppt" value="Tirer la langue"/>
+		<item label="Dégoût" name="Repulsed" value="Dégoût"/>
+		<item label="Triste" name="Sad" value="Triste"/>
+		<item label="Hausser les épaules" name="Shrug" value="Hausser les épaules"/>
+		<item label="Sourire" name="Smile" value="Sourire"/>
+		<item label="Surprise" name="Surprise" value="Surprise"/>
+		<item label="Clin d&apos;Å“il" name="Wink" value="Clin d&apos;Å“il"/>
+		<item label="Soucis" name="Worry" value="Inquiétude"/>
 	</combo_box>
 	<text name="preview_label">
 		Prévisualiser
 pendant
 	</text>
 	<combo_box label="" name="preview_base_anim" tool_tip="Utilisez cette option pour tester votre animation pendant que votre avatar fait des choses banales.">
-		<combo_box.item label="Debout" name="Standing"/>
-		<combo_box.item label="Marche" name="Walking"/>
-		<combo_box.item label="Assis" name="Sitting"/>
-		<combo_box.item label="Vol" name="Flying"/>
+		<item label="Debout" name="Standing" value="Debout"/>
+		<item label="Marche" name="Walking" value="Marche"/>
+		<item label="Assis" name="Sitting" value="Assis"/>
+		<item label="Vol" name="Flying" value="Vol"/>
 	</combo_box>
 	<spinner label="Transition début (s)" name="ease_in_time" tool_tip="Durée (en secondes) de l&apos;entrée en fondu de l&apos;animation"/>
 	<spinner label="Transition fin (s)" name="ease_out_time" tool_tip="Durée (en secondes) de la sortie en fondu de l&apos;animation"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml
index ec3b246c7673e71a6213ed1180e4f9d657c7648c..87c8847cbd02bf1b84b7759f79d6b8a85412ed53 100644
--- a/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/fr/floater_day_cycle_options.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="Day Cycle Floater" title="EDITEUR DU CYCLE DU JOUR">
 	<tab_container name="Day Cycle Tabs">
 		<panel label="Cycle du jour" name="Day Cycle">
-			<button label="?" name="WLDayCycleHelp" />
+			<button label="?" name="WLDayCycleHelp"/>
 			<text name="WL12am">
 				Min.
 			</text>
@@ -70,28 +70,25 @@
 			<text name="WLCurKeyTimeText2">
 				Préréglages clés :
 			</text>
-			<combo_box label="Préréglage" name="WLKeyPresets" />
+			<combo_box label="Préréglage" name="WLKeyPresets"/>
 			<text name="DayCycleText">
 				Snap :
 			</text>
-			<combo_box label="5 min" name="WLSnapOptions" />
+			<combo_box label="5 min" name="WLSnapOptions"/>
 			<text name="DayCycleText2">
 				Durée du cycle :
 			</text>
 			<spinner label="Heure" name="WLLengthOfDayHour"/>
-			<spinner label="Min" name="WLLengthOfDayMin" />
+			<spinner label="Min" name="WLLengthOfDayMin"/>
 			<spinner label="S" name="WLLengthOfDaySec"/>
 			<text name="DayCycleText3">
-				Prévisualiser :
+				Aperçu :
 			</text>
 			<button label="Lire" label_selected="Lire" name="WLAnimSky"/>
-			<button label="Stop !" label_selected="Stop" name="WLStopAnimSky" />
-			<button label="Utiliser heure domaine" label_selected="Aller heure domaine"
-			     name="WLUseLindenTime" />
-			<button label="Enregistrer jour test" label_selected="Enregistrer jour test"
-			     name="WLSaveDayCycle" />
-			<button label="Charger jour test" label_selected="Charger jour test"
-			     name="WLLoadDayCycle" />
+			<button label="Stop !" label_selected="Stop" name="WLStopAnimSky"/>
+			<button label="Utiliser heure domaine" label_selected="Aller heure domaine" name="WLUseLindenTime"/>
+			<button label="Enregistrer jour test" label_selected="Enregistrer jour test" name="WLSaveDayCycle"/>
+			<button label="Charger jour test" label_selected="Charger jour test" name="WLLoadDayCycle"/>
 		</panel>
 	</tab_container>
 </floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_god_tools.xml b/indra/newview/skins/default/xui/fr/floater_god_tools.xml
index e20da40bcf28b640b2fbc50a68a248db69739555..e4c53d866cd65e468d98baf58984f4bd661d2d90 100644
--- a/indra/newview/skins/default/xui/fr/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/fr/floater_god_tools.xml
@@ -2,12 +2,11 @@
 <floater name="godtools floater" title="OUTILS DIVINS">
 	<tab_container name="GodTools Tabs">
 		<panel label="Grille" name="grid">
-			<button label="Éjecter tous les résidents" label_selected="Éjecter tous les résidents" name="Kick all users" width="175"/>
 			<button label="Vider le cache cartographique de la région" label_selected="Vider le cache cartographique de la région" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
 		</panel>
 		<panel label="Région" name="region">
-			<text name="Sim Name:" width="70">
-				Nom du sim :
+			<text name="Region Name:">
+				Nom de la région :
 			</text>
 			<line_editor left="85" name="region name" width="198"/>
 			<check_box label="Initiation" name="check prelude" tool_tip="Définir cette région comme zone d&apos;initiation."/>
@@ -55,8 +54,8 @@
 			<panel.string name="no_target">
 				(aucune cible)
 			</panel.string>
-			<text name="Sim Name:" width="70">
-				Nom du sim :
+			<text name="Region Name:">
+				Nom de la région :
 			</text>
 			<text left_delta="75" name="region name">
 				Welsh
diff --git a/indra/newview/skins/default/xui/fr/floater_image_preview.xml b/indra/newview/skins/default/xui/fr/floater_image_preview.xml
index a28e0bd7d5fa071cb70579587395e08dee515ced..3d405f358d4140e20d5f3495b6fe5a4c1bf2b138 100644
--- a/indra/newview/skins/default/xui/fr/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_image_preview.xml
@@ -10,16 +10,16 @@
 		Prévisualiser comme :
 	</text>
 	<combo_box label="Habits" left="126" name="clothing_type_combo">
-		<combo_box.item label="Image" name="Image"/>
-		<combo_box.item label="Cheveux" name="Hair"/>
-		<combo_box.item label="Tête de femme" name="FemaleHead"/>
-		<combo_box.item label="Corps de femme (haut)" name="FemaleUpperBody"/>
-		<combo_box.item label="Corps de femme (bas)" name="FemaleLowerBody"/>
-		<combo_box.item label="Tête d&apos;homme" name="MaleHead"/>
-		<combo_box.item label="Corps d&apos;homme (haut)" name="MaleUpperBody"/>
-		<combo_box.item label="Corps d&apos;homme (bas)" name="MaleLowerBody"/>
-		<combo_box.item label="Jupe" name="Skirt"/>
-		<combo_box.item label="Sculptie" name="SculptedPrim"/>
+		<item label="Image" name="Image" value="Image"/>
+		<item label="Cheveux" name="Hair" value="Cheveux"/>
+		<item label="Tête de femme" name="FemaleHead" value="Tête de femme"/>
+		<item label="Corps de femme (haut)" name="FemaleUpperBody" value="Corps de femme (haut)"/>
+		<item label="Corps de femme (bas)" name="FemaleLowerBody" value="Corps de femme (bas)"/>
+		<item label="Tête d&apos;homme" name="MaleHead" value="Tête d&apos;homme"/>
+		<item label="Corps d&apos;homme (haut)" name="MaleUpperBody" value="Corps d&apos;homme (haut)"/>
+		<item label="Corps d&apos;homme (bas)" name="MaleLowerBody" value="Corps d&apos;homme (bas)"/>
+		<item label="Jupe" name="Skirt" value="Jupe"/>
+		<item label="Sculptie" name="SculptedPrim" value="Sculptie"/>
 	</combo_box>
 	<text name="bad_image_text">
 		Impossible de lire l&apos;image.
diff --git a/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml b/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml
index 2420c2b04b63cbd336fb0b89977ac287a1b16b3d..089d710f176123c1fecc0b130e6192687c3b97d2 100644
--- a/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/fr/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		Vous avez été déconnecté(e) de [VOICE_CHANNEL_NAME].  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] a mis fin à l&apos;appel.  [RECONNECT_NEARBY]
+		Votre appel a pris fin.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		Vous avez mis fin à l&apos;appel.  [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index ccb862acacd6175f4544cb49e183232a0054fbc0..381a513bda33887e041496d1a68e9be48fd215df 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="APERÇU DE LA PHOTO" width="247">
-	<text name="type_label">
-		Destination de la photo
-	</text>
-	<radio_group label="Type de photo" name="snapshot_type_radio" width="228">
-		<radio_item label="E-mail" name="postcard"/>
-		<radio_item label="Mon inventaire ([AMOUNT] L$)" name="texture"/>
-		<radio_item label="Enregistrer sur mon ordinateur" name="local"/>
-	</radio_group>
-	<button label="Plus" name="more_btn" tool_tip="Options avancées"/>
-	<button label="Moins" name="less_btn" tool_tip="Options avancées"/>
-	<text name="type_label2">
-		Taille
-	</text>
-	<text name="format_label">
-		Format
-	</text>
-	<combo_box label="Résolution" name="postcard_size_combo">
-		<combo_box.item label="640 x 480" name="640x480"/>
-		<combo_box.item label="800 x 600" name="800x600"/>
-		<combo_box.item label="1024 x 768" name="1024x768"/>
-		<combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
-		<combo_box.item label="Personnaliser" name="Custom"/>
-	</combo_box>
-	<combo_box label="Résolution" name="texture_size_combo">
-		<combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
-		<combo_box.item label="Petite (128 x 128)" name="Small(128x128)"/>
-		<combo_box.item label="Moyenne (256 x 256)" name="Medium(256x256)"/>
-		<combo_box.item label="Grande (512 x 512)" name="Large(512x512)"/>
-		<combo_box.item label="Personnaliser" name="Custom"/>
-	</combo_box>
-	<combo_box label="Résolution" name="local_size_combo">
-		<combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
-		<combo_box.item label="320 x 240" name="320x240"/>
-		<combo_box.item label="640 x 480" name="640x480"/>
-		<combo_box.item label="800 x 600" name="800x600"/>
-		<combo_box.item label="1024 x 768" name="1024x768"/>
-		<combo_box.item label="1280 x 1024" name="1280x1024"/>
-		<combo_box.item label="1600 x 1200" name="1600x1200"/>
-		<combo_box.item label="Personnaliser" name="Custom"/>
-	</combo_box>
-	<combo_box label="Format" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="Largeur" label_width="44" name="snapshot_width" width="101"/>
-	<spinner label="Hauteur" label_width="46" left="121" name="snapshot_height" width="101"/>
-	<slider label="Qualité de l&apos;image" name="image_quality_slider"/>
-	<text name="layer_type_label">
-		Capturer :
-	</text>
-	<combo_box label="Couches de l&apos;image" name="layer_types">
-		<combo_box.item label="Couleurs" name="Colors"/>
-		<combo_box.item label="Profondeur" name="Depth"/>
-		<combo_box.item label="Matte des objets" name="ObjectMattes"/>
-	</combo_box>
-	<text name="file_size_label">
-		[SIZE] Ko
-	</text>
-	<check_box label="Interface" name="ui_check"/>
-	<check_box label="HUD" name="hud_check"/>
-	<check_box label="Garder ouvert après enregistrement" name="keep_open_check"/>
-	<check_box label="Conserver les proportions" name="keep_aspect_check"/>
-	<check_box label="Figer l&apos;image (plein écran)" name="freeze_frame_check"/>
-	<button label="Rafraîchir" name="new_snapshot_btn"/>
-	<check_box label="Rafraîchissement automatique" name="auto_snapshot_check"/>
-	<button label="Enregistrer ([AMOUNT] L$)" name="upload_btn" width="118"/>
-	<button label="Envoyer" name="send_btn" width="118"/>
-	<flyout_button label="Enregistrer" name="save_btn" tool_tip="Enregistrer l&apos;image dans un fichier" width="118">
-		<flyout_button.item label="Enregistrer" name="save_item"/>
-		<flyout_button.item label="Enregistrer sous..." name="saveas_item"/>
-	</flyout_button>
-	<button label="Annuler" left="133" name="discard_btn" width="72"/>
-	<string name="unknown">
+<floater name="Snapshot" title="Photo" width="247">
+	<floater.string name="unknown">
 		inconnu
-	</string>
+	</floater.string>
+	<button label="Rafraîchir" name="new_snapshot_btn"/>
+	<line_editor label="Description" name="description"/>
+	<button label="Partager" name="share"/>
+	<button label="Partage Web" name="share_to_web"/>
+	<button label="Dans mon inventaire" name="save_to_inventory"/>
+	<button label="Enregistrer" name="save"/>
+	<button label="Envoi par e-mail" name="share_to_email"/>
+	<button label="Sur mon ordinateur" name="save_to_computer"/>
+	<button label="Image de profil" name="set_profile_pic"/>
+	<button label="Précédent" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_tos.xml b/indra/newview/skins/default/xui/fr/floater_tos.xml
index cdfd26f402cf079eb00a1fffed7a007ce448aca8..8a2a1e1d25506cb5e9cc95f93486ac9273b652e6 100644
--- a/indra/newview/skins/default/xui/fr/floater_tos.xml
+++ b/indra/newview/skins/default/xui/fr/floater_tos.xml
@@ -1,22 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title=" ">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="Continuer" label_selected="Continuer" name="Continue"/>
 	<button label="Annuler" label_selected="Annuler" name="Cancel"/>
-	<radio_group name="tos_agreement">
-		<radio_item label="Je n&apos;accepte pas les Conditions Générales d&apos;Utilisation" name="radio_disagree"/>
-		<radio_item label="J&apos;accepte les Conditions Générales d&apos;Utilisation" name="radio_agree"/>
-	</radio_group>
-	<text name="tos_title">
-		Acceptation des Conditions Générales d&apos;Utilisation
-	</text>
 	<check_box label="J&apos;accepte les Conditions d&apos;utilisation et le Règlement sur le respect de la vie privée" name="agree_chk"/>
 	<text name="tos_heading">
 		Veuillez lire attentivement les Conditions d&apos;utilisation et le Règlement sur le respect de la vie privée suivants. Vous devez les accepter pour pouvoir vous connecter à [SECOND_LIFE].
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<text name="real_url">
-		http://secondlife.com/app/tos/
-	</text>
 </floater>
diff --git a/indra/newview/skins/default/xui/fr/menu_attachment_other.xml b/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
index 8d51c1b4e3c03d5857ee188e6c9ec86ef6b6e6e8..f48513eb2b4005ae90d5d165c8f9a3f96d1267dd 100644
--- a/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Signaler" name="abuse"/>
 	<menu_item_call label="Figer" name="Freeze..."/>
 	<menu_item_call label="Expulser" name="Eject..."/>
-	<menu_item_call label="Débogage" name="Debug..."/>
+	<menu_item_call label="Déboguer les textures" name="Debug..."/>
 	<menu_item_call label="Zoomer en avant" name="Zoom In"/>
 	<menu_item_call label="Payer" name="Pay..."/>
 	<menu_item_call label="Profil de l&apos;objet" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_attachment_self.xml b/indra/newview/skins/default/xui/fr/menu_attachment_self.xml
index 999a1c156ca1adb746e97be9f373868e0c959125..8bc3182198c1ff07d53403568439675ae0bc7b0b 100644
--- a/indra/newview/skins/default/xui/fr/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/fr/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="Mes amis" name="Friends..."/>
 	<menu_item_call label="Mes groupes" name="Groups..."/>
 	<menu_item_call label="Mon profil" name="Profile..."/>
+	<menu_item_call label="Déboguer les textures" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_other.xml b/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
index b42271e9699ad9fcce31d214c2a603e727818f28..08d1a2036157606eaf25c9516188c6656ff51d2b 100644
--- a/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Signaler" name="abuse"/>
 	<menu_item_call label="Figer" name="Freeze..."/>
 	<menu_item_call label="Expulser" name="Eject..."/>
-	<menu_item_call label="Débogage" name="Debug..."/>
+	<menu_item_call label="Déboguer les textures" name="Debug..."/>
 	<menu_item_call label="Zoomer en avant" name="Zoom In"/>
 	<menu_item_call label="Payer" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_self.xml b/indra/newview/skins/default/xui/fr/menu_avatar_self.xml
index c8643708da0644575ef19441f0fc4ab54a520f86..17899b491b014777b6af8cf80946d0a2fa7858de 100644
--- a/indra/newview/skins/default/xui/fr/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/fr/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="Mes amis" name="Friends..."/>
 	<menu_item_call label="Mes groupes" name="Groups..."/>
 	<menu_item_call label="Mon profil" name="Profile..."/>
+	<menu_item_call label="Déboguer les textures" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_edit.xml b/indra/newview/skins/default/xui/fr/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..56669f31e187a18fb90c95c98fa8e9182d73e3c7
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Modifier" name="Edit">
+	<menu_item_call label="Annuler" name="Undo"/>
+	<menu_item_call label="Refaire" name="Redo"/>
+	<menu_item_call label="Couper" name="Cut"/>
+	<menu_item_call label="Copier" name="Copy"/>
+	<menu_item_call label="Coller" name="Paste"/>
+	<menu_item_call label="Supprimer" name="Delete"/>
+	<menu_item_call label="Dupliquer" name="Duplicate"/>
+	<menu_item_call label="Tout sélectionner" name="Select All"/>
+	<menu_item_call label="Désélectionner" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
index 0da9a1806d59ca6de38cb083381e16aacb70c297..8bda133a0b469002b24fdfe1343b541dd48dbac4 100644
--- a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="Signaler" name="report"/>
 	<menu_item_call label="Figer" name="freeze"/>
 	<menu_item_call label="Expulser" name="eject"/>
-	<menu_item_call label="Débogage" name="debug"/>
+	<menu_item_call label="Déboguer les textures" name="debug"/>
 	<menu_item_call label="Situer sur la carte" name="find_on_map"/>
 	<menu_item_call label="Zoomer en avant" name="zoom_in"/>
 	<menu_item_call label="Payer" name="pay"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml
index d28d36bca7e398b7adecd4df390504123788e0f0..b7dafca5ce1c19cddfde527615d84008afd240c1 100644
--- a/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="Mon profil" name="my_profile"/>
 	<menu_item_call label="Mes amis" name="my_friends"/>
 	<menu_item_call label="Mes groupes" name="my_groups"/>
+	<menu_item_call label="Déboguer les textures" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a9b2883cca87235c2b8221dca043b545bd0b241d
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="Fermer" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index 2f6f25dc6bcf9398941c635b127cb171504c9f64..a7334db46d62eb06d7db49e5df669175f1b858d0 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="Partager" name="Share"/>
 	<menu_item_call label="Acheter" name="Task Buy"/>
 	<menu_item_call label="Ouvrir" name="Task Open"/>
 	<menu_item_call label="Jouer" name="Task Play"/>
@@ -49,9 +50,9 @@
 	<menu_item_call label="Remplacer la tenue actuelle" name="Replace Outfit"/>
 	<menu_item_call label="Ajouter à la tenue actuelle" name="Add To Outfit"/>
 	<menu_item_call label="Enlever de la tenue actuelle" name="Remove From Outfit"/>
+	<menu_item_call label="Trouver l&apos;original" name="Find Original"/>
 	<menu_item_call label="Purger l&apos;objet" name="Purge Item"/>
 	<menu_item_call label="Restaurer l&apos;objet" name="Restore Item"/>
-	<menu_item_call label="Trouver l&apos;original" name="Find Original"/>
 	<menu_item_call label="Ouvrir" name="Open"/>
 	<menu_item_call label="Propriétés" name="Properties"/>
 	<menu_item_call label="Renommer" name="Rename"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml
index fc42b02908310c82b89442098f6b99ade9deb1d2..b712c008cdd05d1e3e82a96ba8adb1755a36b459 100644
--- a/indra/newview/skins/default/xui/fr/menu_login.xml
+++ b/indra/newview/skins/default/xui/fr/menu_login.xml
@@ -8,18 +8,8 @@
 		<menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/>
 		<menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/>
 	</menu>
+	<menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/>
 	<menu label="Débogage" name="Debug">
-		<menu label="Éditer" name="Edit">
-			<menu_item_call label="Annuler" name="Undo"/>
-			<menu_item_call label="Refaire" name="Redo"/>
-			<menu_item_call label="Couper" name="Cut"/>
-			<menu_item_call label="Copier" name="Copy"/>
-			<menu_item_call label="Coller" name="Paste"/>
-			<menu_item_call label="Supprimer" name="Delete"/>
-			<menu_item_call label="Dupliquer" name="Duplicate"/>
-			<menu_item_call label="Tout sélectionner" name="Select All"/>
-			<menu_item_call label="Désélectionner" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Afficher les paramètres de débogage" name="Debug Settings"/>
 		<menu_item_call label="Paramètres de couleurs/interface" name="UI/Color Settings"/>
 		<menu_item_call label="Outil d&apos;aperçu XUI" name="UI Preview Tool"/>
@@ -28,5 +18,7 @@
 		<menu_item_call label="Afficher les conditions d&apos;utilisation" name="TOS"/>
 		<menu_item_call label="Afficher le message critique" name="Critical"/>
 		<menu_item_call label="Test du navigateur Web" name="Web Browser Test"/>
+		<menu_item_check label="Afficher le sélecteur de grille" name="Show Grid Picker"/>
+		<menu_item_call label="Afficher la console des notifications" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/fr/menu_participant_list.xml b/indra/newview/skins/default/xui/fr/menu_participant_list.xml
index c8f5b5f1adde5a00314a470344449183bcea1952..4434a8e53d9406034352077faf16ae0e28419a2d 100644
--- a/indra/newview/skins/default/xui/fr/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/fr/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="Appeler" name="Call"/>
 	<menu_item_call label="Partager" name="Share"/>
 	<menu_item_call label="Payer" name="Pay"/>
+	<menu_item_check label="Afficher les icônes des résidents" name="View Icons"/>
 	<menu_item_check label="Bloquer le chat vocal" name="Block/Unblock"/>
 	<menu_item_check label="Ignorer le texte" name="MuteText"/>
 	<context_menu label="Options du modérateur &gt;" name="Moderator Options">
diff --git a/indra/newview/skins/default/xui/fr/menu_save_outfit.xml b/indra/newview/skins/default/xui/fr/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fbec93338228153994562aec853460f9c539cca3
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="Enregistrer" name="save_outfit"/>
+	<menu_item_call label="Enregistrer comme nouvelle" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_script_chiclet.xml b/indra/newview/skins/default/xui/fr/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..46efa30bd662b14fb35ff6e94173d6f83a0e03a8
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="Fermer" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index b8a3b6510125a34083acac4e6805aad14e3f26ba..64270cbe737b8fc1afa68e2611197ba719c83ab1 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="Photo" name="Take Snapshot"/>
 		<menu_item_call label="Créer un repère pour ce lieu" name="Create Landmark Here"/>
 		<menu label="Profil du lieu" name="Land">
+			<menu_item_call label="Profil du lieu" name="Place Profile"/>
 			<menu_item_call label="À propos du terrain" name="About Land"/>
 			<menu_item_call label="Région/Domaine" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="Outil de création" name="Create"/>
 			<menu_item_call label="Outil Terrain" name="Land"/>
 		</menu>
-		<menu label="Édition" name="Edit">
-			<menu_item_call label="Annuler" name="Undo"/>
-			<menu_item_call label="Refaire" name="Redo"/>
-			<menu_item_call label="Couper" name="Cut"/>
-			<menu_item_call label="Copier" name="Copy"/>
-			<menu_item_call label="Coller" name="Paste"/>
-			<menu_item_call label="Supprimer" name="Delete"/>
-			<menu_item_call label="Dupliquer" name="Duplicate"/>
-			<menu_item_call label="Tout sélectionner" name="Select All"/>
-			<menu_item_call label="Désélectionner" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Lien" name="Link"/>
 		<menu_item_call label="Annuler le lien" name="Unlink"/>
 		<menu_item_check label="Modifier les parties liées" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu label="Avancé" name="Advanced">
+		<menu_item_check label="Afficher le menu Avancé" name="Show Advanced Menu"/>
 		<menu_item_call label="Arrêter mon animation" name="Stop Animating My Avatar"/>
 		<menu_item_call label="Refixer les textures" name="Rebake Texture"/>
 		<menu_item_call label="Taille de l&apos;interface par défaut" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="Mettre la transparence en surbrillance" name="Highlight Transparent"/>
 			<menu_item_check label="Afficher les éléments HUD" name="Show HUD Attachments"/>
 			<menu_item_check label="Afficher le réticule de la vue subjective" name="ShowCrosshairs"/>
-			<menu_item_check label="Afficher les info-bulles de terrain" name="Land Tips"/>
 		</menu>
 		<menu label="Types de rendu" name="Rendering Types">
 			<menu_item_check label="Simple" name="Simple"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 38c6b57f5c031d52d686993216ef98d27b88b9b2..d38afe13d246a85e7c52a90b569d9cb3c810e681 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -351,7 +351,7 @@ Voulez-vous vraiment continuer ?
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		Supprimer le favori [PICK] ?
+		Supprimer la sélection &lt;nolink&gt;[PICK]&lt;/nolink&gt; ?
 		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -925,6 +925,16 @@ Proposer à [NAME] de devenir votre ami(e) ?
 			<button name="Cancel" text="Annuler"/>
 		</form>
 	</notification>
+	<notification label="Enregistrer la tenue" name="SaveOutfitAs">
+		Enregistrer ce que je porte comme nouvelle tenue :
+		<form name="form">
+			<input name="message">
+				[DESC] (nouv.)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="Annuler"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		Voulez-vous supprimer [FIRST_NAME] [LAST_NAME] de votre liste d&apos;amis ?
 		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
@@ -1407,6 +1417,10 @@ Les chats et les messages instantanés ne s&apos;afficheront pas. Les messages i
 		Vous téléporter vers [CLASSIFIED] ?
 		<usetemplate ignoretext="Confirmer que je veux me téléporter à un endroit dans les Petites annonces" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		Vous téléporter vers [HISTORY_ENTRY] ?
+		<usetemplate ignoretext="Confirmer que je veux me téléporter à un endroit de l&apos;historique" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
+	</notification>
 	<notification label="Envoyer un message à tout le monde dans votre domaine" name="MessageEstate">
 		Saisissez un message court qui sera envoyé à tous les résidents se trouvant actuellement sur votre domaine.
 		<form name="form">
@@ -1498,6 +1512,9 @@ En cliquant sur Modifier les préférences, vous pourrez changer votre catégori
 			<ignore name="ignore" text="La catégorie de contenu que j&apos;ai choisie m&apos;empêche de pénétrer dans une région"/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		Votre préférence de catégorie de contenu est désormais [RATING].
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		Votre catégorie d&apos;accès ne vous permet pas de réclamer cette région. Cela vient peut-être du fait qu&apos;il manquait des informations pour valider votre âge.
 
@@ -1913,6 +1930,9 @@ Liez-la à partir d&apos;une page web pour permettre aux autres résidents d&apo
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		Annulé
 	</notification>
@@ -1941,6 +1961,11 @@ Liez-la à partir d&apos;une page web pour permettre aux autres résidents d&apo
 		Importation de photos SL et Web en cours...
 (prend environ 5 minutes.)
 	</notification>
+	<notification name="UploadConfirmation">
+		Le chargement coûte [AMOUNT] L$.
+Continuer ?
+		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="Charger"/>
+	</notification>
 	<notification name="UploadPayment">
 		Le chargement a coûté [AMOUNT] L$.
 	</notification>
@@ -2286,9 +2311,9 @@ Veuillez réessayer dans quelques minutes.
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] vous propose d&apos;être téléporté jusqu&apos;à son emplacement :
+		[NAME_SLURL] propose de vous téléporter à son emplacement :
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="Téléporter"/>
 			<button name="Cancel" text="Annuler"/>
@@ -2306,11 +2331,11 @@ Veuillez réessayer dans quelques minutes.
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME] vous demande de devenir son ami(e).
+		[NAME_SLURL] vous demande de devenir son ami(e).
 
 [MESSAGE]
 
-(Par défaut, vous pourrez voir lorsque vous êtes tous deux connectés.)
+(Par défaut, chacun pourra voir si l&apos;autre est connecté.)
 		<form name="form">
 			<button name="Accept" text="Accepter"/>
 			<button name="Decline" text="Refuser"/>
@@ -2373,6 +2398,9 @@ Venant de l&apos;objet : [OBJECTNAME], appartenant à : [NAME]?
 	<notification name="FailedToFindWearable">
 		La recherche du [TYPE] nommé(e) [DESC] dans la base de données a échoué.
 	</notification>
+	<notification name="ShareToWebFailed">
+		Échec de chargement de l&apos;image sur le Web.
+	</notification>
 	<notification name="InvalidWearable">
 		L&apos;objet que vous essayez de porter utilise une fonctionnalité que le client ne peut lire. Pour porter cet objet, veuillez télécharger une mise à jour de [APP_NAME].
 	</notification>
@@ -2414,14 +2442,6 @@ Accepter cette requête ?
 			<button name="Ignore" text="Ignorer"/>
 		</form>
 	</notification>
-	<notification name="ScriptToast">
-		Le/La [TITLE] de [FIRST] [LAST] demande la participation du résident.
-		<form name="form">
-			<button name="Open" text="Ouvrir la boîte de dialogue"/>
-			<button name="Ignore" text="Ignorer"/>
-			<button name="Block" text="Ignorer"/>
-		</form>
-	</notification>
 	<notification name="BuyLindenDollarSuccess">
 		Nous vous remercions de votre paiement.
 
@@ -2577,6 +2597,12 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité.
 		Le bouton sélectionné ne peut pas être affiché actuellement.
 Le bouton sera affiché quand il y aura suffisamment de place.
 	</notification>
+	<notification name="ShareNotification">
+		Faire glisser des articles de l&apos;inventaire sur une personne dans le sélecteur de résident
+	</notification>
+	<notification name="AvatarRezNotification">
+		Avatar [NAME] rezzé en [TIME] secondes.
+	</notification>
 	<global name="UnsupportedCPU">
 		- Votre processeur ne remplit pas les conditions minimum requises.
 	</global>
diff --git a/indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bac885e5d81756a31eac16578c7b3452879ff33a
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Mockup Tab"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml b/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml
index 7de6ca8b3fe9fe7050aec605123bf8c70aa32bb6..549864e237b8d6e29834be6d930c697eb5f486b0 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="Iris" name="Iris" tool_tip="Cliquez pour sélectionner une image"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="Yeux"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="Yeux"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml b/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml
index b1a437497df10256175b3f80f4f935bdb831d6a3..7f02222bef2412ebfce4f1b3e4a613f47de2fe94 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_gloves.xml
@@ -2,9 +2,11 @@
 <panel name="edit_gloves_panel">
 	<panel name="avatar_gloves_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="Gants"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="Gants"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_hair.xml b/indra/newview/skins/default/xui/fr/panel_edit_hair.xml
index 9293c23e192782bd5cd92b4af1e370baa96c4d87..575cbabc8860564b324a9a0b0336856cae31f4df 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="Texture" name="Texture" tool_tip="Cliquez pour sélectionner une image"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="Couleur"/>
-		<accordion_tab name="hair_style_tab" title="Coupe"/>
-		<accordion_tab name="hair_eyebrows_tab" title="Sourcils"/>
-		<accordion_tab name="hair_facial_tab" title="Pilosité du visage"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="Couleur"/>
+			<accordion_tab name="hair_style_tab" title="Style"/>
+			<accordion_tab name="hair_eyebrows_tab" title="Sourcils"/>
+			<accordion_tab name="hair_facial_tab" title="Pilosité"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml b/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml
index b757f60b18ecc8292062821a4c5073b17b9bb4c9..0a87471db882dd8946f4e8ae543a138e1cdacd90 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_jacket.xml
@@ -3,9 +3,11 @@
 	<panel name="avatar_jacket_color_panel">
 		<texture_picker label="Tissu (haut)" name="Upper Fabric" tool_tip="Cliquez pour sélectionner une image"/>
 		<texture_picker label="Tissu (bas)" name="Lower Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="Veste"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="Veste"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_pants.xml b/indra/newview/skins/default/xui/fr/panel_edit_pants.xml
index 0cebe1e76a5091d2b958ce376573024dda59c121..b9f81278e22e6f57743ce4d0cfbbee1adb06a817 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_pants.xml
@@ -2,9 +2,11 @@
 <panel name="edit_pants_panel">
 	<panel name="avatar_pants_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="Pantalon"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="Pantalon"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shape.xml b/indra/newview/skins/default/xui/fr/panel_edit_shape.xml
index 450b23608a9422e3b214b43919d1207f2e48e9a9..98f48887a95fc7862a3626b4759c3cf92dae0281 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="Homme" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="Corps"/>
-		<accordion_tab name="shape_head_tab" title="Tête"/>
-		<accordion_tab name="shape_eyes_tab" title="Yeux"/>
-		<accordion_tab name="shape_ears_tab" title="Oreilles"/>
-		<accordion_tab name="shape_nose_tab" title="Nez"/>
-		<accordion_tab name="shape_mouth_tab" title="Bouche"/>
-		<accordion_tab name="shape_chin_tab" title="Menton"/>
-		<accordion_tab name="shape_torso_tab" title="Torse"/>
-		<accordion_tab name="shape_legs_tab" title="Jambes"/>
-	</accordion>
+	<panel label="Chemise" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="Corps"/>
+			<accordion_tab name="shape_head_tab" title="Tête"/>
+			<accordion_tab name="shape_eyes_tab" title="Yeux"/>
+			<accordion_tab name="shape_ears_tab" title="Oreilles"/>
+			<accordion_tab name="shape_nose_tab" title="Nez"/>
+			<accordion_tab name="shape_mouth_tab" title="Bouche"/>
+			<accordion_tab name="shape_chin_tab" title="Menton"/>
+			<accordion_tab name="shape_torso_tab" title="Torse"/>
+			<accordion_tab name="shape_legs_tab" title="Jambes"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml
index d6035415d8cb246eadb5512badbaeccf3144f470..e4e66db2edd103308308e2789b52dfde48098ef2 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_shirt.xml
@@ -2,9 +2,11 @@
 <panel name="edit_shirt_panel">
 	<panel name="avatar_shirt_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="Chemise"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="Chemise"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml b/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml
index ef6d72629c4e2d547bb6e9d6469ff67d5c928197..6fca0fe1217a1992a5de3498d2c9b54d05c68c6b 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_shoes.xml
@@ -2,9 +2,11 @@
 <panel name="edit_shoes_panel">
 	<panel name="avatar_shoes_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="Chaussures"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="Chaussures"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_skin.xml b/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
index dac005f6b625b31aef7d95e1d2ffa4e0eea912d8..9640adcdf82cdad68fa1154d394efc6529af9037 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="edit_skin_panel">
 	<panel name="avatar_skin_color_panel">
-		<texture_picker label="Tatouage tête" name="Head Tattoos" width="76" tool_tip="Cliquez pour sélectionner une image"/>
-		<texture_picker label="Tatouage haut" name="Upper Tattoos" width="80" tool_tip="Cliquez pour sélectionner une image"/>
+		<texture_picker label="Tatouage tête" name="Head Tattoos" tool_tip="Cliquez pour sélectionner une image" width="76"/>
+		<texture_picker label="Tatouage haut" name="Upper Tattoos" tool_tip="Cliquez pour sélectionner une image" width="80"/>
 		<texture_picker label="Tatouage bas" name="Lower Tattoos" tool_tip="Cliquez pour sélectionner une image"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="Couleur de peau"/>
-		<accordion_tab name="skin_face_tab" title="Détails du visage"/>
-		<accordion_tab name="skin_makeup_tab" title="Maquillage"/>
-		<accordion_tab name="skin_body_tab" title="Détails du corps"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="Couleur"/>
+			<accordion_tab name="skin_face_tab" title="Détails visage"/>
+			<accordion_tab name="skin_makeup_tab" title="Maquillage"/>
+			<accordion_tab name="skin_body_tab" title="Détails corps"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml
index 1250c7819d5071cf5ede7c6b5f1a59d0497aa3f6..65fed2fbf49a46c1150aa151394cab0686e61a1c 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_skirt.xml
@@ -2,9 +2,11 @@
 <panel name="edit_skirt_panel">
 	<panel name="avatar_skirt_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="Jupe"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="Jupe"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_socks.xml b/indra/newview/skins/default/xui/fr/panel_edit_socks.xml
index bcd69b7dc5b801d97c779c6695f3d0985821f25b..b9e9a07b8ce6543e11e2f4609f1d8555a98928d8 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_socks.xml
@@ -2,9 +2,11 @@
 <panel name="edit_socks_panel">
 	<panel name="avatar_socks_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="Chaussettes"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="Chaussettes"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml b/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml
index dd2670bd7569430c74b22830cb3559e0af546032..7eddbd93f6a001f929ea49e830bdee2a8fb5e72d 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_underpants.xml
@@ -2,9 +2,11 @@
 <panel name="edit_underpants_panel">
 	<panel name="avatar_underpants_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="Caleçon"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="Caleçon"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml
index 93a08f11891bb198982e60565f038a29745777f7..e6bac22c231bff19e7fec9fd4fd0bcd7dc5aebe0 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_undershirt.xml
@@ -2,9 +2,11 @@
 <panel name="edit_undershirt_panel">
 	<panel name="avatar_undershirt_color_panel">
 		<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image"/>
-		<color_swatch label="Coul./Teinte" name="Color/Tint" width="80" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs"/>
+		<color_swatch label="Coul./Teinte" name="Color/Tint" tool_tip="Cliquez pour ouvrir le sélecteur de couleurs" width="80"/>
+	</panel>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="Débardeur"/>
+		</accordion>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="Débardeur"/>
-	</accordion>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
index 1efc9b00a4248187531a531d9ae0b9bb9ab8a93c..3e581f387ccc84e3c3e567b964dd59f0a30fd4d9 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
@@ -94,8 +94,13 @@
 	<panel label="Chemise" name="wearable_type_panel">
 		<text name="description_text" value="Silhouette :"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="Options"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="Enregistrer sous" name="save_as_button"/>
-		<button label="Rétablir" width="130" name="revert_button"/>
+		<button label="Rétablir" name="revert_button" width="130"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_general.xml b/indra/newview/skins/default/xui/fr/panel_group_general.xml
index cf71a28451614b88c4f04e6daf843bd56a6632f0..20cb5bd974499fe6c2481d980d167681db4b2e18 100644
--- a/indra/newview/skins/default/xui/fr/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_general.xml
@@ -47,8 +47,11 @@ Faites glisser le pointeur de la souris sur les options pour en savoir plus.
 		<check_box label="Inscription payante" name="check_enrollment_fee" tool_tip="Indique s&apos;il faut payer des frais d&apos;inscription pour rejoindre ce groupe"/>
 		<spinner label="L$" name="spin_enrollment_fee" tool_tip="Les nouveaux membres doivent payer ces frais pour rejoindre le groupe quand l&apos;option Frais d&apos;inscription est cochée."/>
 		<combo_box name="group_mature_check" tool_tip="Définit si votre groupe contient des informations de type Modéré" width="195">
-			<combo_box.item label="Contenu Général" name="pg"/>
+			<combo_item name="select_mature">
+				- Catégorie d&apos;accès -
+			</combo_item>
 			<combo_box.item label="Contenu Modéré" name="mature"/>
+			<combo_box.item label="Contenu Général" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="Afficher dans la recherche" name="show_in_group_list" tool_tip="Permettre aux autres résidents de voir ce groupe dans les résultats de recherche"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_inventory_item.xml b/indra/newview/skins/default/xui/fr/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml
index f456ee1c835559728703b17d60084a936fb9c41a..8f1b436ba1b1516d00bdc170947b51af0ca2e2ba 100644
--- a/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/fr/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			Mini
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		Propriétaire
+	</text>
 	<check_box initial_value="false" label="Activer la navigation et l&apos;interactivité" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_owner_control"/>
+	<text name="group_label">
+		Groupe :
+	</text>
 	<check_box initial_value="false" label="Activer la navigation et l&apos;interactivité" name="perms_group_interact"/>
 	<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_group_control"/>
+	<text name="anyone_label">
+		Tout le monde
+	</text>
 	<check_box initial_value="false" label="Activer la navigation et l&apos;interactivité" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="Afficher la barre de contrôles" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
index ef5a42555e2987595364e5ceef32effa611f7734..36388b0bc13488916266aa96b1dff37b0a962097 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(%ld articles de média)
+	</string>
 	<string name="empty_item_text">
 		&lt;vide&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="Arrêter" name="all_nearby_media_disable_btn" tool_tip="Désactiver tous les médias près de vous"/>
 		<button label="Lire" name="all_nearby_media_enable_btn" tool_tip="Activer tous les médias près de vous"/>
 		<button name="open_prefs_btn" tool_tip="Ouvrir les préférences de média"/>
-		<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="more_less_btn" tool_tip="Options avancées"/>
+		<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="more_btn" tool_tip="Options avancées"/>
+		<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="less_btn" tool_tip="Options avancées"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			Médias proches
-		</text>
-		<text name="show">
-			Voir :
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="Tout" name="All"/>
 			<combo_box.item label="Sur cette parcelle" name="WithinParcel"/>
@@ -38,7 +36,7 @@
 			<scroll_list.columns label="Nom" name="media_name"/>
 			<scroll_list.columns label="Débogage" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="Arrêter le média sélectionné"/>
@@ -47,7 +45,7 @@
 					<button name="play_btn" tool_tip="Lire le média sélectionné"/>
 				</layout_panel>
 				<layout_panel name="pause">
-					<button name="pause_btn" tool_tip="Suspendre la lecture du média sélectionné"/>
+					<button name="pause_btn" tool_tip="Pause du média sélectionné"/>
 				</layout_panel>
 				<layout_panel name="volume_slider_ctrl">
 					<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volume audio du média sélectionné"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..31e1906f017434fea079a491fdc47d27ba3eb224
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Modification de la tenue" name="outfit_edit">
+	<string name="No Outfit" value="Pas de tenue"/>
+	<panel.string name="not_available">
+		(s/o)
+	</panel.string>
+	<panel.string name="unknown">
+		(inconnu)
+	</panel.string>
+	<string name="Filter.All" value="Tout"/>
+	<string name="Filter.Clothes/Body" value="Habits/Corps"/>
+	<string name="Filter.Objects" value="Objets"/>
+	<button label="modifier" name="edit_wearable_btn"/>
+	<text name="title" value="Modifier la tenue"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="Modification..."/>
+			<text name="curr_outfit_name" value="[Current Outfit]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="Panneau de contrôle IM" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="Article de la tenue" name="look_item"/>
+				<scroll_list.columns label="Tri des articles de la tenue" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="Filtre" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="Panneau de contrôle IM" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="Ajouter à la tenue :"/>
+					<button label="F" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="D" name="folder_view_btn"/>
+				<button label="L" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="Enregistrer" name="save_btn"/>
+		<button label="Rétablir" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
index 9b9d830aafdf74d9e95e5e7f108cdb18436458db..f4fa3a28384517ef778e38885bcd0b8e2e183a2c 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Choses" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="MES TENUES" name="outfitslist_tab"/>
+		<panel label="MES TENUES" name="outfitslist_tab"/>
 		<inventory_panel label="PORTÉ" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="Supprimer l&apos;objet sélectionné"/>
 		<button label="Enregistrer la tenue" name="make_outfit_btn" tool_tip="Enregistrer l&apos;apparence comme tenue"/>
 		<button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="Modifier tenue" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_people.xml b/indra/newview/skins/default/xui/fr/panel_people.xml
index 8d17d9ffdffa68551d7b1a74c736bf4f00c52833..e1ba2990cc1982bd6bf15432cd8fc41dfa64e9d6 100644
--- a/indra/newview/skins/default/xui/fr/panel_people.xml
+++ b/indra/newview/skins/default/xui/fr/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="Résidents" name="people_panel">
-	<string name="no_people" value="Personne"/>
-	<string name="no_one_near" value="Personne près de vous"/>
+	<string name="no_recent_people" value="Personne de récent. Pour rechercher des résidents avec qui passer du temps, voir [secondlife:///app/search/people Rechercher] ou [secondlife:///app/worldmap Carte du monde]."/>
+	<string name="no_filtered_recent_people" value="Vous n&apos;avez pas trouvé ce que vous cherchiez ? Utilisez [secondlife:///app/search/people Rechercher]."/>
+	<string name="no_one_near" value="Personne près de vous. Pour rechercher des résidents avec qui passer du temps, voir [secondlife:///app/search/people Rechercher] ou [secondlife:///app/worldmap Carte du monde]."/>
+	<string name="no_one_filtered_near" value="Vous n&apos;avez pas trouvé ce que vous cherchiez ? Utilisez [secondlife:///app/search/people Rechercher]."/>
 	<string name="no_friends_online" value="Pas d&apos;amis connectés"/>
 	<string name="no_friends" value="Pas d&apos;amis"/>
+	<string name="no_friends_msg">
+		Pour rechercher des amis, utilisez [secondlife:///app/search/people Rechercher] ou cliquez-droit sur le résident à ajouter comme ami.
+Pour rechercher des résidents avec qui passer du temps, utilisez [secondlife:///app/worldmap Carte du monde].
+	</string>
+	<string name="no_filtered_friends_msg">
+		Vous n&apos;avez pas trouvé ce que vous cherchiez ? Utilisez [secondlife:///app/search/people Rechercher].
+	</string>
 	<string name="people_filter_label" value="Filtrer les personnes"/>
 	<string name="groups_filter_label" value="Filtrer les groupes"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Trouver le groupe via la recherche ?]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups Rechercher des groupes à rejoindre.]"/>
+	<string name="no_filtered_groups_msg" value="Vous n&apos;avez pas trouvé ce que vous cherchiez ? Utilisez [secondlife:///app/search/groups Rechercher]."/>
+	<string name="no_groups_msg" value="Vous souhaitez trouver des groupes à rejoindre ? Utilisez [secondlife:///app/search/groups Rechercher]."/>
 	<filter_editor label="Filtre" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="PRÈS DE VOUS" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="Proposer à un résident de devenir votre ami"/>
 				<button name="del_btn" tool_tip="Supprimer le résident sélectionné de votre liste d&apos;amis"/>
 			</panel>
-			<text name="no_friends_msg">
-				Pour ajouter des amis, utilisez la [secondlife:///app/search/people recherche] ou cliquez-droit sur le résident à ajouter comme ami.
-Si vous souhaitez rencontrer d&apos;autres résidents, cliquez sur [secondlife:///app/worldmap la carte].
-			</text>
 		</panel>
 		<panel label="MES GROUPES" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/fr/panel_places.xml b/indra/newview/skins/default/xui/fr/panel_places.xml
index 92b0a6c1dbb9bf28b996984845acedc3781cc62a..9990c4612d93c9366537314822869b1652160c98 100644
--- a/indra/newview/skins/default/xui/fr/panel_places.xml
+++ b/indra/newview/skins/default/xui/fr/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="Enregistrer" name="save_btn"/>
 		<button label="Annuler" name="cancel_btn"/>
 		<button label="Fermer" name="close_btn"/>
+		<button label="Profil" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
index f8ecfbedac17bf6be964c95148c56de5b2ef79b2..97f5d1ad91d40c1c131e7bd10b3f57fc2275f0c2 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
@@ -20,6 +20,9 @@
 	<check_box label="Bulles de chat" name="bubble_text_chat"/>
 	<slider label="Opacité" name="bubble_chat_opacity"/>
 	<color_swatch name="background" tool_tip="Choisir la couleur des bulles de chat"/>
+	<text name="UI Size:">
+		Taille de l&apos;interface
+	</text>
 	<check_box label="Afficher les erreurs de script dans :" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="Chat près de moi" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="Touche de contrôle de la fonction Appuyer pour parler" name="modifier_combo"/>
 	<button label="Définir la touche" name="set_voice_hotkey_button"/>
 	<button label="Bouton central de la souris" name="set_voice_middlemouse_button" tool_tip="Réinitialiser sur le bouton central de la souris"/>
+	<button label="Autres accessoires" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_world_map.xml b/indra/newview/skins/default/xui/fr/panel_world_map.xml
index e6e95c260514e11537d6ebc013131d515ed55a04..972aae1fab5d47c16fa4bcbc26a88661cc1e9eae 100644
--- a/indra/newview/skins/default/xui/fr/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/fr/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		NO
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 personne
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] personnes
+	</panel.string>
 	<text label="N" name="floater_map_north" text="N">
 		N
 	</text>
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
index eba399f6a31f916e2422d6409e6c9f1cf401960b..f92f142c64ce3b1da8a6c04b6b39c5b2ba159256 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="Profil" name="info_btn"/>
+			<button label="Partager" name="share_btn"/>
 			<button label="Porter" name="wear_btn"/>
 			<button label="Jouer" name="play_btn"/>
 			<button label="Téléporter" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index 6d81df5cdbd545535c6a8e425971d4f88398b748..f89ab9ba8053ff9e20f27945ea856a78184a63de 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -261,6 +261,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		Fermer (Ctrl+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		Fermer
+	</string>
 	<string name="BUTTON_RESTORE">
 		Restaurer
 	</string>
@@ -303,6 +306,9 @@
 	<string name="GroupNameNone">
 		(aucun)
 	</string>
+	<string name="AvalineCaller">
+		Appelant Avaline [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		Aucune erreur
 	</string>
@@ -904,7 +910,7 @@
 		Appuyez sur ESC pour quitter la vue subjective
 	</string>
 	<string name="InventoryNoMatchingItems">
-		Objet inexistant dans l&apos;inventaire. Voir [secondlife:///app/search/groups &quot;Rechercher&quot;].
+		Vous n&apos;avez pas trouvé ce que vous cherchiez ? Utilisez [secondlife:///app/search/all Rechercher].
 	</string>
 	<string name="FavoritesNoMatchingItems">
 		Faites glisser un repère ici pour l&apos;ajouter à vos Favoris.
@@ -1575,9 +1581,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		Il n&apos;y a aucun règlement pour ce domaine. Le terrain sur ce domaine est vendu par le propriétaire, non par Linden Lab.  Pour en savoir plus, veuillez contacter le propriétaire.
 	</string>
-	<string name="covenant_last_modified">
-		Dernière modification :
-	</string>
+	<string name="covenant_last_modified" value="Dernière modification :"/>
 	<string name="none_text" value=" (aucun)"/>
 	<string name="never_text" value=" (jamais)"/>
 	<string name="GroupOwned">
@@ -3311,6 +3315,15 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
 	<string name="LocationCtrlDamageTooltip">
 		Santé
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Région de type Adulte
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Région de type Modéré
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		Région de type Général
+	</string>
 	<string name="UpdaterWindowTitle">
 		[APP_NAME] - Mise à jour
 	</string>
@@ -3341,6 +3354,12 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
 	<string name="UpdaterFailStartTitle">
 		Impossible de lancer le client
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME] : transfert trop rapide des articles de [FROM_NAME] ; aperçu automatique désactivé pendant [TIME] secondes
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME] : transfert trop rapide des articles ; aperçu automatique désactivé pendant [TIME] secondes
+	</string>
 	<string name="IM_logging_string">
 		-- Archivage des IM activé --
 	</string>
@@ -3368,6 +3387,9 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
 	<string name="IM_moderator_label">
 		(Modérateur)
 	</string>
+	<string name="answered_call">
+		Votre appel a fait l&apos;objet d&apos;une réponse
+	</string>
 	<string name="started_call">
 		A appelé quelqu&apos;un
 	</string>
@@ -3461,12 +3483,18 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
 	<string name="unread_chat_multiple">
 		[SOURCES] ont dit quelque chose de nouveau
 	</string>
+	<string name="session_initialization_timed_out_error">
+		Expiration du délai d&apos;initialisation de la session
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] vous a payé [AMOUNT] L$
 	</string>
 	<string name="you_paid_ldollars">
 		Vous avez payé à [AMOUNT] L$ [REASON].
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		Vous avez payé [AMOUNT] L$.
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		Vous avez payé à [NAME] [AMOUNT] L$.
 	</string>
@@ -3577,4 +3605,13 @@ de l&apos;infraction signalée
 	<string name="Contents">
 		Contenus
 	</string>
+	<string name="AvatarBirthDateFormat">
+		[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		aucun/aucun
+	</string>
+	<string name="texture_load_dimensions_error">
+		Impossible de charger des images de taille supérieure à [WIDTH]*[HEIGHT]
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/it/floater_about.xml b/indra/newview/skins/default/xui/it/floater_about.xml
index 495c24f5e9e822a2dea7cf60b79fc57ee103b2c3..55e699612c345156e865661f9cecc71ef50871be 100644
--- a/indra/newview/skins/default/xui/it/floater_about.xml
+++ b/indra/newview/skins/default/xui/it/floater_about.xml
@@ -43,19 +43,14 @@ Versione Vivox: [VIVOX_VERSION]
 		</panel>
 		<panel label="Ringraziamenti" name="credits_panel">
 			<text_editor name="credits_editor">
-				Second Life ti è offerto da Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others.
+				Second Life ti è offerto da Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain e molti altri ancora.
 
-Si ringraziano i seguenti residenti per aver contribuito a rendere questa versione la migliore possibile: (in corso)
+Si ringraziano i seguenti residenti per aver contribuito a rendere questa versione la migliore possibile: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan e molti altri ancora.
 
 
 
 
-
-
-
-
-Senza dubbio è una mente rara quella che può rendere brillantemente ovvio il finora mai esistito. Dichiarare &quot;Avrei potuto pensare a tutto questo&quot; è molto comune e fuorviante, per il motivo che non l&apos;hanno fatto, e anche questo fatto è assai significativo e rivelativo.
- -- Douglas Adams
+&quot;Il lavoro continua, la causa sussiste, la speranza vive ancora e i sogni non svaniranno mai&quot; - Edward Kennedy
 			</text_editor>
 		</panel>
 		<panel label="Licenze" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/it/floater_animation_preview.xml b/indra/newview/skins/default/xui/it/floater_animation_preview.xml
index c3ee23898c14a947394e1e4c0995daed81d3db68..5472e3254401c76c6f8a7828a9411c1f90167d69 100644
--- a/indra/newview/skins/default/xui/it/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/it/floater_animation_preview.xml
@@ -141,35 +141,35 @@ La lunghezza massima è [MAX_LENGTH] secondi.
 		Espressione
 	</text>
 	<combo_box left_delta="100" name="emote_combo" tool_tip="Definisce ciò che fa il viso durante l&apos;animazione" width="184">
-		<combo_box.item label="(Nessuno)" name="[None]"/>
-		<combo_box.item label="Aaaaah" name="Aaaaah"/>
-		<combo_box.item label="Spavento" name="Afraid"/>
-		<combo_box.item label="Arrabbiato" name="Angry"/>
-		<combo_box.item label="Grande sorriso" name="BigSmile"/>
-		<combo_box.item label="Annoiato" name="Bored"/>
-		<combo_box.item label="Pianto" name="Cry"/>
-		<combo_box.item label="Disdegno" name="Disdain"/>
-		<combo_box.item label="Imbarazzato" name="Embarrassed"/>
-		<combo_box.item label="Accigliato" name="Frown"/>
-		<combo_box.item label="Bacio" name="Kiss"/>
-		<combo_box.item label="Risata" name="Laugh"/>
-		<combo_box.item label="Plllppt" name="Plllppt"/>
-		<combo_box.item label="Repulsione" name="Repulsed"/>
-		<combo_box.item label="Triste" name="Sad"/>
-		<combo_box.item label="Scrollata di spalle" name="Shrug"/>
-		<combo_box.item label="Sorriso" name="Smile"/>
-		<combo_box.item label="Stupore" name="Surprise"/>
-		<combo_box.item label="Occhiolino" name="Wink"/>
-		<combo_box.item label="Preoccupato" name="Worry"/>
+		<item label="(Nessuno)" name="[None]" value=""/>
+		<item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+		<item label="Spavento" name="Afraid" value="Spavento"/>
+		<item label="Arrabbiato" name="Angry" value="Arrabbiato"/>
+		<item label="Grande sorriso" name="BigSmile" value="Grande sorriso"/>
+		<item label="Annoiato" name="Bored" value="Annoiato"/>
+		<item label="Pianto" name="Cry" value="Pianto"/>
+		<item label="Disdegno" name="Disdain" value="Disdegno"/>
+		<item label="Imbarazzato" name="Embarrassed" value="Imbarazzato"/>
+		<item label="Accigliato" name="Frown" value="Accigliato"/>
+		<item label="Bacio" name="Kiss" value="Bacio"/>
+		<item label="Risata" name="Laugh" value="Risata"/>
+		<item label="Plllppt" name="Plllppt" value="Plllppt"/>
+		<item label="Repulsione" name="Repulsed" value="Repulsione"/>
+		<item label="Triste" name="Sad" value="Triste"/>
+		<item label="Scrollata di spalle" name="Shrug" value="Scrollata di spalle"/>
+		<item label="Sorriso" name="Smile" value="Sorriso"/>
+		<item label="Stupore" name="Surprise" value="Stupore"/>
+		<item label="Occhiolino" name="Wink" value="Occhiolino"/>
+		<item label="Preoccupato" name="Worry" value="Preoccupato"/>
 	</combo_box>
 	<text name="preview_label" width="250">
 		Vedi anteprima mentre
 	</text>
 	<combo_box left_delta="154" name="preview_base_anim" tool_tip="Da usarsi per controllare il comportamento dell&apos;animazione mentre l&apos;avatar svolge azioni abituali." width="130">
-		<combo_box.item label="In piedi" name="Standing"/>
-		<combo_box.item label="Camminando" name="Walking"/>
-		<combo_box.item label="Seduto" name="Sitting"/>
-		<combo_box.item label="Volo" name="Flying"/>
+		<item label="In piedi" name="Standing" value="In piedi"/>
+		<item label="Camminando" name="Walking" value="Cammina"/>
+		<item label="Seduto" name="Sitting" value="Seduto"/>
+		<item label="Volo" name="Flying" value="Volo"/>
 	</combo_box>
 	<spinner label="Avvio lento (sec)" label_width="125" name="ease_in_time" tool_tip="Durata (in secondi) della fusione in entrata delle animazioni" width="192"/>
 	<spinner bottom_delta="-20" label="Arresto lento (sec)" label_width="125" left="10" name="ease_out_time" tool_tip="Durata (in secondi) della fusione in uscita delle animazioni" width="192"/>
diff --git a/indra/newview/skins/default/xui/it/floater_god_tools.xml b/indra/newview/skins/default/xui/it/floater_god_tools.xml
index 23d44780acfc1239ef502e2842028a2017da73c7..32c79936cfd86c2438d59ea623e191430039b569 100644
--- a/indra/newview/skins/default/xui/it/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/it/floater_god_tools.xml
@@ -1,11 +1,17 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="godtools floater" title="GOD TOOLS">
 	<tab_container name="GodTools Tabs">
-		<panel label="Grid" name="grid">
-			<button label="Espelli tutti i residenti" label_selected="Espelli tutti i residenti" name="Kick all users"/>
-		</panel>
+		<panel label="Grid" name="grid"/>
 		<panel label="Region" name="region">
+			<text name="Region Name:">
+				Nome regione:
+			</text>
 			<check_box label="Reset Home On Teleport" name="check reset home" tool_tip="Quando un residente esce con un teleport, reimposta la sua posizione di base sul luogo di destinazione."/>
 		</panel>
+		<panel label="Objects" name="objects">
+			<text name="Region Name:">
+				Nome regione:
+			</text>
+		</panel>
 	</tab_container>
 </floater>
diff --git a/indra/newview/skins/default/xui/it/floater_image_preview.xml b/indra/newview/skins/default/xui/it/floater_image_preview.xml
index 6169c0222d4fbb1ead301c38dc51e0bc72d63663..ee7be7b155c99228231410e083f6153d43171dc1 100644
--- a/indra/newview/skins/default/xui/it/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/it/floater_image_preview.xml
@@ -11,16 +11,16 @@
 immagine come:
 	</text>
 	<combo_box label="Tipo d&apos;abito" left="120" name="clothing_type_combo" width="166">
-		<combo_box.item label="Immagine" name="Image"/>
-		<combo_box.item label="Capigliature" name="Hair"/>
-		<combo_box.item label="Testa femminile" name="FemaleHead"/>
-		<combo_box.item label="Parte superiore del corpo femminile" name="FemaleUpperBody"/>
-		<combo_box.item label="Parte inferiore del corpo femminile" name="FemaleLowerBody"/>
-		<combo_box.item label="Testa maschile" name="MaleHead"/>
-		<combo_box.item label="Parte superiore del corpo maschile" name="MaleUpperBody"/>
-		<combo_box.item label="Parte inferiore del corpo maschile" name="MaleLowerBody"/>
-		<combo_box.item label="Gonna" name="Skirt"/>
-		<combo_box.item label="Prim Sculpted" name="SculptedPrim"/>
+		<item label="Immagine" name="Image" value="Immagine"/>
+		<item label="Capigliature" name="Hair" value="Capigliature"/>
+		<item label="Testa femminile" name="FemaleHead" value="Testa femminile"/>
+		<item label="Parte superiore del corpo femminile" name="FemaleUpperBody" value="Parte superiore del corpo femminile"/>
+		<item label="Parte inferiore del corpo femminile" name="FemaleLowerBody" value="Parte inferiore del corpo femminile"/>
+		<item label="Testa maschile" name="MaleHead" value="Testa maschile"/>
+		<item label="Parte superiore del corpo maschile" name="MaleUpperBody" value="Parte superiore del corpo maschile"/>
+		<item label="Parte inferiore del corpo maschile" name="MaleLowerBody" value="Parte inferiore del corpo maschile"/>
+		<item label="Gonna" name="Skirt" value="Gonna"/>
+		<item label="Prim Sculpted" name="SculptedPrim" value="Prim Sculpted"/>
 	</combo_box>
 	<text name="bad_image_text">
 		Non è stato possibile leggere l&apos;immagine.
diff --git a/indra/newview/skins/default/xui/it/floater_outgoing_call.xml b/indra/newview/skins/default/xui/it/floater_outgoing_call.xml
index 268d46e07e3eff23af025636964e23e24ca1b8cf..cdb180bacdcdf26eac8ad8a673b9bfe817276946 100644
--- a/indra/newview/skins/default/xui/it/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/it/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		Sei stato scollegato da [VOICE_CHANNEL_NAME].  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] ha chiuso la chiamata.  [RECONNECT_NEARBY]
+		La chiamata è terminata.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		Hai chiuso la chiamata.  [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/it/floater_snapshot.xml b/indra/newview/skins/default/xui/it/floater_snapshot.xml
index 03aaed46be8f193eba4fdbb1192cf24c3e2fd665..2f5c86985c1ae2a3fc9284a46d5606e17199b98f 100644
--- a/indra/newview/skins/default/xui/it/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/it/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="ANTEPRIMA FOTOGRAFIA" width="247">
-	<text name="type_label">
-		Destinazione della fotografia
-	</text>
-	<radio_group label="Tipo di fotografia" name="snapshot_type_radio" width="228">
-		<radio_item label="E-mail" name="postcard"/>
-		<radio_item label="Il mio inventario (L$[AMOUNT])" name="texture"/>
-		<radio_item label="Salva sul mio computer" name="local"/>
-	</radio_group>
-	<text name="file_size_label">
-		[SIZE] KB
-	</text>
-	<button label="Aggiorna la fotografia" name="new_snapshot_btn"/>
-	<button label="Invia" name="send_btn"/>
-	<button label="Salva ([AMOUNT] L$)" name="upload_btn"/>
-	<flyout_button label="Salva" name="save_btn" tool_tip="Salva l&apos;immagine come file">
-		<flyout_button_item label="Salva" name="save_item"/>
-		<flyout_button_item label="Salva con nome..." name="saveas_item"/>
-	</flyout_button>
-	<button label="Annulla" name="discard_btn"/>
-	<button label="Altro" name="more_btn" tool_tip="Opzioni Avanzate"/>
-	<button label="Meno" name="less_btn" tool_tip="Opzioni Avanzate"/>
-	<text name="type_label2">
-		Grandezza
-	</text>
-	<text name="format_label">
-		Formato
-	</text>
-	<combo_box label="Risoluzione" name="postcard_size_combo">
-		<combo_box.item label="Finestra corrente" name="CurrentWindow"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="Personalizzata" name="Custom"/>
-	</combo_box>
-	<combo_box label="Risoluzione" name="texture_size_combo">
-		<combo_box.item label="Finestra corrente" name="CurrentWindow"/>
-		<combo_box.item label="Piccola (128x128)" name="Small(128x128)"/>
-		<combo_box.item label="Media (256x256)" name="Medium(256x256)"/>
-		<combo_box.item label="Larga (512x512)" name="Large(512x512)"/>
-		<combo_box.item label="Personalizzata" name="Custom"/>
-	</combo_box>
-	<combo_box label="Risoluzione" name="local_size_combo">
-		<combo_box.item label="Finestra corrente" name="CurrentWindow"/>
-		<combo_box.item label="320x240" name="320x240"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="1280x1024" name="1280x1024"/>
-		<combo_box.item label="1600x1200" name="1600x1200"/>
-		<combo_box.item label="Personalizzata" name="Custom"/>
-	</combo_box>
-	<combo_box label="Formato" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="Larghezza" label_width="58" name="snapshot_width" width="116"/>
-	<spinner label="Altezza" label_width="41" left="130" name="snapshot_height" width="101"/>
-	<check_box label="Mantieni le proporzioni" name="keep_aspect_check"/>
-	<slider label="Qualità dell&apos;immagine" name="image_quality_slider"/>
-	<text name="layer_type_label" width="55">
-		Fotografa:
-	</text>
-	<combo_box label="Layer dell&apos;immagine" left="68" name="layer_types" width="165">
-		<combo_box.item label="Colori" name="Colors"/>
-		<combo_box.item label="Profondità" name="Depth"/>
-		<combo_box.item label="Colori primari degli oggetti" name="ObjectMattes"/>
-	</combo_box>
-	<check_box label="Interfaccia" name="ui_check"/>
-	<check_box bottom_delta="-17" label="HUD" name="hud_check"/>
-	<check_box bottom_delta="-17" label="Mantieni aperto dopo aver salvato" name="keep_open_check"/>
-	<check_box bottom_delta="-17" label="Congela il frame (pieno schermo)" name="freeze_frame_check"/>
-	<check_box bottom_delta="-29" label="Auto-Aggiorna" name="auto_snapshot_check"/>
-	<string name="unknown">
+<floater name="Snapshot" title="Istantanea" width="247">
+	<floater.string name="unknown">
 		sconosciuto
-	</string>
+	</floater.string>
+	<button label="Aggiorna la fotografia" name="new_snapshot_btn"/>
+	<line_editor label="Descrizione" name="description"/>
+	<button label="Condividi foto" name="share"/>
+	<button label="Condividi su Web" name="share_to_web"/>
+	<button label="Salva nell&apos;inventario" name="save_to_inventory"/>
+	<button label="Salva foto" name="save"/>
+	<button label="Invia foto via e-mail" name="share_to_email"/>
+	<button label="Salva sul mio computer" name="save_to_computer"/>
+	<button label="Imposta come foto del profilo" name="set_profile_pic"/>
+	<button label="Indietro" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/it/floater_tos.xml b/indra/newview/skins/default/xui/it/floater_tos.xml
index a11ccdc3af85331e77265e2106ab50cbb210e6ba..28a2dfdda2d80ce5be037c812d6db6e3756ab9d1 100644
--- a/indra/newview/skins/default/xui/it/floater_tos.xml
+++ b/indra/newview/skins/default/xui/it/floater_tos.xml
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title="">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Caricamento in corso %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="Continua" label_selected="Continua" name="Continue"/>
 	<button label="Annulla" label_selected="Annulla" name="Cancel"/>
 	<check_box label="Accetto i Termini del servizio e le Regole sulla privacy" name="agree_chk"/>
 	<text name="tos_heading">
 		Sei pregato di leggere attentamente i Termini del servizio e le Regole sulla privacy di seguito. Per continuare l&apos;accesso a [SECOND_LIFE], devi accettare le condizioni.
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<string name="real_url">
-		http://secondlife.com/app/tos/
-	</string>
 </floater>
diff --git a/indra/newview/skins/default/xui/it/menu_attachment_other.xml b/indra/newview/skins/default/xui/it/menu_attachment_other.xml
index 3dfadd969001e148bfd9756fffc78c1426d8ca14..d4d6fd68d0ba254c108e292d2bb586bab1897f1d 100644
--- a/indra/newview/skins/default/xui/it/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/it/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Segnala" name="abuse"/>
 	<menu_item_call label="Congela" name="Freeze..."/>
 	<menu_item_call label="Espelli" name="Eject..."/>
-	<menu_item_call label="Debug" name="Debug..."/>
+	<menu_item_call label="Debug delle texture" name="Debug..."/>
 	<menu_item_call label="Zoom avanti" name="Zoom In"/>
 	<menu_item_call label="Paga" name="Pay..."/>
 	<menu_item_call label="Profilo dell&apos;oggetto" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/it/menu_attachment_self.xml b/indra/newview/skins/default/xui/it/menu_attachment_self.xml
index f30b286901ad1226c55d6ad3b6866375e4644e68..054f4802e6d59ac8b75686f3501a910bf6a0ef96 100644
--- a/indra/newview/skins/default/xui/it/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/it/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="I miei amici..." name="Friends..."/>
 	<menu_item_call label="I miei gruppi" name="Groups..."/>
 	<menu_item_call label="Il mio profilo" name="Profile..."/>
+	<menu_item_call label="Debug delle texture" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_avatar_other.xml b/indra/newview/skins/default/xui/it/menu_avatar_other.xml
index 8a1ff3d7ecd399e98738e762041405c00058ea10..c2edc32a49a3ace2bba80639b44a721eea81b142 100644
--- a/indra/newview/skins/default/xui/it/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/it/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Segnala" name="abuse"/>
 	<menu_item_call label="Congela" name="Freeze..."/>
 	<menu_item_call label="Espelli" name="Eject..."/>
-	<menu_item_call label="Debug" name="Debug..."/>
+	<menu_item_call label="Debug delle texture" name="Debug..."/>
 	<menu_item_call label="Zoom avanti" name="Zoom In"/>
 	<menu_item_call label="Paga" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_avatar_self.xml b/indra/newview/skins/default/xui/it/menu_avatar_self.xml
index 09219cb843f92475342466691efa96b46f029923..d73d97d499db24488dac9f3fbadade479ee321b9 100644
--- a/indra/newview/skins/default/xui/it/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/it/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="I miei amici..." name="Friends..."/>
 	<menu_item_call label="I miei gruppi" name="Groups..."/>
 	<menu_item_call label="Il mio profilo" name="Profile..."/>
+	<menu_item_call label="Debug delle texture" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_edit.xml b/indra/newview/skins/default/xui/it/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ffb20a02e9a01eaf736be7e9d5f17fb657e8b181
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Modifica" name="Edit">
+	<menu_item_call label="Annulla" name="Undo"/>
+	<menu_item_call label="Ripeti" name="Redo"/>
+	<menu_item_call label="Taglia" name="Cut"/>
+	<menu_item_call label="Copia" name="Copy"/>
+	<menu_item_call label="Incolla" name="Paste"/>
+	<menu_item_call label="Elimina" name="Delete"/>
+	<menu_item_call label="Duplica" name="Duplicate"/>
+	<menu_item_call label="Seleziona tutto" name="Select All"/>
+	<menu_item_call label="Deseleziona" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml
index ca6d5a4ad85ec70d9f672b07551eaa8c6a63c680..22a37d7095d9db550b83893150f3d281910ec7cc 100644
--- a/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="Segnala" name="report"/>
 	<menu_item_call label="Congela" name="freeze"/>
 	<menu_item_call label="Espelli" name="eject"/>
-	<menu_item_call label="Debug" name="debug"/>
+	<menu_item_call label="Debug delle texture" name="debug"/>
 	<menu_item_call label="Trova sulla mappa" name="find_on_map"/>
 	<menu_item_call label="Zoom avanti" name="zoom_in"/>
 	<menu_item_call label="Paga" name="pay"/>
diff --git a/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml
index 359afcc28326e297fd0e12a6aa6a8513af0fc01d..33229bb7c0bfb9eefad8803a6964c20bac51d84a 100644
--- a/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="Il mio profilo" name="my_profile"/>
 	<menu_item_call label="I miei amici..." name="my_friends"/>
 	<menu_item_call label="I miei gruppi" name="my_groups"/>
+	<menu_item_call label="Debug delle texture" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..471640eff50d5702539adb6b968c5d671c8b2fef
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="Chiudi" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index 9662f6f93737c5b307e283c2794966cc6fe0802c..dacb25775888601bc973e4186980cd95e690d28e 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="Condividi" name="Share"/>
 	<menu_item_call label="Compra" name="Task Buy"/>
 	<menu_item_call label="Apri" name="Task Open"/>
 	<menu_item_call label="Esegui" name="Task Play"/>
diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml
index 36eeadc478480d1cefcda2d14ad57fe2cac6eecd..b0edeb3618470de678f2e44773024064e77bce97 100644
--- a/indra/newview/skins/default/xui/it/menu_login.xml
+++ b/indra/newview/skins/default/xui/it/menu_login.xml
@@ -7,18 +7,8 @@
 	<menu label="Aiuto" name="Help">
 		<menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/>
 	</menu>
+	<menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/>
 	<menu label="Debug" name="Debug">
-		<menu label="Modifica" name="Edit">
-			<menu_item_call label="Annulla" name="Undo"/>
-			<menu_item_call label="Rifai" name="Redo"/>
-			<menu_item_call label="Taglia" name="Cut"/>
-			<menu_item_call label="Copia" name="Copy"/>
-			<menu_item_call label="Incolla" name="Paste"/>
-			<menu_item_call label="Elimina" name="Delete"/>
-			<menu_item_call label="Duplica" name="Duplicate"/>
-			<menu_item_call label="Seleziona tutto" name="Select All"/>
-			<menu_item_call label="Deseleziona" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Mostra impostazioni di debug" name="Debug Settings"/>
 		<menu_item_call label="Impostazioni colori interfaccia" name="UI/Color Settings"/>
 		<menu label="Test interfaccia utente" name="UI Tests"/>
@@ -26,5 +16,7 @@
 		<menu_item_call label="Mostra i Termini del servizio (TOS)" name="TOS"/>
 		<menu_item_call label="Mostra messaggio critico" name="Critical"/>
 		<menu_item_call label="Test browser Web" name="Web Browser Test"/>
+		<menu_item_check label="Mostra selettore griglia" name="Show Grid Picker"/>
+		<menu_item_call label="Mostra Console notifiche" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/it/menu_participant_list.xml b/indra/newview/skins/default/xui/it/menu_participant_list.xml
index e641d3850837557ca2c91d05dd0c0c17132bcc73..71f1a9a0da6c769d74a5a0f092b818d6071ef82d 100644
--- a/indra/newview/skins/default/xui/it/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/it/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="Chiama" name="Call"/>
 	<menu_item_call label="Condividi" name="Share"/>
 	<menu_item_call label="Paga" name="Pay"/>
+	<menu_item_check label="Icone persone" name="View Icons"/>
 	<menu_item_check label="Blocca voce" name="Block/Unblock"/>
 	<menu_item_check label="Blocca testo" name="MuteText"/>
 	<context_menu label="Opzioni moderatore  &gt;" name="Moderator Options">
@@ -15,6 +16,6 @@
 		<menu_item_call label="Disattiva audio di questo participante" name="ModerateVoiceMuteSelected"/>
 		<menu_item_call label="Disattiva audio di tutti gli altri" name="ModerateVoiceMuteOthers"/>
 		<menu_item_call label="Riattiva audio di questo participante" name="ModerateVoiceUnMuteSelected"/>
-		<menu_item_call label="Disattiva audio di tutti gli altri" name="ModerateVoiceUnMuteOthers"/>
+		<menu_item_call label="Riattiva audio di tutti gli altri" name="ModerateVoiceUnMuteOthers"/>
 	</context_menu>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_save_outfit.xml b/indra/newview/skins/default/xui/it/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ac7b40ca48fcc67526db9ed3343aa120b3a0a6da
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="Salva" name="save_outfit"/>
+	<menu_item_call label="Salva come nuovo" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_script_chiclet.xml b/indra/newview/skins/default/xui/it/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..604f754ba8e16020f698b0353c6e1610cfddc924
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="Chiudi" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index d9b401ea46969a66bfe9a22ce155986e0a4afc4c..8556ac7da05cb9b853fccef204a494a816f12cfd 100644
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="Istantanea" name="Take Snapshot"/>
 		<menu_item_call label="Crea punto di riferimento per questo luogo" name="Create Landmark Here"/>
 		<menu label="Profilo del posto" name="Land">
+			<menu_item_call label="Profilo del luogo" name="Place Profile"/>
 			<menu_item_call label="Informazioni sui terreni" name="About Land"/>
 			<menu_item_call label="Regione/proprietà immobiliare" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="Crea strumento" name="Create"/>
 			<menu_item_call label="Strumento Terreno" name="Land"/>
 		</menu>
-		<menu label="Modifica" name="Edit">
-			<menu_item_call label="Annulla" name="Undo"/>
-			<menu_item_call label="Rifai" name="Redo"/>
-			<menu_item_call label="Taglia" name="Cut"/>
-			<menu_item_call label="Copia" name="Copy"/>
-			<menu_item_call label="Incolla" name="Paste"/>
-			<menu_item_call label="Elimina" name="Delete"/>
-			<menu_item_call label="Duplica" name="Duplicate"/>
-			<menu_item_call label="Seleziona tutto" name="Select All"/>
-			<menu_item_call label="Deseleziona" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Collegamento" name="Link"/>
 		<menu_item_call label="Scollega" name="Unlink"/>
 		<menu_item_check label="Modifica le parti collegate" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu label="Avanzate" name="Advanced">
+		<menu_item_check label="Mostra menu Avanzato" name="Show Advanced Menu"/>
 		<menu_item_call label="Ferma animazione" name="Stop Animating My Avatar"/>
 		<menu_item_call label="Ridisegna le texture" name="Rebake Texture"/>
 		<menu_item_call label="Imposta dimensioni dell&apos;interfaccia sui valori predefiniti" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="Evidenzia trasparenza" name="Highlight Transparent"/>
 			<menu_item_check label="Mostra elementi HUD" name="Show HUD Attachments"/>
 			<menu_item_check label="Mostra mirino visuale soggettiva" name="ShowCrosshairs"/>
-			<menu_item_check label="Mostra tooltip terreno" name="Land Tips"/>
 		</menu>
 		<menu label="Modalità di rendering" name="Rendering Types">
 			<menu_item_check label="Semplice" name="Simple"/>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index 6736c6a6f13dbfafce41d700f8c1070688291654..0ca404d06be60d13ce1a5037053ceae238a8db2e 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -352,7 +352,7 @@ Vuoi continuare?
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		Cancella il favorito [PICK]?
+		Elimina preferito &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
 		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -898,7 +898,7 @@ Unisci il terreno?
 In genere si tratta di un problema temporaneo. Attendi alcuni minuti per modificare e salvare nuovamente gli elementi indossabili.
 	</notification>
 	<notification name="YouHaveBeenLoggedOut">
-		Accidenti. Sei stato scollegato da [SECOND_LIFE]
+		Sei stato scollegato da [SECOND_LIFE].
             [MESSAGE]
 		<usetemplate name="okcancelbuttons" notext="Esci" yestext="Vedi IM &amp; Chat"/>
 	</notification>
@@ -924,6 +924,16 @@ Offri l&apos;amicizia a [NAME]?
 			<button name="Cancel" text="Annulla"/>
 		</form>
 	</notification>
+	<notification label="Salva vestiario" name="SaveOutfitAs">
+		Salva gli abiti che indosso come nuovo vestiario:
+		<form name="form">
+			<input name="message">
+				[DESC] (nuovo)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="Annulla"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		Vuoi rimuovere remove [FIRST_NAME] [LAST_NAME] dalla lista dei tuoi amici?
 		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
@@ -1414,6 +1424,10 @@ La chat e gli IM verranno nascosti. Gli IM riceveranno la tua risposta di Non di
 		Teleport a [CLASSIFIED]?
 		<usetemplate ignoretext="Conferma il teleport verso questa posizione negli annunci" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		Teleport a [HISTORY_ENTRY]?
+		<usetemplate ignoretext="Conferma il teleport verso un luogo che compare nella cronologia" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
+	</notification>
 	<notification label="Manda un messaggio a tutti nella tua proprietà" name="MessageEstate">
 		Scrivi un annuncio breve che verrà mandato a tutti quelli che sono in questo momento nella tua proprietà.
 		<form name="form">
@@ -1505,6 +1519,9 @@ Puoi cliccare su Cambia preferenze per modificare la categoria di accesso e quin
 			<ignore name="ignore" text="La categoria di accesso impostata mi impedisce di entrare in una regione"/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		La tua categoria di accesso attuale è [RATING].
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		Non puoi prendere possesso di questo terreno a causa della tua categoria di accesso. Questo può essere dovuto ad una mancanza di informazioni valide che confermino la tua età.
 
@@ -1921,6 +1938,9 @@ Inseriscilo in una pagina web per dare ad altri un accesso facile a questa ubica
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		Annullato
 	</notification>
@@ -1949,6 +1969,11 @@ Inseriscilo in una pagina web per dare ad altri un accesso facile a questa ubica
 		Sto importando le fotografie per l&apos;uso inworld e per il web...
 (Durata circa 5 minuti.)
 	</notification>
+	<notification name="UploadConfirmation">
+		Il costo per il caricamento è di L$ [AMOUNT].
+Continuare?
+		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Carica nel server"/>
+	</notification>
 	<notification name="UploadPayment">
 		Hai pagato [AMOUNT]L$ per il caricamento.
 	</notification>
@@ -2290,9 +2315,9 @@ Riprova tra qualche istante.
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] ti ha offerto di teleportarti nella sua ubicazione:
+		[NAME_SLURL] ti ha offerto il teleport alla sua ubicazione:
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="Teleport"/>
 			<button name="Cancel" text="Cancella"/>
@@ -2310,11 +2335,11 @@ Riprova tra qualche istante.
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME] ti ha offerto la sua amicizia.
+		[NAME_SLURL] ti ha offerto di diventare amici.
 
 [MESSAGE]
 
-(Di default, potrete vedervi reciprocamente online.)
+(L&apos;impostazione predefinita consente a ciascuno di vedere se l&apos;altro è online.)
 		<form name="form">
 			<button name="Accept" text="Accetta"/>
 			<button name="Decline" text="Rifiuta"/>
@@ -2377,6 +2402,9 @@ Dall&apos;oggetto: [OBJECTNAME], di: [NAME]?
 	<notification name="FailedToFindWearable">
 		Impossibile trovare [TYPE] chiamato [DESC] nel database.
 	</notification>
+	<notification name="ShareToWebFailed">
+		Caricamento dell&apos;immagine su Web non riuscita.
+	</notification>
 	<notification name="InvalidWearable">
 		L&apos;elemento che stai tentando di indossare usa delle caratteristiche che il tuo viewer non può leggere. Aggiorna la versione di [APP_NAME] per poterlo indossare.
 	</notification>
@@ -2573,6 +2601,12 @@ Per sicurezza, verranno bloccati per alcuni secondi.
 		Il pulsante selezionato non può essere visualizzato in questo momento.
 Il pulsante verrà visualizzato quando lo spazio sarà sufficiente.
 	</notification>
+	<notification name="ShareNotification">
+		Trascina articoli dell&apos;inventario su una persona nel selettore residenti
+	</notification>
+	<notification name="AvatarRezNotification">
+		Avatar &apos;[NAME]&apos; rezzato in [TIME] secondi.
+	</notification>
 	<global name="UnsupportedCPU">
 		- La velocità della tua CPU non soddisfa i requisiti minimi.
 	</global>
diff --git a/indra/newview/skins/default/xui/it/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/it/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bac885e5d81756a31eac16578c7b3452879ff33a
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Mockup Tab"/>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_eyes.xml b/indra/newview/skins/default/xui/it/panel_edit_eyes.xml
index 3b1e51e759dd7e83d6a3869384b2c8d45b135ea2..9f31bb7dc7c97d0744c7982cb129e12c77efe184 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="Iride" name="Iris" tool_tip="Clicca per scegliere una fotografia"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="Occhi"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="Occhi"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_gloves.xml b/indra/newview/skins/default/xui/it/panel_edit_gloves.xml
index 2a80d6df3d3e80aa2da29c54e66dd27cd0e9d158..48024b80954941361bf438677b7a6ca21198c156 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="Guanti"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="Guanti"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_hair.xml b/indra/newview/skins/default/xui/it/panel_edit_hair.xml
index 534ff457ff1e72a3b9f5d6a7b59c320e951c10ac..50e2e7e4b39ec06cae7c78917cda42180e4dca1b 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="Texture" name="Texture" tool_tip="Clicca per scegliere una fotografia"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="Colore"/>
-		<accordion_tab name="hair_style_tab" title="Stile"/>
-		<accordion_tab name="hair_eyebrows_tab" title="Sopracciglia"/>
-		<accordion_tab name="hair_facial_tab" title="Del viso"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="Colore"/>
+			<accordion_tab name="hair_style_tab" title="Stile"/>
+			<accordion_tab name="hair_eyebrows_tab" title="Sopracciglia"/>
+			<accordion_tab name="hair_facial_tab" title="Del viso"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_jacket.xml b/indra/newview/skins/default/xui/it/panel_edit_jacket.xml
index 43c825ff73e736a63548c687c4b1c5c74f254487..d77c1ec7637ffafb24e67f5fcc748e3948b81a4f 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
 		<texture_picker label="Tessuto inferiore" name="Lower Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="Giacca"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="Giacca"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_pants.xml b/indra/newview/skins/default/xui/it/panel_edit_pants.xml
index cbab711fb1ec9ab6ec4a21a4784ca99715f40cf3..83ef2748774161d1b5f9326b74e1d48df16b6ec8 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_pants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="Pantaloni"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="Pantaloni"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_pick.xml b/indra/newview/skins/default/xui/it/panel_edit_pick.xml
index d2d97cfc718c72cfd54f3cd38cdb3825c0f5c891..f93b953eac23d78c081113bf7f10ec1fe34c135c 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_pick.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_pick.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Modifica scelta" name="panel_edit_pick">
+<panel label="Modifica preferito" name="panel_edit_pick">
 	<panel.string name="location_notice">
 		(si aggiornerà dopo il salvataggio)
 	</panel.string>
 	<text name="title">
-		Modifica scelta
+		Modifica preferito
 	</text>
 	<scroll_container name="profile_scroll">
 		<panel name="scroll_content_panel">
diff --git a/indra/newview/skins/default/xui/it/panel_edit_shape.xml b/indra/newview/skins/default/xui/it/panel_edit_shape.xml
index cc0676b43c49f8e03976abb84755497658e5f636..7e1ba437565842b29be8470663a0e808d6f90da2 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="Maschio" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="Corpo"/>
-		<accordion_tab name="shape_head_tab" title="Testa"/>
-		<accordion_tab name="shape_eyes_tab" title="Occhi"/>
-		<accordion_tab name="shape_ears_tab" title="Orecchie"/>
-		<accordion_tab name="shape_nose_tab" title="Naso"/>
-		<accordion_tab name="shape_mouth_tab" title="Bocca"/>
-		<accordion_tab name="shape_chin_tab" title="Mento"/>
-		<accordion_tab name="shape_torso_tab" title="Torace"/>
-		<accordion_tab name="shape_legs_tab" title="Gambe"/>
-	</accordion>
+	<panel label="Camicia" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="Corpo"/>
+			<accordion_tab name="shape_head_tab" title="Testa"/>
+			<accordion_tab name="shape_eyes_tab" title="Occhi"/>
+			<accordion_tab name="shape_ears_tab" title="Orecchie"/>
+			<accordion_tab name="shape_nose_tab" title="Naso"/>
+			<accordion_tab name="shape_mouth_tab" title="Bocca"/>
+			<accordion_tab name="shape_chin_tab" title="Mento"/>
+			<accordion_tab name="shape_torso_tab" title="Torace"/>
+			<accordion_tab name="shape_legs_tab" title="Gambe"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_shirt.xml b/indra/newview/skins/default/xui/it/panel_edit_shirt.xml
index 631d609d608f614d02d3f417ac484f78a8d6c07d..1f41b283487a1c2dbdf5be6cc2e076fc537dfec1 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="Camicia"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="Camicia"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_shoes.xml b/indra/newview/skins/default/xui/it/panel_edit_shoes.xml
index bd1fa5b16d2d7c881db1106670b3a83f8a2e5cdf..7a82c8e99d4958158bb92fea3c63a0c84c80b064 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="Scarpe"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="Scarpe"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_skin.xml b/indra/newview/skins/default/xui/it/panel_edit_skin.xml
index 9e05599470ad699722e5515086b217dd00778dcf..a15489b333a9dfe9ef759d9ad0dc429497211d5a 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_skin.xml
@@ -5,10 +5,12 @@
 		<texture_picker label="Tatuaggi superiori" name="Upper Tattoos" tool_tip="Clicca per scegliere una fotografia"/>
 		<texture_picker label="Tatuaggi inferiori" name="Lower Tattoos" tool_tip="Clicca per scegliere una fotografia"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="Colore della pelle"/>
-		<accordion_tab name="skin_face_tab" title="Dettagli del viso"/>
-		<accordion_tab name="skin_makeup_tab" title="Makeup"/>
-		<accordion_tab name="skin_body_tab" title="Dettagli del corpo"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="Colore della pelle"/>
+			<accordion_tab name="skin_face_tab" title="Dettagli del viso"/>
+			<accordion_tab name="skin_makeup_tab" title="Makeup"/>
+			<accordion_tab name="skin_body_tab" title="Dettagli del corpo"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_skirt.xml b/indra/newview/skins/default/xui/it/panel_edit_skirt.xml
index e036fff67ef2bf9232742206c89a7f56f4772d45..7080b65737b7bfdd389045b3561df1dcdf18c140 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="Gonna"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="Gonna"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_socks.xml b/indra/newview/skins/default/xui/it/panel_edit_socks.xml
index d2af3ebd5a2d337863935feaa159028c4a614352..6731511282148502670afd0e5902b939ee9fa8d7 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_socks.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="Calzini"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="Calzini"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_underpants.xml b/indra/newview/skins/default/xui/it/panel_edit_underpants.xml
index ca2ba3ca0118fe8879030da335c83c4cf30f72e5..671eb575516119aa9b5fe7112fb25feb185a33a0 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="Slip"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="Slip"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml
index cf44dad464f98bff0accff411b8940503d1657df..fccc86f8fcd65fbc33e0a32062fc130cd186553a 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tessuto" name="Fabric" tool_tip="Clicca per scegliere una fotografia"/>
 		<color_swatch label="Colore/Tinta" name="Color/Tint" tool_tip="Clicca per aprire il selettore dei colori"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="Maglietta intima"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="Maglietta intima"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_edit_wearable.xml b/indra/newview/skins/default/xui/it/panel_edit_wearable.xml
index 2583cf4e0ea60c7c1112199c5151b8bae10e3432..1135a582f5c1892e87c26ad09a1879fad7006c11 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_wearable.xml
@@ -94,6 +94,11 @@
 	<panel label="Camicia" name="wearable_type_panel">
 		<text name="description_text" value="Figura corporea:"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="Opzioni"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="Salva con nome" name="save_as_button"/>
 		<button label="Ripristina" name="revert_button"/>
diff --git a/indra/newview/skins/default/xui/it/panel_group_general.xml b/indra/newview/skins/default/xui/it/panel_group_general.xml
index e21f9d2049078f56f72c33eebf3fe636ee25cae7..08a5153c73f3510e0e8a5c2479ca19d79041a6d3 100644
--- a/indra/newview/skins/default/xui/it/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_general.xml
@@ -47,8 +47,11 @@ Muovi il tuo mouse sopra le opzioni per maggiore aiuto.
 		<check_box label="Quota di adesione" name="check_enrollment_fee" tool_tip="Imposta se richiedere una tassa d&apos;iscrizione per aderire al gruppo"/>
 		<spinner label="L$" left_delta="136" name="spin_enrollment_fee" tool_tip="I nuovi soci devono pagare questa tassa d&apos;iscrizione quando è selezionata." width="60"/>
 		<combo_box name="group_mature_check" tool_tip="Imposta se le informazioni sul tuo gruppo sono da considerarsi Mature.">
-			<combo_box.item label="Contenuto PG" name="pg"/>
+			<combo_item name="select_mature">
+				- Seleziona categoria di accesso -
+			</combo_item>
 			<combo_box.item label="Contenuto Mature" name="mature"/>
+			<combo_box.item label="Contenuto PG" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="Mostra nella ricerca" name="show_in_group_list" tool_tip="Permetti alle persone di vedere questo gruppo nei risultati della ricerca"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_im_control_panel.xml b/indra/newview/skins/default/xui/it/panel_im_control_panel.xml
index 97ec0e11ebf31e58c9889c2efb16da5665ab064c..76b28eab24a4d6ed54e028e323f9c658d6a97c28 100644
--- a/indra/newview/skins/default/xui/it/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/it/panel_im_control_panel.xml
@@ -20,7 +20,7 @@
 			<button label="Chiama" name="call_btn"/>
 		</layout_panel>
 		<layout_panel name="end_call_btn_panel">
-			<button label="Abbandona chiamata" name="end_call_btn"/>
+			<button label="Chiudi chiamata" name="end_call_btn"/>
 		</layout_panel>
 		<layout_panel name="voice_ctrls_btn_panel">
 			<button label="Regolazione voce" name="voice_ctrls_btn"/>
diff --git a/indra/newview/skins/default/xui/it/panel_inventory_item.xml b/indra/newview/skins/default/xui/it/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml
index 53dac1299fbae52aa99421778ddf7ebd2643cc3e..0f0f1c9fe43cbb288d9f744755f4760058b0e11c 100644
--- a/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/it/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			Mini
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		Proprietario
+	</text>
 	<check_box initial_value="false" label="Permetti navigazione e interattività" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="Mostra la barra di controllo" name="perms_owner_control"/>
+	<text name="group_label">
+		Gruppo:
+	</text>
 	<check_box initial_value="false" label="Permetti navigazione e interattività" name="perms_group_interact"/>
 	<check_box initial_value="false" label="Mostra la barra di controllo" name="perms_group_control"/>
+	<text name="anyone_label">
+		Chiunque
+	</text>
 	<check_box initial_value="false" label="Permetti navigazione e interattività" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="Mostra la barra di controllo" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_nearby_media.xml b/indra/newview/skins/default/xui/it/panel_nearby_media.xml
index 5343ecae137a00fffc169fcca79965dba45192d3..649b772424ec10cc1e2a4d898d63876f0900af4c 100644
--- a/indra/newview/skins/default/xui/it/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/it/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(%ld oggetti multimediali)
+	</string>
 	<string name="empty_item_text">
 		&lt;vuoto&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="Interrompi tutto" name="all_nearby_media_disable_btn" tool_tip="Spegni tutti i media nei dintorni"/>
 		<button label="Accendi tutto" name="all_nearby_media_enable_btn" tool_tip="Accendi tutti i media nei dintorni"/>
 		<button name="open_prefs_btn" tool_tip="Accedi alle preferenze del media"/>
-		<button label="Più &gt;&gt;" label_selected="Meno &lt;&lt;" name="more_less_btn" tool_tip="Opzioni avanzate"/>
+		<button label="Più &gt;&gt;" label_selected="Meno &lt;&lt;" name="more_btn" tool_tip="Opzioni avanzate"/>
+		<button label="Più &gt;&gt;" label_selected="Meno &lt;&lt;" name="less_btn" tool_tip="Opzioni avanzate"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			Multimedia vicini
-		</text>
-		<text name="show">
-			Mostra:
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="Tutto" name="All"/>
 			<combo_box.item label="In questo lotto" name="WithinParcel"/>
@@ -38,7 +36,7 @@
 			<scroll_list.columns label="Nome" name="media_name"/>
 			<scroll_list.columns label="Debug" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="Interrompi supporto selezionato"/>
@@ -53,7 +51,7 @@
 					<slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volume audio per il media selezionato"/>
 				</layout_panel>
 				<layout_panel name="mute">
-					<button name="mute_btn" tool_tip="Disattiva audio del media selezionato"/>
+					<button name="mute_btn" tool_tip="Disattiva audio dei supporti selezionati"/>
 				</layout_panel>
 				<layout_panel name="zoom">
 					<button name="zoom_btn" tool_tip="Zoom nel media selezionato"/>
diff --git a/indra/newview/skins/default/xui/it/panel_outfit_edit.xml b/indra/newview/skins/default/xui/it/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..516181e0e9a94b76557ded6f2545a60198dfa05e
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Modifica del vestiario" name="outfit_edit">
+	<string name="No Outfit" value="Nessun vestiario"/>
+	<panel.string name="not_available">
+		(non pert.)
+	</panel.string>
+	<panel.string name="unknown">
+		(sconosciuto)
+	</panel.string>
+	<string name="Filter.All" value="Tutto"/>
+	<string name="Filter.Clothes/Body" value="Abiti/corpo"/>
+	<string name="Filter.Objects" value="Oggetti"/>
+	<button label="modifica" name="edit_wearable_btn"/>
+	<text name="title" value="Modifica vestiario"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="Modifica..."/>
+			<text name="curr_outfit_name" value="[Current Outfit]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="Pannello di controllo IM" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="Articolo look" name="look_item"/>
+				<scroll_list.columns label="Ordina in base agli articoli del vestiario" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="Filtro" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="Pannello di controllo IM" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="Aggiungi al vestiario:"/>
+					<button label="V" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="C" name="folder_view_btn"/>
+				<button label="E" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="Salva" name="save_btn"/>
+		<button label="Ripristina" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
index 58055d91c76b043bdd5067a3cbe9b59c4a52fd81..932788eaa3d58d70c1550b16be0d0d3447b06510 100644
--- a/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/it/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Cose" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="I MIEI ABITI" name="outfitslist_tab"/>
+		<panel label="I MIEI ABITI" name="outfitslist_tab"/>
 		<inventory_panel label="INDOSSA" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="Rimuovi l&apos;articolo selezionato"/>
 		<button label="Salva vestiario" name="make_outfit_btn" tool_tip="Salva questo aspetto fisico come un vestito"/>
 		<button label="Indossa" name="wear_btn" tool_tip="Indossa il vestiario selezionato"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="Modifica vestiario" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_people.xml b/indra/newview/skins/default/xui/it/panel_people.xml
index acbc2cf32672cd7b3f3c71c247ed52e1884fb7ff..c469da014a389cf9721df24aae9db91e2c100389 100644
--- a/indra/newview/skins/default/xui/it/panel_people.xml
+++ b/indra/newview/skins/default/xui/it/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="Persone" name="people_panel">
-	<string name="no_people" value="Nessuna persona"/>
-	<string name="no_one_near" value="Nessuno vicino"/>
+	<string name="no_recent_people" value="Nessuna persona recente. Stai cercando persone da frequentare? Prova la [secondlife:///app/search/people Ricerca] o la [secondlife:///app/worldmap Mappa del mondo]."/>
+	<string name="no_filtered_recent_people" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/people Cerca]."/>
+	<string name="no_one_near" value="Nessuno vicino. Stai cercando persone da frequentare? Try la [secondlife:///app/search/people Ricerca] o la [secondlife:///app/worldmap Mappa del mondo]."/>
+	<string name="no_one_filtered_near" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/people Cerca]."/>
 	<string name="no_friends_online" value="Nessun amico online"/>
 	<string name="no_friends" value="Nessun amico"/>
+	<string name="no_friends_msg">
+		Per trovare amici, utilizza [secondlife:///app/search/people Cerca] oppure fai clic col tasto destro del mouse su un residente per aggiungerlo come amico.
+Stai cercando persone da frequentare? Prova la [secondlife:///app/worldmap Mappa del mondo].
+	</string>
+	<string name="no_filtered_friends_msg">
+		Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/people Cerca].
+	</string>
 	<string name="people_filter_label" value="Filtro persone"/>
 	<string name="groups_filter_label" value="Filtro gruppi"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Try finding the group in search?]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups Try searching for some groups to join.]"/>
+	<string name="no_filtered_groups_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/groups Cerca]."/>
+	<string name="no_groups_msg" value="Stai cercando gruppi di cui far parte? Prova [secondlife:///app/search/groups Cerca]."/>
 	<filter_editor label="Filtro" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="NELLE VICINANZE" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="Offri amicizia a un residente"/>
 				<button name="del_btn" tool_tip="Rimuovi la persona selezionata dalla lista degli amici"/>
 			</panel>
-			<text name="no_friends_msg">
-				Per aggiungere amici, prova [secondlife:///app/search/people global search] oppure fai clic col pulsante destro del mouse su un residente per aggiungerlo come amico.
-Se stai cercando qualcuno da frequentare, [secondlife:///app/worldmap try the Map].
-			</text>
 		</panel>
 		<panel label="I MIEI GRUPPI" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/it/panel_places.xml b/indra/newview/skins/default/xui/it/panel_places.xml
index bdb852ba62a353dd8e347509a9f5b8241714604c..3b242b1805563d4748970032d749a5283bbf0d02 100644
--- a/indra/newview/skins/default/xui/it/panel_places.xml
+++ b/indra/newview/skins/default/xui/it/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="Salva" name="save_btn"/>
 		<button label="Annulla" name="cancel_btn"/>
 		<button label="Chiudi" name="close_btn"/>
+		<button label="Profilo" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml
index c24d3f656a9d0e8bfa799f3181c0fad689a211bc..09e19f4bc08b78ea1c0829b9f7919e1eea641ca4 100644
--- a/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/it/panel_preferences_advanced.xml
@@ -13,13 +13,16 @@
 	</text>
 	<check_box label="Costruire/Modificare" name="edit_camera_movement" tool_tip="Utilizza il posizionamento automatico della fotocamera entrando o uscendo dalla modalità modifica"/>
 	<check_box label="Aspetto fisico" name="appearance_camera_movement" tool_tip="Utilizza il posizionamento automatico della camera in modalità modifica"/>
-	<check_box label="Mostra in modalità Mouselook" name="first_person_avatar_visible"/>
+	<check_box label="Visualizzami in modalità soggettiva" name="first_person_avatar_visible"/>
 	<check_box label="Le frecce di direzione mi fanno sempre spostare" name="arrow_keys_move_avatar_check"/>
 	<check_box label="Doppio click e tieni premuto per correre" name="tap_tap_hold_to_run"/>
-	<check_box label="Consente il movimento delle labbra dell&apos;avatar quando parla" name="enable_lip_sync"/>
+	<check_box label="Movimento delle labbra dell&apos;avatar quando parla" name="enable_lip_sync"/>
 	<check_box label="Chat a bolla" name="bubble_text_chat"/>
 	<slider label="Opacità" name="bubble_chat_opacity"/>
 	<color_swatch name="background" tool_tip="Scegli il colore delle vignette della chat"/>
+	<text name="UI Size:">
+		Dimensioni interfaccia utente
+	</text>
 	<check_box label="Mostra errori dello script in:" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="Chat nei dintorni" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="Pulsante di comando della funzione Premi per parlare" name="modifier_combo"/>
 	<button label="Imposta tasto" name="set_voice_hotkey_button"/>
 	<button label="Pulsante centrale del mouse" name="set_voice_middlemouse_button" tool_tip="Reimposta sul pulsante centrale del mouse"/>
+	<button label="Altri dispositivi" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_world_map.xml b/indra/newview/skins/default/xui/it/panel_world_map.xml
index 8d18e0ee0bd6f8e023983f53e0e4e663b376d649..642af7502839c254be850631681927feb527b4a0 100644
--- a/indra/newview/skins/default/xui/it/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/it/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		NO
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 persona
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] persone
+	</panel.string>
 	<text label="N" name="floater_map_north" text="N">
 		N
 	</text>
diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
index 196eb75bd7e24e7363a1ee5999e00de1278748c2..8a391c882cd407c193f0d55dc9543e913a893f22 100644
--- a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="Profilo" name="info_btn"/>
+			<button label="Condividi" name="share_btn"/>
 			<button label="Indossa" name="wear_btn"/>
 			<button label="Riproduci" name="play_btn"/>
 			<button label="Teleport" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index a1b570d7160ec64fe2c990c41f663b807ee68fdc..a496d4c8d619edef4c86f0cdfe667337024bde83 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -255,6 +255,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		Chiudi (Ctrl+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		Chiudi
+	</string>
 	<string name="BUTTON_RESTORE">
 		Ripristina
 	</string>
@@ -294,6 +297,9 @@
 	<string name="GroupNameNone">
 		(nessuno)
 	</string>
+	<string name="AvalineCaller">
+		Chiamante Avaline [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		Nessun errore
 	</string>
@@ -886,13 +892,13 @@
 		Alto
 	</string>
 	<string name="LeaveMouselook">
-		Premi ESC per tornare in visulizzazione normale
+		Premi ESC per tornare in visualizzazione normale
 	</string>
 	<string name="InventoryNoMatchingItems">
-		Nessun oggetto corrispondente trovato in inventario.  Prova [secondlife:///app/search/groups &quot;Cerca&quot;].
+		Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all Cerca].
 	</string>
 	<string name="FavoritesNoMatchingItems">
-		Trascina qui un punto di riferimento per aggiungerlo ai tuoi preferiti.
+		Trascina qui un punto di riferimento per aggiungerlo ai Preferiti.
 	</string>
 	<string name="InventoryNoTexture">
 		Non hai una copia di questa texture nel tuo inventario
@@ -1548,9 +1554,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		Non esiste alcun regolamento per questa proprietà. Il terreno di questa proprietà è messo in vendita dal proprietario, non dalla Linden Lab.  Contatta il proprietario del terreno per i dettagli della vendita.
 	</string>
-	<string name="covenant_last_modified">
-		Ultima modifica:
-	</string>
+	<string name="covenant_last_modified" value="Ultima modifica:"/>
 	<string name="none_text" value="(nessuno)"/>
 	<string name="never_text" value="(mai)"/>
 	<string name="GroupOwned">
@@ -1566,7 +1570,7 @@
 		(si aggiornerà dopo la pubblicazione)
 	</string>
 	<string name="NoPicksClassifiedsText">
-		Non hai creato luoghi preferiti né inserzioni. Clicca il pulsante più qui sotto per creare un luogo preferito o un&apos;inserzione.
+		Non hai creato luoghi preferiti né inserzioni. Clicca il pulsante + qui sotto per creare un luogo preferito o un&apos;inserzione.
 	</string>
 	<string name="NoAvatarPicksClassifiedsText">
 		L&apos;utente non ha luoghi preferiti né inserzioni
@@ -3227,6 +3231,15 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
 	<string name="LocationCtrlComboBtnTooltip">
 		La cronologia delle mie posizioni
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Regione con categoria adulti
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Regione con categoria moderata
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		Regione generale
+	</string>
 	<string name="UpdaterWindowTitle">
 		Aggiornamento [APP_NAME]
 	</string>
@@ -3257,6 +3270,12 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
 	<string name="UpdaterFailStartTitle">
 		Errore nell&apos;avvio del viewer
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME]: Oggetti in arrivo troppo velocemente da [FROM_NAME], anteprima automatica disattivata per [TIME] secondi
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME]: Oggetti in arrivo troppo velocemente, anteprima automatica disattivata per [TIME] secondi
+	</string>
 	<string name="IM_logging_string">
 		-- Registrazione messaggi instantanei abilitata --
 	</string>
@@ -3284,6 +3303,9 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
 	<string name="IM_moderator_label">
 		(Moderatore)
 	</string>
+	<string name="answered_call">
+		Risposto alla chiamata
+	</string>
 	<string name="started_call">
 		Chiamata vocale iniziata
 	</string>
@@ -3365,12 +3387,18 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
 	<string name="unread_chat_multiple">
 		[SOURCES] ha detto qualcosa di nuovo
 	</string>
+	<string name="session_initialization_timed_out_error">
+		Sessione di inizializzazione scaduta
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] ti ha inviato un pagamento di L$[AMOUNT].
 	</string>
 	<string name="you_paid_ldollars">
 		Hai inviato un pagamento di L$[AMOUNT] a [NAME] [REASON].
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		Hai pagato L$ [AMOUNT].
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		Hai inviato un pagamento di L$[AMOUNT] a [NAME].
 	</string>
@@ -3481,4 +3509,13 @@ Segnala abuso
 	<string name="Contents">
 		Contenuto
 	</string>
+	<string name="AvatarBirthDateFormat">
+		[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		nessuna/nessuna
+	</string>
+	<string name="texture_load_dimensions_error">
+		Impossibile caricare immagini di dimensioni superiori a [WIDTH]*[HEIGHT]
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/it/teleport_strings.xml b/indra/newview/skins/default/xui/it/teleport_strings.xml
index c11d41f6b96c2d57989414168a83ff6d048a2e59..7a1046abd36992b698144a0c158a7986319f87ea 100644
--- a/indra/newview/skins/default/xui/it/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/it/teleport_strings.xml
@@ -66,7 +66,7 @@ Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE
 			Elaborazione della destinazione in corso...
 		</message>
 		<message name="contacting">
-			Contattando la nuova regione.
+			Contatto in corso con la nuova regione.
 		</message>
 		<message name="arriving">
 			In arrivo a destinazione...
diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml
index 0eaad11cc72bbba2abb26627b73430287f6a572c..31cfb5c339f4ba6d95bf34e3c2d084ee42a35871 100644
--- a/indra/newview/skins/default/xui/ja/floater_about.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about.xml
@@ -43,13 +43,14 @@ Vivox バージョン: [VIVOX_VERSION]
 		</panel>
 		<panel label="クレジット" name="credits_panel">
 			<text_editor name="credits_editor">
-				Second Life は、 Philip、Tessa、Andrew、Cory、James、Ben、Char、Charlie、Colin、Dan、Daniel、Doug、Eric、Hamlet、Haney、Eve、Hunter、Ian、Jeff、Jennifer、Jim、John、Lee、Mark、Peter、Phoenix、Richard、Robin、Xenon、Steve、Tanya、Eddie、Avi、Frank、Bruce、Aaron、Alice、Bob、Debra、Eileen、Helen、Janet、Louie、Leviathania、Stefan、Ray、Kevin、Tom、Mikeb、MikeT、Burgess、Elena、Tracy、Bill、Todd、Ryan、Zach、Sarah、Nova、Tim、Stephanie、Michael、Evan、Nicolas、Catherine、Rachelle、Dave、Holly、Bub、Kelly、Magellan、Ramzi、Don、Sabin、Jill、Rheya、Jeska、Torley、Kona、Callum、Charity、Ventrella、Jack、Vektor、Iris、Chris、Nicole、Mick、Reuben、Blue、Babbage、Yedwab、Deana、Lauren、Brent、Pathfinder、Chadrick、Altruima、Jesse、Teeny、Monroe、Icculus、David、Tess、Lizzie、Patsy、Isaac、Lawrence、Cyn、Bo、Gia、Annette、Marius、Tbone、Jonathan、Karen、Ginsu、Satoko、Yuko、Makiko、Thomas、Harry、Seth、Alexei、Brian、Guy、Runitai、Ethan、Data、Cornelius、Kenny、Swiss、Zero、Natria、Wendy、Stephen、Teeple、Thumper、Lucy、Dee、Mia、Liana、Warren、Branka、Aura、beez、Milo、Hermia、Red、Thrax、Joe、Sally、Magenta、Mogura、Paul、Jose、Rejean、Henrik、Lexie、Amber、Logan、Xan、Nora、Morpheus、Donovan、Leyla、MichaelFrancis、Beast、Cube、Bucky、Joshua、Stryfe、Harmony、Teresa、Claudia、Walker、Glenn、Fritz、Fordak、June、Cleopetra、Jean、Ivy、Betsy、Roosevelt、Spike、Ken、Which、Tofu、Chiyo、Rob、Zee、dustin、George、Del、Matthew、Cat、Jacqui、Lightfoot、Adrian、Viola、Alfred、Noel、Irfan、Sunil、Yool、Rika、Jane、Xtreme、Frontier、a2、Neo、Siobhan、Yoz、Justin、Elle、Qarl、Benjamin、Isabel、Gulliver、Everett、Christopher、Izzy、Stephany、Garry、Sejong、Sean、Tobin、Iridium、Meta、Anthony、Jeremy、JP、Jake、Maurice、Madhavi、Leopard、Kyle、Joon、Kari、Bert、Belinda、Jon、Kristi、Bridie、Pramod、KJ、Socrates、Maria、Ivan、Aric、Yamasaki、Adreanne、Jay、MitchK、Ceren、Coco、Durl、Jenny、Periapse、Kartic、Storrs、Lotte、Sandy、Rohn、Colossus、Zen、BigPapi、Brad、Pastrami、Kurz、Mani、Neuro、Jaime、MJ、Rowan、Sgt、Elvis、Gecko、Samuel、Sardonyx、Leo、Bryan、Niko、Soft、Poppy、Rachel、Aki、Angelo、Banzai、Alexa、Sue、CeeLo、Bender、CG、Gillian、Pelle、Nick、Echo、Zara、Christine、Shamiran、Emma、Blake、Keiko、Plexus、Joppa、Sidewinder、Erica、Ashlei、Twilight、Kristen、Brett、Q、Enus、Simon、Bevis、Kraft、Kip、Chandler、Ron、LauraP、Ram、KyleJM、Scouse、Prospero、Melissa、Marty、Nat、Hamilton、Kend、Lordan、Jimmy、Kosmo、Seraph、Green、Ekim、Wiggo、JT、Rome、Doris、Miz、Benoc、Whump、Trinity、Patch、Kate、TJ、Bao、Joohwan、Christy、Sofia、Matias、Cogsworth、Johan、Oreh、Cheah、Angela、Brandy、Mango、Lan、Aleks、Gloria、Heidy、Mitchell、Space、Colton、Bambers、Einstein、Maggie、Malbers、Rose、Winnie、Stella、Milton、Rothman、Niall、Marin、Allison、Katie、Dawn、Katt、Dusty、Kalpana、Judy、Andrea、Ambroff、Infinity、Gail、Rico、Raymond、Yi、William、Christa、M、Teagan、Scout、Molly、Dante、Corr、Dynamike、Usi、Kaylee、Vidtuts、Lil、Danica、Sascha、Kelv、Jacob、Nya、Rodney、Brandon、Elsie、Blondin、Grant、Katrin、Nyx、Gabriel、Locklainn、Claire、Devin、Minerva、Monty、Austin、Bradford、Si、Keira、H、Caitlin、Dita、Makai、Jenn、Ann、Meredith、Clare、Joy、Praveen、Cody、Edmund、Ruthe、Sirena、Gayathri、Spider、FJ、Davidoff、Tian、Jennie、Louise、Oskar、Landon、Noelle、Jarv、Ingrid、Al、Sommer、Doc、Aria、Huin、Gray、Lili、Vir、DJ、Yang、T、Simone、Maestro、Scott、Charlene、Quixote、Amanda、Susan、Zed、Anne、Enkidu、Esbee、Joroan、Katelin、Roxie、Tay、Scarlet、Kevin、Johnny、Wolfgang、Andren、Bob、Howard、Merov、Rand、Ray、Michon、Newell、Galen、Dessie、Les、Michon、Jenelle、Geo、Siz、Shapiro、Pete、Calyle、Selene、Allen、Phoebe、Goldin、Kimmora、Dakota、Slaton、Lindquist、Zoey、Hari、Othello、Rohit、Sheldon、Petra、Viale、Gordon、Kaye、Pink、Ferny、Emerson、Davy、Bri、Chan、Juan、Robert、Terrence、Nathan、Carlと、その他多数の人達によって作成されました。
+				Second Life は、Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain その他大勢の方々によって提供されています。
 
-  このバージョンをこれまでで最高のものになるようご協力をいただいた以下の住人の皆様に深く感謝いたします。 able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
+現在最も優れたバージョンとなるようご協力いただいた次の住人の皆様に深く感謝いたします。 Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan その他大勢の方々。
 
 
 
-  ビジネスで成功するには、勇気を持って、誰よりも先に、人と違ったことをすることだ。 --Henry Marchant
+
+「努力は続く。目標は持続する。希望は残されている。夢は決して消えない。」 - エドワード・ケネディ
 			</text_editor>
 		</panel>
 		<panel label="ライセンス" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/ja/floater_animation_preview.xml b/indra/newview/skins/default/xui/ja/floater_animation_preview.xml
index 8c2ac17acef90696110159e113f6a36887816d46..548d24097f6259849f7cb7cae81de96a28334880 100644
--- a/indra/newview/skins/default/xui/ja/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_animation_preview.xml
@@ -141,35 +141,35 @@
 		表現
 	</text>
 	<combo_box label="" name="emote_combo" tool_tip="アニメーション再生中の顔の表情を決めます">
-		<combo_box.item label="(なし)" name="[None]"/>
-		<combo_box.item label="アーーーーー" name="Aaaaah"/>
-		<combo_box.item label="恐れる" name="Afraid"/>
-		<combo_box.item label="怒る" name="Angry"/>
-		<combo_box.item label="満面の笑み" name="BigSmile"/>
-		<combo_box.item label="退屈" name="Bored"/>
-		<combo_box.item label="泣く" name="Cry"/>
-		<combo_box.item label="侮辱" name="Disdain"/>
-		<combo_box.item label="恥ずかしがる" name="Embarrassed"/>
-		<combo_box.item label="しかめっ面" name="Frown"/>
-		<combo_box.item label="キス" name="Kiss"/>
-		<combo_box.item label="笑う" name="Laugh"/>
-		<combo_box.item label="Plllppt" name="Plllppt"/>
-		<combo_box.item label="嫌悪感" name="Repulsed"/>
-		<combo_box.item label="悲しい" name="Sad"/>
-		<combo_box.item label="肩をすくめる" name="Shrug"/>
-		<combo_box.item label="微笑む" name="Smile"/>
-		<combo_box.item label="驚く" name="Surprise"/>
-		<combo_box.item label="ウィンク" name="Wink"/>
-		<combo_box.item label="心配する" name="Worry"/>
+		<item label="(なし)" name="[None]" value=""/>
+		<item label="アーーーーー" name="Aaaaah" value="アーーーーー"/>
+		<item label="恐れる" name="Afraid" value="恐れる"/>
+		<item label="怒る" name="Angry" value="怒る"/>
+		<item label="満面の笑み" name="BigSmile" value="満面の笑み"/>
+		<item label="退屈" name="Bored" value="退屈"/>
+		<item label="泣く" name="Cry" value="泣く"/>
+		<item label="侮辱" name="Disdain" value="侮辱"/>
+		<item label="恥ずかしがる" name="Embarrassed" value="恥ずかしがる"/>
+		<item label="しかめっ面" name="Frown" value="しかめっ面"/>
+		<item label="キス" name="Kiss" value="キス"/>
+		<item label="笑う" name="Laugh" value="笑う"/>
+		<item label="Plllppt" name="Plllppt" value="Plllppt"/>
+		<item label="嫌悪感" name="Repulsed" value="嫌悪感"/>
+		<item label="悲しい" name="Sad" value="悲しい"/>
+		<item label="肩をすくめる" name="Shrug" value="肩をすくめる"/>
+		<item label="微笑む" name="Smile" value="微笑む"/>
+		<item label="驚く" name="Surprise" value="驚く"/>
+		<item label="ウィンク" name="Wink" value="ウィンク"/>
+		<item label="心配する" name="Worry" value="心配する"/>
 	</combo_box>
 	<text name="preview_label">
 		同時進行行動
 	</text>
 	<combo_box label="" name="preview_base_anim" tool_tip="アバターが普通の行動をするときのアニメーションの動きをテストするためにこれを使います。">
-		<combo_box.item label="立つ" name="Standing"/>
-		<combo_box.item label="歩く" name="Walking"/>
-		<combo_box.item label="座る" name="Sitting"/>
-		<combo_box.item label="飛ぶ" name="Flying"/>
+		<item label="立つ" name="Standing" value="立つ"/>
+		<item label="歩く" name="Walking" value="歩く"/>
+		<item label="座る" name="Sitting" value="座る"/>
+		<item label="飛ぶ" name="Flying" value="飛ぶ"/>
 	</combo_box>
 	<spinner label="イーズイン(秒)" name="ease_in_time" tool_tip="アニメーションのブレンドイン時間(秒)"/>
 	<spinner label="イーズアウト(秒)" name="ease_out_time" tool_tip="アニメーションのブレンドアウト時間(秒)"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
index b924af4e67d19a85e2cb60431d3a161bdf543b7a..b0949cd4e0d022669ec9a4cca3ae6c3cbf3bc9a1 100644
--- a/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="Day Cycle Floater" title="デイサイクル編集">
 	<tab_container name="Day Cycle Tabs">
 		<panel label="デイサイクル" name="Day Cycle">
-			<button label="?" name="WLDayCycleHelp" />
+			<button label="?" name="WLDayCycleHelp"/>
 			<text name="WL12am">
 				深夜 12時
 			</text>
@@ -57,41 +57,38 @@
 			<text name="WL12amHash2">
 				|
 			</text>
-			<button label="キーの追加" label_selected="キーの追加" name="WLAddKey" />
-			<button label="キーの削除" label_selected="キーの削除" name="WLDeleteKey" />
+			<button label="キーの追加" label_selected="キーの追加" name="WLAddKey"/>
+			<button label="キーの削除" label_selected="キーの削除" name="WLDeleteKey"/>
 			<text name="WLCurKeyFrameText">
 				キーフレームの設定:
 			</text>
 			<text name="WLCurKeyTimeText">
 				キータイム:
 			</text>
-			<spinner label="時間" name="WLCurKeyHour" />
-			<spinner label="分" name="WLCurKeyMin" />
+			<spinner label="時間" name="WLCurKeyHour"/>
+			<spinner label="分" name="WLCurKeyMin"/>
 			<text name="WLCurKeyTimeText2">
 				キーの事前設定:
 			</text>
-			<combo_box label="事前設定" name="WLKeyPresets" />
+			<combo_box label="事前設定" name="WLKeyPresets"/>
 			<text name="DayCycleText">
 				スナップ:
 			</text>
-			<combo_box label="5 分" name="WLSnapOptions" />
+			<combo_box label="5 分" name="WLSnapOptions"/>
 			<text name="DayCycleText2">
 				サイクルの長さ:
 			</text>
-			<spinner label="時間" name="WLLengthOfDayHour" />
-			<spinner label="分" name="WLLengthOfDayMin" />
-			<spinner label="秒" name="WLLengthOfDaySec" />
+			<spinner label="時間" name="WLLengthOfDayHour"/>
+			<spinner label="分" name="WLLengthOfDayMin"/>
+			<spinner label="秒" name="WLLengthOfDaySec"/>
 			<text name="DayCycleText3">
 				プレビュー:
 			</text>
 			<button label="再生" label_selected="再生" name="WLAnimSky"/>
-			<button label="停止" label_selected="停止" name="WLStopAnimSky" />
-			<button label="不動産の時刻を使用"
-			     label_selected="不動産の時刻に変更" name="WLUseLindenTime"/>
-			<button label="デイテストを保存"
-			     label_selected="デイテストを保存" name="WLSaveDayCycle" />
-			<button label="デイテストをロード"
-			     label_selected="デイテストをロード" name="WLLoadDayCycle" />
+			<button label="停止" label_selected="停止" name="WLStopAnimSky"/>
+			<button label="不動産の時刻を使用" label_selected="不動産の時刻に変更" name="WLUseLindenTime"/>
+			<button label="デイテストを保存" label_selected="デイテストを保存" name="WLSaveDayCycle"/>
+			<button label="デイテストをロード" label_selected="デイテストをロード" name="WLLoadDayCycle"/>
 		</panel>
 	</tab_container>
 </floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_god_tools.xml b/indra/newview/skins/default/xui/ja/floater_god_tools.xml
index 6ccd6b92938e20d2aa6479f9c1d334ae503604e5..ffea9474b02b7314422071cee522a543032d0701 100644
--- a/indra/newview/skins/default/xui/ja/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/ja/floater_god_tools.xml
@@ -2,12 +2,11 @@
 <floater name="godtools floater" title="ゴッド・ツール">
 	<tab_container name="GodTools Tabs">
 		<panel label="グリッド" name="grid">
-			<button label="住人全員を追い出す" label_selected="住人全員を追い出す" name="Kick all users" width="160"/>
 			<button label="この地域の地図の表示キャッシュを消去" label_selected="この地域の地図の表示キャッシュを消去" name="Flush This Region&apos;s Map Visibility Caches"/>
 		</panel>
 		<panel label="地域" name="region">
-			<text name="Sim Name:">
-				シム名:
+			<text name="Region Name:">
+				リージョン名:
 			</text>
 			<check_box label="準備" name="check prelude" tool_tip="この設定により、この地域の準備をします。"/>
 			<check_box label="太陽固定" name="check fixed sun" tool_tip="太陽位置を固定([地域/不動産]>[地形]の場合と同様)"/>
@@ -52,8 +51,8 @@
 			<panel.string name="no_target">
 				(ターゲットなし)
 			</panel.string>
-			<text name="Sim Name:">
-				シム名:
+			<text name="Region Name:">
+				リージョン名:
 			</text>
 			<text name="region name">
 				ウェルシュ
diff --git a/indra/newview/skins/default/xui/ja/floater_image_preview.xml b/indra/newview/skins/default/xui/ja/floater_image_preview.xml
index 2e57acf0d258f3c4e2069c68e937eee1e34a292f..1ffc27fd70ad7a0ead55581c6b5094a3902e463a 100644
--- a/indra/newview/skins/default/xui/ja/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_image_preview.xml
@@ -10,16 +10,16 @@
 		プレビュー:
 	</text>
 	<combo_box label="服の種類" name="clothing_type_combo">
-		<combo_box.item label="画像" name="Image"/>
-		<combo_box.item label="髪" name="Hair"/>
-		<combo_box.item label="女性の頭" name="FemaleHead"/>
-		<combo_box.item label="女性の上半身" name="FemaleUpperBody"/>
-		<combo_box.item label="女性の下半身" name="FemaleLowerBody"/>
-		<combo_box.item label="男性の頭" name="MaleHead"/>
-		<combo_box.item label="男性の上半身" name="MaleUpperBody"/>
-		<combo_box.item label="男性の下半身" name="MaleLowerBody"/>
-		<combo_box.item label="スカート" name="Skirt"/>
-		<combo_box.item label="スカルプトプリム" name="SculptedPrim"/>
+		<item label="画像" name="Image" value="画像"/>
+		<item label="髪" name="Hair" value="髪"/>
+		<item label="女性の頭" name="FemaleHead" value="女性の頭"/>
+		<item label="女性の上半身" name="FemaleUpperBody" value="女性の上半身"/>
+		<item label="女性の下半身" name="FemaleLowerBody" value="女性の下半身"/>
+		<item label="男性の頭" name="MaleHead" value="男性の頭"/>
+		<item label="男性の上半身" name="MaleUpperBody" value="男性の上半身"/>
+		<item label="男性の下半身" name="MaleLowerBody" value="男性の下半身"/>
+		<item label="スカート" name="Skirt" value="スカート"/>
+		<item label="スカルプトプリム" name="SculptedPrim" value="スカルプトプリム"/>
 	</combo_box>
 	<text name="bad_image_text">
 		イメージを読み取れません。
diff --git a/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml b/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml
index 4ccaf1a4af66adf98533824e9d4f7f6b91b361c8..f1a05e0eec0d538c1a329f6f585464e857e015cf 100644
--- a/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/ja/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		[VOICE_CHANNEL_NAME] への接続が切れました。  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] がコールを終了しました。  [RECONNECT_NEARBY]
+		コールを切りました。  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		コールを終了しました。  [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/ja/floater_snapshot.xml b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
index 153b4068ad857aebb326b992813cd5180aa6205d..9aecbab70f0444fc59591c23b66206606c2d371f 100644
--- a/indra/newview/skins/default/xui/ja/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="スナップショットのプレビュー">
-	<text name="type_label">
-		スナップショットの送り先
-	</text>
-	<radio_group label="スナップショットの種類" name="snapshot_type_radio">
-		<radio_item label="メール" name="postcard"/>
-		<radio_item label="「持ち物」に保存(L$ [AMOUNT])" name="texture"/>
-		<radio_item label="コンピューターに保存" name="local"/>
-	</radio_group>
-	<text name="file_size_label">
-		[SIZE] KB
-	</text>
-	<button label="スナップショットを更新" name="new_snapshot_btn"/>
-	<button label="送信" name="send_btn"/>
-	<button label="保存(L$[AMOUNT])" name="upload_btn"/>
-	<flyout_button label="保存" name="save_btn" tool_tip="画像をファイルに保存">
-		<flyout_button.item label="保存" name="save_item"/>
-		<flyout_button.item label="別名で保存..." name="saveas_item"/>
-	</flyout_button>
-	<button label="キャンセル" name="discard_btn"/>
-	<button label="全表示" name="more_btn" tool_tip="詳しい設定"/>
-	<button label="簡易" name="less_btn" tool_tip="詳しい設定"/>
-	<text name="type_label2">
-		サイズ
-	</text>
-	<text name="format_label" width="75">
-		形式
-	</text>
-	<combo_box label="解像度" name="postcard_size_combo">
-		<combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
-		<combo_box.item label="640 x 480" name="640x480"/>
-		<combo_box.item label="800 x 600" name="800x600"/>
-		<combo_box.item label="1024 x 768" name="1024x768"/>
-		<combo_box.item label="カスタム" name="Custom"/>
-	</combo_box>
-	<combo_box label="解像度" name="texture_size_combo">
-		<combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
-		<combo_box.item label="小(128 x 128)" name="Small(128x128)"/>
-		<combo_box.item label="中(256 x 256)" name="Medium(256x256)"/>
-		<combo_box.item label="大(512 x5 12)" name="Large(512x512)"/>
-		<combo_box.item label="カスタム" name="Custom"/>
-	</combo_box>
-	<combo_box label="解像度" name="local_size_combo">
-		<combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
-		<combo_box.item label="320 x 240" name="320x240"/>
-		<combo_box.item label="640 x 480" name="640x480"/>
-		<combo_box.item label="800 x 600" name="800x600"/>
-		<combo_box.item label="1024 x 768" name="1024x768"/>
-		<combo_box.item label="1280 x 1024" name="1280x1024"/>
-		<combo_box.item label="1600 x 1200" name="1600x1200"/>
-		<combo_box.item label="カスタム" name="Custom"/>
-	</combo_box>
-	<combo_box label="形式" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="å¹…" label_width="25" name="snapshot_width" width="90"/>
-	<spinner label="高さ" label_width="30" left="115" name="snapshot_height" width="90"/>
-	<check_box label="縦横比の固定" name="keep_aspect_check"/>
-	<slider label="画質" name="image_quality_slider"/>
-	<text name="layer_type_label">
-		キャプチャ:
-	</text>
-	<combo_box label="画像レイヤー" name="layer_types">
-		<combo_box.item label="色" name="Colors"/>
-		<combo_box.item label="色深度" name="Depth"/>
-		<combo_box.item label="マットオブジェクト" name="ObjectMattes"/>
-	</combo_box>
-	<check_box label="インターフェース" name="ui_check"/>
-	<check_box label="HUD" name="hud_check"/>
-	<check_box label="保存後も開いた状態を保持" name="keep_open_check"/>
-	<check_box label="画面全体を静止" name="freeze_frame_check"/>
-	<check_box label="自動更新" name="auto_snapshot_check"/>
-	<string name="unknown">
+<floater name="Snapshot" title="スナップショット">
+	<floater.string name="unknown">
 		不明
-	</string>
+	</floater.string>
+	<button label="スナップショットを更新" name="new_snapshot_btn"/>
+	<line_editor label="説明" name="description"/>
+	<button label="共有" name="share"/>
+	<button label="Web で共有" name="share_to_web"/>
+	<button label="「持ち物」に保存" name="save_to_inventory"/>
+	<button label="保存" name="save"/>
+	<button label="スナップショットをメール" name="share_to_email"/>
+	<button label="コンピューターに保存" name="save_to_computer"/>
+	<button label="プロフィールに設定" name="set_profile_pic"/>
+	<button label="戻る" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_tos.xml b/indra/newview/skins/default/xui/ja/floater_tos.xml
index 337766987cd1481e90ebbaa1f550d203e8b66411..ae064724c03a1ef1ead2fe2609e0708180bad22e 100644
--- a/indra/newview/skins/default/xui/ja/floater_tos.xml
+++ b/indra/newview/skins/default/xui/ja/floater_tos.xml
@@ -1,22 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title=" ">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Loading %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="続行" label_selected="続行" name="Continue"/>
 	<button label="取り消し" label_selected="取り消し" name="Cancel"/>
-	<radio_group name="tos_agreement">
-		<radio_item label="利用規約に同意しません" name="radio_disagree"/>
-		<radio_item label="利用規約に同意します" name="radio_agree"/>
-	</radio_group>
-	<text name="tos_title">
-		利用規約
-	</text>
 	<check_box label="利用規約とプライバシーポリシーに同意します" name="agree_chk"/>
 	<text name="tos_heading">
 		次の利用規約とプライバシーポリシーをよくお読みください。 [SECOND_LIFE] へのログインを続けるには、規約に同意する必要があります。
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<text name="real_url">
-		http://secondlife.com/app/tos/
-	</text>
 </floater>
diff --git a/indra/newview/skins/default/xui/ja/menu_attachment_other.xml b/indra/newview/skins/default/xui/ja/menu_attachment_other.xml
index f163c2cf4fee783e43062b9d575daf92c32eec66..5adf0b3745f599a1190df59ede3440e44e76a505 100644
--- a/indra/newview/skins/default/xui/ja/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/ja/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="報告" name="abuse"/>
 	<menu_item_call label="フリーズ" name="Freeze..."/>
 	<menu_item_call label="追放" name="Eject..."/>
-	<menu_item_call label="デバッグ" name="Debug..."/>
+	<menu_item_call label="テクスチャのデバッグ" name="Debug..."/>
 	<menu_item_call label="ズームイン" name="Zoom In"/>
 	<menu_item_call label="支払う" name="Pay..."/>
 	<menu_item_call label="オブジェクトのプロフィール" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_attachment_self.xml b/indra/newview/skins/default/xui/ja/menu_attachment_self.xml
index 209edd80ba900a4159f2e4622e8ae526643562dd..72c91da47900c84b5c76dafb7e80cccfdac966b2 100644
--- a/indra/newview/skins/default/xui/ja/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/ja/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="フレンド" name="Friends..."/>
 	<menu_item_call label="グループ" name="Groups..."/>
 	<menu_item_call label="プロフィール" name="Profile..."/>
+	<menu_item_call label="テクスチャのデバッグ" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_other.xml b/indra/newview/skins/default/xui/ja/menu_avatar_other.xml
index 74d877cddad1f6ed3d13f89df97c64c4caf46e2d..54dd96f5effd7c8d9e3f9bdf3d86384c30574c06 100644
--- a/indra/newview/skins/default/xui/ja/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/ja/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="報告" name="abuse"/>
 	<menu_item_call label="フリーズ" name="Freeze..."/>
 	<menu_item_call label="追放" name="Eject..."/>
-	<menu_item_call label="デバッグ" name="Debug..."/>
+	<menu_item_call label="テクスチャのデバッグ" name="Debug..."/>
 	<menu_item_call label="ズームイン" name="Zoom In"/>
 	<menu_item_call label="支払う" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_self.xml b/indra/newview/skins/default/xui/ja/menu_avatar_self.xml
index a638bed36f8abb41e031b165a6fb5bc3faa2f194..c856cdccb9941debdb1b9188e6804cc6efc3daf0 100644
--- a/indra/newview/skins/default/xui/ja/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/ja/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="フレンド" name="Friends..."/>
 	<menu_item_call label="グループ" name="Groups..."/>
 	<menu_item_call label="プロフィール" name="Profile..."/>
+	<menu_item_call label="テクスチャのデバッグ" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_edit.xml b/indra/newview/skins/default/xui/ja/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c2ef0179b235161601e6c48baecd6afa19b03bb5
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="編集" name="Edit">
+	<menu_item_call label="元に戻す" name="Undo"/>
+	<menu_item_call label="やり直し" name="Redo"/>
+	<menu_item_call label="切り取り" name="Cut"/>
+	<menu_item_call label="コピー" name="Copy"/>
+	<menu_item_call label="貼り付け" name="Paste"/>
+	<menu_item_call label="削除" name="Delete"/>
+	<menu_item_call label="複製" name="Duplicate"/>
+	<menu_item_call label="すべて選択" name="Select All"/>
+	<menu_item_call label="選択解除" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml
index 93f75f3ce1e512df0a5db1bed18ac2ddabcce703..5fdaa9ae6b936d2546a3b7993f204e717a449132 100644
--- a/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="報告" name="report"/>
 	<menu_item_call label="フリーズ" name="freeze"/>
 	<menu_item_call label="追放" name="eject"/>
-	<menu_item_call label="デバッグ" name="debug"/>
+	<menu_item_call label="テクスチャのデバッグ" name="debug"/>
 	<menu_item_call label="地図で探す" name="find_on_map"/>
 	<menu_item_call label="ズームイン" name="zoom_in"/>
 	<menu_item_call label="支払う" name="pay"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml
index d02701b40044c7c4d4b033e561327979426a5934..8867e5ccd60151adb12a76bc54d8873dda536022 100644
--- a/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="プロフィール" name="my_profile"/>
 	<menu_item_call label="フレンド" name="my_friends"/>
 	<menu_item_call label="グループ" name="my_groups"/>
+	<menu_item_call label="テクスチャのデバッグ" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9a4a8138f51c815de7f5d36117dec7b5c4e309a5
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="閉じる" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index 1607b2647e796a106ca163f6b7375b567cc4b36c..bfb5023cf76ab70aec5a13c7045f83d5f2019ff5 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="共有" name="Share"/>
 	<menu_item_call label="購入" name="Task Buy"/>
 	<menu_item_call label="開く" name="Task Open"/>
 	<menu_item_call label="再生" name="Task Play"/>
@@ -49,9 +50,9 @@
 	<menu_item_call label="着用中のアウトフィットを入れ替える" name="Replace Outfit"/>
 	<menu_item_call label="着用中のアウトフィットに追加する" name="Add To Outfit"/>
 	<menu_item_call label="着用中のアウトフィットから取り除く" name="Remove From Outfit"/>
+	<menu_item_call label="オリジナルを探す" name="Find Original"/>
 	<menu_item_call label="アイテムを除外する" name="Purge Item"/>
 	<menu_item_call label="アイテムを復元する" name="Restore Item"/>
-	<menu_item_call label="オリジナルを探す" name="Find Original"/>
 	<menu_item_call label="開く" name="Open"/>
 	<menu_item_call label="プロパティ" name="Properties"/>
 	<menu_item_call label="名前を変更する" name="Rename"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml
index d6f13f0e5959ca5ce9ccf9e7075fd86d6ab94b59..e2a7f39dfd66faeec9d191c1b6910f558b5b161d 100644
--- a/indra/newview/skins/default/xui/ja/menu_login.xml
+++ b/indra/newview/skins/default/xui/ja/menu_login.xml
@@ -8,18 +8,8 @@
 		<menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/>
 		<menu_item_call label="[APP_NAME] について" name="About Second Life"/>
 	</menu>
+	<menu_item_check label="デバッグメニューを表示する" name="Show Debug Menu"/>
 	<menu label="デバッグ" name="Debug">
-		<menu label="編集" name="Edit">
-			<menu_item_call label="元に戻す" name="Undo"/>
-			<menu_item_call label="やり直し" name="Redo"/>
-			<menu_item_call label="切り取り" name="Cut"/>
-			<menu_item_call label="コピー" name="Copy"/>
-			<menu_item_call label="貼り付け" name="Paste"/>
-			<menu_item_call label="削除" name="Delete"/>
-			<menu_item_call label="複製" name="Duplicate"/>
-			<menu_item_call label="すべて選択" name="Select All"/>
-			<menu_item_call label="選択解除" name="Deselect"/>
-		</menu>
 		<menu_item_call label="デバッグ設定を表示" name="Debug Settings"/>
 		<menu_item_call label="UI/色の設定" name="UI/Color Settings"/>
 		<menu_item_call label="XUI プレビューツール" name="UI Preview Tool"/>
@@ -28,5 +18,7 @@
 		<menu_item_call label="利用規約を表示" name="TOS"/>
 		<menu_item_call label="クリティカルメッセージを表示" name="Critical"/>
 		<menu_item_call label="Web ブラウザのテスト" name="Web Browser Test"/>
+		<menu_item_check label="グリッドピッカーを表示する" name="Show Grid Picker"/>
+		<menu_item_call label="通知コンソールを表示する" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/ja/menu_participant_list.xml b/indra/newview/skins/default/xui/ja/menu_participant_list.xml
index 398a78bb61495e7398f1ced20ca5fe9fe8daf5b0..3d0368245effa5d97dad2ec92956c58147c13685 100644
--- a/indra/newview/skins/default/xui/ja/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/ja/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="コール" name="Call"/>
 	<menu_item_call label="共有" name="Share"/>
 	<menu_item_call label="支払う" name="Pay"/>
+	<menu_item_check label="人のアイコン表示" name="View Icons"/>
 	<menu_item_check label="ボイスをブロック" name="Block/Unblock"/>
 	<menu_item_check label="文字をブロックする" name="MuteText"/>
 	<context_menu label="モデレーターのオプション &gt;" name="Moderator Options">
diff --git a/indra/newview/skins/default/xui/ja/menu_save_outfit.xml b/indra/newview/skins/default/xui/ja/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7ebaa6e1c8d7b9d5062a0bd23793c68024609954
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="保存" name="save_outfit"/>
+	<menu_item_call label="新規で保存" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_script_chiclet.xml b/indra/newview/skins/default/xui/ja/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a89dd0bcbe5ea59a448aef82571360b65950cd6f
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="閉じる" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index bcad8124576866cbbe42aae03d451f30ee3ba630..760128408dccb7167200138765c0947afd972a96 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="スナップショット" name="Take Snapshot"/>
 		<menu_item_call label="現在地をランドマーク" name="Create Landmark Here"/>
 		<menu label="場所のプロフィール" name="Land">
+			<menu_item_call label="場所のプロフィール" name="Place Profile"/>
 			<menu_item_call label="土地情報" name="About Land"/>
 			<menu_item_call label="地域 / 不動産" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="作成ツール" name="Create"/>
 			<menu_item_call label="土地ツール" name="Land"/>
 		</menu>
-		<menu label="編集" name="Edit">
-			<menu_item_call label="元に戻す" name="Undo"/>
-			<menu_item_call label="やり直し" name="Redo"/>
-			<menu_item_call label="切り取り" name="Cut"/>
-			<menu_item_call label="コピー" name="Copy"/>
-			<menu_item_call label="貼り付け" name="Paste"/>
-			<menu_item_call label="削除" name="Delete"/>
-			<menu_item_call label="複製" name="Duplicate"/>
-			<menu_item_call label="すべて選択" name="Select All"/>
-			<menu_item_call label="選択解除" name="Deselect"/>
-		</menu>
 		<menu_item_call label="リンク" name="Link"/>
 		<menu_item_call label="リンクを外す" name="Unlink"/>
 		<menu_item_check label="リンクした部分を編集" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="[APP_NAME] について" name="About Second Life"/>
 	</menu>
 	<menu label="アドバンス" name="Advanced">
+		<menu_item_check label="アドバンスメニューを表示する" name="Show Advanced Menu"/>
 		<menu_item_call label="自分のアニメーションを停止する" name="Stop Animating My Avatar"/>
 		<menu_item_call label="テクスチャのリベークをする" name="Rebake Texture"/>
 		<menu_item_call label="UI のサイズをデフォルトに設定する" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="透明部分をハイライトする" name="Highlight Transparent"/>
 			<menu_item_check label="HUD を表示する" name="Show HUD Attachments"/>
 			<menu_item_check label="一人称視点のときに十字線を表示する" name="ShowCrosshairs"/>
-			<menu_item_check label="土地のツールチップを表示する" name="Land Tips"/>
 		</menu>
 		<menu label="レンダリング(種類)" name="Rendering Types">
 			<menu_item_check label="シンプル" name="Simple"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index ddb2ae49f7778d42ba0a9716501c2495481c202b..ce3ac32568638ea590c40120d1b0ae980e73aa44 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -374,7 +374,7 @@ L$ が不足しているのでこのグループに参加することができ
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		ピック「 [PICK] 」を削除しますか?
+		&lt;nolink&gt;[PICK]&lt;/nolink&gt; を削除しますか?
 		<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -958,6 +958,16 @@ L$ は返金されません。
 			<button name="Cancel" text="キャンセル"/>
 		</form>
 	</notification>
+	<notification label="アウトフィットを保存する" name="SaveOutfitAs">
+		着用中のアウトフィットを新しいアウトフットとして保存:
+		<form name="form">
+			<input name="message">
+				[DESC] (新)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="キャンセル"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		[FIRST_NAME] [LAST_NAME] をフレンドリストから削除しますか?
 		<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
@@ -1456,6 +1466,10 @@ F1 キーを押してください。
 		[CLASSIFIED] にテレポートしますか?
 		<usetemplate ignoretext="クラシファイド広告の場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		[HISTORY_ENTRY] にテレポートしますか?
+		<usetemplate ignoretext="履歴の場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
+	</notification>
 	<notification label="あなたの不動産内の全員にメッセージを送信" name="MessageEstate">
 		今あなたの不動産にいる人全員に送る、短いメッセージを入力してください。
 		<form name="form">
@@ -1547,6 +1561,9 @@ F1 キーを押してください。
 			<ignore name="ignore" text="選択したレーティング区分が原因で、リージョンに入れないとき"/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		あなたのレーティング区分設定は現在 [RATING] です。
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		あなたのレーティング区分により、この土地を取得することはできません。 年齢を確認する際の情報に不足があったためと考えられます。
 
@@ -1970,6 +1987,9 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		取り消されました。
 	</notification>
@@ -1998,6 +2018,11 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 		インワールドと Web サイトのスナップショットをアップロード中です...
 (所要時間:約 5 分)
 	</notification>
+	<notification name="UploadConfirmation">
+		アップロード料金は L$[AMOUNT] です。
+続けますか?
+		<usetemplate name="okcancelbuttons" notext="キャンセル" yestext="アップロード"/>
+	</notification>
 	<notification name="UploadPayment">
 		アップロードに L$ [AMOUNT] 支払いました。
 	</notification>
@@ -2346,9 +2371,9 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] はテレポートであなたを呼んでいます。
+		[NAME_SLURL] はテレポートであなたを呼んでいます。
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="テレポート"/>
 			<button name="Cancel" text="取り消し"/>
@@ -2366,12 +2391,11 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME]は、
-フレンド登録を申し込んでいます。
+		[NAME_SLURL] はフレンド登録を申し込んでいます。
 
 [MESSAGE]
 
-(デフォルトでお互いのオンライン状態を見ることができるようになります。)
+(デフォルト設定だとお互いのオンライン状態を見ることができます)
 		<form name="form">
 			<button name="Accept" text="受け入れる"/>
 			<button name="Decline" text="辞退"/>
@@ -2435,6 +2459,9 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 	<notification name="FailedToFindWearable">
 		データベースに [DESC] という名前の [TYPE] が見つかりませんでした。
 	</notification>
+	<notification name="ShareToWebFailed">
+		Web サイトへの画像のアップロードに失敗しました。
+	</notification>
 	<notification name="InvalidWearable">
 		着用しようとしているアイテムはあなたのビューワでは読み込むことができません。 [APP_NAME] のバージョンをアップグレードしてからこのアイテムを着用してください。
 	</notification>
@@ -2476,14 +2503,6 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
 			<button name="Ignore" text="無視する"/>
 		</form>
 	</notification>
-	<notification name="ScriptToast">
-		[FIRST] [LAST] の「 [TITLE] 」は、住人インプットをリクエストしています。
-		<form name="form">
-			<button name="Open" text="ダイアログを開く"/>
-			<button name="Ignore" text="無視"/>
-			<button name="Block" text="ブロック"/>
-		</form>
-	</notification>
 	<notification name="BuyLindenDollarSuccess">
 		お支払ありがとうございます。
 
@@ -2639,6 +2658,12 @@ M キーを押して変更します。
 		選択したボタンを現在表示することができません。
 じゅうぶんなスペースができればボタンは表示されます。
 	</notification>
+	<notification name="ShareNotification">
+		住人選択画面に表示された人に、持ち物からアイテムをドラッグ
+	</notification>
+	<notification name="AvatarRezNotification">
+		アバター名「 [NAME] 」が [TIME] 秒で出現します。
+	</notification>
 	<global name="UnsupportedCPU">
 		- あなたの CPU の速度は必須動作環境の条件を満たしていません。
 	</global>
diff --git a/indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0cee35b90147ba7af3f24d1ac555f21f91d6cc26
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="モックアップタブ"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml b/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml
index 0cee85f6854167e473630385f9e6669dbde8acc4..94967999a147e0a687b473aa50b2f71bd4fc9b34 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="瞳" name="Iris" tool_tip="クリックして写真を選択します"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="ç›®"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="ç›®"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml b/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml
index 393bd152366febdb4fec6405264cfe8189c5db1c..83e9abca85594878ae38109c00b2eec46a7f7e8c 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="手袋"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="手袋"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_hair.xml b/indra/newview/skins/default/xui/ja/panel_edit_hair.xml
index 065771df164f1e2d980966c30b1b5b579cd66521..f73f76019296185d4b0236d71477c0fb0d5e9c5f 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="テクスチャ" name="Texture" tool_tip="クリックして写真を選択"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="色"/>
-		<accordion_tab name="hair_style_tab" title="スタイル"/>
-		<accordion_tab name="hair_eyebrows_tab" title="眉毛"/>
-		<accordion_tab name="hair_facial_tab" title="フェイシャル"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="色"/>
+			<accordion_tab name="hair_style_tab" title="スタイル"/>
+			<accordion_tab name="hair_eyebrows_tab" title="眉毛"/>
+			<accordion_tab name="hair_facial_tab" title="フェイシャル"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml b/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml
index 96a851cc4c3bec691105e992d61eff6224165b5f..fe95061e57cd3d8d5af751cc13b861429850193f 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
 		<texture_picker label="生地・下" name="Lower Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="ジャケット"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="ジャケット"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_pants.xml b/indra/newview/skins/default/xui/ja/panel_edit_pants.xml
index f93d3d6b141a8cf762023df15ba3be80246dd46c..9f672337aaf1d901117fec7751809666b39448b4 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_pants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="パンツ"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="パンツ"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shape.xml b/indra/newview/skins/default/xui/ja/panel_edit_shape.xml
index 1e20eb26b6f2b4576a1d3e340da1411d5062c2e4..e60534a54e896d2ce5b10b40c1b1a6fb000f4426 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="男性" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="身体"/>
-		<accordion_tab name="shape_head_tab" title="é ­"/>
-		<accordion_tab name="shape_eyes_tab" title="ç›®"/>
-		<accordion_tab name="shape_ears_tab" title="耳"/>
-		<accordion_tab name="shape_nose_tab" title="é¼»"/>
-		<accordion_tab name="shape_mouth_tab" title="口"/>
-		<accordion_tab name="shape_chin_tab" title="あご"/>
-		<accordion_tab name="shape_torso_tab" title="é ­"/>
-		<accordion_tab name="shape_legs_tab" title="è„š"/>
-	</accordion>
+	<panel label="シャツ" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="身体"/>
+			<accordion_tab name="shape_head_tab" title="é ­"/>
+			<accordion_tab name="shape_eyes_tab" title="ç›®"/>
+			<accordion_tab name="shape_ears_tab" title="耳"/>
+			<accordion_tab name="shape_nose_tab" title="é¼»"/>
+			<accordion_tab name="shape_mouth_tab" title="口"/>
+			<accordion_tab name="shape_chin_tab" title="あご"/>
+			<accordion_tab name="shape_torso_tab" title="é ­"/>
+			<accordion_tab name="shape_legs_tab" title="è„š"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml
index b2eb8fa18e1ed0575c77dd702435afa7f9a91050..457c0bceb8f400cb971d166592526287103d8a2f 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="シャツ"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="シャツ"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml b/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml
index 83e302f8f98f60cd55321457292dabd310c8a524..98b4c57fc7dcaa31e4b198959a4b7af1387d8616 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="靴"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="靴"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_skin.xml b/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
index cd7efbec68e9db899b95c17827751b94df191017..2c554dad94da1d16d05091e26d4098d3dc447666 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
@@ -5,10 +5,12 @@
 		<texture_picker label="上部のタトゥー" name="Upper Tattoos" tool_tip="クリックして写真を選択"/>
 		<texture_picker label="下部のタトゥー" name="Lower Tattoos" tool_tip="クリックして写真を選択"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="肌の色"/>
-		<accordion_tab name="skin_face_tab" title="顔の詳細"/>
-		<accordion_tab name="skin_makeup_tab" title="メイクアップ"/>
-		<accordion_tab name="skin_body_tab" title="身体の詳細"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="肌の色"/>
+			<accordion_tab name="skin_face_tab" title="顔の詳細"/>
+			<accordion_tab name="skin_makeup_tab" title="メイクアップ"/>
+			<accordion_tab name="skin_body_tab" title="身体の詳細"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml
index 0a0936a3a9182e813f3d169c2b230d9e7e96420f..b169bab5918c0ea7d860e38d25717927e9f7c563 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="スカート"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="スカート"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_socks.xml b/indra/newview/skins/default/xui/ja/panel_edit_socks.xml
index 7cbc75624fab7bd2086f87637bfe4148292b5c13..b095257a56a6fc45a94e31a233f94228092731ec 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_socks.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="靴下"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="靴下"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml b/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml
index 9287463b2c1c9f3982f43e9174b065196b66dd2e..fec34479c3b089dd7fe4ae4cf4a3446718cb2226 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="下着パンツ"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="下着パンツ"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml
index 085ad973847c8981e3dbe6f195991c6aa3ea1513..bd47d89947e8238babfcda86aff43ea798039e15 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="生地" name="Fabric" tool_tip="クリックして写真を選択します"/>
 		<color_swatch label="色・色彩配合" name="Color/Tint" tool_tip="クリックしてカラーピッカーを開きます"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="下着シャツ"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="下着シャツ"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml b/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml
index 2ae8e1863e523bae5f8dcfd1196df6e3c96ef2db..67828af6c2c831333858607fe50aae2d2df39a2f 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_wearable.xml
@@ -94,6 +94,11 @@
 	<panel label="シャツ" name="wearable_type_panel">
 		<text name="description_text" value="シェイプ:"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="オプション"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="別名で保存" name="save_as_button"/>
 		<button label="元に戻す" name="revert_button"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_general.xml b/indra/newview/skins/default/xui/ja/panel_group_general.xml
index 1b89b1b3cc6ea5fe0538f29772473f155cd21be0..94efd00770a2367787d8367e3b8ff2d178450d14 100644
--- a/indra/newview/skins/default/xui/ja/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_general.xml
@@ -47,8 +47,11 @@
 		<check_box label="入会費がかかります" name="check_enrollment_fee" tool_tip="入会費が必要かどうかを設定します。"/>
 		<spinner label="L$" name="spin_enrollment_fee" tool_tip="「入会費」にチェックが入っている場合、新規メンバーは指定された入会費を支払わなければグループに入れません。"/>
 		<combo_box name="group_mature_check" tool_tip="あなたのグループに「Moderate」にレート設定された情報があるかどうかを設定します">
-			<combo_box.item label="「General」コンテンツ" name="pg"/>
+			<combo_item name="select_mature">
+				- Mature の選択 -
+			</combo_item>
 			<combo_box.item label="「Moderate」コンテンツ" name="mature"/>
+			<combo_box.item label="「General」コンテンツ" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="検索に表示" name="show_in_group_list" tool_tip="このグループを検索結果に表示させます"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_inventory_item.xml b/indra/newview/skins/default/xui/ja/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml
index 223bd3e28cc6c4a6128170da91d407b2285affe5..11d9ed4c1698c2814d5da660a6196af6c7f9e826 100644
--- a/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/ja/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			ミニ
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		所有者
+	</text>
 	<check_box initial_value="false" label="ナビゲーションと相互作用力を有効にする" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="コントロールバーを表示する" name="perms_owner_control"/>
+	<text name="group_label">
+		グループ:
+	</text>
 	<check_box initial_value="false" label="ナビゲーションと相互作用力を有効にする" name="perms_group_interact"/>
 	<check_box initial_value="false" label="コントロールバーを表示する" name="perms_group_control"/>
+	<text name="anyone_label">
+		全員
+	</text>
 	<check_box initial_value="false" label="ナビゲーションと相互作用力を有効にする" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="コントロールバーを表示する" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
index fb273de4203cdf6a3d21b3bcdbb1b5e4d2ab64f2..d0e423bd182d4d76a79594e48537b5c09dc5c162 100644
--- a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(メディアアイテム %ld )
+	</string>
 	<string name="empty_item_text">
 		&lt;空&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="すべて停止" name="all_nearby_media_disable_btn" tool_tip="近くのメディアをすべてオフにします"/>
 		<button label="すべて開始" name="all_nearby_media_enable_btn" tool_tip="近くのメディアをすべてオンにします"/>
 		<button name="open_prefs_btn" tool_tip="メディアの設定を開きます"/>
-		<button label="詳細 &gt;&gt;" label_selected="簡易 &lt;&lt;" name="more_less_btn" tool_tip="アドバンスコントロール"/>
+		<button label="詳細 &gt;&gt;" label_selected="簡易 &lt;&lt;" name="more_btn" tool_tip="アドバンスコントロール"/>
+		<button label="詳細 &gt;&gt;" label_selected="簡易 &lt;&lt;" name="less_btn" tool_tip="アドバンスコントロール"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			近くのメディア
-		</text>
-		<text name="show">
-			表示:
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="すべて" name="All"/>
 			<combo_box.item label="この区画内" name="WithinParcel"/>
@@ -38,7 +36,7 @@
 			<scroll_list.columns label="名前" name="media_name"/>
 			<scroll_list.columns label="デバッグ" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="選択したメディアを停止"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml b/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d0089b46aab213eed079e0cc23d295e45fe7ab64
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="アウトフットの編集" name="outfit_edit">
+	<string name="No Outfit" value="アウトフィットなし"/>
+	<panel.string name="not_available">
+		(該当なし)
+	</panel.string>
+	<panel.string name="unknown">
+		(不明)
+	</panel.string>
+	<string name="Filter.All" value="すべて"/>
+	<string name="Filter.Clothes/Body" value="衣類/身体"/>
+	<string name="Filter.Objects" value="オブジェクト"/>
+	<button label="編集" name="edit_wearable_btn"/>
+	<text name="title" value="アウトフットの編集"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="編集中..."/>
+			<text name="curr_outfit_name" value="[Current Outfit]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="IM コントロールパネル" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="アイテムを確認" name="look_item"/>
+				<scroll_list.columns label="アウトフィットアイテムの並べ替え" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="フィルター" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="IM コントロールパネル" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="アウトフィットに追加:"/>
+					<button label="O" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="F" name="folder_view_btn"/>
+				<button label="L" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="保存" name="save_btn"/>
+		<button label="元に戻す" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
index b94176338890ddd522b3070f86e82c9f16c9ea69..14f0d7d5e0ffd06478c531a2a224e5879280407c 100644
--- a/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="もの" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="マイ アウトフィット" name="outfitslist_tab"/>
+		<panel label="マイ アウトフィット" name="outfitslist_tab"/>
 		<inventory_panel label="着用中" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="選択したアイテムを削除します"/>
 		<button label="アウトフィットを保存する" name="make_outfit_btn" tool_tip="容姿をアウトフィットに保存します" width="140"/>
 		<button label="装着" name="wear_btn" tool_tip="選択したアウトフィットを着用します"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="アウトフットの編集" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_people.xml b/indra/newview/skins/default/xui/ja/panel_people.xml
index 488a8c7a9b0d9e9b60a674cd1abfba4dd7348a91..1d29080687f85b770de951dc87b6c70b52871db7 100644
--- a/indra/newview/skins/default/xui/ja/panel_people.xml
+++ b/indra/newview/skins/default/xui/ja/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="人" name="people_panel">
-	<string name="no_people" value="誰もいません"/>
-	<string name="no_one_near" value="近くに誰もいません"/>
+	<string name="no_recent_people" value="最近交流した人はいません。 一緒に何かする仲間もお探しですか? [secondlife:///app/search/people 検索] か [secondlife:///app/worldmap 世界地図] をお試しください。"/>
+	<string name="no_filtered_recent_people" value="お探しのものは見つかりましたか? [secondlife:///app/search/people 検索] をお試しください。"/>
+	<string name="no_one_near" value="近くに誰もいません。 一緒に何かする仲間もお探しですか? [secondlife:///app/search/people 検索] か [secondlife:///app/worldmap 世界地図] をお試しください。"/>
+	<string name="no_one_filtered_near" value="お探しのものは見つかりましたか? [secondlife:///app/search/people 検索] をお試しください。"/>
 	<string name="no_friends_online" value="オンラインのフレンドはいません"/>
 	<string name="no_friends" value="フレンドはいません"/>
+	<string name="no_friends_msg">
+		友達を見つけるには、[secondlife:///app/search/people 検索] をするか、住人を右クリックしてフレンド登録してください。
+一緒に何かする仲間もお探しですか? [secondlife:///app/worldmap 世界地図] をお試しください。
+	</string>
+	<string name="no_filtered_friends_msg">
+		お探しのものは見つかりましたか? [secondlife:///app/search/people 検索] をお試しください。
+	</string>
 	<string name="people_filter_label" value="人をフィルター"/>
 	<string name="groups_filter_label" value="グループをフィルター"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups 検索でグループを探してみますか?]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups 入会するグループを探します。]"/>
+	<string name="no_filtered_groups_msg" value="お探しのものは見つかりましたか? [secondlife:///app/search/groups 検索] をお試しください。"/>
+	<string name="no_groups_msg" value="グループをお探しですか? [secondlife:///app/search/groups 検索] をお試しください。"/>
 	<filter_editor label="フィルター" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="近く" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="フレンド登録を申し出ます"/>
 				<button name="del_btn" tool_tip="選択した人をフレンドリストから削除します"/>
 			</panel>
-			<text name="no_friends_msg">
-				フレンドを登録するには、[secondlife:///app/search/people グローバル検索] をするか、住人を右クリックしてください。
-誰か一緒に行動をする人をお探しの時は、[secondlife:///app/worldmap 地図をお試しださい]。
-			</text>
 		</panel>
 		<panel label="マイ グループ" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/ja/panel_places.xml b/indra/newview/skins/default/xui/ja/panel_places.xml
index acfa0bf4e8d2ac3466be682debe71446b1aa5c64..d78a56aa1099bf2d765b9e1537b48dfc155036c9 100644
--- a/indra/newview/skins/default/xui/ja/panel_places.xml
+++ b/indra/newview/skins/default/xui/ja/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="保存" name="save_btn"/>
 		<button label="キャンセル" name="cancel_btn"/>
 		<button label="閉じる" name="close_btn"/>
+		<button label="プロフィール" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
index a8520a51ccc04ad42d808ded4883e611f9b2f487..753951e2822af1ac3920b534c5130b184d96655c 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
@@ -20,6 +20,9 @@
 	<check_box label="吹き出しチャット" name="bubble_text_chat"/>
 	<slider label="透明度" name="bubble_chat_opacity"/>
 	<color_swatch name="background" tool_tip="吹き出しチャットの色を選択します"/>
+	<text name="UI Size:">
+		UI サイズ
+	</text>
 	<check_box label="スクリプトのエラーを表示:" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="近くのチャット" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="プッシュ・トゥ・スピークのトリガー" name="modifier_combo"/>
 	<button label="キー設定" name="set_voice_hotkey_button"/>
 	<button label="マウスの中央ボタン" name="set_voice_middlemouse_button" tool_tip="マウスの中央ボタンにリセットします"/>
+	<button label="その他のディバイス" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_world_map.xml b/indra/newview/skins/default/xui/ja/panel_world_map.xml
index 2f5c2bf6a18e6856523700dfc31b3eed4eb88582..8ff853193abe894e4814c68c037da2560b30ca45 100644
--- a/indra/newview/skins/default/xui/ja/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/ja/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		北西
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 人
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] 人
+	</panel.string>
 	<text label="北" name="floater_map_north" text="北">
 		北
 	</text>
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
index 0c97fed901f584fa5104585d4407e0a1feb4d916..f82c6136a6f2595604b08e517d41887b3ede37c0 100644
--- a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="プロフィール" name="info_btn"/>
+			<button label="共有" name="share_btn"/>
 			<button label="装着" name="wear_btn"/>
 			<button label="プレイ" name="play_btn"/>
 			<button label="テレポート" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index a54d96061fbdef356fb22ff960fa569ddf154b25..2ba437b71027f86007083a7e05e6dbb47a196c31 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -261,6 +261,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		閉じる (Ctrl+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		閉じる
+	</string>
 	<string name="BUTTON_RESTORE">
 		復元
 	</string>
@@ -303,6 +306,9 @@
 	<string name="GroupNameNone">
 		(なし)
 	</string>
+	<string name="AvalineCaller">
+		Avaline コール [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		エラーなし
 	</string>
@@ -904,7 +910,7 @@
 		ESC キーを押してワールドビューに戻ります
 	</string>
 	<string name="InventoryNoMatchingItems">
-		一致するアイテムがありませんでした。[secondlife:///app/search/groups 「検索」]をお試しください。
+		お探しのものは見つかりましたか? [secondlife:///app/search/all 検索] をお試しください。
 	</string>
 	<string name="FavoritesNoMatchingItems">
 		ここにランドマークをドラッグして、お気に入りに追加します。
@@ -1575,9 +1581,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		この不動産には約款がありません。 この不動産上の土地は不動産所有者により販売され、Linden Lab は販売しません。  販売に関するお問い合わせは、不動産所有者までお願い致します。
 	</string>
-	<string name="covenant_last_modified">
-		最終修正日:
-	</string>
+	<string name="covenant_last_modified" value="最終修正日:"/>
 	<string name="none_text" value=" (なし) "/>
 	<string name="never_text" value=" (無) "/>
 	<string name="GroupOwned">
@@ -3311,6 +3315,15 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
 	<string name="LocationCtrlDamageTooltip">
 		体力
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Adult リージョン
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Moderate リージョン
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		General リージョン
+	</string>
 	<string name="UpdaterWindowTitle">
 		[APP_NAME] アップデート
 	</string>
@@ -3341,6 +3354,12 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
 	<string name="UpdaterFailStartTitle">
 		ビューワの起動に失敗しました
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME] : アイテムが [FROM_NAME] から一気に読み込まれているため、自動プレビューが [TIME] 秒間無効となります。
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME] : アイテムが一気に読み込まれているため、自動プレビューが [TIME] 秒間無効となります。
+	</string>
 	<string name="IM_logging_string">
 		-- インスタントメッセージの保存開始 --
 	</string>
@@ -3368,6 +3387,9 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
 	<string name="IM_moderator_label">
 		(モデレータ)
 	</string>
+	<string name="answered_call">
+		相手がコールを受けました
+	</string>
 	<string name="started_call">
 		ボイスコールを開始します
 	</string>
@@ -3461,12 +3483,18 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
 	<string name="unread_chat_multiple">
 		[SOURCES] は何か新しいことを言いました。
 	</string>
+	<string name="session_initialization_timed_out_error">
+		セッションの初期化がタイムアウトしました
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] は L$[AMOUNT] 支払いました
 	</string>
 	<string name="you_paid_ldollars">
 		[NAME] に L$ [AMOUNT] を支払いました:[REASON]
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		L$ [AMOUNT] を支払いました。
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		[NAME] に L$ [AMOUNT] を支払いました。
 	</string>
@@ -3577,7 +3605,13 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
 	<string name="Contents">
 		コンテンツ
 	</string>
-    <string name="AvatarBirthDateFormat">
-        [year,datetime,slt]/[mthnum,datetime,slt]/[day,datetime,slt]
-    </string>
+	<string name="AvatarBirthDateFormat">
+		[year,datetime,slt]/[mthnum,datetime,slt]/[day,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		なし/なし
+	</string>
+	<string name="texture_load_dimensions_error">
+		[WIDTH]*[HEIGHT] 以上の画像は読み込めません
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml
index f1f6ff9aea581b2c2756acbb8684e8968c95f1cc..7671f58691b7b3ea131b77b6153503d7fc527a11 100644
--- a/indra/newview/skins/default/xui/pt/floater_about.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about.xml
@@ -44,17 +44,12 @@ Versão Vivox: [VIVOX_VERSION]
 			<text_editor name="credits_editor">
 				O Second Life é o resultado do trabalho de Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les e muitos mais.
 
-Agradecemos também aos seguintes residentes por sua colaboração na mais nova versão do Second Life: (in progress)
+Agradecemos também aos seguintes residentes por sua colaboração na mais nova versão do Second Life: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan e muitos mais.
 
 
 
 
-
-
-
-
-Raras são as mentes capazes de tornar óbvio o até então inexistente. Dizer &apos;eu poderia ter pensado a mesma coisa&apos; é comum, revelador e nem sempre a verdade; porque de fato não pensaram.
- -- Douglas Adams
+&quot;O trabalho continua, a causa vive, a esperança persiste, e os sonhos nunca morrem&quot; - Edward Kennedy
 			</text_editor>
 		</panel>
 		<panel label="Licenças" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/pt/floater_animation_preview.xml b/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
index 78bcde251a7221b336a519bb16d94dffb7bebc90..3ec81612a1973e4deb58aa01b0db837a14d90ed6 100644
--- a/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
@@ -141,35 +141,35 @@ A duração máxima de animação permitida é de [MAX_LENGTH] segundos.
 		Expressão
 	</text>
 	<combo_box left_delta="100" name="emote_combo" tool_tip="Controla as expressões faciais durante a animação" width="184">
-		<combo_box.item label="(nenhum)" name="[None]"/>
-		<combo_box.item label="Aaaaah" name="Aaaaah"/>
-		<combo_box.item label="Com medo" name="Afraid"/>
-		<combo_box.item label="Bravo" name="Angry"/>
-		<combo_box.item label="Sorriso contagiante" name="BigSmile"/>
-		<combo_box.item label="À toa" name="Bored"/>
-		<combo_box.item label="Chorar" name="Cry"/>
-		<combo_box.item label="Desdenho" name="Disdain"/>
-		<combo_box.item label="Com vergonha" name="Embarrassed"/>
-		<combo_box.item label="Franzir testa" name="Frown"/>
-		<combo_box.item label="Beijo" name="Kiss"/>
-		<combo_box.item label="Rir" name="Laugh"/>
-		<combo_box.item label="Mostrar a língua" name="Plllppt"/>
-		<combo_box.item label="Asco" name="Repulsed"/>
-		<combo_box.item label="Triste" name="Sad"/>
-		<combo_box.item label="Encolher os ombros" name="Shrug"/>
-		<combo_box.item label="Sorriso" name="Smile"/>
-		<combo_box.item label="Surpresa" name="Surprise"/>
-		<combo_box.item label="Piscar" name="Wink"/>
-		<combo_box.item label="Preocupado" name="Worry"/>
+		<item label="(nenhum)" name="[None]" value=""/>
+		<item label="Aaaaah" name="Aaaaah" value="Aaaaah"/>
+		<item label="Com medo" name="Afraid" value="Com medo"/>
+		<item label="Bravo" name="Angry" value="Bravo"/>
+		<item label="Sorriso contagiante" name="BigSmile" value="Sorriso contagiante"/>
+		<item label="À toa" name="Bored" value="À toa"/>
+		<item label="Chorar" name="Cry" value="Chorar"/>
+		<item label="Desdenho" name="Disdain" value="Desdenho"/>
+		<item label="Com vergonha" name="Embarrassed" value="Com vergonha"/>
+		<item label="Franzir testa" name="Frown" value="Franzir testa"/>
+		<item label="Beijo" name="Kiss" value="Beijo"/>
+		<item label="Rir" name="Laugh" value="Rir"/>
+		<item label="Mostrar a língua" name="Plllppt" value="Mostrar a língua"/>
+		<item label="Asco" name="Repulsed" value="Asco"/>
+		<item label="Triste" name="Sad" value="Triste"/>
+		<item label="Encolher os ombros" name="Shrug" value="Encolher os ombros"/>
+		<item label="Sorriso" name="Smile" value="Sorriso"/>
+		<item label="Surpresa" name="Surprise" value="Surpresa"/>
+		<item label="Piscar" name="Wink" value="Piscar"/>
+		<item label="Preocupado" name="Worry" value="Preocupado"/>
 	</combo_box>
 	<text name="preview_label" width="250">
 		Prever enquanto
 	</text>
 	<combo_box left_delta="100" name="preview_base_anim" tool_tip="Use isto para testar o comportamento de sua animação enquanto seu avatar executa ações comuns." width="130">
-		<combo_box.item label="Em pé" name="Standing"/>
-		<combo_box.item label="Andando" name="Walking"/>
-		<combo_box.item label="Sentado" name="Sitting"/>
-		<combo_box.item label="Voando" name="Flying"/>
+		<item label="Em pé" name="Standing" value="Em pé"/>
+		<item label="Andando" name="Walking" value="Andando"/>
+		<item label="Sentado" name="Sitting" value="Sentado"/>
+		<item label="Voando" name="Flying" value="Voando"/>
 	</combo_box>
 	<spinner label="Facilitar a entrada (sec)" label_width="125" name="ease_in_time" tool_tip="Tempo (em segundos) da transição inicial da animação" width="192"/>
 	<spinner bottom_delta="-20" label="Facilitar a saída (sec)" label_width="125" left="10" name="ease_out_time" tool_tip="Tempo (em segundos) da transição de saída da animação" width="192"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml
index dbca247a2ff061f9ea16b1d9fc89055ce8f43fe4..306487939e21b9fb1754f5b14d23123cafb89d0a 100644
--- a/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml
@@ -55,7 +55,7 @@
 			<spinner label="Minuto" name="WLLengthOfDayMin"/>
 			<spinner label="Segundo" name="WLLengthOfDaySec"/>
 			<text name="DayCycleText3">
-				Prévia:
+				Visualizar
 			</text>
 			<button label="Tocar" label_selected="Tocar" name="WLAnimSky"/>
 			<button label="Pare!" label_selected="Pare" name="WLStopAnimSky"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_god_tools.xml b/indra/newview/skins/default/xui/pt/floater_god_tools.xml
index 2e63d862815cb9bf0705763cad05d3457d9d6491..82f21fac70a91d1ade48060964ebf7cba1188f13 100644
--- a/indra/newview/skins/default/xui/pt/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_god_tools.xml
@@ -2,12 +2,11 @@
 <floater name="godtools floater" title="FERRAMENTAS DE DEUS">
 	<tab_container name="GodTools Tabs">
 		<panel label="Grade" name="grid">
-			<button label="Chutar todos" label_selected="Chutar todos" name="Kick all users"/>
 			<button label="Limpar os cachês de visibilidade do mapa da região." label_selected="Limpar os cachês de visibilidade do mapa da região." name="Flush This Region&apos;s Map Visibility Caches"/>
 		</panel>
 		<panel label="Região" name="region">
-			<text name="Sim Name:">
-				Nome do Simulador:
+			<text name="Region Name:">
+				Nome da região:
 			</text>
 			<check_box label="Prelúdio" name="check prelude" tool_tip="Ajustar para tornar esta região um prelúdio."/>
 			<check_box label="Fixar Sol" name="check fixed sun" tool_tip="Fixa a posição do sol (como em Região/Estados) &gt; Terreno."/>
@@ -47,8 +46,8 @@
 			<button label="Autosalvar Agora" label_selected="Autosalvar Agora" name="Autosave now" tool_tip="Salvar estado compactado para o diretório de gravação automática."/>
 		</panel>
 		<panel label="Objetos" name="objects">
-			<text name="Sim Name:">
-				Sim Nome:
+			<text name="Region Name:">
+				Nome da região:
 			</text>
 			<text name="region name">
 				Welsh
diff --git a/indra/newview/skins/default/xui/pt/floater_image_preview.xml b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
index 2ff1aa7915b84e28f631c40008061b9e86e72a32..3582923ed040697c0e2bcc287586a15f0047a6dd 100644
--- a/indra/newview/skins/default/xui/pt/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
@@ -11,16 +11,16 @@
 imagem como:
 	</text>
 	<combo_box label="Tipo de Roupas" left="100" name="clothing_type_combo" width="186">
-		<combo_box.item label="Imagem" name="Image"/>
-		<combo_box.item label="Cabelo" name="Hair"/>
-		<combo_box.item label="Cabeça de mulher" name="FemaleHead"/>
-		<combo_box.item label="Cintura para cima, mulher" name="FemaleUpperBody"/>
-		<combo_box.item label="Cintura para baixo, mulher" name="FemaleLowerBody"/>
-		<combo_box.item label="Cabeça de homem" name="MaleHead"/>
-		<combo_box.item label="Cintura para cima, homem" name="MaleUpperBody"/>
-		<combo_box.item label="Cintura para baixo, homem" name="MaleLowerBody"/>
-		<combo_box.item label="Saia" name="Skirt"/>
-		<combo_box.item label="Prim esculpido" name="SculptedPrim"/>
+		<item label="Imagem" name="Image" value="Imagem"/>
+		<item label="Cabelo" name="Hair" value="Cabelo"/>
+		<item label="Cabeça de mulher" name="FemaleHead" value="Cabeça de mulher"/>
+		<item label="Cintura para cima, mulher" name="FemaleUpperBody" value="Cintura para cima, mulher"/>
+		<item label="Cintura para baixo, mulher" name="FemaleLowerBody" value="Cintura para baixo, mulher"/>
+		<item label="Cabeça de homem" name="MaleHead" value="Cabeça de homem"/>
+		<item label="Cintura para cima, homem" name="MaleUpperBody" value="Cintura para cima, homem"/>
+		<item label="Cintura para baixo, homem" name="MaleLowerBody" value="Cintura para baixo, homem"/>
+		<item label="Saia" name="Skirt" value="Saia"/>
+		<item label="Prim esculpido" name="SculptedPrim" value="Prim esculpido"/>
 	</combo_box>
 	<text name="bad_image_text">
 		Incapaz de ler a imagem.
diff --git a/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml b/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml
index 8a536b90dbc338e4cc8be1644d413a0a098a0a8d..35afde76129cf98ebb5b54603dc66b4619f530ff 100644
--- a/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml
@@ -28,7 +28,7 @@
 		Você saiu da ligação com [VOICE_CHANNEL_NAME].  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_other">
-		[VOICE_CHANNEL_NAME] encerrou a ligação.  [RECONNECT_NEARBY]
+		A ligação foi desligada.  [RECONNECT_NEARBY]
 	</text>
 	<text name="nearby_P2P_by_agent">
 		Você encerrou a ligação.   [RECONNECT_NEARBY]
diff --git a/indra/newview/skins/default/xui/pt/floater_snapshot.xml b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
index bb852cb11a4850861cb78658889a075a18489b72..b612442195424fecc6c597a3cc8d68d35d6fabac 100644
--- a/indra/newview/skins/default/xui/pt/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
@@ -1,79 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="VER FOTO">
-	<text name="type_label">
-		Destino da foto
-	</text>
-	<radio_group label="Tipo de foto" name="snapshot_type_radio">
-		<radio_item label="Email" name="postcard"/>
-		<radio_item label="Meu inventário (L$[AMOUNT])" name="texture"/>
-		<radio_item label="Salvar no meu PC" name="local"/>
-	</radio_group>
-	<text name="file_size_label">
-		[SIZE] KB
-	</text>
-	<button label="Atualizar a foto" name="new_snapshot_btn"/>
-	<button label="Enviar" name="send_btn"/>
-	<button label="Salvar (L$[AMOUNT])" name="upload_btn"/>
-	<flyout_button label="Salvar" name="save_btn" tool_tip="Salvar imagem em um arquivo">
-		<flyout_button.item label="Salvar" name="save_item"/>
-		<flyout_button.item label="Salvar como..." name="saveas_item"/>
-	</flyout_button>
-	<button label="Cancelar" name="discard_btn"/>
-	<button label="Mais" name="more_btn" tool_tip="Opções avançadas"/>
-	<button label="Menos" name="less_btn" tool_tip="Opções avançadas"/>
-	<text name="type_label2">
-		Tamanho
-	</text>
-	<text name="format_label">
-		Formato
-	</text>
-	<combo_box label="Resolução" name="postcard_size_combo">
-		<combo_box.item label="Janela atual" name="CurrentWindow"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="Customizado" name="Custom"/>
-	</combo_box>
-	<combo_box label="Resolução" name="texture_size_combo">
-		<combo_box.item label="Janela atual" name="CurrentWindow"/>
-		<combo_box.item label="Pequeno (128x128)" name="Small(128x128)"/>
-		<combo_box.item label="Médio (256x256)" name="Medium(256x256)"/>
-		<combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
-		<combo_box.item label="Customizado" name="Custom"/>
-	</combo_box>
-	<combo_box label="Resolução" name="local_size_combo">
-		<combo_box.item label="Janela atual" name="CurrentWindow"/>
-		<combo_box.item label="320x240" name="320x240"/>
-		<combo_box.item label="640x480" name="640x480"/>
-		<combo_box.item label="800x600" name="800x600"/>
-		<combo_box.item label="1024x768" name="1024x768"/>
-		<combo_box.item label="1280x1024" name="1280x1024"/>
-		<combo_box.item label="1600x1200" name="1600x1200"/>
-		<combo_box.item label="Customizado" name="Custom"/>
-	</combo_box>
-	<combo_box label="Formato" name="local_format_combo">
-		<combo_box.item label="PNG" name="PNG"/>
-		<combo_box.item label="JPEG" name="JPEG"/>
-		<combo_box.item label="BMP" name="BMP"/>
-	</combo_box>
-	<spinner label="Largura" label_width="41" name="snapshot_width" width="101"/>
-	<spinner label="Altura" label_width="31" left="119" name="snapshot_height" width="91"/>
-	<check_box label="Limitar proproções" name="keep_aspect_check"/>
-	<slider label="Qualidade da imagem" name="image_quality_slider"/>
-	<text name="layer_type_label">
-		Capturar:
-	</text>
-	<combo_box label="Camadas da imagem" name="layer_types">
-		<combo_box.item label="Cores" name="Colors"/>
-		<combo_box.item label="Formato" name="Depth"/>
-		<combo_box.item label="Decoração do objeto" name="ObjectMattes"/>
-	</combo_box>
-	<check_box label="Interface" name="ui_check"/>
-	<check_box bottom_delta="-17" label="HUDs" name="hud_check"/>
-	<check_box bottom_delta="-17" label="Manter aberto após salvar" name="keep_open_check"/>
-	<check_box bottom_delta="-17" label="Gerar quadro (tela inteira)" name="freeze_frame_check"/>
-	<check_box bottom_delta="-29" label="Auto-atualizar" name="auto_snapshot_check"/>
-	<string name="unknown">
+<floater name="Snapshot" title="Foto">
+	<floater.string name="unknown">
 		desconhecido
-	</string>
+	</floater.string>
+	<button label="Atualizar a foto" name="new_snapshot_btn"/>
+	<line_editor label="Descrição" name="description"/>
+	<button label="Compartilhar foto" name="share"/>
+	<button label="Compartilhar na web" name="share_to_web"/>
+	<button label="Salvar no meu inventário" name="save_to_inventory"/>
+	<button label="Salvar foto" name="save"/>
+	<button label="Enviar foto por email" name="share_to_email"/>
+	<button label="Salvar no meu PC" name="save_to_computer"/>
+	<button label="Usar como foto do perfil" name="set_profile_pic"/>
+	<button label="Atrás" name="cancel"/>
 </floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_tos.xml b/indra/newview/skins/default/xui/pt/floater_tos.xml
index 3603545ee71e937e810bf9412cf1184d3f6b624f..2675979783e820abaaf7e1e86bdb2f0e51cb3709 100644
--- a/indra/newview/skins/default/xui/pt/floater_tos.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tos.xml
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="modal container" title=" ">
+	<floater.string name="real_url">
+		http://secondlife.com/app/tos/
+	</floater.string>
+	<floater.string name="loading_url">
+		data:text/html,%3Chtml%3E%3Chead%3E%3C/head%3E%3Cbody text=%22000000%22%3E%3Ch2%3E Carregando %3Ca%20target%3D%22_external%22%20href%3D%22http%3A//secondlife.com/app/tos/%22%3ETerms%20of%20Service%3C/a%3E...%3C/h2%3E %3C/body%3E %3C/html%3E
+	</floater.string>
 	<button label="Continuar" label_selected="Continuar" name="Continue"/>
 	<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
 	<check_box label="Concordo com os Termos de Serviço e com a Política de Privacidade" name="agree_chk"/>
 	<text name="tos_heading">
 		Leia com atenção os Termos do Serviço e a Política de Privacidade. Para continuar a entrar no [SECOND_LIFE], é preciso aceitar esses termos.
 	</text>
-	<text_editor name="tos_text">
-		TOS_TEXT
-	</text_editor>
-	<string name="real_url">
-		http://secondlife.com/app/tos/
-	</string>
 </floater>
diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_other.xml b/indra/newview/skins/default/xui/pt/menu_attachment_other.xml
index b6cf89683605cc7f18eafc524c6888e8928cba15..cfd69158bca1d8df952cac54ef469299e22f4cd5 100644
--- a/indra/newview/skins/default/xui/pt/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/pt/menu_attachment_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Denunciar" name="abuse"/>
 	<menu_item_call label="Congelar" name="Freeze..."/>
 	<menu_item_call label="Ejetar" name="Eject..."/>
-	<menu_item_call label="Depurar" name="Debug..."/>
+	<menu_item_call label="Depurar texturas" name="Debug..."/>
 	<menu_item_call label="Mais zoom" name="Zoom In"/>
 	<menu_item_call label="Pagar" name="Pay..."/>
 	<menu_item_call label="Perfil do objeto" name="Object Inspect"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_self.xml b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
index 04f6227141484d4a568464d14a34bf3f7c19dd9d..de3178b946e008d50fc2de9c5920f20f5c02358c 100644
--- a/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
@@ -9,4 +9,5 @@
 	<menu_item_call label="Meus amigos" name="Friends..."/>
 	<menu_item_call label="Meus grupos" name="Groups..."/>
 	<menu_item_call label="Meu perfil" name="Profile..."/>
+	<menu_item_call label="Depurar texturas" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_other.xml b/indra/newview/skins/default/xui/pt/menu_avatar_other.xml
index 21c2cb196a606dea836edbc645fec6b0bad6f271..a4a26144c7974061f046863b7da722af65a25d8d 100644
--- a/indra/newview/skins/default/xui/pt/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_other.xml
@@ -10,7 +10,7 @@
 	<menu_item_call label="Denunciar" name="abuse"/>
 	<menu_item_call label="Congelar" name="Freeze..."/>
 	<menu_item_call label="Ejetar" name="Eject..."/>
-	<menu_item_call label="Depurar" name="Debug..."/>
+	<menu_item_call label="Depurar texturas" name="Debug..."/>
 	<menu_item_call label="Mais zoom" name="Zoom In"/>
 	<menu_item_call label="Pagar" name="Pay..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml
index abbf2e703203855006cef8bbf4f4939a53eeb0b5..ccbb921ebce87dafbae6ba4013e5fed9b1099e59 100644
--- a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml
@@ -24,4 +24,5 @@
 	<menu_item_call label="Meus amigos" name="Friends..."/>
 	<menu_item_call label="Meus grupos" name="Groups..."/>
 	<menu_item_call label="Meu perfil" name="Profile..."/>
+	<menu_item_call label="Depurar texturas" name="Debug..."/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_edit.xml b/indra/newview/skins/default/xui/pt/menu_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ff431c9a21e6e58996bd4aff57b0f7a6f8c3fb62
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_edit.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu label="Editar" name="Edit">
+	<menu_item_call label="Desfazer" name="Undo"/>
+	<menu_item_call label="Repetir" name="Redo"/>
+	<menu_item_call label="Cortar" name="Cut"/>
+	<menu_item_call label="Copiar" name="Copy"/>
+	<menu_item_call label="Colar" name="Paste"/>
+	<menu_item_call label="Excluir" name="Delete"/>
+	<menu_item_call label="Replicar" name="Duplicate"/>
+	<menu_item_call label="Selecionar tudo" name="Select All"/>
+	<menu_item_call label="Desfazer seleção" name="Deselect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml
index cdd8959cd4b49066d87218b1926c40898508ac37..6a511e6ab718d1929d40985647c3c9394e6ae4fe 100644
--- a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml
@@ -11,7 +11,7 @@
 	<menu_item_call label="Denunciar" name="report"/>
 	<menu_item_call label="Congelar" name="freeze"/>
 	<menu_item_call label="Ejetar" name="eject"/>
-	<menu_item_call label="Depurar" name="debug"/>
+	<menu_item_call label="Depurar texturas" name="debug"/>
 	<menu_item_call label="Localizar no mapa" name="find_on_map"/>
 	<menu_item_call label="Mais zoom" name="zoom_in"/>
 	<menu_item_call label="Pagar" name="pay"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml
index 2eba4ccb2d1930699ff071dc884f2ac8f5a3a2bd..effc970eb8f5c98d17291ca19d85f17d1f648280 100644
--- a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml
@@ -5,4 +5,5 @@
 	<menu_item_call label="Meu perfil" name="my_profile"/>
 	<menu_item_call label="Meus amigos" name="my_friends"/>
 	<menu_item_call label="Meus grupos" name="my_groups"/>
+	<menu_item_call label="Depurar texturas" name="Debug..."/>
 </menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml b/indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c404719c956a1a206693d9e5fdfc0961d1fe01e1
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inv_offer_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="InvOfferChiclet Menu">
+	<menu_item_call label="Fechar" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index 2691ac81b34453bfc37e58203c6e3ea33c7b64fd..e3c12e8b7d063c9f468f030ea7b75fde2b5335f9 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu name="Popup">
+	<menu_item_call label="Compartilhar" name="Share"/>
 	<menu_item_call label="Comprar" name="Task Buy"/>
 	<menu_item_call label="Abrir" name="Task Open"/>
 	<menu_item_call label="Executar" name="Task Play"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml
index 6cc83d11d0f91da18c3cbc144a8207e080dfcc32..a7df67a6b55220f7691bc537efd24c76c1d41ff8 100644
--- a/indra/newview/skins/default/xui/pt/menu_login.xml
+++ b/indra/newview/skins/default/xui/pt/menu_login.xml
@@ -7,18 +7,8 @@
 	<menu label="Ajuda" name="Help">
 		<menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/>
 	</menu>
+	<menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/>
 	<menu label="Depurar" name="Debug">
-		<menu label="Editar" name="Edit">
-			<menu_item_call label="Desfazer" name="Undo"/>
-			<menu_item_call label="Repetir" name="Redo"/>
-			<menu_item_call label="Cortar" name="Cut"/>
-			<menu_item_call label="Copiar" name="Copy"/>
-			<menu_item_call label="Colar" name="Paste"/>
-			<menu_item_call label="Excluir" name="Delete"/>
-			<menu_item_call label="Replicar" name="Duplicate"/>
-			<menu_item_call label="Selecionar tudo" name="Select All"/>
-			<menu_item_call label="Desfazer seleção" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Mostrar configurações" name="Debug Settings"/>
 		<menu_item_call label="Configurações da interface e cor" name="UI/Color Settings"/>
 		<menu label="Testes de UI" name="UI Tests"/>
@@ -26,5 +16,7 @@
 		<menu_item_call label="Mostrar TOS" name="TOS"/>
 		<menu_item_call label="Mostrar mensagem crítica" name="Critical"/>
 		<menu_item_call label="Teste de navegador web" name="Web Browser Test"/>
+		<menu_item_check label="Exibir seletor da grade" name="Show Grid Picker"/>
+		<menu_item_call label="Exibir painel de notificações" name="Show Notifications Console"/>
 	</menu>
 </menu_bar>
diff --git a/indra/newview/skins/default/xui/pt/menu_participant_list.xml b/indra/newview/skins/default/xui/pt/menu_participant_list.xml
index 849dec3108426c64fdde150c0e9eed22b895f2de..c0db7752afa4ee2d5c1fb84463c1d2e2ec2eafe7 100644
--- a/indra/newview/skins/default/xui/pt/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/pt/menu_participant_list.xml
@@ -8,6 +8,7 @@
 	<menu_item_call label="Ligar" name="Call"/>
 	<menu_item_call label="Compartilhar" name="Share"/>
 	<menu_item_call label="Pagar" name="Pay"/>
+	<menu_item_check label="Ver ícones de pessoas" name="View Icons"/>
 	<menu_item_check label="Bloquear voz" name="Block/Unblock"/>
 	<menu_item_check label="Bloquear texto" name="MuteText"/>
 	<context_menu label="Opções do moderador &gt;" name="Moderator Options">
diff --git a/indra/newview/skins/default/xui/pt/menu_save_outfit.xml b/indra/newview/skins/default/xui/pt/menu_save_outfit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a957708ae4a14a336e98282d0e4e15b249b33ba2
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_save_outfit.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_outfit_menu">
+	<menu_item_call label="Salvar" name="save_outfit"/>
+	<menu_item_call label="Salvar como novo" name="save_as_new_outfit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_script_chiclet.xml b/indra/newview/skins/default/xui/pt/menu_script_chiclet.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ccf3878e1420c7ef1a81c7a1662a95308c27332b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_script_chiclet.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="ScriptChiclet Menu">
+	<menu_item_call label="Fechar" name="Close"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index fe69d228e93c6e11692f1a80364929ff4e8d8faa..2f3345741cc424932cb41e9677d0b73a3525606f 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -31,6 +31,7 @@
 		<menu_item_call label="Foto" name="Take Snapshot"/>
 		<menu_item_call label="Criar marco deste lugar" name="Create Landmark Here"/>
 		<menu label="Perfil da região" name="Land">
+			<menu_item_call label="Perfil da região" name="Place Profile"/>
 			<menu_item_call label="Sobre terrenos" name="About Land"/>
 			<menu_item_call label="Região/Propriedade" name="Region/Estate"/>
 		</menu>
@@ -66,17 +67,6 @@
 			<menu_item_call label="Ferramenta criar" name="Create"/>
 			<menu_item_call label="Ferramenta de terrenos" name="Land"/>
 		</menu>
-		<menu label="Editar" name="Edit">
-			<menu_item_call label="Desfazer" name="Undo"/>
-			<menu_item_call label="Repetir" name="Redo"/>
-			<menu_item_call label="Cortar" name="Cut"/>
-			<menu_item_call label="Copiar" name="Copy"/>
-			<menu_item_call label="Colar" name="Paste"/>
-			<menu_item_call label="Excluir" name="Delete"/>
-			<menu_item_call label="Replicar" name="Duplicate"/>
-			<menu_item_call label="Selecionar tudo" name="Select All"/>
-			<menu_item_call label="Desfazer seleção" name="Deselect"/>
-		</menu>
 		<menu_item_call label="Link" name="Link"/>
 		<menu_item_call label="Desconectar links" name="Unlink"/>
 		<menu_item_check label="Edit Linked Parts" name="Edit Linked Parts"/>
@@ -124,6 +114,7 @@
 		<menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu label="Avançado" name="Advanced">
+		<menu_item_check label="Exibir menu avançado" name="Show Advanced Menu"/>
 		<menu_item_call label="Parar minha animação" name="Stop Animating My Avatar"/>
 		<menu_item_call label="Recarregar texturas" name="Rebake Texture"/>
 		<menu_item_call label="Interface tamanho padrão" name="Set UI Size to Default"/>
@@ -145,7 +136,6 @@
 			<menu_item_check label="Realçar transparentes" name="Highlight Transparent"/>
 			<menu_item_check label="Mostrar anexos HUD" name="Show HUD Attachments"/>
 			<menu_item_check label="Mostrar retículo na vista subjetiva" name="ShowCrosshairs"/>
-			<menu_item_check label="Mostrar dicas de terreno" name="Land Tips"/>
 		</menu>
 		<menu label="Tipos de renderização" name="Rendering Types">
 			<menu_item_check label="Simples" name="Simple"/>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index 5f91ff09e5600faec5767b9a6647b2bf301fbe36..b8885109229bac08414d44805d9f20f9126cf960 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -349,7 +349,7 @@ Tem certeza de que quer prosseguir?
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="DeleteAvatarPick">
-		Apagar pegar [PICK]?
+		Excluir destaque &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Delete"/>
 	</notification>
 	<notification name="PromptGoToEventsPage">
@@ -918,6 +918,16 @@ Oferecer amizade para [NAME]?
 			<button name="Cancel" text="Cancelar"/>
 		</form>
 	</notification>
+	<notification label="Salvar este look" name="SaveOutfitAs">
+		Veja o meu novo visual:
+		<form name="form">
+			<input name="message">
+				[DESC] (novo)
+			</input>
+			<button name="Offer" text="OK"/>
+			<button name="Cancel" text="Cancelar"/>
+		</form>
+	</notification>
 	<notification name="RemoveFromFriends">
 		Você quer remover [FIRST_NAME] [LAST_NAME] da sua lista de amigos?
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Remover"/>
@@ -1398,6 +1408,10 @@ O bate-papo e MIs não serão exibidos.  MIs enviadas para você receberão sua
 		Teletransportar para [CLASSIFIED]?
 		<usetemplate ignoretext="Confirmar se eu quero ser teletransportado lugar do anúncio" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
 	</notification>
+	<notification name="TeleportToHistoryEntry">
+		Teletransportar para [HISTORY_ENTRY]?
+		<usetemplate ignoretext="Confirmar se eu quero ser teletransportado para marcos" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+	</notification>
 	<notification label="Mensagem para todos na sua Propriedade" name="MessageEstate">
 		Digite um breve anúncio que será enviado para todos que estejam atualmente na sua propriedade.
 		<form name="form">
@@ -1489,6 +1503,9 @@ Clique em &apos;Mudar preferência&apos; para aumentar o nível de maturidade e
 			<ignore name="ignore" text="Minha preferência de maturidade impede que eu vá a uma região"/>
 		</form>
 	</notification>
+	<notification name="PreferredMaturityChanged">
+		Sua opção de nível de maturidade é [RATING].
+	</notification>
 	<notification name="LandClaimAccessBlocked">
 		Você não pode reclamar esta terra devido à sua Classificação de maturidade. Isto pode ser o resultado de falta de informação na validação de sua idade.
 
@@ -1904,6 +1921,9 @@ Inclua um link para facilitar o acesso para visitantes. Teste o link na barra de
 	<notification name="SystemMessageTip">
 		[MESSAGE]
 	</notification>
+	<notification name="IMSystemMessageTip">
+		[MESSAGE]
+	</notification>
 	<notification name="Cancelled">
 		Cancelado
 	</notification>
@@ -1932,6 +1952,11 @@ Inclua um link para facilitar o acesso para visitantes. Teste o link na barra de
 		Fazendo o upload das fotos do site da web e do mundo...
 (Leva cerca de 5 minutos)
 	</notification>
+	<notification name="UploadConfirmation">
+		O upload custa L$ [AMOUNT].
+Deseja continuar?
+		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Upload"/>
+	</notification>
 	<notification name="UploadPayment">
 		Você paga L$[AMOUNT] para fazer o upload.
 	</notification>
@@ -2270,9 +2295,9 @@ Por favor, tente novamente em alguns instantes.
 		</form>
 	</notification>
 	<notification name="TeleportOffered">
-		[NAME] quer te teletransportar para a região deles:
+		[NAME_SLURL] quer teletransportar você para a região deles:
 
-[MESSAGE]
+[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
 		<form name="form">
 			<button name="Teleport" text="Teletransporte"/>
 			<button name="Cancel" text="Cancelar"/>
@@ -2290,11 +2315,11 @@ Por favor, tente novamente em alguns instantes.
 		</form>
 	</notification>
 	<notification name="OfferFriendship">
-		[NAME] está lhe oferecendo sua amizade
+		[NAME_SLURL] quer a sua amizade.
 
 [MESSAGE]
 
-(Por definição vocês serão capazes de ver um ao outro online)
+Cada um pode ver o status do outro (definição padrão).
 		<form name="form">
 			<button name="Accept" text="Aceitar"/>
 			<button name="Decline" text="Recusar"/>
@@ -2357,6 +2382,9 @@ Do objeto: [OBJECTNAME], dono: [NAME]?
 	<notification name="FailedToFindWearable">
 		Falhou ao procurar [TYPE] nomeado [DESC] no banco de dados.
 	</notification>
+	<notification name="ShareToWebFailed">
+		Falha de upload da imagem na web.
+	</notification>
 	<notification name="InvalidWearable">
 		O item que você está tentando usar tem um recurso que seu Visualizador não consegue ler.  Atualize o [APP_NAME] para poder vestir esse item.
 	</notification>
@@ -2553,6 +2581,12 @@ Para sua segurança, os SLurls serão bloqueados por alguns instantes.
 		O botão selecionado não pode ser exibido no momento. 
 O botão será exibido quando houver espaço suficente.
 	</notification>
+	<notification name="ShareNotification">
+		Arraste itens do inventário para uma pessoa no seletor de residentes
+	</notification>
+	<notification name="AvatarRezNotification">
+		O avatar de &apos;[NAME]&apos; renderizou em [TIME] s.
+	</notification>
 	<global name="UnsupportedCPU">
 		- A velocidade da sua CPU não suporta os requisitos mínimos exigidos.
 	</global>
diff --git a/indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b1ffa0d2e5dc2a503d5239d25f1fb055a9f17e92
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/outfit_accordion_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: mantipov: this xml is intended to be used inside panel_outfits_list.xml for each outfit folder-->
+<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtume-->
+<accordion_tab name="Mockup Tab" title="Guia Protótipo"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml b/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml
index 2c73e67c4a446622acfe3cd529e3237e685dd62d..f21656d5262f693decc36b18d1c66d1f4675eba3 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml
@@ -3,7 +3,9 @@
 	<panel name="avatar_eye_color_panel">
 		<texture_picker label="Íris" name="Iris" tool_tip="Selecionar imagem"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="eyes_main_tab" title="Olhos"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="eyes_main_tab" title="Olhos"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml b/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml
index 6b4141e4a779d9e15f8203334742c0189bd8278b..a94716e659ee4257ecb103c5ee31333272b0fc85 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="gloves_main_tab" title="Luvas"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="gloves_main_tab" title="Luvas"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_hair.xml b/indra/newview/skins/default/xui/pt/panel_edit_hair.xml
index b49f5850aa902a5108c1f17e451c70aa31b1296e..13f1f892f99811ab1d462a0656063695d63ab278 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_hair.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_hair.xml
@@ -3,10 +3,12 @@
 	<panel name="avatar_hair_color_panel">
 		<texture_picker label="Texture" name="Texture" tool_tip="Selecionar imagem"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="hair_color_tab" title="Cor"/>
-		<accordion_tab name="hair_style_tab" title="Estilo"/>
-		<accordion_tab name="hair_eyebrows_tab" title="Sombrancelhas"/>
-		<accordion_tab name="hair_facial_tab" title="Faciais"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="hair_color_tab" title="Cor"/>
+			<accordion_tab name="hair_style_tab" title="Estilo"/>
+			<accordion_tab name="hair_eyebrows_tab" title="Sombrancelhas"/>
+			<accordion_tab name="hair_facial_tab" title="Faciais"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml b/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml
index dcccf76c26b6e56ef236aa576e0737f62451786d..f555bd9ac78b374460c08546973460709940ae34 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml
@@ -5,7 +5,9 @@
 		<texture_picker label="Tecido de baixo" name="Lower Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="jacket_main_tab" title="Jaqueta"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="jacket_main_tab" title="Jaqueta"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pants.xml b/indra/newview/skins/default/xui/pt/panel_edit_pants.xml
index 8cfa6933ebcf7b454559d2f3e548c8bf614297ec..67c300cc8dd77090d41532a8bef26a22bca6b93d 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_pants.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_pants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="pants_main_tab" title="Calças"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="pants_main_tab" title="Calças"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shape.xml b/indra/newview/skins/default/xui/pt/panel_edit_shape.xml
index 6a03c2e2ff36fbcb6851494c0e16471653f48cdf..504486c3bb8459a01bc2e91112eef110e32d4982 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shape.xml
@@ -9,15 +9,17 @@
 			<radio_item label="Masculino" name="radio2"/>
 		</radio_group>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shape_body_tab" title="Corpo"/>
-		<accordion_tab name="shape_head_tab" title="Cabeça"/>
-		<accordion_tab name="shape_eyes_tab" title="Olhos"/>
-		<accordion_tab name="shape_ears_tab" title="Orelhas"/>
-		<accordion_tab name="shape_nose_tab" title="Nariz"/>
-		<accordion_tab name="shape_mouth_tab" title="Boca"/>
-		<accordion_tab name="shape_chin_tab" title="Queixo"/>
-		<accordion_tab name="shape_torso_tab" title="Tronco"/>
-		<accordion_tab name="shape_legs_tab" title="Pernas"/>
-	</accordion>
+	<panel label="Camisa" name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shape_body_tab" title="Corpo"/>
+			<accordion_tab name="shape_head_tab" title="Cabeça"/>
+			<accordion_tab name="shape_eyes_tab" title="Olhos"/>
+			<accordion_tab name="shape_ears_tab" title="Orelhas"/>
+			<accordion_tab name="shape_nose_tab" title="Nariz"/>
+			<accordion_tab name="shape_mouth_tab" title="Boca"/>
+			<accordion_tab name="shape_chin_tab" title="Queixo"/>
+			<accordion_tab name="shape_torso_tab" title="Tronco"/>
+			<accordion_tab name="shape_legs_tab" title="Pernas"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml
index e9d4207e49bb163cc52759299b32b1be24bf1899..fb7c4c080c38cf229020db4bc7a0ac9cfb51b31a 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="tecido" name="Fabric" tool_tip="Clique para escolher uma foto"/>
 		<color_swatch label="Cor/Matiz" name="Color/Tint" tool_tip="Clique para abrir o selecionador de cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shirt_main_tab" title="Camisa"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shirt_main_tab" title="Camisa"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml b/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml
index 79cb641079fda976957576f43e71b56a547ff0c9..d1d30cf46ea73a1c276f3b4ccd398d34a5b5fa54 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="shoes_main_tab" title="Sapatos"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="shoes_main_tab" title="Sapatos"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
index e3caf9f6f760f5abe9fb8fa88f310be0a82e786e..f3d88123f2ebb4c46587b4153a98530b470984e0 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
@@ -5,10 +5,12 @@
 		<texture_picker label="Tatuagem parte de cima" name="Upper Tattoos" tool_tip="Selecionar imagem"/>
 		<texture_picker label="Tatuagem de baixo" name="Lower Tattoos" tool_tip="Selecionar imagem"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skin_color_tab" title="Cor da pele"/>
-		<accordion_tab name="skin_face_tab" title="Detalhe do rosto"/>
-		<accordion_tab name="skin_makeup_tab" title="Maquilagem"/>
-		<accordion_tab name="skin_body_tab" title="Detalhe do corpo"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skin_color_tab" title="Cor da pele"/>
+			<accordion_tab name="skin_face_tab" title="Detalhe do rosto"/>
+			<accordion_tab name="skin_makeup_tab" title="Maquilagem"/>
+			<accordion_tab name="skin_body_tab" title="Detalhe do corpo"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml
index 00ec0691ea2a47ab1d7236dec1688d2f18d26fea..b67cd53a8316cb6d8a42b5f8621af2d3d578ded5 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="skirt_main_tab" title="Saia"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="skirt_main_tab" title="Saia"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_socks.xml b/indra/newview/skins/default/xui/pt/panel_edit_socks.xml
index 88abc74716665124c8f4c8214b246daf311e2d93..405568abeba2ec7bf52ee2d7a79d69d17ac15193 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_socks.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_socks.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="socks_main_tab" title="Meias"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="socks_main_tab" title="Meias"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml b/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml
index 10c34a1c0a86d402c38c3852ee8faef1bd7714a4..f858dc04951548617ae9b532457594686cc4209f 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="underpants_main_tab" title="Roupa de baixo"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="underpants_main_tab" title="Roupa de baixo"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml
index fb7b919365168dfb457a0f217e79c5217b27d7c8..9c18fc1d6c56a1946ed5a557dd277c647018a2bb 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml
@@ -4,7 +4,9 @@
 		<texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
 		<color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
 	</panel>
-	<accordion name="wearable_accordion">
-		<accordion_tab name="undershirt_main_tab" title="Camiseta"/>
-	</accordion>
+	<panel name="accordion_panel">
+		<accordion name="wearable_accordion">
+			<accordion_tab name="undershirt_main_tab" title="Camiseta"/>
+		</accordion>
+	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
index b85d48194185aca65473d04bcc7a6959fe097973..a78539f27424c34c706249eee9300625511d1e72 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
@@ -94,6 +94,11 @@
 	<panel label="Camisa" name="wearable_type_panel">
 		<text name="description_text" value="Forma:"/>
 	</panel>
+	<panel label="gear_buttom_panel" name="gear_buttom_panel">
+		<button name="friends_viewsort_btn" tool_tip="Opções"/>
+		<button name="add_btn" tool_tip="TODO"/>
+		<button name="del_btn" tool_tip="TODO"/>
+	</panel>
 	<panel name="button_panel">
 		<button label="Salvar como" name="save_as_button"/>
 		<button label="Reverter" name="revert_button"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_general.xml b/indra/newview/skins/default/xui/pt/panel_group_general.xml
index 0b65b4aadeec84a09f2f4f65dabd88261e9916f9..6060f23bbabfe603c024e6621721ea8e84a57538 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_general.xml
@@ -47,8 +47,11 @@ Para obter mais ajuda, passe o mouse sobre as opções.
 		<check_box label="Taxa de inscrição" name="check_enrollment_fee" tool_tip="Controla a cobrança de uma taxa de associação ao grupo."/>
 		<spinner label="L$" left_delta="120" name="spin_enrollment_fee" tool_tip="Se a opção &apos;Taxa de associação&apos; estiver marcada, novos membros precisam pagar o valor definido para entrar no grupo." width="60"/>
 		<combo_box name="group_mature_check" tool_tip="Define se os dados do seu grupo são conteúdo moderado." width="170">
-			<combo_box.item label="Conteúdo PG" name="pg"/>
+			<combo_item name="select_mature">
+				- Selecione Maduro -
+			</combo_item>
 			<combo_box.item label="Conteúdo Mature" name="mature"/>
+			<combo_box.item label="Conteúdo PG" name="pg"/>
 		</combo_box>
 		<check_box initial_value="true" label="Mostre na busca" name="show_in_group_list" tool_tip="Incluir o grupo nos resultados de busca"/>
 	</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml
index 2535340f4cacbfcc8ec4db59751ac022b62d5fc3..91b7d1b7cd08fefa9eb85d4d9939d11a80a058b9 100644
--- a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml
@@ -20,7 +20,7 @@
 			<button label="Ligar" name="call_btn"/>
 		</layout_panel>
 		<layout_panel name="end_call_btn_panel">
-			<button label="Desligar" name="end_call_btn"/>
+			<button label="Encerrar ligação" name="end_call_btn"/>
 		</layout_panel>
 		<layout_panel name="voice_ctrls_btn_panel">
 			<button label="Controles de voz" name="voice_ctrls_btn"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_inventory_item.xml b/indra/newview/skins/default/xui/pt/panel_inventory_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d18047fbcfaff5835094aa3aeb54e1f0ba47c183
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_inventory_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="inventory_item">
+	<text name="item_name" value="..."/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml
index 009dd0d7520fdff408f8fba6a1f0e2b043c80de7..55226db274fbbd4714e0db07d2394442ba9e5ac6 100644
--- a/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml
+++ b/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml
@@ -11,10 +11,19 @@
 			Mini
 		</combo_item>
 	</combo_box>
+	<text name="owner_label">
+		Proprietário
+	</text>
 	<check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_owner_interact"/>
 	<check_box initial_value="false" label="Exibir barra de controle" name="perms_owner_control"/>
+	<text name="group_label">
+		Grupo:
+	</text>
 	<check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_group_interact"/>
 	<check_box initial_value="false" label="Exibir barra de controle" name="perms_group_control"/>
+	<text name="anyone_label">
+		Todos
+	</text>
 	<check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_anyone_interact"/>
 	<check_box initial_value="false" label="Exibir barra de controle" name="perms_anyone_control"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
index 34db606d8b10812e590fe85743b20210bd3496bd..8d08177eedba804205042b69ebd17cd5af153577 100644
--- a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel name="nearby_media">
+	<string name="media_item_count_format">
+		(%ld itens de mídia)
+	</string>
 	<string name="empty_item_text">
 		&lt;vazio&gt;
 	</string>
@@ -16,15 +19,10 @@
 		<button label="Parar tudo" name="all_nearby_media_disable_btn" tool_tip="Desligar mídias por perto"/>
 		<button label="Executar tudo" name="all_nearby_media_enable_btn" tool_tip="Ligar mídias por perto"/>
 		<button name="open_prefs_btn" tool_tip="Preferências de mídia"/>
-		<button label="Mais &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_less_btn" tool_tip="Controles avançados"/>
+		<button label="Mais &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_btn" tool_tip="Controles avançados"/>
+		<button label="Mais &gt;&gt;" label_selected="Menos &lt;&lt;" name="less_btn" tool_tip="Controles avançados"/>
 	</panel>
 	<panel name="nearby_media_panel">
-		<text name="nearby_media">
-			Mídia por perto
-		</text>
-		<text name="show">
-			Mostrar:
-		</text>
 		<combo_box name="show_combo">
 			<combo_box.item label="Tudo" name="All"/>
 			<combo_box.item label="Neste lote" name="WithinParcel"/>
@@ -38,7 +36,7 @@
 			<scroll_list.columns label="Nome" name="media_name"/>
 			<scroll_list.columns label="Depurar" name="media_debug"/>
 		</scroll_list>
-		<panel name="media_controls_panel">
+		<panel>
 			<layout_stack name="media_controls">
 				<layout_panel name="stop">
 					<button name="stop_btn" tool_tip="Parar mídia selecionada"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3dc8b4cc75f24e6f6b645a4e9972406434e3b4a6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray Outfit Edit panel -->
+<panel label="Editar look" name="outfit_edit">
+	<string name="No Outfit" value="Nenhum"/>
+	<panel.string name="not_available">
+		(N\A)
+	</panel.string>
+	<panel.string name="unknown">
+		(Desconhecido)
+	</panel.string>
+	<string name="Filter.All" value="Tudo"/>
+	<string name="Filter.Clothes/Body" value="Roupas/Corpo"/>
+	<string name="Filter.Objects" value="Objects"/>
+	<button label="Editar" name="edit_wearable_btn"/>
+	<text name="title" value="Editar look"/>
+	<panel label="bottom_panel" name="header_panel">
+		<panel label="bottom_panel" name="outfit_name_and_status">
+			<text name="status" value="Editando..."/>
+			<text name="curr_outfit_name" value="[Look atual]"/>
+		</panel>
+	</panel>
+	<layout_stack name="im_panels">
+		<layout_panel label="Painel de controle de MIs" name="outfit_wearables_panel">
+			<scroll_list name="look_items_list">
+				<scroll_list.columns label="Ver item" name="look_item"/>
+				<scroll_list.columns label="Ordenar itens" name="look_item_sort"/>
+			</scroll_list>
+			<panel label="bottom_panel" name="edit_panel"/>
+		</layout_panel>
+		<layout_panel name="add_wearables_panel">
+			<filter_editor label="Filtro" name="look_item_filter"/>
+			<layout_stack name="filter_panels">
+				<layout_panel label="Painel de controle de MIs" name="filter_button_panel">
+					<text name="add_to_outfit_label" value="Adicionar ao look:"/>
+					<button label="O" name="filter_button"/>
+				</layout_panel>
+			</layout_stack>
+			<panel label="add_wearables_button_bar" name="add_wearables_button_bar">
+				<button label="F" name="folder_view_btn"/>
+				<button label="L" name="list_view_btn"/>
+			</panel>
+		</layout_panel>
+	</layout_stack>
+	<panel name="save_revert_button_bar">
+		<button label="Salvar" name="save_btn"/>
+		<button label="Reverter" name="revert_btn"/>
+	</panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
index 8d648a98fab7572e821864d829fbc056b1b60d89..c8f33f85a94928962b0c802de832886bf9bb8146 100644
--- a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="Coisas" name="Outfits">
 	<tab_container name="appearance_tabs">
-		<inventory_panel label="MEUS LOOKS" name="outfitslist_tab"/>
+		<panel label="MEUS LOOKS" name="outfitslist_tab"/>
 		<inventory_panel label="EM USO" name="cof_tab"/>
 	</tab_container>
 	<panel name="bottom_panel">
@@ -9,6 +9,6 @@
 		<dnd_button name="trash_btn" tool_tip="Remover item selecionado"/>
 		<button label="Salvar este look" name="make_outfit_btn" tool_tip="Salvar aparência como um look"/>
 		<button label="Vestir" name="wear_btn" tool_tip="Vestir look selecionado"/>
-		<button label="M" name="look_edit_btn"/>
+		<button label="Editar look" name="edit_current_outfit_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_people.xml b/indra/newview/skins/default/xui/pt/panel_people.xml
index 1516a2bb6566d202724ef573452852199023fbc7..0b274d6faaac7047360ddbe24be09bc83b969a86 100644
--- a/indra/newview/skins/default/xui/pt/panel_people.xml
+++ b/indra/newview/skins/default/xui/pt/panel_people.xml
@@ -1,14 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!-- Side tray panel -->
 <panel label="Pessoas" name="people_panel">
-	<string name="no_people" value="Nenhuma pessoa"/>
-	<string name="no_one_near" value="Ninguém por perto"/>
+	<string name="no_recent_people" value="Ninguém, recentemente. Em busca de alguém para conversar? Use a [secondlife:///app/search/people Busca] ou o [secondlife:///app/worldmap Mapa-Múndi]."/>
+	<string name="no_filtered_recent_people" value="Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups Busca]."/>
+	<string name="no_one_near" value="Ninguém por perto Em busca de alguém para conversar? Use a [secondlife:///app/search/people Busca] ou o [secondlife:///app/worldmap Mapa-Múndi]."/>
+	<string name="no_one_filtered_near" value="Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups Busca]."/>
 	<string name="no_friends_online" value="Nenhum amigo online"/>
 	<string name="no_friends" value="Nenhum amigo"/>
+	<string name="no_friends_msg">
+		Encontre amigos fazendo uma [secondlife:///app/search/people busca de pessoas] ou clique em um residente para adicioná-lo.
+Em busca de alguém para conversar? Procure no [secondlife:///app/worldmap Mapa-Múndi].
+	</string>
+	<string name="no_filtered_friends_msg">
+		Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups Busca].
+	</string>
 	<string name="people_filter_label" value="Filtro de pessoas"/>
 	<string name="groups_filter_label" value="Filtro de grupos"/>
-	<string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Tente encontrar o grupo na Busca]"/>
-	<string name="no_groups_msg" value="[secondlife:///app/search/groups Tente procurar grupos que lhe interessam]"/>
+	<string name="no_filtered_groups_msg" value="Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups Busca]."/>
+	<string name="no_groups_msg" value="À procura de grupos interessantes? Tente fazer uma [secondlife:///app/search/groups Busca]."/>
 	<filter_editor label="Filtro" name="filter_input"/>
 	<tab_container name="tabs">
 		<panel label="PROXIMIDADE" name="nearby_panel">
@@ -27,10 +36,6 @@
 				<button name="add_btn" tool_tip="Oferecer amizade para um residente"/>
 				<button name="del_btn" tool_tip="Remover a pessoa selecionada da sua lista de amigos"/>
 			</panel>
-			<text name="no_friends_msg">
-				Para adicionar amigos, use a [secondlife:///app/search/people busca de pessoas] ou clique em um residente para adicioná-lo.
-Para conhecer mais gente, use [secondlife:///app/worldmap o Mapa].
-			</text>
 		</panel>
 		<panel label="MEUS GRUPOS" name="groups_panel">
 			<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/pt/panel_places.xml b/indra/newview/skins/default/xui/pt/panel_places.xml
index 9da4201c85fb537288c34e0e71d32b0d250da58a..f7b6f54dea7bcae2389bd734896bcd8901bc0fa5 100644
--- a/indra/newview/skins/default/xui/pt/panel_places.xml
+++ b/indra/newview/skins/default/xui/pt/panel_places.xml
@@ -11,5 +11,6 @@
 		<button label="Salvar" name="save_btn"/>
 		<button label="Cancelar" name="cancel_btn"/>
 		<button label="Fechar" name="close_btn"/>
+		<button label="Perfil" name="profile_btn"/>
 	</panel>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
index f30c218c818ce4ac591b0bf53f7c0718a884eece..9c366fb4fd811707d91b7833a1d284d885fd4cc6 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
@@ -20,6 +20,9 @@
 	<check_box label="Balão de bate-papo" name="bubble_text_chat"/>
 	<slider label="Opacidade" name="bubble_chat_opacity"/>
 	<color_swatch name="background" tool_tip="Cor do balão de bate-papo"/>
+	<text name="UI Size:">
+		Interface
+	</text>
 	<check_box label="Mostrar erros de script" name="show_script_errors"/>
 	<radio_group name="show_location">
 		<radio_item label="Bate-papo local" name="0"/>
@@ -29,4 +32,5 @@
 	<line_editor label="Botão apertar e falar" name="modifier_combo"/>
 	<button label="Definir tecla" name="set_voice_hotkey_button"/>
 	<button label="Botão do meio do mouse" name="set_voice_middlemouse_button" tool_tip="Redefinir como botão do meio do mouse"/>
+	<button label="Outros dispositivos" name="joystick_setup_button"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_world_map.xml b/indra/newview/skins/default/xui/pt/panel_world_map.xml
index 584ef8a66623be53f9672bf9f64b1e0c0d79a759..accab068fd87eb49d1dfc0bb40effb5a092a4980 100644
--- a/indra/newview/skins/default/xui/pt/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/pt/panel_world_map.xml
@@ -30,6 +30,12 @@
 	<panel.string name="world_map_northwest">
 		NO
 	</panel.string>
+	<panel.string name="world_map_person">
+		1 pessoa
+	</panel.string>
+	<panel.string name="world_map_people">
+		[NUMBER] pessoas
+	</panel.string>
 	<text label="N" name="floater_map_north" text="N">
 		N
 	</text>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
index 75b737b8bd220da70b6cd0ae097aa9370d94d41b..f634236cd239a3f7970c48f4dd660d8f3c2c47ab 100644
--- a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
@@ -3,6 +3,7 @@
 	<panel label="" name="sidepanel__inventory_panel">
 		<panel name="button_panel">
 			<button label="Perfil" name="info_btn"/>
+			<button label="Compartilhar" name="share_btn"/>
 			<button label="Vestir" name="wear_btn"/>
 			<button label="Tocar" name="play_btn"/>
 			<button label="Teletransportar" name="teleport_btn"/>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 773aea58480f1a7fa9a23ee3d8c48dcdb7f0c2d6..51b6581d42a43db8085929c2eba539dee31dc05c 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -249,6 +249,9 @@
 	<string name="BUTTON_CLOSE_WIN">
 		Fechar (Ctrl+W)
 	</string>
+	<string name="BUTTON_CLOSE_CHROME">
+		Fechar
+	</string>
 	<string name="BUTTON_RESTORE">
 		Restaurar
 	</string>
@@ -288,6 +291,9 @@
 	<string name="GroupNameNone">
 		(nenhum)
 	</string>
+	<string name="AvalineCaller">
+		Interlocutor Avaline [ORDER]
+	</string>
 	<string name="AssetErrorNone">
 		Nenhum erro
 	</string>
@@ -883,7 +889,7 @@
 		Pressione ESC para retornar para visão do mundo
 	</string>
 	<string name="InventoryNoMatchingItems">
-		Nenhum item correspondente foi encontrado no inventário.  Tente fazer uma [secondlife:///app/search/groups &quot;Busca&quot;].
+		Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups Busca].
 	</string>
 	<string name="FavoritesNoMatchingItems">
 		Arraste um marco para adicioná-lo aos seus favoritos.
@@ -1542,9 +1548,7 @@
 	<string name="RegionNoCovenantOtherOwner">
 		Não foi definido um contrato para essa Região. O terreno nesta região está sendo vendido pelo Proprietário, não pela Linden Lab. Favor contatar o Proprietário da região para detalhes de venda.
 	</string>
-	<string name="covenant_last_modified">
-		Última modificação:
-	</string>
+	<string name="covenant_last_modified" value="Última modificação:"/>
 	<string name="none_text" value="(nenhum)"/>
 	<string name="never_text" value="(nunca)"/>
 	<string name="GroupOwned">
@@ -3220,6 +3224,15 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
 	<string name="LocationCtrlComboBtnTooltip">
 		Histórico de localizações
 	</string>
+	<string name="LocationCtrlAdultIconTooltip">
+		Região Adulta
+	</string>
+	<string name="LocationCtrlModerateIconTooltip">
+		Região Moderada
+	</string>
+	<string name="LocationCtrlGeneralIconTooltip">
+		Região em geral
+	</string>
 	<string name="UpdaterWindowTitle">
 		[APP_NAME] Atualização
 	</string>
@@ -3250,6 +3263,12 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
 	<string name="UpdaterFailStartTitle">
 		Falha ao iniciar o visualizador
 	</string>
+	<string name="ItemsComingInTooFastFrom">
+		[APP_NAME]: Entrada de itens rápida demais de [FROM_NAME], visualização automática suspensa por [TIME] segundos
+	</string>
+	<string name="ItemsComingInTooFast">
+		[APP_NAME]: Entrada de itens rápida demais, visualização automática suspensa por [TIME] segundos
+	</string>
 	<string name="IM_logging_string">
 		-- Log de mensagem instantânea habilitado --
 	</string>
@@ -3277,6 +3296,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
 	<string name="IM_moderator_label">
 		(Moderador)
 	</string>
+	<string name="answered_call">
+		Ligação atendida
+	</string>
 	<string name="started_call">
 		Iniciou uma ligação de voz
 	</string>
@@ -3358,12 +3380,18 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
 	<string name="unread_chat_multiple">
 		[SOURCES] disseram alguma coisa
 	</string>
+	<string name="session_initialization_timed_out_error">
+		A inicialização da sessão expirou
+	</string>
 	<string name="paid_you_ldollars">
 		[NAME] lhe pagou L$ [AMOUNT]
 	</string>
 	<string name="you_paid_ldollars">
 		You pagou L$[AMOUNT] por [REASON] a [NAME].
 	</string>
+	<string name="you_paid_ldollars_no_info">
+		Você acaba de pagar L$[AMOUNT].
+	</string>
 	<string name="you_paid_ldollars_no_reason">
 		You pagou L$[AMOUNT] a [NAME].
 	</string>
@@ -3474,4 +3502,13 @@ Denunciar abuso
 	<string name="Contents">
 		Conteúdo
 	</string>
+	<string name="AvatarBirthDateFormat">
+		[mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
+	</string>
+	<string name="DefaultMimeType">
+		nenhum/nehum
+	</string>
+	<string name="texture_load_dimensions_error">
+		A imagem excede o limite [WIDTH]*[HEIGHT]
+	</string>
 </strings>
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index 7e9a8336e77c6f0972cea5f6ee88d7f72c4720ee..7a544debb2b94cd811804e61250d0f05db125383 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -241,6 +241,9 @@ LLMediaPluginTest::~LLMediaPluginTest()
 	{
 		remMediaPanel( mMediaPanels[ i ] );
 	};
+	
+	// Stop the plugin read thread if it's running.
+	LLPluginProcessParent::setUseReadThread(false);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -1047,6 +1050,11 @@ void LLMediaPluginTest::gluiCallback( int control_id )
 		}
 	}
 	else
+	if ( control_id == mIdUsePluginReadThread )
+	{
+		LLPluginProcessParent::setUseReadThread(mUsePluginReadThread);
+	}
+	else
 	if ( control_id == mIdControlCrashPlugin )
 	{
 		// send message to plugin and ask it to crash
@@ -1431,6 +1439,12 @@ void LLMediaPluginTest::makeChrome()
 	glui_window_misc_control->set_main_gfx_window( mAppWindow );
 	glui_window_misc_control->add_column( true );
 
+	mIdUsePluginReadThread = start_id++;
+	mUsePluginReadThread = 0;
+	glui_window_misc_control->add_checkbox( "Use plugin read thread", &mUsePluginReadThread, mIdUsePluginReadThread, gluiCallbackWrapper );
+	glui_window_misc_control->set_main_gfx_window( mAppWindow );
+	glui_window_misc_control->add_column( true );
+
 	mIdLargePanelSpacing = start_id++;
 	mLargePanelSpacing = 0;
 	glui_window_misc_control->add_checkbox( "Large Panel Spacing", &mLargePanelSpacing, mIdLargePanelSpacing, gluiCallbackWrapper );
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.h b/indra/test_apps/llplugintest/llmediaplugintest.h
index e7c769934303651d63a97382bed79c6a6ee83f37..5d08e4214891dc8e6bb88cb9ad924f7ad8269b46 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.h
+++ b/indra/test_apps/llplugintest/llmediaplugintest.h
@@ -164,6 +164,8 @@ class LLMediaPluginTest : public LLPluginClassMediaOwner
 		int mRandomBookmarks;
 		int mIdDisableTimeout;
 		int mDisableTimeout;
+		int mIdUsePluginReadThread;
+		int mUsePluginReadThread;
 		int mIdLargePanelSpacing;
 		int mLargePanelSpacing;
 		int mIdControlCrashPlugin;