Commits

dessie linden committed 9ddf00d Merge

reconciled .hgtags

  • Participants
  • Parent commits 842b5a7, 68a44a8

Comments (0)

Files changed (351)

 0c4d0c24278074f219e5a32e72b449e78301d11b DRTVWR-61_2.7.1-beta1
 0c4d0c24278074f219e5a32e72b449e78301d11b 2.7.1-beta1
 9f79a6ed8fdcd2f3dac33ea6b3236eeb278dccfe 2.7.2-start
-8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release
-8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release
-43c7ee846b7eed80786acbbf35d03bd016a3e85d DRTVWR-59_2.7.0-beta1
-43c7ee846b7eed80786acbbf35d03bd016a3e85d 2.7.0-beta1
 e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb DRTVWR-63_2.7.2-beta1
 e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb 2.7.2-beta1
+6a3e7e403bd19e45fdfc2fcc716867af3ab80861 2.7.3-start
 viewer-pre-release.login_channel = "Second Life Release"
 viewer-pre-release.build_debug_release_separately = true
 viewer-pre-release.build_viewer_update_version_manager = true
-#viewer-pre-release.release-viewer.jira = DRTVWR-13
-viewer-pre-release.release-viewer.jira = DRTVWR-46
+#viewer-pre-release.release-viewer.jira = DRTVWR-46
 
 
 # =======================================

doc/contributions.txt

 	VWR-13996
 	VWR-14426
 	VWR-24247
+	VWR-25654
 	VWR-24251
 	VWR-24252
 	VWR-24254
 	STORM-1182
 	VWR-233
 	VWR-20583
+	VWR-25654
 	VWR-20891
 	VWR-23455
 	VWR-24487

indra/llcommon/llsys.cpp

 				 if(osvi.wProductType == VER_NT_WORKSTATION)
 					mOSStringSimple = "Microsoft Windows XP x64 Edition ";
 				 else
-					 mOSStringSimple = "Microsoft Windows Server 2003 ";
+					mOSStringSimple = "Microsoft Windows Server 2003 ";
 			}
-			else if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion <= 1)
+			else if(osvi.dwMajorVersion == 6 && osvi.dwMinorVersion <= 2)
 			{
 				if(osvi.dwMinorVersion == 0)
 				{
-					mOSStringSimple = "Microsoft Windows Vista ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows Vista ";
+					else
+						mOSStringSimple = "Windows Server 2008 ";
 				}
 				else if(osvi.dwMinorVersion == 1)
 				{
-					mOSStringSimple = "Microsoft Windows 7 ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows 7 ";
+					else
+						mOSStringSimple = "Windows Server 2008 R2 ";
 				}
-
-				if(osvi.wProductType != VER_NT_WORKSTATION)
+				else if(osvi.dwMinorVersion == 2)
 				{
-					mOSStringSimple += "Server ";
+					if(osvi.wProductType == VER_NT_WORKSTATION)
+						mOSStringSimple = "Microsoft Windows 8 ";
+					else
+						mOSStringSimple = "Windows Server 2012 ";
 				}
 
 				///get native system info if available..
 	std::string compatibility_mode;
 	if(got_shell32_version)
 	{
-		if(osvi.dwMajorVersion != shell32_major 
-			|| osvi.dwMinorVersion != shell32_minor)
+		if(osvi.dwMajorVersion != shell32_major || osvi.dwMinorVersion != shell32_minor)
 		{
 			compatibility_mode = llformat(" compatibility mode. real ver: %d.%d (Build %d)", 
 											shell32_major,

indra/llcommon/llversionviewer.h

 
 const S32 LL_VERSION_MAJOR = 2;
 const S32 LL_VERSION_MINOR = 7;
-const S32 LL_VERSION_PATCH = 2;
+const S32 LL_VERSION_PATCH = 3;
 const S32 LL_VERSION_BUILD = 0;
 
 const char * const LL_CHANNEL = "Second Life Developer";

indra/llmessage/tests/commtest.h

 #include "llsd.h"
 #include "llhost.h"
 #include "stringize.h"
+#include <map>
 #include <string>
 #include <stdexcept>
 #include <boost/lexical_cast.hpp>
     CommtestError(const std::string& what): std::runtime_error(what) {}
 };
 
+static bool query_verbose()
+{
+    const char* cbose = getenv("INTEGRATION_TEST_VERBOSE");
+    if (! cbose)
+    {
+        cbose = "1";
+    }
+    std::string strbose(cbose);
+    return (! (strbose == "0" || strbose == "off" ||
+               strbose == "false" || strbose == "quiet"));
+}
+
+bool verbose()
+{
+    // This should only be initialized once.
+    static bool vflag = query_verbose();
+    return vflag;
+}
+
+static int query_port(const std::string& var)
+{
+    const char* cport = getenv(var.c_str());
+    if (! cport)
+    {
+        throw CommtestError(STRINGIZE("missing environment variable" << var));
+    }
+    // This will throw, too, if the value of PORT isn't numeric.
+    int port(boost::lexical_cast<int>(cport));
+    if (verbose())
+    {
+        std::cout << "getport('" << var << "') = " << port << std::endl;
+    }
+    return port;
+}
+
+static int getport(const std::string& var)
+{
+    typedef std::map<std::string, int> portsmap;
+    static portsmap ports;
+    // We can do this with a single map lookup with map::insert(). Either it
+    // returns an existing entry and 'false' (not newly inserted), or it
+    // inserts the specified value and 'true'.
+    std::pair<portsmap::iterator, bool> inserted(ports.insert(portsmap::value_type(var, 0)));
+    if (inserted.second)
+    {
+        // We haven't yet seen this var. Remember its value.
+        inserted.first->second = query_port(var);
+    }
+    // Return the (existing or new) iterator's value.
+    return inserted.first->second;
+}
+
 /**
  * This struct is shared by a couple of standalone comm tests (ADD_COMM_BUILD_TEST).
  */
 
     static int getport(const std::string& var)
     {
-        const char* port = getenv(var.c_str());
-        if (! port)
-        {
-            throw CommtestError("missing $PORT environment variable");
-        }
-        // This will throw, too, if the value of PORT isn't numeric.
-        return boost::lexical_cast<int>(port);
+        // We have a couple consumers of commtest_data::getport(). But we've
+        // since moved it out to the global namespace. So this is just a
+        // facade.
+        return ::getport(var);
     }
 
     bool outcome(const LLSD& _result, bool _success)

indra/llmessage/tests/test_llsdmessage_peer.py

 sys.path.insert(0, os.path.join(mydir, os.pardir, os.pardir, "lib", "python"))
 from indra.util.fastest_elementtree import parse as xml_parse
 from indra.base import llsd
-from testrunner import freeport, run, debug
+from testrunner import freeport, run, debug, VERBOSE
 
 class TestHTTPRequestHandler(BaseHTTPRequestHandler):
     """This subclass of BaseHTTPRequestHandler is to receive and echo
 ##         # assuming that the underlying XML parser reads its input file
 ##         # incrementally. Unfortunately I haven't been able to make it work.
 ##         tree = xml_parse(self.rfile)
-##         debug("Finished raw parse\n")
-##         debug("parsed XML tree %s\n" % tree)
-##         debug("parsed root node %s\n" % tree.getroot())
-##         debug("root node tag %s\n" % tree.getroot().tag)
+##         debug("Finished raw parse")
+##         debug("parsed XML tree %s", tree)
+##         debug("parsed root node %s", tree.getroot())
+##         debug("root node tag %s", tree.getroot().tag)
 ##         return llsd.to_python(tree.getroot())
 
     def do_GET(self):
         self.answer(self.read_xml())
 
     def answer(self, data):
+        debug("%s.answer(%s): self.path = %r", self.__class__.__name__, data, self.path)
         if "fail" not in self.path:
             response = llsd.format_xml(data.get("reply", llsd.LLSD("success")))
+            debug("success: %s", response)
             self.send_response(200)
             self.send_header("Content-type", "application/llsd+xml")
             self.send_header("Content-Length", str(len(response)))
                                                   ("fail requested",
                                                    "Your request specified failure status %s "
                                                    "without providing a reason" % status))[1])
+            debug("fail requested: %s: %r", status, reason)
             self.send_error(status, reason)
 
-    def log_request(self, code, size=None):
-        # For present purposes, we don't want the request splattered onto
-        # stderr, as it would upset devs watching the test run
-        pass
+    if not VERBOSE:
+        # When VERBOSE is set, skip both these overrides because they exist to
+        # suppress output.
 
-    def log_error(self, format, *args):
-        # Suppress error output as well
-        pass
+        def log_request(self, code, size=None):
+            # For present purposes, we don't want the request splattered onto
+            # stderr, as it would upset devs watching the test run
+            pass
+
+        def log_error(self, format, *args):
+            # Suppress error output as well
+            pass
 
 if __name__ == "__main__":
     # Instantiate an HTTPServer(TestHTTPRequestHandler) on the first free port
     # command-line parsing -- and anyway, for C++ integration tests, that's
     # performed in TUT code rather than our own.
     os.environ["PORT"] = str(port)
+    debug("$PORT = %s", port)
     sys.exit(run(server=Thread(name="httpd", target=httpd.serve_forever), *sys.argv[1:]))

indra/llmessage/tests/testrunner.py

 
 import os
 import sys
+import re
 import errno
 import socket
 
-def debug(*args):
-    sys.stdout.writelines(args)
-    sys.stdout.flush()
-# comment out the line below to enable debug output
-debug = lambda *args: None
+VERBOSE = os.environ.get("INTEGRATION_TEST_VERBOSE", "1") # default to verbose
+# Support usage such as INTEGRATION_TEST_VERBOSE=off -- distressing to user if
+# that construct actually turns on verbosity...
+VERBOSE = not re.match(r"(0|off|false|quiet)$", VERBOSE, re.IGNORECASE)
+
+if VERBOSE:
+    def debug(fmt, *args):
+        print fmt % args
+        sys.stdout.flush()
+else:
+    debug = lambda *args: None
 
 def freeport(portlist, expr):
     """
     # pass 'port' to client code
     # call server.serve_forever()
     """
-    # If portlist is completely empty, let StopIteration propagate: that's an
-    # error because we can't return meaningful values. We have no 'port',
-    # therefore no 'expr(port)'.
-    portiter = iter(portlist)
-    port = portiter.next()
+    try:
+        # If portlist is completely empty, let StopIteration propagate: that's an
+        # error because we can't return meaningful values. We have no 'port',
+        # therefore no 'expr(port)'.
+        portiter = iter(portlist)
+        port = portiter.next()
 
-    while True:
-        try:
-            # If this value of port works, return as promised.
-            return expr(port), port
+        while True:
+            try:
+                # If this value of port works, return as promised.
+                value = expr(port)
 
-        except socket.error, err:
-            # Anything other than 'Address already in use', propagate
-            if err.args[0] != errno.EADDRINUSE:
-                raise
+            except socket.error, err:
+                # Anything other than 'Address already in use', propagate
+                if err.args[0] != errno.EADDRINUSE:
+                    raise
 
-            # Here we want the next port from portiter. But on StopIteration,
-            # we want to raise the original exception rather than
-            # StopIteration. So save the original exc_info().
-            type, value, tb = sys.exc_info()
-            try:
+                # Here we want the next port from portiter. But on StopIteration,
+                # we want to raise the original exception rather than
+                # StopIteration. So save the original exc_info().
+                type, value, tb = sys.exc_info()
                 try:
-                    port = portiter.next()
-                except StopIteration:
-                    raise type, value, tb
-            finally:
-                # Clean up local traceback, see docs for sys.exc_info()
-                del tb
+                    try:
+                        port = portiter.next()
+                    except StopIteration:
+                        raise type, value, tb
+                finally:
+                    # Clean up local traceback, see docs for sys.exc_info()
+                    del tb
 
-        # Recap of the control flow above:
-        # If expr(port) doesn't raise, return as promised.
-        # If expr(port) raises anything but EADDRINUSE, propagate that
-        # exception.
-        # If portiter.next() raises StopIteration -- that is, if the port
-        # value we just passed to expr(port) was the last available -- reraise
-        # the EADDRINUSE exception.
-        # If we've actually arrived at this point, portiter.next() delivered a
-        # new port value. Loop back to pass that to expr(port).
+            else:
+                debug("freeport() returning %s on port %s", value, port)
+                return value, port
+
+            # Recap of the control flow above:
+            # If expr(port) doesn't raise, return as promised.
+            # If expr(port) raises anything but EADDRINUSE, propagate that
+            # exception.
+            # If portiter.next() raises StopIteration -- that is, if the port
+            # value we just passed to expr(port) was the last available -- reraise
+            # the EADDRINUSE exception.
+            # If we've actually arrived at this point, portiter.next() delivered a
+            # new port value. Loop back to pass that to expr(port).
+
+    except Exception, err:
+        debug("*** freeport() raising %s: %s", err.__class__.__name__, err)
+        raise
 
 def run(*args, **kwds):
     """All positional arguments collectively form a command line, executed as
     # - [no p] don't use the PATH because we specifically want to invoke the
     #   executable passed as our first arg,
     # - [no e] child should inherit this process's environment.
-    debug("Running %s...\n" % (" ".join(args)))
-    sys.stdout.flush()
+    debug("Running %s...", " ".join(args))
     rc = os.spawnv(os.P_WAIT, args[0], args)
-    debug("%s returned %s\n" % (args[0], rc))
+    debug("%s returned %s", args[0], rc)
     return rc

indra/newview/llappviewer.cpp

 			// Migrate inventory cache to avoid pain to inventory database after mass update
 			S32 file_count = 0;
 			std::string file_name;
-			std::string mask = delimiter + "*.*";
+			std::string mask = "*.*";
 
 			LLDirIterator iter(old_cache_dir, mask);
 			while (iter.next(file_name))
 	{
 		// doesn't exist, look for a data file
 		std::string mask;
-		mask = gDirUtilp->getDirDelimiter();
-		mask += VFS_DATA_FILE_BASE;
+		mask = VFS_DATA_FILE_BASE;
 		mask += "*";
 
 		std::string dir;

indra/newview/lltranslate.cpp

 
 #include "lltranslate.h"
 
+#include <curl/curl.h>
+
 #include "llbufferstream.h"
 #include "llui.h"
 #include "llversioninfo.h"
 //static
 void LLTranslate::getTranslateUrl(std::string &translate_url, const std::string &from_lang, const std::string &to_lang, const std::string &mesg)
 {
-	std::string escaped_mesg = curl_escape(mesg.c_str(), mesg.size());
+	char * curl_str = curl_escape(mesg.c_str(), mesg.size());
+	std::string const escaped_mesg(curl_str);
+	curl_free(curl_str);
 
 	translate_url = m_GoogleURL
 		+ escaped_mesg + m_GoogleLangSpec

indra/newview/skins/default/xui/da/floater_about_land.xml

 			</text>
 			<check_box label="Redigere terræn" name="edit land check" tool_tip="Hvis dette er valg, kan enhver redigere dit land. Det er bedst ikke at vælge her, da det altid er muligt for dig som ejer at ændre terræn på dit eget land."/>
 			<check_box label="Flyve" name="check fly" tool_tip="Hvis valgt, kan beboere flyve på dit land. Hvis ikke valgt kan beboere kun flyve ind på dit land og over dit land."/>
-			<text left="194" name="allow_label2">
+			<text name="allow_label2">
 				Lave objekter:
 			</text>
 			<check_box label="Alle beboere" name="edit objects check"/>
 			<check_box label="Gruppe" name="edit group objects check"/>
-			<text left="170" name="allow_label3">
+			<text name="allow_label3">
 				Anbringe objekter:
 			</text>
 			<check_box label="Alle beboere" name="all object entry check"/>
 			<check_box label="Gruppe" name="group object entry check"/>
-			<text left="200" name="allow_label4">
+			<text name="allow_label4">
 				Køre scripts:
 			</text>
 			<check_box label="Alle beboere" name="check other scripts"/>

indra/newview/skins/default/xui/da/floater_buy_currency.xml

 		Indtast beløbet for at se nyeste valutakurs.
 	</text>
 	<text name="purchase_warning_repurchase">
-		Bekræftelse af dette køb medfører kun køb af L$, ikke objektet.
+		Bekræftelse af dette køb medfører kun køb af L$, ikke 
+objektet.
 	</text>
 	<text name="purchase_warning_notenough">
 		Du køber ikke nok L$. Forøg venligst beløbet.

indra/newview/skins/default/xui/da/floater_env_settings.xml

 		[hour12,datetime,utc]:[min,datetime,utc] [ampm,datetime,utc]
 	</floater.string>
 	<text name="EnvTimeText">
-		Tid på dagen
+		Tid på 
+dagen
 	</text>
 	<text name="EnvTimeText2">
 		00:00
 	</text>
 	<slider label="" name="EnvCloudSlider"/>
 	<text name="EnvWaterColorText">
-		Farve på vand
+		Farve på 
+vand
 	</text>
 	<color_swatch label="" name="EnvWaterColor" tool_tip="Klik for at åbne farvevælger"/>
 	<text name="EnvWaterFogText">
-		Tåge på vand
+		Tåge på 
+vand
 	</text>
 	<slider label="" name="EnvWaterFogSlider"/>
 	<button label="Benyt tid fra estate" name="EnvUseEstateTimeButton"/>

indra/newview/skins/default/xui/da/strings.xml

 		(ukendt)
 	</string>
 	<string name="SummaryForTheWeek" value="Opsummering for denne uge, begyndende med "/>
-	<string name="NextStipendDay" value="Næste stipendie dag er "/>
+	<string name="NextStipendDay" value=". Næste stipendie dag er "/>
 	<string name="GroupIndividualShare" value="                      Gruppe     Individuel Delt"/>
 	<string name="GroupColumn" value="Gruppe"/>
 	<string name="Balance">

indra/newview/skins/default/xui/de/floater_about_land.xml

 				Preis: [PRICE] L$ ([PRICE_PER_SQM]L$/m²)
 			</text>
 			<text name="SalePending"/>
-			<button bottom="-222" label="Land verkaufen" label_selected="Land verkaufen..." name="Sell Land..."/>
+			<button label="Land verkaufen" label_selected="Land verkaufen..." name="Sell Land..."/>
 			<text name="For sale to">
 				Zum Verkauf an: [BUYER]
 			</text>
-			<text left_delta="-50" name="Sell with landowners objects in parcel." width="240">
+			<text name="Sell with landowners objects in parcel.">
 				Objekte sind im Verkauf eingeschlossen
 			</text>
-			<text name="Selling with no objects in parcel." width="260">
+			<text name="Selling with no objects in parcel.">
 				Objekte sind im Verkauf nicht eingeschlossen
 			</text>
-			<button bottom="-222" label="Landverkauf abbrechen" label_selected="Landverkauf abbrechen" name="Cancel Land Sale"/>
+			<button label="Landverkauf abbrechen" label_selected="Landverkauf abbrechen" name="Cancel Land Sale"/>
 			<text name="Claimed:">
 				Gekauft am:
 			</text>

indra/newview/skins/default/xui/de/floater_customize.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater customize" title="AUSSEHEN">
-	<tab_container name="customize tab container">
-		<text label="Körperteile" name="body_parts_placeholder">
-			Körperteile
-		</text>
-		<panel label="Form" name="Shape">
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-			<button label="Körper" label_selected="Körper" name="Body"/>
-			<button label="Kopf" label_selected="Kopf" name="Head"/>
-			<button label="Augen" label_selected="Augen" name="Eyes"/>
-			<button label="Ohren" label_selected="Ohren" name="Ears"/>
-			<button label="Nase" label_selected="Nase" name="Nose"/>
-			<button label="Mund" label_selected="Mund" name="Mouth"/>
-			<button label="Kinn" label_selected="Kinn" name="Chin"/>
-			<button label="Oberkörper" label_selected="Oberkörper" name="Torso"/>
-			<button label="Beine" label_selected="Beine" name="Legs"/>
-			<radio_group name="sex radio">
-				<radio_item label="Weiblich" name="radio" value="0"/>
-				<radio_item label="Männlich" name="radio2" value="1"/>
-			</radio_group>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Form aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch eine neue erstellen und diese anlegen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label">
-				Form:
-			</text>
-			<button label="Neue Form/Gestalt" label_selected="Neue Form/Gestalt" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-		</panel>
-		<panel label="Haut" name="Skin">
-			<button label="Hautfarbe" label_selected="Hautfarbe" left="2" name="Skin Color" width="92"/>
-			<button label="Gesichtsdetails" label_selected="Gesichtsdetails" left="2" name="Face Detail" width="92"/>
-			<button label="Make-Up" label_selected="Make-Up" left="2" name="Makeup" width="92"/>
-			<button label="Körperdetails" label_selected="Körperdetails" left="2" name="Body Detail" width="92"/>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Skin (Haut) aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch eine neue erstellen und diese anlegen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Haut:
-			</text>
-			<texture_picker label="Kopftattoo" name="Head Tattoos" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<texture_picker label="Obere Tattoos" name="Upper Tattoos" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<texture_picker label="Untere Tattoos" name="Lower Tattoos" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<button label="Neue Haut" label_selected="Neue Haut" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Haar" name="Hair">
-			<button label="Farbe" label_selected="Farbe" name="Color"/>
-			<button label="Stil" label_selected="Stil" name="Style"/>
-			<button label="Augenbrauen" label_selected="Augenbrauen" name="Eyebrows"/>
-			<button label="Gesichtshaar" label_selected="Gesichtshaar" name="Facial"/>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie Haar aus dem Inventar auf Ihren Avatar, um dieses anzulegen. Sie können aber auch neues Haar erstellen und anlegen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Haare:
-			</text>
-			<texture_picker label="Textur" name="Texture" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<button label="Neue Haare" label_selected="Neue Haare" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Augen" name="Eyes">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie neue Augen aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch neue Augen erstellen und diese anlegen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Augen:
-			</text>
-			<texture_picker label="Iris" name="Iris" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<button label="Neue Augen" label_selected="Neue Augen" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<text label="Kleidung" name="clothes_placeholder">
-			Kleidung
-		</text>
-		<panel label="Hemd" name="Shirt">
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button label="Neues Hemd" label_selected="Neues Hemd" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie ein neues Hemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch ein neues Hemd erstellen und dieses anlegen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Hemd:
-			</text>
-		</panel>
-		<panel label="Hose" name="Pants">
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button label="Neue Hose" label_selected="Neue Hose" name="Create New"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Hose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
-			</text>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Hose:
-			</text>
-		</panel>
-		<panel label="Schuhe" name="Shoes">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie neue Schuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue Schuhe erstellen und diese anlegen.
-			</text>
-			<button label="Neue Schuhe" label_selected="Neue Schuhe" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Schuhe:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Socken" name="Socks">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie neue Socken aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue erstellen und diese anziehen.
-			</text>
-			<button label="Neue Socken" label_selected="Neue Socken" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Socken:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Jacke" name="Jacket">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Jacke aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
-			</text>
-			<button label="Neue Jacke" label_selected="Neue Jacke" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Jacke:
-			</text>
-			<texture_picker label="Stoff: oben" name="Upper Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<texture_picker label="Stoff: unten" name="Lower Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Handschuhe" name="Gloves">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie neue Handschuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue erstellen und diese anziehen.
-			</text>
-			<button label="Neue Handschuhe" label_selected="Neue Handschuhe" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Handschuhe:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Unterhemd" name="Undershirt">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie ein neues Unterhemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch ein neues Unterhemd erstellen und dieses anziehen.
-			</text>
-			<button label="Neues Unterhemd" label_selected="Neues Unterhemd" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Unterhemd:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Unterhose" name="Underpants">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Unterhose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
-			</text>
-			<button label="Neue Unterhose" label_selected="Neue Unterhose" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Unterhose:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Rock" name="Skirt">
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[DESC]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: nicht getragen
-			</text>
-			<text name="path">
-				In [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie einen neuen Rock aus dem Inventar auf Ihren Avatar, um diesen anzuziehen. Sie können aber auch einen neuen Rock erstellen und diesen anziehen.
-			</text>
-			<button label="Neuer Rock" label_selected="Neuer Rock" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label" right="100">
-				Rock:
-			</text>
-			<texture_picker label="Stoff" name="Fabric" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
-			<color_swatch label="Farbe/Ton" name="Color/Tint" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
-			<button font="SansSerifSmall" label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
-			<button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button font="SansSerifSmall" label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Tätowierung" name="Tattoo">
-			<text name="title">
-				Tätowierung
-			</text>
-			<text name="title_no_modify">
-				[BESCHR]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[BESCHR]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[BESCHR]: nicht getragen
-			</text>
-			<text name="path">
-				Befindet sich in [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ziehen Sie eine neue Tätowierung aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch eine neue erstellen und diese anlegen.
-			</text>
-			<button label="Neue Tätowierung erstellen" label_selected="Neue Tätowierung erstellen" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label">
-				Tätowierung:
-			</text>
-			<texture_picker label="Kopftattoo" name="Head Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Obere Tattoos" name="Upper Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Untere Tattoos" name="Lower Tattoo" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<button label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button label="Speichern" label_selected="Speichern" name="Save"/>
-			<button label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-		<panel label="Alpha" name="Alpha">
-			<text name="title">
-				Alpha
-			</text>
-			<text name="title_no_modify">
-				[BESCHR]: bearbeiten nicht möglich
-			</text>
-			<text name="title_loading">
-				[BESCHR]: wird geladen...
-			</text>
-			<text name="title_not_worn">
-				[BESCHR]: nicht getragen
-			</text>
-			<text name="path">
-				Befindet sich in [PATH]
-			</text>
-			<text name="not worn instructions">
-				Sie können eine neue Alpha-Maske anlegen, indem Sie eine von Ihrem Inventar auf Ihren Avatar ziehen. Sie können aber auch eine neue erstellen und diese anlegen.
-			</text>
-			<button label="Neue Alpha erstellen" label_selected="Neue Alpha erstellen" name="Create New"/>
-			<text name="no modify instructions">
-				Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
-			</text>
-			<text name="Item Action Label">
-				Alpha:
-			</text>
-			<texture_picker label="Alpha: Unten" name="Lower Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Alpha: Oben" name="Upper Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Kopf: Alpha" name="Head Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Alpha: Augen" name="Eye Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<texture_picker label="Alpha: Haare" name="Hair Alpha" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
-			<button label="Ausziehen" label_selected="Ausziehen" name="Take Off"/>
-			<button label="Speichern" label_selected="Speichern" name="Save"/>
-			<button label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
-			<button label="Zurücksetzen" label_selected="Zurücksetzen" name="Revert"/>
-		</panel>
-	</tab_container>
-	<button label="Skriptinfo" label_selected="Skriptinfo" name="script_info" tool_tip="Skripts, die an Ihren Avatar angehängt sind, anzeigen"/>
-	<button label="Outfit erstellen" label_selected="Outfit erstellen" name="make_outfit_btn"/>
-	<button label="Abbrechen" label_selected="Abbrechen" name="Cancel"/>
-	<button label="OK" label_selected="OK" name="Ok"/>
-</floater>

indra/newview/skins/default/xui/de/floater_wearable_save_as.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="modal container" title=" ">
-	<button label="Speichern" label_selected="Speichern" name="Save"/>
-	<button label="Abbrechen" label_selected="Abbrechen" name="Cancel"/>
-	<text name="Save item as:">
-		Objekt in meinem Inventar speichern als:
-	</text>
-	<line_editor name="name ed">
-		Neu [DESC]
-	</line_editor>
-</floater>

indra/newview/skins/default/xui/de/panel_friends.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="friends">
-	<string name="Multiple">
-		Mehrere Freunde
-	</string>
-	<scroll_list name="friend_list" tool_tip="Halten Sie die Tasten „Umschalt“ oder „Strg“ gedrückt, um durch Klicken mehrere Freunde auszuwählen.">
-		<column name="icon_online_status" tool_tip="Online-Status"/>
-		<column label="Name" name="friend_name" tool_tip="Name"/>
-		<column name="icon_visible_online" tool_tip="Freund kann sehen, wenn Sie online sind"/>
-		<column name="icon_visible_map" tool_tip="Freund kann Sie auf der Karte finden"/>
-		<column name="icon_edit_mine" tool_tip="Freunde können Objekte bearbeiten, löschen und an sich nehmen"/>
-		<column name="icon_edit_theirs" tool_tip="Sie können die Objekte dieses Freunds bearbeiten"/>
-	</scroll_list>
-	<panel name="rights_container">
-		<text name="friend_name_label">
-			Wählen Sie den/die Freund(e) aus, dessen/deren Rechte Sie ändern möchten...
-		</text>
-		<check_box label="Kann meinen Online-Status sehen" name="online_status_cb" tool_tip="Festlegen, ob dieser Freund meinen Online-Status auf seiner Freundesliste oder Visitenkarte einsehen kann"/>
-		<check_box label="Kann mich auf der Weltkarte sehen" name="map_status_cb" tool_tip="Festlegen, ob dieser Freund auf seiner Karte meinen Standort sehen kann"/>
-		<check_box label="Kann meine Objekte verändern" name="modify_status_cb" tool_tip="Festlegen, ob dieser Freund meine Objekte verändern kann"/>
-		<text name="process_rights_label">
-			Rechte werden geändert...
-		</text>
-	</panel>
-	<button label="IM/Anruf" name="im_btn" tool_tip="Beginnt eine Instant Message-Sitzung"/>
-	<button label="Profil" name="profile_btn" tool_tip="Bilder, Gruppen und andere Informationen anzeigen"/>
-	<button label="Teleportieren" name="offer_teleport_btn" tool_tip="Bieten Sie diesem Freund einen Teleport an Ihre Position an"/>
-	<button label="Bezahlen" name="pay_btn" tool_tip="Diesem Freund Linden-Dollar (L$) geben"/>
-	<button label="Entfernen" name="remove_btn" tool_tip="Diese Person von Ihrer Freundesliste entfernen"/>
-	<button label="Hinzufügen" name="add_btn" tool_tip="Bieten Sie einem Einwohner die Freundschaft an"/>
-</panel>

indra/newview/skins/default/xui/en/floater_buy_currency.xml

      follows="top|left"
      layout="topleft"
      halign="right"
-     top="213"
+     top="208"
      left="10"
      width="310"
-     height="30"
+     height="35"
      name="purchase_warning_repurchase">
         Confirming this purchase only buys L$, not the object.
     </text>

indra/newview/skins/default/xui/en/floater_model_preview.xml

File contents unchanged.

indra/newview/skins/default/xui/en/floater_model_wizard.xml

File contents unchanged.

indra/newview/skins/default/xui/en/floater_sell_land.xml

      font="SansSerif"
      height="16"
      left="30"
-     name="sell_objects_label">
+     name="sell_objects_label"
+     width="266">
         3. Sell the objects with the land?
     </text>
     <text

indra/newview/skins/default/xui/en/floater_tools.xml

File contents unchanged.

indra/newview/skins/default/xui/en/floater_windlight_options.xml

      left="10"
      name="KeyFramePresetsText"
      top="34"
-     width="85">
+     width="135">
         Sky Presets:
     </text>
     <combo_box
      height="23"
      layout="topleft"
-     left_delta="85"
+     left_delta="135"
      name="WLPresetsCombo"
      top_delta="-4"
      width="150" />

indra/newview/skins/default/xui/en/menu_login.xml

File contents unchanged.

indra/newview/skins/default/xui/en/notifications.xml

File contents unchanged.

indra/newview/skins/default/xui/en/panel_preferences_setup.xml

File contents unchanged.

indra/newview/skins/default/xui/es/floater_about.xml

 		<panel label="Licencias" name="licenses_panel">
 			<text_editor name="credits_editor">
 				3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
-  APR Copyright (C) 2000-2004 The Apache Software Foundation
-  cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
-  DBus/dbus-glib Copyright (C) 2002, 2003  CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
-  expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-  FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
-  GL Copyright (C) 1999-2004 Brian Paul.
-  Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
-  jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
-  jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-  ogg/vorbis Copyright (C) 2001, Xiphophorus
-  OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-  SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-  SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-  xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-  zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
-  google-perftools Copyright (c) 2005, Google Inc.
-  
-  All rights reserved.  See licenses.txt for details.
+APR Copyright (C) 2000-2004 The Apache Software Foundation
+Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+DBus/dbus-glib Copyright (C) 2002, 2003  CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+GL Copyright (C) 1999-2004 Brian Paul.
+GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University y David Luebke, Brenden Schubert, University of Virginia.
+google-perftools Copyright (c) 2005, Google Inc.
+Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
+jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ogg/vorbis Copyright (C) 2001, Xiphophorus
+OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+PCRE Copyright (c) 1997-2008 University of Cambridge
+SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+zlib Copyright (C) 1995-2002 Jean-loup Gailly y Mark Adler.
+google-perftools Copyright (c) 2005, Google Inc.
 
-  Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+El visor de Second Life utiliza Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (y los propietarios de las licencias). Reservados todos los derechos. Consulta www.havok.com si deseas obtener más información.
+
+Reservados todos los derechos.  Consulta las licencias en .txt si deseas obtener más información.
+
+Codificación de sonido del chat de voz: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
 			</text_editor>
 		</panel>
 	</tab_container>

indra/newview/skins/default/xui/es/floater_about_land.xml

 			<text name="For sale to">
 				En venta a: [BUYER]
 			</text>
-			<text name="Sell with landowners objects in parcel." width="216">
-				Los objetos se incluyen en la venta.
+			<text name="Sell with landowners objects in parcel.">
+				Objetos incluidos en la venta
 			</text>
-			<text name="Selling with no objects in parcel." width="216">
+			<text name="Selling with no objects in parcel.">
 				Los objetos no se incluyen en la venta.
 			</text>
-			<button bottom="-245" font="SansSerifSmall" label="Cancelar la venta del terreno" label_selected="Cancelar la venta del terreno" left="275" name="Cancel Land Sale"/>
+			<button label="Cancelar la venta del terreno" label_selected="Cancelar la venta del terreno" name="Cancel Land Sale"/>
 			<text name="Claimed:">
 				Reclamada:
 			</text>
 				0
 			</text>
 			<button label="Comprar terreno" left="130" name="Buy Land..." width="125"/>
-			<button label="Información del script" name="Scripts..."/>
+			<button label="Información de scripts" name="Scripts..."/>
 			<button label="Comprar para el grupo" name="Buy For Group..."/>
 			<button label="Comprar un pase" left="130" name="Buy Pass..." tool_tip="Un pase le da acceso temporal a este terreno." width="125"/>
 			<button label="Abandonar el terreno" name="Abandon Land..."/>

indra/newview/skins/default/xui/es/floater_buy_contents.xml

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <floater name="floater_buy_contents" title="COMPRAR LOS CONTENIDOS">
 	<text name="contains_text">
-		[NAME] contiene:
+		&lt;nolink&gt;[NOMBRE]&lt;/nolink&gt; contiene:
 	</text>
 	<text name="buy_text">
 		¿Comprar por [AMOUNT] L$ a [NAME]?

indra/newview/skins/default/xui/es/floater_buy_currency.xml

 	<text name="exchange_rate_note">
 		Vuelve a escribir la cantidad para ver el tipo de cambio más reciente.
 	</text>
-	<text name="purchase_warning_repurchase" right="-10">
-		Confirmando que con esta compra sólo se compran L$, no el objeto.
+	<text name="purchase_warning_repurchase">
+		Confirmando que con esta compra sólo se compran L$, 
+no el objeto.
 	</text>
 	<text name="purchase_warning_notenough">
 		No estás comprando suficientes L$. Por favor, aumenta la cantidad.

indra/newview/skins/default/xui/es/floater_camera.xml

 		<panel name="camera_modes_list">
 			<panel_camera_item name="object_view">
 				<panel_camera_item.text name="object_view_text">
-					Vista de objeto
+					Vista objetiva
 				</panel_camera_item.text>
 			</panel_camera_item>
 			<panel_camera_item name="mouselook_view">

indra/newview/skins/default/xui/es/floater_customize.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater customize" title="APARIENCIA">
-	<tab_container name="customize tab container">
-		<text label="Partes del cuerpo" name="body_parts_placeholder">
-			Partes del cuerpo
-		</text>
-		<panel label="Forma" name="Shape">
-			<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
-			<button label="Cuerpo" label_selected="Cuerpo" name="Body"/>
-			<button label="Cabeza" label_selected="Cabeza" name="Head"/>
-			<button label="Ojos" label_selected="Ojos" name="Eyes"/>
-			<button label="Orejas" label_selected="Orejas" name="Ears"/>
-			<button label="Nariz" label_selected="Nariz" name="Nose"/>
-			<button label="Boca" label_selected="Boca" name="Mouth"/>
-			<button label="Barbilla" label_selected="Barbilla" name="Chin"/>
-			<button label="Torso" label_selected="Torso" name="Torso"/>
-			<button label="Piernas" label_selected="Piernas" name="Legs"/>
-			<radio_group name="sex radio">
-				<radio_item label="Mujer" name="radio" value="0"/>
-				<radio_item label="Varón" name="radio2" value="1"/>
-			</radio_group>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: no modificable
-			</text>
-			<text name="title_loading">
-				[DESC]: cargando...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: no lleva
-			</text>
-			<text name="path">
-				Situada en [PATH]
-			</text>
-			<text name="not worn instructions">
-				Ponte una anatomía nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
-			</text>
-			<text name="no modify instructions">
-				No tiene permiso para modificar este ítem.
-			</text>
-			<text name="Item Action Label">
-				Forma:
-			</text>
-			<button label="Crear una forma nueva" label_selected="Crear una forma nueva" name="Create New"/>
-			<button label="Guardar" label_selected="Guardar" name="Save"/>
-			<button label="Guardar como..." label_selected="Guardar como..." name="Save As"/>
-		</panel>
-		<panel label="Piel" name="Skin">
-			<button label="Color de piel" label_selected="Color de piel" name="Skin Color" width="115"/>
-			<button label="Detalles faciales" label_selected="Detalles faciales" name="Face Detail" width="115"/>
-			<button label="Maquillaje" label_selected="Maquillaje" name="Makeup" width="115"/>
-			<button label="Detalles del cuerpo" label_selected="Detalles del cuerpo" name="Body Detail" width="115"/>
-			<text name="title">
-				[DESC]
-			</text>
-			<text name="title_no_modify">
-				[DESC]: no modificable
-			</text>
-			<text name="title_loading">
-				[DESC]: cargando...
-			</text>
-			<text name="title_not_worn">
-				[DESC]: no lleva
-			</text>
-			<text name="path">
-				Situada en [PATH]
-			</text>