summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llcommon/lluuid.cpp116
-rw-r--r--indra/llplugin/slplugin/CMakeLists.txt19
-rw-r--r--indra/llplugin/slplugin/slplugin-objc.h40
-rw-r--r--indra/llplugin/slplugin/slplugin-objc.mm87
-rw-r--r--indra/llplugin/slplugin/slplugin.cpp17
-rw-r--r--indra/llui/llview.h3
-rw-r--r--indra/llwindow/llwindowmacosx-objc.mm2
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/gpu_table.txt47
-rw-r--r--indra/newview/llagentcamera.h1
-rw-r--r--indra/newview/llcofwearables.cpp34
-rw-r--r--indra/newview/llfloaterpay.cpp3
-rw-r--r--indra/newview/llfloaterscriptdebug.cpp8
-rw-r--r--indra/newview/llfolderview.cpp3
-rw-r--r--indra/newview/llimview.cpp6
-rw-r--r--indra/newview/llinspecttoast.cpp4
-rw-r--r--indra/newview/llinventorybridge.cpp34
-rw-r--r--indra/newview/llinventoryfunctions.cpp61
-rw-r--r--indra/newview/llinventoryfunctions.h3
-rw-r--r--indra/newview/lllogininstance.cpp4
-rw-r--r--indra/newview/llmoveview.cpp23
-rw-r--r--indra/newview/llmoveview.h1
-rw-r--r--indra/newview/lloutfitslist.cpp23
-rw-r--r--indra/newview/llpaneleditwearable.cpp7
-rw-r--r--indra/newview/llpaneloutfitedit.cpp7
-rw-r--r--indra/newview/llsidepanelappearance.cpp2
-rw-r--r--indra/newview/llviewerjoystick.cpp8
-rw-r--r--indra/newview/llviewermedia.cpp2
-rw-r--r--indra/newview/llviewermedia.h2
-rw-r--r--indra/newview/llviewerobject.cpp5
-rw-r--r--indra/newview/llviewerobjectlist.cpp4
-rw-r--r--indra/newview/llviewerwindow.cpp4
-rw-r--r--indra/newview/skins/default/xui/da/floater_about_land.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_map.xml3
-rw-r--r--indra/newview/skins/default/xui/da/floater_preview_gesture.xml8
-rw-r--r--indra/newview/skins/default/xui/da/floater_snapshot.xml86
-rw-r--r--indra/newview/skins/default/xui/da/floater_voice_effect.xml15
-rw-r--r--indra/newview/skins/default/xui/da/menu_attachment_self.xml4
-rw-r--r--indra/newview/skins/default/xui/da/menu_outfit_tab.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_topinfobar.xml7
-rw-r--r--indra/newview/skins/default/xui/da/menu_viewer.xml1
-rw-r--r--indra/newview/skins/default/xui/da/menu_wearable_list_item.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_wearing_gear.xml4
-rw-r--r--indra/newview/skins/default/xui/da/menu_wearing_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/da/notifications.xml3
-rw-r--r--indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_clothing_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/da/panel_edit_wearable.xml3
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfit_edit.xml8
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml5
-rw-r--r--indra/newview/skins/default/xui/da/panel_voice_effect.xml6
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_appearance.xml2
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_item_info.xml4
-rw-r--r--indra/newview/skins/default/xui/da/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/de/floater_map.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_preview_gesture.xml12
-rw-r--r--indra/newview/skins/default/xui/de/floater_snapshot.xml86
-rw-r--r--indra/newview/skins/default/xui/de/floater_voice_effect.xml15
-rw-r--r--indra/newview/skins/default/xui/de/menu_attachment_self.xml4
-rw-r--r--indra/newview/skins/default/xui/de/menu_outfit_tab.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_topinfobar.xml7
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_wearable_list_item.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_wearing_gear.xml4
-rw-r--r--indra/newview/skins/default/xui/de/menu_wearing_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml4
-rw-r--r--indra/newview/skins/default/xui/de/panel_clothing_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_wearable.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfit_edit.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_outfits_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml5
-rw-r--r--indra/newview/skins/default/xui/de/panel_voice_effect.xml4
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_appearance.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_nearby_chat.xml34
-rw-r--r--indra/newview/skins/default/xui/en/menu_cof_clothing.xml26
-rw-r--r--indra/newview/skins/default/xui/en/menu_outfit_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/en/outfit_accordion_tab.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_inventory.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_outfits_list.xml3
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about_land.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_map.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_preview_gesture.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/floater_snapshot.xml86
-rw-r--r--indra/newview/skins/default/xui/fr/floater_voice_effect.xml15
-rw-r--r--indra/newview/skins/default/xui/fr/menu_attachment_self.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/menu_outfit_tab.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_topinfobar.xml7
-rw-r--r--indra/newview/skins/default/xui/fr/menu_viewer.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_wearing_gear.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/menu_wearing_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_wearable.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfit_edit.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml5
-rw-r--r--indra/newview/skins/default/xui/fr/panel_voice_effect.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_appearance.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_item_info.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/floater_map.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/floater_snapshot.xml86
-rw-r--r--indra/newview/skins/default/xui/pt/floater_voice_effect.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/menu_attachment_self.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/menu_outfit_tab.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/menu_topinfobar.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_viewer.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/menu_wearing_gear.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/menu_wearing_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_wearable.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfit_edit.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/panel_voice_effect.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_appearance.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_item_info.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml6
139 files changed, 1035 insertions, 397 deletions
diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp
index 583c1e589b..3bab01715a 100644
--- a/indra/llcommon/lluuid.cpp
+++ b/indra/llcommon/lluuid.cpp
@@ -456,101 +456,53 @@ static void get_random_bytes(void *buf, int nbytes)
}
#if LL_WINDOWS
-// Code copied from http://msdn.microsoft.com/en-us/library/aa365939(VS.85).aspx
-// This code grabs the first hardware address, rather than the first interface.
-// Using a VPN can cause the first returned interface to be changed.
-
-const S32 MAC_ADDRESS_BYTES=6;
+typedef struct _ASTAT_
+{
+ ADAPTER_STATUS adapt;
+ NAME_BUFFER NameBuff [30];
+}ASTAT, * PASTAT;
// static
S32 LLUUID::getNodeID(unsigned char *node_id)
{
+ ASTAT Adapter;
+ NCB Ncb;
+ UCHAR uRetCode;
+ LANA_ENUM lenum;
+ int i;
+ int retval = 0;
- // Declare and initialize variables.
- DWORD dwSize = 0;
- DWORD dwRetVal = 0;
- int i;
-
-/* variables used for GetIfTable and GetIfEntry */
- MIB_IFTABLE *pIfTable;
- MIB_IFROW *pIfRow;
+ memset( &Ncb, 0, sizeof(Ncb) );
+ Ncb.ncb_command = NCBENUM;
+ Ncb.ncb_buffer = (UCHAR *)&lenum;
+ Ncb.ncb_length = sizeof(lenum);
+ uRetCode = Netbios( &Ncb );
- // Allocate memory for our pointers.
- pIfTable = (MIB_IFTABLE *) malloc(sizeof (MIB_IFTABLE));
- if (pIfTable == NULL)
+ for(i=0; i < lenum.length ;i++)
{
- printf("Error allocating memory needed to call GetIfTable\n");
- return 0;
- }
+ memset( &Ncb, 0, sizeof(Ncb) );
+ Ncb.ncb_command = NCBRESET;
+ Ncb.ncb_lana_num = lenum.lana[i];
- // Before calling GetIfEntry, we call GetIfTable to make
- // sure there are entries to get and retrieve the interface index.
+ uRetCode = Netbios( &Ncb );
- // Make an initial call to GetIfTable to get the
- // necessary size into dwSize
- if (GetIfTable(pIfTable, &dwSize, 0) == ERROR_INSUFFICIENT_BUFFER) {
- free(pIfTable);
- pIfTable = (MIB_IFTABLE *) malloc(dwSize);
- if (pIfTable == NULL)
- {
- printf("Error allocating memory\n");
- return 0;
- }
- }
- // Make a second call to GetIfTable to get the actual
- // data we want.
- if ((dwRetVal = GetIfTable(pIfTable, &dwSize, 0)) == NO_ERROR)
- {
- if (pIfTable->dwNumEntries > 0)
- {
- pIfRow = (MIB_IFROW *) malloc(sizeof (MIB_IFROW));
- if (pIfRow == NULL)
- {
- printf("Error allocating memory\n");
- if (pIfTable != NULL)
- {
- free(pIfTable);
- pIfTable = NULL;
- }
- return 0;
- }
+ memset( &Ncb, 0, sizeof (Ncb) );
+ Ncb.ncb_command = NCBASTAT;
+ Ncb.ncb_lana_num = lenum.lana[i];
- int limit = MAC_ADDRESS_BYTES;
- memcpy(node_id, "\0\0\0\0\0\0", limit); // zero out array of bytes
- for (i = 0; i < (int) pIfTable->dwNumEntries; i++)
- {
- pIfRow->dwIndex = pIfTable->table[i].dwIndex;
- if ((dwRetVal = GetIfEntry(pIfRow)) == NO_ERROR)
- {
- switch (pIfRow->dwType)
- {
- case IF_TYPE_ETHERNET_CSMACD:
- case IF_TYPE_IEEE80211:
- limit = min((int) pIfRow->dwPhysAddrLen, limit);
- if (pIfRow->dwPhysAddrLen == 0)
- break;
- memcpy(node_id, (UCHAR *)&pIfRow->bPhysAddr[0], limit); // just incase the PhysAddr is not the expected MAC_Address size
- free(pIfTable);
- return 1; //return first hardware device found.
- break;
-
- case IF_TYPE_OTHER:
- case IF_TYPE_PPP:
- case IF_TYPE_SOFTWARE_LOOPBACK:
- case IF_TYPE_ISO88025_TOKENRING:
- case IF_TYPE_IEEE1394:
- case IF_TYPE_ATM:
- case IF_TYPE_TUNNEL:
- default:
- break;
- }
- }
- }
+ strcpy( (char *)Ncb.ncb_callname, "* " ); /* Flawfinder: ignore */
+ Ncb.ncb_buffer = (unsigned char *)&Adapter;
+ Ncb.ncb_length = sizeof(Adapter);
+
+ uRetCode = Netbios( &Ncb );
+ if ( uRetCode == 0 )
+ {
+ memcpy(node_id,Adapter.adapt.adapter_address,6); /* Flawfinder: ignore */
+ retval = 1;
}
}
- free(pIfTable);
- return 0;
+ return retval;
}
#elif LL_DARWIN
diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt
index c1536e85de..08d35f9ae7 100644
--- a/indra/llplugin/slplugin/CMakeLists.txt
+++ b/indra/llplugin/slplugin/CMakeLists.txt
@@ -16,6 +16,7 @@ include_directories(
if (DARWIN)
include(CMakeFindFrameworks)
find_library(CARBON_LIBRARY Carbon)
+ find_library(COCOA_LIBRARY Cocoa)
endif (DARWIN)
@@ -25,6 +26,22 @@ set(SLPlugin_SOURCE_FILES
slplugin.cpp
)
+if (DARWIN)
+ list(APPEND SLPlugin_SOURCE_FILES
+ slplugin-objc.mm
+ )
+ list(APPEND SLPlugin_HEADER_FILES
+ slplugin-objc.h
+ )
+endif (DARWIN)
+
+set_source_files_properties(${SLPlugin_HEADER_FILES}
+ PROPERTIES HEADER_FILE_ONLY TRUE)
+
+if (SLPlugin_HEADER_FILES)
+ list(APPEND SLPlugin_SOURCE_FILES ${SLPlugin_HEADER_FILES})
+endif (SLPlugin_HEADER_FILES)
+
add_executable(SLPlugin
WIN32
MACOSX_BUNDLE
@@ -51,7 +68,7 @@ add_dependencies(SLPlugin
if (DARWIN)
# Mac version needs to link against Carbon
- target_link_libraries(SLPlugin ${CARBON_LIBRARY})
+ target_link_libraries(SLPlugin ${CARBON_LIBRARY} ${COCOA_LIBRARY})
# Make sure the app bundle has a Resources directory (it will get populated by viewer-manifest.py later)
add_custom_command(
TARGET SLPlugin POST_BUILD
diff --git a/indra/llplugin/slplugin/slplugin-objc.h b/indra/llplugin/slplugin/slplugin-objc.h
new file mode 100644
index 0000000000..4e55cb14cf
--- /dev/null
+++ b/indra/llplugin/slplugin/slplugin-objc.h
@@ -0,0 +1,40 @@
+/**
+ * @file slplugin-objc.h
+ * @brief Header file for slplugin-objc.mm.
+ *
+ * @cond
+ *
+ * $LicenseInfo:firstyear=2010&license=viewergpl$
+ *
+ * Copyright (c) 2010, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlife.com/developers/opensource/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlife.com/developers/opensource/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ *
+ * @endcond
+ */
+
+
+/* Defined in slplugin-objc.mm: */
+void setupCocoa();
+void createAutoReleasePool();
+void deleteAutoReleasePool();
diff --git a/indra/llplugin/slplugin/slplugin-objc.mm b/indra/llplugin/slplugin/slplugin-objc.mm
new file mode 100644
index 0000000000..823e1ebea6
--- /dev/null
+++ b/indra/llplugin/slplugin/slplugin-objc.mm
@@ -0,0 +1,87 @@
+/**
+ * @file slplugin-objc.mm
+ * @brief Objective-C++ file for use with the loader shell, so we can use a couple of Cocoa APIs.
+ *
+ * @cond
+ *
+ * $LicenseInfo:firstyear=2010&license=viewergpl$
+ *
+ * Copyright (c) 2010, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlife.com/developers/opensource/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlife.com/developers/opensource/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ *
+ * @endcond
+ */
+
+
+#include <AppKit/AppKit.h>
+
+#include "slplugin-objc.h"
+
+
+void setupCocoa()
+{
+ static bool inited = false;
+
+ if(!inited)
+ {
+ createAutoReleasePool();
+
+ // The following prevents the Cocoa command line parser from trying to open 'unknown' arguements as documents.
+ // ie. running './secondlife -set Language fr' would cause a pop-up saying can't open document 'fr'
+ // when init'ing the Cocoa App window.
+ [[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"NSTreatUnknownArgumentsAsOpen"];
+
+ // This is a bit of voodoo taken from the Apple sample code "CarbonCocoa_PictureCursor":
+ // http://developer.apple.com/samplecode/CarbonCocoa_PictureCursor/index.html
+
+ // Needed for Carbon based applications which call into Cocoa
+ NSApplicationLoad();
+
+ // Must first call [[[NSWindow alloc] init] release] to get the NSWindow machinery set up so that NSCursor can use a window to cache the cursor image
+ [[[NSWindow alloc] init] release];
+
+ deleteAutoReleasePool();
+
+ inited = true;
+ }
+}
+
+static NSAutoreleasePool *sPool = NULL;
+
+void createAutoReleasePool()
+{
+ if(!sPool)
+ {
+ sPool = [[NSAutoreleasePool alloc] init];
+ }
+}
+
+void deleteAutoReleasePool()
+{
+ if(sPool)
+ {
+ [sPool release];
+ sPool = NULL;
+ }
+}
diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp
index 7d6dde1a58..4c955e875a 100644
--- a/indra/llplugin/slplugin/slplugin.cpp
+++ b/indra/llplugin/slplugin/slplugin.cpp
@@ -44,6 +44,7 @@
#if LL_DARWIN
#include <Carbon/Carbon.h>
+ #include "slplugin-objc.h"
#endif
#if LL_DARWIN || LL_LINUX
@@ -229,10 +230,19 @@ int main(int argc, char **argv)
signal(SIGSYS, &crash_handler); // non-existent system call invoked
#endif
+#if LL_DARWIN
+ setupCocoa();
+ createAutoReleasePool();
+#endif
+
LLPluginProcessChild *plugin = new LLPluginProcessChild();
plugin->init(port);
+#if LL_DARWIN
+ deleteAutoReleasePool();
+#endif
+
LLTimer timer;
timer.start();
@@ -260,6 +270,9 @@ int main(int argc, char **argv)
#endif
while(!plugin->isDone())
{
+#if LL_DARWIN
+ createAutoReleasePool();
+#endif
timer.reset();
plugin->idle();
#if LL_DARWIN
@@ -377,6 +390,10 @@ int main(int argc, char **argv)
// exception handler such as QuickTime.
//checkExceptionHandler();
#endif
+
+#if LL_DARWIN
+ deleteAutoReleasePool();
+#endif
}
delete plugin;
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 9ff6a4e1a0..aba6c310f1 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -310,7 +310,8 @@ public:
void pushVisible(BOOL visible) { mLastVisible = mVisible; setVisible(visible); }
void popVisible() { setVisible(mLastVisible); }
-
+ BOOL getLastVisible() const { return mLastVisible; }
+
LLHandle<LLView> getHandle() { mHandle.bind(this); return mHandle; }
U32 getFollows() const { return mReshapeFlags; }
diff --git a/indra/llwindow/llwindowmacosx-objc.mm b/indra/llwindow/llwindowmacosx-objc.mm
index 3a822a93a6..01e04dbb07 100644
--- a/indra/llwindow/llwindowmacosx-objc.mm
+++ b/indra/llwindow/llwindowmacosx-objc.mm
@@ -64,6 +64,8 @@ void setupCocoa()
[[[NSWindow alloc] init] release];
[pool release];
+
+ inited = true;
}
}
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index d3cc5d6cb7..1eb3732e65 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3309,6 +3309,17 @@
<key>Value</key>
<real>1.0</real>
</map>
+ <key>FlycamBuildModeScale</key>
+ <map>
+ <key>Comment</key>
+ <string>Scale factor to apply to flycam movements when in build mode.</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>1.0</real>
+ </map>
<key>FlycamFeathering</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
index 62766f9229..1a3001c413 100644
--- a/indra/newview/gpu_table.txt
+++ b/indra/newview/gpu_table.txt
@@ -47,9 +47,11 @@ ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1
ATI ASUS EAH34xx .*ATI.*ASUS.*EAH34.* 1 1
ATI ASUS EAH36xx .*ATI.*ASUS.*EAH36.* 3 1
ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1
+ATI ASUS EAH43xx .*ATI.*ASUS.*EAH43.* 1 1
ATI ASUS EAH45xx .*ATI.*ASUS.*EAH45.* 1 1
ATI ASUS EAH48xx .*ATI.*ASUS.*EAH48.* 3 1
ATI ASUS EAH57xx .*ATI.*ASUS.*EAH57.* 3 1
+ATI ASUS EAH58xx .*ATI.*ASUS.*EAH58.* 3 1
ATI Radeon X1xxx .*ATI.*ASUS.*X1.* 3 1
ATI Radeon X7xx .*ATI.*ASUS.*X7.* 1 1
ATI Radeon X500 .*ATI.*Diamond X5.* 1 1
@@ -70,6 +72,7 @@ ATI M56 .*ATI.*M56.* 1 1
ATI M71 .*ATI.*M71.* 1 1
ATI M72 .*ATI.*M72.* 1 1
ATI M76 .*ATI.*M76.* 3 1
+ATI Mobility Radeon 4100 .*ATI.*Mobility *41.* 0 1
ATI Mobility Radeon 7xxx .*ATI.*Mobility *Radeon 7.* 0 1
ATI Mobility Radeon 8xxx .*ATI.*Mobility *Radeon 8.* 0 1
ATI Mobility Radeon 9800 .*ATI.*Mobility *98.* 0 1
@@ -81,6 +84,8 @@ ATI Mobility Radeon HD 2600 .*ATI.*Mobility *HD *26.* 3 1
ATI Mobility Radeon HD 3400 .*ATI.*Mobility *HD *34.* 1 1
ATI Mobility Radeon HD 3600 .*ATI.*Mobility *HD *36.* 3 1
ATI Mobility Radeon HD 3800 .*ATI.*Mobility *HD *38.* 3 1
+ATI Mobility Radeon HD 5400 .*ATI.*Mobility *HD *54.* 1 1
+ATI Mobility Radeon HD 5500 .*ATI.*Mobility *HD *55.* 1 1
ATI Mobility Radeon X1xxx .*ATI.*Mobility *X1.* 0 1
ATI Mobility Radeon X2xxx .*ATI.*Mobility *X2.* 0 1
ATI Mobility Radeon X3xx .*ATI.*Mobility *X3.* 1 1
@@ -102,13 +107,16 @@ ATI Radeon HD 4500 .*ATI.*Radeon HD *45.* 3 1
ATI Radeon HD 4600 .*ATI.*Radeon HD *46.* 3 1
ATI Radeon HD 4700 .*ATI.*Radeon HD *47.* 3 1
ATI Radeon HD 4800 .*ATI.*Radeon.*HD *48.* 3 1
+ATI Radeon HD 5400 .*ATI.*Radeon.*HD *54.* 3 1
+ATI Radeon HD 5500 .*ATI.*Radeon.*HD *55.* 3 1
ATI Radeon HD 5600 .*ATI.*Radeon.*HD *56.* 3 1
ATI Radeon HD 5700 .*ATI.*Radeon.*HD *57.* 3 1
ATI Radeon HD 5800 .*ATI.*Radeon.*HD *58.* 3 1
ATI Radeon HD 5900 .*ATI.*Radeon.*HD *59.* 3 1
ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
ATI Radeon 2100 .*ATI.*Radeon 21.* 0 1
-ATI Radeon 3100 .*ATI.*Radeon 31.* 1 1
+ATI Radeon 3000 .*ATI.*Radeon 30.* 0 1
+ATI Radeon 3100 .*ATI.*Radeon 31.* 0 1
ATI Radeon 7xxx .*ATI.*Radeon 7.* 0 1
ATI Radeon 8xxx .*ATI.*Radeon 8.* 0 1
ATI Radeon 9000 .*ATI.*Radeon 90.* 0 1
@@ -166,20 +174,39 @@ Intel Broadwater .*Intel.*Broadwater.* 0 0
Intel Brookdale .*Intel.*Brookdale.* 0 0
Intel Cantiga .*Intel.*Cantiga.* 0 0
Intel Eaglelake .*Intel.*Eaglelake.* 0 1
+Intel Graphics Media HD .*Intel(R) Graphics Media.*HD.* 0 1
+Intel HD Graphics .*Intel(R) HD Graphics.* 0 1
Intel Mobile 4 Series .*Intel.*Mobile.*4 Series.* 0 1
-Intel Media Graphics HD .*Intel.*Media.*Graphics.*HD.* 0 1
+Intel Media Graphics HD .*Intel Media Graphics HD.* 0 1
Intel Montara .*Intel.*Montara.* 0 0
Intel Pineview .*Intel.*Pineview.* 0 1
Intel Springdale .*Intel.*Springdale.* 0 0
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
-NVIDIA GT 120 .*NVIDIA.*GeForce.*GT.*12.* 2 1
-NVIDIA GT 130 .*NVIDIA.*GeForce.*GT.*13.* 3 1
-NVIDIA GTS 250 .*NVIDIA.*GeForce.*GTS.*25.* 3 1
-NVIDIA GTX 260 .*NVIDIA.*GeForce.*GTX.*26.* 3 1
-NVIDIA GTX 270 .*NVIDIA.*GeForce.*GTX.*27.* 3 1
-NVIDIA GTX 280 .*NVIDIA.*GeForce.*GTX.*28.* 3 1
-NVIDIA GTX 290 .*NVIDIA.*GeForce.*GTX.*29.* 3 1
+NVIDIA 310M .*NVIDIA GeForce 310M.* 0 1
+NVIDIA 310 .*NVIDIA GeForce 310.* 0 1
+NVIDIA 320M .*NVIDIA GeForce 320M.* 0 1
+NVIDIA G100M .*NVIDIA GeForce G *100M.* 0 1
+NVIDIA G102M .*NVIDIA GeForce G *102M.* 0 1
+NVIDIA G103M .*NVIDIA GeForce G *103M.* 0 1
+NVIDIA G105M .*NVIDIA GeForce G *105M.* 0 1
+NVIDIA G210M .*NVIDIA GeForce G210M.* 0 1
+NVIDIA GT 120 .*NVIDIA GeForce GT 12.* 0 1
+NVIDIA GT 130 .*NVIDIA GeForce GT 13.* 1 1
+NVIDIA GT 220 .*NVIDIA GeForce GT 22.* 0 1
+NVIDIA GT 230 .*NVIDIA GeForce GT 23.* 1 1
+NVIDIA GT 240 .*NVIDIA GeForce GT 24.* 1 1
+NVIDIA GT 320 .*NVIDIA GeForce GT 32.* 0 1
+NVIDIA GT 330M .*NVIDIA GeForce GT 330M.* 1 1
+NVIDIA GTS 240 .*NVIDIA GeForce GTS 24.* 1 1
+NVIDIA GTS 250 .*NVIDIA GeForce GTS 25.* 3 1
+NVIDIA GTS 360M .*NVIDIA GeForce GTS 360M.* 3 1
+NVIDIA GTX 260 .*NVIDIA GeForce GTX 26.* 3 1
+NVIDIA GTX 270 .*NVIDIA GeForce GTX 27.* 3 1
+NVIDIA GTX 280 .*NVIDIA GeForce GTX 28.* 3 1
+NVIDIA GTX 290 .*NVIDIA GeForce GTX 29.* 3 1
+NVIDIA GTX 470 .*NVIDIA GeForce GTX 47.* 3 1
+NVIDIA GTX 480 .*NVIDIA GeForce GTX 48.* 3 1
NVIDIA C51 .*NVIDIA.*C51.* 0 1
NVIDIA G72 .*NVIDIA.*G72.* 1 1
NVIDIA G73 .*NVIDIA.*G73.* 1 1
@@ -215,6 +242,8 @@ NVIDIA GeForce 8600M .*NVIDIA.*GeForce.*8600M.* 1 1
NVIDIA GeForce 8600 .*NVIDIA.*GeForce 86.* 3 1
NVIDIA GeForce 8700 .*NVIDIA.*GeForce 87.* 3 1
NVIDIA GeForce 8800 .*NVIDIA.*GeForce 88.* 3 1
+NVIDIA GeForce 9100 .*NVIDIA.*GeForce 9100.* 0 1
+NVIDIA GeForce 9200 .*NVIDIA.*GeForce 9200.* 0 1
NVIDIA GeForce 9300M .*NVIDIA.*GeForce 9300M.* 1 1
NVIDIA GeForce 9400M .*NVIDIA.*GeForce 9400M.* 1 1
NVIDIA GeForce 9500M .*NVIDIA.*GeForce 9500M.* 2 1
diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h
index 3b8f88733a..fc78fef6d0 100644
--- a/indra/newview/llagentcamera.h
+++ b/indra/newview/llagentcamera.h
@@ -82,6 +82,7 @@ public:
void init();
void cleanup();
void setAvatarObject(LLVOAvatarSelf* avatar);
+ bool isInitialized() { return mInitialized; }
private:
bool mInitialized;
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp
index 1fab5c7683..cbebc93306 100644
--- a/indra/newview/llcofwearables.cpp
+++ b/indra/newview/llcofwearables.cpp
@@ -165,6 +165,14 @@ public:
}
protected:
+ static void replaceWearable()
+ {
+ static LLButton* show_add_wearables_btn =
+ LLSideTray::getInstance()->getChild<LLButton>("show_add_wearables_btn");
+
+ show_add_wearables_btn->onCommit();
+ }
+
/*virtual*/ LLContextMenu* createMenu()
{
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
@@ -173,8 +181,7 @@ protected:
functor_t take_off = boost::bind(&LLAppearanceMgr::removeItemFromAvatar, LLAppearanceMgr::getInstance(), _1);
registrar.add("Clothing.TakeOff", boost::bind(handleMultiple, take_off, mUUIDs));
- registrar.add("Clothing.MoveUp", boost::bind(moveWearable, selected_id, false));
- registrar.add("Clothing.MoveDown", boost::bind(moveWearable, selected_id, true));
+ registrar.add("Clothing.Replace", boost::bind(replaceWearable));
registrar.add("Clothing.Edit", boost::bind(LLAgentWearables::editWearable, selected_id));
registrar.add("Clothing.Create", boost::bind(&CofClothingContextMenu::createNew, this, selected_id));
@@ -194,15 +201,7 @@ protected:
std::string param = data.asString();
LLUUID selected_id = mUUIDs.back();
- if ("move_up" == param)
- {
- return gAgentWearables.canMoveWearable(selected_id, false);
- }
- else if ("move_down" == param)
- {
- return gAgentWearables.canMoveWearable(selected_id, true);
- }
- else if ("take_off" == param)
+ if ("take_off" == param)
{
return get_is_item_worn(selected_id);
}
@@ -210,15 +209,12 @@ protected:
{
return mUUIDs.size() == 1 && gAgentWearables.isWearableModifiable(selected_id);
}
- return true;
- }
+ else if ("replace" == param)
+ {
+ return get_is_item_worn(selected_id) && mUUIDs.size() == 1;
+ }
- // We don't use LLAppearanceMgr::moveWearable() directly because
- // the item may be invalidated between setting the callback and calling it.
- static bool moveWearable(const LLUUID& item_id, bool closer_to_body)
- {
- LLViewerInventoryItem* item = gInventory.getItem(item_id);
- return LLAppearanceMgr::instance().moveWearable(item, closer_to_body);
+ return true;
}
};
diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp
index 51364594e4..ba7526ccd5 100644
--- a/indra/newview/llfloaterpay.cpp
+++ b/indra/newview/llfloaterpay.cpp
@@ -145,6 +145,9 @@ LLFloaterPay::~LLFloaterPay()
{
std::for_each(mCallbackData.begin(), mCallbackData.end(), DeletePointer());
// Name callbacks will be automatically disconnected since LLFloater is trackable
+
+ // In case this floater is currently waiting for a reply.
+ gMessageSystem->setHandlerFuncFast(_PREHASH_PayPriceReply, 0, 0);
}
BOOL LLFloaterPay::postBuild()
diff --git a/indra/newview/llfloaterscriptdebug.cpp b/indra/newview/llfloaterscriptdebug.cpp
index d6732a9d5c..4a82f3a11c 100644
--- a/indra/newview/llfloaterscriptdebug.cpp
+++ b/indra/newview/llfloaterscriptdebug.cpp
@@ -63,6 +63,8 @@ LLFloaterScriptDebug::LLFloaterScriptDebug(const LLSD& key)
// avoid resizing of the window to match
// the initial size of the tabbed-childs, whenever a tab is opened or closed
mAutoResize = FALSE;
+ // enabled autocous blocks controling focus via LLFloaterReg::showInstance
+ setAutoFocus(FALSE);
}
LLFloaterScriptDebug::~LLFloaterScriptDebug()
@@ -93,7 +95,8 @@ LLFloater* LLFloaterScriptDebug::addOutputWindow(const LLUUID &object_id)
return NULL;
LLFloater::setFloaterHost(host);
- LLFloater* floaterp = LLFloaterReg::showInstance("script_debug_output", object_id);
+ // prevent stealing focus, see EXT-8040
+ LLFloater* floaterp = LLFloaterReg::showInstance("script_debug_output", object_id, FALSE);
LLFloater::setFloaterHost(NULL);
return floaterp;
@@ -145,6 +148,9 @@ LLFloaterScriptDebugOutput::LLFloaterScriptDebugOutput(const LLSD& object_id)
mObjectID(object_id.asUUID())
{
//LLUICtrlFactory::getInstance()->buildFloater(this, "floater_script_debug_panel.xml");
+
+ // enabled autocous blocks controling focus via LLFloaterReg::showInstance
+ setAutoFocus(FALSE);
}
BOOL LLFloaterScriptDebugOutput::postBuild()
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index f241d18a21..87c5a830e9 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -1868,7 +1868,8 @@ BOOL LLFolderView::handleRightMouseDown( S32 x, S32 y, MASK mask )
LLView::child_list_t::const_iterator menu_itor;
for (menu_itor = list->begin(); menu_itor != list->end(); ++menu_itor)
{
- (*menu_itor)->setVisible(TRUE);
+ (*menu_itor)->setVisible(FALSE);
+ (*menu_itor)->pushVisible(TRUE);
(*menu_itor)->setEnabled(TRUE);
}
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index ddfcd68e38..6d3998bb96 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -1898,8 +1898,6 @@ BOOL LLIncomingCallDialog::postBuild()
// check to see if this is an Avaline call
bool is_avatar = LLVoiceClient::getInstance()->isParticipantAvatar(session_id);
- childSetVisible("Start IM", is_avatar); // no IM for avaline
-
if (caller_name == "anonymous")
{
caller_name = getString("anonymous");
@@ -1931,6 +1929,10 @@ BOOL LLIncomingCallDialog::postBuild()
mLifetimeTimer.stop();
}
+ //it's not possible to connect to existing Ad-Hoc chat through incoming ad-hoc call
+ //and no IM for avaline
+ childSetVisible("Start IM", is_avatar && notify_box_type != "VoiceInviteAdHoc");
+
setCanDrag(FALSE);
return TRUE;
diff --git a/indra/newview/llinspecttoast.cpp b/indra/newview/llinspecttoast.cpp
index 3ca8fa2f56..9a10a7ede8 100644
--- a/indra/newview/llinspecttoast.cpp
+++ b/indra/newview/llinspecttoast.cpp
@@ -55,7 +55,7 @@ public:
private:
void onToastDestroy(LLToast * toast);
-private:
+ boost::signals2::scoped_connection mConnection;
LLPanel* mPanel;
LLScreenChannel* mScreenChannel;
};
@@ -88,7 +88,7 @@ void LLInspectToast::onOpen(const LLSD& notification_id)
llwarns << "Could not get requested toast from screen channel." << llendl;
return;
}
- toast->setOnToastDestroyedCallback(boost::bind(&LLInspectToast::onToastDestroy, this, _1));
+ mConnection = toast->setOnToastDestroyedCallback(boost::bind(&LLInspectToast::onToastDestroy, this, _1));
LLPanel * panel = toast->getPanel();
panel->setVisible(TRUE);
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index bc28140b75..2cc61a69c1 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -452,13 +452,15 @@ void hide_context_entries(LLMenuGL& menu,
// if the first element is a separator, it will not be shown.
BOOL is_previous_entry_separator = TRUE;
- LLView::child_list_t::const_iterator itor;
- for (itor = list->begin(); itor != list->end(); ++itor)
+ for (LLView::child_list_t::const_iterator itor = list->begin();
+ itor != list->end();
+ ++itor)
{
- std::string name = (*itor)->getName();
+ LLView *menu_item = (*itor);
+ std::string name = menu_item->getName();
// descend into split menus:
- LLMenuItemBranchGL* branchp = dynamic_cast<LLMenuItemBranchGL*>(*itor);
+ LLMenuItemBranchGL* branchp = dynamic_cast<LLMenuItemBranchGL*>(menu_item);
if ((name == "More") && branchp)
{
hide_context_entries(*branchp->getBranch(), entries_to_show, disabled_entries);
@@ -479,7 +481,7 @@ void hide_context_entries(LLMenuGL& menu,
// between two separators).
if (found)
{
- const BOOL is_entry_separator = (dynamic_cast<LLMenuItemSeparatorGL *>(*itor) != NULL);
+ const BOOL is_entry_separator = (dynamic_cast<LLMenuItemSeparatorGL *>(menu_item) != NULL);
if (is_entry_separator && is_previous_entry_separator)
found = false;
is_previous_entry_separator = is_entry_separator;
@@ -487,16 +489,23 @@ void hide_context_entries(LLMenuGL& menu,
if (!found)
{
- (*itor)->setVisible(FALSE);
+ if (!menu_item->getLastVisible())
+ {
+ menu_item->setVisible(FALSE);
+ }
+ menu_item->setEnabled(FALSE);
}
else
{
- (*itor)->setVisible(TRUE);
+ menu_item->setVisible(TRUE);
+ // A bit of a hack so we can remember that some UI element explicitly set this to be visible
+ // so that some other UI element from multi-select doesn't later set this invisible.
+ menu_item->pushVisible(TRUE);
for (itor2 = disabled_entries.begin(); itor2 != disabled_entries.end(); ++itor2)
{
if (*itor2 == name)
{
- (*itor)->setEnabled(FALSE);
+ menu_item->setEnabled(FALSE);
}
}
}
@@ -3730,6 +3739,9 @@ void LLGestureBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
disabled_items.push_back(std::string("Share"));
}
+ addOpenRightClickMenuOption(items);
+ items.push_back(std::string("Properties"));
+
getClipboardEntries(true, items, disabled_items, flags);
items.push_back(std::string("Gesture Separator"));
@@ -4379,7 +4391,6 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
can_open = FALSE;
}
-
items.push_back(std::string("Share"));
if (!canShare())
{
@@ -4390,6 +4401,11 @@ void LLWearableBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
addOpenRightClickMenuOption(items);
}
+ else
+ {
+ disabled_items.push_back(std::string("Open"));
+ disabled_items.push_back(std::string("Open Original"));
+ }
items.push_back(std::string("Properties"));
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 37088064c6..7463658003 100644
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -245,6 +245,47 @@ BOOL get_is_item_worn(const LLUUID& id)
return FALSE;
}
+BOOL get_can_item_be_worn(const LLUUID& id)
+{
+ const LLViewerInventoryItem* item = gInventory.getItem(id);
+ if (!item)
+ return FALSE;
+
+ switch(item->getType())
+ {
+ case LLAssetType::AT_OBJECT:
+ {
+ if (isAgentAvatarValid() && gAgentAvatarp->isWearingAttachment(item->getLinkedUUID()))
+ {
+ // Already being worn
+ return FALSE;
+ }
+ else
+ {
+ // Not being worn yet.
+ return TRUE;
+ }
+ break;
+ }
+ case LLAssetType::AT_BODYPART:
+ case LLAssetType::AT_CLOTHING:
+ if(gAgentWearables.isWearingItem(item->getLinkedUUID()))
+ {
+ // Already being worn
+ return FALSE;
+ }
+ else
+ {
+ // Not being worn yet.
+ return TRUE;
+ }
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}
+
BOOL get_is_item_removable(const LLInventoryModel* model, const LLUUID& id)
{
if (!model)
@@ -282,7 +323,9 @@ BOOL get_is_item_removable(const LLInventoryModel* model, const LLUUID& id)
BOOL get_is_category_removable(const LLInventoryModel* model, const LLUUID& id)
{
- // This function doesn't check the folder's children.
+ // NOTE: This function doesn't check the folder's children.
+ // See LLFolderBridge::isItemRemovable for a function that does
+ // consider the children.
if (!model)
{
@@ -296,17 +339,29 @@ BOOL get_is_category_removable(const LLInventoryModel* model, const LLUUID& id)
if (!isAgentAvatarValid()) return FALSE;
- LLInventoryCategory* category = model->getCategory(id);
+ const LLInventoryCategory* category = model->getCategory(id);
if (!category)
{
return FALSE;
}
- if (LLFolderType::lookupIsProtectedType(category->getPreferredType()))
+ const LLFolderType::EType folder_type = category->getPreferredType();
+
+ if (LLFolderType::lookupIsProtectedType(folder_type))
{
return FALSE;
}
+ // Can't delete the outfit that is currently being worn.
+ if (folder_type == LLFolderType::FT_OUTFIT)
+ {
+ const LLViewerInventoryItem *base_outfit_link = LLAppearanceMgr::instance().getBaseOutfitLink();
+ if (base_outfit_link && (category == base_outfit_link->getLinkedCategory()))
+ {
+ return FALSE;
+ }
+ }
+
return TRUE;
}
diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h
index 6619a50d28..1c3f82c531 100644
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -46,6 +46,9 @@
// Is this item or its baseitem is worn, attached, etc...
BOOL get_is_item_worn(const LLUUID& id);
+// Could this item be worn (correct type + not already being worn)
+BOOL get_can_item_be_worn(const LLUUID& id);
+
BOOL get_is_item_removable(const LLInventoryModel* model, const LLUUID& id);
BOOL get_is_category_removable(const LLInventoryModel* model, const LLUUID& id);
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index 71604291e1..06f490e8e3 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -168,7 +168,9 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia
char hashed_mac_string[MD5HEX_STR_SIZE]; /* Flawfinder: ignore */
LLMD5 hashed_mac;
unsigned char MACAddress[MAC_ADDRESS_BYTES];
- LLUUID::getNodeID(MACAddress);
+ if(LLUUID::getNodeID(MACAddress) == 0) {
+ llerrs << "Failed to get node id; cannot uniquely identify this machine." << llendl;
+ }
hashed_mac.update( MACAddress, MAC_ADDRESS_BYTES );
hashed_mac.finalize();
hashed_mac.hex_digest(hashed_mac_string);
diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp
index afca9daa67..6ae4a5e5e4 100644
--- a/indra/newview/llmoveview.cpp
+++ b/indra/newview/llmoveview.cpp
@@ -144,18 +144,6 @@ BOOL LLFloaterMove::postBuild()
return TRUE;
}
-// virtual
-void LLFloaterMove::setEnabled(BOOL enabled)
-{
- //we need to enable/disable only buttons, EXT-1061.
-
- // is called before postBuild() - use findChild here.
- LLPanel *panel_actions = findChild<LLPanel>("panel_actions");
- if (panel_actions) panel_actions->setEnabled(enabled);
-
- showModeButtons(enabled);
-}
-
// *NOTE: we assume that setVisible() is called on floater close.
// virtual
void LLFloaterMove::setVisible(BOOL visible)
@@ -406,7 +394,7 @@ void LLFloaterMove::initMovementMode()
if (isAgentAvatarValid())
{
- setEnabled(!gAgentAvatarp->isSitting());
+ showModeButtons(!gAgentAvatarp->isSitting());
}
}
@@ -476,8 +464,7 @@ void LLFloaterMove::sUpdateFlyingStatus()
void LLFloaterMove::showModeButtons(BOOL bShow)
{
- // is called from setEnabled so can be called before postBuild(), check mModeActionsPanel agains to NULL
- if (NULL == mModeActionsPanel || mModeActionsPanel->getVisible() == bShow)
+ if (mModeActionsPanel->getVisible() == bShow)
return;
mModeActionsPanel->setVisible(bShow);
}
@@ -488,12 +475,14 @@ void LLFloaterMove::enableInstance(BOOL bEnable)
LLFloaterMove* instance = LLFloaterReg::findTypedInstance<LLFloaterMove>("moveview");
if (instance)
{
- instance->setEnabled(bEnable);
-
if (gAgent.getFlying())
{
instance->showModeButtons(FALSE);
}
+ else
+ {
+ instance->showModeButtons(bEnable);
+ }
}
}
diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h
index fcf643f050..d463861188 100644
--- a/indra/newview/llmoveview.h
+++ b/indra/newview/llmoveview.h
@@ -55,7 +55,6 @@ private:
public:
/*virtual*/ BOOL postBuild();
- /*virtual*/ void setEnabled(BOOL enabled);
/*virtual*/ void setVisible(BOOL visible);
static F32 getYawRate(F32 time);
static void setFlyingMode(BOOL fly);
diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp
index 6c2566813f..075cfa0543 100644
--- a/indra/newview/lloutfitslist.cpp
+++ b/indra/newview/lloutfitslist.cpp
@@ -88,6 +88,8 @@ public:
registrar.add("Gear.Delete", boost::bind(&LLOutfitListGearMenu::onDelete, this));
registrar.add("Gear.Create", boost::bind(&LLOutfitListGearMenu::onCreate, this, _2));
+ registrar.add("Gear.WearAdd", boost::bind(&LLOutfitListGearMenu::onAdd, this));
+
enable_registrar.add("Gear.OnEnable", boost::bind(&LLOutfitsList::isActionEnabled, mOutfitList, _2));
enable_registrar.add("Gear.OnVisible", boost::bind(&LLOutfitListGearMenu::onVisible, this, _2));
@@ -146,6 +148,16 @@ private:
}
}
+ void onAdd()
+ {
+ const LLUUID& selected_id = getSelectedOutfitID();
+
+ if (selected_id.notNull())
+ {
+ LLAppearanceMgr::getInstance()->addCategoryToCurrentOutfit(selected_id);
+ }
+ }
+
void onTakeOff()
{
// Take off selected items if there are any
@@ -648,6 +660,17 @@ bool LLOutfitsList::isActionEnabled(const LLSD& userdata)
&& LLAppearanceMgr::getInstance()->getBaseOutfitUUID() == mSelectedOutfitUUID )
|| hasWornItemSelected();
}
+
+ if (command_name == "wear_add")
+ {
+ if (gAgentWearables.isCOFChangeInProgress())
+ {
+ return false;
+ }
+
+ return LLAppearanceMgr::getCanAddToCOF(mSelectedOutfitUUID);
+ }
+
return false;
}
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 0ff3bb30dc..323a07a9ab 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -948,7 +948,6 @@ void LLPanelEditWearable::updatePanelPickerControls(LLWearableType::EType type)
return;
bool is_modifiable = false;
- bool is_complete = false;
bool is_copyable = false;
if(mWearableItem)
@@ -956,17 +955,16 @@ void LLPanelEditWearable::updatePanelPickerControls(LLWearableType::EType type)
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)
+ if (is_modifiable)
{
// 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)
+ if (!is_modifiable || !is_copyable)
{
// Disable controls
for_each_picker_ctrl_entry <LLColorSwatchCtrl> (panel, type, boost::bind(set_enabled_color_swatch_ctrl, false, _1, _2));
@@ -1007,6 +1005,7 @@ void LLPanelEditWearable::revertChanges()
mWearablePtr->revertValues();
mNameEditor->setText(mWearablePtr->getName());
updatePanelPickerControls(mWearablePtr->getType());
+ gAgentAvatarp->wearableUpdated(mWearablePtr->getType(), FALSE);
}
void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show)
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index 1544717873..ffd879dfd7 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -661,10 +661,13 @@ void LLPanelOutfitEdit::onInventorySelectionChange()
getSelectedItemsUUID(selected_items);
if (selected_items.empty())
{
+ mPlusBtn->setEnabled(false);
return;
}
- uuid_vec_t::iterator worn_item = std::find_if(selected_items.begin(), selected_items.end(), boost::bind(&get_is_item_worn, _1));
- bool can_add = ( worn_item == selected_items.end() );
+
+ // If any of the selected items are not wearable (due to already being worn OR being of the wrong type), disable the add button.
+ uuid_vec_t::iterator unwearable_item = std::find_if(selected_items.begin(), selected_items.end(), !boost::bind(& get_can_item_be_worn, _1));
+ bool can_add = ( unwearable_item == selected_items.end() );
mPlusBtn->setEnabled(can_add);
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index ea5796d766..951323551c 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -405,6 +405,8 @@ void LLSidepanelAppearance::refreshCurrentOutfitName(const std::string& name)
//static
void LLSidepanelAppearance::editWearable(LLWearable *wearable, LLView *data)
{
+ LLSideTray::getInstance()->showPanel("sidepanel_appearance");
+
LLSidepanelAppearance *panel = dynamic_cast<LLSidepanelAppearance*>(data);
if (panel)
{
diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp
index 240a539f2e..79d8fc7df9 100644
--- a/indra/newview/llviewerjoystick.cpp
+++ b/indra/newview/llviewerjoystick.cpp
@@ -57,9 +57,6 @@
#define RY_I 5
#define RZ_I 3
-// flycam translations in build mode should be reduced
-const F32 BUILDMODE_FLYCAM_T_SCALE = 3.f;
-
// minimum time after setting away state before coming back
const F32 MIN_AFK_TIME = 2.f;
@@ -924,14 +921,15 @@ void LLViewerJoystick::moveFlycam(bool reset)
cur_delta[i] = llmin(cur_delta[i]+dead_zone[i], 0.f);
}
- // we need smaller camera movements in build mode
+ // We may want to scale camera movements up or down in build mode.
// NOTE: this needs to remain after the deadzone calculation, otherwise
// we have issues with flycam "jumping" when the build dialog is opened/closed -Nyx
if (in_build_mode)
{
if (i == X_I || i == Y_I || i == Z_I)
{
- cur_delta[i] /= BUILDMODE_FLYCAM_T_SCALE;
+ static LLCachedControl<F32> build_mode_scale(gSavedSettings,"FlycamBuildModeScale");
+ cur_delta[i] *= build_mode_scale;
}
}
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index d7190f26a3..34e30b3ccd 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -763,7 +763,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)
}
// Sort the static instance list using our interest criteria
- std::stable_sort(sViewerMediaImplList.begin(), sViewerMediaImplList.end(), priorityComparitor);
+ sViewerMediaImplList.sort(priorityComparitor);
// Go through the list again and adjust according to priority.
iter = sViewerMediaImplList.begin();
diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h
index 8626f4469e..ef9c07c6c7 100644
--- a/indra/newview/llviewermedia.h
+++ b/indra/newview/llviewermedia.h
@@ -84,7 +84,7 @@ public:
static const char* SHOW_MEDIA_WITHIN_PARCEL_SETTING;
static const char* SHOW_MEDIA_OUTSIDE_PARCEL_SETTING;
- typedef std::vector<LLViewerMediaImpl*> impl_list;
+ typedef std::list<LLViewerMediaImpl*> impl_list;
typedef std::map<LLUUID, LLViewerMediaImpl*> impl_id_map;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index ee89680fea..9027caa4ce 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -4928,6 +4928,11 @@ void LLViewerObject::setIncludeInSearch(bool include_in_search)
void LLViewerObject::setRegion(LLViewerRegion *regionp)
{
+ if (!regionp)
+ {
+ llwarns << "viewer object set region to NULL" << llendl;
+ }
+
mLatestRecvPacketID = 0;
mRegionp = regionp;
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 752aeaaab0..fc94fbafac 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -894,10 +894,10 @@ void LLViewerObjectList::removeDrawable(LLDrawable* drawablep)
BOOL LLViewerObjectList::killObject(LLViewerObject *objectp)
{
- // Don't ever kill gAgentAvatarp, just mark it as null region instead.
+ // Don't ever kill gAgentAvatarp, just force it to the agent's region
if (objectp == gAgentAvatarp)
{
- objectp->setRegion(NULL);
+ objectp->setRegion(gAgent.getRegion());
return FALSE;
}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index c9c0b72528..6346ac320b 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2329,7 +2329,9 @@ void LLViewerWindow::handleScrollWheel(S32 clicks)
// Zoom the camera in and out behavior
- if(top_ctrl == 0 && getWorldViewRectScaled().pointInRect(mCurrentMousePoint.mX, mCurrentMousePoint.mY) )
+ if(top_ctrl == 0
+ && getWorldViewRectScaled().pointInRect(mCurrentMousePoint.mX, mCurrentMousePoint.mY)
+ && gAgentCamera.isInitialized())
gAgentCamera.handleScrollWheel(clicks);
return;
diff --git a/indra/newview/skins/default/xui/da/floater_about_land.xml b/indra/newview/skins/default/xui/da/floater_about_land.xml
index 053fe4d9d9..a096a87928 100644
--- a/indra/newview/skins/default/xui/da/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/da/floater_about_land.xml
@@ -219,7 +219,7 @@ Gå til &apos;Verden&apos; &gt; &apos;Om land&apos; eller vælg en anden parcel
Region objekt bonus faktor: [BONUS]
</text>
<text name="Simulator primitive usage:">
- Prim forbrug:
+ Prim benyttelse:
</text>
<text name="objects_available">
[COUNT] ud af [MAX] ([AVAILABLE] ledige)
diff --git a/indra/newview/skins/default/xui/da/floater_map.xml b/indra/newview/skins/default/xui/da/floater_map.xml
index cd6c03058b..c331908c3c 100644
--- a/indra/newview/skins/default/xui/da/floater_map.xml
+++ b/indra/newview/skins/default/xui/da/floater_map.xml
@@ -24,6 +24,9 @@
<floater.string name="mini_map_northwest">
NV
</floater.string>
+ <floater.string name="mini_map_caption">
+ MINIKORT
+ </floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
index f49fd8c99a..a26f2f95c9 100644
--- a/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
@@ -24,9 +24,6 @@
<floater.string name="Title">
Bevægelse: [NAME]
</floater.string>
- <text name="name_text">
- Navn:
- </text>
<text name="desc_label">
Beskrivelse:
</text>
@@ -53,12 +50,15 @@
<button label="Op" name="up_btn"/>
<button label="Ned" name="down_btn"/>
<button label="Fjern" name="delete_btn"/>
+ <text name="options_text">
+ (valg)
+ </text>
<radio_group name="animation_trigger_type">
<radio_item label="Start" name="start"/>
<radio_item label="Stop" name="stop"/>
</radio_group>
<check_box label="Indtil animation er færdig" name="wait_anim_check"/>
- <check_box label="tid i sekunder" name="wait_time_check"/>
+ <check_box label="tid i sekunder:" name="wait_time_check"/>
<text name="help_label">
Alle trin vil ske samtidigt, medmindre du tilføjer vente trin.
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_snapshot.xml b/indra/newview/skins/default/xui/da/floater_snapshot.xml
index a62bd60757..926c2429ac 100644
--- a/indra/newview/skins/default/xui/da/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/da/floater_snapshot.xml
@@ -1,23 +1,75 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="Foto">
+<floater name="Snapshot" title="SE FOTO">
<floater.string name="unknown">
ukendt
</floater.string>
+ <radio_group label="foto type" name="snapshot_type_radio">
+ <radio_item label="Email" name="postcard"/>
+ <radio_item label="Min beholdning (L$[AMOUNT])" name="texture"/>
+ <radio_item label="Gem til min computer" name="local"/>
+ </radio_group>
+ <text name="file_size_label">
+ [SIZE] KB
+ </text>
<button label="Tag nyt foto" name="new_snapshot_btn"/>
- <line_editor label="Beskrivelse" name="description"/>
- <panel name="panel_snapshot_main">
- <button label="Del foto" name="share"/>
- <button label="Gem foto" name="save"/>
- <button label="Sæt til profilbillede" name="set_profile_pic"/>
- </panel>
- <panel name="panel_snapshot_share">
- <button label="Del på internettet" name="share_to_web"/>
- <button label="E-mail foto" name="share_to_email"/>
- <button label="Tilbage" name="cancel_share"/>
- </panel>
- <panel name="panel_snapshot_save">
- <button label="Gem til min beholdning" name="save_to_inventory"/>
- <button label="Gem til min computer" name="save_to_computer"/>
- <button label="Tilbage" name="cancel_save"/>
- </panel>
+ <button label="Send" name="send_btn"/>
+ <button label="Gem (L$[AMOUNT])" name="upload_btn"/>
+ <flyout_button label="Gem" name="save_btn" tool_tip="Gem billede til en fil">
+ <flyout_button.item label="Gem" name="save_item"/>
+ <flyout_button.item label="Gem som..." name="saveas_item"/>
+ </flyout_button>
+ <button label="Mere" name="more_btn" tool_tip="Avancerede valg"/>
+ <button label="Mindre" name="less_btn" tool_tip="Avanceret opsætning"/>
+ <button label="Annullér" name="discard_btn"/>
+ <text name="type_label2">
+ Størrelse
+ </text>
+ <text name="format_label">
+ Format
+ </text>
+ <combo_box label="Opløsning" name="postcard_size_combo">
+ <combo_box.item label="Nuværende vindue" 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="Brugerdefineret" name="Custom"/>
+ </combo_box>
+ <combo_box label="Opløsning" name="texture_size_combo">
+ <combo_box.item label="Nuværende vindue" name="CurrentWindow"/>
+ <combo_box.item label="Lille (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Medium (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Stor (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Brugeropsat" name="Custom"/>
+ </combo_box>
+ <combo_box label="Opløsning" name="local_size_combo">
+ <combo_box.item label="Nuværende vindue" 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="Brugeropsat" 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="Bredde" name="snapshot_width"/>
+ <spinner label="Højde" name="snapshot_height"/>
+ <check_box label="Fasthold proportioner" name="keep_aspect_check"/>
+ <slider label="Billedkvalitet" name="image_quality_slider"/>
+ <text name="layer_type_label">
+ Indfang:
+ </text>
+ <combo_box label="Billedlag" name="layer_types">
+ <combo_box.item label="Farver" name="Colors"/>
+ <combo_box.item label="Dybde" name="Depth"/>
+ </combo_box>
+ <check_box label="Snitflade" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
+ <check_box label="Behold åben efter gem" name="keep_open_check"/>
+ <check_box label="Frys billede (fuld skærm)" name="freeze_frame_check"/>
+ <check_box label="Auto-optegn" name="auto_snapshot_check"/>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_voice_effect.xml b/indra/newview/skins/default/xui/da/floater_voice_effect.xml
index 543224c6f6..86ad251103 100644
--- a/indra/newview/skins/default/xui/da/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/da/floater_voice_effect.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater label="Steder" name="voice_effects" title="SE STEMME &quot;MORPH&quot;">
+<floater label="Steder" name="voice_effects" title="STEMME MORPH">
<string name="no_voice_effect">
(Ingen stemme &quot;morph&quot;)
</string>
@@ -12,18 +12,19 @@
<string name="new_voice_effect">
(Ny!)
</string>
+ <text name="preview_text">
+ For at se
+ </text>
<text name="status_text">
- For at se stemme &quot;morph&quot; effekter, skal du klikke på &quot;optag&quot; kanppen for at optage en stump stemme, derefter klik på en stemme &quot;morph&quot; på listen for at høre hvordan det vil lyde.
-
-For at vende tilbage til lokal stemme-chat luk dette vindue.
+ Optag en prøve, klik derefter på en stemme for at høre hvordan det vil lyde.
</text>
- <button label="Optage prøve" name="record_btn" tool_tip="Optag en stemmeprøve."/>
+ <button label="Optag" name="record_btn" tool_tip="Optag en stemmeprøve."/>
<button label="Stop" name="record_stop_btn"/>
<text name="voice_morphing_link">
- [[URL] Hent stemme &quot;morph&quot;]
+ [[URL] Abonnér nu]
</text>
<scroll_list name="voice_effect_list" tool_tip="Optag en prøve med din stemme og klik på en effekt for at teste.">
- <scroll_list.columns label="Stemme &quot;morph&quot;" name="name"/>
+ <scroll_list.columns label="Stemme navn" name="name"/>
<scroll_list.columns label="Udløber" name="expires"/>
</scroll_list>
</floater>
diff --git a/indra/newview/skins/default/xui/da/menu_attachment_self.xml b/indra/newview/skins/default/xui/da/menu_attachment_self.xml
index bf52e5d57f..e70b7ce33d 100644
--- a/indra/newview/skins/default/xui/da/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/da/menu_attachment_self.xml
@@ -3,11 +3,13 @@
<menu_item_call label="Berør" name="Attachment Object Touch"/>
<menu_item_call label="Redigér" name="Edit..."/>
<menu_item_call label="Tag af" name="Detach"/>
- <menu_item_call label="Smid" name="Drop"/>
<menu_item_call label="Stå op" name="Stand Up"/>
<menu_item_call label="Skift sæt" name="Change Outfit"/>
+ <menu_item_call label="Redigér mit sæt" name="Edit Outfit"/>
+ <menu_item_call label="Redigér min figur" name="Edit My Shape"/>
<menu_item_call label="Venner" name="Friends..."/>
<menu_item_call label="Grupper" name="Groups..."/>
<menu_item_call label="Profil" name="Profile..."/>
<menu_item_call label="Debug teksturer" name="Debug..."/>
+ <menu_item_call label="Smid" name="Drop"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_outfit_tab.xml b/indra/newview/skins/default/xui/da/menu_outfit_tab.xml
index 35bb1ae685..d6a6f2724f 100644
--- a/indra/newview/skins/default/xui/da/menu_outfit_tab.xml
+++ b/indra/newview/skins/default/xui/da/menu_outfit_tab.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Tag på - Tilføj til nuværende sæt" name="wear_add"/>
<menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/>
<menu_item_call label="Redigér sæt" name="edit"/>
- <menu_item_call label="Omdøb" name="rename"/>
+ <menu_item_call label="Omdøb sæt" name="rename"/>
<menu_item_call label="Slet sæt" name="delete"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_topinfobar.xml b/indra/newview/skins/default/xui/da/menu_topinfobar.xml
new file mode 100644
index 0000000000..08d1c25d6f
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_topinfobar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_topinfobar">
+ <menu_item_check label="Vis koordinater" name="Show Coordinates"/>
+ <menu_item_check label="Vis egenskaber for parcel" name="Show Parcel Properties"/>
+ <menu_item_call label="Landemærke" name="Landmark"/>
+ <menu_item_call label="Kopi" name="Copy"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml
index 6449a00f2f..0d36a08652 100644
--- a/indra/newview/skins/default/xui/da/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/da/menu_viewer.xml
@@ -175,6 +175,7 @@
<menu_item_check label="Søg" name="Search"/>
<menu_item_call label="Frigør taster" name="Release Keys"/>
<menu_item_call label="Sæt UI størrelse til standard" name="Set UI Size to Default"/>
+ <menu_item_check label="Vis avanceret menu" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_check label="Løb altid" name="Always Run"/>
<menu_item_check label="Flyv" name="Fly"/>
<menu_item_call label="Luk vindue" name="Close Window"/>
diff --git a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml
index 6ec5e50e5b..6a84c518ee 100644
--- a/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/da/menu_wearable_list_item.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Tag på" name="wear"/>
+ <menu_item_call label="Erstat" name="wear"/>
<menu_item_call label="Tilføj" name="wear_add"/>
<menu_item_call label="Tag af" name="take_off_or_detach"/>
<menu_item_call label="Tag af" name="detach"/>
diff --git a/indra/newview/skins/default/xui/da/menu_wearing_gear.xml b/indra/newview/skins/default/xui/da/menu_wearing_gear.xml
new file mode 100644
index 0000000000..39f99ad6aa
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_wearing_gear.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Wearing">
+ <menu_item_call label="Redigér sæt" name="edit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/da/menu_wearing_tab.xml b/indra/newview/skins/default/xui/da/menu_wearing_tab.xml
new file mode 100644
index 0000000000..878c8bb04d
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_wearing_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Wearing">
+ <menu_item_call label="Redigér sæt" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml
index 76cf73e1e6..5ae329033d 100644
--- a/indra/newview/skins/default/xui/da/notifications.xml
+++ b/indra/newview/skins/default/xui/da/notifications.xml
@@ -288,8 +288,7 @@ Gå til [_URL] for information om køb af L$?
Kunne ikke &apos;forstå&apos; filen: [FILE]
</notification>
<notification name="CorruptedProtectedDataStore">
- Vi kan ikke læse dine beskyttede data så de nulstilles.
- Dette kan ske hvis du ændrer din netværksopsætning.
+ Vi kan ikke udfylde dit brugernavn og password. Dette kan ske hvis du ændrer netværksopsætning
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="DoNotSupportBulkAnimationUpload">
diff --git a/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml
index de764d8025..d2ade170d1 100644
--- a/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_body_parts_list_item.xml
@@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Du har ikke rettigheder til at redigere"/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Rediger denne figur"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml
index de764d8025..88b0636e9e 100644
--- a/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_clothing_list_item.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
+ <button name="btn_delete" tool_tip="Fjern fra sæt"/>
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Du har ikke rettigheder til at redigere"/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Redigere denne ting der kan tages på"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml
index 91d90a5660..700ad4fa14 100644
--- a/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_deletable_wearable_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="deletable_wearable_item">
+ <button name="btn_delete" tool_tip="Fjern fra sæt"/>
<text name="item_name" value="..."/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml
index 6af84de0c7..dd8d86cfbf 100644
--- a/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_dummy_clothing_list_item.xml
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="dummy_clothing_item">
<text name="item_name" value="..."/>
+ <panel name="btn_add_panel">
+ <button name="btn_add" tool_tip="Tilføj flere genstande af denne type"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_edit_wearable.xml b/indra/newview/skins/default/xui/da/panel_edit_wearable.xml
index f927f918a1..604c166ef0 100644
--- a/indra/newview/skins/default/xui/da/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/da/panel_edit_wearable.xml
@@ -90,6 +90,7 @@
<string name="tattoo_desc_text">
Tatovering:
</string>
+ <labeled_back_button label="Gem" name="back_btn" tool_tip="Tilbage til redigering"/>
<text name="edit_wearable_title" value="Redigerer kropsbygning"/>
<panel label="Trøje" name="wearable_type_panel">
<text name="description_text" value="Kropsbygning:"/>
@@ -102,6 +103,6 @@
</panel>
<panel name="button_panel">
<button label="Gem som" name="save_as_button"/>
- <button label="Vend tilbage" name="revert_button"/>
+ <button label="Annullér ændringer" name="revert_button"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_general.xml b/indra/newview/skins/default/xui/da/panel_group_general.xml
index 3079a23d20..eccddb55c8 100644
--- a/indra/newview/skins/default/xui/da/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_general.xml
@@ -46,7 +46,7 @@
<spinner label="L$" left_delta="130" name="spin_enrollment_fee" tool_tip="Nye medlemmer skal betale dette gebyr for at tilmelde sig gruppen, når &quot;Tilmeldingsgebyr&quot; er valgt." width="60"/>
<combo_box name="group_mature_check" tool_tip="Angiver om din gruppes information anses som &apos;mature&apos;." width="150">
<combo_item name="select_mature">
- - Vælg Mature -
+ - Vælg indholdsrating -
</combo_item>
<combo_box.item label="Mature indhold" name="mature"/>
<combo_box.item label="PG indhold" name="pg"/>
diff --git a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml
index a02c9ba399..3890f07324 100644
--- a/indra/newview/skins/default/xui/da/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfit_edit.xml
@@ -13,7 +13,9 @@
<string name="Filter.All" value="Alle"/>
<string name="Filter.Clothes/Body" value="Tøj/Krop"/>
<string name="Filter.Objects" value="Objekter"/>
- <string name="Filter.Custom" value="Tilpasset filter"/>
+ <string name="Filter.Clothing" value="Tøj"/>
+ <string name="Filter.Bodyparts" value="Kropsdele"/>
+ <string name="replace_body_part" value="Klik for at erstatte din nuværende figur"/>
<text name="title" value="Redigér sæt"/>
<panel label="bottom_panel" name="header_panel">
<panel label="bottom_panel" name="outfit_name_and_status">
@@ -25,7 +27,7 @@
<layout_panel label="IM kontrolpanel" name="outfit_wearables_panel">
<layout_stack name="filter_panels">
<layout_panel name="add_button_and_combobox">
- <button label="Tilføj mere..." name="show_add_wearables_btn"/>
+ <button label="Tilføj mere..." name="show_add_wearables_btn" tool_tip="Åben/Luk"/>
</layout_panel>
<layout_panel name="filter_panel">
<filter_editor label="Filtrér tøj i beholdning" name="look_item_filter"/>
@@ -36,6 +38,6 @@
</layout_stack>
<panel name="save_revert_button_bar">
<button label="Gem" name="save_btn"/>
- <button label="Gendan" name="revert_btn"/>
+ <button label="Annullér ændringer" name="revert_btn" tool_tip="Vend tilbage til sidst gemte version"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
index 4bc9ff99a9..da40bd3c27 100644
--- a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
@@ -6,7 +6,7 @@
</tab_container>
<panel name="bottom_panel">
<button name="options_gear_btn" tool_tip="Vis flere muligheder"/>
- <dnd_button name="trash_btn" tool_tip="Fjern valgte genstand"/>
+ <dnd_button name="trash_btn" tool_tip="Slet valgte sæt"/>
<button label="Gem som" name="save_btn"/>
<button label="Tag på" name="wear_btn" tool_tip="Tag valgte sæt på"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
index 586896041d..62214089f5 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
@@ -50,10 +50,7 @@
m
</text>
<slider label="Maks. antal partikler:" name="MaxParticleCount"/>
- <slider label="Maks. avatar optegningsafstand:" name="MaxAvatarDrawDistance"/>
- <text name="DrawDistanceMeterText3">
- m
- </text>
+ <slider label="Maks. antal mini-avatarer:" name="MaxNumberAvatarDrawn"/>
<slider label="Efterbehandlingskvalitet:" name="RenderPostProcess"/>
<text name="MeshDetailText">
Netmaske detaljer:
diff --git a/indra/newview/skins/default/xui/da/panel_voice_effect.xml b/indra/newview/skins/default/xui/da/panel_voice_effect.xml
index 8800d2e12d..50f561ec7f 100644
--- a/indra/newview/skins/default/xui/da/panel_voice_effect.xml
+++ b/indra/newview/skins/default/xui/da/panel_voice_effect.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_voice_effect">
<string name="no_voice_effect">
- Ingen stemme &quot;morph&quot;
+ Voice Morphing Off
</string>
<string name="preview_voice_effects">
Se stemme &quot;morph&quot; ▶
@@ -9,7 +9,7 @@
<string name="get_voice_effects">
Hente stemme &quot;morph&quot; ▶
</string>
- <combo_box name="voice_effect" tool_tip="Vælg en stemme &quot;morph&quot; effekt for at ændre din stemme.">
- <combo_box.item label="Ingen stemme &quot;morph&quot;" name="no_voice_effect"/>
+ <combo_box name="voice_effect" tool_tip="Vælg en stemme &quot;morph&quot; for at ændre din stemme">
+ <combo_box.item label="Stemme morph slukket" name="no_voice_effect"/>
</combo_box>
</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_appearance.xml b/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
index be049bea38..c5caefe070 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
@@ -3,12 +3,14 @@
<string name="No Outfit" value="Intet sæt"/>
<string name="Unsaved Changes" value="Ikke gemte ændringer"/>
<string name="Now Wearing" value="Bærer nu..."/>
+ <string name="Changing outfits" value="Skift sæt"/>
<panel name="panel_currentlook">
<button label="E" name="editappearance_btn"/>
<button label="O" name="openoutfit_btn"/>
<text name="currentlook_status">
(Status)
</text>
+ <button label="" name="edit_outfit_btn" tool_tip="Redigér dette sæt"/>
</panel>
<filter_editor label="Filtrér sæt" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
index 701a59bade..ff20e21999 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Objekt profil">
+<panel name="item properties" title="Profil for genstand">
<panel.string name="unknown">
(ukendt)
</panel.string>
@@ -15,7 +15,7 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
- <text name="title" value="Objekt profil"/>
+ <text name="title" value="Profil for genstand"/>
<text name="where" value="(Beholdning)"/>
<panel label="">
<text name="LabelItemNameTitle">
diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml
index af0f685826..66c75aca4c 100644
--- a/indra/newview/skins/default/xui/da/strings.xml
+++ b/indra/newview/skins/default/xui/da/strings.xml
@@ -294,6 +294,9 @@
<string name="ReleaseNotes">
Noter om version
</string>
+ <string name="RELEASE_NOTES_BASE_URL">
+ http://wiki.secondlife.com/wiki/Release_Notes/
+ </string>
<string name="LoadingData">
Henter...
</string>
@@ -840,6 +843,9 @@
<string name="invalid">
ugyldig
</string>
+ <string name="none">
+ ingen
+ </string>
<string name="shirt_not_worn">
Trøje - ikke på
</string>
diff --git a/indra/newview/skins/default/xui/de/floater_map.xml b/indra/newview/skins/default/xui/de/floater_map.xml
index 130d3062d7..d4358fa8e9 100644
--- a/indra/newview/skins/default/xui/de/floater_map.xml
+++ b/indra/newview/skins/default/xui/de/floater_map.xml
@@ -27,6 +27,9 @@
<floater.string name="ToolTipMsg">
[AGENT][REGION](Karte mit Doppelklick öffnen)
</floater.string>
+ <floater.string name="mini_map_caption">
+ MINI-KARTE
+ </floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml
index 48b1f1170c..3a036fc441 100644
--- a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml
@@ -24,9 +24,6 @@
<floater.string name="Title">
Gesten: [NAME]
</floater.string>
- <text name="name_text">
- Name:
- </text>
<text name="desc_label">
Beschreibung:
</text>
@@ -36,7 +33,7 @@
<text name="replace_text" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht&apos;s“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht&apos;s sagen“ und die zugehörige Geste wird abgespielt.">
Ersetzen mit:
</text>
- <line_editor name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht&apos;s“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht&apos;s sagen“ und die zugehörige Geste wird abgespielt." left_delta="94" width="160"/>
+ <line_editor left_delta="94" name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht&apos;s“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht&apos;s sagen“ und die zugehörige Geste wird abgespielt." width="160"/>
<text name="key_label">
Tastenkürzel:
</text>
@@ -46,19 +43,22 @@
Bibliothek:
</text>
<scroll_list name="library_list" width="166"/>
- <button label="Hinzufügen &gt;&gt;" name="add_btn" left_pad="6" width="94"/>
+ <button label="Hinzufügen &gt;&gt;" left_pad="6" name="add_btn" width="94"/>
<text name="steps_label">
Schritte:
</text>
<button label="Nach oben" name="up_btn"/>
<button label="Nach unten" name="down_btn"/>
<button label="Entfernen" name="delete_btn"/>
+ <text name="options_text">
+ (Optionen)
+ </text>
<radio_group name="animation_trigger_type">
<radio_item label="Start" name="start"/>
<radio_item label="Stopp" name="stop"/>
</radio_group>
<check_box label="bis alle Animationen beendet sind" name="wait_anim_check"/>
- <check_box label="Zeit in Sekunden" name="wait_time_check"/>
+ <check_box label="Zeit in Sekunden:" name="wait_time_check"/>
<text name="help_label">
Alle Schritte werden gleichzeitig ausgeführt, wenn keine Pausen hinzugefügt wurden.
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml
index a656ffb894..c014b8e040 100644
--- a/indra/newview/skins/default/xui/de/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml
@@ -1,23 +1,75 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="Foto">
+<floater name="Snapshot" title="FOTO-ANZEIGE">
<floater.string name="unknown">
unbekannt
</floater.string>
+ <radio_group label="Fototyp" name="snapshot_type_radio">
+ <radio_item label="Email" 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"/>
- <line_editor label="Beschreibung" name="description"/>
- <panel name="panel_snapshot_main">
- <button label="Foto freigeben" name="share"/>
- <button label="Foto speichern" name="save"/>
- <button label="Als Profilbild festlegen" name="set_profile_pic"/>
- </panel>
- <panel name="panel_snapshot_share">
- <button label="Ins Internet stellen" name="share_to_web"/>
- <button label="Foto per E-Mail senden" name="share_to_email"/>
- <button label="Zurück" name="cancel_share"/>
- </panel>
- <panel name="panel_snapshot_save">
- <button label="Objekt in meinem Inventar speichern" name="save_to_inventory"/>
- <button label="Auf meinem Computer speichern" name="save_to_computer"/>
- <button label="Zurück" name="cancel_save"/>
- </panel>
+ <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="Mehr" name="more_btn" tool_tip="Erweiterte Optionen"/>
+ <button label="Weniger" name="less_btn" tool_tip="Erweiterte Optionen"/>
+ <button label="Abbrechen" name="discard_btn"/>
+ <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="Größe" 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">
+ Aufnehmen:
+ </text>
+ <combo_box label="Bildlayer" name="layer_types">
+ <combo_box.item label="Farben" name="Colors"/>
+ <combo_box.item label="Tiefe" name="Depth"/>
+ </combo_box>
+ <check_box label="Schnittstelle" 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"/>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_voice_effect.xml b/indra/newview/skins/default/xui/de/floater_voice_effect.xml
index 8de0133ead..21d49a32fe 100644
--- a/indra/newview/skins/default/xui/de/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/de/floater_voice_effect.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater label="Orte" name="voice_effects" title="VOICE-MORPHING AUSPROBIEREN">
+<floater label="Orte" name="voice_effects" title="VOICE MORPHING">
<string name="no_voice_effect">
(Kein Voice-Morphing)
</string>
@@ -12,18 +12,19 @@
<string name="new_voice_effect">
(Neu!)
</string>
+ <text name="preview_text">
+ Zur Vorschau
+ </text>
<text name="status_text">
- Um die Voice-Morph-Effekte auszuprobieren, einfach auf die Schaltfläche „Aufnahme“ klicken und kurz ins Mikrofon sprechen. Klicken Sie dann auf einen beliebigen Effekt in der Liste, um zu hören, wie der Effekt Ihre Stimme verändert.
-
-Schließen Sie dieses Fenster, um wieder mit dem Voice-Chat in der Nähe verbunden zu werden.
+ Nehmen Sie Ihre Stimme auf, klicken Sie dann auf einen Effekt, um den Effekt auf Ihre Stimme anzuwenden.
</text>
- <button label="Aufnahme" name="record_btn" tool_tip="Nehmen Sie Ihre Stimme auf."/>
+ <button label="Aufnehmen" name="record_btn" tool_tip="Nehmen Sie Ihre Stimme auf."/>
<button label="Stopp" name="record_stop_btn"/>
<text name="voice_morphing_link">
- [[URL]Voice-Morphing abonnieren]
+ [[URL] Jetzt abonnieren]
</text>
<scroll_list name="voice_effect_list" tool_tip="Nehmen Sie Ihre Stimme auf und klicken Sie dann auf einen Effekt, um diesen auszuprobieren.">
- <scroll_list.columns label="Voice-Morphing" name="name"/>
+ <scroll_list.columns label="Bezeichnung" name="name"/>
<scroll_list.columns label="Gültig bis" name="expires"/>
</scroll_list>
</floater>
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 85fc9ab74f..a47c633d57 100644
--- a/indra/newview/skins/default/xui/de/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/de/menu_attachment_self.xml
@@ -3,11 +3,13 @@
<menu_item_call label="Berühren" name="Attachment Object Touch"/>
<menu_item_call label="Bearbeiten" name="Edit..."/>
<menu_item_call label="Abnehmen" name="Detach"/>
- <menu_item_call label="Fallen lassen" name="Drop"/>
<menu_item_call label="Aufstehen" name="Stand Up"/>
<menu_item_call label="Outfit ändern" name="Change Outfit"/>
+ <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/>
+ <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/>
<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..."/>
+ <menu_item_call label="Fallen lassen" name="Drop"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_outfit_tab.xml b/indra/newview/skins/default/xui/de/menu_outfit_tab.xml
index 605dee9b33..32a65c96fc 100644
--- a/indra/newview/skins/default/xui/de/menu_outfit_tab.xml
+++ b/indra/newview/skins/default/xui/de/menu_outfit_tab.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Anziehen - Aktuelles Outfit hinzufügen" name="wear_add"/>
<menu_item_call label="Ausziehen - Aus aktuellem Outfit entfernen" name="take_off"/>
<menu_item_call label="Outfit bearbeiten" name="edit"/>
- <menu_item_call label="Umbenennen" name="rename"/>
+ <menu_item_call label="Outfit neu benennen" name="rename"/>
<menu_item_call label="Outfit löschen" name="delete"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_topinfobar.xml b/indra/newview/skins/default/xui/de/menu_topinfobar.xml
new file mode 100644
index 0000000000..5b0a724244
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_topinfobar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_topinfobar">
+ <menu_item_check label="Koordinaten anzeigen" name="Show Coordinates"/>
+ <menu_item_check label="Parzellen-Eigenschaften anzeigen" name="Show Parcel Properties"/>
+ <menu_item_call label="Landmarke" name="Landmark"/>
+ <menu_item_call label="Kopieren" name="Copy"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index 0a2d5b472a..b9b6a8ed50 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -178,6 +178,7 @@
<menu_item_check label="Suchen" name="Search"/>
<menu_item_call label="Tasten freigeben" name="Release Keys"/>
<menu_item_call label="UI-Größe auf Standard setzen" name="Set UI Size to Default"/>
+ <menu_item_check label="Erweitert-Menü anzeigen - veraltetet" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_check label="Immer rennen" name="Always Run"/>
<menu_item_check label="Fliegen" name="Fly"/>
<menu_item_call label="Fenster schließen" name="Close Window"/>
diff --git a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
index a4bf75a497..027a68e72e 100644
--- a/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/de/menu_wearable_list_item.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Anziehen" name="wear"/>
+ <menu_item_call label="Ersetzen" name="wear"/>
<menu_item_call label="Hinzufügen" name="wear_add"/>
<menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/>
<menu_item_call label="Abnehmen" name="detach"/>
diff --git a/indra/newview/skins/default/xui/de/menu_wearing_gear.xml b/indra/newview/skins/default/xui/de/menu_wearing_gear.xml
new file mode 100644
index 0000000000..d994571f01
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_wearing_gear.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Wearing">
+ <menu_item_call label="Outfit bearbeiten" name="edit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_wearing_tab.xml b/indra/newview/skins/default/xui/de/menu_wearing_tab.xml
new file mode 100644
index 0000000000..d690572c8e
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_wearing_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Wearing">
+ <menu_item_call label="Outfit bearbeiten" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index 8380992d79..fb75f62988 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -622,8 +622,7 @@ Erwartet wurde [VALIDS]
Datei konnte nicht kodiert werden: [FILE]
</notification>
<notification name="CorruptedProtectedDataStore">
- Ihre geschützten Daten konnten nicht gelesen werden, aus diesem Grund werden diese zurückgesetzt.
- Dies kann passieren, wenn Sie die Netzwerkeinstellungen ändern.
+ Wir können Ihren Benutzernamen und Ihr Kennwort nicht automatisch ausfüllen. Dies kann passieren, wenn Sie die Netzwerkeinstellungen ändern.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CorruptResourceFile">
diff --git a/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml
index de764d8025..799586f021 100644
--- a/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml
+++ b/indra/newview/skins/default/xui/de/panel_body_parts_list_item.xml
@@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Ihnen fehlt die Berechtigung zum Bearbeiten."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Diese Form bearbeiten"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml
index de764d8025..945acb02d7 100644
--- a/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/de/panel_clothing_list_item.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
+ <button name="btn_delete" tool_tip="Von Outfit entfernen"/>
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Ihnen fehlt die Berechtigung zum Bearbeiten."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Dieses tragbare Objekt bearbeiten"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml
index 91d90a5660..a27252e23e 100644
--- a/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/de/panel_deletable_wearable_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="deletable_wearable_item">
+ <button name="btn_delete" tool_tip="Von Outfit entfernen"/>
<text name="item_name" value="..."/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml
index 6af84de0c7..b7ad1bdc1b 100644
--- a/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/de/panel_dummy_clothing_list_item.xml
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="dummy_clothing_item">
<text name="item_name" value="..."/>
+ <panel name="btn_add_panel">
+ <button name="btn_add" tool_tip="Weitere Artikel dieser Art hinzufügen"/>
+ </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 f23244e14d..faeea3a5de 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_wearable.xml
@@ -90,6 +90,7 @@
<string name="tattoo_desc_text">
Tätowierung:
</string>
+ <labeled_back_button label="Speichern" name="back_btn" tool_tip="Zurück zu Outfit bearbeiten"/>
<text name="edit_wearable_title" value="Form bearbeiten"/>
<panel label="Hemd" name="wearable_type_panel">
<text name="description_text" value="Form:"/>
@@ -102,6 +103,6 @@
</panel>
<panel name="button_panel">
<button label="Speichern unter" name="save_as_button"/>
- <button label="Zurücksetzen" name="revert_button"/>
+ <button label="Änderungen rückgängig machen" name="revert_button"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
index 60f8ad2331..00a79e6bb3 100644
--- a/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/de/panel_outfit_edit.xml
@@ -13,7 +13,9 @@
<string name="Filter.All" value="Alle"/>
<string name="Filter.Clothes/Body" value="Kleider/Körper"/>
<string name="Filter.Objects" value="Objekte"/>
- <string name="Filter.Custom" value="Benutzerspezifischer Filter"/>
+ <string name="Filter.Clothing" value="Kleidung"/>
+ <string name="Filter.Bodyparts" value="Körperteile"/>
+ <string name="replace_body_part" value="Klicken, um Ihre aktuelle Form zu ersetzen"/>
<text name="title" value="Outfit bearbeiten"/>
<panel label="bottom_panel" name="header_panel">
<panel label="bottom_panel" name="outfit_name_and_status">
@@ -25,7 +27,7 @@
<layout_panel label="IM Steuerkonsole" name="outfit_wearables_panel">
<layout_stack name="filter_panels">
<layout_panel name="add_button_and_combobox">
- <button label="Mehr hinzufügen" name="show_add_wearables_btn"/>
+ <button label="Mehr hinzufügen" name="show_add_wearables_btn" tool_tip="Öffnen/Schließen"/>
</layout_panel>
<layout_panel name="filter_panel">
<filter_editor label="Tragbare Inventarobjekte filtern" name="look_item_filter"/>
@@ -36,6 +38,6 @@
</layout_stack>
<panel name="save_revert_button_bar">
<button label="Speichern" name="save_btn"/>
- <button label="Zurücksetzen" name="revert_btn"/>
+ <button label="Änderungen rückgängig machen" name="revert_btn" tool_tip="Zur zuletzt gespeicherten Version zurücksetzen"/>
</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 8b04cecd68..852efe41d7 100644
--- a/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/de/panel_outfits_inventory.xml
@@ -6,7 +6,7 @@
</tab_container>
<panel name="bottom_panel">
<button name="options_gear_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
- <dnd_button name="trash_btn" tool_tip="Auswahl löschen"/>
+ <dnd_button name="trash_btn" tool_tip="Ausgewähltes Outfit löschen"/>
<button label="Speichern unter" name="save_btn"/>
<button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
index 879262df9b..7077534719 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
@@ -49,10 +49,7 @@
m
</text>
<slider label="Max. Partikelzahl:" name="MaxParticleCount"/>
- <slider label="Max. Avatarsichtweite:" name="MaxAvatarDrawDistance"/>
- <text name="DrawDistanceMeterText3">
- m
- </text>
+ <slider label="Max. Anzahl an voll dargestellten Avataren:" name="MaxNumberAvatarDrawn"/>
<slider label="Post-Processing-Qualität:" name="RenderPostProcess"/>
<text name="MeshDetailText">
Gitterdetails:
diff --git a/indra/newview/skins/default/xui/de/panel_voice_effect.xml b/indra/newview/skins/default/xui/de/panel_voice_effect.xml
index 363ee013e3..533deb8597 100644
--- a/indra/newview/skins/default/xui/de/panel_voice_effect.xml
+++ b/indra/newview/skins/default/xui/de/panel_voice_effect.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_voice_effect">
<string name="no_voice_effect">
- Kein Voice-Morphing
+ Voice-Morphing Aus
</string>
<string name="preview_voice_effects">
Voice-Morphing ausprobieren ▶
@@ -10,6 +10,6 @@
Voice-Morphing abonnieren ▶
</string>
<combo_box name="voice_effect" tool_tip="Wählen Sie einen Voice-Morph-Effekt aus, um Ihre Stimme zu verändern.">
- <combo_box.item label="Kein Voice-Morphing" name="no_voice_effect"/>
+ <combo_box.item label="Voice-Morphing Aus" name="no_voice_effect"/>
</combo_box>
</panel>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_appearance.xml b/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
index f8e3db341a..b43067fb95 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_appearance.xml
@@ -3,6 +3,7 @@
<string name="No Outfit" value="Kein Outfit"/>
<string name="Unsaved Changes" value="Ungespeicherte Änderungen"/>
<string name="Now Wearing" value="Aktuelles Outfit..."/>
+ <string name="Changing outfits" value="Outfits ändern"/>
<panel name="panel_currentlook">
<button label="B" name="editappearance_btn"/>
<button label="Ö" name="openoutfit_btn"/>
@@ -12,6 +13,7 @@
<text name="currentlook_name">
MyOutfit With a really Long Name like MOOSE
</text>
+ <button label="" name="edit_outfit_btn" tool_tip="Diese Outfit bearbeiten"/>
</panel>
<filter_editor label="Outfits filtern" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index f5882adb79..67b7d6c1d2 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -309,6 +309,9 @@
<string name="ReleaseNotes">
Versionshinweise
</string>
+ <string name="RELEASE_NOTES_BASE_URL">
+ http://wiki.secondlife.com/wiki/Release_Notes/
+ </string>
<string name="LoadingData">
Wird geladen...
</string>
@@ -864,6 +867,9 @@
<string name="invalid">
ungültig
</string>
+ <string name="none">
+ keine
+ </string>
<string name="shirt_not_worn">
Hemd nicht getragen
</string>
diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
index 28616d503b..ec097a8e87 100644
--- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater
border_visible="false"
- border_drop_shadow_visible="false"
- drop_shadow_visible="false"
border="false"
bg_opaque_image="Window_Foreground"
bg_alpha_image="Window_Background"
@@ -26,20 +24,20 @@
save_visibility="true"
single_instance="true"
width="320">
- <chat_history
- allow_html="true"
- bg_readonly_color="ChatHistoryBgColor"
- bg_writeable_color="ChatHistoryBgColor"
- follows="all"
- left="5"
- top="20"
- layout="topleft"
- height="275"
- name="chat_history"
- parse_highlights="true"
- text_color="ChatHistoryTextColor"
- text_readonly_color="ChatHistoryTextColor"
- right_widget_pad="5"
- left_widget_pad="0"
- width="315" />
+ <chat_history
+ allow_html="true"
+ bg_readonly_color="ChatHistoryBgColor"
+ bg_writeable_color="ChatHistoryBgColor"
+ follows="all"
+ left="5"
+ top="20"
+ layout="topleft"
+ height="275"
+ name="chat_history"
+ parse_highlights="true"
+ text_color="ChatHistoryTextColor"
+ text_readonly_color="ChatHistoryTextColor"
+ right_widget_pad="5"
+ left_widget_pad="0"
+ width="315" />
</floater>
diff --git a/indra/newview/skins/default/xui/en/menu_cof_clothing.xml b/indra/newview/skins/default/xui/en/menu_cof_clothing.xml
index 12ee9b045b..206d49e8c7 100644
--- a/indra/newview/skins/default/xui/en/menu_cof_clothing.xml
+++ b/indra/newview/skins/default/xui/en/menu_cof_clothing.xml
@@ -13,34 +13,24 @@
parameter="take_off" />
</menu_item_call>
<menu_item_call
- label="Move Up a Layer"
- layout="topleft"
- name="move_up">
- <on_click
- function="Clothing.MoveUp" />
- <on_enable
- function="Clothing.OnEnable"
- parameter="move_up" />
- </menu_item_call>
- <menu_item_call
- label="Move Down a Layer"
+ label="Edit"
layout="topleft"
- name="move_down">
+ name="edit">
<on_click
- function="Clothing.MoveDown" />
+ function="Clothing.Edit" />
<on_enable
function="Clothing.OnEnable"
- parameter="move_down" />
+ parameter="edit" />
</menu_item_call>
<menu_item_call
- label="Edit"
+ label="Replace"
layout="topleft"
- name="edit">
+ name="replace">
<on_click
- function="Clothing.Edit" />
+ function="Clothing.Replace" />
<on_enable
function="Clothing.OnEnable"
- parameter="edit" />
+ parameter="replace" />
</menu_item_call>
<menu_item_call
label="Create New"
diff --git a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml
index 8e7ef7f0b5..c4c7a5034a 100644
--- a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml
+++ b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml
@@ -16,6 +16,16 @@
parameter="wear" />
</menu_item_call>
<menu_item_call
+ label="Wear - Add to Current Outfit"
+ layout="topleft"
+ name="wear_add">
+ <on_click
+ function="Gear.WearAdd" />
+ <on_enable
+ function="Gear.OnEnable"
+ parameter="wear_add" />
+ </menu_item_call>
+ <menu_item_call
label="Take Off - Remove from Current Outfit"
layout="topleft"
name="take_off">
diff --git a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
index bdfa928b1d..06bd1e9ff4 100644
--- a/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
+++ b/indra/newview/skins/default/xui/en/outfit_accordion_tab.xml
@@ -3,7 +3,7 @@
<!-- All accordion tabs in the My Appearance/My Outfits panel will be created from this one at runtime-->
<!-- Non of string values of controls below are visible to user. They are not need to be translated. -->
<accordion_tab
- display_children="false"
+ expanded="false"
follows="all"
height="45"
layout="topleft"
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 b365540d1f..60a0095d5f 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
@@ -37,6 +37,7 @@
width="312" />
<panel
background_visible="true"
+ bg_alpha_color="DkGray"
class="panel_wearing"
follows="all"
height="490"
@@ -50,13 +51,13 @@
follows="all"
height="490"
keep_one_selected="true"
- left="1"
+ left="3"
multi_select="true"
name="cof_items_list"
standalone="false"
top="0"
translate="false"
- width="310"
+ width="307"
worn_indication_enabled="false"
/>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml
index 82a5c68240..629ac8ef13 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml
@@ -9,12 +9,13 @@
layout="topleft"
left="0"
top="0"
- width="313">
+ width="312">
<accordion
background_visible="true"
bg_alpha_color="DkGray2"
bg_opaque_color="DkGray2"
no_matched_tabs_text.value="Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search]."
+ no_matched_tabs_text.v_pad="10"
no_visible_tabs_text.value="..."
follows="all"
height="400"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index e30c081ba1..799d440292 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -136,7 +136,8 @@
<string name="RetrievingData">Retrieving...</string>
<string name="ReleaseNotes">Release Notes</string>
- <string name="RELEASE_NOTES_BASE_URL">http://wiki.secondlife.com/wiki/Release_Notes/</string>
+ <!-- Always mark translate="false" for strings that are nothing but URLs, as they don't need translation. -->
+ <string name="RELEASE_NOTES_BASE_URL" translate="false">http://wiki.secondlife.com/wiki/Release_Notes/</string>
<!-- Indicates something is being loaded. Maybe should be merged with RetrievingData -->
<string name="LoadingData">Loading...</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml
index ff49fd4536..5c71e50282 100644
--- a/indra/newview/skins/default/xui/fr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml
@@ -223,7 +223,7 @@ ou divisé.
Facteur Bonus Objets : [BONUS]
</text>
<text name="Simulator primitive usage:">
- Utilisation des prims :
+ Utilisation des primitives :
</text>
<text left="214" name="objects_available" width="230">
[COUNT] sur [MAX] ([AVAILABLE] disponibles)
diff --git a/indra/newview/skins/default/xui/fr/floater_map.xml b/indra/newview/skins/default/xui/fr/floater_map.xml
index ae319949e3..cd013f6c0e 100644
--- a/indra/newview/skins/default/xui/fr/floater_map.xml
+++ b/indra/newview/skins/default/xui/fr/floater_map.xml
@@ -27,6 +27,9 @@
<floater.string name="ToolTipMsg">
[AGENT][REGION](Double-cliquez pour ouvrir la carte)
</floater.string>
+ <floater.string name="mini_map_caption">
+ MINI-CARTE
+ </floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
index 1d164ac661..4fa91b87ef 100644
--- a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
@@ -24,9 +24,6 @@
<floater.string name="Title">
Geste : [NAME]
</floater.string>
- <text name="name_text">
- Nom :
- </text>
<text name="desc_label">
Description :
</text>
@@ -53,12 +50,15 @@
<button label="Haut" name="up_btn"/>
<button label="Bas" name="down_btn"/>
<button label="Supprimer" name="delete_btn"/>
+ <text name="options_text">
+ (options)
+ </text>
<radio_group name="animation_trigger_type">
<radio_item label="Lancer" name="start"/>
<radio_item label="Arrêter" name="stop"/>
</radio_group>
<check_box label="jusqu&apos;à la fin des animations" name="wait_anim_check"/>
- <check_box label="temps (sec)" name="wait_time_check"/>
+ <check_box label="temps (sec) :" name="wait_time_check"/>
<line_editor left_delta="130" name="wait_time_editor"/>
<text name="help_label">
Toutes les étapes ont lieu en même temps si vous n&apos;ajoutez pas d&apos;étapes d&apos;attente.
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index 033ee7443c..6f81bf68b1 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -1,23 +1,75 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="Photo" width="247">
+<floater name="Snapshot" title="APERÇU DE LA PHOTO" width="247">
<floater.string name="unknown">
inconnu
</floater.string>
+ <radio_group label="Type de photo" name="snapshot_type_radio">
+ <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>
+ <text name="file_size_label">
+ [SIZE] Ko
+ </text>
<button label="Rafraîchir" name="new_snapshot_btn"/>
- <line_editor label="Description" name="description"/>
- <panel name="panel_snapshot_main">
- <button label="Partager" name="share"/>
- <button label="Enregistrer" name="save"/>
- <button label="Image de profil" name="set_profile_pic"/>
- </panel>
- <panel name="panel_snapshot_share">
- <button label="Partage Web" name="share_to_web"/>
- <button label="Envoi par e-mail" name="share_to_email"/>
- <button label="Précédent" name="cancel_share"/>
- </panel>
- <panel name="panel_snapshot_save">
- <button label="Dans mon inventaire" name="save_to_inventory"/>
- <button label="Sur mon ordinateur" name="save_to_computer"/>
- <button label="Précédent" name="cancel_save"/>
- </panel>
+ <button label="Envoyer" name="send_btn"/>
+ <button label="Enregistrer ([AMOUNT] L$)" name="upload_btn"/>
+ <flyout_button label="Enregistrer" name="save_btn" tool_tip="Enregistrer l&apos;image sous forme de fichier">
+ <flyout_button.item label="Enregistrer" name="save_item"/>
+ <flyout_button.item label="Enregistrer sous..." name="saveas_item"/>
+ </flyout_button>
+ <button label="Plus" name="more_btn" tool_tip="Options avancées"/>
+ <button label="Moins" name="less_btn" tool_tip="Options avancées"/>
+ <button label="Annuler" name="discard_btn"/>
+ <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="Fenêtre actuelle" name="CurrentWindow"/>
+ <combo_box.item label="640 x 480" name="640x480"/>
+ <combo_box.item label="800 x 600" name="800x600"/>
+ <combo_box.item label="1 024 x 768" name="1024x768"/>
+ <combo_box.item label="Personnalisée" 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="Personnalisée" 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="1 024 x 768" name="1024x768"/>
+ <combo_box.item label="1 280 x 1 024" name="1280x1024"/>
+ <combo_box.item label="1 600 x 1 200" name="1600x1200"/>
+ <combo_box.item label="Personnalisée" 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" name="snapshot_width"/>
+ <spinner label="Hauteur" name="snapshot_height"/>
+ <check_box label="Contraindre les proportions" name="keep_aspect_check"/>
+ <slider label="Qualité de l&apos;image" name="image_quality_slider"/>
+ <text name="layer_type_label">
+ Capturer :
+ </text>
+ <combo_box label="Couches d&apos;images" name="layer_types">
+ <combo_box.item label="Couleurs" name="Colors"/>
+ <combo_box.item label="Profondeur" name="Depth"/>
+ </combo_box>
+ <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="Arrêt sur image (plein écran)" name="freeze_frame_check"/>
+ <check_box label="Actualisation automatique" name="auto_snapshot_check"/>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_voice_effect.xml b/indra/newview/skins/default/xui/fr/floater_voice_effect.xml
index d7f0ff7f6b..56cb654440 100644
--- a/indra/newview/skins/default/xui/fr/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/fr/floater_voice_effect.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater label="Endroits" name="voice_effects" title="APERÇU DES EFFETS DE VOIX">
+<floater label="Endroits" name="voice_effects" title="EFFET DE VOIX">
<string name="no_voice_effect">
(Aucun effet de voix)
</string>
@@ -12,18 +12,19 @@
<string name="new_voice_effect">
(Nouveau !)
</string>
+ <text name="preview_text">
+ Aperçu
+ </text>
<text name="status_text">
- Pour obtenir un aperçu des effets, enregistrez un court extrait de votre voix en cliquant sur le bouton ci-dessous, puis cliquez sur l&apos;une des entrées de la liste. Vous entendrez alors le son de votre voix transformée.
-
-Pour vous reconnecter au chat vocal près de vous, fermez cette fenêtre.
+ Enregistrez un extrait et cliquez sur un effet pour obtenir un aperçu.
</text>
- <button label="Enregistrer un extrait" name="record_btn" tool_tip="Enregistrez un extrait de votre voix."/>
+ <button label="Enregistrer" name="record_btn" tool_tip="Enregistrez un extrait de votre voix."/>
<button label="Arrêter" name="record_stop_btn"/>
<text name="voice_morphing_link">
- [[URL] Obtenir un effet de voix]
+ [[URL] S&apos;abonner]
</text>
<scroll_list name="voice_effect_list" tool_tip="Enregistrez un extrait de votre voix, puis cliquez sur un effet pour obtenir un aperçu.">
- <scroll_list.columns label="Effet de voix" name="name"/>
+ <scroll_list.columns label="Nom de l&apos;effet" name="name"/>
<scroll_list.columns label="Date d&apos;expiration" name="expires"/>
</scroll_list>
</floater>
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 ff87d90d4d..3f6cd85685 100644
--- a/indra/newview/skins/default/xui/fr/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/fr/menu_attachment_self.xml
@@ -3,11 +3,13 @@
<menu_item_call label="Toucher" name="Attachment Object Touch"/>
<menu_item_call label="Éditer" name="Edit..."/>
<menu_item_call label="Détacher" name="Detach"/>
- <menu_item_call label="Lâcher" name="Drop"/>
<menu_item_call label="Me lever" name="Stand Up"/>
<menu_item_call label="Changer de tenue" name="Change Outfit"/>
+ <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/>
+ <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/>
<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..."/>
+ <menu_item_call label="Lâcher" name="Drop"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml b/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml
index a68715108f..2a7f618e07 100644
--- a/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml
+++ b/indra/newview/skins/default/xui/fr/menu_outfit_tab.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Porter - Ajouter à la tenue actuelle" name="wear_add"/>
<menu_item_call label="Enlever - Supprimer de la tenue actuelle" name="take_off"/>
<menu_item_call label="Modifier la tenue" name="edit"/>
- <menu_item_call label="Renommer" name="rename"/>
+ <menu_item_call label="Renommer la tenue" name="rename"/>
<menu_item_call label="Supprimer la tenue" name="delete"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_topinfobar.xml b/indra/newview/skins/default/xui/fr/menu_topinfobar.xml
new file mode 100644
index 0000000000..dc68f40fe7
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_topinfobar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_topinfobar">
+ <menu_item_check label="Afficher les coordonnées" name="Show Coordinates"/>
+ <menu_item_check label="Afficher les propriétés de la parcelle" name="Show Parcel Properties"/>
+ <menu_item_call label="Repère" name="Landmark"/>
+ <menu_item_call label="Copier" name="Copy"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index 0976f0c72a..ec9bee9a64 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -177,6 +177,7 @@
<menu_item_check label="Rechercher" name="Search"/>
<menu_item_call label="Relâcher les touches" name="Release Keys"/>
<menu_item_call label="Taille de l&apos;interface par défaut" name="Set UI Size to Default"/>
+ <menu_item_check label="Afficher le menu Avancé - raccourci existant" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_check label="Toujours courir" name="Always Run"/>
<menu_item_check label="Voler" name="Fly"/>
<menu_item_call label="Fermer la fenêtre" name="Close Window"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml
index 207ba79148..39e8ca2173 100644
--- a/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/fr/menu_wearable_list_item.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Porter" name="wear"/>
+ <menu_item_call label="Remplacer" name="wear"/>
<menu_item_call label="Ajouter" name="wear_add"/>
<menu_item_call label="Enlever / Détacher" name="take_off_or_detach"/>
<menu_item_call label="Détacher" name="detach"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_wearing_gear.xml b/indra/newview/skins/default/xui/fr/menu_wearing_gear.xml
new file mode 100644
index 0000000000..d5330c2417
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_wearing_gear.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Wearing">
+ <menu_item_call label="Modifier la tenue" name="edit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_wearing_tab.xml b/indra/newview/skins/default/xui/fr/menu_wearing_tab.xml
new file mode 100644
index 0000000000..b99f751fae
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_wearing_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Wearing">
+ <menu_item_call label="Modifier la tenue" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 32f779f538..7b34778936 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -614,8 +614,7 @@ Assurez-vous que le fichier a l&apos;extension correcte.
Impossible d&apos;encoder le fichier : [FILE]
</notification>
<notification name="CorruptedProtectedDataStore">
- Impossible de lire vos données protégées ; elles sont en cours de réinitialisation.
- Cette situation peut se produire lorsque vous changez la configuration du réseau.
+ Impossible de renseigner votre nom d&apos;utilisateur et mot de passe. Cette situation peut se produire lorsque vous changez la configuration du réseau.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CorruptResourceFile">
diff --git a/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml
index de764d8025..377f85368f 100644
--- a/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml
+++ b/indra/newview/skins/default/xui/fr/panel_body_parts_list_item.xml
@@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Vous ne disposez pas de droits de modification."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Modifier cette silhouette"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml
index de764d8025..b23cb91c6f 100644
--- a/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/fr/panel_clothing_list_item.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
+ <button name="btn_delete" tool_tip="Enlever de la tenue"/>
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Vous ne disposez pas de droits de modification."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Modifier cet article à porter"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml
index 91d90a5660..e1fa769f2f 100644
--- a/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/fr/panel_deletable_wearable_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="deletable_wearable_item">
+ <button name="btn_delete" tool_tip="Enlever de la tenue"/>
<text name="item_name" value="..."/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml
index 6af84de0c7..bc0edda5b6 100644
--- a/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/fr/panel_dummy_clothing_list_item.xml
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="dummy_clothing_item">
<text name="item_name" value="..."/>
+ <panel name="btn_add_panel">
+ <button name="btn_add" tool_tip="Ajouter plus d&apos;articles de ce type"/>
+ </panel>
</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 60c46a9f2e..4b1572b052 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
@@ -90,6 +90,7 @@
<string name="tattoo_desc_text">
Tatouage :
</string>
+ <labeled_back_button label="Enregistrer" name="back_btn" tool_tip="Revenir à Modifier la tenue"/>
<text name="edit_wearable_title" value="Modification de la silhouette"/>
<panel label="Chemise" name="wearable_type_panel">
<text name="description_text" value="Silhouette :"/>
@@ -102,6 +103,6 @@
</panel>
<panel name="button_panel">
<button label="Enregistrer sous" name="save_as_button"/>
- <button label="Rétablir" name="revert_button" width="130"/>
+ <button label="Annuler les modifications" 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 20cb5bd974..ec6d995274 100644
--- a/indra/newview/skins/default/xui/fr/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_general.xml
@@ -48,7 +48,7 @@ Faites glisser le pointeur de la souris sur les options pour en savoir plus.
<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_item name="select_mature">
- - Catégorie d&apos;accès -
+ - Sélectionner une catégorie de contenu -
</combo_item>
<combo_box.item label="Contenu Modéré" name="mature"/>
<combo_box.item label="Contenu Général" name="pg"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
index 0764cfb6e7..b17803eaad 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfit_edit.xml
@@ -13,7 +13,9 @@
<string name="Filter.All" value="Tout"/>
<string name="Filter.Clothes/Body" value="Habits/Corps"/>
<string name="Filter.Objects" value="Objets"/>
- <string name="Filter.Custom" value="Filtre personnalisé"/>
+ <string name="Filter.Clothing" value="Habits"/>
+ <string name="Filter.Bodyparts" value="Parties du corps"/>
+ <string name="replace_body_part" value="Cliquer pour remplacer la silhouette existante"/>
<text name="title" value="Modifier la tenue"/>
<panel label="bottom_panel" name="header_panel">
<panel label="bottom_panel" name="outfit_name_and_status">
@@ -25,7 +27,7 @@
<layout_panel label="Panneau de contrôle IM" name="outfit_wearables_panel">
<layout_stack name="filter_panels">
<layout_panel name="add_button_and_combobox">
- <button label="Ajouter plus..." name="show_add_wearables_btn"/>
+ <button label="Ajouter plus..." name="show_add_wearables_btn" tool_tip="Ouvrir/Fermer"/>
</layout_panel>
<layout_panel name="filter_panel">
<filter_editor label="Filtrer ce qui peut être porté dans l&apos;inventaire" name="look_item_filter"/>
@@ -36,6 +38,6 @@
</layout_stack>
<panel name="save_revert_button_bar">
<button label="Enregistrer" name="save_btn"/>
- <button label="Rétablir" name="revert_btn"/>
+ <button label="Annuler les modifications" name="revert_btn" tool_tip="Rétablir la dernière version enregistrée"/>
</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 22e6adfb89..d241b07ad8 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
@@ -6,7 +6,7 @@
</tab_container>
<panel name="bottom_panel">
<button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
- <dnd_button name="trash_btn" tool_tip="Supprimer l&apos;objet sélectionné"/>
+ <dnd_button name="trash_btn" tool_tip="Supprimer la tenue sélectionnée"/>
<button label="Enregistrer sous" name="save_btn"/>
<button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
index c7caf5c2ff..12813e115f 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
@@ -49,10 +49,7 @@
m
</text>
<slider label="Nombre de particules max. :" label_width="147" name="MaxParticleCount"/>
- <slider label="Limite d&apos;affichage max des avatars :" name="MaxAvatarDrawDistance"/>
- <text name="DrawDistanceMeterText3">
- m
- </text>
+ <slider label="Nb max d&apos;avatars non éloignés en 2D :" name="MaxNumberAvatarDrawn"/>
<slider label="Qualité post-traitement :" name="RenderPostProcess"/>
<text name="MeshDetailText">
Détails des rendus :
diff --git a/indra/newview/skins/default/xui/fr/panel_voice_effect.xml b/indra/newview/skins/default/xui/fr/panel_voice_effect.xml
index 01734295f2..a134854706 100644
--- a/indra/newview/skins/default/xui/fr/panel_voice_effect.xml
+++ b/indra/newview/skins/default/xui/fr/panel_voice_effect.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_voice_effect">
<string name="no_voice_effect">
- Aucun effet de voix
+ Effet de voix désactivé
</string>
<string name="preview_voice_effects">
Aperçu des effets de voix ▶
@@ -9,7 +9,7 @@
<string name="get_voice_effects">
Obtenir un effet de voix ▶
</string>
- <combo_box name="voice_effect" tool_tip="Sélectionnez un effet pour modifier le son de votre voix.">
- <combo_box.item label="Aucun effet de voix" name="no_voice_effect"/>
+ <combo_box name="voice_effect" tool_tip="Sélectionner un effet pour modifier le son de votre voix">
+ <combo_box.item label="Effet de voix désactivé" name="no_voice_effect"/>
</combo_box>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml b/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml
index 69cb6cd53d..5e1ac55a97 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_appearance.xml
@@ -3,6 +3,7 @@
<string name="No Outfit" value="Aucune tenue"/>
<string name="Unsaved Changes" value="Modifications non enregistrées"/>
<string name="Now Wearing" value="Vous portez désormais..."/>
+ <string name="Changing outfits" value="Changement de tenue"/>
<panel name="panel_currentlook">
<button label="M" name="editappearance_btn"/>
<button label="O" name="openoutfit_btn"/>
@@ -12,6 +13,7 @@
<text name="currentlook_name">
Ma tenue avec un nom très long comme ORIGNAL
</text>
+ <button label="" name="edit_outfit_btn" tool_tip="Modifier cette tenue"/>
</panel>
<filter_editor label="Filtrer les tenues" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
index 31a0534b2d..297cdd2839 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Profil de l&apos;objet">
+<panel name="item properties" title="Profil de l&apos;article">
<panel.string name="unknown">
(inconnu)
</panel.string>
@@ -15,7 +15,7 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
- <text name="title" value="Profil de l&apos;objet"/>
+ <text name="title" value="Profil de l&apos;article"/>
<text name="where" value="(inventaire)"/>
<panel label="">
<text name="LabelItemNameTitle">
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index d95cfaedb4..95e081b574 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -309,6 +309,9 @@
<string name="ReleaseNotes">
Notes de version
</string>
+ <string name="RELEASE_NOTES_BASE_URL">
+ http://wiki.secondlife.com/wiki/Release_Notes/
+ </string>
<string name="LoadingData">
Chargement...
</string>
@@ -864,6 +867,9 @@
<string name="invalid">
non valide
</string>
+ <string name="none">
+ aucun
+ </string>
<string name="shirt_not_worn">
Chemise non portée
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_map.xml b/indra/newview/skins/default/xui/pt/floater_map.xml
index f8e4e76752..6f09a5e383 100644
--- a/indra/newview/skins/default/xui/pt/floater_map.xml
+++ b/indra/newview/skins/default/xui/pt/floater_map.xml
@@ -24,6 +24,9 @@
<floater.string name="mini_map_northwest">
NO
</floater.string>
+ <floater.string name="mini_map_caption">
+ MINIMAPA
+ </floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
index 48f27f1968..364638780a 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
@@ -24,9 +24,6 @@
<floater.string name="Title">
Gesto: [NAME]
</floater.string>
- <text name="name_text">
- Nome:
- </text>
<text name="desc_label">
Descrição:
</text>
@@ -54,12 +51,15 @@
<button label="P/ cima" left_delta="-13" name="up_btn" width="114"/>
<button label="P/ baixo" name="down_btn" width="114"/>
<button label="Remover" left_delta="13" name="delete_btn" width="84"/>
+ <text name="options_text">
+ (opções)
+ </text>
<radio_group name="animation_trigger_type">
<radio_item label="OK" name="start"/>
<radio_item label="Pare" name="stop"/>
</radio_group>
<check_box bottom_delta="34" label="até que as animações estejam concluídas" name="wait_anim_check"/>
- <check_box bottom_delta="-30" label="tempo em segundos" name="wait_time_check"/>
+ <check_box bottom_delta="-30" label="segundos:" name="wait_time_check"/>
<line_editor left_delta="130" name="wait_time_editor"/>
<text name="help_label">
Se não incluir etapas de espera, todas as etapas ocorrem ao mesmo tempo.
diff --git a/indra/newview/skins/default/xui/pt/floater_snapshot.xml b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
index 1d86b0d413..d62fe3dd20 100644
--- a/indra/newview/skins/default/xui/pt/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
@@ -1,23 +1,75 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="Foto">
+<floater name="Snapshot" title="VISUALIZAR FOTO">
<floater.string name="unknown">
desconhecido
</floater.string>
+ <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">
+ [TAMANHO] KB
+ </text>
<button label="Atualizar a foto" name="new_snapshot_btn"/>
- <line_editor label="Descrição" name="description"/>
- <panel name="panel_snapshot_main">
- <button label="Compartilhar foto" name="share"/>
- <button label="Salvar foto" name="save"/>
- <button label="Usar como foto do perfil" name="set_profile_pic"/>
- </panel>
- <panel name="panel_snapshot_share">
- <button label="Compartilhar na web" name="share_to_web"/>
- <button label="Enviar foto por email" name="share_to_email"/>
- <button label="Atrás" name="cancel_share"/>
- </panel>
- <panel name="panel_snapshot_save">
- <button label="Salvar no meu inventário" name="save_to_inventory"/>
- <button label="Salvar no meu PC" name="save_to_computer"/>
- <button label="Atrás" name="cancel_save"/>
- </panel>
+ <button label="Enviar" name="send_btn"/>
+ <button label="Economize (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="Mais" name="more_btn" tool_tip="Opções avançadas"/>
+ <button label="Menos" name="less_btn" tool_tip="Opções avançadas"/>
+ <button label="Cancelar" name="discard_btn"/>
+ <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" name="snapshot_width"/>
+ <spinner label="Altura" name="snapshot_height"/>
+ <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="Profundidade" name="Depth"/>
+ </combo_box>
+ <check_box label="Interface" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
+ <check_box label="Deixar aberto depois de salvo" name="keep_open_check"/>
+ <check_box label="Gerar quadro (tela inteira)" name="freeze_frame_check"/>
+ <check_box label="Atualizar" name="auto_snapshot_check"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_voice_effect.xml b/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
index 4bc8575588..b9f9677833 100644
--- a/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
+++ b/indra/newview/skins/default/xui/pt/floater_voice_effect.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater label="Lugares" name="voice_effects" title="CHECAR DISTORÇÃO DE VOZ">
+<floater label="Lugares" name="voice_effects" title="DISTORCENDO VOZ">
<string name="no_voice_effect">
(Não distorcer voz)
</string>
@@ -12,18 +12,19 @@
<string name="new_voice_effect">
(Novo!)
</string>
+ <text name="preview_text">
+ Visualizar
+ </text>
<text name="status_text">
- Para ouvir um efeito de Distorção de voz, clique no botão Gravar, grave alguns instantes de voz, depois clique em Distorcer voz na lista para ouvir o resultado.
-
-Para reconectar à Voz local, basta fechar esta janela.
+ Grave uma amostra da sua voz, depois clique em um efeito para ouvir o resultado.
</text>
- <button label="Gravar amostra" name="record_btn" tool_tip="Grave uma amostra da sua voz."/>
+ <button label="Gravar" name="record_btn" tool_tip="Grave uma amostra da sua voz."/>
<button label="Parar" name="record_stop_btn"/>
<text name="voice_morphing_link">
- [[URL] Distorcer voz]
+ [[URL] Assine agora]
</text>
<scroll_list name="voice_effect_list" tool_tip="Grave sua voz por alguns instantes, depois clique num efeito para ouvir a distorção.">
- <scroll_list.columns label="Distorcer voz" name="name"/>
+ <scroll_list.columns label="Nome da voz" name="name"/>
<scroll_list.columns label="Vence em" name="expires"/>
</scroll_list>
</floater>
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 5cb1b211cf..65070f821a 100644
--- a/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
+++ b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
@@ -3,11 +3,13 @@
<menu_item_call label="Tocar" name="Attachment Object Touch"/>
<menu_item_call label="Editar" name="Edit..."/>
<menu_item_call label="Tirar" name="Detach"/>
- <menu_item_call label="Largar" name="Drop"/>
<menu_item_call label="Ficar de pé" name="Stand Up"/>
<menu_item_call label="Trocar de look" name="Change Outfit"/>
+ <menu_item_call label="Editar meu look" name="Edit Outfit"/>
+ <menu_item_call label="Editar meu corpo" name="Edit My Shape"/>
<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..."/>
+ <menu_item_call label="Largar" name="Drop"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml b/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml
index 7c30e8ac55..8db5e405b3 100644
--- a/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml
+++ b/indra/newview/skins/default/xui/pt/menu_outfit_tab.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Vestir - Sem tirar look atual" name="wear_add"/>
<menu_item_call label="Tirar - Tirar do look atual" name="take_off"/>
<menu_item_call label="Editar look" name="edit"/>
- <menu_item_call label="Renomear" name="rename"/>
+ <menu_item_call label="Renomear look" name="rename"/>
<menu_item_call label="Excluir visual" name="delete"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_topinfobar.xml b/indra/newview/skins/default/xui/pt/menu_topinfobar.xml
new file mode 100644
index 0000000000..d9347950b1
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_topinfobar.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_topinfobar">
+ <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/>
+ <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/>
+ <menu_item_call label="Marco" name="Landmark"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index 5a5a418370..d9ff847647 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -177,6 +177,7 @@
<menu_item_check label="Busca" name="Search"/>
<menu_item_call label="Soltar objeto" name="Release Keys"/>
<menu_item_call label="Interface tamanho padrão" name="Set UI Size to Default"/>
+ <menu_item_check label="Mostrar menu avançado - atalho antigo" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_check label="Correr sempre" name="Always Run"/>
<menu_item_check label="Voar" name="Fly"/>
<menu_item_call label="Fechar janela" name="Close Window"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
index dbf942796c..1874837d65 100644
--- a/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/menu_wearable_list_item.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Outfit Wearable Context Menu">
- <menu_item_call label="Vestir" name="wear"/>
+ <menu_item_call label="Trocar" name="wear"/>
<menu_item_call label="Adicionar" name="wear_add"/>
<menu_item_call label="Tirar / Separar" name="take_off_or_detach"/>
<menu_item_call label="Separar" name="detach"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_wearing_gear.xml b/indra/newview/skins/default/xui/pt/menu_wearing_gear.xml
new file mode 100644
index 0000000000..c0387f491a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_wearing_gear.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Gear Wearing">
+ <menu_item_call label="Editar look" name="edit"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_wearing_tab.xml b/indra/newview/skins/default/xui/pt/menu_wearing_tab.xml
new file mode 100644
index 0000000000..5b62d9578c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_wearing_tab.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Wearing">
+ <menu_item_call label="Editar look" name="edit"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index 4a738bf0ea..1e517a5dc5 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -609,8 +609,7 @@ Esperada [VALIDS]
Impossível codificar o arquivo: [FILE]
</notification>
<notification name="CorruptedProtectedDataStore">
- Não foi possível fazer a leitura dos dados protegidos, redefinindo.
- Isso pode ocorrer após mudanças na configuração da rede.
+ Não podemos preencher seu nome e senha. Isso pode ocorrer após mudanças na configuração da rede
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CorruptResourceFile">
diff --git a/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml b/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml
index de764d8025..87a2e1674d 100644
--- a/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/panel_body_parts_list_item.xml
@@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Você não está autorizado a editar isso."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Editar esta forma"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml b/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml
index de764d8025..4b45a49f74 100644
--- a/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/panel_clothing_list_item.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="wearable_item">
+ <button name="btn_delete" tool_tip="Tirar do look"/>
<text name="item_name" value="..."/>
+ <panel name="btn_lock" tool_tip="Você não está autorizado a editar isso."/>
+ <panel name="btn_edit_panel">
+ <button name="btn_edit" tool_tip="Editar este acessório"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml b/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml
index 91d90a5660..7ca5e23981 100644
--- a/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/panel_deletable_wearable_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="deletable_wearable_item">
+ <button name="btn_delete" tool_tip="Tirar do look"/>
<text name="item_name" value="..."/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml b/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml
index 6af84de0c7..3dfb5a0a16 100644
--- a/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml
+++ b/indra/newview/skins/default/xui/pt/panel_dummy_clothing_list_item.xml
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="dummy_clothing_item">
<text name="item_name" value="..."/>
+ <panel name="btn_add_panel">
+ <button name="btn_add" tool_tip="Adicionar mais itens deste tipo"/>
+ </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 e921dd1bea..9890d26d35 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
@@ -90,6 +90,7 @@
<string name="tattoo_desc_text">
Tatuagem:
</string>
+ <labeled_back_button label="Salvar" name="back_btn" tool_tip="Voltar à edição de look"/>
<text name="edit_wearable_title" value="Editando forma"/>
<panel label="Camisa" name="wearable_type_panel">
<text name="description_text" value="Forma:"/>
@@ -102,6 +103,6 @@
</panel>
<panel name="button_panel">
<button label="Salvar como" name="save_as_button"/>
- <button label="Reverter" name="revert_button"/>
+ <button label="Desfazer mudanças" name="revert_button"/>
</panel>
</panel>
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 6060f23bba..b634ec3f64 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_general.xml
@@ -48,7 +48,7 @@ Para obter mais ajuda, passe o mouse sobre as opções.
<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_item name="select_mature">
- - Selecione Maduro -
+ - Selecione o nível de maturidade -
</combo_item>
<combo_box.item label="Conteúdo Mature" name="mature"/>
<combo_box.item label="Conteúdo PG" name="pg"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
index bbf5b397c3..74aec1cbd2 100644
--- a/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/pt/panel_outfit_edit.xml
@@ -13,7 +13,9 @@
<string name="Filter.All" value="Tudo"/>
<string name="Filter.Clothes/Body" value="Roupas/Corpo"/>
<string name="Filter.Objects" value="Objects"/>
- <string name="Filter.Custom" value="Filtro personalizado"/>
+ <string name="Filter.Clothing" value="Vestuário"/>
+ <string name="Filter.Bodyparts" value="Corpo"/>
+ <string name="replace_body_part" value="Clique para substituir sua forma atual"/>
<text name="title" value="Editar look"/>
<panel label="bottom_panel" name="header_panel">
<panel label="bottom_panel" name="outfit_name_and_status">
@@ -25,7 +27,7 @@
<layout_panel label="Painel de controle de MIs" name="outfit_wearables_panel">
<layout_stack name="filter_panels">
<layout_panel name="add_button_and_combobox">
- <button label="Adicionar mais..." name="show_add_wearables_btn"/>
+ <button label="Adicionar mais..." name="show_add_wearables_btn" tool_tip="Abrir/Fechar"/>
</layout_panel>
<layout_panel name="filter_panel">
<filter_editor label="Filtrar itens de vestuário" name="look_item_filter"/>
@@ -36,6 +38,6 @@
</layout_stack>
<panel name="save_revert_button_bar">
<button label="Salvar" name="save_btn"/>
- <button label="Reverter" name="revert_btn"/>
+ <button label="Desfazer mudanças" name="revert_btn" tool_tip="Voltar à versão salva anterior"/>
</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 10ef2a332f..f4b680fd8f 100644
--- a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
@@ -6,7 +6,7 @@
</tab_container>
<panel name="bottom_panel">
<button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
- <dnd_button name="trash_btn" tool_tip="Remover item selecionado"/>
+ <dnd_button name="trash_btn" tool_tip="Excluir look selecionado"/>
<button label="Salvar como" name="save_btn"/>
<button label="Vestir" name="wear_btn" tool_tip="Vestir look selecionado"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
index ccf213099e..c24cc96d3b 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
@@ -50,10 +50,7 @@ rápido
m
</text>
<slider label="Contador máx. de partículas:" name="MaxParticleCount"/>
- <slider label="Distância máx. desenho avatar:" name="MaxAvatarDrawDistance"/>
- <text name="DrawDistanceMeterText3">
- m
- </text>
+ <slider label="Máx. de avatares legítimos:" name="MaxNumberAvatarDrawn"/>
<slider label="Qualidade de Pós-processamento:" name="RenderPostProcess"/>
<text name="MeshDetailText">
Detalhes de Malha:
diff --git a/indra/newview/skins/default/xui/pt/panel_voice_effect.xml b/indra/newview/skins/default/xui/pt/panel_voice_effect.xml
index 08e89f46f9..1d7878408a 100644
--- a/indra/newview/skins/default/xui/pt/panel_voice_effect.xml
+++ b/indra/newview/skins/default/xui/pt/panel_voice_effect.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_voice_effect">
<string name="no_voice_effect">
- Não distorcer voz
+ Distorção de voz desligada
</string>
<string name="preview_voice_effects">
Checar distorção de voz ▶
@@ -10,6 +10,6 @@
Distorcer voz ▶
</string>
<combo_box name="voice_effect" tool_tip="Selecione um efeito de distorção para mudar sua voz.">
- <combo_box.item label="Não distorcer voz" name="no_voice_effect"/>
+ <combo_box.item label="Distorção de voz desligada" name="no_voice_effect"/>
</combo_box>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml b/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml
index f075f45b8f..a5048e63b2 100644
--- a/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml
@@ -3,12 +3,14 @@
<string name="No Outfit" value="Nenhum"/>
<string name="Unsaved Changes" value="Mudanças não salvas"/>
<string name="Now Wearing" value="Look atual..."/>
+ <string name="Changing outfits" value="Mudando de look"/>
<panel name="panel_currentlook">
<button label="E" name="editappearance_btn"/>
<button label="O" name="openoutfit_btn"/>
<text name="currentlook_status">
(Status)
</text>
+ <button label="" name="edit_outfit_btn" tool_tip="Editar este look"/>
</panel>
<filter_editor label="Filtrar looks" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
index 4fc50bac67..92895b1043 100644
--- a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Perfil do objeto">
+<panel name="item properties" title="Perfil do item">
<panel.string name="unknown">
(desconhecido)
</panel.string>
@@ -15,7 +15,7 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
- <text name="title" value="Perfil do objeto"/>
+ <text name="title" value="Perfil do item"/>
<text name="where" value="(Inventário)"/>
<panel label="">
<text name="LabelItemNameTitle">
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 80f52dfe46..74ba7888e9 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -297,6 +297,9 @@
<string name="ReleaseNotes">
Notas de versão
</string>
+ <string name="RELEASE_NOTES_BASE_URL">
+ http://wiki.secondlife.com/wiki/Release_Notes/
+ </string>
<string name="LoadingData">
Carregando...
</string>
@@ -843,6 +846,9 @@
<string name="invalid">
Inválido
</string>
+ <string name="none">
+ nenhum
+ </string>
<string name="shirt_not_worn">
Camisa não vestida
</string>