diff options
Diffstat (limited to 'indra')
211 files changed, 4917 insertions, 3136 deletions
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 013cc5109f..fac0c9d955 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -155,3 +155,79 @@ MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources) ADD_DEPENDENCIES(${project} ${project}_tests) ENDMACRO(LL_ADD_PROJECT_UNIT_TESTS) +FUNCTION(LL_ADD_INTEGRATION_TEST + testname + additional_source_files + library_dependencies +# variable args + ) + if(TEST_DEBUG) + message(STATUS "Adding INTEGRATION_TEST_${testname} - debug output is on") + endif(TEST_DEBUG) + + SET(source_files + tests/${testname}_test.cpp + ${CMAKE_SOURCE_DIR}/test/test.cpp + ${CMAKE_SOURCE_DIR}/test/lltut.cpp + ${additional_source_files} + ) + + SET(libraries + ${library_dependencies} + ${PTHREAD_LIBRARY} + ) + + # Add test executable build target + if(TEST_DEBUG) + message(STATUS "ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})") + endif(TEST_DEBUG) + ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files}) + + # Add link deps to the executable + if(TEST_DEBUG) + message(STATUS "TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries})") + endif(TEST_DEBUG) + TARGET_LINK_LIBRARIES(INTEGRATION_TEST_${testname} ${libraries}) + + # Create the test running command + SET(test_command ${ARGN}) + GET_TARGET_PROPERTY(TEST_EXE INTEGRATION_TEST_${testname} LOCATION) + LIST(FIND test_command "{}" test_exe_pos) + IF(test_exe_pos LESS 0) + # The {} marker means "the full pathname of the test executable." + # test_exe_pos -1 means we didn't find it -- so append the test executable + # name to $ARGN, the variable part of the arg list. This is convenient + # shorthand for both straightforward execution of the test program (empty + # $ARGN) and for running a "wrapper" program of some kind accepting the + # pathname of the test program as the last of its args. You need specify + # {} only if the test program's pathname isn't the last argument in the + # desired command line. + LIST(APPEND test_command "${TEST_EXE}") + ELSE (test_exe_pos LESS 0) + # Found {} marker at test_exe_pos. Remove the {}... + LIST(REMOVE_AT test_command test_exe_pos) + # ...and replace it with the actual name of the test executable. + LIST(INSERT test_command test_exe_pos "${TEST_EXE}") + ENDIF (test_exe_pos LESS 0) + + SET(TEST_SCRIPT_CMD + ${CMAKE_COMMAND} + -DLD_LIBRARY_PATH=${ARCH_PREBUILT_DIRS}:/usr/lib + -DTEST_CMD:STRING="${test_command}" + -P ${CMAKE_SOURCE_DIR}/cmake/RunBuildTest.cmake + ) + + if(TEST_DEBUG) + message(STATUS "TEST_SCRIPT_CMD: ${TEST_SCRIPT_CMD}") + endif(TEST_DEBUG) + + ADD_CUSTOM_COMMAND( + TARGET INTEGRATION_TEST_${testname} + POST_BUILD + COMMAND ${TEST_SCRIPT_CMD} + ) + + # Use CTEST? Not sure how to yet... + # ADD_TEST(INTEGRATION_TEST_RUNNER_${testname} ${TEST_SCRIPT_CMD}) + +ENDFUNCTION(LL_ADD_INTEGRATION_TEST)
\ No newline at end of file diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake index c84df2b839..9ec23e80ca 100644 --- a/indra/cmake/WebKitLibPlugin.cmake +++ b/indra/cmake/WebKitLibPlugin.cmake @@ -6,21 +6,21 @@ if (STANDALONE) set(WEBKITLIBPLUGIN OFF CACHE BOOL "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.") else (STANDALONE) - use_prebuilt_binary(webkitlibplugin) + use_prebuilt_binary(llqtwebkit) set(WEBKITLIBPLUGIN ON CACHE BOOL "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.") endif (STANDALONE) if (WINDOWS) set(WEBKIT_PLUGIN_LIBRARIES - debug llwebkitlibd + debug llqtwebkitd debug QtWebKitd4 debug QtOpenGLd4 debug QtNetworkd4 debug QtGuid4 debug QtCored4 debug qtmaind - optimized llwebkitlib + optimized llqtwebkit optimized QtWebKit4 optimized QtOpenGL4 optimized QtNetwork4 @@ -30,12 +30,12 @@ if (WINDOWS) ) elseif (DARWIN) set(WEBKIT_PLUGIN_LIBRARIES - optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllwebkitlib.dylib - debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllwebkitlib.dylib + optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib + debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ) elseif (LINUX) set(WEBKIT_PLUGIN_LIBRARIES - llwebkitlib + llqtwebkit qgif # qico @@ -53,6 +53,7 @@ elseif (LINUX) fontconfig X11 + Xrender GL # sqlite3 diff --git a/indra/develop.py b/indra/develop.py index bdc277202e..7836c97473 100755 --- a/indra/develop.py +++ b/indra/develop.py @@ -578,19 +578,23 @@ class WindowsSetup(PlatformSetup): return ('"%sdevenv.com" %s.sln /build %s' % (self.find_visual_studio(), self.project_name, self.build_type)) - def run(self, command, name=None): + def run(self, command, name=None, retry_on=None, retries=1): '''Run a program. If the program fails, raise an exception.''' - ret = os.system(command) - if ret: - if name is None: - name = command.split(None, 1)[0] - path = self.find_in_path(name) - if not path: - ret = 'was not found' - else: - ret = 'exited with status %d' % ret - raise CommandError('the command %r %s' % - (name, ret)) + while retries: + retries = retries - 1 + ret = os.system(command) + if ret: + if name is None: + name = command.split(None, 1)[0] + path = self.find_in_path(name) + if not path: + error = 'was not found' + else: + error = 'exited with status %d' % ret + if retry_on is not None and retry_on == ret: + print "Retrying... the command %r %s" % (name, error) + else: + raise CommandError('the command %r %s' % (name, error)) def run_cmake(self, args=[]): '''Override to add the vstool.exe call after running cmake.''' @@ -628,11 +632,11 @@ class WindowsSetup(PlatformSetup): for t in targets: cmd = '%s /project %s %s' % (build_cmd, t, ' '.join(opts)) print 'Running %r in %r' % (cmd, d) - self.run(cmd) + self.run(cmd, retry_on=4, retries=3) else: cmd = '%s %s' % (build_cmd, ' '.join(opts)) print 'Running %r in %r' % (cmd, d) - self.run(cmd) + self.run(cmd, retry_on=4, retries=3) finally: os.chdir(cwd) diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index af573a7e6c..147b361ad8 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -63,6 +63,7 @@ set(llcommon_SOURCE_FILES llmemtype.cpp llmetrics.cpp llmortician.cpp + lloptioninterface.cpp llptrto.cpp llprocesslauncher.cpp llprocessor.cpp @@ -174,6 +175,7 @@ set(llcommon_HEADER_FILES llmetrics.h llmortician.h llnametable.h + lloptioninterface.h llpointer.h llpreprocessor.h llpriqueuemap.h @@ -291,13 +293,16 @@ add_dependencies(llcommon stage_third_party_libs) include(LLAddBuildTest) SET(llcommon_TEST_SOURCE_FILES - # WARNING: Please don't write tests against LLCommon or LLMath until this issue is resolved: https://jira.lindenlab.com/jira/browse/DEV-29456 - # lllazy.cpp ) LL_ADD_PROJECT_UNIT_TESTS(llcommon "${llcommon_TEST_SOURCE_FILES}") +#set(TEST_DEBUG on) +set(test_libs llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) +# Have to treat lllazy test as an integration test until this issue is resolved: +# https://jira.lindenlab.com/jira/browse/DEV-29456 +LL_ADD_INTEGRATION_TEST(lllazy lllazy.cpp "${test_libs}") + # *TODO - reenable these once tcmalloc libs no longer break the build. #ADD_BUILD_TEST(llallocator llcommon) #ADD_BUILD_TEST(llallocator_heap_profile llcommon) #ADD_BUILD_TEST(llmemtype llcommon) - diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h index 35f6f7028d..1a052ce62d 100644 --- a/indra/llcommon/llapp.h +++ b/indra/llcommon/llapp.h @@ -37,6 +37,7 @@ #include "llapr.h" #include "llrun.h" #include "llsd.h" +#include "lloptioninterface.h" // Forward declarations class LLErrorThread; @@ -61,7 +62,7 @@ public: }; #endif -class LL_COMMON_API LLApp +class LL_COMMON_API LLApp : public LLOptionInterface { friend class LLErrorThread; public: @@ -110,7 +111,7 @@ public: * @param name The name of the option. * @return Returns the option data. */ - LLSD getOption(const std::string& name) const; + virtual LLSD getOption(const std::string& name) const; /** * @brief Parse command line options and insert them into diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 8102eddb18..77c0c2294a 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -53,12 +53,11 @@ #include "llapp.h" #include "llapr.h" #include "llfile.h" -#include "llfixedbuffer.h" #include "lllivefile.h" #include "llsd.h" #include "llsdserialize.h" #include "llstl.h" - +#include "lltimer.h" namespace { #if !LL_WINDOWS @@ -192,16 +191,16 @@ namespace { class RecordToFixedBuffer : public LLError::Recorder { public: - RecordToFixedBuffer(LLFixedBuffer& buffer) : mBuffer(buffer) { } + RecordToFixedBuffer(LLLineBuffer* buffer) : mBuffer(buffer) { } virtual void recordMessage(LLError::ELevel level, - const std::string& message) + const std::string& message) { - mBuffer.addLine(message); + mBuffer->addLine(message); } private: - LLFixedBuffer& mBuffer; + LLLineBuffer* mBuffer; }; #if LL_WINDOWS @@ -209,7 +208,7 @@ namespace { { public: virtual void recordMessage(LLError::ELevel level, - const std::string& message) + const std::string& message) { llutf16string utf16str = wstring_to_utf16str(utf8str_to_wstring(message)); @@ -792,7 +791,7 @@ namespace LLError addRecorder(f); } - void logToFixedBuffer(LLFixedBuffer* fixedBuffer) + void logToFixedBuffer(LLLineBuffer* fixedBuffer) { LLError::Settings& s = LLError::Settings::get(); @@ -805,7 +804,7 @@ namespace LLError return; } - s.fixedBufferRecorder = new RecordToFixedBuffer(*fixedBuffer); + s.fixedBufferRecorder = new RecordToFixedBuffer(fixedBuffer); addRecorder(s.fixedBufferRecorder); } diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h index c84f5d0fd7..e069232798 100644 --- a/indra/llcommon/llerrorcontrol.h +++ b/indra/llcommon/llerrorcontrol.h @@ -38,7 +38,6 @@ #include "boost/function.hpp" #include <string> -class LLFixedBuffer; class LLSD; /* @@ -49,6 +48,18 @@ class LLSD; These implementations are in llerror.cpp. */ +// Line buffer interface +class LLLineBuffer +{ +public: + LLLineBuffer() {}; + virtual ~LLLineBuffer() {}; + + virtual void clear() = 0; // Clear the buffer, and reset it. + + virtual void addLine(const std::string& utf8line) = 0; +}; + namespace LLError { @@ -144,7 +155,7 @@ namespace LLError // each error message is passed to each recorder via recordMessage() LL_COMMON_API void logToFile(const std::string& filename); - LL_COMMON_API void logToFixedBuffer(LLFixedBuffer*); + LL_COMMON_API void logToFixedBuffer(LLLineBuffer*); // Utilities to add recorders for logging to a file or a fixed buffer // A second call to the same function will remove the logger added // with the first. diff --git a/indra/llcommon/llfixedbuffer.cpp b/indra/llcommon/llfixedbuffer.cpp index e9d6029378..1f6a06c247 100644 --- a/indra/llcommon/llfixedbuffer.cpp +++ b/indra/llcommon/llfixedbuffer.cpp @@ -32,20 +32,21 @@ #include "llfixedbuffer.h" +//////////////////////////////////////////////////////////////////////////// + LLFixedBuffer::LLFixedBuffer(const U32 max_lines) - : mMutex(NULL) + : LLLineBuffer(), + mMaxLines(max_lines), + mMutex(NULL) { - mMaxLines = max_lines; mTimer.reset(); } - LLFixedBuffer::~LLFixedBuffer() { clear(); } - void LLFixedBuffer::clear() { mMutex.lock() ; @@ -61,10 +62,10 @@ void LLFixedBuffer::clear() void LLFixedBuffer::addLine(const std::string& utf8line) { LLWString wstring = utf8str_to_wstring(utf8line); - LLFixedBuffer::addLine(wstring); + addWLine(wstring); } -void LLFixedBuffer::addLine(const LLWString& line) +void LLFixedBuffer::addWLine(const LLWString& line) { if (line.empty()) { diff --git a/indra/llcommon/llfixedbuffer.h b/indra/llcommon/llfixedbuffer.h index 51d0701736..17fdef27d7 100644 --- a/indra/llcommon/llfixedbuffer.h +++ b/indra/llcommon/llfixedbuffer.h @@ -38,14 +38,14 @@ #include <string> #include "llstring.h" #include "llthread.h" +#include "llerrorcontrol.h" -// Fixed size buffer for console output and other things. - -class LL_COMMON_API LLFixedBuffer +// fixed buffer implementation +class LL_COMMON_API LLFixedBuffer : public LLLineBuffer { public: LLFixedBuffer(const U32 max_lines = 20); - virtual ~LLFixedBuffer(); + ~LLFixedBuffer(); LLTimer mTimer; U32 mMaxLines; @@ -53,22 +53,18 @@ public: std::deque<F32> mAddTimes; std::deque<S32> mLineLengths; - void clear(); // Clear the buffer, and reset it. + /*virtual*/ void clear(); // Clear the buffer, and reset it. - //do not make these two "virtual" - void addLine(const std::string& utf8line); - void addLine(const LLWString& line); + /*virtual*/ void addLine(const std::string& utf8line); - // Get lines currently in the buffer, up to max_size chars, max_length lines - char *getLines(U32 max_size = 0, U32 max_length = 0); void setMaxLines(S32 max_lines); + protected: - virtual void removeExtraLines(); + void removeExtraLines(); + void addWLine(const LLWString& line); protected: LLMutex mMutex ; }; -const U32 FIXED_BUF_MAX_LINE_LEN = 255; // Not including termnating 0 - #endif //LL_FIXED_BUFFER_H diff --git a/indra/llcommon/lloptioninterface.cpp b/indra/llcommon/lloptioninterface.cpp new file mode 100644 index 0000000000..68c1ff1c41 --- /dev/null +++ b/indra/llcommon/lloptioninterface.cpp @@ -0,0 +1,39 @@ +/** + * @file lloptioninterface.cpp + * @brief + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#include "lloptioninterface.h" + + +LLOptionInterface::~LLOptionInterface() +{ + +} diff --git a/indra/llcommon/lloptioninterface.h b/indra/llcommon/lloptioninterface.h new file mode 100644 index 0000000000..4faf95f5e1 --- /dev/null +++ b/indra/llcommon/lloptioninterface.h @@ -0,0 +1,46 @@ +/** + * @file lloptioninterface.h + * @brief + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#ifndef LL_LLOPTIONINTERFACE_H +#define LL_LLOPTIONINTERFACE_H + +#include "linden_common.h" + +class LLSD; +class LLOptionInterface +{ +public: + virtual ~LLOptionInterface() = 0; + virtual LLSD getOption(const std::string& name) const = 0; +}; + +#endif diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index 0170c0762f..d2de499996 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -281,7 +281,8 @@ public: static void replaceTabsWithSpaces( std::basic_string<T>& string, size_type spaces_per_tab );
static void replaceNonstandardASCII( std::basic_string<T>& string, T replacement );
static void replaceChar( std::basic_string<T>& string, T target, T replacement );
-
+ static void replaceString( std::basic_string<T>& string, std::basic_string<T> target, std::basic_string<T> replacement );
+
static BOOL containsNonprintable(const std::basic_string<T>& string);
static void stripNonprintable(std::basic_string<T>& string);
@@ -1196,11 +1197,22 @@ template<class T> void LLStringUtilBase<T>::replaceChar( std::basic_string<T>& string, T target, T replacement )
{
size_type found_pos = 0;
- for (found_pos = string.find(target, found_pos);
- found_pos != std::basic_string<T>::npos;
- found_pos = string.find(target, found_pos))
+ while( (found_pos = string.find(target, found_pos)) != std::basic_string<T>::npos )
{
string[found_pos] = replacement;
+ found_pos++; // avoid infinite defeat if target == replacement
+ }
+}
+
+//static
+template<class T>
+void LLStringUtilBase<T>::replaceString( std::basic_string<T>& string, std::basic_string<T> target, std::basic_string<T> replacement )
+{
+ size_type found_pos = 0;
+ while( (found_pos = string.find(target, found_pos)) != std::basic_string<T>::npos )
+ {
+ string.replace( found_pos, target.length(), replacement );
+ found_pos += replacement.length(); // avoid infinite defeat if replacement contains target
}
}
diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index 3970c7a92c..d27a1467ea 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -86,7 +86,8 @@ add_library (llmath ${llmath_SOURCE_FILES}) include(LLAddBuildTest) SET(llmath_TEST_SOURCE_FILES - # WARNING: Please don't write tests against LLCommon or LLMath until this issue is resolved: https://jira.lindenlab.com/jira/browse/DEV-29456 + # nat 2009-08-28: found this commented out and considered implementing it + # using LL_ADD_INTEGRATION_TEST, but there's no llvolume_test.cpp source? # llvolume.cpp ) LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}") diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt index 2c50a9b1cd..8e84e54ccf 100644 --- a/indra/llmessage/CMakeLists.txt +++ b/indra/llmessage/CMakeLists.txt @@ -223,11 +223,22 @@ IF (NOT LINUX AND VIEWER) # llhttpclientadapter.cpp lltrustedmessageservice.cpp lltemplatemessagedispatcher.cpp - # Commented out - see rationale at bottom of newview's build file + poppy 2009-06-05 - # Don't make llmessage depend on llsdmessage_test because ADD_COMM_BUILD_TEST depends on llmessage! - # ADD_COMM_BUILD_TEST(llsdmessage "" "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py") - # llareslistener.cpp +# set(TEST_DEBUG on) + set(test_libs + ${LLMESSAGE_LIBRARIES} + ${WINDOWS_LIBRARIES} + ${LLVFS_LIBRARIES} + ${LLMATH_LIBRARIES} + ${LLCOMMON_LIBRARIES} + ) + + LL_ADD_INTEGRATION_TEST( + llsdmessage + "llsdmessage.cpp" + "${test_libs}" + ${PYTHON_EXECUTABLE} + "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py" ) - LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}") + LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}") ENDIF (NOT LINUX AND VIEWER) diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp index db1611abb5..ede32084d0 100644 --- a/indra/llui/llkeywords.cpp +++ b/indra/llui/llkeywords.cpp @@ -245,7 +245,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW return; } - S32 text_len = wtext.size(); + S32 text_len = wtext.size() + 1; seg_list->push_back( new LLNormalTextSegment( defaultColor, 0, text_len, editor ) ); diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 4edae46f32..d6dfe6c198 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -1642,6 +1642,7 @@ LLMenuGL::LLMenuGL(const LLMenuGL::Params& p) mHorizontalLayout( p.horizontal_layout ), mScrollable(mHorizontalLayout ? FALSE : p.scrollable), // Scrolling is supported only for vertical layout mMaxScrollableItems(p.max_scrollable_items), + mPreferredWidth(p.preferred_width), mKeepFixedSize( p.keep_fixed_size ), mLabel (p.label), mLastMouseX(0), @@ -2025,6 +2026,9 @@ void LLMenuGL::arrange( void ) } } + if (mPreferredWidth < U32_MAX) + width = llmin(mPreferredWidth, max_width); + if (mScrollable) { S32 max_items_height = max_height - spillover_item_height * 2; diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index 44459a6c0e..0bf6301f93 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -383,6 +383,7 @@ public: keep_fixed_size, scrollable; Optional<U32> max_scrollable_items; + Optional<U32> preferred_width; Optional<LLUIColor> bg_color; Optional<S32> shortcut_pad; @@ -396,7 +397,9 @@ public: bg_color("bg_color", LLUIColorTable::instance().getColor( "MenuDefaultBgColor" )), scrollable("scrollable", false), max_scrollable_items("max_scrollable_items", U32_MAX), + preferred_width("preferred_width", U32_MAX), shortcut_pad("shortcut_pad") + { addSynonym(bg_visible, "opaque"); addSynonym(bg_color, "color"); @@ -544,6 +547,7 @@ protected: S32 mMouseVelX; S32 mMouseVelY; U32 mMaxScrollableItems; + U32 mPreferredWidth; BOOL mHorizontalLayout; BOOL mScrollable; BOOL mKeepFixedSize; diff --git a/indra/llui/llmodaldialog.cpp b/indra/llui/llmodaldialog.cpp index c8162fe466..f77ec5f4c7 100644 --- a/indra/llui/llmodaldialog.cpp +++ b/indra/llui/llmodaldialog.cpp @@ -44,11 +44,10 @@ // static std::list<LLModalDialog*> LLModalDialog::sModalStack; -LLModalDialog::LLModalDialog( const LLSD& key, S32 width, S32 height, BOOL modal ) +LLModalDialog::LLModalDialog( const LLSD& key, BOOL modal ) : LLFloater(key), mModal( modal ) { - setRect(LLRect( 0, height, width, 0 )); if (modal) { setCanMinimize(FALSE); @@ -98,7 +97,8 @@ void LLModalDialog::reshape(S32 width, S32 height, BOOL called_from_parent) centerOnScreen(); } -void LLModalDialog::startModal() +// virtual +void LLModalDialog::onOpen(const LLSD& key) { if (mModal) { @@ -116,8 +116,6 @@ void LLModalDialog::startModal() sModalStack.push_front( this ); } - - setVisible( TRUE ); } void LLModalDialog::stopModal() diff --git a/indra/llui/llmodaldialog.h b/indra/llui/llmodaldialog.h index 4d5073024b..9d716a1880 100644 --- a/indra/llui/llmodaldialog.h +++ b/indra/llui/llmodaldialog.h @@ -45,18 +45,16 @@ class LLModalDialog; class LLModalDialog : public LLFloater { public: - LLModalDialog( const LLSD& key, S32 width, S32 height, BOOL modal = true ); + LLModalDialog( const LLSD& key, BOOL modal = true ); /*virtual*/ ~LLModalDialog(); /*virtual*/ BOOL postBuild(); /*virtual*/ void openFloater(const LLSD& key = LLSD()); + /*virtual*/ void onOpen(const LLSD& key); /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); - /*virtual*/ void startModal(); - /*virtual*/ void stopModal(); - /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask); /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask); @@ -68,7 +66,8 @@ public: /*virtual*/ void setVisible(BOOL visible); /*virtual*/ void draw(); - BOOL isModal() const { return mModal; } + BOOL isModal() const { return mModal; } + void stopModal(); static void onAppFocusLost(); static void onAppFocusGained(); @@ -79,6 +78,7 @@ protected: void centerOnScreen(); private: + LLFrameTimer mVisibleTime; const BOOL mModal; diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp index 0b987bfcb5..c81be6086a 100644 --- a/indra/llui/llpanel.cpp +++ b/indra/llui/llpanel.cpp @@ -58,6 +58,11 @@ static LLDefaultChildRegistry::Register<LLPanel> r1("panel", &LLPanel::fromXML); +LLPanel::LocalizedString::LocalizedString() +: name("name"), + value("value") +{} + const LLPanel::Params& LLPanel::getDefaultParams() { return LLUICtrlFactory::getDefaultParams<LLPanel>(); @@ -675,6 +680,9 @@ BOOL LLPanel::childHasFocus(const std::string& id) } // *TODO: Deprecate; for backwards compatability only: +// Prefer getChild<LLUICtrl>("foo")->setCommitCallback(boost:bind(...)), +// which takes a generic slot. Or use mCommitCallbackRegistrar.add() with +// a named callback and reference it in XML. void LLPanel::childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data) { LLUICtrl* child = findChild<LLUICtrl>(id); diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index 28cd4d2799..3f1d1fdc5d 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -63,10 +63,7 @@ public: Mandatory<std::string> name; Mandatory<std::string> value; - LocalizedString() - : name("name"), - value("value") - {} + LocalizedString(); }; struct Params @@ -185,7 +182,11 @@ public: BOOL childHasFocus(const std::string& id); // *TODO: Deprecate; for backwards compatability only: + // Prefer getChild<LLUICtrl>("foo")->setCommitCallback(boost:bind(...)), + // which takes a generic slot. Or use mCommitCallbackRegistrar.add() with + // a named callback and reference it in XML. void childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data); + void childSetValidate(const std::string& id, boost::function<bool (const LLSD& data)> cb ); void childSetColor(const std::string& id, const LLColor4& color); diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp index 7b96446fa1..3a96bc8f93 100644 --- a/indra/llui/llspinctrl.cpp +++ b/indra/llui/llspinctrl.cpp @@ -174,23 +174,33 @@ void LLSpinCtrl::onUpBtn( const LLSD& data ) { if( getEnabled() ) { - // use getValue()/setValue() to force reload from/to control - F32 val = (F32)getValue().asReal() + mIncrement; - val = clamp_precision(val, mPrecision); - val = llmin( val, mMaxValue ); - - F32 saved_val = (F32)getValue().asReal(); - setValue(val); - if( !mValidateSignal( this, val ) ) + std::string text = mEditor->getText(); + if( LLLineEditor::postvalidateFloat( text ) ) { - setValue( saved_val ); - reportInvalidData(); - updateEditor(); - return; - } + + LLLocale locale(LLLocale::USER_LOCALE); + F32 cur_val = (F32) atof(text.c_str()); + + // use getValue()/setValue() to force reload from/to control + F32 val = cur_val + mIncrement; + val = clamp_precision(val, mPrecision); + val = llmin( val, mMaxValue ); + if (val < mMinValue) val = mMinValue; + if (val > mMaxValue) val = mMaxValue; + + F32 saved_val = (F32)getValue().asReal(); + setValue(val); + if( !mValidateSignal( this, val ) ) + { + setValue( saved_val ); + reportInvalidData(); + updateEditor(); + return; + } updateEditor(); onCommit(); + } } } @@ -198,22 +208,33 @@ void LLSpinCtrl::onDownBtn( const LLSD& data ) { if( getEnabled() ) { - F32 val = (F32)getValue().asReal() - mIncrement; - val = clamp_precision(val, mPrecision); - val = llmax( val, mMinValue ); - - F32 saved_val = (F32)getValue().asReal(); - setValue(val); - if( !mValidateSignal( this, val ) ) + std::string text = mEditor->getText(); + if( LLLineEditor::postvalidateFloat( text ) ) { - setValue( saved_val ); - reportInvalidData(); + + LLLocale locale(LLLocale::USER_LOCALE); + F32 cur_val = (F32) atof(text.c_str()); + + F32 val = cur_val - mIncrement; + val = clamp_precision(val, mPrecision); + val = llmax( val, mMinValue ); + + if (val < mMinValue) val = mMinValue; + if (val > mMaxValue) val = mMaxValue; + + F32 saved_val = (F32)getValue().asReal(); + setValue(val); + if( !mValidateSignal( this, val ) ) + { + setValue( saved_val ); + reportInvalidData(); + updateEditor(); + return; + } + updateEditor(); - return; + onCommit(); } - - updateEditor(); - onCommit(); } } diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index ee36318107..e379954b4f 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -820,20 +820,29 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel) // Tab panel S32 tab_panel_top; S32 tab_panel_bottom; - if( getTabPosition() == LLTabContainer::TOP ) + if (!getTabsHidden()) { - S32 tab_height = mIsVertical ? BTN_HEIGHT : tabcntr_tab_height; - tab_panel_top = getRect().getHeight() - getTopBorderHeight() - (tab_height - tabcntr_button_panel_overlap); - tab_panel_bottom = LLPANEL_BORDER_WIDTH; + if( getTabPosition() == LLTabContainer::TOP ) + { + S32 tab_height = mIsVertical ? BTN_HEIGHT : tabcntr_tab_height; + tab_panel_top = getRect().getHeight() - getTopBorderHeight() - (tab_height - tabcntr_button_panel_overlap); + tab_panel_bottom = LLPANEL_BORDER_WIDTH; + } + else + { + tab_panel_top = getRect().getHeight() - getTopBorderHeight(); + tab_panel_bottom = (tabcntr_tab_height - tabcntr_button_panel_overlap); // Run to the edge, covering up the border + } } else { - tab_panel_top = getRect().getHeight() - getTopBorderHeight(); - tab_panel_bottom = (tabcntr_tab_height - tabcntr_button_panel_overlap); // Run to the edge, covering up the border + //Scip tab button space if they are invisible(EXT - 576) + tab_panel_top = getRect().getHeight(); + tab_panel_bottom = LLPANEL_BORDER_WIDTH; } - + LLRect tab_panel_rect; - if (mIsVertical) + if (!getTabsHidden() && mIsVertical) { tab_panel_rect = LLRect(mMinTabWidth + (LLPANEL_BORDER_WIDTH * 2) + tabcntrv_pad, getRect().getHeight() - LLPANEL_BORDER_WIDTH, @@ -967,16 +976,21 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel) LLTabTuple* tuple = new LLTabTuple( this, child, btn, textbox ); insertTuple( tuple, insertion_point ); - if (textbox) - { - textbox->setSaveToXML(false); - addChild( textbox, 0 ); - } - if (btn) + //Don't add button and textbox if tab buttons are invisible(EXT - 576) + if (!getTabsHidden()) { - btn->setSaveToXML(false); - addChild( btn, 0 ); + if (textbox) + { + textbox->setSaveToXML(false); + addChild( textbox, 0 ); + } + if (btn) + { + btn->setSaveToXML(false); + addChild( btn, 0 ); + } } + if (child) { LLUICtrl::addChild(child, 1); diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp index 52ef1baabf..745e53c980 100644 --- a/indra/llvfs/lldir.cpp +++ b/indra/llvfs/lldir.cpp @@ -475,6 +475,8 @@ std::string LLDir::getDirName(const std::string& filepath) const std::string LLDir::getExtension(const std::string& filepath) const { + if (filepath.empty()) + return std::string(); std::string basename = getBaseFileName(filepath, false); std::size_t offset = basename.find_last_of('.'); std::string exten = (offset == std::string::npos || offset == 0) ? "" : basename.substr(offset+1); diff --git a/indra/lscript/lscript_compile/lscript_tree.cpp b/indra/lscript/lscript_compile/lscript_tree.cpp index e291d4c6f8..98146d6f2b 100644 --- a/indra/lscript/lscript_compile/lscript_tree.cpp +++ b/indra/lscript/lscript_compile/lscript_tree.cpp @@ -10673,20 +10673,21 @@ void LLScriptScript::recurse(LLFILE *fp, S32 tabs, S32 tabsize, LSCRIPTCompilePa { mGlobalScope = new LLScriptScope(gScopeStringTable); // zeroth, add library functions to global scope - S32 i; + U16 function_index = 0; const char *arg; LLScriptScopeEntry *sentry; - for (i = 0; i < gScriptLibrary.mNextNumber; i++) + for (std::vector<LLScriptLibraryFunction>::const_iterator i = gScriptLibrary.mFunctions.begin(); + i != gScriptLibrary.mFunctions.end(); ++i) { // First, check to make sure this isn't a god only function, or that the viewer's agent is a god. - if (!gScriptLibrary.mFunctions[i]->mGodOnly || mGodLike) + if (!i->mGodOnly || mGodLike) { - if (gScriptLibrary.mFunctions[i]->mReturnType) - sentry = mGlobalScope->addEntry(gScriptLibrary.mFunctions[i]->mName, LIT_LIBRARY_FUNCTION, char2type(*gScriptLibrary.mFunctions[i]->mReturnType)); + if (i->mReturnType) + sentry = mGlobalScope->addEntry(i->mName, LIT_LIBRARY_FUNCTION, char2type(*i->mReturnType)); else - sentry = mGlobalScope->addEntry(gScriptLibrary.mFunctions[i]->mName, LIT_LIBRARY_FUNCTION, LST_NULL); - sentry->mLibraryNumber = i; - arg = gScriptLibrary.mFunctions[i]->mArgs; + sentry = mGlobalScope->addEntry(i->mName, LIT_LIBRARY_FUNCTION, LST_NULL); + sentry->mLibraryNumber = function_index; + arg = i->mArgs; if (arg) { while (*arg) @@ -10698,6 +10699,7 @@ void LLScriptScript::recurse(LLFILE *fp, S32 tabs, S32 tabsize, LSCRIPTCompilePa } } } + function_index++; } // first go and collect all the global variables if (mGlobals) diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index d7f445d3d8..2fd81210c0 100644 --- a/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/indra/lscript/lscript_execute/lscript_execute.cpp @@ -4240,13 +4240,13 @@ BOOL run_calllib(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) printf("[0x%X]\tCALLLIB ", offset); offset++; U8 arg = safe_instruction_bytestream2byte(buffer, offset); - if (arg >= gScriptLibrary.mNextNumber) + if (arg >= (U8)gScriptLibrary.mFunctions.size()) { set_fault(buffer, LSRF_BOUND_CHECK_ERROR); return FALSE; } if (b_print) - printf("%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg]->mName); + printf("%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg].mName); // pull out the arguments and the return values LLScriptLibData *arguments = NULL; @@ -4254,14 +4254,14 @@ BOOL run_calllib(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) S32 i, number; - if (gScriptLibrary.mFunctions[arg]->mReturnType) + if (gScriptLibrary.mFunctions[arg].mReturnType) { returnvalue = new LLScriptLibData; } - if (gScriptLibrary.mFunctions[arg]->mArgs) + if (gScriptLibrary.mFunctions[arg].mArgs) { - number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); /*Flawfinder: ignore*/ + number = (S32)strlen(gScriptLibrary.mFunctions[arg].mArgs); /*Flawfinder: ignore*/ arguments = new LLScriptLibData[number]; } else @@ -4271,23 +4271,23 @@ BOOL run_calllib(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &id) for (i = number - 1; i >= 0; i--) { - lscript_pop_variable(&arguments[i], buffer, gScriptLibrary.mFunctions[arg]->mArgs[i]); + lscript_pop_variable(&arguments[i], buffer, gScriptLibrary.mFunctions[arg].mArgs[i]); } if (b_print) { - printf("%s\n", gScriptLibrary.mFunctions[arg]->mDesc); + printf("See LSLTipText_%s in strings.xml for usage\n", gScriptLibrary.mFunctions[arg].mName); } { - gScriptLibrary.mFunctions[arg]->mExecFunc(returnvalue, arguments, id); + gScriptLibrary.mFunctions[arg].mExecFunc(returnvalue, arguments, id); } - add_register_fp(buffer, LREG_ESR, -gScriptLibrary.mFunctions[arg]->mEnergyUse); - add_register_fp(buffer, LREG_SLR, gScriptLibrary.mFunctions[arg]->mSleepTime); + add_register_fp(buffer, LREG_ESR, -gScriptLibrary.mFunctions[arg].mEnergyUse); + add_register_fp(buffer, LREG_SLR, gScriptLibrary.mFunctions[arg].mSleepTime); if (returnvalue) { - returnvalue->mType = char2type(*gScriptLibrary.mFunctions[arg]->mReturnType); + returnvalue->mType = char2type(*gScriptLibrary.mFunctions[arg].mReturnType); lscript_push_return_variable(returnvalue, buffer); } @@ -4310,13 +4310,13 @@ BOOL run_calllib_two_byte(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &i printf("[0x%X]\tCALLLIB ", offset); offset++; U16 arg = safe_instruction_bytestream2u16(buffer, offset); - if (arg >= gScriptLibrary.mNextNumber) + if (arg >= (U16)gScriptLibrary.mFunctions.size()) { set_fault(buffer, LSRF_BOUND_CHECK_ERROR); return FALSE; } if (b_print) - printf("%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg]->mName); + printf("%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg].mName); // pull out the arguments and the return values LLScriptLibData *arguments = NULL; @@ -4324,14 +4324,14 @@ BOOL run_calllib_two_byte(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &i S32 i, number; - if (gScriptLibrary.mFunctions[arg]->mReturnType) + if (gScriptLibrary.mFunctions[arg].mReturnType) { returnvalue = new LLScriptLibData; } - if (gScriptLibrary.mFunctions[arg]->mArgs) + if (gScriptLibrary.mFunctions[arg].mArgs) { - number = (S32)strlen(gScriptLibrary.mFunctions[arg]->mArgs); /*Flawfinder: ignore*/ + number = (S32)strlen(gScriptLibrary.mFunctions[arg].mArgs); /*Flawfinder: ignore*/ arguments = new LLScriptLibData[number]; } else @@ -4341,23 +4341,23 @@ BOOL run_calllib_two_byte(U8 *buffer, S32 &offset, BOOL b_print, const LLUUID &i for (i = number - 1; i >= 0; i--) { - lscript_pop_variable(&arguments[i], buffer, gScriptLibrary.mFunctions[arg]->mArgs[i]); + lscript_pop_variable(&arguments[i], buffer, gScriptLibrary.mFunctions[arg].mArgs[i]); } if (b_print) { - printf("%s\n", gScriptLibrary.mFunctions[arg]->mDesc); + printf("See LSLTipText_%s in strings.xml for usage\n", gScriptLibrary.mFunctions[arg].mName); } { - gScriptLibrary.mFunctions[arg]->mExecFunc(returnvalue, arguments, id); + gScriptLibrary.mFunctions[arg].mExecFunc(returnvalue, arguments, id); } - add_register_fp(buffer, LREG_ESR, -gScriptLibrary.mFunctions[arg]->mEnergyUse); - add_register_fp(buffer, LREG_SLR, gScriptLibrary.mFunctions[arg]->mSleepTime); + add_register_fp(buffer, LREG_ESR, -gScriptLibrary.mFunctions[arg].mEnergyUse); + add_register_fp(buffer, LREG_SLR, gScriptLibrary.mFunctions[arg].mSleepTime); if (returnvalue) { - returnvalue->mType = char2type(*gScriptLibrary.mFunctions[arg]->mReturnType); + returnvalue->mType = char2type(*gScriptLibrary.mFunctions[arg].mReturnType); lscript_push_return_variable(returnvalue, buffer); } diff --git a/indra/lscript/lscript_execute/lscript_readlso.cpp b/indra/lscript/lscript_execute/lscript_readlso.cpp index faf4fba0e0..2948ebca63 100644 --- a/indra/lscript/lscript_execute/lscript_readlso.cpp +++ b/indra/lscript/lscript_execute/lscript_readlso.cpp @@ -1579,7 +1579,7 @@ void print_calllib(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs) lso_print_tabs(fp, tabs); fprintf(fp, "[0x%X]\tCALLLIB ", offset++); arg = *(buffer + offset++); - fprintf(fp, "%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg]->mName); + fprintf(fp, "%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg].mName); } @@ -1589,6 +1589,6 @@ void print_calllib_two_byte(LLFILE *fp, U8 *buffer, S32 &offset, S32 tabs) lso_print_tabs(fp, tabs); fprintf(fp, "[0x%X]\tCALLLIB_TWO_BYTE ", offset++); arg = bytestream2u16(buffer, offset); - fprintf(fp, "%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg]->mName); + fprintf(fp, "%d (%s)\n", (U32)arg, gScriptLibrary.mFunctions[arg].mName); } diff --git a/indra/lscript/lscript_library.h b/indra/lscript/lscript_library.h index fa3b06b7d9..6728d70d0a 100644 --- a/indra/lscript/lscript_library.h +++ b/indra/lscript/lscript_library.h @@ -44,7 +44,7 @@ class LLScriptLibData; class LLScriptLibraryFunction { public: - LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, const char *desc, BOOL god_only = FALSE); + LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, BOOL god_only = FALSE); ~LLScriptLibraryFunction(); F32 mEnergyUse; @@ -53,7 +53,6 @@ public: const char *mName; const char *mReturnType; const char *mArgs; - const char *mDesc; BOOL mGodOnly; }; @@ -65,11 +64,10 @@ public: void init(); - void addFunction(LLScriptLibraryFunction *func); + void addFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, BOOL god_only = FALSE); void assignExec(const char *name, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &)); - S32 mNextNumber; - LLScriptLibraryFunction **mFunctions; + std::vector<LLScriptLibraryFunction> mFunctions; }; extern LLScriptLibrary gScriptLibrary; diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp index 0342c97429..0d51c27c92 100644 --- a/indra/lscript/lscript_library/lscript_library.cpp +++ b/indra/lscript/lscript_library/lscript_library.cpp @@ -49,20 +49,12 @@ #include "lscript_library.h" LLScriptLibrary::LLScriptLibrary() -: mNextNumber(0), mFunctions(NULL) { init(); } LLScriptLibrary::~LLScriptLibrary() { - S32 i; - for (i = 0; i < mNextNumber; i++) - { - delete mFunctions[i]; - mFunctions[i] = NULL; - } - delete [] mFunctions; } void dummy_func(LLScriptLibData *retval, LLScriptLibData *args, const LLUUID &id) @@ -75,448 +67,424 @@ void LLScriptLibrary::init() // Otherwise the bytecode numbers for each call will be wrong, and all // existing scripts will crash. - // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSin", "f", "f", "float llSin(float theta)\ntheta in radians")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCos", "f", "f", "float llCos(float theta)\ntheta in radians")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTan", "f", "f", "float llTan(float theta)\ntheta radians")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAtan2", "f", "ff", "float llAtan2(float y, float x)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSqrt", "f", "f", "float llSqrt(float val)\nreturns 0 and triggers a Math Error for imaginary results")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPow", "f", "ff", "float llPow(float base, float exponent)\nreturns 0 and triggers Math Error for imaginary results")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAbs", "i", "i", "integer llAbs(integer val)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llFabs", "f", "f", "float llFabs(float val)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llFrand", "f", "f", "float llFrand(float mag)\nreturns random number in range [0,mag)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llFloor", "i", "f", "integer llFloor(float val)\nreturns largest integer value <= val")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCeil", "i", "f", "integer llCeil(float val)\nreturns smallest integer value >= val")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRound", "i", "f", "integer llRound(float val)\nreturns val rounded to the nearest integer")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llVecMag", "f", "v", "float llVecMag(vector v)\nreturns the magnitude of v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llVecNorm", "v", "v", "vector llVecNorm(vector v)\nreturns the v normalized")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llVecDist", "f", "vv", "float llVecDist(vector v1, vector v2)\nreturns the 3D distance between v1 and v2")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Euler", "v", "q", "vector llRot2Euler(rotation q)\nreturns the Euler representation (roll, pitch, yaw) of q")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llEuler2Rot", "q", "v", "rotation llEuler2Rot(vector v)\nreturns the rotation representation of Euler Angles v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAxes2Rot", "q", "vvv", "rotation llAxes2Rot(vector fwd, vector left, vector up)\nreturns the rotation defined by the coordinate axes")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Fwd", "v", "q", "vector llRot2Fwd(rotation q)\nreturns the forward vector defined by q")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Left", "v", "q", "vector llRot2Left(rotation q)\nreturns the left vector defined by q")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Up", "v", "q", "vector llRot2Up(rotation q)\nreturns the up vector defined by q")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRotBetween", "q", "vv", "rotation llRotBetween(vector v1, vector v2)\nreturns the rotation to rotate v1 to v2")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llWhisper", NULL, "is", "llWhisper(integer channel, string msg)\nwhispers msg on channel")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSay", NULL, "is", "llSay(integer channel, string msg)\nsays msg on channel")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llShout", NULL, "is", "llShout(integer channel, string msg)\nshouts msg on channel")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListen", "i", "isks", "integer llListen(integer channel, string name, key id, string msg)\nsets a callback for msg on channel from name and id (name, id, and/or msg can be empty) and returns an identifier that can be used to deactivate or remove the listen")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListenControl", NULL, "ii", "llListenControl(integer number, integer active)\nmakes a listen event callback active or inactive")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListenRemove", NULL, "i", "llListenRemove(integer number)\nremoves listen event callback number")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSensor", NULL, "skiff", "llSensor(string name, key id, integer type, float range, float arc)\nPerforms a single scan for name and id with type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within range meters and arc radians of forward vector (name, id, and/or keytype can be empty or 0)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSensorRepeat", NULL, "skifff", "llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)\nsets a callback for name and id with type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within range meters and arc radians of forward vector (name, id, and/or keytype can be empty or 0) and repeats every rate seconds")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSensorRemove", NULL, NULL, "llSensorRemove()\nremoves sensor")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedName", "s", "i", "string llDetectedName(integer number)\nreturns the name of detected object number (returns empty string if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedKey", "k", "i", "key llDetectedKey(integer number)\nreturns the key of detected object number (returns empty key if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedOwner", "k", "i", "key llDetectedOwner(integer number)\nreturns the key of detected object's owner (returns empty key if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedType", "i", "i", "integer llDetectedType(integer number)\nreturns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object (returns 0 if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedPos", "v", "i", "vector llDetectedPos(integer number)\nreturns the position of detected object number (returns <0,0,0> if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedVel", "v", "i", "vector llDetectedVel(integer number)\nreturns the velocity of detected object number (returns <0,0,0> if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedGrab", "v", "i", "vector llDetectedGrab(integer number)\nreturns the grab offset of the user touching object (returns <0,0,0> if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedRot", "q", "i", "rotation llDetectedRot(integer number)\nreturns the rotation of detected object number (returns <0,0,0,1> if number is not valid sensed object)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedGroup", "i", "i", "integer llDetectedGroup(integer number)\nReturns TRUE if detected object is part of same group as owner")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedLinkNumber", "i", "i", "integer llDetectedLinkNumber(integer number)\nreturns the link position of the triggered event for touches and collisions only")); - addFunction(new LLScriptLibraryFunction(0.f, 0.f, dummy_func, "llDie", NULL, NULL, "llDie()\ndeletes the object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGround", "f", "v", "float llGround(vector v)\nreturns the ground height below the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCloud", "f", "v", "float llCloud(vector v)\nreturns the cloud density at the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llWind", "v", "v", "vector llWind(vector v)\nreturns the wind velocity at the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetStatus", NULL, "ii", "llSetStatus(integer status, integer value)\nsets status (STATUS_PHYSICS, STATUS_PHANTOM, STATUS_BLOCK_GRAB,\nSTATUS_ROTATE_X, STATUS_ROTATE_Y, and/or STATUS_ROTATE_Z) to value")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetStatus", "i", "i", "integer llGetStatus(integer status)\ngets value of status (STATUS_PHYSICS, STATUS_PHANTOM, STATUS_BLOCK_GRAB,\nSTATUS_ROTATE_X, STATUS_ROTATE_Y, and/or STATUS_ROTATE_Z)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetScale", NULL, "v", "llSetScale(vector scale)\nsets the scale")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetScale", "v", NULL, "vector llGetScale()\ngets the scale")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetColor", NULL, "vi", "llSetColor(vector color, integer face)\nsets the color")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAlpha", "f", "i", "float llGetAlpha(integer face)\ngets the alpha")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetAlpha", NULL, "fi", "llSetAlpha(float alpha, integer face)\nsets the alpha")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetColor", "v", "i", "vector llGetColor(integer face)\ngets the color")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetTexture", NULL, "si", "llSetTexture(string texture, integer face)\nsets the texture of face")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llScaleTexture", NULL, "ffi", "llScaleTexture(float scales, float scalet, integer face)\nsets the texture s, t scales for the chosen face")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llOffsetTexture", NULL, "ffi", "llOffsetTexture(float offsets, float offsett, integer face)\nsets the texture s, t offsets for the chosen face")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llRotateTexture", NULL, "fi", "llRotateTexture(float rotation, integer face)\nsets the texture rotation for the chosen face")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTexture", "s", "i", "string llGetTexture(integer face)\ngets the texture of face (if it's a texture in the object inventory, otherwise the key in a string)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetPos", NULL, "v", "llSetPos(vector pos)\nsets the position (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetPos", "v", NULL, "vector llGetPos()\ngets the position (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLocalPos", "v", NULL, "vector llGetLocalPos()\ngets the position relative to the root (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetRot", NULL, "q", "llSetRot(rotation rot)\nsets the rotation (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRot", "q", NULL, "rotation llGetRot()\ngets the rotation (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLocalRot", "q", NULL, "rotation llGetLocalRot()\ngets the rotation local to the root (if the script isn't physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetForce", NULL, "vi", "llSetForce(vector force, integer local)\nsets force on object, in local coords if local == TRUE (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetForce", "v", NULL, "vector llGetForce()\ngets the force (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTarget", "i", "vf", "integer llTarget(vector position, float range)\nset positions within range of position as a target and return an ID for the target")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTargetRemove", NULL, "i", "llTargetRemove(integer number)\nremoves target number")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRotTarget", "i", "qf", "integer llRotTarget(rotation rot, float error)\nset rotations with error of rot as a rotational target and return an ID for the rotational target")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRotTargetRemove", NULL, "i", "llRotTargetRemove(integer number)\nremoves rotational target number")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llMoveToTarget", NULL, "vf", "llMoveToTarget(vector target, float tau)\ncritically damp to target in tau seconds (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopMoveToTarget", NULL, NULL, "llStopMoveToTarget()\nStops critically damped motion")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llApplyImpulse", NULL, "vi", "llApplyImpulse(vector force, integer local)\napplies impulse to object, in local coords if local == TRUE (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llApplyRotationalImpulse", NULL, "vi", "llApplyRotationalImpulse(vector force, integer local)\napplies rotational impulse to object, in local coords if local == TRUE (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetTorque", NULL, "vi", "llSetTorque(vector torque, integer local)\nsets the torque of object, in local coords if local == TRUE (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTorque", "v", NULL, "vector llGetTorque()\ngets the torque (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetForceAndTorque", NULL, "vvi", "llSetForceAndTorque(vector force, vector torque, integer local)\nsets the force and torque of object, in local coords if local == TRUE (if the script is physical)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetVel", "v", NULL, "vector llGetVel()\ngets the velocity")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAccel", "v", NULL, "vector llGetAccel()\ngets the acceleration")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetOmega", "v", NULL, "vector llGetOmega()\ngets the omega")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTimeOfDay", "f", "", "float llGetTimeOfDay()\ngets the time in seconds since Second Life server midnight (or since server up-time; whichever is smaller)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetWallclock", "f", "", "float llGetWallclock()\ngets the time in seconds since midnight")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTime", "f", NULL, "float llGetTime()\ngets the time in seconds since creation")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llResetTime", NULL, NULL, "llResetTime()\nsets the time to zero")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAndResetTime", "f", NULL, "float llGetAndResetTime()\ngets the time in seconds since creation and sets the time to zero")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSound", NULL, "sfii", "llSound(string sound, float volume, integer queue, integer loop)\nplays sound at volume and whether it should loop or not")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPlaySound", NULL, "sf", "llPlaySound(string sound, float volume)\nplays attached sound once at volume (0.0 - 1.0)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLoopSound", NULL, "sf", "llLoopSound(string sound, float volume)\nplays attached sound looping indefinitely at volume (0.0 - 1.0)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLoopSoundMaster", NULL, "sf", "llLoopSoundMaster(string sound, float volume)\nplays attached sound looping at volume (0.0 - 1.0), declares it a sync master")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLoopSoundSlave", NULL, "sf", "llLoopSoundSlave(string sound, float volume)\nplays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPlaySoundSlave", NULL, "sf", "llPlaySoundSlave(string sound, float volume)\nplays attached sound once at volume (0.0 - 1.0), synced to next loop of most audible sync master")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTriggerSound", NULL, "sf", "llTriggerSound(string sound, float volume)\nplays sound at volume (0.0 - 1.0), centered at but not attached to object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopSound", NULL, "", "llStopSound()\nStops currently attached sound")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llPreloadSound", NULL, "s", "llPreloadSound(string sound)\npreloads a sound on viewers within range")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetSubString", "s", "sii", "string llGetSubString(string src, integer start, integer end)\nreturns the indicated substring")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDeleteSubString", "s", "sii", "string llDeleteSubString(string src, integer start, integer end)\nremoves the indicated substring and returns the result")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llInsertString", "s", "sis", "string llInsertString(string dst, integer position, string src)\ninserts src into dst at position and returns the result")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llToUpper", "s", "s", "string llToUpper(string src)\nconvert src to all upper case and returns the result")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llToLower", "s", "s", "string llToLower(string src)\nconvert src to all lower case and returns the result")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGiveMoney", "i", "ki", "llGiveMoney(key destination, integer amount)\ntransfer amount of money from script owner to destination")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llMakeExplosion", NULL, "iffffsv", "llMakeExplosion(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake a round explosion of particles")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llMakeFountain", NULL, "iffffisvf", "llMakeFountain(integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset)\nMake a fountain of particles")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llMakeSmoke", NULL, "iffffsv", "llMakeSmoke(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake smoke like particles")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llMakeFire", NULL, "iffffsv", "llMakeFire(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake fire like particles")); - addFunction(new LLScriptLibraryFunction(200.f, 0.1f, dummy_func, "llRezObject", NULL, "svvqi", "llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)\nInstanciate owners inventory object at pos with velocity vel and rotation rot with start parameter param")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLookAt", NULL, "vff", "llLookAt(vector target, F32 strength, F32 damping)\nCause object name to point it's forward axis towards target")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopLookAt", NULL, NULL, "llStopLookAt()\nStop causing object name to point at a target")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetTimerEvent", NULL, "f", "llSetTimerEvent(float sec)\nCause the timer event to be triggered every sec seconds")); - addFunction(new LLScriptLibraryFunction(0.f, 0.f, dummy_func, "llSleep", NULL, "f", "llSleep(float sec)\nPut script to sleep for sec seconds")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetMass", "f", NULL, "float llGetMass()\nGet the mass of task name that script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCollisionFilter", NULL, "ski", "llCollisionFilter(string name, key id, integer accept)\nif accept == TRUE, only accept collisions with objects name and id (either is optional), otherwise with objects not name or id")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTakeControls", NULL, "iii", "llTakeControls(integer controls, integer accept, integer pass_on)\nTake controls from agent task has permissions for. If (accept == (controls & input)), send input to task. If pass_on send to agent also.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llReleaseControls", NULL, NULL, "llReleaseControls()\nStop taking inputs")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAttachToAvatar", NULL, "i", "llAttachToAvatar(integer attachment)\nAttach to avatar task has permissions for at point attachment")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetachFromAvatar", NULL, NULL, "llDetachFromAvatar()\nDrop off of avatar")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTakeCamera", NULL, "k", "llTakeCamera(key avatar)\nMove avatar's viewpoint to task")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llReleaseCamera", NULL, "k", "llReleaseCamera(key avatar)\nReturn camera to agent")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetOwner", "k", NULL, "key llGetOwner()\nReturns the owner of the task")); - addFunction(new LLScriptLibraryFunction(10.f, 2.f, dummy_func, "llInstantMessage", NULL, "ks", "llInstantMessage(key user, string message)\nIMs message to the user")); - addFunction(new LLScriptLibraryFunction(10.f, 20.f, dummy_func, "llEmail", NULL, "sss", "llEmail(string address, string subject, string message)\nSends email to address with subject and message")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetNextEmail", NULL, "ss", "llGetNextEmail(string address, string subject)\nGet the next waiting email with appropriate address and/or subject (if blank they are ignored)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetKey", "k", NULL, "key llGetKey()\nGet the key for the task the script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetBuoyancy", NULL, "f", "llSetBuoyancy(float buoyancy)\nSet the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetHoverHeight", NULL, "fif", "llSetHoverHeight(float height, integer water, float tau)\nCritically damps to a height (either above ground level or above the higher of land and water if water == TRUE)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopHover", NULL, NULL, "llStopHover()\nStop hovering to a height")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llMinEventDelay", NULL, "f", "llMinEventDelay(float delay)\nSet the minimum time between events being handled")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSoundPreload", NULL, "s", "llSoundPreload(string sound)\npreloads a sound on viewers within range")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRotLookAt", NULL, "qff", "llRotLookAt(rotation target, F32 strength, F32 damping)\nCause object name to point it's forward axis towards target")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringLength", "i", "s", "integer llStringLength(string str)\nReturns the length of string")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStartAnimation", NULL, "s", "llStartAnimation(string anim)\nStart animation anim for agent that owns object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopAnimation", NULL, "s", "llStopAnimation(string anim)\nStop animation anim for agent that owns object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPointAt", NULL, "v", "llPointAt(vector pos)\nMake agent that owns object point at pos")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStopPointAt", NULL, NULL, "llStopPointAt()\nStop agent that owns object pointing")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTargetOmega", NULL, "vff", "llTargetOmega(vector axis, float spinrate, float gain)\nAttempt to spin at spinrate with strength gain")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetStartParameter", "i", NULL, "integer llGetStartParameter()\nGet's the start paramter passed to llRezObject")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGodLikeRezObject", NULL, "kv", "llGodLikeRezObject(key inventory, vector pos)\nrez directly off of a UUID if owner has dog-bit set", TRUE)); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRequestPermissions", NULL, "ki", "llRequestPermissions(key agent, integer perm)\nask agent to allow the script to do perm (NB: Debit, ownership, link, joint, and permission requests can only go to the task's owner)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetPermissionsKey", "k", NULL, "key llGetPermissionsKey()\nReturn agent that permissions are enabled for. NULL_KEY if not enabled")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetPermissions", "i", NULL, "integer llGetPermissions()\nreturn what permissions have been enabled")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkNumber", "i", NULL, "integer llGetLinkNumber()\nReturns what number in a link set the script is attached to (0 means no link, 1 the root, 2 for first child, &c)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkColor", NULL, "ivi", "llSetLinkColor(integer linknumber, vector color, integer face)\nIf a task exists in the link chain at linknumber, set face to color")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llCreateLink", NULL, "ki", "llCreateLink(key target, integer parent)\nAttempt to link task script is attached to and target (requires permission PERMISSION_CHANGE_LINKS be set). If parent == TRUE, task script is attached to is the root")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llBreakLink", NULL, "i", "llBreakLink(integer linknum)\nDelinks the task with the given link number (requires permission PERMISSION_CHANGE_LINKS be set)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llBreakAllLinks", NULL, NULL, "llBreakAllLinks()\nDelinks all tasks in the link set (requires permission PERMISSION_CHANGE_LINKS be set)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkKey", "k", "i", "key llGetLinkKey(integer linknum)\nGet the key of linknumber in link set")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkName", "s", "i", "string llGetLinkName(integer linknum)\nGet the name of linknumber in link set")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryNumber", "i", "i", "integer llGetInventoryNumber(integer type)\nGet the number of items of a given type in the task's inventory.\nValid types: INVENTORY_TEXTURE, INVENTORY_SOUND, INVENTORY_OBJECT, INVENTORY_SCRIPT, INVENTORY_CLOTHING, INVENTORY_BODYPART, INVENTORY_NOTECARD, INVENTORY_LANDMARK, INVENTORY_ALL")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryName", "s", "ii", "string llGetInventoryName(integer type, integer number)\nGet the name of the inventory item number of type")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetScriptState", NULL, "si", "llSetScriptState(string name, integer run)\nControl the state of a script name.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetEnergy", "f", NULL, "float llGetEnergy()\nReturns how much energy is in the object as a percentage of maximum")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGiveInventory", NULL, "ks", "llGiveInventory(key destination, string inventory)\nGive inventory to destination")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRemoveInventory", NULL, "s", "llRemoveInventory(string inventory)\nRemove the named inventory item")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetText", NULL, "svf", "llSetText(string text, vector color, float alpha)\nSet text floating over object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llWater", "f", "v", "float llWater(vector v)\nreturns the water height below the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPassTouches", NULL, "i", "llPassTouches(integer pass)\nif pass == TRUE, touches are passed from children on to parents (default is FALSE)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llRequestAgentData", "k", "ki", "key llRequestAgentData(key id, integer data)\nRequests data about agent id. When data is available the dataserver event will be raised")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llRequestInventoryData", "k", "s", "key llRequestInventoryData(string name)\nRequests data from object's inventory object. When data is available the dataserver event will be raised")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetDamage", NULL, "f", "llSetDamage(float damage)\nSets the amount of damage that will be done to an object that this task hits. Task will be killed.")); - addFunction(new LLScriptLibraryFunction(100.f, 5.f, dummy_func, "llTeleportAgentHome", NULL, "k", "llTeleportAgentHome(key id)\nTeleports agent on owner's land to agent's home location")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llModifyLand", NULL, "ii", "llModifyLand(integer action, integer size)\nModify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT)\non size (LAND_SMALL_BRUSH, LAND_MEDIUM_BRUSH, LAND_LARGE_BRUSH)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCollisionSound", NULL, "sf", "llCollisionSound(string impact_sound, float impact_volume)\nSuppress default collision sounds, replace default impact sounds with impact_sound (empty string to just suppress)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCollisionSprite", NULL, "s", "llCollisionSprite(string impact_sprite)\nSuppress default collision sprites, replace default impact sprite with impact_sprite (empty string to just suppress)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAnimation", "s", "k", "string llGetAnimation(key id)\nGet the currently playing locomotion animation for avatar id")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llResetScript", NULL, NULL, "llResetScript()\nResets the script")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llMessageLinked", NULL, "iisk", "llMessageLinked(integer linknum, integer num, string str, key id)\nSends num, str, and id to members of the link set (LINK_ROOT sends to root task in a linked set,\nLINK_SET sends to all tasks,\nLINK_ALL_OTHERS to all other tasks,\nLINK_ALL_CHILDREN to all children,\nLINK_THIS to the task the script it is in)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPushObject", NULL, "kvvi", "llPushObject(key id, vector impulse, vector ang_impulse, integer local)\nApplies impulse and ang_impulse to object id")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPassCollisions", NULL, "i", "llPassCollisions(integer pass)\nif pass == TRUE, collisions are passed from children on to parents (default is FALSE)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetScriptName", "s", NULL, "llGetScriptName()\nReturns the script name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetNumberOfSides", "i", NULL, "integer llGetNumberOfSides()\nReturns the number of sides")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAxisAngle2Rot", "q", "vf", "rotation llAxisAngle2Rot(vector axis, float angle)\nReturns the rotation generated angle about axis")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Axis", "v", "q", "vector llRot2Axis(rotation rot)\nReturns the rotation axis represented by rot")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRot2Angle", "f", "q", "float llRot2Angle(rotation rot)\nReturns the rotation angle represented by rot")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAcos", "f", "f", "float llAcos(float val)\nReturns the arccosine in radians of val")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAsin", "f", "f", "float llAsin(float val)\nReturns the arcsine in radians of val")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAngleBetween", "f", "qq", "float llAngleBetween(rotation a, rotation b)\nReturns angle between rotation a and b")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryKey", "k", "s", "key llGetInventoryKey(string name)\nReturns the key of the inventory name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAllowInventoryDrop", NULL, "i", "llAllowInventoryDrop(integer add)\nIf add == TRUE, users without permissions can still drop inventory items onto task")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetSunDirection", "v", NULL, "vector llGetSunDirection()\nReturns the sun direction on the simulator")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTextureOffset", "v", "i", "vector llGetTextureOffset(integer side)\nReturns the texture offset of side in the x and y components of a vector")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTextureScale", "v", "i", "vector llGetTextureScale(integer side)\nReturns the texture scale of side in the x and y components of a vector")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTextureRot", "f", "i", "float llGetTextureRot(integer side)\nReturns the texture rotation of side")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSubStringIndex", "i", "ss", "integer llSubStringIndex(string source, string pattern)\nFinds index in source where pattern first appears (returns -1 if not found)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetOwnerKey", "k", "k", "key llGetOwnerKey(key id)\nFind the owner of id")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetCenterOfMass", "v", NULL, "vector llGetCenterOfMass()\nGet the object's center of mass")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListSort", "l", "lii", "list llListSort(list src, integer stride, integer ascending)\nSort the list into blocks of stride in ascending order if ascending == TRUE. Note that sort only works between same types.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetListLength", "i", "l", "integer llGetListLength(list src)\nGet the number of elements in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2Integer", "i", "li", "integer llList2Integer(list src, integer index)\nCopy the integer at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2Float", "f", "li", "float llList2Float(list src, integer index)\nCopy the float at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2String", "s", "li", "string llList2String(list src, integer index)\nCopy the string at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2Key", "k", "li", "key llList2Key(list src, integer index)\nCopy the key at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2Vector", "v", "li", "vector llList2Vector(list src, integer index)\nCopy the vector at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2Rot", "q", "li", "rotation llList2Rot(list src, integer index)\nCopy the rotation at index in the list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2List", "l", "lii", "list llList2List(list src, integer start, integer end)\nCopy the slice of the list from start to end")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDeleteSubList", "l", "lii", "list llDeleteSubList(list src, integer start, integer end)\nRemove the slice from the list and return the remainder")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetListEntryType", "i", "li", "integer llGetListEntryType(list src, integer index)\nReturns the type of the index entry in the list\n(TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2CSV", "s", "l", "string llList2CSV(list src)\nCreate a string of comma separated values from list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llCSV2List", "l", "s", "list llCSV2List(string src)\nCreate a list from a string of comma separated values")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListRandomize", "l", "li", "list llListRandomize(list src, integer stride)\nReturns a randomized list of blocks of size stride")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llList2ListStrided", "l", "liii", "list llList2ListStrided(list src, integer start, integer end, integer stride)\nCopy the strided slice of the list from start to end")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionCorner", "v", NULL, "vector llGetRegionCorner()\nReturns a vector with the south west corner x,y position of the region the object is in")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListInsertList", "l", "lli", "list llListInsertList(list dest, list src, integer start)\nInserts src into dest at position start")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListFindList", "i", "ll", "integer llListFindList(list src, list test)\nReturns the start of the first instance of test in src, -1 if not found")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectName", "s", NULL, "string llGetObjectName()\nReturns the name of the object script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetObjectName", NULL, "s", "llSetObjectName(string name)\nSets the objects name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetDate", "s", NULL, "string llGetDate()\nGets the date as YYYY-MM-DD")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llEdgeOfWorld", "i", "vv", "integer llEdgeOfWorld(vector pos, vector dir)\nChecks to see whether the border hit by dir from pos is the edge of the world (has no neighboring simulator)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAgentInfo", "i", "k", "integer llGetAgentInfo(key id)\nGets information about agent ID.\nReturns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llAdjustSoundVolume", NULL, "f", "llAdjustSoundVolume(float volume)\nadjusts volume of attached sound (0.0 - 1.0)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetSoundQueueing", NULL, "i", "llSetSoundQueueing(integer queue)\ndetermines whether attached sound calls wait for the current sound to finish (0 = no [default], nonzero = yes)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetSoundRadius", NULL, "f", "llSetSoundRadius(float radius)\nestablishes a hard cut-off radius for audibility of scripted sounds (both attached and triggered)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llKey2Name", "s", "k", "string llKey2Name(key id)\nReturns the name of the object key, iff the object is in the current simulator, otherwise the empty string")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetTextureAnim", NULL, "iiiifff", "llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)\nAnimate the texture on the specified face/faces")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llTriggerSoundLimited", NULL, "sfvv", "llTriggerSoundLimited(string sound, float volume, vector tne, vector bsw)\nplays sound at volume (0.0 - 1.0), centered at but not attached to object, limited to AABB defined by vectors top-north-east and bottom-south-west")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llEjectFromLand", NULL, "k", "llEjectFromLand(key pest)\nEjects pest from land that you own")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llParseString2List", "l", "sll", "list llParseString2List(string src, list separators, list spacers)\nBreaks src into a list, discarding separators, keeping spacers (separators and spacers must be lists of strings, maximum of 8 each)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llOverMyLand", "i", "k", "integer llOverMyLand(key id)\nReturns TRUE if id is over land owner of object owns, FALSE otherwise")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLandOwnerAt", "k", "v", "key llGetLandOwnerAt(vector pos)\nReturns the key of the land owner, NULL_KEY if public")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llGetNotecardLine", "k", "si", "key llGetNotecardLine(string name, integer line)\nReturns line line of notecard name via the dataserver event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAgentSize", "v", "k", "vector llGetAgentSize(key id)\nIf the agent is in the same sim as the object, returns the size of the avatar")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSameGroup", "i", "k", "integer llSameGroup(key id)\nReturns TRUE if ID is in the same sim and has the same active group, otherwise FALSE")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llUnSit", NULL, "k", "key llUnSit(key id)\nIf agent identified by id is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGroundSlope", "v", "v", "vector llGroundSlope(vector v)\nreturns the ground slope below the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGroundNormal", "v", "v", "vector llGroundNormal(vector v)\nreturns the ground normal below the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGroundContour", "v", "v", "vector llGroundCountour(vector v)\nreturns the ground contour below the object position + v")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAttached", "i", NULL, "integer llGetAttached()\nreturns the object attachment point or 0 if not attached")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetFreeMemory", "i", NULL, "integer llGetFreeMemory()\nreturns the available heap space for the current script")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionName", "s", NULL, "string llGetRegionName()\nreturns the current region name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionTimeDilation", "f", NULL, "float llGetRegionTimeDilation()\nreturns the current time dilation as a float between 0 and 1")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionFPS", "f", NULL, "float llGetRegionFPS()\nreturns the mean region frames per second")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llParticleSystem", NULL, "l", "llParticleSystem(list rules)\nCreates a particle system based on rules. Empty list removes particle system from object.\nList format is [ rule1, data1, rule2, data2 . . . rulen, datan ]")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGroundRepel", NULL, "fif", "llGroundRepel(float height, integer water, float tau)\nCritically damps to height if within height*0.5 of level (either above ground level or above the higher of land and water if water == TRUE)")); - addFunction(new LLScriptLibraryFunction(10.f, 3.f, dummy_func, "llGiveInventoryList", NULL, "ksl", "llGiveInventoryList(key destination, string category, list inventory)\nGive inventory to destination in a new category")); + // energy, sleep, dummy_func, name, return type, parameters, gods-only + addFunction(10.f, 0.f, dummy_func, "llSin", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llCos", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llTan", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llAtan2", "f", "ff"); + addFunction(10.f, 0.f, dummy_func, "llSqrt", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llPow", "f", "ff"); + addFunction(10.f, 0.f, dummy_func, "llAbs", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llFabs", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llFrand", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llFloor", "i", "f"); + addFunction(10.f, 0.f, dummy_func, "llCeil", "i", "f"); + addFunction(10.f, 0.f, dummy_func, "llRound", "i", "f"); + addFunction(10.f, 0.f, dummy_func, "llVecMag", "f", "v"); + addFunction(10.f, 0.f, dummy_func, "llVecNorm", "v", "v"); + addFunction(10.f, 0.f, dummy_func, "llVecDist", "f", "vv"); + addFunction(10.f, 0.f, dummy_func, "llRot2Euler", "v", "q"); + addFunction(10.f, 0.f, dummy_func, "llEuler2Rot", "q", "v"); + addFunction(10.f, 0.f, dummy_func, "llAxes2Rot", "q", "vvv"); + addFunction(10.f, 0.f, dummy_func, "llRot2Fwd", "v", "q"); + addFunction(10.f, 0.f, dummy_func, "llRot2Left", "v", "q"); + addFunction(10.f, 0.f, dummy_func, "llRot2Up", "v", "q"); + addFunction(10.f, 0.f, dummy_func, "llRotBetween", "q", "vv"); + addFunction(10.f, 0.f, dummy_func, "llWhisper", NULL, "is"); + addFunction(10.f, 0.f, dummy_func, "llSay", NULL, "is"); + addFunction(10.f, 0.f, dummy_func, "llShout", NULL, "is"); + addFunction(10.f, 0.f, dummy_func, "llListen", "i", "isks"); + addFunction(10.f, 0.f, dummy_func, "llListenControl", NULL, "ii"); + addFunction(10.f, 0.f, dummy_func, "llListenRemove", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llSensor", NULL, "skiff"); + addFunction(10.f, 0.f, dummy_func, "llSensorRepeat", NULL, "skifff"); + addFunction(10.f, 0.f, dummy_func, "llSensorRemove", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llDetectedName", "s", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedKey", "k", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedOwner", "k", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedType", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedPos", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedVel", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedGrab", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedRot", "q", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedGroup", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedLinkNumber", "i", "i"); + addFunction(0.f, 0.f, dummy_func, "llDie", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llGround", "f", "v"); + addFunction(10.f, 0.f, dummy_func, "llCloud", "f", "v"); + addFunction(10.f, 0.f, dummy_func, "llWind", "v", "v"); + addFunction(10.f, 0.f, dummy_func, "llSetStatus", NULL, "ii"); + addFunction(10.f, 0.f, dummy_func, "llGetStatus", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llSetScale", NULL, "v"); + addFunction(10.f, 0.f, dummy_func, "llGetScale", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetColor", NULL, "vi"); + addFunction(10.f, 0.f, dummy_func, "llGetAlpha", "f", "i"); + addFunction(10.f, 0.f, dummy_func, "llSetAlpha", NULL, "fi"); + addFunction(10.f, 0.f, dummy_func, "llGetColor", "v", "i"); + addFunction(10.f, 0.2f, dummy_func, "llSetTexture", NULL, "si"); + addFunction(10.f, 0.2f, dummy_func, "llScaleTexture", NULL, "ffi"); + addFunction(10.f, 0.2f, dummy_func, "llOffsetTexture", NULL, "ffi"); + addFunction(10.f, 0.2f, dummy_func, "llRotateTexture", NULL, "fi"); + addFunction(10.f, 0.f, dummy_func, "llGetTexture", "s", "i"); + addFunction(10.f, 0.2f, dummy_func, "llSetPos", NULL, "v"); + addFunction(10.f, 0.f, dummy_func, "llGetPos", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetLocalPos", "v", NULL); + addFunction(10.f, 0.2f, dummy_func, "llSetRot", NULL, "q"); + addFunction(10.f, 0.f, dummy_func, "llGetRot", "q", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetLocalRot", "q", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetForce", NULL, "vi"); + addFunction(10.f, 0.f, dummy_func, "llGetForce", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llTarget", "i", "vf"); + addFunction(10.f, 0.f, dummy_func, "llTargetRemove", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llRotTarget", "i", "qf"); + addFunction(10.f, 0.f, dummy_func, "llRotTargetRemove", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llMoveToTarget", NULL, "vf"); + addFunction(10.f, 0.f, dummy_func, "llStopMoveToTarget", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llApplyImpulse", NULL, "vi"); + addFunction(10.f, 0.f, dummy_func, "llApplyRotationalImpulse", NULL, "vi"); + addFunction(10.f, 0.f, dummy_func, "llSetTorque", NULL, "vi"); + addFunction(10.f, 0.f, dummy_func, "llGetTorque", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetForceAndTorque", NULL, "vvi"); + addFunction(10.f, 0.f, dummy_func, "llGetVel", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetAccel", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetOmega", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetTimeOfDay", "f", ""); + addFunction(10.f, 0.f, dummy_func, "llGetWallclock", "f", ""); + addFunction(10.f, 0.f, dummy_func, "llGetTime", "f", NULL); + addFunction(10.f, 0.f, dummy_func, "llResetTime", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llGetAndResetTime", "f", NULL); + addFunction(10.f, 0.f, dummy_func, "llSound", NULL, "sfii"); + addFunction(10.f, 0.f, dummy_func, "llPlaySound", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llLoopSound", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llLoopSoundMaster", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llLoopSoundSlave", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llPlaySoundSlave", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llTriggerSound", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llStopSound", NULL, ""); + addFunction(10.f, 1.f, dummy_func, "llPreloadSound", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llGetSubString", "s", "sii"); + addFunction(10.f, 0.f, dummy_func, "llDeleteSubString", "s", "sii"); + addFunction(10.f, 0.f, dummy_func, "llInsertString", "s", "sis"); + addFunction(10.f, 0.f, dummy_func, "llToUpper", "s", "s"); + addFunction(10.f, 0.f, dummy_func, "llToLower", "s", "s"); + addFunction(10.f, 0.f, dummy_func, "llGiveMoney", "i", "ki"); + addFunction(10.f, 0.1f, dummy_func, "llMakeExplosion", NULL, "iffffsv"); + addFunction(10.f, 0.1f, dummy_func, "llMakeFountain", NULL, "iffffisvf"); + addFunction(10.f, 0.1f, dummy_func, "llMakeSmoke", NULL, "iffffsv"); + addFunction(10.f, 0.1f, dummy_func, "llMakeFire", NULL, "iffffsv"); + addFunction(200.f, 0.1f, dummy_func, "llRezObject", NULL, "svvqi"); + addFunction(10.f, 0.f, dummy_func, "llLookAt", NULL, "vff"); + addFunction(10.f, 0.f, dummy_func, "llStopLookAt", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llSetTimerEvent", NULL, "f"); + addFunction(0.f, 0.f, dummy_func, "llSleep", NULL, "f"); + addFunction(10.f, 0.f, dummy_func, "llGetMass", "f", NULL); + addFunction(10.f, 0.f, dummy_func, "llCollisionFilter", NULL, "ski"); + addFunction(10.f, 0.f, dummy_func, "llTakeControls", NULL, "iii"); + addFunction(10.f, 0.f, dummy_func, "llReleaseControls", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llAttachToAvatar", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llDetachFromAvatar", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llTakeCamera", NULL, "k"); + addFunction(10.f, 0.f, dummy_func, "llReleaseCamera", NULL, "k"); + addFunction(10.f, 0.f, dummy_func, "llGetOwner", "k", NULL); + addFunction(10.f, 2.f, dummy_func, "llInstantMessage", NULL, "ks"); + addFunction(10.f, 20.f, dummy_func, "llEmail", NULL, "sss"); + addFunction(10.f, 0.f, dummy_func, "llGetNextEmail", NULL, "ss"); + addFunction(10.f, 0.f, dummy_func, "llGetKey", "k", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetBuoyancy", NULL, "f"); + addFunction(10.f, 0.f, dummy_func, "llSetHoverHeight", NULL, "fif"); + addFunction(10.f, 0.f, dummy_func, "llStopHover", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llMinEventDelay", NULL, "f"); + addFunction(10.f, 0.f, dummy_func, "llSoundPreload", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llRotLookAt", NULL, "qff"); + addFunction(10.f, 0.f, dummy_func, "llStringLength", "i", "s"); + addFunction(10.f, 0.f, dummy_func, "llStartAnimation", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llStopAnimation", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llPointAt", NULL, "v"); + addFunction(10.f, 0.f, dummy_func, "llStopPointAt", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llTargetOmega", NULL, "vff"); + addFunction(10.f, 0.f, dummy_func, "llGetStartParameter", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llGodLikeRezObject", NULL, "kv", TRUE); + addFunction(10.f, 0.f, dummy_func, "llRequestPermissions", NULL, "ki"); + addFunction(10.f, 0.f, dummy_func, "llGetPermissionsKey", "k", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetPermissions", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetLinkNumber", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetLinkColor", NULL, "ivi"); + addFunction(10.f, 1.f, dummy_func, "llCreateLink", NULL, "ki"); + addFunction(10.f, 0.f, dummy_func, "llBreakLink", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llBreakAllLinks", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llGetLinkKey", "k", "i"); + addFunction(10.f, 0.f, dummy_func, "llGetLinkName", "s", "i"); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryNumber", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryName", "s", "ii"); + addFunction(10.f, 0.f, dummy_func, "llSetScriptState", NULL, "si"); + addFunction(10.f, 0.f, dummy_func, "llGetEnergy", "f", NULL); + addFunction(10.f, 0.f, dummy_func, "llGiveInventory", NULL, "ks"); + addFunction(10.f, 0.f, dummy_func, "llRemoveInventory", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llSetText", NULL, "svf"); + addFunction(10.f, 0.f, dummy_func, "llWater", "f", "v"); + addFunction(10.f, 0.f, dummy_func, "llPassTouches", NULL, "i"); + addFunction(10.f, 0.1f, dummy_func, "llRequestAgentData", "k", "ki"); + addFunction(10.f, 1.f, dummy_func, "llRequestInventoryData", "k", "s"); + addFunction(10.f, 0.f, dummy_func, "llSetDamage", NULL, "f"); + addFunction(100.f, 5.f, dummy_func, "llTeleportAgentHome", NULL, "k"); + addFunction(10.f, 0.f, dummy_func, "llModifyLand", NULL, "ii"); + addFunction(10.f, 0.f, dummy_func, "llCollisionSound", NULL, "sf"); + addFunction(10.f, 0.f, dummy_func, "llCollisionSprite", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llGetAnimation", "s", "k"); + addFunction(10.f, 0.f, dummy_func, "llResetScript", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llMessageLinked", NULL, "iisk"); + addFunction(10.f, 0.f, dummy_func, "llPushObject", NULL, "kvvi"); + addFunction(10.f, 0.f, dummy_func, "llPassCollisions", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llGetScriptName", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetNumberOfSides", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llAxisAngle2Rot", "q", "vf"); + addFunction(10.f, 0.f, dummy_func, "llRot2Axis", "v", "q"); + addFunction(10.f, 0.f, dummy_func, "llRot2Angle", "f", "q"); + addFunction(10.f, 0.f, dummy_func, "llAcos", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llAsin", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llAngleBetween", "f", "qq"); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryKey", "k", "s"); + addFunction(10.f, 0.f, dummy_func, "llAllowInventoryDrop", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llGetSunDirection", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetTextureOffset", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llGetTextureScale", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llGetTextureRot", "f", "i"); + addFunction(10.f, 0.f, dummy_func, "llSubStringIndex", "i", "ss"); + addFunction(10.f, 0.f, dummy_func, "llGetOwnerKey", "k", "k"); + addFunction(10.f, 0.f, dummy_func, "llGetCenterOfMass", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llListSort", "l", "lii"); + addFunction(10.f, 0.f, dummy_func, "llGetListLength", "i", "l"); + addFunction(10.f, 0.f, dummy_func, "llList2Integer", "i", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2Float", "f", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2String", "s", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2Key", "k", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2Vector", "v", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2Rot", "q", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2List", "l", "lii"); + addFunction(10.f, 0.f, dummy_func, "llDeleteSubList", "l", "lii"); + addFunction(10.f, 0.f, dummy_func, "llGetListEntryType", "i", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2CSV", "s", "l"); + addFunction(10.f, 0.f, dummy_func, "llCSV2List", "l", "s"); + addFunction(10.f, 0.f, dummy_func, "llListRandomize", "l", "li"); + addFunction(10.f, 0.f, dummy_func, "llList2ListStrided", "l", "liii"); + addFunction(10.f, 0.f, dummy_func, "llGetRegionCorner", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llListInsertList", "l", "lli"); + addFunction(10.f, 0.f, dummy_func, "llListFindList", "i", "ll"); + addFunction(10.f, 0.f, dummy_func, "llGetObjectName", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetObjectName", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llGetDate", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llEdgeOfWorld", "i", "vv"); + addFunction(10.f, 0.f, dummy_func, "llGetAgentInfo", "i", "k"); + addFunction(10.f, 0.1f, dummy_func, "llAdjustSoundVolume", NULL, "f"); + addFunction(10.f, 0.f, dummy_func, "llSetSoundQueueing", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llSetSoundRadius", NULL, "f"); + addFunction(10.f, 0.f, dummy_func, "llKey2Name", "s", "k"); + addFunction(10.f, 0.f, dummy_func, "llSetTextureAnim", NULL, "iiiifff"); + addFunction(10.f, 0.f, dummy_func, "llTriggerSoundLimited", NULL, "sfvv"); + addFunction(10.f, 0.f, dummy_func, "llEjectFromLand", NULL, "k"); + addFunction(10.f, 0.f, dummy_func, "llParseString2List", "l", "sll"); + addFunction(10.f, 0.f, dummy_func, "llOverMyLand", "i", "k"); + addFunction(10.f, 0.f, dummy_func, "llGetLandOwnerAt", "k", "v"); + addFunction(10.f, 0.1f, dummy_func, "llGetNotecardLine", "k", "si"); + addFunction(10.f, 0.f, dummy_func, "llGetAgentSize", "v", "k"); + addFunction(10.f, 0.f, dummy_func, "llSameGroup", "i", "k"); + addFunction(10.f, 0.f, dummy_func, "llUnSit", NULL, "k"); + addFunction(10.f, 0.f, dummy_func, "llGroundSlope", "v", "v"); + addFunction(10.f, 0.f, dummy_func, "llGroundNormal", "v", "v"); + addFunction(10.f, 0.f, dummy_func, "llGroundContour", "v", "v"); + addFunction(10.f, 0.f, dummy_func, "llGetAttached", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetFreeMemory", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetRegionName", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetRegionTimeDilation", "f", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetRegionFPS", "f", NULL); + + addFunction(10.f, 0.f, dummy_func, "llParticleSystem", NULL, "l"); + addFunction(10.f, 0.f, dummy_func, "llGroundRepel", NULL, "fif"); + addFunction(10.f, 3.f, dummy_func, "llGiveInventoryList", NULL, "ksl"); // script calls for vehicle action - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetVehicleType", NULL, "i", "llSetVehicleType(integer type)\nsets vehicle to one of the default types")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetVehicleFloatParam", NULL, "if", "llSetVehicleFloatParam(integer param, float value)\nsets the specified vehicle float parameter")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetVehicleVectorParam", NULL, "iv", "llSetVehicleVectorParam(integer param, vector vec)\nsets the specified vehicle vector parameter")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetVehicleRotationParam", NULL, "iq", "llSetVehicleVectorParam(integer param, rotation rot)\nsets the specified vehicle rotation parameter")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetVehicleFlags", NULL, "i", "llSetVehicleFlags(integer flags)\nsets the enabled bits in 'flags'")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRemoveVehicleFlags", NULL, "i", "llRemoveVehicleFlags(integer flags)\nremoves the enabled bits in 'flags'")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSitTarget", NULL, "vq", "llSitTarget(vector offset, rotation rot)\nSet the sit location for this object (if offset == <0,0,0> clear it)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llAvatarOnSitTarget", "k", NULL, "key llAvatarOnSitTarget()\nIf an avatar is sitting on the sit target, return the avatar's key, NULL_KEY otherwise")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llAddToLandPassList", NULL, "kf", "llAddToLandPassList(key avatar, float hours)\nAdd avatar to the land pass list for hours")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetTouchText", NULL, "s", "llSetTouchText(string text)\nDisplays text in pie menu that acts as a touch")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetSitText", NULL, "s", "llSetSitText(string text)\nDisplays text rather than sit in pie menu")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetCameraEyeOffset", NULL, "v", "llSetCameraEyeOffset(vector offset)\nSets the camera eye offset used in this object if an avatar sits on it")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetCameraAtOffset", NULL, "v", "llSetCameraAtOffset(vector offset)\nSets the camera at offset used in this object if an avatar sits on it")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDumpList2String", "s", "ls", "string llDumpList2String(list src, string separator)\nWrite the list out in a single string using separator between values")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llScriptDanger", "i", "v", "integer llScriptDanger(vector pos)\nReturns true if pos is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llDialog", NULL, "ksli", "llDialog(key avatar, string message, list buttons, integer chat_channel\nShows a dialog box on the avatar's screen with the message.\nUp to 12 strings in the list form buttons.\nIf a button is clicked, the name is chatted on chat_channel.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llVolumeDetect", NULL, "i", "llVolumeDetect(integer detect)\nIf detect = TRUE, object becomes phantom but triggers collision_start and collision_end events\nwhen other objects start and stop interpenetrating.\nMust be applied to the root object.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llResetOtherScript", NULL, "s", "llResetOtherScript(string name)\nResets script name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetScriptState", "i", "s", "integer llGetScriptState(string name)\nResets TRUE if script name is running")); - addFunction(new LLScriptLibraryFunction(10.f, 3.f, dummy_func, "llRemoteLoadScript", NULL, "ksii", "Deprecated. Please use llRemoteLoadScriptPin instead.")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetRemoteScriptAccessPin", NULL, "i", "llSetRemoteScriptAccessPin(integer pin)\nIf pin is set to a non-zero number, the task will accept remote script\nloads via llRemoteLoadScriptPin if it passes in the correct pin.\nOthersise, llRemoteLoadScriptPin is ignored.")); - addFunction(new LLScriptLibraryFunction(10.f, 3.f, dummy_func, "llRemoteLoadScriptPin", NULL, "ksiii", "llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)\nIf the owner of the object this script is attached can modify target,\nthey are in the same region,\nand the matching pin is used,\ncopy script name onto target,\nif running == TRUE, start the script with param.")); + addFunction(10.f, 0.f, dummy_func, "llSetVehicleType", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llSetVehicleFloatParam", NULL, "if"); + addFunction(10.f, 0.f, dummy_func, "llSetVehicleVectorParam", NULL, "iv"); + addFunction(10.f, 0.f, dummy_func, "llSetVehicleRotationParam", NULL, "iq"); + addFunction(10.f, 0.f, dummy_func, "llSetVehicleFlags", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llRemoveVehicleFlags", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llSitTarget", NULL, "vq"); + addFunction(10.f, 0.f, dummy_func, "llAvatarOnSitTarget", "k", NULL); + addFunction(10.f, 0.1f, dummy_func, "llAddToLandPassList", NULL, "kf"); + addFunction(10.f, 0.f, dummy_func, "llSetTouchText", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llSetSitText", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llSetCameraEyeOffset", NULL, "v"); + addFunction(10.f, 0.f, dummy_func, "llSetCameraAtOffset", NULL, "v"); + + addFunction(10.f, 0.f, dummy_func, "llDumpList2String", "s", "ls"); + addFunction(10.f, 0.f, dummy_func, "llScriptDanger", "i", "v"); + addFunction(10.f, 1.f, dummy_func, "llDialog", NULL, "ksli"); + addFunction(10.f, 0.f, dummy_func, "llVolumeDetect", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llResetOtherScript", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llGetScriptState", "i", "s"); + addFunction(10.f, 3.f, dummy_func, "llRemoteLoadScript", NULL, "ksii"); + + addFunction(10.f, 0.2f, dummy_func, "llSetRemoteScriptAccessPin", NULL, "i"); + addFunction(10.f, 3.f, dummy_func, "llRemoteLoadScriptPin", NULL, "ksiii"); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llOpenRemoteDataChannel", NULL, NULL, "llOpenRemoteDataChannel()\nCreates a channel to listen for XML-RPC calls. Will trigger a remote_data event with channel id once it is available.")); - addFunction(new LLScriptLibraryFunction(10.f, 3.f, dummy_func, "llSendRemoteData", "k", "ksis", "key llSendRemoteData(key channel, string dest, integer idata, string sdata)\nSend an XML-RPC request to dest through channel with payload of channel (in a string), integer idata and string sdata.\nA message identifier key is returned.\nAn XML-RPC reply will trigger a remote_data event and reference the message id.\nThe message_id is returned.")); - addFunction(new LLScriptLibraryFunction(10.f, 3.f, dummy_func, "llRemoteDataReply", NULL, "kksi", "llRemoteDataReply(key channel, key message_id, string sdata, integer idata)\nSend an XML-RPC reply to message_id on channel with payload of string sdata and integer idata")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llCloseRemoteDataChannel", NULL, "k", "llCloseRemoteDataChannel(key channel)\nCloses XML-RPC channel.")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llMD5String", "s", "si", "string llMD5String(string src, integer nonce)\nPerforms a RSA Data Security, Inc. MD5 Message-Digest Algorithm on string with nonce. Returns a 32 character hex string.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetPrimitiveParams", NULL, "l", "llSetPrimitiveParams(list rules)\nSet primitive parameters based on rules.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringToBase64", "s", "s", "string llStringToBase64(string str)\nConverts a string to the Base 64 representation of the string.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llBase64ToString", "s", "s", "string llBase64ToString(string str)\nConverts a Base 64 string to a conventional string. If the conversion creates any unprintable characters, they are converted to spaces.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.3f, dummy_func, "llXorBase64Strings", "s", "ss", "string llXorBase64Strings(string s1, string s2)\nDEPRECATED! Please use llXorBase64StringsCorrect instead!! Incorrectly performs an exclusive or on two Base 64 strings and returns a Base 64 string. s2 repeats if it is shorter than s1. Retained for backwards compatability.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRemoteDataSetRegion", NULL, NULL, "llRemoteDataSetRegion()\nIf an object using remote data channels changes regions, you must call this function to reregister the remote data channels.\nYou do not need to make this call if you don't change regions.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLog10", "f", "f", "float llLog10(float val)\nReturns the base 10 log of val if val > 0, otherwise returns 0.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLog", "f", "f", "float llLog(float val)\nReturns the base e log of val if val > 0, otherwise returns 0.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAnimationList", "l", "k", "list llGetAnimationList(key id)\nGets a list of all playing animations for avatar id")); - addFunction(new LLScriptLibraryFunction(10.f, 2.f, dummy_func, "llSetParcelMusicURL", NULL, "s", "llSetParcelMusicURL(string url)\nSets the streaming audio URL for the parcel object is on")); + addFunction(10.f, 1.f, dummy_func, "llOpenRemoteDataChannel", NULL, NULL); + addFunction(10.f, 3.f, dummy_func, "llSendRemoteData", "k", "ksis"); + addFunction(10.f, 3.f, dummy_func, "llRemoteDataReply", NULL, "kksi"); + addFunction(10.f, 1.f, dummy_func, "llCloseRemoteDataChannel", NULL, "k"); + + addFunction(10.f, 0.f, dummy_func, "llMD5String", "s", "si"); + addFunction(10.f, 0.2f, dummy_func, "llSetPrimitiveParams", NULL, "l"); + addFunction(10.f, 0.f, dummy_func, "llStringToBase64", "s", "s"); + addFunction(10.f, 0.f, dummy_func, "llBase64ToString", "s", "s"); + addFunction(10.f, 0.3f, dummy_func, "llXorBase64Strings", "s", "ss"); + addFunction(10.f, 0.f, dummy_func, "llRemoteDataSetRegion", NULL, NULL); + addFunction(10.f, 0.f, dummy_func, "llLog10", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llLog", "f", "f"); + addFunction(10.f, 0.f, dummy_func, "llGetAnimationList", "l", "k"); + addFunction(10.f, 2.f, dummy_func, "llSetParcelMusicURL", NULL, "s"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRootPosition", "v", NULL, "vector llGetRootPosition()\nGets the global position of the root object of the object script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRootRotation", "q", NULL, "rotation llGetRootRotation()\nGets the global rotation of the root object of the object script is attached to")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectDesc", "s", NULL, "string llGetObjectDesc()\nReturns the description of the object the script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetObjectDesc", NULL, "s", "llSetObjectDesc(string name)\nSets the object's description")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetCreator", "k", NULL, "key llGetCreator()\nReturns the creator of the object")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetTimestamp", "s", NULL, "string llGetTimestamp()\nGets the timestamp in the format: YYYY-MM-DDThh:mm:ss.ff..fZ")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkAlpha", NULL, "ifi", "llSetLinkAlpha(integer linknumber, float alpha, integer face)\nIf a prim exists in the link chain at linknumber, set face to alpha")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetNumberOfPrims", "i", NULL, "integer llGetNumberOfPrims()\nReturns the number of prims in a link set the script is attached to")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llGetNumberOfNotecardLines", "k", "s", "key llGetNumberOfNotecardLines(string name)\nReturns number of lines in notecard 'name' via the dataserver event (cast return value to integer)")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetBoundingBox", "l", "k", "list llGetBoundingBox(key object)\nReturns the bounding box around an object (including any linked prims) relative to the root prim, in a list: [ (vector) min_corner, (vector) max_corner ]")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetGeometricCenter", "v", NULL, "vector llGetGeometricCenter()\nReturns the geometric center of the linked set the script is attached to.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llGetPrimitiveParams", "l", "l", "list llGetPrimitiveParams(list params)\nGets primitive parameters specified in the params list.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.0f, dummy_func, "llIntegerToBase64", "s", "i", "string llIntegerToBase64(integer number)\nBig endian encode of of integer as a Base64 string.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.0f, dummy_func, "llBase64ToInteger", "i", "s", "integer llBase64ToInteger(string str)\nBig endian decode of a Base64 string into an integer.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetGMTclock", "f", "", "float llGetGMTclock()\nGets the time in seconds since midnight in GMT")); - addFunction(new LLScriptLibraryFunction(10.f, 10.f, dummy_func, "llGetSimulatorHostname", "s", "", "string llGetSimulatorHostname()\nGets the hostname of the machine script is running on (same as string in viewer Help dialog)")); + addFunction(10.f, 0.f, dummy_func, "llGetRootPosition", "v", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetRootRotation", "q", NULL); + + addFunction(10.f, 0.f, dummy_func, "llGetObjectDesc", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetObjectDesc", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llGetCreator", "k", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetTimestamp", "s", NULL); + addFunction(10.f, 0.f, dummy_func, "llSetLinkAlpha", NULL, "ifi"); + addFunction(10.f, 0.f, dummy_func, "llGetNumberOfPrims", "i", NULL); + addFunction(10.f, 0.1f, dummy_func, "llGetNumberOfNotecardLines", "k", "s"); + + addFunction(10.f, 0.f, dummy_func, "llGetBoundingBox", "l", "k"); + addFunction(10.f, 0.f, dummy_func, "llGetGeometricCenter", "v", NULL); + addFunction(10.f, 0.2f, dummy_func, "llGetPrimitiveParams", "l", "l"); + addFunction(10.f, 0.0f, dummy_func, "llIntegerToBase64", "s", "i"); + addFunction(10.f, 0.0f, dummy_func, "llBase64ToInteger", "i", "s"); + addFunction(10.f, 0.f, dummy_func, "llGetGMTclock", "f", ""); + addFunction(10.f, 10.f, dummy_func, "llGetSimulatorHostname", "s", ""); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLocalRot", NULL, "q", "llSetLocalRot(rotation rot)\nsets the rotation of a child prim relative to the root prim")); + addFunction(10.f, 0.2f, dummy_func, "llSetLocalRot", NULL, "q"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llParseStringKeepNulls", "l", "sll", "list llParseStringKeepNulls(string src, list separators, list spacers)\nBreaks src into a list, discarding separators, keeping spacers (separators and spacers must be lists of strings, maximum of 8 each), keeping any null values generated.")); - addFunction(new LLScriptLibraryFunction(200.f, 0.1f, dummy_func, "llRezAtRoot", NULL, "svvqi", "llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param)\nInstantiate owner's inventory object at pos with velocity vel and rotation rot with start parameter param.\nThe last selected root object's location will be set to pos")); + addFunction(10.f, 0.f, dummy_func, "llParseStringKeepNulls", "l", "sll"); + addFunction(200.f, 0.1f, dummy_func, "llRezAtRoot", NULL, "svvqi"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectPermMask", "i", "i", "integer llGetObjectPermMask(integer mask)\nReturns the requested permission mask for the root object the task is attached to.", FALSE)); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetObjectPermMask", NULL, "ii", "llSetObjectPermMask(integer mask, integer value)\nSets the given permission mask to the new value on the root object the task is attached to.", TRUE)); + addFunction(10.f, 0.f, dummy_func, "llGetObjectPermMask", "i", "i", FALSE); + addFunction(10.f, 0.f, dummy_func, "llSetObjectPermMask", NULL, "ii", TRUE); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryPermMask", "i", "si", "integer llGetInventoryPermMask(string item, integer mask)\nReturns the requested permission mask for the inventory item.", FALSE)); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetInventoryPermMask", NULL, "sii", "llSetInventoryPermMask(string item, integer mask, integer value)\nSets the given permission mask to the new value on the inventory item.", TRUE)); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryCreator", "k", "s", "key llGetInventoryCreator(string item)\nReturns the key for the creator of the inventory item.", FALSE)); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llOwnerSay", NULL, "s", "llOwnerSay(string msg)\nsays msg to owner only (if owner in sim)")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llRequestSimulatorData", "k", "si", "key llRequestSimulatorData(string simulator, integer data)\nRequests data about simulator. When data is available the dataserver event will be raised")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llForceMouselook", NULL, "i", "llForceMouselook(integer mouselook)\nIf mouselook is TRUE any avatar that sits on this object is forced into mouselook mode")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectMass", "f", "k", "float llGetObjectMass(key id)\nGet the mass of the object with key id")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListReplaceList", "l", "llii", "list llListReplaceList(list dest, list src, integer start, integer end)\nReplaces start through end of dest with src.")); - addFunction(new LLScriptLibraryFunction(10.f, 10.f, dummy_func, "llLoadURL", NULL, "kss", "llLoadURL(key avatar_id, string message, string url)\nShows dialog to avatar avatar_id offering to load web page at URL. If user clicks yes, launches their web browser.")); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryPermMask", "i", "si", FALSE); + addFunction(10.f, 0.f, dummy_func, "llSetInventoryPermMask", NULL, "sii", TRUE); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryCreator", "k", "s", FALSE); + addFunction(10.f, 0.f, dummy_func, "llOwnerSay", NULL, "s"); + addFunction(10.f, 1.f, dummy_func, "llRequestSimulatorData", "k", "si"); + addFunction(10.f, 0.f, dummy_func, "llForceMouselook", NULL, "i"); + addFunction(10.f, 0.f, dummy_func, "llGetObjectMass", "f", "k"); + addFunction(10.f, 0.f, dummy_func, "llListReplaceList", "l", "llii"); + addFunction(10.f, 10.f, dummy_func, "llLoadURL", NULL, "kss"); - addFunction(new LLScriptLibraryFunction(10.f, 2.f, dummy_func, "llParcelMediaCommandList", NULL, "l", "llParcelMediaCommandList(list command)\nSends a list of commands, some with arguments, to a parcel.")); - addFunction(new LLScriptLibraryFunction(10.f, 2.f, dummy_func, "llParcelMediaQuery", "l", "l", "list llParcelMediaQuery(list query)\nSends a list of queries, returns a list of results.")); + addFunction(10.f, 2.f, dummy_func, "llParcelMediaCommandList", NULL, "l"); + addFunction(10.f, 2.f, dummy_func, "llParcelMediaQuery", "l", "l"); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llModPow", "i", "iii", "integer llModPow(integer a, integer b, integer c)\nReturns a raised to the b power, mod c. ( (a**b)%c ). b is capped at 0xFFFF (16 bits).")); + addFunction(10.f, 1.f, dummy_func, "llModPow", "i", "iii"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetInventoryType", "i", "s", "integer llGetInventoryType(string name)\nReturns the type of the inventory name")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetPayPrice", NULL, "il", "llSetPayPrice(integer price, list quick_pay_buttons)\nSets the default amount when someone chooses to pay this object.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetCameraPos", "v", "", "vector llGetCameraPos()\nGets current camera position for agent task has permissions for.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetCameraRot", "q", "", "rotation llGetCameraRot()\nGets current camera orientation for agent task has permissions for.")); + addFunction(10.f, 0.f, dummy_func, "llGetInventoryType", "i", "s"); + addFunction(10.f, 0.f, dummy_func, "llSetPayPrice", NULL, "il"); + addFunction(10.f, 0.f, dummy_func, "llGetCameraPos", "v", ""); + addFunction(10.f, 0.f, dummy_func, "llGetCameraRot", "q", ""); - addFunction(new LLScriptLibraryFunction(10.f, 20.f, dummy_func, "llSetPrimURL", NULL, "s", "llSetPrimURL(string url)\nUpdates the URL for the web page shown on the sides of the object.")); - addFunction(new LLScriptLibraryFunction(10.f, 20.f, dummy_func, "llRefreshPrimURL", NULL, "", "llRefreshPrimURL()\nReloads the web page shown on the sides of the object.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llEscapeURL", "s", "s", "string llEscapeURL(string url)\nReturns and escaped/encoded version of url, replacing spaces with %20 etc.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llUnescapeURL", "s", "s", "string llUnescapeURL(string url)\nReturns and unescaped/unencoded version of url, replacing %20 with spaces etc.")); - - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llMapDestination", NULL, "svv", "llMapDestination(string simname, vector pos, vector look_at)\nOpens world map centered on region with pos highlighted.\nOnly works for scripts attached to avatar, or during touch events.\n(NOTE: look_at currently does nothing)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llAddToLandBanList", NULL, "kf", "llAddToLandBanList(key avatar, float hours)\nAdd avatar to the land ban list for hours")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llRemoveFromLandPassList", NULL, "k", "llRemoveFromLandPassList(key avatar)\nRemove avatar from the land pass list")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llRemoveFromLandBanList", NULL, "k", "llRemoveFromLandBanList(key avatar)\nRemove avatar from the land ban list")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetCameraParams", NULL, "l", "llSetCameraParams(list rules)\nSets multiple camera parameters at once.\nList format is [ rule1, data1, rule2, data2 . . . rulen, datan ]")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llClearCameraParams", NULL, NULL, "llClearCameraParams()\nResets all camera parameters to default values and turns off scripted camera control.")); + addFunction(10.f, 20.f, dummy_func, "llSetPrimURL", NULL, "s"); + addFunction(10.f, 20.f, dummy_func, "llRefreshPrimURL", NULL, ""); + addFunction(10.f, 0.f, dummy_func, "llEscapeURL", "s", "s"); + addFunction(10.f, 0.f, dummy_func, "llUnescapeURL", "s", "s"); + + addFunction(10.f, 1.f, dummy_func, "llMapDestination", NULL, "svv"); + addFunction(10.f, 0.1f, dummy_func, "llAddToLandBanList", NULL, "kf"); + addFunction(10.f, 0.1f, dummy_func, "llRemoveFromLandPassList", NULL, "k"); + addFunction(10.f, 0.1f, dummy_func, "llRemoveFromLandBanList", NULL, "k"); + + addFunction(10.f, 0.f, dummy_func, "llSetCameraParams", NULL, "l"); + addFunction(10.f, 0.f, dummy_func, "llClearCameraParams", NULL, NULL); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llListStatistics", "f", "il", "float llListStatistics(integer operation, list l)\nPerform statistical aggregate functions on list l using LIST_STAT_* operations.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetUnixTime", "i", NULL, "integer llGetUnixTime()\nGet the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelFlags", "i", "v", "integer llGetParcelFlags(vector pos)\nGet the parcel flags (PARCEL_FLAG_*) for the parcel including the point pos.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionFlags", "i", NULL, "integer llGetRegionFlags()\nGet the region flags (REGION_FLAG_*) for the region the object is in.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llXorBase64StringsCorrect", "s", "ss", "string llXorBase64StringsCorrect(string s1, string s2)\nCorrectly performs an exclusive or on two Base 64 strings and returns a Base 64 string. s2 repeats if it is shorter than s1.")); + addFunction(10.f, 0.f, dummy_func, "llListStatistics", "f", "il"); + addFunction(10.f, 0.f, dummy_func, "llGetUnixTime", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llGetParcelFlags", "i", "v"); + addFunction(10.f, 0.f, dummy_func, "llGetRegionFlags", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llXorBase64StringsCorrect", "s", "ss"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llHTTPRequest", "k", "sls", "llHTTPRequest(string url, list parameters, string body)\nSend an HTTP request.")); + addFunction(10.f, 0.f, dummy_func, "llHTTPRequest", "k", "sls"); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llResetLandBanList", NULL, NULL, "llResetLandBanList()\nRemoves all residents from the land ban list.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.1f, dummy_func, "llResetLandPassList", NULL, NULL, "llResetLandPassList()\nRemoves all residents from the land access/pass list.")); + addFunction(10.f, 0.1f, dummy_func, "llResetLandBanList", NULL, NULL); + addFunction(10.f, 0.1f, dummy_func, "llResetLandPassList", NULL, NULL); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectPrimCount", "i", "k", "integer llGetObjectPrimCount(key object_id)\nReturns the total number of prims for an object.")); - addFunction(new LLScriptLibraryFunction(10.f, 2.0f, dummy_func, "llGetParcelPrimOwners", "l", "v", "list llGetParcelPrimOwners(vector pos)\nReturns a list of all residents who own objects on the parcel and the number of objects they own.\nRequires owner-like permissions for the parcel.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelPrimCount", "i", "vii","integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide)\nGets the number of prims on the parcel of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelMaxPrims", "i", "vi","integer llGetParcelMaxPrims(vector pos, integer sim_wide)\nGets the maximum number of prims allowed on the parcel at pos.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelDetails", "l", "vl","list llGetParcelDetails(vector pos, list params)\nGets the parcel details specified in params for the parcel at pos.\nParams is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA")); + addFunction(10.f, 0.f, dummy_func, "llGetObjectPrimCount", "i", "k"); + addFunction(10.f, 2.0f, dummy_func, "llGetParcelPrimOwners", "l", "v"); + addFunction(10.f, 0.f, dummy_func, "llGetParcelPrimCount", "i", "vii"); + addFunction(10.f, 0.f, dummy_func, "llGetParcelMaxPrims", "i", "vi"); + addFunction(10.f, 0.f, dummy_func, "llGetParcelDetails", "l", "vl"); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkPrimitiveParams", NULL, "il", "llSetLinkPrimitiveParams(integer linknumber, list rules)\nSet primitive parameters for linknumber based on rules.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkTexture", NULL, "isi", "llSetLinkTexture(integer link_pos, string texture, integer face)\nSets the texture of face for link_pos")); + addFunction(10.f, 0.2f, dummy_func, "llSetLinkPrimitiveParams", NULL, "il"); + addFunction(10.f, 0.2f, dummy_func, "llSetLinkTexture", NULL, "isi"); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringTrim", "s", "si", "string llStringTrim(string src, integer trim_type)\nTrim leading and/or trailing spaces from a string.\nUses trim_type of STRING_TRIM, STRING_TRIM_HEAD or STRING_TRIM_TAIL.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRegionSay", NULL, "is", "llRegionSay(integer channel, string msg)\nbroadcasts msg to entire region on channel (not 0.)")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectDetails", "l", "kl", "list llGetObjectDetails(key id, list params)\nGets the object details specified in params for the object with key id.\nDetails are OBJECT_NAME, _DESC, _POS, _ROT, _VELOCITY, _OWNER, _GROUP, _CREATOR.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetClickAction", NULL, "i", "llSetClickAction(integer action)\nSets the action performed when a prim is clicked upon.")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionAgentCount", "i", NULL, "int llGetRegionAgentCount()\nreturns the number of agents in a region")); - addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llTextBox", NULL, "ksi", "llTextBox(key avatar, string message, integer chat_channel\nShows a dialog box on the avatar's screen with the message.\nA text box asks for input, and if entered the text is chatted on chat_channel.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAgentLanguage", "s", "k", "string llGetAgentLanguage(key id)\nGets the agents preferred language..")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchUV", "v", "i", "vector llDetectedTouchUV(integer number)\nreturns the u and v coordinates in the first two components of a vector, for a triggered touch event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchFace", "i", "i", "integer llDetectedTouchFace(integer number)\nreturns the index of the face on the object for a triggered touch event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchPos", "v", "i", "vector llDetectedTouchPos(integer number)\nreturns the position touched for a triggered touch event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchNormal", "v", "i", "vector llDetectedTouchNormal(integer number)\nreturns the surface normal for a triggered touch event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchBinormal", "v", "i", "vector llDetectedTouchBinormal(integer number)\nreturns the surface binormal for a triggered touch event")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llDetectedTouchST", "v", "i", "vector llDetectedTouchST(integer number)\nreturns the s and t coordinates in the first two components of a vector, for a triggered touch event")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSHA1String", "s", "s", "string llSHA1String(string sr)\nPerforms a SHA1 security Hash. Returns a 40 character hex string.")); - - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetFreeURLs", "i", NULL, "integer llGetFreeURLs()\nreturns the available urls for the current script")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRequestURL", "k", NULL, "key llRequestURL()\nRequests one HTTP:// url for use by this object\nTriggers an http_server event with results.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRequestSecureURL", "k", NULL, "key llRequestSecureURL()\nRequests one HTTPS:// (SSL) url for use by this object\nTriggers an http_server event with results.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llReleaseURL", NULL, "s", "llReleaseURL(string url)\nReleases the specified URL, it will no longer be usable.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llHTTPResponse", NULL, "kis", "llHTTPResponse(key id, integer status, string body)\nResponds to request id with status and body.")); - addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetHTTPHeader", "s", "ks", "string llGetHTTPHeader(key id, string header)\nGet the value for header for request id.")); - - // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only + addFunction(10.f, 0.f, dummy_func, "llStringTrim", "s", "si"); + addFunction(10.f, 0.f, dummy_func, "llRegionSay", NULL, "is"); + addFunction(10.f, 0.f, dummy_func, "llGetObjectDetails", "l", "kl"); + addFunction(10.f, 0.f, dummy_func, "llSetClickAction", NULL, "i"); + + addFunction(10.f, 0.f, dummy_func, "llGetRegionAgentCount", "i", NULL); + addFunction(10.f, 1.f, dummy_func, "llTextBox", NULL, "ksi"); + addFunction(10.f, 0.f, dummy_func, "llGetAgentLanguage", "s", "k"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchUV", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchFace", "i", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchPos", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchNormal", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchBinormal", "v", "i"); + addFunction(10.f, 0.f, dummy_func, "llDetectedTouchST", "v", "i"); + + addFunction(10.f, 0.f, dummy_func, "llSHA1String", "s", "s"); + + addFunction(10.f, 0.f, dummy_func, "llGetFreeURLs", "i", NULL); + addFunction(10.f, 0.f, dummy_func, "llRequestURL", "k", NULL); + addFunction(10.f, 0.f, dummy_func, "llRequestSecureURL", "k", NULL); + addFunction(10.f, 0.f, dummy_func, "llReleaseURL", NULL, "s"); + addFunction(10.f, 0.f, dummy_func, "llHTTPResponse", NULL, "kis"); + addFunction(10.f, 0.f, dummy_func, "llGetHTTPHeader", "s", "ks"); + + // energy, sleep, dummy_func, name, return type, parameters, gods-only // IF YOU ADD NEW SCRIPT CALLS, YOU MUST PUT THEM AT THE END OF THIS LIST. // Otherwise the bytecode numbers for each call will be wrong, and all // existing scripts will crash. } -LLScriptLibraryFunction::LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, const char *desc, BOOL god_only) +LLScriptLibraryFunction::LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, BOOL god_only) : mEnergyUse(eu), mSleepTime(st), mExecFunc(exec_func), mName(name), mReturnType(ret_type), mArgs(args), mGodOnly(god_only) { - char *mDesc_ = new char[512]; - if (mSleepTime) - { - snprintf( /* Flawfinder: ignore */ - mDesc_, - 512, - "%s\nSleeps script for %.1f seconds.", - desc, - mSleepTime); - } - else - { - strncpy(mDesc_, desc, 512); /* Flawfinder: ignore */ - mDesc_[511] = '\0'; // just in case. - } - mDesc = mDesc_; } LLScriptLibraryFunction::~LLScriptLibraryFunction() { - delete [] mDesc; } -void LLScriptLibrary::addFunction(LLScriptLibraryFunction *func) +void LLScriptLibrary::addFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, BOOL god_only) { - LLScriptLibraryFunction **temp = new LLScriptLibraryFunction*[mNextNumber + 1]; - if (mNextNumber) - { - memcpy( /* Flawfinder: ignore */ - temp, - mFunctions, - sizeof(LLScriptLibraryFunction*)*mNextNumber); - delete [] mFunctions; - } - mFunctions = temp; - mFunctions[mNextNumber] = func; - mNextNumber++; + LLScriptLibraryFunction func(eu, st, exec_func, name, ret_type, args, god_only); + mFunctions.push_back(func); } void LLScriptLibrary::assignExec(const char *name, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &)) { - S32 i; - for (i = 0; i < mNextNumber; i++) + for (std::vector<LLScriptLibraryFunction>::iterator i = mFunctions.begin(); + i != mFunctions.end(); ++i) { - if (!strcmp(name, mFunctions[i]->mName)) + if (!strcmp(name, i->mName)) { - mFunctions[i]->mExecFunc = exec_func; + i->mExecFunc = exec_func; + return; } } + + llerrs << "Unknown LSL function in assignExec: " << name << llendl; } void LLScriptLibData::print(std::ostream &s, BOOL b_prepend_comma) diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt index 09f8acdb52..d35afd8cbd 100644 --- a/indra/media_plugins/CMakeLists.txt +++ b/indra/media_plugins/CMakeLists.txt @@ -8,9 +8,4 @@ add_subdirectory(gstreamer010) if (WINDOWS OR DARWIN) add_subdirectory(quicktime) - add_subdirectory(awesomium) endif (WINDOWS OR DARWIN) - -if (WINDOWS) - add_subdirectory(flash_activex) -endif(WINDOWS) diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index c048dd66c1..d96477279d 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -66,9 +66,9 @@ if (DARWIN) # copy the webkit dylib to the build directory add_custom_command( TARGET media_plugin_webkit POST_BUILD -# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllwebkitlib.dylib - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ - DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib +# OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ + DEPENDS media_plugin_webkit ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ) endif (DARWIN)
\ No newline at end of file diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index bd29eb5395..2928b7e6b3 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -29,7 +29,7 @@ * $/LicenseInfo$ */ -#include "llwebkitlib.h" +#include "llqtwebkit.h" #include "linden_common.h" #include "indra_constants.h" // for indra keyboard codes @@ -74,15 +74,15 @@ private: // void update(int milliseconds) { - LLMozLib::getInstance()->pump( milliseconds ); + LLQtWebKit::getInstance()->pump( milliseconds ); checkEditState(); if ( mNeedsUpdate ) { - const unsigned char* browser_pixels = LLMozLib::getInstance()->grabBrowserWindow( mBrowserWindowId ); + const unsigned char* browser_pixels = LLQtWebKit::getInstance()->grabBrowserWindow( mBrowserWindowId ); - unsigned int buffer_size = LLMozLib::getInstance()->getBrowserRowSpan( mBrowserWindowId ) * LLMozLib::getInstance()->getBrowserHeight( mBrowserWindowId ); + unsigned int buffer_size = LLQtWebKit::getInstance()->getBrowserRowSpan( mBrowserWindowId ) * LLQtWebKit::getInstance()->getBrowserHeight( mBrowserWindowId ); // std::cerr << "webkit plugin: updating" << std::endl; @@ -139,30 +139,35 @@ private: #endif // main browser initialization - bool result = LLMozLib::getInstance()->init( application_dir, component_dir, profileDir, native_window_handle ); + bool result = LLQtWebKit::getInstance()->init( application_dir, component_dir, profileDir, native_window_handle ); if ( result ) { // create single browser window - mBrowserWindowId = LLMozLib::getInstance()->createBrowserWindow( mWidth, mHeight ); + mBrowserWindowId = LLQtWebKit::getInstance()->createBrowserWindow( mWidth, mHeight ); +#if LL_WINDOWS // Enable plugins - LLMozLib::getInstance()->enablePlugins(true); + LLQtWebKit::getInstance()->enablePlugins(true); +#else + // Disable plugins + LLQtWebKit::getInstance()->enablePlugins(false); +#endif - // tell LLMozLib about the size of the browser window - LLMozLib::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight ); + // tell LLQtWebKit about the size of the browser window + LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight ); - // observer events that LLMozLib emits - LLMozLib::getInstance()->addObserver( mBrowserWindowId, this ); + // observer events that LLQtWebKit emits + LLQtWebKit::getInstance()->addObserver( mBrowserWindowId, this ); // append details to agent string - LLMozLib::getInstance()->setBrowserAgentId( "LLPluginMedia Web Browser" ); + LLQtWebKit::getInstance()->setBrowserAgentId( "LLPluginMedia Web Browser" ); // don't flip bitmap - LLMozLib::getInstance()->flipWindow( mBrowserWindowId, true ); + LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true ); // go to the "home page" // Don't do this here -- it causes the dreaded "white flash" when loading a browser instance. -// LLMozLib::getInstance()->navigateTo( mBrowserWindowId, "about:blank" ); +// LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, "about:blank" ); // set flag so we don't do this again mBrowserInitialized = true; @@ -177,29 +182,29 @@ private: // virtual void onCursorChanged(const EventType& event) { - LLMozLib::ECursor moz_cursor = (LLMozLib::ECursor)event.getIntValue(); + LLQtWebKit::ECursor llqt_cursor = (LLQtWebKit::ECursor)event.getIntValue(); std::string name; - switch(moz_cursor) + switch(llqt_cursor) { - case LLMozLib::C_ARROW: + case LLQtWebKit::C_ARROW: name = "arrow"; break; - case LLMozLib::C_IBEAM: + case LLQtWebKit::C_IBEAM: name = "ibeam"; break; - case LLMozLib::C_SPLITV: + case LLQtWebKit::C_SPLITV: name = "splitv"; break; - case LLMozLib::C_SPLITH: + case LLQtWebKit::C_SPLITH: name = "splith"; break; - case LLMozLib::C_POINTINGHAND: + case LLQtWebKit::C_POINTINGHAND: name = "hand"; break; default: - llwarns << "Unknown cursor ID: " << (int)moz_cursor << llendl; + llwarns << "Unknown cursor ID: " << (int)llqt_cursor << llendl; break; } @@ -235,8 +240,8 @@ private: message.setValue("uri", event.getEventUri()); message.setValueS32("result_code", event.getIntValue()); message.setValue("result_string", event.getStringValue()); - message.setValueBoolean("history_back_available", LLMozLib::getInstance()->userActionIsEnabled( mBrowserWindowId, LLMozLib::UA_NAVIGATE_BACK)); - message.setValueBoolean("history_forward_available", LLMozLib::getInstance()->userActionIsEnabled( mBrowserWindowId, LLMozLib::UA_NAVIGATE_FORWARD)); + message.setValueBoolean("history_back_available", LLQtWebKit::getInstance()->userActionIsEnabled( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_BACK)); + message.setValueBoolean("history_forward_available", LLQtWebKit::getInstance()->userActionIsEnabled( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_FORWARD)); sendMessage(message); setStatus(STATUS_LOADED); @@ -292,15 +297,15 @@ private: // void mouseDown( int x, int y ) { - LLMozLib::getInstance()->mouseDown( mBrowserWindowId, x, y ); + LLQtWebKit::getInstance()->mouseDown( mBrowserWindowId, x, y ); }; //////////////////////////////////////////////////////////////////////////////// // void mouseUp( int x, int y ) { - LLMozLib::getInstance()->mouseUp( mBrowserWindowId, x, y ); - LLMozLib::getInstance()->focusBrowser( mBrowserWindowId, true ); + LLQtWebKit::getInstance()->mouseUp( mBrowserWindowId, x, y ); + LLQtWebKit::getInstance()->focusBrowser( mBrowserWindowId, true ); checkEditState(); }; @@ -308,66 +313,66 @@ private: // void mouseMove( int x, int y ) { - LLMozLib::getInstance()->mouseMove( mBrowserWindowId, x, y ); + LLQtWebKit::getInstance()->mouseMove( mBrowserWindowId, x, y ); }; //////////////////////////////////////////////////////////////////////////////// // void keyPress( int key ) { - int moz_key; + int llqt_key; // The incoming values for 'key' will be the ones from indra_constants.h - // the outgoing values are the ones from llwebkitlib.h + // the outgoing values are the ones from llqtwebkit.h switch((KEY)key) { - // This is the list that the qtwebkit-llmozlib implementation actually maps into Qt keys. -// case KEY_XXX: moz_key = LL_DOM_VK_CANCEL; break; -// case KEY_XXX: moz_key = LL_DOM_VK_HELP; break; - case KEY_BACKSPACE: moz_key = LL_DOM_VK_BACK_SPACE; break; - case KEY_TAB: moz_key = LL_DOM_VK_TAB; break; -// case KEY_XXX: moz_key = LL_DOM_VK_CLEAR; break; - case KEY_RETURN: moz_key = LL_DOM_VK_RETURN; break; - case KEY_PAD_RETURN: moz_key = LL_DOM_VK_ENTER; break; - case KEY_SHIFT: moz_key = LL_DOM_VK_SHIFT; break; - case KEY_CONTROL: moz_key = LL_DOM_VK_CONTROL; break; - case KEY_ALT: moz_key = LL_DOM_VK_ALT; break; -// case KEY_XXX: moz_key = LL_DOM_VK_PAUSE; break; - case KEY_CAPSLOCK: moz_key = LL_DOM_VK_CAPS_LOCK; break; - case KEY_ESCAPE: moz_key = LL_DOM_VK_ESCAPE; break; - case KEY_PAGE_UP: moz_key = LL_DOM_VK_PAGE_UP; break; - case KEY_PAGE_DOWN: moz_key = LL_DOM_VK_PAGE_DOWN; break; - case KEY_END: moz_key = LL_DOM_VK_END; break; - case KEY_HOME: moz_key = LL_DOM_VK_HOME; break; - case KEY_LEFT: moz_key = LL_DOM_VK_LEFT; break; - case KEY_UP: moz_key = LL_DOM_VK_UP; break; - case KEY_RIGHT: moz_key = LL_DOM_VK_RIGHT; break; - case KEY_DOWN: moz_key = LL_DOM_VK_DOWN; break; -// case KEY_XXX: moz_key = LL_DOM_VK_PRINTSCREEN; break; - case KEY_INSERT: moz_key = LL_DOM_VK_INSERT; break; - case KEY_DELETE: moz_key = LL_DOM_VK_DELETE; break; -// case KEY_XXX: moz_key = LL_DOM_VK_CONTEXT_MENU; break; + // This is the list that the llqtwebkit implementation actually maps into Qt keys. +// case KEY_XXX: llqt_key = LL_DOM_VK_CANCEL; break; +// case KEY_XXX: llqt_key = LL_DOM_VK_HELP; break; + case KEY_BACKSPACE: llqt_key = LL_DOM_VK_BACK_SPACE; break; + case KEY_TAB: llqt_key = LL_DOM_VK_TAB; break; +// case KEY_XXX: llqt_key = LL_DOM_VK_CLEAR; break; + case KEY_RETURN: llqt_key = LL_DOM_VK_RETURN; break; + case KEY_PAD_RETURN: llqt_key = LL_DOM_VK_ENTER; break; + case KEY_SHIFT: llqt_key = LL_DOM_VK_SHIFT; break; + case KEY_CONTROL: llqt_key = LL_DOM_VK_CONTROL; break; + case KEY_ALT: llqt_key = LL_DOM_VK_ALT; break; +// case KEY_XXX: llqt_key = LL_DOM_VK_PAUSE; break; + case KEY_CAPSLOCK: llqt_key = LL_DOM_VK_CAPS_LOCK; break; + case KEY_ESCAPE: llqt_key = LL_DOM_VK_ESCAPE; break; + case KEY_PAGE_UP: llqt_key = LL_DOM_VK_PAGE_UP; break; + case KEY_PAGE_DOWN: llqt_key = LL_DOM_VK_PAGE_DOWN; break; + case KEY_END: llqt_key = LL_DOM_VK_END; break; + case KEY_HOME: llqt_key = LL_DOM_VK_HOME; break; + case KEY_LEFT: llqt_key = LL_DOM_VK_LEFT; break; + case KEY_UP: llqt_key = LL_DOM_VK_UP; break; + case KEY_RIGHT: llqt_key = LL_DOM_VK_RIGHT; break; + case KEY_DOWN: llqt_key = LL_DOM_VK_DOWN; break; +// case KEY_XXX: llqt_key = LL_DOM_VK_PRINTSCREEN; break; + case KEY_INSERT: llqt_key = LL_DOM_VK_INSERT; break; + case KEY_DELETE: llqt_key = LL_DOM_VK_DELETE; break; +// case KEY_XXX: llqt_key = LL_DOM_VK_CONTEXT_MENU; break; default: if(key < KEY_SPECIAL) { // Pass the incoming key through -- it should be regular ASCII, which should be correct for webkit. - moz_key = key; + llqt_key = key; } else { // Don't pass through untranslated special keys -- they'll be all wrong. - moz_key = 0; + llqt_key = 0; } break; } -// std::cerr << "keypress, original code = 0x" << std::hex << key << ", converted code = 0x" << std::hex << moz_key << std::dec << std::endl; +// std::cerr << "keypress, original code = 0x" << std::hex << key << ", converted code = 0x" << std::hex << llqt_key << std::dec << std::endl; - if(moz_key != 0) + if(llqt_key != 0) { - LLMozLib::getInstance()->keyPress( mBrowserWindowId, moz_key ); + LLQtWebKit::getInstance()->keyPress( mBrowserWindowId, llqt_key ); } checkEditState(); @@ -384,7 +389,7 @@ private: { // std::cerr << "unicode input, code = 0x" << std::hex << (unsigned long)(wstr[i]) << std::dec << std::endl; - LLMozLib::getInstance()->unicodeInput(mBrowserWindowId, wstr[i]); + LLQtWebKit::getInstance()->unicodeInput(mBrowserWindowId, wstr[i]); } checkEditState(); @@ -392,9 +397,9 @@ private: void checkEditState(void) { - bool can_cut = LLMozLib::getInstance()->userActionIsEnabled( mBrowserWindowId, LLMozLib::UA_EDIT_CUT); - bool can_copy = LLMozLib::getInstance()->userActionIsEnabled( mBrowserWindowId, LLMozLib::UA_EDIT_COPY); - bool can_paste = LLMozLib::getInstance()->userActionIsEnabled( mBrowserWindowId, LLMozLib::UA_EDIT_PASTE); + bool can_cut = LLQtWebKit::getInstance()->userActionIsEnabled( mBrowserWindowId, LLQtWebKit::UA_EDIT_CUT); + bool can_copy = LLQtWebKit::getInstance()->userActionIsEnabled( mBrowserWindowId, LLQtWebKit::UA_EDIT_COPY); + bool can_paste = LLQtWebKit::getInstance()->userActionIsEnabled( mBrowserWindowId, LLQtWebKit::UA_EDIT_PASTE); if((can_cut != mCanCut) || (can_copy != mCanCopy) || (can_paste != mCanPaste)) { @@ -441,10 +446,10 @@ MediaPluginWebKit::MediaPluginWebKit(LLPluginInstance::sendMessageFunction host_ MediaPluginWebKit::~MediaPluginWebKit() { // unhook observer - LLMozLib::getInstance()->remObserver( mBrowserWindowId, this ); + LLQtWebKit::getInstance()->remObserver( mBrowserWindowId, this ); // clean up - LLMozLib::getInstance()->reset(); + LLQtWebKit::getInstance()->reset(); // std::cerr << "MediaPluginWebKit destructor" << std::endl; } @@ -470,7 +475,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) message.setValueLLSD("versions", versions); std::string plugin_version = "Webkit media plugin, Webkit version "; - plugin_version += LLMozLib::getInstance()->getVersion(); + plugin_version += LLQtWebKit::getInstance()->getVersion(); message.setValue("plugin_version", plugin_version); sendMessage(message); @@ -574,12 +579,12 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) initBrowser(); // size changed so tell the browser - LLMozLib::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight ); + LLQtWebKit::getInstance()->setSize( mBrowserWindowId, mWidth, mHeight ); // std::cerr << "webkit plugin: set size to " << mWidth << " x " << mHeight -// << ", rowspan is " << LLMozLib::getInstance()->getBrowserRowSpan(mBrowserWindowId) << std::endl; +// << ", rowspan is " << LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) << std::endl; - S32 real_width = LLMozLib::getInstance()->getBrowserRowSpan(mBrowserWindowId) / LLMozLib::getInstance()->getBrowserDepth(mBrowserWindowId); + S32 real_width = LLQtWebKit::getInstance()->getBrowserRowSpan(mBrowserWindowId) / LLQtWebKit::getInstance()->getBrowserDepth(mBrowserWindowId); // The actual width the browser will be drawing to is probably smaller... let the host know by modifying texture_width in the response. if(real_width <= texture_width) @@ -617,7 +622,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) if(!uri.empty()) { - LLMozLib::getInstance()->navigateTo( mBrowserWindowId, uri ); + LLQtWebKit::getInstance()->navigateTo( mBrowserWindowId, uri ); } } else if(message_name == "mouse_event") @@ -653,7 +658,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) // The scroll values are roughly 1 per wheel click, so we need to magnify them by some factor. // Arbitrarily, I choose 16. y *= 16; - LLMozLib::getInstance()->scrollByLines(mBrowserWindowId, y); + LLQtWebKit::getInstance()->scrollByLines(mBrowserWindowId, y); } else if(message_name == "key_event") { @@ -674,15 +679,15 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) } if(message_name == "edit_cut") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_EDIT_CUT ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_EDIT_CUT ); } if(message_name == "edit_copy") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_EDIT_COPY ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_EDIT_COPY ); } if(message_name == "edit_paste") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_EDIT_PASTE ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_EDIT_PASTE ); } else { @@ -694,44 +699,44 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) if(message_name == "focus") { bool val = message_in.getValueBoolean("focused"); - LLMozLib::getInstance()->focusBrowser( mBrowserWindowId, val ); + LLQtWebKit::getInstance()->focusBrowser( mBrowserWindowId, val ); } else if(message_name == "clear_cache") { - LLMozLib::getInstance()->clearCache(); + LLQtWebKit::getInstance()->clearCache(); } else if(message_name == "clear_cookies") { - LLMozLib::getInstance()->clearAllCookies(); + LLQtWebKit::getInstance()->clearAllCookies(); } else if(message_name == "enable_cookies") { bool val = message_in.getValueBoolean("enable"); - LLMozLib::getInstance()->enableCookies( val ); + LLQtWebKit::getInstance()->enableCookies( val ); } else if(message_name == "proxy_setup") { bool val = message_in.getValueBoolean("enable"); std::string host = message_in.getValue("host"); int port = message_in.getValueS32("port"); - LLMozLib::getInstance()->enableProxy( val, host, port ); + LLQtWebKit::getInstance()->enableProxy( val, host, port ); } else if(message_name == "browse_stop") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_NAVIGATE_STOP ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_STOP ); } else if(message_name == "browse_reload") { // foo = message_in.getValueBoolean("ignore_cache"); - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_NAVIGATE_RELOAD ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_RELOAD ); } else if(message_name == "browse_forward") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_NAVIGATE_FORWARD ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_FORWARD ); } else if(message_name == "browse_back") { - LLMozLib::getInstance()->userAction( mBrowserWindowId, LLMozLib::UA_NAVIGATE_BACK ); + LLQtWebKit::getInstance()->userAction( mBrowserWindowId, LLQtWebKit::UA_NAVIGATE_BACK ); } else if(message_name == "set_status_redirect") { @@ -739,20 +744,20 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) std::string url = message_in.getValue("url"); if ( 404 == code ) // browser lib only supports 404 right now { - LLMozLib::getInstance()->set404RedirectUrl( mBrowserWindowId, url ); + LLQtWebKit::getInstance()->set404RedirectUrl( mBrowserWindowId, url ); }; } else if(message_name == "set_user_agent") { std::string user_agent = message_in.getValue("user_agent"); - LLMozLib::getInstance()->setBrowserAgentId( user_agent ); + LLQtWebKit::getInstance()->setBrowserAgentId( user_agent ); } else if(message_name == "init_history") { // Initialize browser history LLSD history = message_in.getValueLLSD("history"); // First, clear the URL history - LLMozLib::getInstance()->clearHistory(mBrowserWindowId); + LLQtWebKit::getInstance()->clearHistory(mBrowserWindowId); // Then, add the history items in order LLSD::array_iterator iter_history = history.beginArray(); LLSD::array_iterator end_history = history.endArray(); @@ -760,7 +765,7 @@ void MediaPluginWebKit::receiveMessage(const char *message_string) { std::string url = (*iter_history).asString(); if(! url.empty()) { - LLMozLib::getInstance()->prependHistoryUrl(mBrowserWindowId, url); + LLQtWebKit::getInstance()->prependHistoryUrl(mBrowserWindowId, url); } } } diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index d7bb68a006..be75d8fe5f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -181,7 +181,6 @@ set(viewer_SOURCE_FILES llfloaterlandholdings.cpp llfloatermap.cpp llfloatermemleak.cpp - llfloaterminiinspector.cpp llfloatermute.cpp llfloaternamedesc.cpp llfloaternotificationsconsole.cpp @@ -214,6 +213,7 @@ set(viewer_SOURCE_FILES llfolderview.cpp llfolderviewitem.cpp llfollowcam.cpp + llfriendcard.cpp llgesturemgr.cpp llgivemoney.cpp llglsandbox.cpp @@ -238,6 +238,7 @@ set(viewer_SOURCE_FILES llimpanel.cpp llimview.cpp llimcontrolpanel.cpp + llinspectavatar.cpp llinventorybridge.cpp llinventoryclipboard.cpp llinventoryfilter.cpp @@ -641,7 +642,6 @@ set(viewer_HEADER_FILES llfloaterlandholdings.h llfloatermap.h llfloatermemleak.h - llfloaterminiinspector.h llfloatermute.h llfloaternamedesc.h llfloaternotificationsconsole.h @@ -675,6 +675,7 @@ set(viewer_HEADER_FILES llfoldervieweventlistener.h llfolderviewitem.h llfollowcam.h + llfriendcard.h llgesturemgr.h llgivemoney.h llgroupactions.h @@ -697,6 +698,7 @@ set(viewer_HEADER_FILES llimpanel.h llimview.h llimcontrolpanel.h + llinspectavatar.h llinventorybridge.h llinventoryclipboard.h llinventoryfilter.h @@ -1396,7 +1398,7 @@ if (WINDOWS) DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_flash_activex media_plugin_awesomium) + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) if (PACKAGE) add_custom_command( @@ -1534,7 +1536,7 @@ if (DARWIN) DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_awesomium) + add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) if (PACKAGE) add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME}) @@ -1588,11 +1590,6 @@ include(LLAddBuildTest) SET(viewer_TEST_SOURCE_FILES llagentaccess.cpp lllogininstance.cpp - # Not *actually* a unit test, it's an integration test. - # Because it won't work in the new unit test iface, i've commented out - # and notified Nat. Delete this when it's replaced! - # + poppy & brad 2009-06-05 - # llcapabilitylistener.cpp ) set_source_files_properties( ${viewer_TEST_SOURCE_FILES} @@ -1601,6 +1598,23 @@ set_source_files_properties( ) LL_ADD_PROJECT_UNIT_TESTS(${VIEWER_BINARY_NAME} "${viewer_TEST_SOURCE_FILES}") +#set(TEST_DEBUG on) +set(test_sources llcapabilitylistener.cpp llviewerprecompiledheaders.cpp) +set(test_libs + ${LLMESSAGE_LIBRARIES} + ${WINDOWS_LIBRARIES} + ${LLVFS_LIBRARIES} + ${LLMATH_LIBRARIES} + ${LLCOMMON_LIBRARIES} + ) + +LL_ADD_INTEGRATION_TEST(llcapabilitylistener + "${test_sources}" + "${test_libs}" + ${PYTHON_EXECUTABLE} + "${CMAKE_SOURCE_DIR}/llmessage/tests/test_llsdmessage_peer.py" + ) + #ADD_VIEWER_BUILD_TEST(llmemoryview viewer) @@ -1643,38 +1657,3 @@ if (WINDOWS) ) endif (WINDOWS) -if (WINDOWS) - get_target_property(BUILT_FLASH_ACTIVEX_PLUGIN media_plugin_flash_activex LOCATION) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - copy_if_different - ${BUILT_FLASH_ACTIVEX_PLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Copying Flash (ActiveX) Plugin to the runtime folder." - ) -endif (WINDOWS) - -if (WINDOWS) - get_target_property(BUILT_AWESOMIUM_PLUGIN media_plugin_awesomium LOCATION) - add_custom_command( - TARGET ${VIEWER_BINARY_NAME} POST_BUILD - COMMAND ${CMAKE_COMMAND} - ARGS - -E - copy_if_different - ${BUILT_AWESOMIUM_PLUGIN} - ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin - COMMENT "Copying Flash (Awesomium) Plugin to the runtime folder." - ) -endif (WINDOWS) - -if (DARWIN) -# Don't do this here -- it's taken care of by viewer_manifest.py -# add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD -# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/ -# DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib -# ) -endif (DARWIN) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2fe8fd5b00..09ebb47fd0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -23,6 +23,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>AgentPause</key> + <map> + <key>Comment</key> + <string>Ask the simulator to stop updating the agent while enabled</string> + <key>Persist</key> + <integer>0</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> <key>AlertedUnsupportedHardware</key> <map> <key>Comment</key> @@ -6877,7 +6888,7 @@ <key>Value</key> <integer>0</integer> </map> - <key>ShowCrosshairs</key> + <key>ShowCoordinatesOption</key> <map> <key>Comment</key> <string>Show Coordinates in Location Input Field</string> @@ -6888,7 +6899,7 @@ <key>Value</key> <integer>0</integer> </map> - <key>ShowCoordinatesOption</key> + <key>ShowCrosshairs</key> <map> <key>Comment</key> <string>Display crosshairs when in mouselook mode</string> diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 7e845cafb7..09400b3a88 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -267,13 +267,6 @@ private: // Region //-------------------------------------------------------------------- public: - enum ELocationFormat - { - LOCATION_FORMAT_NORMAL, - LOCATION_FORMAT_LANDMARK, - LOCATION_FORMAT_WITHOUT_SIM, - LOCATION_FORMAT_FULL, - }; void setRegion(LLViewerRegion *regionp); LLViewerRegion *getRegion() const; LLHost getRegionHost() const; diff --git a/indra/newview/llagentui.cpp b/indra/newview/llagentui.cpp index 93d88bf3df..1a69f1d975 100644 --- a/indra/newview/llagentui.cpp +++ b/indra/newview/llagentui.cpp @@ -89,7 +89,7 @@ std::string LLAgentUI::buildSLURL(const bool escaped /*= true*/) return slurl; } -BOOL LLAgentUI::buildLocationString(std::string& str, LLAgent::ELocationFormat fmt,const LLVector3& agent_pos_region) +BOOL LLAgentUI::buildLocationString(std::string& str, ELocationFormat fmt,const LLVector3& agent_pos_region) { LLViewerRegion* region = gAgent.getRegion(); LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); @@ -128,14 +128,14 @@ BOOL LLAgentUI::buildLocationString(std::string& str, LLAgent::ELocationFormat f // the parcel doesn't have a name switch (fmt) { - case LLAgent::LOCATION_FORMAT_LANDMARK: + case LOCATION_FORMAT_LANDMARK: buffer = llformat("%.100s", region_name.c_str()); break; - case LLAgent::LOCATION_FORMAT_NORMAL: + case LOCATION_FORMAT_NORMAL: buffer = llformat("%s", region_name.c_str()); break; - case LLAgent::LOCATION_FORMAT_WITHOUT_SIM: - case LLAgent::LOCATION_FORMAT_FULL: + case LOCATION_FORMAT_WITHOUT_SIM: + case LOCATION_FORMAT_FULL: buffer = llformat("%s (%d, %d, %d)", region_name.c_str(), pos_x, pos_y, pos_z); @@ -147,19 +147,19 @@ BOOL LLAgentUI::buildLocationString(std::string& str, LLAgent::ELocationFormat f // the parcel has a name, so include it in the landmark name switch (fmt) { - case LLAgent::LOCATION_FORMAT_LANDMARK: + case LOCATION_FORMAT_LANDMARK: buffer = llformat("%.100s", parcel_name.c_str()); break; - case LLAgent::LOCATION_FORMAT_NORMAL: + case LOCATION_FORMAT_NORMAL: buffer = llformat("%s, %s", region_name.c_str(), parcel_name.c_str()); break; - case LLAgent::LOCATION_FORMAT_WITHOUT_SIM: + case LOCATION_FORMAT_WITHOUT_SIM: buffer = llformat("%s, %s (%d, %d, %d)", region_name.c_str(), parcel_name.c_str(), pos_x, pos_y, pos_z); break; - case LLAgent::LOCATION_FORMAT_FULL: + case LOCATION_FORMAT_FULL: std::string sim_access_string = region->getSimAccessString(); buffer = llformat("%s, %s (%d, %d, %d)%s%s", region_name.c_str(), @@ -173,7 +173,7 @@ BOOL LLAgentUI::buildLocationString(std::string& str, LLAgent::ELocationFormat f str = buffer; return TRUE; } -BOOL LLAgentUI::buildLocationString(std::string& str, LLAgent::ELocationFormat fmt) +BOOL LLAgentUI::buildLocationString(std::string& str, ELocationFormat fmt) { return buildLocationString(str,fmt, gAgent.getPositionAgent()); } diff --git a/indra/newview/llagentui.h b/indra/newview/llagentui.h index c3bc58d791..47ecb04547 100644 --- a/indra/newview/llagentui.h +++ b/indra/newview/llagentui.h @@ -33,19 +33,25 @@ #ifndef LLAGENTUI_H #define LLAGENTUI_H -#include "llagent.h" - class LLAgentUI { public: + enum ELocationFormat + { + LOCATION_FORMAT_NORMAL, + LOCATION_FORMAT_LANDMARK, + LOCATION_FORMAT_WITHOUT_SIM, + LOCATION_FORMAT_FULL, + }; + static void buildName(std::string& name); static void buildFullname(std::string &name); static std::string buildSLURL(const bool escaped = true); //build location string using the current position of gAgent. - static BOOL buildLocationString(std::string& str, LLAgent::ELocationFormat fmt = LLAgent::LOCATION_FORMAT_LANDMARK); + static BOOL buildLocationString(std::string& str, ELocationFormat fmt = LOCATION_FORMAT_LANDMARK); //build location string using a region position of the avatar. - static BOOL buildLocationString(std::string& str, LLAgent::ELocationFormat fmt,const LLVector3& agent_pos_region); + static BOOL buildLocationString(std::string& str, ELocationFormat fmt,const LLVector3& agent_pos_region); }; #endif //LLAGENTUI_H diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d67dd3adcb..0d4b7d027c 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1402,10 +1402,6 @@ bool LLAppViewer::cleanup() std::string warnings_settings_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, getSettingsFilename("Default", "Warnings")); gWarningSettings.saveToFile(warnings_settings_filename, TRUE); - gSavedSettings.cleanup(); - LLUIColorTable::instance().clear(); - gCrashSettings.cleanup(); - // Save URL history file LLURLHistory::saveFile("url_history.xml"); @@ -1508,6 +1504,10 @@ bool LLAppViewer::cleanup() gStaticVFS = NULL; delete gVFS; gVFS = NULL; + + gSavedSettings.cleanup(); + LLUIColorTable::instance().clear(); + gCrashSettings.cleanup(); LLWatchdog::getInstance()->cleanup(); diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 4e289efd1b..5f71b6e3f6 100644 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -42,7 +42,7 @@ #include "llagent.h" #include "llappviewer.h" // for gLastVersionChannel #include "llcallingcard.h" // for LLAvatarTracker -#include "llinventorymodel.h" +#include "llinventorymodel.h" // for gInventory.findCategoryUUIDForType #include "llimview.h" // for gIMMgr #include "llsidetray.h" #include "llviewermessage.h" // for handle_lure @@ -229,8 +229,6 @@ bool LLAvatarActions::handleRemove(const LLSD& notification, const LLSD& respons } LLAvatarTracker::instance().terminateBuddy(id); LLAvatarTracker::instance().notifyObservers(); - gInventory.addChangedMask(LLInventoryObserver::LABEL | LLInventoryObserver::CALLING_CARD, LLUUID::null); - gInventory.notifyObservers(); break; case 1: // NO diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp index f6eb7f6494..05addf3f3a 100644 --- a/indra/newview/llavatariconctrl.cpp +++ b/indra/newview/llavatariconctrl.cpp @@ -51,6 +51,15 @@ static LLDefaultChildRegistry::Register<LLAvatarIconCtrl> r("avatar_icon"); LLAvatarIconCtrl::avatar_image_map_t LLAvatarIconCtrl::sImagesCache; + +LLAvatarIconCtrl::Params::Params() +: avatar_id("avatar_id"), + draw_tooltip("draw_tooltip", true) +{ + name = "avatar_icon"; +} + + LLAvatarIconCtrl::LLAvatarIconCtrl(const LLAvatarIconCtrl::Params& p) : LLIconCtrl(p), mDrawTooltip(p.draw_tooltip) diff --git a/indra/newview/llavatariconctrl.h b/indra/newview/llavatariconctrl.h index 10ce827d6d..49e304a521 100644 --- a/indra/newview/llavatariconctrl.h +++ b/indra/newview/llavatariconctrl.h @@ -45,13 +45,9 @@ public: { Optional <LLUUID> avatar_id; Optional <bool> draw_tooltip; - Params() - : avatar_id("avatar_id"), - draw_tooltip("draw_tooltip", true) - { - name = "avatar_icon"; - } + Params(); }; + protected: LLAvatarIconCtrl(const Params&); friend class LLUICtrlFactory; diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp index 80b80dc228..253c2ee9a6 100644 --- a/indra/newview/llavatarlistitem.cpp +++ b/indra/newview/llavatarlistitem.cpp @@ -48,7 +48,7 @@ LLAvatarListItem::LLAvatarListItem(const Params& p) : LLPanel() mStatus = NULL; mInfo = NULL; mProfile = NULL; - mini_inspector = NULL; + mInspector = NULL; mAvatar = getChild<LLAvatarIconCtrl>("avatar_icon"); //mAvatar->setValue(p.avatar_icon); @@ -242,9 +242,9 @@ void LLAvatarListItem::setAvatar(LLSD& data) //--------------------------------------------------------------------------------- void LLAvatarListItem::onInfoBtnClick() { - mini_inspector = LLFloaterReg::showInstance("mini_inspector", gAgent.getID()); + mInspector = LLFloaterReg::showInstance("inspect_avatar", gAgent.getID()); - if (!mini_inspector) + if (!mInspector) return; LLRect rect; @@ -252,16 +252,17 @@ void LLAvatarListItem::onInfoBtnClick() // *TODO Vadim: rewrite this. "+= -" looks weird. - S32 delta = mYPos - mini_inspector->getRect().getHeight(); + S32 delta = mYPos - mInspector->getRect().getHeight(); if(delta < 0) { mYPos += -delta; } - rect.setLeftTopAndSize(mXPos, mYPos, mini_inspector->getRect().getWidth(), mini_inspector->getRect().getHeight()); - mini_inspector->setRect(rect); - mini_inspector->setFrontmost(true); - mini_inspector->setVisible(true); + rect.setLeftTopAndSize(mXPos, mYPos, + mInspector->getRect().getWidth(), mInspector->getRect().getHeight()); + mInspector->setRect(rect); + mInspector->setFrontmost(true); + mInspector->setVisible(true); } diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h index dc73f187a7..b41e0ff209 100644 --- a/indra/newview/llavatarlistitem.h +++ b/indra/newview/llavatarlistitem.h @@ -38,7 +38,7 @@ #include <llbutton.h> #include <lluuid.h> -#include "llfloaterminiinspector.h" +//#include "llfloaterminiinspector.h" class LLAvatarListItem : public LLPanel { @@ -96,7 +96,7 @@ private: S32 mYPos; S32 mXPos; - LLFloater* mini_inspector; + LLFloater* mInspector; bool mNeedsArrange; // diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp index 355a90209a..7326e39af3 100644 --- a/indra/newview/llcallingcard.cpp +++ b/indra/newview/llcallingcard.cpp @@ -95,29 +95,8 @@ const F32 OFFLINE_SECONDS = FIND_FREQUENCY + 8.0f; // static LLAvatarTracker LLAvatarTracker::sInstance; -/* -class LLAvatarTrackerInventoryObserver : public LLInventoryObserver -{ -public: - LLAvatarTrackerInventoryObserver(LLAvatarTracker* at) : - mAT(at) {} - virtual ~LLAvatarTrackerInventoryObserver() {} - virtual void changed(U32 mask); -protected: - LLAvatarTracker* mAT; -}; -*/ -/* -void LLAvatarTrackerInventoryObserver::changed(U32 mask) -{ - // if there's a calling card change, just do it. - if((mask & LLInventoryObserver::CALLING_CARD) != 0) - { - mAT->inventoryChanged(); - } -} -*/ + ///---------------------------------------------------------------------------- /// Class LLAvatarTracker @@ -329,7 +308,8 @@ void LLAvatarTracker::terminateBuddy(const LLUUID& id) msg->nextBlock("ExBlock"); msg->addUUID("OtherID", id); gAgent.sendReliableMessage(); - mModifyMask |= LLFriendObserver::REMOVE; + + addChangedMask(LLFriendObserver::REMOVE, id); delete buddy; } @@ -503,6 +483,18 @@ void LLAvatarTracker::notifyObservers() (*it)->changed(mModifyMask); } mModifyMask = LLFriendObserver::NONE; + mChangedBuddyIDs.clear(); +} + +// store flag for change +// and id of object change applies to +void LLAvatarTracker::addChangedMask(U32 mask, const LLUUID& referent) +{ + mModifyMask |= mask; + if (referent.notNull()) + { + mChangedBuddyIDs.insert(referent); + } } void LLAvatarTracker::applyFunctor(LLRelationshipFunctor& f) @@ -706,7 +698,7 @@ void LLAvatarTracker::formFriendship(const LLUUID& id) //visible online to each other. buddy_info = new LLRelationship(LLRelationship::GRANT_ONLINE_STATUS,LLRelationship::GRANT_ONLINE_STATUS, false); at.mBuddyInfo[id] = buddy_info; - at.mModifyMask |= LLFriendObserver::ADD; + at.addChangedMask(LLFriendObserver::ADD, id); at.notifyObservers(); } } @@ -722,7 +714,7 @@ void LLAvatarTracker::processTerminateFriendship(LLMessageSystem* msg, void**) LLRelationship* buddy = get_ptr_in_map(at.mBuddyInfo, id); if(!buddy) return; at.mBuddyInfo.erase(id); - at.mModifyMask |= LLFriendObserver::REMOVE; + at.addChangedMask(LLFriendObserver::REMOVE, id); delete buddy; at.notifyObservers(); } diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h index 85a1ab6e1e..113f16de70 100644 --- a/indra/newview/llcallingcard.h +++ b/indra/newview/llcallingcard.h @@ -147,6 +147,17 @@ public: void removeObserver(LLFriendObserver* observer); void notifyObservers(); + /** + * Stores flag for change and id of object change applies to + * + * This allows outsiders to tell the AvatarTracker if something has + * been changed 'under the hood', + * and next notification will have exact avatar IDs have been changed. + */ + void addChangedMask(U32 mask, const LLUUID& referent); + + const std::set<LLUUID>& getChangedIDs() { return mChangedBuddyIDs; } + // Apply the functor to every buddy. Do not actually modify the // buddy list in the functor or bad things will happen. void applyFunctor(LLRelationshipFunctor& f); @@ -179,6 +190,9 @@ protected: buddy_map_t mBuddyInfo; + typedef std::set<LLUUID> changed_buddy_t; + changed_buddy_t mChangedBuddyIDs; + typedef std::vector<LLFriendObserver*> observer_list_t; observer_list_t mObservers; diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index 05c574b154..f5dfbb2851 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -225,7 +225,7 @@ BOOL LLChatItemCtrl::handleMouseDown (S32 x, S32 y, MASK mask) S32 local_y = y - msg_inspector->getRect().mBottom - caption->getRect().mBottom; if(msg_inspector->pointInView(local_x, local_y)) { - LLFloaterReg::showInstance("mini_inspector", mOriginalMessage.mFromID); + LLFloaterReg::showInstance("inspect_avatar", mOriginalMessage.mFromID); } return LLPanel::handleMouseDown(x,y,mask); } diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 70ee5d395e..7ad60232c7 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -61,6 +61,55 @@ static LLDefaultChildRegistry::Register<LLFavoritesBarCtrl> r("favorites_bar"); const S32 DROP_DOWN_MENU_WIDTH = 250; /** + * Helper for LLFavoriteLandmarkButton and LLFavoriteLandmarkMenuItem. + * Performing requests for SLURL for given Landmark ID + */ +class LLSLURLGetter +{ +public: + LLSLURLGetter() + : mLandmarkID(LLUUID::null) + , mSLURL("(Loading...)") + , mLoaded(false) {} + + void setLandmarkID(const LLUUID& id) { mLandmarkID = id; } + + const std::string& getSLURL() + { + if(!mLoaded) + requestSLURL(); + + return mSLURL; + } +private: + /** + * Requests landmark data from server. + */ + void requestSLURL() + { + if (mLandmarkID.isNull()) + return; + + LLVector3d g_pos; + if(LLLandmarkActions::getLandmarkGlobalPos(mLandmarkID, g_pos)) + { + LLLandmarkActions::getSLURLfromPosGlobal(g_pos, + boost::bind(&LLSLURLGetter::landmarkNameCallback, this, _1), false); + } + } + + void landmarkNameCallback(const std::string& name) + { + mSLURL = name; + mLoaded = true; + } + + LLUUID mLandmarkID; + std::string mSLURL; + bool mLoaded; +}; + +/** * This class is needed to override LLButton default handleToolTip function and * show SLURL as button tooltip. * *NOTE: dzaporozhan: This is a workaround. We could set tooltips for buttons @@ -71,9 +120,6 @@ class LLFavoriteLandmarkButton : public LLButton { public: - /** - * Requests landmark data from server and shows landmark SLURL as tooltip. - */ BOOL handleToolTip(S32 x, S32 y, std::string& msg, LLRect* sticky_rect) { if(LLUI::sShowXUINames) @@ -81,48 +127,53 @@ public: return LLButton::handleToolTip(x, y, msg, sticky_rect); } - if(!mLoaded) - { - LLVector3d g_pos; - if(LLLandmarkActions::getLandmarkGlobalPos(mLandmarkID, g_pos)) - { - LLLandmarkActions::getSLURLfromPosGlobal(g_pos, - boost::bind(&LLFavoriteLandmarkButton::landmarkNameCallback, this, _1), false); - } - } - - msg = mSLURL; + msg = mUrlGetter.getSLURL(); return TRUE; } - - void landmarkNameCallback(const std::string& name) - { - mSLURL = name; - mLoaded = true; - } - void setLandmarkID(const LLUUID& id){ mLandmarkID = id; } + void setLandmarkID(const LLUUID& id){ mUrlGetter.setLandmarkID(id); } protected: + LLFavoriteLandmarkButton(const LLButton::Params& p) : LLButton(p) {} + friend class LLUICtrlFactory; - LLFavoriteLandmarkButton(const LLButton::Params& p) - : LLButton(p) - , mLandmarkID(LLUUID::null) - , mSLURL("(Loading...)") - , mLoaded(false) +private: + LLSLURLGetter mUrlGetter; +}; + +/** + * This class is needed to override LLMenuItemCallGL default handleToolTip function and + * show SLURL as button tooltip. + * *NOTE: dzaporozhan: This is a workaround. We could set tooltips for buttons + * in showDropDownMenu function but landmark data is not available when Favorites Bar is + * created. Thats why we are requesting landmark data after + */ +class LLFavoriteLandmarkMenuItem : public LLMenuItemCallGL +{ +public: + BOOL handleToolTip(S32 x, S32 y, std::string& msg, LLRect* sticky_rect) { - static std::string loading_tooltip = LLTrans::getString("favorite_landmark_loading_tooltip"); - mSLURL = loading_tooltip; + if(LLUI::sShowXUINames) + { + return LLMenuItemCallGL::handleToolTip(x, y, msg, sticky_rect); + } + + msg = mUrlGetter.getSLURL(); + return TRUE; } + + void setLandmarkID(const LLUUID& id){ mUrlGetter.setLandmarkID(id); } + +protected: + LLFavoriteLandmarkMenuItem(const LLMenuItemCallGL::Params& p) : LLMenuItemCallGL(p) {} friend class LLUICtrlFactory; private: - LLUUID mLandmarkID; - std::string mSLURL; - bool mLoaded; + LLSLURLGetter mUrlGetter; }; + // updateButtons's helper struct LLFavoritesSort { @@ -483,6 +534,7 @@ void LLFavoritesBarCtrl::showDropDownMenu() menu_p.visible(false); menu_p.scrollable(true); menu_p.max_scrollable_items = 10; + menu_p.preferred_width = DROP_DOWN_MENU_WIDTH; LLToggleableMenu* menu = LLUICtrlFactory::create<LLToggleableMenu>(menu_p); @@ -554,8 +606,10 @@ void LLFavoritesBarCtrl::showDropDownMenu() item_params.label(item_name); item_params.on_click.function(boost::bind(&LLFavoritesBarCtrl::onButtonClick, this, item->getUUID())); - LLMenuItemCallGL *menu_item = LLUICtrlFactory::create<LLMenuItemCallGL>(item_params); + LLFavoriteLandmarkMenuItem *menu_item = LLUICtrlFactory::create<LLFavoriteLandmarkMenuItem>(item_params); menu_item->setRightMouseDownCallback(boost::bind(&LLFavoritesBarCtrl::onButtonRightClick, this,item->getUUID(),_1,_2,_3,_4)); + menu_item->setLandmarkID(item->getUUID()); + // Check whether item name wider than menu if (menu_item->getNominalWidth() > max_width) { @@ -583,7 +637,8 @@ void LLFavoritesBarCtrl::showDropDownMenu() menu->setButtonRect(mChevronRect, this); - LLMenuGL::showPopup(this, menu, getRect().getWidth() - widest_item, 0); + LLMenuGL::showPopup(this, menu, getRect().getWidth() - max_width, 0); + } } diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index f9fc467c05..eac1b65f7d 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -94,7 +94,7 @@ BOOL LLFloaterMap::postBuild() registrar.add("Minimap.Zoom", boost::bind(&LLFloaterMap::handleZoom, this, _2)); registrar.add("Minimap.Tracker", boost::bind(&LLFloaterMap::handleStopTracking, this, _2)); - mPopupMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_minimap.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); + mPopupMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_mini_map.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); if (mPopupMenu && !LLTracker::isTracking(0)) { mPopupMenu->setItemEnabled ("Stop Tracking", false); diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index b395e1128c..c47c7b073c 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -111,26 +111,38 @@ const F32 MIN_USER_FAR_CLIP = 64.f; const S32 ASPECT_RATIO_STR_LEN = 100; class LLVoiceSetKeyDialog : public LLModalDialog - { - public: - LLVoiceSetKeyDialog(LLFloaterPreference* parent); - ~LLVoiceSetKeyDialog(); - - BOOL handleKeyHere(KEY key, MASK mask); - static void onCancel(void* user_data); +{ +public: + LLVoiceSetKeyDialog(const LLSD& key); + ~LLVoiceSetKeyDialog(); + + /*virtual*/ BOOL postBuild(); + + void setParent(LLFloaterPreference* parent) { mParent = parent; } + + BOOL handleKeyHere(KEY key, MASK mask); + static void onCancel(void* user_data); - private: - LLFloaterPreference* mParent; - }; +private: + LLFloaterPreference* mParent; +}; -LLVoiceSetKeyDialog::LLVoiceSetKeyDialog(LLFloaterPreference* parent) -: LLModalDialog(LLSD(), 240, 100), mParent(parent) +LLVoiceSetKeyDialog::LLVoiceSetKeyDialog(const LLSD& key) + : LLModalDialog(key), + mParent(NULL) +{ +// LLUICtrlFactory::getInstance()->buildFloater(this, "floater_select_key.xml", NULL); +} + +//virtual +BOOL LLVoiceSetKeyDialog::postBuild() { - LLUICtrlFactory::getInstance()->buildFloater(this, "floater_select_key.xml", NULL); childSetAction("Cancel", onCancel, this); childSetFocus("Cancel"); gFocusMgr.setKeystrokesOnly(TRUE); + + return TRUE; } LLVoiceSetKeyDialog::~LLVoiceSetKeyDialog() @@ -145,7 +157,7 @@ BOOL LLVoiceSetKeyDialog::handleKeyHere(KEY key, MASK mask) { result = FALSE; } - else + else if (mParent) { mParent->setKey(key); } @@ -294,7 +306,14 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key) mOriginalIMViaEmail(false) { //Build Floater is now Called from LLFloaterReg::add("preferences", "floater_preferences.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPreference>); - + + static bool registered_dialog = false; + if (!registered_dialog) + { + LLFloaterReg::add("voice_set_key", "floater_select_key.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLVoiceSetKeyDialog>); + registered_dialog = true; + } + mCommitCallbackRegistrar.add("Pref.Apply", boost::bind(&LLFloaterPreference::onBtnApply, this)); mCommitCallbackRegistrar.add("Pref.Cancel", boost::bind(&LLFloaterPreference::onBtnCancel, this)); mCommitCallbackRegistrar.add("Pref.OK", boost::bind(&LLFloaterPreference::onBtnOK, this)); @@ -497,6 +516,7 @@ void LLFloaterPreference::onOpen(const LLSD& key) { gAgent.sendAgentUserInfoRequest(); LLPanelLogin::setAlwaysRefresh(true); + refresh(); } void LLFloaterPreference::onVertexShaderEnable() @@ -585,6 +605,7 @@ void LLFloaterPreference::onBtnCancel() { cur_focus->onCommit(); } + refresh(); } closeFloater(); // side effect will also cancel any unsaved changes. } @@ -943,13 +964,13 @@ void LLFloaterPreference::refresh() // sliders and their text boxes // mPostProcess = gSavedSettings.getS32("RenderGlowResolutionPow"); // slider text boxes - updateSliderText(getChild<LLSliderCtrl>("ObjectMeshDetail"), getChild<LLTextBox>("ObjectMeshDetailText")); - updateSliderText(getChild<LLSliderCtrl>("FlexibleMeshDetail"), getChild<LLTextBox>("FlexibleMeshDetailText")); - updateSliderText(getChild<LLSliderCtrl>("TreeMeshDetail"), getChild<LLTextBox>("TreeMeshDetailText")); - updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail"), getChild<LLTextBox>("AvatarMeshDetailText")); - updateSliderText(getChild<LLSliderCtrl>("TerrainMeshDetail"), getChild<LLTextBox>("TerrainMeshDetailText")); - updateSliderText(getChild<LLSliderCtrl>("RenderPostProcess"), getChild<LLTextBox>("PostProcessText")); - updateSliderText(getChild<LLSliderCtrl>("SkyMeshDetail"), getChild<LLTextBox>("SkyMeshDetailText")); + updateSliderText(getChild<LLSliderCtrl>("ObjectMeshDetail", true), getChild<LLTextBox>("ObjectMeshDetailText", true)); + updateSliderText(getChild<LLSliderCtrl>("FlexibleMeshDetail", true), getChild<LLTextBox>("FlexibleMeshDetailText", true)); + updateSliderText(getChild<LLSliderCtrl>("TreeMeshDetail", true), getChild<LLTextBox>("TreeMeshDetailText", true)); + updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail", true), getChild<LLTextBox>("AvatarMeshDetailText", true)); + updateSliderText(getChild<LLSliderCtrl>("TerrainMeshDetail", true), getChild<LLTextBox>("TerrainMeshDetailText", true)); + updateSliderText(getChild<LLSliderCtrl>("RenderPostProcess", true), getChild<LLTextBox>("PostProcessText", true)); + updateSliderText(getChild<LLSliderCtrl>("SkyMeshDetail", true), getChild<LLTextBox>("SkyMeshDetailText", true)); refreshEnabledState(); } @@ -980,8 +1001,11 @@ void LLFloaterPreference::cleanupBadSetting() void LLFloaterPreference::onClickSetKey() { - LLVoiceSetKeyDialog* dialog = new LLVoiceSetKeyDialog(this); - dialog->startModal(); + LLVoiceSetKeyDialog* dialog = LLFloaterReg::showTypedInstance<LLVoiceSetKeyDialog>("voice_set_key", LLSD(), TRUE); + if (dialog) + { + dialog->setParent(this); + } } void LLFloaterPreference::setKey(KEY key) @@ -1146,7 +1170,9 @@ void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im void LLFloaterPreference::onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name) { - if(name.asString() =="" || !hasChild("name")) + std::string ctrl_name = name.asString(); + + if((ctrl_name =="" )|| !hasChild(ctrl_name, true)) return; LLTextBox* text_box = getChild<LLTextBox>(name.asString()); diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp index ab281e9f9f..091debe95e 100644 --- a/indra/newview/llfloaterproperties.cpp +++ b/indra/newview/llfloaterproperties.cpp @@ -46,7 +46,7 @@ #include "llavataractions.h" #include "llinventorymodel.h" #include "lllineeditor.h" -#include "llspinctrl.h" +//#include "llspinctrl.h" #include "llradiogroup.h" #include "llresmgr.h" #include "roles_constants.h" @@ -793,14 +793,11 @@ void LLFloaterProperties::updateSaleInfo() sale_type = LLSaleInfo::FS_ORIGINAL; } - // LLLineEditor* EditPrice = getChild<LLLineEditor>("EditPrice"); - LLSpinCtrl *EditPrice = getChild<LLSpinCtrl>("Edit Cost"); + S32 price = -1; - if(EditPrice) - { - price = EditPrice->getValue().asInteger();; - } + price = getChild<LLUICtrl>("Edit Cost")->getValue().asInteger();; + // Invalid data - turn off the sale if (price < 0) { diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp index 818381b561..4d154c4cd3 100644 --- a/indra/newview/llfloaterreporter.cpp +++ b/indra/newview/llfloaterreporter.cpp @@ -54,7 +54,6 @@ #include "llagent.h" #include "llbutton.h" #include "llcheckboxctrl.h" -#include "llfloaterinventory.h" #include "llfloaterreg.h" #include "lllineeditor.h" #include "lltexturectrl.h" diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index dd73ebbd8f..b5c36b1083 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -968,7 +968,7 @@ void LLSnapshotLivePreview::saveTexture() { LLVFile::writeFile(formatted->getData(), formatted->getDataSize(), gVFS, new_asset_id, LLAssetType::AT_TEXTURE); std::string pos_string; - LLAgentUI::buildLocationString(pos_string, LLAgent::LOCATION_FORMAT_FULL); + LLAgentUI::buildLocationString(pos_string, LLAgentUI::LOCATION_FORMAT_FULL); std::string who_took_it; LLAgentUI::buildFullname(who_took_it); LLAssetStorage::LLStoreAssetCallback callback = NULL; diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index bbcab00ab2..d05c9cb9a7 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -446,7 +446,7 @@ void LLFloaterTools::draw() void LLFloaterTools::dirty() { mDirty = TRUE; - LLFloaterOpenObject* instance = LLFloaterReg::getTypedInstance<LLFloaterOpenObject>("openobject"); + LLFloaterOpenObject* instance = LLFloaterReg::findTypedInstance<LLFloaterOpenObject>("openobject"); if (instance) instance->dirty(); } diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp index d9bc43f3b4..d8aea2770f 100644 --- a/indra/newview/llfloatertos.cpp +++ b/indra/newview/llfloatertos.cpp @@ -51,7 +51,7 @@ LLFloaterTOS::LLFloaterTOS(const LLSD& data) -: LLModalDialog( data["message"].asString(), 100, 100 ), +: LLModalDialog( data["message"].asString() ), mMessage(data["message"].asString()), mWebBrowserWindowId( 0 ), mLoadCompleteCount( 0 ), diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 8961508bcc..f1e499e14b 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -231,6 +231,8 @@ void LLFolderViewItem::refreshFromListener() // *TODO: to be removed when database supports multi language. This is a // temporary attempt to display the inventory folder in the user locale. + // mantipov: *NOTE: be sure this code is synchronized with LLFriendCardsManager::findChildFolderUUID + // it uses the same way to find localized string if (LLAssetType::lookupIsProtectedCategoryType(preferred_type)) { LLTrans::findString(mLabel, "InvFolder " + mLabel); diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp new file mode 100644 index 0000000000..bef5f094e3 --- /dev/null +++ b/indra/newview/llfriendcard.cpp @@ -0,0 +1,425 @@ +/** + * @file llfriendcard.cpp + * @brief Implementation of classes to process Friends Cards + * + * $LicenseInfo:firstyear=2002&license=viewergpl$ + * + * Copyright (c) 2002-2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llinventory.h" +#include "lltrans.h" + +#include "llfriendcard.h" + +#include "llcallingcard.h" // for LLAvatarTracker +#include "llviewerinventory.h" +#include "llinventorymodel.h" + +// Constants; + +static const std::string INVENTORY_STRING_FRIENDS_SUBFOLDER = "Friends"; +static const std::string INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER = "All"; + +// helper functions + +/* +mantipov *NOTE: unable to use +LLTrans::getString("InvFolder Friends"); or +LLTrans::getString("InvFolder FriendsAll"); +in next two functions to set localized folders' names because of there is a hack in the +LLFolderViewItem::refreshFromListener() method for protected asset types. +So, localized names will be got from the strings with "InvFolder LABEL_NAME" in the strings.xml +*/ +inline const std::string& get_friend_folder_name() +{ + return INVENTORY_STRING_FRIENDS_SUBFOLDER; +} + +inline const std::string& get_friend_all_subfolder_name() +{ + return INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER; +} + +void move_from_to_arrays(LLInventoryModel::cat_array_t& from, LLInventoryModel::cat_array_t& to) +{ + while (from.count() > 0) + { + to.put(from.get(0)); + from.remove(0); + } +} + +const LLUUID& get_folder_uuid(const LLUUID& parentFolderUUID, LLInventoryCollectFunctor& matchFunctor) +{ + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + + gInventory.collectDescendentsIf(parentFolderUUID, cats, items, + LLInventoryModel::EXCLUDE_TRASH, matchFunctor); + + if (cats.count() == 1) + { + return cats.get(0)->getUUID(); + } + + return LLUUID::null; +} + +// LLFriendCardsManager Constructor / Destructor +LLFriendCardsManager::LLFriendCardsManager() +{ + LLAvatarTracker::instance().addObserver(this); +} + +LLFriendCardsManager::~LLFriendCardsManager() +{ + LLAvatarTracker::instance().removeObserver(this); +} + +void LLFriendCardsManager::putAvatarData(const LLUUID& avatarID) +{ + llinfos << "Store avatar data, avatarID: " << avatarID << llendl; + std::pair< avatar_uuid_set_t::iterator, bool > pr; + pr = mBuddyIDSet.insert(avatarID); + if (pr.second == false) + { + llwarns << "Trying to add avatar UUID for the stored avatar: " + << avatarID + << llendl; + } +} + +const LLUUID LLFriendCardsManager::extractAvatarID(const LLUUID& avatarID) +{ + LLUUID rv; + avatar_uuid_set_t::iterator it = mBuddyIDSet.find(avatarID); + if (mBuddyIDSet.end() == it) + { + llwarns << "Call method for non-existent avatar name in the map: " << avatarID << llendl; + } + else + { + rv = (*it); + mBuddyIDSet.erase(it); + } + return rv; +} + +// be sure LLInventoryModel::buildParentChildMap() has been called before it. +// and this method must be called before any actions with friend list +void LLFriendCardsManager::ensureFriendFoldersExist() +{ + LLUUID callingCardsFolderID = gInventory.findCategoryUUIDForType(LLAssetType::AT_CALLINGCARD); + + LLUUID friendFolderUUID = findFriendFolderUUIDImpl(); + + if (friendFolderUUID.isNull()) + { + friendFolderUUID = gInventory.createNewCategory(callingCardsFolderID, + LLAssetType::AT_CALLINGCARD, get_friend_folder_name()); + } + + LLUUID friendAllSubfolderUUID = findFriendAllSubfolderUUIDImpl(); + + if (friendAllSubfolderUUID.isNull()) + { + friendAllSubfolderUUID = gInventory.createNewCategory(friendFolderUUID, + LLAssetType::AT_CALLINGCARD, get_friend_all_subfolder_name()); + } +} + + +bool LLFriendCardsManager::isItemInAnyFriendsList(const LLViewerInventoryItem* item) +{ + if (item->getType() != LLAssetType::AT_CALLINGCARD) + return false; + + LLInventoryModel::item_array_t items; + findMatchedFriendCards(item->getCreatorUUID(), items); + + return items.count() > 0; +} + +bool LLFriendCardsManager::isCategoryInFriendFolder(const LLViewerInventoryCategory* cat) const +{ + if (NULL == cat) + return false; + return TRUE == gInventory.isObjectDescendentOf(cat->getUUID(), findFriendFolderUUIDImpl()); +} + +void LLFriendCardsManager::syncFriendsFolder() +{ + //lets create "Friends" and "Friends/All" in the Inventory "Calling Cards" if they are absent + LLFriendCardsManager::instance().ensureFriendFoldersExist(); + + LLAvatarTracker::buddy_map_t all_buddies; + LLAvatarTracker::instance().copyBuddyList(all_buddies); + + // 1. Remove Friend Cards for non-friends + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + + gInventory.collectDescendents(findFriendAllSubfolderUUIDImpl(), cats, items, LLInventoryModel::EXCLUDE_TRASH); + + LLInventoryModel::item_array_t::const_iterator it; + for (it = items.begin(); it != items.end(); ++it) + { + lldebugs << "Check if buddy is in list: " << (*it)->getName() << " " << (*it)->getCreatorUUID() << llendl; + if (NULL == get_ptr_in_map(all_buddies, (*it)->getCreatorUUID())) + { + lldebugs << "NONEXISTS, so remove it" << llendl; + removeFriendCardFromInventory((*it)->getCreatorUUID()); + } + } + + // 2. Add missing Friend Cards for friends + LLAvatarTracker::buddy_map_t::const_iterator buddy_it = all_buddies.begin(); + llinfos << "try to build friends, count: " << all_buddies.size() << llendl; + for(; buddy_it != all_buddies.end(); ++buddy_it) + { + const LLUUID& buddy_id = (*buddy_it).first; + addFriendCardToInventory(buddy_id); + } +} + +void LLFriendCardsManager::collectFriendsLists(folderid_buddies_map_t& folderBuddiesMap) const +{ + folderBuddiesMap.clear(); + + LLInventoryModel::cat_array_t* listFolders; + LLInventoryModel::item_array_t* items; + + // get folders in the Friend folder. Items should be NULL due to Cards should be in lists. + gInventory.getDirectDescendentsOf(findFriendFolderUUIDImpl(), listFolders, items); + + if (NULL == listFolders) + return; + + LLInventoryModel::cat_array_t::const_iterator itCats; // to iterate Friend Lists (categories) + LLInventoryModel::item_array_t::const_iterator itBuddy; // to iterate Buddies in each List + LLInventoryModel::cat_array_t* fakeCatsArg; + for (itCats = listFolders->begin(); itCats != listFolders->end(); ++itCats) + { + if (items) + items->clear(); + + // *HACK: Only Friends/All content will be shown for now + // *TODO: Remove this hack, implement sorting if it will be needded by spec. + if ((*itCats)->getUUID() != findFriendAllSubfolderUUIDImpl()) + continue; + + gInventory.getDirectDescendentsOf((*itCats)->getUUID(), fakeCatsArg, items); + + if (NULL == items) + continue; + + std::vector<LLUUID> buddyUUIDs; + for (itBuddy = items->begin(); itBuddy != items->end(); ++itBuddy) + { + buddyUUIDs.push_back((*itBuddy)->getCreatorUUID()); + } + + folderBuddiesMap.insert(make_pair((*itCats)->getUUID(), buddyUUIDs)); + } +} + + +/************************************************************************/ +/* Private Methods */ +/************************************************************************/ +const LLUUID& LLFriendCardsManager::findFriendFolderUUIDImpl() const +{ + LLUUID callingCardsFolderID = gInventory.findCategoryUUIDForType(LLAssetType::AT_CALLINGCARD); + + std::string friendFolderName = get_friend_folder_name(); + + return findChildFolderUUID(callingCardsFolderID, friendFolderName); +} + +const LLUUID& LLFriendCardsManager::findFriendAllSubfolderUUIDImpl() const +{ + LLUUID friendFolderUUID = findFriendFolderUUIDImpl(); + + std::string friendAllSubfolderName = get_friend_all_subfolder_name(); + + return findChildFolderUUID(friendFolderUUID, friendAllSubfolderName); +} + +const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& folderLabel) const +{ + // mantipov *HACK: get localaized name in the same way like in the LLFolderViewItem::refreshFromListener() method. + // be sure these both methods are synchronized. + // see also get_friend_folder_name() and get_friend_all_subfolder_name() functions + std::string localizedName = LLTrans::getString("InvFolder " + folderLabel); + + LLNameCategoryCollector matchFolderFunctor(localizedName); + + return get_folder_uuid(parentFolderUUID, matchFolderFunctor); +} +const LLUUID& LLFriendCardsManager::findFriendCardInventoryUUIDImpl(const LLUUID& avatarID) +{ + LLUUID friendAllSubfolderUUID = findFriendAllSubfolderUUIDImpl(); + LLInventoryModel::cat_array_t cats; + LLInventoryModel::item_array_t items; + LLInventoryModel::item_array_t::const_iterator it; + + // it is not necessary to check friendAllSubfolderUUID against NULL. It will be processed by collectDescendents + gInventory.collectDescendents(friendAllSubfolderUUID, cats, items, LLInventoryModel::EXCLUDE_TRASH); + for (it = items.begin(); it != items.end(); ++it) + { + if ((*it)->getCreatorUUID() == avatarID) + return (*it)->getUUID(); + } + + return LLUUID::null; +} + +void LLFriendCardsManager::findMatchedFriendCards(const LLUUID& avatarID, LLInventoryModel::item_array_t& items) const +{ + LLInventoryModel::cat_array_t cats; + LLUUID friendFolderUUID = findFriendFolderUUIDImpl(); + + LLParticularBuddyCollector matchFunctor(avatarID); + + LLViewerInventoryCategory* friendFolder = gInventory.getCategory(friendFolderUUID); + + LLInventoryModel::cat_array_t subFolders; + subFolders.push_back(friendFolder); + + while (subFolders.count() > 0) + { + LLViewerInventoryCategory* cat = subFolders.get(0); + subFolders.remove(0); + + gInventory.collectDescendentsIf(cat->getUUID(), cats, items, + LLInventoryModel::EXCLUDE_TRASH, matchFunctor); + + move_from_to_arrays(cats, subFolders); + } +} + +class CreateFriendCardCallback : public LLInventoryCallback +{ +public: + void fire(const LLUUID& inv_item_id) + { + LLViewerInventoryItem* item = gInventory.getItem(inv_item_id); + + if (item) + LLFriendCardsManager::instance().extractAvatarID(item->getCreatorUUID()); + } +}; + +bool LLFriendCardsManager::addFriendCardToInventory(const LLUUID& avatarID) +{ + LLInventoryModel* invModel = &gInventory; + + bool shouldBeAdded = true; + std::string name; + gCacheName->getFullName(avatarID, name); + + lldebugs << "Processing buddy name: " << name + << ", id: " << avatarID + << llendl; + + if (shouldBeAdded && findFriendCardInventoryUUIDImpl(avatarID).notNull()) + { + shouldBeAdded = false; + lldebugs << "is found in Inventory: " << name << llendl; + } + + if (shouldBeAdded && isAvatarDataStored(avatarID)) + { + shouldBeAdded = false; + lldebugs << "is found in sentRequests: " << name << llendl; + } + + LLUUID friendListFolderID = findFriendAllSubfolderUUIDImpl(); + if (shouldBeAdded && !invModel->isCategoryComplete(friendListFolderID)) + { + shouldBeAdded = false; + } + if (shouldBeAdded) + { + putAvatarData(avatarID); + lldebugs << "Sent create_inventory_item for " << avatarID << ", " << name << llendl; + + // TODO: mantipov: Is CreateFriendCardCallback really needed? Probably not + LLPointer<LLInventoryCallback> cb = new CreateFriendCardCallback(); + + create_inventory_callingcard(avatarID, friendListFolderID, cb); + } + + return shouldBeAdded; +} + +void LLFriendCardsManager::removeFriendCardFromInventory(const LLUUID& avatarID) +{ + LLInventoryModel::item_array_t items; + findMatchedFriendCards(avatarID, items); + + LLInventoryModel::item_array_t::const_iterator it; + for (it = items.begin(); it != items.end(); ++ it) + { + gInventory.removeItem((*it)->getUUID()); + } +} + +void LLFriendCardsManager::onFriendListUpdate(U32 changed_mask) +{ + LLAvatarTracker& at = LLAvatarTracker::instance(); + + switch(changed_mask) { + case LLFriendObserver::ADD: + { + const std::set<LLUUID>& changed_items = at.getChangedIDs(); + std::set<LLUUID>::const_iterator id_it = changed_items.begin(); + std::set<LLUUID>::const_iterator id_end = changed_items.end(); + for (;id_it != id_end; ++id_it) + { + LLFriendCardsManager::instance().addFriendCardToInventory(*id_it); + } + } + break; + case LLFriendObserver::REMOVE: + { + const std::set<LLUUID>& changed_items = at.getChangedIDs(); + std::set<LLUUID>::const_iterator id_it = changed_items.begin(); + std::set<LLUUID>::const_iterator id_end = changed_items.end(); + for (;id_it != id_end; ++id_it) + { + LLFriendCardsManager::instance().removeFriendCardFromInventory(*id_it); + } + } + + default:; + } +} + +// EOF diff --git a/indra/newview/llfriendcard.h b/indra/newview/llfriendcard.h new file mode 100644 index 0000000000..18a6d0ab69 --- /dev/null +++ b/indra/newview/llfriendcard.h @@ -0,0 +1,143 @@ +/** + * @file llfriendcard.h + * @brief Definition of classes to process Friends Cards + * + * $LicenseInfo:firstyear=2002&license=viewergpl$ + * + * Copyright (c) 2002-2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#ifndef LL_LLFRIENDCARD_H +#define LL_LLFRIENDCARD_H + + +#include "llcallingcard.h" +#include "llinventorymodel.h" // for LLInventoryModel::item_array_t + +class LLViewerInventoryItem; + +class LLFriendCardsManager + : public LLSingleton<LLFriendCardsManager> + , public LLFriendObserver +{ + LOG_CLASS(LLFriendCardsManager); + + friend class LLSingleton<LLFriendCardsManager>; + friend class CreateFriendCardCallback; + +public: + typedef std::map<LLUUID, std::vector<LLUUID> > folderid_buddies_map_t; + + // LLFriendObserver implementation + void changed(U32 mask) + { + onFriendListUpdate(mask); + } + + /** + * Ensures that all necessary folders are created in Inventory. + * + * For now it processes Calling Card, Calling Card/Friends & Calling Card/Friends/All folders + */ + void ensureFriendFoldersExist(); + + + /** + * Determines if specified Inventory Calling Card exists in any of lists + * in the Calling Card/Friends/ folder (Default, or Custom) + */ + bool isItemInAnyFriendsList(const LLViewerInventoryItem* item); + + /** + * Checks is the specified category is in the Calling Card/Friends folder + */ + bool isCategoryInFriendFolder(const LLViewerInventoryCategory* cat) const; + + /** + * Synchronizes content of the Calling Card/Friends/All Global Inventory folder with Agent's Friend List + */ + void syncFriendsFolder(); + + /*! + * \brief + * Collects folders' IDs with the buddies' IDs in the Inventory Calling Card/Friends folder. + * + * \param folderBuddiesMap + * map into collected data will be put. It will be cleared before adding new data. + * + * Each item in the out map is a pair where first is an LLViewerInventoryCategory UUID, + * second is a vector with UUID of Avatars from this folder. + * + */ + void collectFriendsLists(folderid_buddies_map_t& folderBuddiesMap) const; + +private: + LLFriendCardsManager(); + ~LLFriendCardsManager(); + + + /** + * Stores buddy id to avoid sent create_inventory_callingcard several time for the same Avatar + */ + void putAvatarData(const LLUUID& avatarID); + + /** + * Extracts buddy id of Created Friend Card + */ + const LLUUID extractAvatarID(const LLUUID& avatarID); + + bool isAvatarDataStored(const LLUUID& avatarID) const + { + return (mBuddyIDSet.end() != mBuddyIDSet.find(avatarID)); + } + + const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& folderLabel) const; + const LLUUID& findFriendFolderUUIDImpl() const; + const LLUUID& findFriendAllSubfolderUUIDImpl() const; + const LLUUID& findFriendCardInventoryUUIDImpl(const LLUUID& avatarID); + void findMatchedFriendCards(const LLUUID& avatarID, LLInventoryModel::item_array_t& items) const; + + /** + * Adds avatar specified by its UUID into the Calling Card/Friends/All Global Inventory folder + */ + bool addFriendCardToInventory(const LLUUID& avatarID); + + /** + * Removes an avatar specified by its UUID from the Calling Card/Friends/All Global Inventory folder + * and from the all Custom Folders + */ + void removeFriendCardFromInventory(const LLUUID& avatarID); + + void onFriendListUpdate(U32 changed_mask); + + +private: + typedef std::set<LLUUID> avatar_uuid_set_t; + + avatar_uuid_set_t mBuddyIDSet; +}; + +#endif // LL_LLFRIENDCARD_H diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 0d773a7c54..1b07c7630f 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -162,6 +162,14 @@ bool LLIMModel::newSession(LLUUID session_id, std::string name, EInstantMessage } +bool LLIMModel::clearSession(LLUUID session_id) +{ + if (sSessionsMap.find(session_id) == sSessionsMap.end()) return false; + delete (sSessionsMap[session_id]); + sSessionsMap.erase(session_id); + return true; +} + std::list<LLSD> LLIMModel::getMessages(LLUUID session_id, int start_index) { std::list<LLSD> return_list; @@ -840,10 +848,9 @@ BOOL LLFloaterIM::postBuild() // Class LLIncomingCallDialog //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LLIncomingCallDialog::LLIncomingCallDialog(const LLSD& payload) : - LLModalDialog(payload, 240, 200), + LLModalDialog(payload), mPayload(payload) { - LLUICtrlFactory::getInstance()->buildFloater(this, "floater_incoming_call.xml", NULL); } BOOL LLIncomingCallDialog::postBuild() @@ -1134,6 +1141,13 @@ LLIMMgr::LLIMMgr() : mFriendObserver(NULL), mIMReceived(FALSE) { + static bool registered_dialog = false; + if (!registered_dialog) + { + LLFloaterReg::add("incoming_call", "floater_incoming_call.xml.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIncomingCallDialog>); + registered_dialog = true; + } + mFriendObserver = new LLIMViewFriendObserver(this); LLAvatarTracker::instance().addObserver(mFriendObserver); @@ -1432,7 +1446,8 @@ LLUUID LLIMMgr::addSession( } // This removes the panel referenced by the uuid, and then restores -// internal consistency. The internal pointer is not deleted. +// internal consistency. The internal pointer is not deleted? Did you mean +// a pointer to the corresponding LLIMSession? Session data is cleared now. void LLIMMgr::removeSession(const LLUUID& session_id) { LLFloaterIMPanel* floater = findFloaterBySession(session_id); @@ -1446,6 +1461,12 @@ void LLIMMgr::removeSession(const LLUUID& session_id) clearPendingAgentListUpdates(session_id); } notifyObserverSessionRemoved(session_id); + + //if we don't clear session data on removing the session + //we can't use LLBottomTray as observer of session creation/delettion and + //creating chiclets only on session created even, we need to handle chiclets creation + //the same way as LLFloaterIMPanels were managed. + LLIMModel::getInstance()->clearSession(session_id); } void LLIMMgr::inviteToSession( @@ -1535,8 +1556,7 @@ void LLIMMgr::inviteToSession( { if (notify_box_type == "VoiceInviteP2P" || notify_box_type == "VoiceInviteAdHoc") { - LLIncomingCallDialog *dialog = new LLIncomingCallDialog(payload); - dialog->startModal(); + LLFloaterReg::showInstance("incoming_call", payload, TRUE); } else { @@ -1544,10 +1564,7 @@ void LLIMMgr::inviteToSession( args["NAME"] = caller_name; args["GROUP"] = session_name; - LLNotifications::instance().add(notify_box_type, - args, - payload, - &inviteUserResponse); + LLNotifications::instance().add(notify_box_type, args, payload, &inviteUserResponse); } } mPendingInvitations[session_id.asString()] = LLSD(); @@ -1563,8 +1580,7 @@ void LLIMMgr::onInviteNameLookup(LLSD payload, const LLUUID& id, const std::stri if (notify_box_type == "VoiceInviteP2P" || notify_box_type == "VoiceInviteAdHoc") { - LLIncomingCallDialog *dialog = new LLIncomingCallDialog(payload); - dialog->startModal(); + LLFloaterReg::showInstance("incoming_call", payload, TRUE); } else { diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h index 777d68978e..ce6f0394dd 100644 --- a/indra/newview/llimview.h +++ b/indra/newview/llimview.h @@ -70,6 +70,7 @@ public: boost::signals2::connection addChangedCallback( boost::function<void (const LLSD& data)> cb ); bool newSession(LLUUID session_id, std::string name, EInstantMessage type, LLUUID other_participant_id); + bool clearSession(LLUUID session_id); std::list<LLSD> getMessages(LLUUID session_id, int start_index = 0); bool addMessage(LLUUID session_id, std::string from, LLUUID other_participant_id, std::string utf8_text); bool addToHistory(LLUUID session_id, std::string from, std::string utf8_text); diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp new file mode 100644 index 0000000000..5bb96f0469 --- /dev/null +++ b/indra/newview/llinspectavatar.cpp @@ -0,0 +1,127 @@ +/** + * @file llinspectavatar.cpp + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llinspectavatar.h" + +// viewer files +#include "llagentdata.h" +#include "llavataractions.h" +#include "llcallingcard.h" + +// linden libraries +#include "lluictrl.h" + + +LLInspectAvatar::LLInspectAvatar(const LLSD& avatar_id) +: LLFloater(avatar_id), + mAvatarID( avatar_id.asUUID() ), + mFirstName(), + mLastName() +{ +} + +LLInspectAvatar::~LLInspectAvatar() +{ +} + +/*virtual*/ +BOOL LLInspectAvatar::postBuild(void) +{ + getChild<LLUICtrl>("add_friend_btn")->setCommitCallback( + boost::bind(&LLInspectAvatar::onClickAddFriend, this) ); + + getChild<LLUICtrl>("view_profile_btn")->setCommitCallback( + boost::bind(&LLInspectAvatar::onClickViewProfile, this) ); + + // can't call from constructor as widgets are not built yet + refresh(); + + return TRUE; +} + +void LLInspectAvatar::setAvatarID(const LLUUID &avatar_id) +{ + mAvatarID = avatar_id; + refresh(); +} + +void LLInspectAvatar::refresh() +{ + // *HACK: Don't stomp data when spawning from login screen + if (mAvatarID.isNull()) return; + + // You can't re-add someone as a friend if they are already your friend + bool is_friend = LLAvatarTracker::instance().getBuddyInfo(mAvatarID) != NULL; + bool is_self = (mAvatarID == gAgentID); + childSetEnabled("add_friend_btn", !is_friend && !is_self); + + // *TODO: replace with generic + // LLAvatarPropertiesProcessor::getInstance()->addObserver() + // ->sendDataRequest() + childSetValue("avatar_icon", LLSD(mAvatarID) ); + + gCacheName->get(mAvatarID, FALSE, + boost::bind(&LLInspectAvatar::nameUpdatedCallback, + this, _1, _2, _3, _4)); +} + +void LLInspectAvatar::nameUpdatedCallback( + const LLUUID& id, + const std::string& first, + const std::string& last, + BOOL is_group) +{ + // Possibly a request for an older inspector + if (id != mAvatarID) return; + + mFirstName = first; + mLastName = last; + std::string name = first + " " + last; + + childSetValue("user_name", LLSD(name) ); +} + +void LLInspectAvatar::onClickAddFriend() +{ + std::string name; + name.assign(getFirstName()); + name.append(" "); + name.append(getLastName()); + + LLAvatarActions::requestFriendshipDialog(getAvatarID(), name); +} + +void LLInspectAvatar::onClickViewProfile() +{ + LLAvatarActions::showProfile(getAvatarID()); +} diff --git a/indra/newview/llinspectavatar.h b/indra/newview/llinspectavatar.h new file mode 100644 index 0000000000..05b0d6fe20 --- /dev/null +++ b/indra/newview/llinspectavatar.h @@ -0,0 +1,80 @@ +/** + * @file llinspectavatar.h + * @brief Avatar Inspector, a small information window used when clicking + * on avatar names in the 2D UI and in the ambient inspector widget for + * the 3D world. + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, 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://secondlifegrid.net/programs/open_source/licensing/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://secondlifegrid.net/programs/open_source/licensing/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$ + */ + +#ifndef LLINSPECTAVATAR_H +#define LLINSPECTAVATAR_H + +#include "llfloater.h" + +class LLInspectAvatar : public LLFloater +{ + friend class LLFloaterReg; + +public: + // key is the UUID of avatar for whom to show information + // *TODO: Needs to take a spawn location + LLInspectAvatar(const LLSD& avatar_id); + virtual ~LLInspectAvatar(); + + /*virtual*/ BOOL postBuild(void); + + void setAvatarID(const LLUUID &avatar_id); + + const LLUUID& getAvatarID() const { return mAvatarID; } + const std::string& getFirstName() const { return mFirstName; } + const std::string& getLastName() const { return mLastName; } + +private: + // Update widgets, including avatar name, buttons enabled, etc. + // Used after avatar id changes. + void refresh(); + + void onClickAddFriend(); + void onClickViewProfile(); + + void nameUpdatedCallback( + const LLUUID& id, + const std::string& first, + const std::string& last, + BOOL is_group); + +private: + LLUUID mAvatarID; + // Need avatar name information to spawn friend add request + std::string mFirstName; + std::string mLastName; +}; + + +#endif diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index efa97de692..789e628b67 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -58,6 +58,7 @@ #include "llfloaterworldmap.h" #include "llfocusmgr.h" #include "llfolderview.h" +#include "llfriendcard.h" #include "llavataractions.h" #include "llgesturemgr.h" #include "lliconctrl.h" @@ -162,10 +163,26 @@ std::string ICON_NAME[ICON_NAME_COUNT] = BOOL gAddToOutfit = FALSE; + +// +=================================================+ +// | LLInventoryPanelObserver | +// +=================================================+ +void LLInventoryPanelObserver::changed(U32 mask) +{ + mIP->modelChanged(mask); +} + + // +=================================================+ // | LLInvFVBridge | // +=================================================+ +LLInvFVBridge::LLInvFVBridge(LLInventoryPanel* inventory, const LLUUID& uuid) : +mUUID(uuid), mInvType(LLInventoryType::IT_NONE) +{ + mInventoryPanel = inventory->getHandle(); +} + const std::string& LLInvFVBridge::getName() const { LLInventoryObject* obj = getInventoryObject(); @@ -2302,7 +2319,11 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) } else if(isAgentInventory()) // do not allow creating in library { - mItems.push_back(std::string("New Folder")); + LLViewerInventoryCategory *cat = getCategory(); + + // Do not allow to create 2-level subfolder in the Calling Card/Friends folder. EXT-694. + if (!LLFriendCardsManager::instance().isCategoryInFriendFolder(cat)) + mItems.push_back(std::string("New Folder")); mItems.push_back(std::string("New Script")); mItems.push_back(std::string("New Note")); mItems.push_back(std::string("New Gesture")); @@ -2310,7 +2331,6 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) mItems.push_back(std::string("New Body Parts")); mItems.push_back(std::string("Change Type")); - LLViewerInventoryCategory *cat = getCategory(); if (cat && LLAssetType::lookupIsProtectedCategoryType(cat->getPreferredType())) { mDisabledItems.push_back(std::string("Change Type")); @@ -2879,6 +2899,16 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags) // | LLLandmarkBridge | // +=================================================+ +LLLandmarkBridge::LLLandmarkBridge(LLInventoryPanel* inventory, const LLUUID& uuid, U32 flags/* = 0x00*/) : +LLItemBridge(inventory, uuid) +{ + mVisited = FALSE; + if (flags & LLInventoryItem::II_FLAGS_LANDMARK_VISITED) + { + mVisited = TRUE; + } +} + LLUIImagePtr LLLandmarkBridge::getIcon() const { return get_item_icon(LLAssetType::AT_LANDMARK, LLInventoryType::IT_LANDMARK, mVisited, FALSE); @@ -3216,6 +3246,18 @@ BOOL LLCallingCardBridge::dragOrDrop(MASK mask, BOOL drop, return rv; } +BOOL LLCallingCardBridge::removeItem() +{ + if (LLFriendCardsManager::instance().isItemInAnyFriendsList(getItem())) + { + LLAvatarActions::removeFriendDialog(getItem()->getCreatorUUID()); + return FALSE; + } + else + { + return LLItemBridge::removeItem(); + } +} // +=================================================+ // | LLNotecardBridge | // +=================================================+ @@ -3450,6 +3492,14 @@ void LLAnimationBridge::openItem() // static LLUUID LLObjectBridge::sContextMenuItemID; +LLObjectBridge::LLObjectBridge(LLInventoryPanel* inventory, const LLUUID& uuid, LLInventoryType::EType type, U32 flags) : +LLItemBridge(inventory, uuid), mInvType(type) +{ + mAttachPt = (flags & 0xff); // low bye of inventory flags + + mIsMultiObject = ( flags & LLInventoryItem::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS ) ? TRUE: FALSE; +} + BOOL LLObjectBridge::isItemRemovable() { LLVOAvatarSelf* avatar = gAgent.getAvatarObject(); diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 3af54c52ea..25859b7f73 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -38,9 +38,10 @@ #include "llviewercontrol.h" #include "llcallingcard.h" #include "llinventorymodel.h" -#include "llfloaterinventory.h" #include "llfoldervieweventlistener.h" +class LLInventoryPanel; + enum EInventoryIcon { TEXTURE_ICON_NAME, @@ -114,7 +115,7 @@ class LLInventoryPanelObserver : public LLInventoryObserver public: LLInventoryPanelObserver(LLInventoryPanel* ip) : mIP(ip) {} virtual ~LLInventoryPanelObserver() {} - virtual void changed(U32 mask) { mIP->modelChanged(mask); } + virtual void changed(U32 mask); protected: LLInventoryPanel* mIP; }; @@ -191,11 +192,7 @@ public: virtual void clearDisplayName() {} protected: - LLInvFVBridge(LLInventoryPanel* inventory, const LLUUID& uuid) : - mUUID(uuid), mInvType(LLInventoryType::IT_NONE) - { - mInventoryPanel = inventory->getHandle(); - } + LLInvFVBridge(LLInventoryPanel* inventory, const LLUUID& uuid); LLInventoryObject* getInventoryObject() const; LLInventoryModel* getInventoryModel() const; @@ -395,15 +392,7 @@ public: virtual void openItem(); protected: - LLLandmarkBridge(LLInventoryPanel* inventory, const LLUUID& uuid, U32 flags = 0x00) : - LLItemBridge(inventory, uuid) - { - mVisited = FALSE; - if (flags & LLInventoryItem::II_FLAGS_LANDMARK_VISITED) - { - mVisited = TRUE; - } - } + LLLandmarkBridge(LLInventoryPanel* inventory, const LLUUID& uuid, U32 flags = 0x00); protected: BOOL mVisited; @@ -438,6 +427,7 @@ public: EDragAndDropType cargo_type, void* cargo_data); void refreshFolderViewItem(); + BOOL removeItem(); protected: LLCallingCardBridge( LLInventoryPanel* inventory, const LLUUID& uuid ); @@ -515,13 +505,7 @@ public: LLInventoryObject* getObject() const; protected: - LLObjectBridge(LLInventoryPanel* inventory, const LLUUID& uuid, LLInventoryType::EType type, U32 flags) : - LLItemBridge(inventory, uuid), mInvType(type) - { - mAttachPt = (flags & 0xff); // low bye of inventory flags - - mIsMultiObject = ( flags & LLInventoryItem::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS ) ? TRUE: FALSE; - } + LLObjectBridge(LLInventoryPanel* inventory, const LLUUID& uuid, LLInventoryType::EType type, U32 flags); protected: static LLUUID sContextMenuItemID; // Only valid while the context menu is open. @@ -788,6 +772,7 @@ void wear_inventory_item_on_avatar(LLInventoryItem* item); void wear_outfit_by_name(const std::string& name); void wear_inventory_category(LLInventoryCategory* category, bool copy, bool append); +class LLViewerJointAttachment; void rez_attachment(LLViewerInventoryItem* item, LLViewerJointAttachment* attachment); // Move items from an in-world object's "Contents" folder to a specified diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp index c41900d691..b4d3f4575b 100644 --- a/indra/newview/llinventoryfilter.cpp +++ b/indra/newview/llinventoryfilter.cpp @@ -111,11 +111,16 @@ BOOL LLInventoryFilter::check(LLFolderViewItem* item) } else { - passed_type |= ((1LL << listener->getInventoryType() & mFilterOps.mFilterTypes) != U64(0)); - if (listener->getInventoryType() == LLInventoryType::IT_NONE) + LLInventoryType::EType type = listener->getInventoryType(); + passed_type |= ((1LL << type & mFilterOps.mFilterTypes) != U64(0)); + if (type == LLInventoryType::IT_NONE) { const LLInventoryObject *obj = gInventory.getObject(listener->getUUID()); - if (obj && !obj->getIsLinkType()) + if (obj && obj->getIsLinkType()) + { + passed_type = FALSE; + } + else { passed_type = TRUE; } diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp index 2c56a70ced..df9aa32d1b 100644 --- a/indra/newview/lllandmarkactions.cpp +++ b/indra/newview/lllandmarkactions.cpp @@ -218,8 +218,8 @@ void LLLandmarkActions::createLandmarkHere() { std::string landmark_name, landmark_desc; - LLAgentUI::buildLocationString(landmark_name, LLAgent::LOCATION_FORMAT_LANDMARK); - LLAgentUI::buildLocationString(landmark_desc, LLAgent::LOCATION_FORMAT_FULL); + LLAgentUI::buildLocationString(landmark_name, LLAgentUI::LOCATION_FORMAT_LANDMARK); + LLAgentUI::buildLocationString(landmark_desc, LLAgentUI::LOCATION_FORMAT_FULL); LLUUID folder_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_LANDMARK); createLandmarkHere(landmark_name, landmark_desc, folder_id); diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index 1542c7483a..a8ec826e88 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -44,7 +44,6 @@ #include "lluictrlfactory.h" // newview includes -#include "llagent.h" #include "llinventorymodel.h" #include "lllandmarkactions.h" #include "lllandmarklist.h" @@ -494,8 +493,8 @@ void LLLocationInputCtrl::refreshLocation() // Update location field. std::string location_name; - LLAgent::ELocationFormat format = (gSavedSettings.getBOOL("ShowCoordinatesOption") ? - LLAgent::LOCATION_FORMAT_WITHOUT_SIM: LLAgent::LOCATION_FORMAT_NORMAL); + LLAgentUI::ELocationFormat format = (gSavedSettings.getBOOL("ShowCoordinatesOption") ? + LLAgentUI::LOCATION_FORMAT_WITHOUT_SIM: LLAgentUI::LOCATION_FORMAT_NORMAL); if (!LLAgentUI::buildLocationString(location_name, format)) location_name = "Unknown"; setText(location_name); diff --git a/indra/newview/llmenucommands.cpp b/indra/newview/llmenucommands.cpp index 2433b6fac6..ba5a382f9a 100644 --- a/indra/newview/llmenucommands.cpp +++ b/indra/newview/llmenucommands.cpp @@ -50,7 +50,6 @@ #include "llfloaterdirectory.h" #include "llfloaterworldmap.h" #include "llgivemoney.h" -#include "llfloaterinventory.h" #include "lllineeditor.h" #include "llnotify.h" #include "llstatusbar.h" diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 46bbb382a5..e40568a0cb 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -349,7 +349,7 @@ void LLNavigationBar::onTeleportFinished(const LLVector3d& global_agent_pos) * At this moment gAgent.getPositionAgent() contains previous coordinates. * according to EXT-65 agent position is being reseted on each frame. */ - LLAgentUI::buildLocationString(location, LLAgent::LOCATION_FORMAT_WITHOUT_SIM, + LLAgentUI::buildLocationString(location, LLAgentUI::LOCATION_FORMAT_WITHOUT_SIM, gAgent.getPosAgentFromGlobal(global_agent_pos)); //Touch it, if it is at list already, add new location otherwise @@ -411,7 +411,7 @@ void LLNavigationBar::rebuildTeleportHistoryMenu() else type = LLTeleportHistoryMenuItem::TYPE_CURRENT; - LLTeleportHistoryMenuItem::Params item_params(type, hist_items[i].mTitle); + LLTeleportHistoryMenuItem::Params item_params(type, hist_items[i].getTitle()); item_params.on_click.function(boost::bind(&LLNavigationBar::onTeleportHistoryMenuItemClicked, this, i)); mTeleportHistoryMenu->addChild(LLUICtrlFactory::create<LLTeleportHistoryMenuItem>(item_params)); } @@ -575,6 +575,11 @@ void LLNavigationBar::showNavigationPanel(BOOL visible) setRect(nbRect); } } + + if(LLSideTray::instanceCreated()) + { + LLSideTray::getInstance()->resetPanelRect(); + } } void LLNavigationBar::showFavoritesPanel(BOOL visible) @@ -636,4 +641,8 @@ void LLNavigationBar::showFavoritesPanel(BOOL visible) } fb->setVisible(visible); + if(LLSideTray::instanceCreated()) + { + LLSideTray::getInstance()->resetPanelRect(); + } } diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 2e87f0b65b..4cbb018ce9 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -180,6 +180,8 @@ BOOL LLPanelGroup::postBuild() if(panel_roles) mTabs.push_back(panel_roles); if(panel_notices) mTabs.push_back(panel_notices); if(panel_land) mTabs.push_back(panel_land); + + panel_general->setupCtrls(this); return TRUE; } @@ -194,7 +196,7 @@ void LLPanelGroup::reshape(S32 width, S32 height, BOOL called_from_parent ) if(button) { btn_rect = button->getRect(); - btn_rect.setLeftTopAndSize( btn_rect.mLeft, 28, btn_rect.getWidth(), btn_rect.getHeight()); + btn_rect.setLeftTopAndSize( btn_rect.mLeft, btn_rect.getHeight() + 2, btn_rect.getWidth(), btn_rect.getHeight()); button->setRect(btn_rect); } @@ -202,7 +204,7 @@ void LLPanelGroup::reshape(S32 width, S32 height, BOOL called_from_parent ) if(button) { btn_rect = button->getRect(); - btn_rect.setLeftTopAndSize( btn_rect.mLeft, 28, btn_rect.getWidth(), btn_rect.getHeight()); + btn_rect.setLeftTopAndSize( btn_rect.mLeft, btn_rect.getHeight() + 2, btn_rect.getWidth(), btn_rect.getHeight()); button->setRect(btn_rect); } @@ -211,7 +213,7 @@ void LLPanelGroup::reshape(S32 width, S32 height, BOOL called_from_parent ) if(button) { btn_rect = button->getRect(); - btn_rect.setLeftTopAndSize( btn_rect.mLeft, 28, btn_rect.getWidth(), btn_rect.getHeight()); + btn_rect.setLeftTopAndSize( btn_rect.mLeft, btn_rect.getHeight() + 2, btn_rect.getWidth(), btn_rect.getHeight()); button->setRect(btn_rect); } } diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h index e5e1d1b6ad..6db6738d18 100644 --- a/indra/newview/llpanelgroup.h +++ b/indra/newview/llpanelgroup.h @@ -160,6 +160,8 @@ public: const LLUUID& getGroupID() const { return mGroupID;} + virtual void setupCtrls (LLPanel* parent) {}; + protected: LLUUID mGroupID; std::string mHelpText; diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp index 2d06dcdb36..73ea990b3f 100644 --- a/indra/newview/llpanelgroupgeneral.cpp +++ b/indra/newview/llpanelgroupgeneral.cpp @@ -99,13 +99,6 @@ BOOL LLPanelGroupGeneral::postBuild() // General info mGroupNameEditor = getChild<LLLineEditor>("group_name_editor", recurse); - mInsignia = getChild<LLTextureCtrl>("insignia", recurse); - if (mInsignia) - { - mInsignia->setCommitCallback(onCommitAny, this); - mDefaultIconID = mInsignia->getImageAssetID(); - } - mEditCharter = getChild<LLTextEditor>("charter", recurse); if(mEditCharter) { @@ -115,7 +108,6 @@ BOOL LLPanelGroupGeneral::postBuild() } - mFounderName = getChild<LLNameBox>("founder_name"); mListVisibleMembers = getChild<LLNameListCtrl>("visible_members", recurse); if (mListVisibleMembers) @@ -215,6 +207,17 @@ BOOL LLPanelGroupGeneral::postBuild() return LLPanelGroupTab::postBuild(); } +void LLPanelGroupGeneral::setupCtrls(LLPanel* panel_group) +{ + mInsignia = panel_group->getChild<LLTextureCtrl>("insignia"); + if (mInsignia) + { + mInsignia->setCommitCallback(onCommitAny, this); + mDefaultIconID = mInsignia->getImageAssetID(); + } + mFounderName = panel_group->getChild<LLNameBox>("founder_name"); +} + // static void LLPanelGroupGeneral::onFocusEdit(LLFocusableElement* ctrl, void* data) { @@ -848,7 +851,6 @@ void LLPanelGroupGeneral::reset() { mFounderName->setVisible(false); - getChild<LLUICtrl>("prepend_founded_by")->setVisible(false); mCtrlReceiveNotices->set(false); @@ -876,7 +878,8 @@ void LLPanelGroupGeneral::reset() mGroupNameEditor->setVisible(true); mComboActiveTitle->setVisible(false); - mInsignia->setImageAssetID(mDefaultIconID); + + mInsignia->setImageAssetID(LLUUID::null); { std::string empty_str = ""; @@ -968,7 +971,8 @@ void LLPanelGroupGeneral::setGroupID(const LLUUID& id) mComboActiveTitle = getChild<LLComboBox>("active_title"); mFounderName->setVisible(true); - getChild<LLUICtrl>("prepend_founded_by")->setVisible(true); + + mInsignia->setImageAssetID(LLUUID::null); resetDirty(); diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h index 21d526f43d..b828480a12 100644 --- a/indra/newview/llpanelgroupgeneral.h +++ b/indra/newview/llpanelgroupgeneral.h @@ -67,6 +67,8 @@ public: virtual void setGroupID(const LLUUID& id); + virtual void setupCtrls (LLPanel* parent); + private: void reset(); diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index 7bf7ceb6d2..1d79ea4a21 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -38,6 +38,7 @@ #include "lllandmark.h" #include "llfloaterworldmap.h" +#include "llfloaterinventory.h" #include "llfoldervieweventlistener.h" #include "lllandmarklist.h" #include "llsidetray.h" diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h index 0b11270fb5..14cbbd6123 100644 --- a/indra/newview/llpanellandmarks.h +++ b/indra/newview/llpanellandmarks.h @@ -33,10 +33,13 @@ #ifndef LL_LLPANELLANDMARKS_H #define LL_LLPANELLANDMARKS_H -#include "llfloaterinventory.h" #include "llinventorymodel.h" #include "llpanelplacestab.h" +class LLFolderViewItem; +class LLInventoryPanel; +class LLSaveFolderState; + class LLLandmarksPanel : public LLPanelPlacesTab { public: diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 167446d380..ef830d5f03 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -410,15 +410,6 @@ BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask) return TRUE; } - if (('T' == key) && (MASK_CONTROL == mask)) - { // previously was "Test Floater" - if(gSavedSettings.getBOOL("QAMode")) - { - LLFloaterReg::showInstance("ui_preview", LLSD(), TRUE); - return TRUE; - } - } - if ( KEY_F1 == key ) { llinfos << "Spawning HTML help window" << llendl; @@ -426,21 +417,6 @@ BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask) return TRUE; } -# if !LL_RELEASE_FOR_DOWNLOAD - if ( KEY_F2 == key ) - { - llinfos << "Spawning floater TOS window (TOS)" << llendl; - LLFloaterReg::showInstance("message_tos",LLSD("")); - return TRUE; - } - if ( KEY_F3 == key ) - { - llinfos << "Spawning floater TOS window (critical message)" << llendl; - LLFloaterReg::showInstance("message_critical",LLSD("")); - return TRUE; - } -#endif - if (KEY_RETURN == key && MASK_NONE == mask) { // let the panel handle UICtrl processing: calls onClickConnect() diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 698f442d7c..697182c8fc 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -46,7 +46,8 @@ #include "llavatarlist.h" #include "llcallingcard.h" // for LLAvatarTracker #include "llfloateravatarpicker.h" -#include "llfloaterminiinspector.h" +//#include "llfloaterminiinspector.h" +#include "llfriendcard.h" #include "llavataractions.h" #include "llgroupactions.h" #include "llgrouplist.h" @@ -302,7 +303,7 @@ LLPanelPeople::LLPanelPeople() mFilterEditor(NULL), mTabContainer(NULL), mOnlineFriendList(NULL), - mOfflineFriendList(NULL), + mAllFriendList(NULL), mNearbyList(NULL), mRecentList(NULL) { @@ -337,7 +338,7 @@ BOOL LLPanelPeople::postBuild() mTabContainer->setCommitCallback(boost::bind(&LLPanelPeople::onTabSelected, this, _2)); mOnlineFriendList = getChild<LLPanel>(FRIENDS_TAB_NAME)->getChild<LLAvatarList>("avatars_online"); - mOfflineFriendList = getChild<LLPanel>(FRIENDS_TAB_NAME)->getChild<LLAvatarList>("avatars_offline"); + mAllFriendList = getChild<LLPanel>(FRIENDS_TAB_NAME)->getChild<LLAvatarList>("avatars_all"); mNearbyList = getChild<LLPanel>(NEARBY_TAB_NAME)->getChild<LLAvatarList>("avatar_list"); @@ -354,11 +355,11 @@ BOOL LLPanelPeople::postBuild() friends_panel->childSetAction("del_btn", boost::bind(&LLPanelPeople::onDeleteFriendButtonClicked, this)); mOnlineFriendList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mOnlineFriendList)); - mOfflineFriendList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mOfflineFriendList)); + mAllFriendList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mAllFriendList)); mNearbyList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mNearbyList)); mRecentList->setDoubleClickCallback(boost::bind(&LLPanelPeople::onAvatarListDoubleClicked, this, mRecentList)); mOnlineFriendList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mOnlineFriendList)); - mOfflineFriendList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mOfflineFriendList)); + mAllFriendList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mAllFriendList)); mNearbyList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mNearbyList)); mRecentList->setCommitCallback(boost::bind(&LLPanelPeople::onAvatarListCommitted, this, mRecentList)); @@ -427,17 +428,25 @@ bool LLPanelPeople::updateFriendList(U32 changed_mask) // *TODO: it's suboptimal to rebuild the whole lists on online status change. - // save them to the online and offline friends vectors + // save them to the online and all friends vectors mOnlineFriendVec.clear(); - mOfflineFriendVec.clear(); + mAllFriendVec.clear(); + + LLFriendCardsManager::folderid_buddies_map_t listMap; + + // *NOTE: For now collectFriendsLists returns data only for Friends/All folder. EXT-694. + LLFriendCardsManager::instance().collectFriendsLists(listMap); + if (listMap.size() > 0) + { + mAllFriendVec = listMap.begin()->second; + } + LLAvatarTracker::buddy_map_t::const_iterator buddy_it = all_buddies.begin(); for (; buddy_it != all_buddies.end(); ++buddy_it) { LLUUID buddy_id = buddy_it->first; if (av_tracker.isBuddyOnline(buddy_id)) mOnlineFriendVec.push_back(buddy_id); - else - mOfflineFriendVec.push_back(buddy_id); } return filterFriendList(); @@ -477,19 +486,19 @@ bool LLPanelPeople::updateGroupList() bool LLPanelPeople::filterFriendList() { - if (!mOnlineFriendList || !mOfflineFriendList) + if (!mOnlineFriendList || !mAllFriendList) return true; // there's no point in further updates // We must always update Friends list to clear the latest removed friend. bool have_names = mOnlineFriendList->update(mOnlineFriendVec, mFilterSubString) & - mOfflineFriendList->update(mOfflineFriendVec, mFilterSubString); + mAllFriendList->update(mAllFriendVec, mFilterSubString); if (mOnlineFriendVec.size() == 0) mOnlineFriendList->setCommentText(getString("no_friends_online")); - if (mOfflineFriendVec.size() == 0) - mOfflineFriendList->setCommentText(getString("no_friends_offline")); + if (mAllFriendVec.size() == 0) + mAllFriendList->setCommentText(getString("no_friends")); return have_names; } @@ -615,7 +624,7 @@ LLUUID LLPanelPeople::getCurrentItemID() const if ((cur_online_friend = mOnlineFriendList->getCurrentID()).notNull()) return cur_online_friend; - return mOfflineFriendList->getCurrentID(); + return mAllFriendList->getCurrentID(); } if (cur_tab == NEARBY_TAB_NAME) @@ -720,12 +729,12 @@ void LLPanelPeople::onAvatarListDoubleClicked(LLAvatarList* list) void LLPanelPeople::onAvatarListCommitted(LLAvatarList* list) { - // Make sure only one of the friends lists (online/offline) has selection. + // Make sure only one of the friends lists (online/all) has selection. if (getActiveTabName() == FRIENDS_TAB_NAME) { if (list == mOnlineFriendList) - mOfflineFriendList->deselectAllItems(TRUE); - else if (list == mOfflineFriendList) + mAllFriendList->deselectAllItems(TRUE); + else if (list == mAllFriendList) mOnlineFriendList->deselectAllItems(TRUE); else llassert(0 && "commit on unknown friends list"); diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index d0f78f4247..3358a70bac 100644 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -116,7 +116,7 @@ private: LLFilterEditor* mFilterEditor; LLTabContainer* mTabContainer; LLAvatarList* mOnlineFriendList; - LLAvatarList* mOfflineFriendList; + LLAvatarList* mAllFriendList; LLAvatarList* mNearbyList; LLAvatarList* mRecentList; LLGroupList* mGroupList; @@ -142,7 +142,7 @@ private: typedef std::vector<LLUUID> uuid_vector_t; uuid_vector_t mNearbyVec; uuid_vector_t mOnlineFriendVec; - uuid_vector_t mOfflineFriendVec; + uuid_vector_t mAllFriendVec; uuid_vector_t mRecentVec; }; diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index a712c9b9cf..7cb9e61e72 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -32,6 +32,7 @@ #include "llviewerprecompiledheaders.h" #include "llassettype.h" +#include "llwindow.h" #include "lllandmark.h" @@ -51,6 +52,7 @@ #include "llpanelteleporthistory.h" #include "llsidetray.h" #include "lltoggleablemenu.h" +#include "llviewerinventory.h" #include "llviewermenu.h" #include "llviewerparcelmgr.h" #include "llviewerregion.h" @@ -755,7 +757,7 @@ static std::string getFullFolderName(const LLViewerInventoryCategory* cat) // FIXME: it can throw notification about non existent string in strings.xml if (cat->getParentUUID().notNull() && cat->getParentUUID() == gInventory.getRootFolderID()) { - name = LLTrans::getString("InvFolder " + name); + LLTrans::findString(name, "InvFolder " + name); } // we don't want "My Inventory" to appear in the name diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp index 7faabbb28b..ab253e012d 100644 --- a/indra/newview/llpreview.cpp +++ b/indra/newview/llpreview.cpp @@ -51,7 +51,6 @@ #include "llagent.h" #include "llvoavatarself.h" #include "llselectmgr.h" -#include "llfloaterinventory.h" #include "llviewerinventory.h" #include "llviewerwindow.h" #include "lltrans.h" diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp index 6fe23e8aeb..3bda30e0c6 100644 --- a/indra/newview/llpreviewanim.cpp +++ b/indra/newview/llpreviewanim.cpp @@ -36,7 +36,6 @@ #include "llbutton.h" #include "llresmgr.h" #include "llinventory.h" -#include "llfloaterinventory.h" #include "llvoavatarself.h" #include "llagent.h" // gAgent #include "llkeyframemotion.h" diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 6c73638475..b256914d29 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -85,12 +85,10 @@ #include "lluictrlfactory.h" #include "llmediactrl.h" #include "lluictrlfactory.h" - +#include "lltrans.h" #include "llviewercontrol.h" #include "llappviewer.h" - #include "llpanelinventory.h" -#include "lltrans.h" const std::string HELLO_LSL = "default\n" @@ -250,10 +248,20 @@ void LLFloaterScriptSearch::handleBtnReplaceAll() mEditorCore->mEditor->replaceTextAll(childGetText("search_text"), childGetText("replace_text"), caseChk->get()); } + + /// --------------------------------------------------------------------------- /// LLScriptEdCore /// --------------------------------------------------------------------------- +struct LLSECKeywordCompare +{ + bool operator()(const std::string& lhs, const std::string& rhs) + { + return (LLStringUtil::compareDictInsensitive( lhs, rhs ) < 0 ); + } +}; + LLScriptEdCore::LLScriptEdCore( const std::string& sample, const std::string& help_url, @@ -286,34 +294,71 @@ LLScriptEdCore::LLScriptEdCore( std::vector<std::string> funcs; std::vector<std::string> tooltips; - for (S32 i = 0; i < gScriptLibrary.mNextNumber; i++) + for (std::vector<LLScriptLibraryFunction>::const_iterator i = gScriptLibrary.mFunctions.begin(); + i != gScriptLibrary.mFunctions.end(); ++i) { // Make sure this isn't a god only function, or the agent is a god. - if (!gScriptLibrary.mFunctions[i]->mGodOnly || gAgent.isGodlike()) + if (!i->mGodOnly || gAgent.isGodlike()) { - funcs.push_back(ll_safe_string(gScriptLibrary.mFunctions[i]->mName)); - tooltips.push_back(ll_safe_string(gScriptLibrary.mFunctions[i]->mDesc)); + std::string name = i->mName; + funcs.push_back(name); + + std::string desc_name = "LSLTipText_"; + desc_name += name; + std::string desc = LLTrans::getString(desc_name); + + F32 sleep_time = i->mSleepTime; + if( sleep_time ) + { + desc += "\n"; + + LLStringUtil::format_map_t args; + args["[SLEEP_TIME]"] = llformat("%.1f", sleep_time ); + desc += LLTrans::getString("LSLTipSleepTime", args); + } + + // A \n linefeed is not part of xml. Let's add one to keep all + // the tips one-per-line in strings.xml + LLStringUtil::replaceString( desc, "\\n", "\n" ); + + tooltips.push_back(desc); } } + LLColor3 color(0.5f, 0.0f, 0.15f); - mEditor->loadKeywords(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"keywords.ini"), funcs, tooltips, color); - + std::vector<std::string> primary_keywords; + std::vector<std::string> secondary_keywords; LLKeywordToken *token; LLKeywords::keyword_iterator_t token_it; for (token_it = mEditor->keywordsBegin(); token_it != mEditor->keywordsEnd(); ++token_it) { token = token_it->second; - if (token->getColor() == color) - mFunctions->add(wstring_to_utf8str(token->getToken())); + if (token->getColor() == color) // Wow, what a disgusting hack. + { + primary_keywords.push_back( wstring_to_utf8str(token->getToken()) ); + } + else + { + secondary_keywords.push_back( wstring_to_utf8str(token->getToken()) ); + } } - for (token_it = mEditor->keywordsBegin(); token_it != mEditor->keywordsEnd(); ++token_it) + // Case-insensitive dictionary sort for primary keywords. We don't sort the secondary + // keywords. They're intelligently grouped in keywords.ini. + std::stable_sort( primary_keywords.begin(), primary_keywords.end(), LLSECKeywordCompare() ); + + for (std::vector<std::string>::const_iterator iter= primary_keywords.begin(); + iter!= primary_keywords.end(); ++iter) { - token = token_it->second; - if (token->getColor() != color) - mFunctions->add(wstring_to_utf8str(token->getToken())); + mFunctions->add(*iter); + } + + for (std::vector<std::string>::const_iterator iter= secondary_keywords.begin(); + iter!= secondary_keywords.end(); ++iter) + { + mFunctions->add(*iter); } } diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp index 0f2b94ebd4..7659c50ed3 100644 --- a/indra/newview/llpreviewsound.cpp +++ b/indra/newview/llpreviewsound.cpp @@ -36,7 +36,6 @@ #include "llagent.h" // gAgent #include "llbutton.h" #include "llinventory.h" -#include "llfloaterinventory.h" #include "lllineeditor.h" #include "llpreviewsound.h" #include "llresmgr.h" diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index 9122e49a06..9d7338c111 100644 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -32,6 +32,8 @@ #include "llviewerprecompiledheaders.h" +#include "llwindow.h" + #include "llpreviewtexture.h" #include "llagent.h" @@ -39,7 +41,6 @@ #include "llfilepicker.h" #include "llfloaterreg.h" #include "llimagetga.h" -#include "llfloaterinventory.h" #include "llinventory.h" #include "llresmgr.h" #include "lltrans.h" diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 5e5608460c..afa8e5f072 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -40,6 +40,7 @@ #include "llaccordionctrl.h" #include "llfocusmgr.h" #include "llrootview.h" +#include "llnavigationbar.h" #include "llaccordionctrltab.h" @@ -641,22 +642,41 @@ LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& para return NULL; } +// *TODO: Eliminate magic constants. static const S32 fake_offset = 132; -static const S32 fake_top_offset = 78; +static const S32 fake_top_offset = 18; + +void LLSideTray::resetPanelRect () +{ + const LLRect& parent_rect = gViewerWindow->getRootView()->getRect(); + + static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); + + S32 panel_width = sidetray_params.default_button_width; + panel_width += mCollapsed ? sidetray_params.default_button_margin : mMaxBarWidth; + + S32 panel_height = parent_rect.getHeight()-fake_top_offset; + + reshape(panel_width,panel_height); +} void LLSideTray::setPanelRect () { + LLNavigationBar* nav_bar = LLNavigationBar::getInstance(); + LLRect nav_rect = nav_bar->getRect(); + static LLSideTray::Params sidetray_params(LLUICtrlFactory::getDefaultParams<LLSideTray>()); const LLRect& parent_rect = gViewerWindow->getRootView()->getRect(); - S32 panel_width = sidetray_params.default_button_width+sidetray_params.default_button_margin; - if(!mCollapsed) - panel_width+=mMaxBarWidth; + S32 panel_width = sidetray_params.default_button_width; + panel_width += mCollapsed ? sidetray_params.default_button_margin : mMaxBarWidth; + + S32 panel_height = parent_rect.getHeight()-fake_top_offset - nav_rect.getHeight(); + S32 panel_top = parent_rect.mTop-fake_top_offset - nav_rect.getHeight(); - S32 panel_height = parent_rect.getHeight() - fake_top_offset - LLBottomTray::getInstance()->getRect().getHeight(); LLRect panel_rect; - panel_rect.setLeftTopAndSize( parent_rect.mRight-panel_width, parent_rect.mTop-fake_top_offset, panel_width, panel_height); + panel_rect.setLeftTopAndSize( parent_rect.mRight-panel_width, panel_top, panel_width, panel_height); setRect(panel_rect); } diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index b691a42db1..13acbbb659 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -207,6 +207,9 @@ public: void reshape (S32 width, S32 height, BOOL called_from_parent = TRUE); S32 getTrayWidth(); + void resetPanelRect (); + + protected: LLSideTrayTab* getTab (const std::string& name); @@ -217,9 +220,10 @@ protected: void toggleTabButton (LLSideTrayTab* tab); - void setPanelRect (); + + private: // Implementation of LLDestroyClass<LLSideTray> static void destroyClass() diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 6bd0f8d6fa..5576d446fa 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -77,6 +77,7 @@ #include "llviewercontrol.h" #include "llvfs.h" #include "llxorcipher.h" // saved password, MAC address +#include "llwindow.h" #include "imageids.h" #include "message.h" #include "v3math.h" @@ -110,7 +111,7 @@ #include "llimagebmp.h" #include "llinventorybridge.h" #include "llinventorymodel.h" -#include "llfloaterinventory.h" +#include "llfriendcard.h" #include "llkeyboard.h" #include "llloginhandler.h" // gLoginHandler, SLURL support #include "lllogininstance.h" // Host the login module. @@ -1643,10 +1644,15 @@ bool idle_startup() } + // This method MUST be called before gInventory.findCategoryUUIDForType because of + // gInventory.mIsAgentInvUsable is set to true in the gInventory.buildParentChildMap. + gInventory.buildParentChildMap(); + //all categories loaded. lets create "My Favorites" category gInventory.findCategoryUUIDForType(LLAssetType::AT_FAVORITE,true); - gInventory.buildParentChildMap(); + // lets create "Friends" and "Friends/All" in the Inventory "Calling Cards" and fill it with buddies + LLFriendCardsManager::instance().syncFriendsFolder(); llinfos << "Setting Inventory changed mask and notifying observers" << llendl; gInventory.addChangedMask(LLInventoryObserver::ALL, LLUUID::null); diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 9cabcf4680..c724fb5315 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -46,7 +46,6 @@ #include "llfloaterregioninfo.h" #include "llfloaterscriptdebug.h" #include "llhudicon.h" -#include "llfloaterinventory.h" #include "llnavigationbar.h" #include "llkeyboard.h" #include "lllineeditor.h" @@ -224,7 +223,7 @@ void LLStatusBar::draw() LLPanel::draw(); } -BOOL LLStatusBar::handleRightMouseUp(S32 x, S32 y, MASK mask) +BOOL LLStatusBar::handleRightMouseDown(S32 x, S32 y, MASK mask) { if (mHideNavbarContextMenu) { @@ -603,7 +602,7 @@ void LLStatusBar::onHideNavbarContextMenuItemClicked(const LLSD& userdata) void LLStatusBar::onMainMenuRightClicked(LLUICtrl* ctrl, S32 x, S32 y, MASK mask) { - handleRightMouseUp(x, y, mask); + handleRightMouseDown(x, y, mask); } // static diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 0cb3551768..b77db2c525 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -58,7 +58,7 @@ public: /*virtual*/ void draw(); - /*virtual*/ BOOL handleRightMouseUp(S32 x, S32 y, MASK mask); + /*virtual*/ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); /*virtual*/ BOOL postBuild(); // MANIPULATORS diff --git a/indra/newview/llteleporthistory.cpp b/indra/newview/llteleporthistory.cpp index 5235dc9358..bc886d5743 100644 --- a/indra/newview/llteleporthistory.cpp +++ b/indra/newview/llteleporthistory.cpp @@ -40,6 +40,7 @@ #include "llagent.h" #include "llslurl.h" #include "llurlsimstring.h" +#include "llviewercontrol.h" // for gSavedSettings #include "llviewerparcelmgr.h" #include "llviewerregion.h" #include "llworldmap.h" @@ -49,20 +50,9 @@ // LLTeleportHistoryItem ////////////////////////////////////////////////////////////////////////////// -LLTeleportHistoryItem::LLTeleportHistoryItem(const LLSD& val) +const std::string& LLTeleportHistoryItem::getTitle() const { - mTitle = val["title"].asString(); - mGlobalPos.setValue(val["global_pos"]); -} - -LLSD LLTeleportHistoryItem::toLLSD() const -{ - LLSD val; - - val["title"] = mTitle; - val["global_pos"] = mGlobalPos.getValue(); - - return val; + return gSavedSettings.getBOOL("ShowCoordinatesOption") ? mFullTitle : mTitle; } ////////////////////////////////////////////////////////////////////////////// @@ -149,7 +139,9 @@ void LLTeleportHistory::updateCurrentLocation(const LLVector3d& new_pos) llwarns << "Invalid current item. (this should not happen)" << llendl; return; } - mItems[mCurrentItem].mTitle = getCurrentLocationTitle(); + LLVector3 new_pos_local = gAgent.getPosAgentFromGlobal(new_pos); + mItems[mCurrentItem].mFullTitle = getCurrentLocationTitle(true, new_pos_local); + mItems[mCurrentItem].mTitle = getCurrentLocationTitle(false, new_pos_local); mItems[mCurrentItem].mGlobalPos = new_pos; mItems[mCurrentItem].mRegionID = gAgent.getRegion()->getRegionID(); } @@ -182,10 +174,12 @@ void LLTeleportHistory::purgeItems() } // static -std::string LLTeleportHistory::getCurrentLocationTitle() +std::string LLTeleportHistory::getCurrentLocationTitle(bool full, const LLVector3& local_pos_override) { std::string location_name; - if (!LLAgentUI::buildLocationString(location_name, LLAgent::LOCATION_FORMAT_NORMAL)) location_name = "Unknown"; + LLAgentUI::ELocationFormat fmt = full ? LLAgentUI::LOCATION_FORMAT_WITHOUT_SIM : LLAgentUI::LOCATION_FORMAT_NORMAL; + + if (!LLAgentUI::buildLocationString(location_name, fmt, local_pos_override)) location_name = "Unknown"; return location_name; } diff --git a/indra/newview/llteleporthistory.h b/indra/newview/llteleporthistory.h index 060534635d..9f5563ed0b 100644 --- a/indra/newview/llteleporthistory.h +++ b/indra/newview/llteleporthistory.h @@ -55,11 +55,14 @@ public: LLTeleportHistoryItem(std::string title, LLVector3d global_pos) : mTitle(title), mGlobalPos(global_pos) {} - - LLTeleportHistoryItem(const LLSD& val); - LLSD toLLSD() const; + /** + * @return title formatted according to the current value of the ShowCoordinatesOption setting. + */ + const std::string& getTitle() const; + std::string mTitle; // human-readable location title + std::string mFullTitle; // human-readable location title including coordinates LLVector3d mGlobalPos; // global position LLUUID mRegionID; // region ID for getting the region info }; @@ -168,8 +171,15 @@ private: * Invokes the "history changed" callback(s). */ void onHistoryChanged(); - - static std::string getCurrentLocationTitle(); + + /** + * Format current agent location in a human-readable manner. + * + * @param full whether to include coordinates + * @param local_pos_override hack: see description of updateCurrentLocation() + * @return + */ + static std::string getCurrentLocationTitle(bool full, const LLVector3& local_pos_override); /** * Actually, the teleport history. diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index 3c7a8d757b..1b47fa43c7 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -1197,6 +1197,10 @@ void LLTextureCtrl::draw() mTexturep = LLViewerTextureManager::getFetchedTextureFromFile(mFallbackImageName); mTexturep->setBoostLevel(LLViewerTexture::BOOST_PREVIEW); } + else//mImageAssetID == LLUUID::null + { + mTexturep = NULL; + } // Border LLRect border( 0, getRect().getHeight(), getRect().getWidth(), BTN_HEIGHT_SMALL ); diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index b5dd34df15..c58457d599 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -51,7 +51,6 @@ #include "llhudmanager.h" #include "llinventorybridge.h" #include "llinventorymodel.h" -#include "llfloaterinventory.h" #include "llmutelist.h" #include "llnotify.h" #include "llpreviewnotecard.h" diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 2c1707e49f..be832ebe32 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -470,6 +470,19 @@ bool handleVelocityInterpolate(const LLSD& newvalue) return true; } +bool toggle_agent_pause(const LLSD& newvalue) +{ + if ( newvalue.asBoolean() ) + { + send_agent_pause(); + } + else + { + send_agent_resume(); + } + return true; +} + //////////////////////////////////////////////////////////////////////////// void settings_setup_listeners() @@ -601,6 +614,7 @@ void settings_setup_listeners() gSavedSettings.getControl("VelocityInterpolate")->getSignal()->connect(boost::bind(&handleVelocityInterpolate, _2)); gSavedSettings.getControl("QAMode")->getSignal()->connect(boost::bind(&show_debug_menus)); gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus)); + gSavedSettings.getControl("AgentPause")->getSignal()->connect(boost::bind(&toggle_agent_pause, _2)); } #if TEST_CACHED_CONTROL diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 0a59ba8a50..b85dc30e72 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -106,20 +106,19 @@ #include "llfloaterwater.h" #include "llfloaterwindlight.h" #include "llfloaterworldmap.h" +#include "llinspectavatar.h" #include "llmediaremotectrl.h" #include "llmoveview.h" #include "llnearbychat.h" - #include "llpreviewanim.h" #include "llpreviewgesture.h" #include "llpreviewnotecard.h" #include "llpreviewscript.h" #include "llpreviewsound.h" #include "llpreviewtexture.h" -#include "llfloaterminiinspector.h" #include "llsyswellwindow.h" +// *NOTE: Please add files in alphabetical order to keep merges easy. -//class LLLLFloaterObjectIMInfo; void LLViewerFloaterReg::registerFloaters() { @@ -167,6 +166,8 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("impanel", "floater_im_session.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloater>); LLFloaterReg::add("inventory", "floater_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInventory>); LLFloaterReg::add("inspect", "floater_inspect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInspect>); + LLFloaterReg::add("inspect_avatar", "inspect_avatar.xml", + &LLFloaterReg::build<LLInspectAvatar>); LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>); LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>); @@ -179,7 +180,6 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("mute", "floater_mute.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMute>); LLFloaterReg::add("mute_object", "floater_mute_object.xml", &LLFloaterMute::buildFloaterMuteObjectUI); LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>); - LLFloaterReg::add("mini_inspector", "panel_mini_inspector.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMiniInspector>); LLFloaterReg::add("syswell_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLSysWellWindow>); LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>); diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 4645b9bf59..95ab40f9bf 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -799,14 +799,14 @@ void create_inventory_item(const LLUUID& agent_id, const LLUUID& session_id, gAgent.sendReliableMessage(); } -void create_inventory_callingcard(const LLUUID& avatar_id) +void create_inventory_callingcard(const LLUUID& avatar_id, const LLUUID& parent /*= LLUUID::null*/, LLPointer<LLInventoryCallback> cb/*=NULL*/) { std::string item_desc = avatar_id.asString(); std::string item_name; gCacheName->getFullName(avatar_id, item_name); create_inventory_item(gAgent.getID(), gAgent.getSessionID(), - LLUUID::null, LLTransactionID::tnull, item_name, item_desc, LLAssetType::AT_CALLINGCARD, - LLInventoryType::IT_CALLINGCARD, NOT_WEARABLE, PERM_MOVE | PERM_TRANSFER, NULL); + parent, LLTransactionID::tnull, item_name, item_desc, LLAssetType::AT_CALLINGCARD, + LLInventoryType::IT_CALLINGCARD, NOT_WEARABLE, PERM_MOVE | PERM_TRANSFER, cb); } void copy_inventory_item( diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h index 8920fb053b..0bfb37f7e8 100644 --- a/indra/newview/llviewerinventory.h +++ b/indra/newview/llviewerinventory.h @@ -286,7 +286,7 @@ void create_inventory_item(const LLUUID& agent_id, const LLUUID& session_id, U32 next_owner_perm, LLPointer<LLInventoryCallback> cb); -void create_inventory_callingcard(const LLUUID& avatar_id); +void create_inventory_callingcard(const LLUUID& avatar_id, const LLUUID& parent = LLUUID::null, LLPointer<LLInventoryCallback> cb=NULL); /** * @brief Securely create a new inventory item by copying from another. diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 43e9a27484..f6af2e3ca4 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -1520,6 +1520,14 @@ class LLAdvancedSendTestIms : public view_listener_t } }; +class LLAdvancedAvatarInspector : public view_listener_t +{ + bool handleEvent(const LLSD& avatar_id) + { + LLFloaterReg::showInstance("inspect_avatar", avatar_id); + return true; + } +}; /////////////// // XUI NAMES // @@ -7847,6 +7855,7 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedToggleXUINames(), "Advanced.ToggleXUINames"); view_listener_t::addMenu(new LLAdvancedCheckXUINames(), "Advanced.CheckXUINames"); view_listener_t::addMenu(new LLAdvancedSendTestIms(), "Advanced.SendTestIMs"); + view_listener_t::addMenu(new LLAdvancedAvatarInspector(), "Advanced.AvatarInspector"); // Advanced > Character > Grab Baked Texture view_listener_t::addMenu(new LLAdvancedGrabBakedTexture(), "Advanced.GrabBakedTexture"); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 4503228cf2..abe5fd8ce8 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4409,23 +4409,23 @@ void process_alert_core(const std::string& message, BOOL modal) } else { - // *TODO: Translate - args["MESSAGE"] = text; + std::string new_msg =LLNotifications::instance().getGlobalString(text); + args["MESSAGE"] = new_msg; LLNotifications::instance().add("SystemMessage", args); } } else if (modal) { - // *TODO: Translate LLSD args; - args["ERROR_MESSAGE"] = message; + std::string new_msg =LLNotifications::instance().getGlobalString(message); + args["ERROR_MESSAGE"] = new_msg; LLNotifications::instance().add("ErrorMessage", args); } else { - // *TODO: Translate LLSD args; - args["MESSAGE"] = message; + std::string new_msg =LLNotifications::instance().getGlobalString(message); + args["MESSAGE"] = new_msg; LLNotifications::instance().add("SystemMessageTip", args); } } diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h index 0296327378..8bf7364714 100644 --- a/indra/newview/llviewerprecompiledheaders.h +++ b/indra/newview/llviewerprecompiledheaders.h @@ -86,7 +86,6 @@ #include "llendianswizzle.h" #include "llerror.h" #include "llfasttimer.h" -#include "llfixedbuffer.h" #include "llframetimer.h" #include "llhash.h" #include "lllocalidhashmap.h" diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp index 7bbe2c89b4..de01e79803 100644 --- a/indra/newview/llviewertexteditor.cpp +++ b/indra/newview/llviewertexteditor.cpp @@ -39,7 +39,6 @@ #include "llinventory.h" #include "llinventorybridge.h" #include "llinventorymodel.h" -#include "llfloaterinventory.h" #include "llviewertexteditor.h" diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 8b7bb83d0d..c6ac9c9172 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -120,7 +120,6 @@ #include "llhudview.h" #include "llimagebmp.h" #include "llimagej2c.h" -#include "llfloaterinventory.h" #include "llkeyboard.h" #include "lllineeditor.h" #include "llmenugl.h" @@ -1692,6 +1691,10 @@ void LLViewerWindow::shutdownViews() gMorphView->setVisible(FALSE); } + // Delete Tool Tip + delete mToolTip; + mToolTip = NULL; + // Delete all child views. delete mRootView; mRootView = NULL; @@ -1701,15 +1704,12 @@ void LLViewerWindow::shutdownViews() gIMMgr = NULL; gHoverView = NULL; - gFloaterView = NULL; - gMorphView = NULL; + gFloaterView = NULL; + gMorphView = NULL; gHUDView = NULL; gNotifyBoxView = NULL; - - delete mToolTip; - mToolTip = NULL; } void LLViewerWindow::shutdownGL() diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 98d8b27e09..018cce4b49 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -52,7 +52,6 @@ #include "llheadrotmotion.h" #include "llhudeffecttrail.h" #include "llhudmanager.h" -#include "llfloaterinventory.h" #include "llkeyframefallmotion.h" #include "llkeyframestandmotion.h" #include "llkeyframewalkmotion.h" @@ -5510,6 +5509,24 @@ void LLVOAvatar::sitDown(BOOL bSitting) //----------------------------------------------------------------------------- void LLVOAvatar::sitOnObject(LLViewerObject *sit_object) { + if (isSelf()) + { + // Might be first sit + LLFirstUse::useSit(); + + gAgent.setFlying(FALSE); + gAgent.setThirdPersonHeadOffset(LLVector3::zero); + //interpolate to new camera position + gAgent.startCameraAnimation(); + // make sure we are not trying to autopilot + gAgent.stopAutoPilot(); + gAgent.setupSitCamera(); + if (gAgent.getForceMouselook()) + { + gAgent.changeCameraToMouselook(); + } + } + if (mDrawable.isNull()) { return; @@ -5531,23 +5548,6 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object) stopMotion(ANIM_AGENT_BODY_NOISE); - if (isSelf()) - { - // Might be first sit - LLFirstUse::useSit(); - - gAgent.setFlying(FALSE); - gAgent.setThirdPersonHeadOffset(LLVector3::zero); - //interpolate to new camera position - gAgent.startCameraAnimation(); - // make sure we are not trying to autopilot - gAgent.stopAutoPilot(); - gAgent.setupSitCamera(); - if (gAgent.getForceMouselook()) - { - gAgent.changeCameraToMouselook(); - } - } } //----------------------------------------------------------------------------- diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 9777e1ec21..a7b5b60842 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -54,7 +54,6 @@ #include "llheadrotmotion.h" #include "llhudeffecttrail.h" #include "llhudmanager.h" -#include "llfloaterinventory.h" #include "llkeyframefallmotion.h" #include "llkeyframestandmotion.h" #include "llkeyframewalkmotion.h" diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 0325e755eb..0bd5f114ed 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -133,10 +133,10 @@ <texture name="ScrollArrow_Right" file_name="widgets/ScrollArrow_Right.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" /> <texture name="ScrollArrow_Up" file_name="widgets/ScrollArrow_Up.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" /> - <texture name="ScrollThumb_Horiz" file_name="widgets/ScrollThumb_Horiz.png" preload="true" scale.left="0" scale.top="0" scale.bottom="0" scale.right="0" /> + <texture name="ScrollThumb_Horiz" file_name="widgets/ScrollThumb_Horiz.png" preload="true" scale.left="4" scale.top="0" scale.bottom="0" scale.right="2" /> <texture name="ScrollThumb_Vert" file_name="widgets/ScrollThumb_Vert.png" preload="true" scale.left="4" scale.top="53" scale.bottom="10" scale.right="4" /> <texture name="ScrollTrack_Vert" file_name="widgets/ScrollTrack_Vert.png" preload="true" scale.left="2" scale.top="40" scale.bottom="13" scale.right="0" /> - <texture name="ScrollTrack_Horiz" file_name="widgets/ScrollTrack_Horiz.png" preload="true" scale.left="0" scale.top="0" scale.bottom="0" scale.right="2" /> + <texture name="ScrollTrack_Horiz" file_name="widgets/ScrollTrack_Horiz.png" preload="true" scale.left="4" scale.top="0" scale.bottom="0" scale.right="2" /> <texture name="Search" file_name="navbar/Search.png" preload="false"/> diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml index 5795053a14..6b52da04d0 100644 --- a/indra/newview/skins/default/xui/da/floater_about.xml +++ b/indra/newview/skins/default/xui/da/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="floater_about" title="Om Second Life"> +<floater name="floater_about" title="Om [APP_NAME]"> <text_editor name="credits_editor"> - Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others. + Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others. -Tak til følgende beboerne for at bidrage til at sikre, at dette er den bedste version til dato: afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop +Tak til følgende beboerne for at bidrage til at sikre, at dette er den bedste version til dato: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/da/floater_postcard.xml b/indra/newview/skins/default/xui/da/floater_postcard.xml index 6b02f43633..24d45062ae 100644 --- a/indra/newview/skins/default/xui/da/floater_postcard.xml +++ b/indra/newview/skins/default/xui/da/floater_postcard.xml @@ -25,7 +25,7 @@ <button label="Annullér" name="cancel_btn" /> <button label="Send" name="send_btn" /> <string name="default_subject"> - Postkort fra Second Life. + Postkort fra [SECOND_LIFE] </string> <string name="default_message"> Tjek det her ud! diff --git a/indra/newview/skins/default/xui/da/floater_tos.xml b/indra/newview/skins/default/xui/da/floater_tos.xml index 8d341f6a12..9a348ca7bf 100644 --- a/indra/newview/skins/default/xui/da/floater_tos.xml +++ b/indra/newview/skins/default/xui/da/floater_tos.xml @@ -4,7 +4,8 @@ <button label="Annullér" label_selected="Annullér" name="Cancel" /> <check_box label="Jeg accepterer vilkårene for brug af tjenesten" name="agree_chk" /> <text name="tos_heading"> - Læs venligst de almindelige bestemmelser og vilkår igennem, for at fortsætte til Second Life skal du acceptere vilkårene. + Læs venligst de almindelige bestemmelser og vilkår igennem, for at fortsætte til [SECOND_LIFE] +skal du acceptere vilkårene. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/da/menu_login.xml b/indra/newview/skins/default/xui/da/menu_login.xml index 26276ff3eb..9d9dcd4b2e 100644 --- a/indra/newview/skins/default/xui/da/menu_login.xml +++ b/indra/newview/skins/default/xui/da/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Indstillinger..." name="Preferences..." /> </menu> <menu label="Hjælp" name="Help"> - <menu_item_call label="Second Life hjælp" name="Second Life Help" /> - <menu_item_call label="Om Second Life..." name="About Second Life..." /> + <menu_item_call label="[SECOND_LIFE] hjælp" name="Second Life Help" /> + <menu_item_call label="Om [APP_NAME]..." name="About Second Life..." /> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml index 8ac2718353..6a75e27381 100644 --- a/indra/newview/skins/default/xui/da/menu_viewer.xml +++ b/indra/newview/skins/default/xui/da/menu_viewer.xml @@ -1,211 +1,207 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> <menu_bar name="Main Menu"> <menu label="Filer" name="File"> - <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~" /> + <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/> <menu label="Hent" name="upload"> - <menu_item_call label="Hent billede (L$[COST])..." name="Upload Image" /> - <menu_item_call label="Hent lyd (L$[COST])..." name="Upload Sound" /> - <menu_item_call label="Hent animation (L$[COST])..." name="Upload Animation" /> - <menu_item_call label="Hent mange (L$[COST] per file)..." name="Bulk Upload" /> + <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/> + <menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/> + <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> + <menu_item_call label="Hent mange (L$[COST] per file)..." name="Bulk Upload"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Sæt standard rettigheder..." name="perm prefs"/> </menu> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_call label="Luk vindue" name="Close Window" /> - <menu_item_call label="Luk alle vinduer" name="Close All Windows" /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_call label="Gem tekstur som..." name="Save Texture As..." /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_call label="Tag foto" name="Take Snapshot" /> - <menu_item_call label="Tag foto til disk" name="Snapshot to Disk" /> - <menu_item_separator label="-----------" name="separator4" /> - <menu_item_call label="Afslut" name="Quit" /> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Luk vindue" name="Close Window"/> + <menu_item_call label="Luk alle vinduer" name="Close All Windows"/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_call label="Gem tekstur som..." name="Save Texture As..."/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_call label="Tag foto" name="Take Snapshot"/> + <menu_item_call label="Tag foto til disk" name="Snapshot to Disk"/> + <menu_item_separator label="-----------" name="separator4"/> + <menu_item_call label="Afslut" name="Quit"/> </menu> <menu label="Redigér" name="Edit"> - <menu_item_call label="Annullér" name="Undo" /> - <menu_item_call label="Gentag" name="Redo" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_call label="Klip" name="Cut" /> - <menu_item_call label="Kopier" name="Copy" /> - <menu_item_call label="Sæt ind" name="Paste" /> - <menu_item_call label="Slet" name="Delete" /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_call label="Søg..." name="Search..." /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_call label="Vælg alt" name="Select All" /> - <menu_item_call label="Vælg intet" name="Deselect" /> - <menu_item_separator label="-----------" name="separator4" /> - <menu_item_call label="Duplikér" name="Duplicate" /> - <menu_item_separator label="-----------" name="separator5" /> - <menu label="Vedhæft objekt" name="Attach Object" /> - <menu label="Tag objekt af" name="Detach Object" /> + <menu_item_call label="Annullér" name="Undo"/> + <menu_item_call label="Gentag" name="Redo"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Klip" name="Cut"/> + <menu_item_call label="Kopier" name="Copy"/> + <menu_item_call label="Sæt ind" name="Paste"/> + <menu_item_call label="Slet" name="Delete"/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_call label="Søg..." name="Search..."/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_call label="Vælg alt" name="Select All"/> + <menu_item_call label="Vælg intet" name="Deselect"/> + <menu_item_separator label="-----------" name="separator4"/> + <menu_item_call label="Duplikér" name="Duplicate"/> + <menu_item_separator label="-----------" name="separator5"/> + <menu label="Vedhæft objekt" name="Attach Object"/> + <menu label="Tag objekt af" name="Detach Object"/> <menu label="Tag tøj af" name="Take Off Clothing"> - <menu_item_call label="Trøje" name="Shirt" /> - <menu_item_call label="Bukser" name="Pants" /> - <menu_item_call label="Sko" name="Shoes" /> - <menu_item_call label="Strømper" name="Socks" /> - <menu_item_call label="Jakke" name="Jacket" /> - <menu_item_call label="Handsker" name="Gloves" /> - <menu_item_call label="Undertrøje" name="Menu Undershirt" /> - <menu_item_call label="Underbukser" name="Menu Underpants" /> - <menu_item_call label="Nederdel" name="Skirt" /> - <menu_item_call label="Alt tøj" name="All Clothes" /> + <menu_item_call label="Trøje" name="Shirt"/> + <menu_item_call label="Bukser" name="Pants"/> + <menu_item_call label="Sko" name="Shoes"/> + <menu_item_call label="Strømper" name="Socks"/> + <menu_item_call label="Jakke" name="Jacket"/> + <menu_item_call label="Handsker" name="Gloves"/> + <menu_item_call label="Undertrøje" name="Menu Undershirt"/> + <menu_item_call label="Underbukser" name="Menu Underpants"/> + <menu_item_call label="Nederdel" name="Skirt"/> + <menu_item_call label="Alt tøj" name="All Clothes"/> </menu> - <menu_item_separator label="-----------" name="separator6" /> - <menu_item_call label="Bevægelser..." name="Gestures..." /> - <menu_item_call label="Profil..." name="Profile..." /> - <menu_item_call label="Udseende..." name="Appearance..." /> - <menu_item_separator label="-----------" name="separator7" /> - <menu_item_check label="Venner..." name="Friends..." /> - <menu_item_call label="Grupper..." name="Groups..." /> - <menu_item_separator label="-----------" name="separator8" /> - <menu_item_call label="Indstillinger..." name="Preferences..." /> + <menu_item_separator label="-----------" name="separator6"/> + <menu_item_call label="Bevægelser..." name="Gestures..."/> + <menu_item_call label="Profil..." name="Profile..."/> + <menu_item_call label="Udseende..." name="Appearance..."/> + <menu_item_separator label="-----------" name="separator7"/> + <menu_item_check label="Venner..." name="Friends..."/> + <menu_item_call label="Grupper..." name="Groups..."/> + <menu_item_separator label="-----------" name="separator8"/> + <menu_item_call label="Indstillinger..." name="Preferences..."/> </menu> <menu label="Vis" name="View"> - <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~" /> - <menu_item_call label="Første person" name="Mouselook" /> - <menu_item_check label="Byg" name="Build" /> - <menu_item_check label="Flyv via joystick" name="Joystick Flycam" /> - <menu_item_call label="Nulstil kamera" name="Reset View" /> - <menu_item_call label="Se på sidste chatter" name="Look at Last Chatter" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_check label="Værktøjslinie" name="Toolbar" /> - <menu_item_check label="Local chat" name="Chat History" /> - <menu_item_check label="Kommunikér" name="Instant Message" /> - <menu_item_check label="Beholdning" name="Inventory" /> - <menu_item_check label="Aktive talere" name="Active Speakers" /> - <menu_item_check label="Vis blokerede avatarer" name="Mute List" /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_check label="Kamera kontrol" name="Camera Controls" /> - <menu_item_check label="Bevægelses kontrol" name="Movement Controls" /> - <menu_item_check label="Verdenskort" name="World Map" /> - <menu_item_check label="Lokalt kort" name="Mini-Map" /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_check label="Teknisk info" name="Statistics Bar" /> - <menu_item_check label="Parcel skel" name="Property Lines" /> - <menu_item_check label="Grundejere" name="Land Owners" /> - <menu_item_separator label="-----------" name="separator4" /> + <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/> + <menu_item_call label="Første person" name="Mouselook"/> + <menu_item_check label="Byg" name="Build"/> + <menu_item_check label="Flyv via joystick" name="Joystick Flycam"/> + <menu_item_call label="Nulstil kamera" name="Reset View"/> + <menu_item_call label="Se på sidste chatter" name="Look at Last Chatter"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_check label="Værktøjslinie" name="Toolbar"/> + <menu_item_check label="Local chat" name="Chat History"/> + <menu_item_check label="Kommunikér" name="Instant Message"/> + <menu_item_check label="Beholdning" name="Inventory"/> + <menu_item_check label="Aktive talere" name="Active Speakers"/> + <menu_item_check label="Vis blokerede avatarer" name="Mute List"/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_check label="Kamera kontrol" name="Camera Controls"/> + <menu_item_check label="Bevægelses kontrol" name="Movement Controls"/> + <menu_item_check label="Verdenskort" name="World Map"/> + <menu_item_check label="Lokalt kort" name="Mini-Map"/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_check label="Teknisk info" name="Statistics Bar"/> + <menu_item_check label="Parcel skel" name="Property Lines"/> + <menu_item_check label="Visning af ingen adgang" name="Banlines"/> + <menu_item_check label="Grundejere" name="Land Owners"/> + <menu_item_separator label="-----------" name="separator4"/> <menu label="Tips visning" name="Hover Tips"> - <menu_item_check label="Vis tips" name="Show Tips" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_check label="Tips om land" name="Land Tips" /> - <menu_item_check label="Tips på alle objekter" name="Tips On All Objects" /> + <menu_item_check label="Vis tips" name="Show Tips"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_check label="Tips om land" name="Land Tips"/> + <menu_item_check label="Tips på alle objekter" name="Tips On All Objects"/> </menu> - <menu_item_check label="Fremhæv gennemsigtigt" name="Highlight Transparent" /> - <menu_item_check label="Pejlelys" name="beacons" /> - <menu_item_check label="Skjul partikler" name="Hide Particles" /> - <menu_item_check label="Vis HUD vedhæftninger" name="Show HUD Attachments" /> - <menu_item_separator label="-----------" name="separator5" /> - <menu_item_call label="Zoom ind" name="Zoom In" /> - <menu_item_call label="Zoom standard" name="Zoom Default" /> - <menu_item_call label="Zoom ud" name="Zoom Out" /> - <menu_item_separator label="-----------" name="separator6" /> - <menu_item_call label="Skift fuld skærm/vindue" name="Toggle Fullscreen" /> - <menu_item_call label="Sæt brugerfladestørrelse til normal" name="Set UI Size to Default" /> + <menu_item_check label="Fremhæv gennemsigtigt" name="Highlight Transparent"/> + <menu_item_check label="Pejlelys" name="beacons"/> + <menu_item_check label="Skjul partikler" name="Hide Particles"/> + <menu_item_check label="Vis HUD vedhæftninger" name="Show HUD Attachments"/> + <menu_item_separator label="-----------" name="separator5"/> + <menu_item_call label="Zoom ind" name="Zoom In"/> + <menu_item_call label="Zoom standard" name="Zoom Default"/> + <menu_item_call label="Zoom ud" name="Zoom Out"/> + <menu_item_separator label="-----------" name="separator6"/> + <menu_item_call label="Skift fuld skærm/vindue" name="Toggle Fullscreen"/> + <menu_item_call label="Sæt brugerfladestørrelse til normal" name="Set UI Size to Default"/> </menu> <menu label="Verden" name="World"> - <menu_item_call label="Chat" name="Chat" /> - <menu_item_check label="Løb" name="Always Run" /> - <menu_item_check label="Flyv" name="Fly" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_call label="Opret landemærke her" name="Create Landmark Here" /> - <menu_item_call label="Sæt hjem til her" name="Set Home to Here" /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_call label="Teleporter hjem" name="Teleport Home" /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_call label="Sæt 'ikke til stede'" name="Set Away" /> - <menu_item_call label="Sæt 'optaget'" name="Set Busy" /> - <menu_item_call label="Stop all animationer" name="Stop All Animations" /> - <menu_item_call label="Frigiv taster" name="Release Keys" /> - <menu_item_separator label="-----------" name="separator4" /> - <menu_item_call label="Konto historik..." name="Account History..." /> - <menu_item_call label="Vedligehold konto..." name="Manage My Account..." /> - <menu_item_call label="Køb L$..." name="Buy and Sell L$..." /> - <menu_item_separator label="-----------" name="separator5" /> - <menu_item_call label="Mit land..." name="My Land..." /> - <menu_item_call label="Om land..." name="About Land..." /> - <menu_item_call label="Køb land..." name="Buy Land..." /> - <menu_item_call label="Region/Estate..." name="Region/Estate..." /> - <menu_item_separator label="-----------" name="separator6" /> + <menu_item_call label="Chat" name="Chat"/> + <menu_item_check label="Løb" name="Always Run"/> + <menu_item_check label="Flyv" name="Fly"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Opret landemærke her" name="Create Landmark Here"/> + <menu_item_call label="Sæt hjem til her" name="Set Home to Here"/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_call label="Teleporter hjem" name="Teleport Home"/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_call label="Sæt 'ikke til stede'" name="Set Away"/> + <menu_item_call label="Sæt 'optaget'" name="Set Busy"/> + <menu_item_call label="Stop animering af min avatar" name="Stop Animating My Avatar"/> + <menu_item_call label="Frigiv taster" name="Release Keys"/> + <menu_item_separator label="-----------" name="separator4"/> + <menu_item_call label="Konto historik..." name="Account History..."/> + <menu_item_call label="Vedligehold konto..." name="Manage My Account..."/> + <menu_item_call label="Køb L$..." name="Buy and Sell L$..."/> + <menu_item_separator label="-----------" name="separator5"/> + <menu_item_call label="Mit land..." name="My Land..."/> + <menu_item_call label="Om land..." name="About Land..."/> + <menu_item_call label="Køb land..." name="Buy Land..."/> + <menu_item_call label="Region/Estate..." name="Region/Estate..."/> + <menu_item_separator label="-----------" name="separator6"/> <menu label="Indstillinger for omgivelser" name="Environment Settings"> - <menu_item_call label="Solopgang" name="Sunrise" /> - <menu_item_call label="Middag" name="Noon" /> - <menu_item_call label="Solnedgang" name="Sunset" /> - <menu_item_call label="Midnat" name="Midnight" /> - <menu_item_call label="Gendan til standard for region" name="Revert to Region Default" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_call label="Redigering af omgivelser" name="Environment Editor" /> + <menu_item_call label="Solopgang" name="Sunrise"/> + <menu_item_call label="Middag" name="Noon"/> + <menu_item_call label="Solnedgang" name="Sunset"/> + <menu_item_call label="Midnat" name="Midnight"/> + <menu_item_call label="Gendan til standard for region" name="Revert to Region Default"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Redigering af omgivelser" name="Environment Editor"/> </menu> </menu> <menu label="Funktioner" name="Tools"> <menu label="Vælg værktøj" name="Select Tool"> - <menu_item_call label="Fokus" name="Focus" /> - <menu_item_call label="Flyt" name="Move" /> - <menu_item_call label="Rediger" name="Edit" /> - <menu_item_call label="Byg" name="Create" /> - <menu_item_call label="Land" name="Land" /> + <menu_item_call label="Fokus" name="Focus"/> + <menu_item_call label="Flyt" name="Move"/> + <menu_item_call label="Rediger" name="Edit"/> + <menu_item_call label="Byg" name="Create"/> + <menu_item_call label="Land" name="Land"/> </menu> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects" /> - <menu_item_check label="Vælg kun flytbare objekter" name="Select Only Movable Objects" /> - <menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding" /> - <menu_item_check label="Vis skjulte objekter" name="Show Hidden Selection" /> - <menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection" /> - <menu_item_check label="Vis guidelys for valgte" name="Show Selection Beam" /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_check label="Ret ind til gitter" name="Snap to Grid" /> - <menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid" /> - <menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid" /> - <menu_item_call label="Gitter indstillinger..." name="Grid Options..." /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_check label="Rediger sammekædede objekter" name="Edit Linked Parts" /> - <menu_item_call label="Sammenkæd" name="Link" /> - <menu_item_call label="Adskil" name="Unlink" /> - <menu_item_separator label="-----------" name="separator4" /> - <menu_item_call label="Fokusér på valgte" name="Focus on Selection" /> - <menu_item_call label="Zoom på valgte" name="Zoom to Selection" /> - <menu_item_call label="Køb objekt" name="Menu Object Take" /> - <menu_item_call label="Tag kopi" name="Take Copy" /> - <menu_item_call label="Opdatér objekt i beholdning med ændringer" - name="Save Object Back to My Inventory" /> - <menu_item_call label="Opdatér ændringer i indhold på objekt" - name="Save Object Back to Object Contents" /> - <menu_item_separator label="-----------" name="separator6" /> - <menu_item_call label="Vis vindue med advarsler/fejl fra scripts" - name="Show Script Warning/Error Window" /> - <menu label="Rekompilér scripts i valgte objekter" - name="Recompile Scripts in Selection"> - <menu_item_call label="Mono" name="Mono" /> - <menu_item_call label="LSL" name="LSL" /> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects"/> + <menu_item_check label="Vælg kun flytbare objekter" name="Select Only Movable Objects"/> + <menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding"/> + <menu_item_check label="Vis skjulte objekter" name="Show Hidden Selection"/> + <menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection"/> + <menu_item_check label="Vis guidelys for valgte" name="Show Selection Beam"/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_check label="Ret ind til gitter" name="Snap to Grid"/> + <menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid"/> + <menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid"/> + <menu_item_call label="Gitter indstillinger..." name="Grid Options..."/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_check label="Rediger sammekædede objekter" name="Edit Linked Parts"/> + <menu_item_call label="Sammenkæd" name="Link"/> + <menu_item_call label="Adskil" name="Unlink"/> + <menu_item_separator label="-----------" name="separator4"/> + <menu_item_call label="Fokusér på valgte" name="Focus on Selection"/> + <menu_item_call label="Zoom på valgte" name="Zoom to Selection"/> + <menu_item_call label="Køb objekt" name="Menu Object Take"> + <on_enable userdata="Køb,Tag" name="EnableBuyOrTake"/> + </menu_item_call> + <menu_item_call label="Tag kopi" name="Take Copy"/> + <menu_item_call label="Opdatér ændringer i indhold på objekt" name="Save Object Back to Object Contents"/> + <menu_item_separator label="-----------" name="separator6"/> + <menu_item_call label="Vis vindue med advarsler/fejl fra scripts" name="Show Script Warning/Error Window"/> + <menu label="Rekompilér scripts i valgte objekter" name="Recompile Scripts in Selection"> + <menu_item_call label="Mono" name="Mono"/> + <menu_item_call label="LSL" name="LSL"/> </menu> - <menu_item_call label="Genstart scripts i valgte objekter" name="Reset Scripts in Selection" /> - <menu_item_call label="Sæt scripts til 'Running' i valgte objekter" - name="Set Scripts to Running in Selection" /> - <menu_item_call label="Sæt scripts til ' Not running' i valgte objekter" - name="Set Scripts to Not Running in Selection" /> + <menu_item_call label="Genstart scripts i valgte objekter" name="Reset Scripts in Selection"/> + <menu_item_call label="Sæt scripts til 'Running' i valgte objekter" name="Set Scripts to Running in Selection"/> + <menu_item_call label="Sæt scripts til ' Not running' i valgte objekter" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Hjælp" name="Help"> - <menu_item_call label="Second Life Hjælp" name="Second Life Help" /> - <menu_item_call label="Tutorial" name="Tutorial" /> - <menu_item_separator label="-----------" name="separator" /> - <menu_item_call label="Officiel Linden Blog..." name="Official Linden Blog..." /> - <menu_item_separator label="-----------" name="separator2" /> - <menu_item_call label="Portal om scripts..." name="Scripting Portal..." /> - <menu_item_separator label="-----------" name="separator3" /> - <menu_item_call label="Rapporter misbrug..." name="Report Abuse..." /> - <menu_item_call label="Stød, skub & slag..." name="Bumps, Pushes &amp; Hits..." /> - <menu_item_call label="Lag meter" name="Lag Meter" /> - <menu_item_separator label="-----------" name="separator7" /> + <menu_item_call label="[SECOND_LIFE] Hjælp" name="Second Life Help"/> + <menu_item_call label="Tutorial" name="Tutorial"/> + <menu_item_separator label="-----------" name="separator"/> + <menu_item_call label="Officiel Linden Blog..." name="Official Linden Blog..."/> + <menu_item_separator label="-----------" name="separator2"/> + <menu_item_call label="Portal om scripts..." name="Scripting Portal..."/> + <menu_item_separator label="-----------" name="separator3"/> + <menu_item_call label="Rapporter misbrug..." name="Report Abuse..."/> + <menu_item_call label="Stød, skub & slag..." name="Bumps, Pushes &amp; Hits..."/> + <menu_item_call label="Lag meter" name="Lag Meter"/> + <menu_item_separator label="-----------" name="separator7"/> <menu label="Fejlrapport" name="Bug Reporting"> - <menu_item_call label="Second Life sagsstyring..." name="Public Issue Tracker..." /> - <menu_item_call label="Hjælp til Second Life sagsstyring..." - name="Publc Issue Tracker Help..." /> - <menu_item_separator label="-----------" name="separator7" /> - <menu_item_call label="Om fejlrapportering..." name="Bug Reporing 101..." /> - <menu_item_call label="Anmeld sikkerhedshændelser..." name="Security Issues..." /> - <menu_item_call label="QA Wiki..." name="QA Wiki..." /> - <menu_item_separator label="-----------" name="separator9" /> - <menu_item_call label="Anmeld fejl..." name="Report Bug..." /> + <menu_item_call label="[SECOND_LIFE] sagsstyring..." name="Public Issue Tracker..."/> + <menu_item_call label="Hjælp til [SECOND_LIFE] sagsstyring..." name="Publc Issue Tracker Help..."/> + <menu_item_separator label="-----------" name="separator7"/> + <menu_item_call label="Om fejlrapportering..." name="Bug Reporing 101..."/> + <menu_item_call label="Anmeld sikkerhedshændelser..." name="Security Issues..."/> + <menu_item_call label="QA Wiki..." name="QA Wiki..."/> + <menu_item_separator label="-----------" name="separator9"/> + <menu_item_call label="Anmeld fejl..." name="Report Bug..."/> </menu> - <menu_item_call label="Om Second Life..." name="About Second Life..." /> - , + <menu_item_call label="Om [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index 633fff079b..d3e2ab83f2 100644 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Ukendt advarsels-besked" name="MissingAlert"> - Din version af Second Life kan ikke vise den advarselsbesked den modtog. + Din version af [APP_NAME] kan ikke vise den advarselsbesked den modtog. Fejl detaljer: Advarslen '[_NAME]' blev ikke fundet i notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Fejl detaljer: Advarslen '[_NAME]' blev ikke fundet i notifications.xm <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ja"/> </notification> <notification name="BadInstallation"> - Der opstod en fejl ved opdatering af Second Life. Hent venligst den nyeste version fra secondlife.com. + Der opstod en fejl ved opdatering af [APP_NAME]. Hent venligst den nyeste version fra secondlife.com. <usetemplate name="okbutton" yestext="OK"/> @@ -253,7 +253,7 @@ Du har brug for en konto for at logge ind i [SECOND_LIFE]. Vil du oprette en nu? <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> </notification> <notification name="ChangeSkin"> - Det nye udseende vil vises efter du har genstartet [SECOND_LIFE]. + Det nye udseende vil vises efter du har genstartet [APP_NAME]. </notification> <notification name="UnsupportedHardware"/> <notification name="UnknownGPU"> @@ -331,7 +331,7 @@ Grå = Offentligt ejet <notification name="YouHaveBeenLoggedOut"> Du er blevet logget ud af [SECOND_LIFE]: [MESSAGE] -Du kan stadig se eksiterende PB'er og chat ved at klikke'Se PB & Chat'. Ellers, klik 'Afslut' for at afslutte [SECOND_LIFE] nu. +Du kan stadig se eksiterende PB'er og chat ved at klikke'Se PB & Chat'. Ellers, klik 'Afslut' for at afslutte [APP_NAME] nu. <usetemplate name="okcancelbuttons" notext="Afslut" yestext="Se PB & Chat"/> </notification> <notification label="Tilføj ven" name="AddFriend"> @@ -375,7 +375,7 @@ Tilbyd venskab til [NAME]? <notification name="RegionEntryAccessBlocked"> Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder. -Undersøg venligst om du har installeret den nyeste Second Life klient, og gå til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. +Undersøg venligst om du har installeret den nyeste [APP_NAME] klient, og gå til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. <usetemplate name="okbutton" yestext="OK"/> @@ -413,7 +413,7 @@ Du kan vælge 'Indstillinger' for at hæve din indholdsrating nu og de <notification name="LandClaimAccessBlocked"> Du kan ikke kræve dette land på grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. -Undersøg om du har den nyeste Second Life klient og gå venligst til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. +Undersøg om du har den nyeste [APP_NAME] klient og gå venligst til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. <usetemplate name="okbutton" yestext="OK"/> @@ -447,7 +447,7 @@ Du kan vælge 'Indstillinger' for at hæve din indholdsrating nu og de <notification name="LandBuyAccessBlocked"> Du kan ikke købe dette land på grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder. -Undersøg om du har den nyeste Second Life klient og gå venligst til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. +Undersøg om du har den nyeste [APP_NAME] klient og gå venligst til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. <usetemplate name="okbutton" yestext="OK"/> @@ -518,9 +518,9 @@ http://secondlife.com/support/incidentreport.php Du ser ud til at være ved at rapportere noget vedr. krænkelse af intellektuelle ejendomsrettigheder. Sørg for, at du rapporterer dette korrekt: -(1) Misbrugs processen. Du kan indsende en misbrugs rapport, hvis du mener, at en Beboer udnytter Second Life's rettigheds system, for eksempel ved hjælp af en CopyBot eller lignende kopierings værktøjer, at de krænker intellektuelle ejendomsrettigheder. Det team vil undersøge og spørgsmål passende disciplinære sanktioner for adfærd, der overtræder Second Life EF-standarderne eller Servicevilkår. Men det team vil ikke håndtere og vil ikke reagere på anmodninger om at fjerne indhold fra Second Life's verden. +(1) Misbrugs processen. Du kan indsende en misbrugs rapport, hvis du mener, at en Beboer udnytter [SECOND_LIFE]'s rettigheds system, for eksempel ved hjælp af en CopyBot eller lignende kopierings værktøjer, at de krænker intellektuelle ejendomsrettigheder. Det team vil undersøge og spørgsmål passende disciplinære sanktioner for adfærd, der overtræder [SECOND_LIFE] EF-standarderne eller Servicevilkår. Men det team vil ikke håndtere og vil ikke reagere på anmodninger om at fjerne indhold fra [SECOND_LIFE]'s verden. -(2) DMCA eller Indholds fjernelses processen. For at anmode om fjernelse af indhold fra Second Life, skal du sende en gyldig anmeldelse af overtrædelsen som beskrevet i vores DMCA-politik på http://secondlife.com/corporate/dmca.php. +(2) DMCA eller Indholds fjernelses processen. For at anmode om fjernelse af indhold fra [SECOND_LIFE], skal du sende en gyldig anmeldelse af overtrædelsen som beskrevet i vores DMCA-politik på http://secondlife.com/corporate/dmca.php. Hvis du stadig ønsker at fortsætte med misbrugs processen, luk da venligst dette vindue og færdiggør indsendelsen af din rapport. Du kan være nødt til at vælge den særlige kategori »CopyBot eller Tilladelses Ydnyttelse. @@ -792,7 +792,7 @@ Ingen scripts vil køre på nær dem, som tilhører ejeren af landet. Du kan kun gøre krav på offentlig land i den region, du befinder dig i. </notification> <notification name="RegionTPAccessBlocked"> - Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste Second Life klient. + Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste [APP_NAME] klient. Gå venligst til 'Knowledge Base' for yderligere detaljer om adgang til områder med denne indholdsrating. </notification> @@ -859,13 +859,13 @@ Prøv igen om lidt. Kunne ikke skabe fast forbindelse. </notification> <notification name="InternalUsherError"> - Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med Second Life lige nu. + Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med [SECOND_LIFE] lige nu. </notification> <notification name="NoGoodTPDestination"> Kunne ikke finde et egnet teleport sted i denne region. </notification> <notification name="InternalErrorRegionResolver"> - Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med Second Life lige nu. + Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med [SECOND_LIFE] lige nu. </notification> <notification name="NoValidLanding"> Kunne ikke finde et gyldigt landingspunkt. @@ -975,7 +975,7 @@ Fra genstand: [OBJECTNAME], ejer: [NAME]? Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen. </notification> <notification name="InvalidWearable"> - Den genstand du prøver at tage på benytter funktioner som din klient ikke kan forstå. Opdatér din version af Second Life for at tage genstanden på. + Den genstand du prøver at tage på benytter funktioner som din klient ikke kan forstå. Opdatér din version af [APP_NAME] for at tage genstanden på. </notification> <notification name="ScriptQuestion"> '[OBJECTNAME]', en genstand, ejet af '[NAME]', vil gerne: @@ -1078,7 +1078,7 @@ Fleksible genstande er ikke fysiske og man kan gå igennem dem, indtil fleksibel </notification> <notification name="FirstDebugMenus"> Du har sat avanceret menu til. -Denne menu indeholder funktioner brugbare for udviklere, der udbedrer fejl i Second Life. +Denne menu indeholder funktioner brugbare for udviklere, der udbedrer fejl i [SECOND_LIFE]. For at vise denne menu, skal man i Windows trykke Ctrl-Alt-D. På Mac tryk ⌘-Opt-Shift-D. </notification> <notification name="FirstSculptedPrim"> diff --git a/indra/newview/skins/default/xui/da/panel_status_bar.xml b/indra/newview/skins/default/xui/da/panel_status_bar.xml index 7bc66b1101..c286960334 100644 --- a/indra/newview/skins/default/xui/da/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/da/panel_status_bar.xml @@ -8,7 +8,7 @@ Henter... </text> <button label="" label_selected="" name="buycurrency" tool_tip="Køb valuta" /> - <text type="string" length="12" name="TimeText" tool_tip="Nuværende Second Life tid"> + <text type="string" length="12" name="TimeText" tool_tip="Nuværende [SECOND_LIFE] tid"> 12:00 </text> <string name="StatBarDaysOfWeek"> @@ -33,8 +33,8 @@ tool_tip="Stemme chat ikke tilgængelig" /> <button label="" label_selected="" name="buyland" tool_tip="Køb denne parcel" /> <button label="" name="menubar_search_bevel_bg" /> - <line_editor label="Søg" name="search_editor" tool_tip="Søg Second Life" /> - <button label="" label_selected="" name="search_btn" tool_tip="Søg Second Life" /> + <line_editor label="Søg" name="search_editor" tool_tip="Søg [SECOND_LIFE]" /> + <button label="" label_selected="" name="search_btn" tool_tip="Søg [SECOND_LIFE]" /> <string name="packet_loss_tooltip"> Packet Loss </string> diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index bd34d39993..c039e2e1c5 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -1,4 +1,8 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<!-- This file contains strings that used to be hardcoded in the source. + It is only for those strings which do not belong in a floater. + For example, the strings used in avatar chat bubbles, and strings + that are returned from one component and may appear in many places--> <strings> <string name="LoginInProgress"> Logger p. [APP_NAME] kan virke laast. Vent venligst. @@ -51,12 +55,15 @@ <string name="LoginDownloadingClothing"> Henter tøj... </string> - <string name="LoginFailedNoNetwork"> - Netværks fejl: Kunne ikke oprette forbindelse, tjek venligst din netværksforbindelse. - </string> <string name="AgentLostConnection"> Denne region kan have problemer. Tjek venligst din forbindelse til internettet. </string> + <string name="TooltipPerson"> + Person + </string> + <string name="TooltipNoName"> + (intet navn) + </string> <string name="TooltipOwner"> Ejer: </string> @@ -78,12 +85,18 @@ <string name="TooltipFlagL$"> L$ </string> + <string name="TooltipFlagDropInventory"> + Drop beholdning + </string> <string name="TooltipFlagPhantom"> Fantom </string> <string name="TooltipFlagTemporary"> Temporær </string> + <string name="TooltipFlagRightClickMenu"> + (Højre-klik for menu) + </string> <string name="TooltipFreeToCopy"> Kan kopieres </string> @@ -168,6 +181,9 @@ <string name="AssetErrorCircuitGone"> Forbindelsen mistet </string> + <string name="AssetErrorPriceMismatch"> + [APP_NAME] klient og server er uenige om prisen + </string> <string name="AssetErrorUnknownStatus"> Ukendt status </string> @@ -402,4 +418,69 @@ <string name="shout"> råber: </string> + <string name="SIM_ACCESS_PG"> + PG + </string> + <string name="SIM_ACCESS_MATURE"> + Mature + </string> + <string name="SIM_ACCESS_ADULT"> + Adult + </string> + <string name="SIM_ACCESS_DOWN"> + logget af + </string> + <string name="SIM_ACCESS_MIN"> + Ukendt + </string> + <string name="land_type_unknown"> + (ukendt) + </string> + <string name="covenant_never_modified">Sidst ændret: (aldrig)</string> + <string name="covenant_modified">Sidst ændret: </string> + <string name="all_files"> + Alle filer + </string> + <string name="sound_files"> + Lyde + </string> + <string name="animation_files"> + Animationer + </string> + <string name="image_files"> + Billeder + </string> + <string name="save_file_verb"> + Gem + </string> + <string name="load_file_verb"> + Hent + </string> + <string name="targa_image_files"> + Targa billeder + </string> + <string name="bitmap_image_files"> + Bitmap billeder + </string> + <string name="avi_movie_file"> + AVI film fil + </string> + <string name="xaf_animation_file"> + XAF Anim Fil + </string> + <string name="xml_file"> + XML Fil + </string> + <string name="dot_raw_file"> + RAW Fil + </string> + <string name="compressed_image_files"> + Komprimerede billeder + </string> + <string name="load_files"> + Hent filer + </string> + <string name="choose_the_directory"> + Vælg bibliotek + </string> </strings> diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml index c3935882af..340b90d802 100644 --- a/indra/newview/skins/default/xui/de/floater_about.xml +++ b/indra/newview/skins/default/xui/de/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="floater_about" title="Über Second Life"> +<floater name="floater_about" title="Über [APP_NAME]"> <text_editor name="credits_editor"> - Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les und vielen anderen. + Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl und vielen anderen. -Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop +Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/de/floater_postcard.xml b/indra/newview/skins/default/xui/de/floater_postcard.xml index 639a8ffdd1..2755704660 100644 --- a/indra/newview/skins/default/xui/de/floater_postcard.xml +++ b/indra/newview/skins/default/xui/de/floater_postcard.xml @@ -33,7 +33,7 @@ <button label="Abbrechen" name="cancel_btn" /> <button label="Senden" name="send_btn" /> <text name="default_subject"> - Postkarte aus Second Life. + Postkarte aus [SECOND_LIFE] </text> <text name="default_message"> Sehen Sie hier! diff --git a/indra/newview/skins/default/xui/de/floater_tos.xml b/indra/newview/skins/default/xui/de/floater_tos.xml index 780dc29edc..e2ad5ef2f6 100644 --- a/indra/newview/skins/default/xui/de/floater_tos.xml +++ b/indra/newview/skins/default/xui/de/floater_tos.xml @@ -12,7 +12,7 @@ <check_box label="Ich stimme den Nutzungsbedingungen zu" name="agree_chk" /> <text name="tos_heading"> Lesen Sie die folgenden Nutzungsbedingungen sorgfältig durch. Sie müssen dieser Vereinbarung -zustimmen, um Second Life benutzen zu können. +zustimmen, um [SECOND_LIFE] benutzen zu können. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml index 29330d894a..887d8d1b84 100644 --- a/indra/newview/skins/default/xui/de/menu_login.xml +++ b/indra/newview/skins/default/xui/de/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Einstellungen..." name="Preferences..." /> </menu> <menu label="Hilfe" name="Help"> - <menu_item_call label="Hilfe zu Second Life" name="Second Life Help" /> - <menu_item_call label="Über Second Life..." name="About Second Life..." /> + <menu_item_call label="Hilfe zu [SECOND_LIFE]" name="Second Life Help" /> + <menu_item_call label="Über [APP_NAME]..." name="About Second Life..." /> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 279024616a..62cd982875 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -169,7 +169,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Fokus auf Auswahl" name="Focus on Selection"/> <menu_item_call label="Auf Auswahl zoomen" name="Zoom to Selection"/> - <menu_item_call label="Objekt kaufen" name="Menu Object Take"/> + <menu_item_call label="Objekt kaufen" name="Menu Object Take"> + <on_enable userdata="Kaufen,Nehmen" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Kopie nehmen/machen" name="Take Copy"/> <menu_item_call label="Objekt wieder in Objektinhalt speichern" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -183,7 +185,7 @@ <menu_item_call label="Skripte in Auswahl so einstellen, dass sie nicht ausgeführt werden" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Hilfe" name="Help"> - <menu_item_call label="Hilfe zu Second Life" name="Second Life Help"/> + <menu_item_call label="Hilfe zu [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Tutorial" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Offizielles Linden-Blog..." name="Official Linden Blog..."/> @@ -212,6 +214,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Fehler melden..." name="Report Bug..."/> </menu> - <menu_item_call label="Über Second Life..." name="About Second Life..."/> + <menu_item_call label="Über [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 06a432bd3b..a746d2c08f 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Unbekannter Warnhinweis" name="MissingAlert"> - Ihre Version von Second Life kann den gerade empfangenen Warnhinweis nicht anzeigen. + Ihre Version von [APP_NAME] kann den gerade empfangenen Warnhinweis nicht anzeigen. Fehlerdetails: Der Warnhinweis „[_NAME]“ wurde in notifications.xml nicht gefunden. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Fehlerdetails: Der Warnhinweis „[_NAME]“ wurde in notifications.xml nicht ge <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Ja"/> </notification> <notification name="BadInstallation"> - Beim Aktualisieren von Second Life ist ein Fehler aufgetreten. Bitte laden Sie die aktuellste Version von secondlife.com herunter. + Beim Aktualisieren von [APP_NAME] ist ein Fehler aufgetreten. Bitte laden Sie die aktuellste Version von secondlife.com herunter. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="LoginFailedNoNetwork"> @@ -135,12 +135,12 @@ Wählen Sie ein einzelnes Objekt aus und versuchen Sie es erneut. <usetemplate canceltext="Abbrechen" name="yesnocancelbuttons" notext="Nicht speichern" yestext="Alles speichern"/> </notification> <notification name="GrantModifyRights"> - Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern oder an sich zu nehmen, das Sie in der Second Life-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis. + Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern oder an sich zu nehmen, das Sie in der [SECOND_LIFE]-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis. Möchten Sie [FIRST_NAME] [LAST_NAME] Änderungsrechte gewähren? <usetemplate name="okcancelbuttons" notext="Nein" yestext="Ja"/> </notification> <notification name="GrantModifyRightsMultiple"> - Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern, das Sie in der Second Life-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis. + Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern, das Sie in der [SECOND_LIFE]-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis. Möchten Sie den ausgewählten Einwohnern Änderungsrechte gewähren? <usetemplate name="okcancelbuttons" notext="Nein" yestext="Ja"/> </notification> @@ -229,7 +229,7 @@ Dieses Kontrollkästchen zeigt Folgendes an: <notification name="ClickPartnerHelpAvatar"> Auf der [SECOND_LIFE] Website können Sie anderen Einwohnern eine Partnerschaft vorschlagen und bestehende Partnerschaften lösen. -Die Second Life Website für weitere Informationen über Partnerschaften öffnen? +Die [SECOND_LIFE] Website für weitere Informationen über Partnerschaften öffnen? <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Gehe zu Seite"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -268,7 +268,7 @@ Der Verkaufspreis beträgt [SALE_PRICE] L$ und wird automatisch für den Verkauf <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - ACHTUNG: Wenn Sie auf „An jeden verkaufen“ klicken, kann jeder in Second Life Ihr Land kaufen, auch Einwohner in anderen Regionen. + ACHTUNG: Wenn Sie auf „An jeden verkaufen“ klicken, kann jeder in [SECOND_LIFE] Ihr Land kaufen, auch Einwohner in anderen Regionen. Die ausgewählten [LAND_SIZE] qm Land werden zum Verkauf freigegeben. Der Verkaufspreis beträgt [SALE_PRICE] L$ und wird automatisch für den Verkauf an [NAME] autorisiert. @@ -412,17 +412,17 @@ Gebühren werden nicht rückerstattet. <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> </notification> <notification name="CacheWillClear"> - Der Cache wird nach einem Neustart von [SECOND_LIFE] geleert. + Der Cache wird nach einem Neustart von [APP_NAME] geleert. </notification> <notification name="CacheWillBeMoved"> - Der Cache wird nach einem Neustart von [SECOND_LIFE] verschoben. + Der Cache wird nach einem Neustart von [APP_NAME] verschoben. Hinweis: Der Cache wird dabei gelöscht/geleert. </notification> <notification name="ChangeConnectionPort"> - Die Port-Einstellungen werden nach einem Neustart von [SECOND_LIFE] wirksam. + Die Port-Einstellungen werden nach einem Neustart von [APP_NAME] wirksam. </notification> <notification name="ChangeSkin"> - Die neue Benutzeroberfläche wird nach einem Neustart von [SECOND_LIFE] angewendet. + Die neue Benutzeroberfläche wird nach einem Neustart von [APP_NAME] angewendet. </notification> <notification name="GoToAuctionPage"> Zur [SECOND_LIFE]-Webseite, um Auktionen anzuzeigen oder ein Gebot abzugeben? @@ -481,7 +481,7 @@ Das Objekt ist möglicherweise außer Reichweite oder wurde gelöscht. Datei [[FILE]] kann nicht geschrieben werden </notification> <notification name="UnsupportedHardware"> - Achtung: Ihr System erfüllt nicht die Mindestanforderungen von Second Life. Dies kann eine schlechte Darstellungsleistung in Second Life zur Folge haben. Für nicht unterstützte Systemkonfigurationen bieten wir keinen technischen Support. + Achtung: Ihr System erfüllt nicht die Mindestanforderungen von [APP_NAME]. Dies kann eine schlechte Darstellungsleistung in [APP_NAME] zur Folge haben. Für nicht unterstützte Systemkonfigurationen bieten wir keinen technischen Support. MINSPECS Die Seite [_URL] für weitere Informationen öffnen? @@ -493,14 +493,14 @@ Die Seite [_URL] für weitere Informationen öffnen? <notification name="UnknownGPU"> Ihr System verwendet eine uns zurzeit unbekannte Grafikkarte. Dies ist häufig der Fall bei neuer Hardware, die wir noch nicht testen konnten. -Second Life funktioniert aller Voraussicht nach normal, möglicherweise müssen Sie aber die Grafikeinstellungen anpassen. +[APP_NAME] funktioniert aller Voraussicht nach normal, möglicherweise müssen Sie aber die Grafikeinstellungen anpassen. (Bearbeiten > Einstellungen > Grafik). <form name="form"> <ignore name="ignore" text="Bei Entdeckung einer unbekannten Grafikkarte"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] ist bei der Initialisierung der Grafiktreiber abgestürzt. + [APP_NAME] ist bei der Initialisierung der Grafiktreiber abgestürzt. Die Grafikqualität wird auf eine niedrige Stufe zurückgesetzt, um einige typische Treiberfehler zu vermeiden. Einige Grafikfunktionen werden ausgeschaltet. Wir empfehlen die Aktualisierung Ihrer Grafikkartentreiber. @@ -783,8 +783,7 @@ Keine Parzelle ausgewählt. Kann die Region nicht finden, in der sich dieses Land befindet. </notification> <notification name="CannotCloseFloaterBuyLand"> - Das Fenster „Land kaufen“ kann erst geschlossen werden, -nachdem Second Life den Transaktionspreis geschätzt hat. + Das Fenster „Land kaufen“ kann erst geschlossen werden, nachdem [APP_NAME] den Transaktionspreis geschätzt hat. </notification> <notification name="CannotDeedLandNothingSelected"> Land kann nicht übertragen werden: @@ -956,7 +955,7 @@ Tritt dieses Problem wiederholt auf, klicken Sie auf das Pulldown-Menü „Hilfe <notification name="YouHaveBeenLoggedOut"> Sie wurden von [SECOND_LIFE] abgemeldet: [MESSAGE] -Klicken Sie auf „IM & Chat anzeigen“, um vorhandene Nachrichten und Chat weiterhin anzuzeigen. Klicken Sie andernfalls auf „Beenden“, um [SECOND_LIFE] sofort zu beenden. +Klicken Sie auf „IM & Chat anzeigen“, um vorhandene Nachrichten und Chat weiterhin anzuzeigen. Klicken Sie andernfalls auf „Beenden“, um [APP_NAME] sofort zu beenden. <usetemplate name="okcancelbuttons" notext="Beenden" yestext="IM & Chat anzeigen"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1127,14 +1126,14 @@ Sie können [SECOND_LIFE] normal verwenden. Andere Benutzer können Sie korrekt </form> </notification> <notification name="FirstRun"> - Die Installation von [SECOND_LIFE] ist abgeschlossen. + Die Installation von [APP_NAME] ist abgeschlossen. Wenn Sie [SECOND_LIFE] das erste Mal verwenden, müssen Sie ein Konto anlegen, bevor Sie sich anmelden können. Möchten Sie auf www.secondlife.com ein Konto erstellen? <usetemplate name="okcancelbuttons" notext="Weiter" yestext="Neues Konto..."/> </notification> <notification name="LoginPacketNeverReceived"> - Die Verbindung kann nicht hergestellt werden. Möglicherweise besteht ein Problem mit Ihrer Internetverbindung oder den Second Life-Servern. + Die Verbindung kann nicht hergestellt werden. Möglicherweise besteht ein Problem mit Ihrer Internetverbindung oder den [SECOND_LIFE]-Servern. Überprüfen Sie Ihre Internetverbindung und versuchen Sie es dann erneut, oder klicken Sie auf „Hilfe“, um zu unserer Supportseite zu gelangen, oder klicken Sie auf „Teleportieren“, um nach Hause zu teleportieren. <form name="form"> @@ -1237,33 +1236,33 @@ Geben Sie das Objekt zum Verkauf frei und versuchen Sie es erneut. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - Eine neue Version von [SECOND_LIFE] ist verfügbar. + Eine neue Version von [APP_NAME] ist verfügbar. [MESSAGE] -Sie müssen das Update herunterladen, um [SECOND_LIFE] weiter verwenden zu können. +Sie müssen das Update herunterladen, um [APP_NAME] weiter verwenden zu können. <usetemplate name="okcancelbuttons" notext="Beenden" yestext="Herunterladen"/> </notification> <notification name="DownloadWindows"> - Eine aktualisierte Version von [SECOND_LIFE] ist verfügbar. + Eine aktualisierte Version von [APP_NAME] ist verfügbar. [MESSAGE] Dieses Update ist nicht erforderlich, für bessere Leistung und Stabilität sollte es jedoch installiert werden. <usetemplate name="okcancelbuttons" notext="Weiter" yestext="Herunterladen"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Eine aktualisierte Version von [SECOND_LIFE] ist verfügbar. + Eine aktualisierte Version von [APP_NAME] ist verfügbar. [MESSAGE] Dieses Update ist nicht erforderlich, für bessere Leistung und Stabilität sollte es jedoch installiert werden. <usetemplate name="okcancelbuttons" notext="Weiter" yestext="Herunterladen"/> </notification> <notification name="DownloadMacMandatory"> - Eine neue Version von [SECOND_LIFE] ist verfügbar. + Eine neue Version von [APP_NAME] ist verfügbar. [MESSAGE] -Sie müssen das Update herunterladen, um [SECOND_LIFE] weiter verwenden zu können. +Sie müssen das Update herunterladen, um [APP_NAME] weiter verwenden zu können. In Ihren Anwendungsordner herunterladen? <usetemplate name="okcancelbuttons" notext="Beenden" yestext="Herunterladen"/> </notification> <notification name="DownloadMac"> - Eine aktualisierte Version von [SECOND_LIFE] ist verfügbar. + Eine aktualisierte Version von [APP_NAME] ist verfügbar. [MESSAGE] Dieses Update ist nicht erforderlich, für bessere Leistung und Stabilität sollte es jedoch installiert werden. @@ -1271,7 +1270,7 @@ In Ihren Anwendungsordner herunterladen? <usetemplate name="okcancelbuttons" notext="Weiter" yestext="Herunterladen"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Eine aktualisierte Version von [SECOND_LIFE] ist verfügbar. + Eine aktualisierte Version von [APP_NAME] ist verfügbar. [MESSAGE] Dieses Update ist nicht erforderlich, für bessere Leistung und Stabilität sollte es jedoch installiert werden. @@ -1831,7 +1830,7 @@ Wenn dieses Feld leer ist, werden Missbrauchsmeldungen nur an Linden Lab gesende Standard: deaktiviert </notification> <notification label="Falsche Voice-Version" name="VoiceVersionMismatch"> - Diese Version von Second ist mit dem Voice-Chat-Feature in dieser Region nicht kompatibel. Damit Voice-Chat funktioniert, müssen Sie Second Life aktualisieren. + Diese Version von [APP_NAME] mit dem Voice-Chat-Feature in dieser Region nicht kompatibel. Damit Voice-Chat funktioniert, müssen Sie [APP_NAME] aktualisieren. </notification> <notification label="Grunstücksvertrag" name="HelpEstateCovenant"> Ein Grundstücksvertrag ermöglicht es Ihnen, Grundstücksparzellen zu verkaufen. Ohne Vertrag können Sie kein Land verkaufen. Wenn Sie keine Regeln festlegen oder Käufern vor dem Kauf keine anderen Informationen über das Land bereitstellen möchten, können Sie die Vertrags-Notizkarte auch leer lassen. @@ -1946,16 +1945,16 @@ Inventarobjekt(e) verschieben? Sie haben keine Berechtigung zum Kopieren von Elementen in diesem Objekt. </notification> <notification name="WebLaunchAccountHistory"> - Zur Second Life-Website, um Ihre Kontostatistik anzuzeigen? + Zur [SECOND_LIFE]-Website, um Ihre Kontostatistik anzuzeigen? <usetemplate ignoretext="Beim Laden der Kontostatistik-Website" name="okcancelignore" notext="Abbrechen" yestext="Gehe zu Seite"/> </notification> <notification name="ClickOpenF1Help"> - Die Support-Website von Second Life öffnen? - <usetemplate ignoretext="Bei Besuch der Second Life Support-Website." name="okcancelignore" notext="Abbrechen" yestext="Los"/> + Die Support-Website von [SECOND_LIFE] öffnen? + <usetemplate ignoretext="Bei Besuch der [SECOND_LIFE] Support-Website." name="okcancelignore" notext="Abbrechen" yestext="Los"/> </notification> <notification name="ConfirmQuit"> Wirklich beenden? - <usetemplate ignoretext="Beim Beenden von Second Life." name="okcancelignore" notext="Weiter" yestext="Beenden"/> + <usetemplate ignoretext="Beim Beenden von [APP_NAME]." name="okcancelignore" notext="Weiter" yestext="Beenden"/> </notification> <notification name="HelpReportAbuseEmailLL"> Verwenden Sie dieses Tool, um Verletzungen der Servicebedingungen und Community-Standards zu melden. Siehe: @@ -1973,7 +1972,7 @@ http://secondlife.com/support/incidentreport.php Als besonderen Service für Einwohner und Besucher übernimmt der Eigentümer dieser Region die Bearbeitung aller anfallenden Meldungen. Von diesem Standort aus eingereichte Meldungen werden nicht von Linden Lab bearbeitet. Der Eigentümer der Region bearbeitet Meldungen auf Grundlage der Richtlinien, die im für diese Region geltenden Grundstücksvertrag festgelegt sind. (Den Vertrag können Sie unter „Welt“ > „Land-Info“ einsehen.) - -Das Resultat, das sich aus dieser Meldung ergibt, betrifft nur diese Region; der Einwohnerzugang zu anderen Bereichen von Second Life ist davon nicht betroffen. Nur Linden Lab kann den Zugang zu Second Life beschränken. +Das Resultat, das sich aus dieser Meldung ergibt, betrifft nur diese Region; der Einwohnerzugang zu anderen Bereichen von [SECOND_LIFE] ist davon nicht betroffen. Nur Linden Lab kann den Zugang zu [SECOND_LIFE] beschränken. </notification> <notification name="HelpReportBug"> Verwenden Sie dieses Tool *nur*, um technische Features zu melden, die nicht wie beschrieben oder erwartet funktionieren. Bitte machen Sie so viele Angaben wie möglich. Sie können auf die automatische Antwort-E-Mail antworten, um Ihre Meldung noch zu ergänzen. @@ -2021,9 +2020,9 @@ Eine möglichst genaue Beschreibung mit Schritten zur Reproduktion des Fehlers h Sie melden eine Urheberrechtsverletzung. Sind Sie wirklich sicher, dass Sie eine Verletzung des Urheberrechts melden möchten? -1. Missbrauch melden. Wenn Sie der Meinung sind, ein Einwohner nutzt das Berechtigungssystem von Second Life auf unerlaubte Weise zu seinem Vorteil aus, indem er zum Beispiel einen CopyBot oder ähnliche Kopiertools verwendet und damit eine Urheberrechtsverletzung begeht, können Sie diesen Missbrauch melden. Das Missbrauchsteam untersucht etwaige Verstöße gegen die Second Life Community Standards oder die Nutzungsbedingungen und verhängt entsprechende Strafen. Das Missbrauchsteam ist jedoch nicht dafür zuständig, Inhalte aus der Second Life-Welt zu entfernen und reagiert auch nicht auf entsprechende Anfragen. +1. Missbrauch melden. Wenn Sie der Meinung sind, ein Einwohner nutzt das Berechtigungssystem von [SECOND_LIFE] auf unerlaubte Weise zu seinem Vorteil aus, indem er zum Beispiel einen CopyBot oder ähnliche Kopiertools verwendet und damit eine Urheberrechtsverletzung begeht, können Sie diesen Missbrauch melden. Das Missbrauchsteam untersucht etwaige Verstöße gegen die [SECOND_LIFE] Community Standards oder die Nutzungsbedingungen und verhängt entsprechende Strafen. Das Missbrauchsteam ist jedoch nicht dafür zuständig, Inhalte aus der [SECOND_LIFE]-Welt zu entfernen und reagiert auch nicht auf entsprechende Anfragen. -2. Der DMCA oder das Entfernen von Inhalten. Sie können das Entfernen von Inhalten aus Second Life beantragen. Dazu MÜSSEN Sie eine Urheberrechtsverletzung gemäß den in unserer DMCA-Richtlinie unter http://secondlife.com/corporate/dmca.php dargelegten Anweisungen einreichen. +2. Der DMCA oder das Entfernen von Inhalten. Sie können das Entfernen von Inhalten aus [SECOND_LIFE] beantragen. Dazu MÜSSEN Sie eine Urheberrechtsverletzung gemäß den in unserer DMCA-Richtlinie unter http://secondlife.com/corporate/dmca.php dargelegten Anweisungen einreichen. Wenn Sie mit der Missbrauchmeldung jetzt fortfahren möchten, schließen Sie bitte dieses Fenster und senden Sie Ihren Bericht ein. Möglicherweise müssen Sie Kategorie „CopyBot oder Berechtigungs-Exploit“ auswählen. @@ -2146,7 +2145,7 @@ Klicken Sie auf „Himmel (erweitert)“, um einen Editor mit erweiterten Einste Klicken Sie auf „Wasser (erweitert)“, um einen Editor mit erweiterten Einstellungen für die Wasserdarstellung anzuzeigen. </notification> <notification name="HelpDayCycle"> - Im Tageszyklus-Editor steuern Sie den Tag-/Nachtzyklus am Second Life Himmel. Dabei handelt es sich um den Zyklus, der mit dem Tageszeit-Regler im Umwelt-Basiseditor gesteuert wird. + Im Tageszyklus-Editor steuern Sie den Tag-/Nachtzyklus am [SECOND_LIFE] Himmel. Dabei handelt es sich um den Zyklus, der mit dem Tageszeit-Regler im Umwelt-Basiseditor gesteuert wird. Der Tageszyklus-Editor verwendet sogenannte Keyframes zur Steuerung des Tag-/Nachtablaufs. Dabei handelt es sich um „Schlüsselbilder“ (die grauen Kreise auf der Zeitskala), für die bestimmte Himmelseinstellungen definiert wurden. Bei voranschreitender Tageszeit interpoliert WindLight den Übergang zwischen diesen Keyframes und erzeugt eine entsprechende Himmelsanimation. @@ -2225,7 +2224,7 @@ Entspricht dem Azimut. Steuert die Bewegungsgeschwindigkeit der Wolken in Y-Richtung. </notification> <notification name="HelpClassicClouds"> - Aktivieren Sie dieses Kontrollkästchen, um die Darstellung der klassischen Second Life Wolken zusätzlich zu den WindLight-Wolken zu erzwingen. + Aktivieren Sie dieses Kontrollkästchen, um die Darstellung der klassischen [SECOND_LIFE] Wolken zusätzlich zu den WindLight-Wolken zu erzwingen. </notification> <notification name="HelpWaterFogColor"> Steuert die Farbe der Wassertrübung @@ -2323,7 +2322,7 @@ Entspricht dem Azimut. </notification> <notification name="NotAgeVerified"> Um Zugang zu dieser Parzelle zu erhalten, müssen Sie sich einer Altersprüfung unterziehen. -Möchten Sie auf der Second Life Website eine Altersüberprüfung durchführen? +Möchten Sie auf der [SECOND_LIFE] Website eine Altersüberprüfung durchführen? [_URL] <url name="url" option="0"> @@ -2333,7 +2332,7 @@ Möchten Sie auf der Second Life Website eine Altersüberprüfung durchführen? </notification> <notification name="Cannot enter parcel: no payment info on file"> Um Zugang zu dieser Parzelle zu erhalten, müssen Sie Zahlungsinformationen hinterlegt haben. -Möchten Sie die Second Life Website öffnen, um diese Angaben zu hinterlegen? +Möchten Sie die [SECOND_LIFE] Website öffnen, um diese Angaben zu hinterlegen? [_URL] <url name="url" option="0"> @@ -2778,7 +2777,7 @@ Von Objekt: [OBJECTNAME], Eigentümer: [NAME]? [TYPE] namens [DESC] nicht in Datenbank. </notification> <notification name="InvalidWearable"> - Dieser Artikel verwendet eine Funktion, die Ihr Viewer nicht unterstützt. Bitte aktualisieren Sie Ihre Version von Second Life, um diesen Artikel anziehen zu können. + Dieser Artikel verwendet eine Funktion, die Ihr Viewer nicht unterstützt. Bitte aktualisieren Sie Ihre Version von [APP_NAME], um diesen Artikel anziehen zu können. </notification> <notification name="ScriptQuestion"> Das Objekt „[OBJECTNAME]“, Eigentum von „[NAME]“, möchte: @@ -2883,7 +2882,7 @@ Ein flexibles Objekt ist ein Phantom und nicht physisch, bis die Option „Flexi </notification> <notification name="FirstDebugMenus"> Sie haben das Advanced-Menü aktiviert. -Dieses Menü enthält nützliche Funktionen zum Debuggen von Second Life. +Dieses Menü enthält nützliche Funktionen zum Debuggen von [SECOND_LIFE]. Drücken Sie in Windows Strg-Alt-D (Mac: Befehl-Opt-Umschalt-D) zum Ein- und Ausschalten dieses Menüs. </notification> <notification name="FirstSculptedPrim"> @@ -2992,7 +2991,7 @@ Klicken Sie auf „Akzeptieren“, um dem Chat beizutreten, oder auf „Ablehnen - Ihre CPU-Geschwindigkeit entspricht nicht den Mindestanforderungen. </global> <global name="UnsupportedGLRequirements"> - Ihr Computer entspricht nicht den Hardwareanforderungen von Second Life. Second Life setzt eine OpenGL-Grafikkarte mit Multitextur-Unterstützung voraus. Falls Ihre Grafikkarte diese Funktion unterstützt, installieren Sie die neuesten Treiber sowie die aktuellen Service Packs und Patches für Ihr Betriebssystem. + Ihr Computer entspricht nicht den Hardwareanforderungen von [APP_NAME]. [APP_NAME] setzt eine OpenGL-Grafikkarte mit Multitextur-Unterstützung voraus. Falls Ihre Grafikkarte diese Funktion unterstützt, installieren Sie die neuesten Treiber sowie die aktuellen Service Packs und Patches für Ihr Betriebssystem. Sollte das Problem fortbestehen, finden Sie weitere Hilfestellung unter: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/de/panel_status_bar.xml b/indra/newview/skins/default/xui/de/panel_status_bar.xml index adfe38797d..bfc77876d6 100644 --- a/indra/newview/skins/default/xui/de/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/de/panel_status_bar.xml @@ -37,6 +37,6 @@ <text name="bandwidth_tooltip"> Bandbreite </text> - <line_editor label="Suchen" name="search_editor" tool_tip="Second Life durchsuchen"/> - <button name="search_btn" tool_tip="Second Life durchsuchen"/> + <line_editor label="Suchen" name="search_editor" tool_tip="[SECOND_LIFE] durchsuchen"/> + <button name="search_btn" tool_tip="[SECOND_LIFE] durchsuchen"/> </panel> diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml index 01d8054e9a..e2f81168fa 100644 --- a/indra/newview/skins/default/xui/en/favorites_bar_button.xml +++ b/indra/newview/skins/default/xui/en/favorites_bar_button.xml @@ -7,10 +7,9 @@ height="23" image_disabled="transparent.j2c" image_disabled_selected="PushButton_Selected" - image_hover_selected="PushButton_Selected" - image_hover_unselected="PushButton_Off" image_selected="PushButton_Selected" - image_unselected="transparent.j2c" + image_unselected="PushButton_Off" + hover_glow_amount="0.15" layout="topleft" left="2" name="favorites_bar_btn" diff --git a/indra/newview/skins/default/xui/en/floater_color_picker.xml b/indra/newview/skins/default/xui/en/floater_color_picker.xml index 08e47f7ef6..cda2020fca 100644 --- a/indra/newview/skins/default/xui/en/floater_color_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_color_picker.xml @@ -166,40 +166,37 @@ <check_box follows="left|bottom" height="20" - label="Apply Immediately" + label="Apply Now" layout="topleft" left="12" name="apply_immediate" - top="353" + top_pad="185" width="100" /> <button follows="left|top" height="32" layout="topleft" - left_delta="130" + left_pad="30" name="color_pipette" picture_style="true" - top="341" width="32" /> <button follows="right|bottom" height="20" - label="Cancel" - label_selected="Cancel" + label="Ok" + label_selected="Select" layout="topleft" - left_delta="75" - name="cancel_btn" - top="353" + left_pad="50" + name="select_btn" width="100" /> <button follows="right|bottom" height="20" - label="Select" - label_selected="Select" + label="Cancel" + label_selected="Cancel" layout="topleft" - left_pad="4" - name="select_btn" - top_delta="0" + left_pad="5" + name="cancel_btn" width="100" /> <text type="string" @@ -219,10 +216,10 @@ follows="left|top" height="16" layout="topleft" - left_delta="0" + left="12" name="(Drag below to save.)" top_pad="66" - width="110"> - (Drag below to save.) + width="130"> + (Drag below to save) </text> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_god_tools.xml b/indra/newview/skins/default/xui/en/floater_god_tools.xml index e421b1bb5d..e3bea2e2d6 100644 --- a/indra/newview/skins/default/xui/en/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_god_tools.xml @@ -33,8 +33,8 @@ layout="topleft" left="10" name="Kick all users" - top="8" - width="100"> + top="30" + width="120"> <button.commit_callback function="GridTools.KickAll" /> </button> @@ -44,10 +44,10 @@ label="Flush This Region's Map Visibility Caches" label_selected="Flush This Region's Map Visibility Caches" layout="topleft" - left_delta="0" + left="10" name="Flush This Region's Map Visibility Caches" - top_pad="8" - width="250"> + top_pad="30" + width="350"> <button.commit_callback function="GridTools.FlushMapVisibilityCaches" /> </button> @@ -71,21 +71,21 @@ layout="topleft" left="10" name="Sim Name:" - top="10" - width="50"> + top="12" + width="80"> Sim Name: </text> <line_editor border_style="line" border_thickness="1" follows="left|top|right" - height="16" + height="20" layout="topleft" - left_pad="10" + left_pad="0" max_length="63" name="region name" top_delta="0" - width="208"> + width="250"> <line_editor.commit_callback function="RegionTools.ChangeAnything" /> </line_editor> @@ -96,7 +96,7 @@ left="10" name="check prelude" tool_tip="Set this to make the region a prelude." - top="30" + top_pad="10" width="180"> <check_box.commit_callback function="RegionTools.ChangePrelude" /> @@ -188,11 +188,11 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Bake Terrain" label_selected="Bake Terrain" layout="topleft" - left_delta="-2" + left="12" name="Bake Terrain" tool_tip="Save the current terrain as default." top_pad="32" @@ -203,14 +203,13 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Revert Terrain" label_selected="Revert Terrain" layout="topleft" - left_delta="0" name="Revert Terrain" tool_tip="Replace the current terrain with default." - top_pad="4" + top_pad="10" width="110"> <button.commit_callback function="RegionTools.RevertTerrain" /> @@ -218,14 +217,13 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Swap Terrain" label_selected="Swap Terrain" layout="topleft" - left_delta="0" name="Swap Terrain" tool_tip="Swap current terrain with default." - top_pad="4" + top_pad="10" width="110"> <button.commit_callback function="RegionTools.SwapTerrain" /> @@ -239,7 +237,7 @@ layout="topleft" left="200" name="estate id" - top="30" + top="40" width="190"> Estate ID: </text> @@ -263,7 +261,7 @@ layout="topleft" left="200" name="parent id" - top="50" + top_pad="4" width="190"> Parent ID: </text> @@ -290,7 +288,7 @@ layout="topleft" left="200" name="Grid Pos: " - top="70" + top_pad="4" width="190"> Grid Pos: </text> @@ -332,8 +330,8 @@ layout="topleft" left="200" name="Redirect to Grid: " - top="90" - width="190"> + top_pad="4" + width="88"> Redirect to Grid: </text> <line_editor @@ -342,10 +340,9 @@ follows="top|right" height="16" layout="topleft" - left_delta="88" + left_pad="0" max_length="10" name="redirectx" - top_delta="0" width="50"> <line_editor.commit_callback function="RegionTools.ChangeAnything" /> @@ -364,15 +361,27 @@ <line_editor.commit_callback function="RegionTools.ChangeAnything" /> </line_editor> - <spinner + <text + type="string" + length="1" + follows="left|top" + font="SansSerif" + height="16" + layout="topleft" + left="200" + name="billable factor text" + top_pad="10" + width="110"> + Billable Factor: + </text> + <spinner follows="top|right" height="16" initial_value="1" layout="topleft" - left="308" max_val="4" name="billable factor" - top="110" + left_pad="0" width="80"> <spinner.commit_callback function="RegionTools.ChangeAnything" /> @@ -384,11 +393,11 @@ font="SansSerif" height="16" layout="topleft" - left_delta="-108" - name="billable factor text" - top_delta="0" + left="200" + name="land cost text" + top_pad="10" width="110"> - Billable Factor: + L$ per m²: </text> <spinner follows="top|right" @@ -396,38 +405,25 @@ increment="1" initial_value="1" layout="topleft" - left="308" + left_pad="0" max_val="100" name="land cost" - top="130" width="80"> <spinner.commit_callback function="RegionTools.ChangeAnything" /> </spinner> - <text - type="string" - length="1" - follows="left|top" - font="SansSerif" - height="16" - layout="topleft" - left_delta="-108" - name="land cost text" - top_delta="0" - width="110"> - L$ per m²: - </text> + <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Refresh" label_selected="Refresh" layout="topleft" left="278" name="Refresh" tool_tip="Click here to refresh the above information." - top="150" + top_pad="10" width="110"> <button.commit_callback function="RegionTools.Refresh" /> @@ -435,14 +431,14 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Apply" label_selected="Apply" layout="topleft" - left_delta="0" + left="278" name="Apply" tool_tip="Click here to apply any changes from above." - top_pad="36" + top="317" width="110"> <button.commit_callback function="RegionTools.ApplyChanges" /> @@ -450,11 +446,11 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Select Region" label_selected="Select Region" layout="topleft" - left="128" + left="130" name="Select Region" tool_tip="Select the whole region with the land tool." top="238" @@ -465,14 +461,14 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Autosave now" label_selected="Autosave now" layout="topleft" left_delta="0" name="Autosave now" tool_tip="Save gzipped state to autosave directory." - top_pad="4" + top_pad="10" width="110"> <button.commit_callback function="RegionTools.SaveState" /> @@ -502,7 +498,7 @@ left="10" name="Sim Name:" top="10" - width="50"> + width="80"> Sim Name: </text> <text @@ -556,7 +552,7 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Apply" label_selected="Apply" layout="topleft" @@ -567,11 +563,11 @@ width="110"> <button.commit_callback function="ObjectTools.ApplyChanges" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Set Target" label_selected="Set Target" layout="topleft" @@ -582,7 +578,7 @@ width="110"> <button.commit_callback function="ObjectTools.Set" /> - </button> + </button> <text type="string" length="1" @@ -598,7 +594,7 @@ <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Delete Target's Scripted Objects On Others Land" label_selected="Delete Target's Scripted Objects On Others Land" layout="topleft" @@ -609,11 +605,11 @@ width="380"> <button.commit_callback function="ObjectTools.DeletePublicOwnedBy" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Delete Target's Scripted Objects On *Any* Land" label_selected="Delete Target's Scripted Objects On *Any* Land" layout="topleft" @@ -624,11 +620,11 @@ width="380"> <button.commit_callback function="ObjectTools.DeleteAllScriptedOwnedBy" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" - height="20" + height="22" label="Delete *ALL* Of Target's Objects" label_selected="Delete *ALL* Of Target's Objects" layout="topleft" @@ -639,7 +635,7 @@ width="380"> <button.commit_callback function="ObjectTools.DeleteAllOwnedBy" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" @@ -647,14 +643,14 @@ label="Get Top Colliders" label_selected="Get Top Colliders" layout="topleft" - left_delta="0" + left="12" name="Get Top Colliders" tool_tip="Gets list of objects experiencing the most narrowphase callbacks." - top_pad="28" - width="110"> + top_pad="20" + width="130"> <button.commit_callback function="ObjectTools.GetTopColliders" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" @@ -665,11 +661,11 @@ left_delta="0" name="Get Top Scripts" tool_tip="Gets list of objects spending the most time running scripts." - top_pad="4" - width="110"> + top_pad="5" + width="130"> <button.commit_callback function="ObjectTools.GetTopScripts" /> - </button> + </button> <button follows="top|right" font="SansSerifSmall" @@ -680,11 +676,11 @@ left_delta="0" name="Scripts digest" tool_tip="Gets a list of all scripts and number of occurences of each." - top_pad="4" - width="110" > + top_pad="5" + width="130" > <button.commit_callback function="ObjectTools.GetScriptDigest" /> - </button> + </button> </panel> <panel border="true" @@ -700,16 +696,16 @@ type="string" length="1" follows="left|top" - height="10" + height="22" layout="topleft" left="10" name="Destination:" - top="4" + top="12" width="80"> Destination: </text> <combo_box - height="16" + height="22" layout="topleft" left_pad="10" name="destination" @@ -728,17 +724,17 @@ type="string" length="1" follows="left|top" - height="10" + height="22" layout="topleft" left="10" name="Request:" - top="28" + top_pad="10" width="80"> Request: </text> <combo_box allow_text_entry="true" - height="16" + height="22" layout="topleft" left_pad="10" name="request" @@ -769,7 +765,7 @@ layout="topleft" left="10" name="Parameter:" - top="52" + top_pad="10" width="80"> Parameter: </text> @@ -777,7 +773,7 @@ border_style="line" border_thickness="1" follows="left|top" - height="16" + height="22" layout="topleft" left_pad="10" max_length="63" @@ -792,8 +788,8 @@ layout="topleft" left="10" name="Make Request" - top="96" - width="100"> + top_pad="10" + width="140"> <button.commit_callback function="GodTools.Request" /> </button> diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml index 19fba52500..b7733c6388 100644 --- a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml @@ -13,7 +13,7 @@ layout="topleft" left="10" name="Filtering:" - top="30" + top="20" width="128"> Filtering: </text> @@ -34,20 +34,20 @@ layout="topleft" left="10" name="Antialiasing:" - top="49" + top_pad="7" width="128"> Antialiasing: </text> <combo_box control_name="RenderFSAASamples" - height="16" + height="22" initial_value="false" label="Antialiasing" layout="topleft" left_pad="10" name="fsaa" top_delta="0" - width="64"> + width="130"> <combo_box.item label="Disabled" name="FSAADisabled" @@ -82,7 +82,7 @@ left="10" max_val="2" name="gamma" - top="70" + top_pad="7" width="202" /> <text type="string" @@ -94,17 +94,17 @@ name="(brightness, lower is brighter)" top_delta="2" width="315"> - (brightness, lower is brighter, 0=use default) + (brightness, lower = brighter, 0 = default) </text> <text type="string" length="1" follows="left|top" - height="12" + height="16" layout="topleft" left="10" name="Enable VBO:" - top="92" + top_pad="10" width="128"> Enable VBO: </text> @@ -117,13 +117,12 @@ left_pad="10" name="vbo" tool_tip="Enabling this on modern hardware gives a performance gain. However, older hardware often has poor implementations of VBOs and you may get crashes when this is enabled." - top_delta="1" width="315" /> <slider control_name="TextureMemory" decimal_digits="0" follows="left|top" - height="16" + height="20" increment="16" initial_value="32" label="Texture Memory (MB):" @@ -133,13 +132,13 @@ max_val="4096" name="GrapicsCardTextureMemory" tool_tip="Amount of memory to allocate for textures. Defaults to Video Card Memory. Reducing this may improve performance but may also make textures blurry." - top="114" + top_pad="10" width="300" /> <spinner control_name="RenderFogRatio" decimal_digits="1" follows="left|top" - height="16" + height="22" initial_value="4" label="Fog Distance Ratio:" label_width="138" @@ -148,16 +147,16 @@ max_val="10" min_val="0.5" name="fog" - top_pad="8" + top_pad="7" width="202" /> <button follows="right|bottom" - height="20" + height="22" label="OK" label_selected="OK" layout="topleft" - left="-110" + left="-102" name="OK" - top="194" + top="192" width="90" /> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index a102d64587..ae9e658688 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -1,66 +1,66 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater
- background_visible="true"
- follows="left|top|right|bottom"
- height="250"
- layout="topleft"
- left="0"
- name="panel_im"
- top="0"
- can_dock="true"
- can_minimize="false"
- visible="true"
- width="315">
- <layout_stack follows="left|top|right|bottom"
- height="235"
- width="315"
- layout="topleft"
- orientation="horizontal"
- name="im_panels"
- top="16"
- left="2">
- <layout_panel
- name="panel_im_control_panel"
- layout="topleft"
- top_delta="-3"
- min_width="96"
- width="96"
- height="225"
- label="IM Control Panel"
- user_resize="false" />
- <layout_panel height="235"
- width="200"
- left_delta="96"
- top="0"
- user_resize="false">
- <button height="12"
- top="8"
- label="<<"
- layout="topleft"
- width="35"
- name="slide_left_btn" />
- <button height="12"
- top="8"
- label=">>"
- layout="topleft"
- width="35"
- name="slide_right_btn" />
- <text_editor
- enabled="false"
- type="string"
- length="1"
- follows="left|top|right"
- font="SansSerif"
- height="185"
- layout="topleft"
- max_length="2147483647"
- name="im_text"
- track_bottom="true"
- width="195"
- word_wrap="true">
- </text_editor>
- <line_editor name="chat_editor" height="20" layout="topleft" width="190">
- </line_editor>
- </layout_panel>
- </layout_stack>
-</floater>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + background_visible="true" + follows="left|top|right|bottom" + height="250" + layout="topleft" + left="0" + name="panel_im" + top="0" + can_dock="true" + can_minimize="false" + visible="true" + width="315"> + <layout_stack follows="left|top|right|bottom" + height="235" + width="315" + layout="topleft" + orientation="horizontal" + name="im_panels" + top="16" + left="2"> + <layout_panel + name="panel_im_control_panel" + layout="topleft" + top_delta="-3" + min_width="96" + width="96" + height="225" + label="IM Control Panel" + user_resize="false" /> + <layout_panel height="235" + width="200" + left_delta="96" + top="0" + user_resize="false"> + <button height="12" + top="8" + label="<<" + layout="topleft" + width="35" + name="slide_left_btn" /> + <button height="12" + top="8" + label=">>" + layout="topleft" + width="35" + name="slide_right_btn" /> + <text_editor + enabled="false" + type="string" + length="1" + follows="left|top|right" + font="SansSerif" + height="185" + layout="topleft" + max_length="2147483647" + name="im_text" + track_bottom="true" + width="195" + word_wrap="true"> + </text_editor> + <line_editor name="chat_editor" height="20" layout="topleft" width="190"> + </line_editor> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 2fd561f991..90711e3acc 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater auto_tile="true" - height="600" + height="700" layout="topleft" name="gesture_preview" width="280"> @@ -45,7 +45,7 @@ height="10" layout="topleft" left="10" - name="desc_label" + name="Name" top="25" width="100"> Name (not working yet): @@ -79,132 +79,75 @@ name="desc" top_delta="-4" width="180" /> - <!--ACCORDION GOES HERE --> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifSmall" - height="10" - layout="topleft" - left="10" - name="trigger_label" - top_pad="10" - width="100"> - Chat: - </text> - <line_editor - follows="left|top" - height="20" - layout="topleft" - left_pad="5" - max_length="31" - name="trigger_editor" - top_delta="-4" - width="135" /> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifSmall" - height="10" - layout="topleft" - left="10" - name="key_label" - top_pad="10" - width="100"> - Keyboard: - </text> - <combo_box - height="20" - label="None" - layout="topleft" - left_pad="5" - name="modifier_combo" - top_delta="-4" - width="50" /> - <combo_box - height="20" - label="None" - layout="topleft" - left_pad="5" - name="key_combo" - top_delta="0" - width="45" /> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifSmall" - height="10" - layout="topleft" - left="10" - name="replace_text" - tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture!" - top_pad="10" - width="100"> - Replace: - </text> - <line_editor - follows="left|top" - height="20" - layout="topleft" - left_pad="5" - max_length="31" - name="replace_editor" - tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture" - top_delta="-4" - width="135" /> - - <!--ACCORDION GOES HERE --> - <scroll_list - follows="top|left" - height="110" - layout="topleft" - left="10" - name="step_list" - top_pad="10" - width="260" /> - <button - follows="top|left" - height="20" - font="SansSerifSmall" - label="Add" - layout="topleft" - left_pad="-100" - name="add_btn" - top_pad="5" - width="100" /> - - <scroll_list + <accordion + layout="topleft" + left="2" + width="276" + top="95" + height="580" + follows="all" + name="group_accordion"> + <accordion_tab + min_height="75" + title="Shortcuts" + name="snapshot_destination_tab" + an_resize="false"> + <panel + class="floater_snapshot_destination" + filename="floater_preview_gesture_shortcut.xml" + name="snapshot_destination_tab"/> + </accordion_tab> + <accordion_tab + min_height="400" + title="Steps" + name="snapshot_file_settings_tab" + can_resize="false"> + <panel + class="floater_snapshot_file_settings" + filename="floater_preview_gesture_steps.xml" + name="snapshot_file_settings_tab"/> + </accordion_tab> + <accordion_tab + min_height="100" + title="Info" + name="snapshot_capture_tab" + can_resize="false"> + <panel + class="floater_snapshot_capture" + filename="floater_snapshot_Info.xml" + name="snapshot_capture_tab"/> + </accordion_tab> + <accordion_tab + min_height="100" + title="Permissions" + name="snapshot_capture_tab" + can_resize="false"> + <panel + class="floater_snapshot_capture" + filename="floater_snapshot_Permissions.xml" + name="snapshot_capture_tab"/> + </accordion_tab> + </accordion> + <!--check_box follows="top|left" - height="110" + height="20" + label="Active" layout="topleft" - left="10" - name="library_list" - top_pad="10" - width="260"> - <scroll_list.rows - value="Animation" /> - <scroll_list.rows - value="Sound" /> - <scroll_list.rows - value="Chat" /> - <scroll_list.rows - value="Wait" /> - </scroll_list> - - + left="20" + name="active_check" + tool_tip="Active gestures can be triggered by chatting their trigger phrases or pressing their hot keys. Gestures usually become inactive when there is a key binding conflict." + top="365" + width="100" /--> <button - follows="top|left" + follows="bottom|left" height="20" label="Preview" layout="topleft" left="20" name="preview_btn" - top_pad="50" + top_pad="-80" width="80" /> <button follows="top|left" @@ -225,183 +168,4 @@ top_delta="0" width="80" /> - - - <text - type="string" - length="1" - follows="top|left" - font="SansSerifSmall" - height="60" - layout="topleft" - left="10" - name="help_label" - top_pad="10" - width="200"> - All steps happen simultaneously, -unless you add wait steps. - </text> - <text - follows="top|left" - height="60" - layout="topleft" - left="10" - name="options_text" - top_pad="10" - width="205" /> - <combo_box - follows="top|left" - height="20" - layout="topleft" - left_delta="10" - name="animation_list" - top_pad="10" - width="100" /> - <combo_box - follows="top|left" - height="20" - layout="topleft" - left_delta="0" - name="sound_list" - top_delta="0" - width="100" /> - <line_editor - follows="top|left" - height="20" - layout="topleft" - left_delta="0" - max_length="127" - name="chat_editor" - top_delta="0" - width="100" /> - <radio_group - draw_border="false" - follows="top|left" - height="40" - layout="topleft" - left_pad="8" - name="animation_trigger_type" - top="445" - width="80"> - <radio_item - height="16" - label="Start" - layout="topleft" - left="3" - name="start" - top="-11" - width="80" /> - <radio_item - height="16" - label="Stop" - layout="topleft" - left_delta="0" - name="stop" - top_pad="10" - width="80" /> - </radio_group> - <check_box - follows="top|left" - height="20" - label="until animations are done" - layout="topleft" - left="16" - name="wait_anim_check" - top="430" - width="100" /> - <check_box - follows="top|left" - height="20" - label="time in seconds" - layout="topleft" - left_delta="0" - name="wait_time_check" - top_delta="20" - width="100" /> - <line_editor - follows="top|left" - height="20" - layout="topleft" - left_pad="5" - max_length="15" - name="wait_time_editor" - top_delta="0" - width="50" /> - - - - <!--accordion - layout="topleft" - left="2" - width="280" - top_pad="10" - height="600" - follows="all" - name="preview_gesture_shortcuts"> - <accordion_tab - min_height="515" - title="Shortcuts" - name="preview_gesture_shortcuts"> - <panel - class="preview_gesture_shortcuts" - filename="floater_preview_gesture_shortcuts" - name="preview_gesture_shortcuts" /> - </accordion_tab> - <accordion_tab - min_height="380" - title="Group Roles" - name="group_roles_tab" - can_resize="false"> - <panel - class="panel_group_roles" - filename="panel_group_roles.xml" - name="group_roles_tab_panel"/> - </accordion_tab> - <accordion_tab - min_height="530" - title="Group Notices" - name="group_notices_tab" - can_resize="false"> - <panel - class="panel_group_notices" - filename="panel_group_notices.xml" - name="group_notices_tab_panel"/> - </accordion_tab> - <accordion_tab - min_height="270" - title="Group Land Money" - name="group_land_tab" - can_resize="false"> - <panel - class="panel_group_land_money" - filename="panel_group_land_money.xml" - name="group_land_tab_panel"/> - </accordion_tab> - </accordion--> - - - - <!--text - type="string" - length="1" - follows="top|left" - font="SansSerifSmall" - height="10" - layout="topleft" - left="10" - name="library_label" - top_pad="10" - width="100"> - Library: - </text> - <check_box - follows="top|left" - height="20" - label="Active" - layout="topleft" - left="20" - name="active_check" - tool_tip="Active gestures can be triggered by chatting their trigger phrases or pressing their hot keys. Gestures usually become inactive when there is a key binding conflict." - top="365" - width="100" /--> </floater>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml new file mode 100644 index 0000000000..b4a7e8fefd --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_info.xml @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_minimize="false" + follows="left|top" + height="155" + layout="topleft" + name="Gesture" + save_rect="true" + title="Gesture Shortcut" + width="260"> + <scroll_list + follows="top|left" + height="110" + layout="topleft" + left="10" + name="step_list" + top_pad="10" + width="260" /> + <button + follows="top|left" + height="20" + font="SansSerifSmall" + label="Add" + layout="topleft" + left_pad="-100" + name="add_btn" + top_pad="5" + width="100" /> + <scroll_list + follows="top|left" + height="110" + layout="topleft" + left="10" + name="library_list" + top_pad="10" + width="260"> + <scroll_list.rows + value="Animation" /> + <scroll_list.rows + value="Sound" /> + <scroll_list.rows + value="Chat" /> + <scroll_list.rows + value="Wait" /> + </scroll_list> + <button + follows="top|left" + height="20" + label="Preview" + layout="topleft" + left="20" + name="preview_btn" + top_pad="50" + width="80" /> + <button + follows="top|left" + height="20" + label="Save" + layout="topleft" + left_pad="5" + name="save_btn" + top_delta="0" + width="80" /> + <button + follows="top|left" + height="20" + label="Cancel (not working)" + layout="topleft" + left_pad="5" + name="save_btn" + top_delta="0" + width="80" /> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifSmall" + height="60" + layout="topleft" + left="10" + name="help_label" + top_pad="10" + width="200"> + All steps happen simultaneously, +unless you add wait steps. + </text> + <text + follows="top|left" + height="60" + layout="topleft" + left="10" + name="options_text" + top_pad="10" + width="205" /> + <combo_box + follows="top|left" + height="20" + layout="topleft" + left_delta="10" + name="animation_list" + top_pad="10" + width="100" /> + <combo_box + follows="top|left" + height="20" + layout="topleft" + left_delta="0" + name="sound_list" + top_delta="0" + width="100" /> + <line_editor + follows="top|left" + height="20" + layout="topleft" + left_delta="0" + max_length="127" + name="chat_editor" + top_delta="0" + width="100" /> + <radio_group + draw_border="false" + follows="top|left" + height="40" + layout="topleft" + left_pad="8" + name="animation_trigger_type" + top="445" + width="80"> + <radio_item + height="16" + label="Start" + layout="topleft" + left="3" + name="start" + top="-11" + width="80" /> + <radio_item + height="16" + label="Stop" + layout="topleft" + left_delta="0" + name="stop" + top_pad="10" + width="80" /> + </radio_group> + <check_box + follows="top|left" + height="20" + label="until animations are done" + layout="topleft" + left="16" + name="wait_anim_check" + top="430" + width="100" /> + <check_box + follows="top|left" + height="20" + label="time in seconds" + layout="topleft" + left_delta="0" + name="wait_time_check" + top_delta="20" + width="100" /> + <line_editor + follows="top|left" + height="20" + layout="topleft" + left_pad="5" + max_length="15" + name="wait_time_editor" + top_delta="0" + width="50" /> +</floater>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml new file mode 100644 index 0000000000..75fb24d640 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_shortcut.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_minimize="false" + follows="left|top" + height="80" + layout="topleft" + name="Gesture" + save_rect="true" + title="Gesture Shortcut" + width="260"> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifSmall" + height="10" + layout="topleft" + left="10" + name="trigger_label" + top_pad="10" + width="100"> + Chat: + </text> + <line_editor + follows="left|top" + height="20" + layout="topleft" + left_pad="5" + max_length="31" + name="trigger_editor" + top_delta="-4" + width="135" /> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifSmall" + height="10" + layout="topleft" + left="10" + name="key_label" + top_pad="10" + width="100"> + Keyboard: + </text> + <combo_box + height="20" + label="None" + layout="topleft" + left_pad="5" + name="modifier_combo" + top_delta="-4" + width="50" /> + <combo_box + height="20" + label="None" + layout="topleft" + left_pad="5" + name="key_combo" + top_delta="0" + width="45" /> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifSmall" + height="10" + layout="topleft" + left="10" + name="replace_text" + tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture!" + top_pad="10" + width="100"> + Replace: + </text> + <line_editor + follows="left|top" + height="20" + layout="topleft" + left_pad="5" + max_length="31" + name="replace_editor" + tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture" + top_delta="-4" + width="135" /> +</floater>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml new file mode 100644 index 0000000000..f0e88b9dd4 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture_steps.xml @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_minimize="false" + follows="left|top" + height="155" + layout="topleft" + name="Gesture" + save_rect="true" + title="Gesture Shortcut" + width="260"> + <scroll_list + follows="top|left" + height="110" + layout="topleft" + left="10" + name="step_list" + top_pad="10" + width="260" /> + <button + follows="top|left" + height="20" + font="SansSerifSmall" + label="Add" + layout="topleft" + left_pad="-100" + name="add_btn" + top_pad="5" + width="100" /> + + <!--For pop out floater--> + <!--scroll_list + follows="top|left" + height="110" + layout="topleft" + left="10" + name="library_list" + top_pad="10" + width="260"> + <scroll_list.rows + value="Animation" /> + <scroll_list.rows + value="Sound" /> + <scroll_list.rows + value="Chat" /> + <scroll_list.rows + value="Wait" /> + </scroll_list> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifSmall" + height="60" + layout="topleft" + left="10" + name="help_label" + top_pad="10" + width="200"> + All steps happen simultaneously, +unless you add wait steps. + </text> + <text + follows="top|left" + height="60" + layout="topleft" + left="10" + name="options_text" + top_pad="10" + width="205" /> + <combo_box + follows="top|left" + height="20" + layout="topleft" + left_delta="10" + name="animation_list" + top_pad="10" + width="100" /> + <combo_box + follows="top|left" + height="20" + layout="topleft" + left_delta="0" + name="sound_list" + top_delta="0" + width="100" /> + <line_editor + follows="top|left" + height="20" + layout="topleft" + left_delta="0" + max_length="127" + name="chat_editor" + top_delta="0" + width="100" /> + <radio_group + draw_border="false" + follows="top|left" + height="40" + layout="topleft" + left_pad="8" + name="animation_trigger_type" + top="445" + width="80"> + <radio_item + height="16" + label="Start" + layout="topleft" + left="3" + name="start" + top="-11" + width="80" /> + <radio_item + height="16" + label="Stop" + layout="topleft" + left_delta="0" + name="stop" + top_pad="10" + width="80" /> + </radio_group> + <check_box + follows="top|left" + height="20" + label="until animations are done" + layout="topleft" + left="16" + name="wait_anim_check" + top="430" + width="100" /> + <check_box + follows="top|left" + height="20" + label="time in seconds" + layout="topleft" + left_delta="0" + name="wait_time_check" + top_delta="20" + width="100" /> + <line_editor + follows="top|left" + height="20" + layout="topleft" + left_pad="5" + max_length="15" + name="wait_time_editor" + top_delta="0" + width="50" /--> +</floater>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml index 4595c9eeda..a767b40b03 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml @@ -17,7 +17,7 @@ </floater.string> <floater.string name="not_allowed"> - You are not allowed to view this note. + You do not have permission to view this note. </floater.string> <floater.string name="Title"> @@ -32,10 +32,10 @@ height="16" image_name="icon_lock.tga" layout="topleft" - left="344" + left="340" mouse_opaque="true" name="lock" - top="3" + top="1" width="16" /> <text type="string" @@ -44,10 +44,10 @@ font="SansSerif" height="19" layout="topleft" - left="13" + left="10" name="desc txt" - top="19" - width="80"> + top="22" + width="90"> Description: </text> <line_editor @@ -55,13 +55,12 @@ border_thickness="1" follows="left|top|right" font="SansSerif" - height="19" + height="22" layout="topleft" - left_delta="80" + left_pad="0" max_length="127" name="desc" - top_delta="0" - width="294" /> + width="296" /> <text_editor type="string" length="1" @@ -74,7 +73,7 @@ left="4" max_length="65536" name="Notecard Editor" - handle_edit_keys_directly="true" + handle_edit_keys_directly="true" tab_group="1" top="46" width="392" @@ -83,11 +82,11 @@ </text_editor> <button follows="left|bottom" - height="20" + height="22" label="Save" label_selected="Discard" layout="topleft" - left="9" + left="288" name="Save" top="332" width="100" /> diff --git a/indra/newview/skins/default/xui/en/floater_preview_sound.xml b/indra/newview/skins/default/xui/en/floater_preview_sound.xml index 19f21090ca..e341dd7b97 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_sound.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_sound.xml @@ -9,18 +9,6 @@ name="Title"> Sound: [NAME] </floater.string> - <line_editor - border_style="line" - border_thickness="1" - follows="left|top|right" - font="SansSerif" - height="19" - layout="topleft" - left="85" - max_length="127" - name="desc" - top="19" - width="127" /> <text type="string" length="1" @@ -29,34 +17,45 @@ height="19" layout="topleft" left="10" + top="22" name="desc txt" - top_delta="0" - width="80"> + width="90"> Description: </text> - <button - follows="left|top" + <line_editor + border_style="line" + border_thickness="1" + follows="left|top|right" + font="SansSerif" height="19" - font="SansSerifSmall" - label="Play Locally" - label_selected="Play Locally" layout="topleft" - left="145" - name="Sound audition btn" - sound_flags="0" - tool_tip="Play this sound so that only you can hear it." - top="51" - width="120" /> + left_pad="0" + max_length="127" + name="desc" + width="170" /> <button follows="left|top" - height="19" + height="22" label="Play in World" label_selected="Play in World" layout="topleft" - left_delta="-126" name="Sound play btn" sound_flags="0" + top="55" + left="10" tool_tip="Play this sound so that others can hear it." - top_delta="0" - width="120" /> + width="125" /> + <button + follows="left|top" + height="22" + font="SansSerifSmall" + label="Play Locally" + label_selected="Play Locally" + layout="topleft" + name="Sound audition btn" + sound_flags="0" + tool_tip="Play this sound so that only you can hear it." + left_pad="10" + width="125" /> + </floater> diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml index 661dc63b3d..7bac6fdb32 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml @@ -24,10 +24,10 @@ font="SansSerif" height="19" layout="topleft" - left="13" + left="10" name="desc txt" top="21" - width="80"> + width="90"> Description: </text> <line_editor @@ -37,26 +37,23 @@ font="SansSerif" height="19" layout="topleft" - left_delta="80" + left_pad="0" max_length="127" name="desc" - top_delta="-2" - width="194" /> + width="190" /> <button follows="left|bottom" - height="20" - label="Discard" - label_selected="Discard" + height="22" + label="Delete" layout="topleft" - left="9" + left="80" name="Discard" top="302" width="100" /> <button follows="left|bottom" - height="20" - label="Keep" - label_selected="Keep" + height="22" + label="Save" layout="topleft" left_pad="5" name="Keep" @@ -66,12 +63,12 @@ type="string" length="1" follows="left|bottom" - height="14" + height="16" layout="topleft" left="13" name="dimensions" top="287" - width="163"> - Dimensions: [WIDTH] x [HEIGHT] + width="303"> + [WIDTH]px x [HEIGHT]px </text> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_settings_debug.xml b/indra/newview/skins/default/xui/en/floater_settings_debug.xml index 3c046fa5d7..4d4dc084bf 100644 --- a/indra/newview/skins/default/xui/en/floater_settings_debug.xml +++ b/indra/newview/skins/default/xui/en/floater_settings_debug.xml @@ -9,13 +9,13 @@ <combo_box allow_text_entry="true" follows="top|left" - height="20" + height="22" layout="topleft" left="15" max_chars="255" name="settings_combo" top="30" - width="200"> + width="320"> <combo_box.commit_callback function="SettingSelect" /> </combo_box> @@ -26,7 +26,7 @@ layout="topleft" left_delta="0" name="comment_text" - top_pad="15" + top_pad="10" width="320" word_wrap="true" /> <combo_box @@ -64,7 +64,7 @@ bottom="185" can_apply_immediately="true" height="55" - name="val_color_swatch" + name="val_color_swatch" label="Color" layout="topleft" width="37" > @@ -124,12 +124,12 @@ function="CommitSettings" /> </spinner> <button - height="20" + height="22" label="Reset to default" layout="topleft" left="15" name="default_btn" - top="190" + top="186" width="150" > <button.commit_callback function="ClickDefault" /> diff --git a/indra/newview/skins/default/xui/en/floater_sound_preview.xml b/indra/newview/skins/default/xui/en/floater_sound_preview.xml index 8aff16b465..78540c0b98 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_preview.xml @@ -27,7 +27,7 @@ left_delta="0" max_length="63" name="name_form" - top_pad="4" + top_pad="0" width="280" /> <text type="string" @@ -38,7 +38,7 @@ left_delta="0" mouse_opaque="false" name="description_label" - top_pad="4" + top_pad="10" width="270"> Description: </text> @@ -51,25 +51,24 @@ left_delta="0" max_length="127" name="description_form" - top_pad="4" + top_pad="0" width="280" /> <button + follows="left|bottom" + height="22" + label="Upload (L$[AMOUNT])" + layout="topleft" + left="45" + name="ok_btn" + top_pad="60" + width="150" /> + <button follows="right|bottom" - height="20" + height="22" label="Cancel" label_selected="Cancel" layout="topleft" - left="200" name="cancel_btn" - top="160" + left_pad="5" width="90" /> - <button - follows="left|bottom" - height="20" - label="Upload (L$[AMOUNT])" - layout="topleft" - left_delta="-135" - name="ok_btn" - top_delta="0" - width="130" /> </floater> diff --git a/indra/newview/skins/default/xui/en/floater_test_list_view.xml b/indra/newview/skins/default/xui/en/floater_test_list_view.xml index 3991a4a82b..b637699228 100644 --- a/indra/newview/skins/default/xui/en/floater_test_list_view.xml +++ b/indra/newview/skins/default/xui/en/floater_test_list_view.xml @@ -1,31 +1,31 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater
- can_resize="true"
- height="400"
- layout="topleft"
- name="floater_test_list_view"
- width="400">
- <list_view
- height="300"
- left="10"
- name="test_list_view"
- top="28"
- width="300" />
- <button
- name="test_1_btn"
- label="Test 1"
- top="350"
- left="10"
- height="20"
- width="80"
- commit_callback.function="TestListView.Test1" />
- <button
- name="test_2_btn"
- label="Test 2"
- top_delta="0"
- left_pad="10"
- height="20"
- width="80"
- commit_callback.function="TestListView.Test2" />
-
-</floater>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + can_resize="true" + height="400" + layout="topleft" + name="floater_test_list_view" + width="400"> + <list_view + height="300" + left="10" + name="test_list_view" + top="28" + width="300" /> + <button + name="test_1_btn" + label="Test 1" + top="350" + left="10" + height="20" + width="80" + commit_callback.function="TestListView.Test1" /> + <button + name="test_2_btn" + label="Test 2" + top_delta="0" + left_pad="10" + height="20" + width="80" + commit_callback.function="TestListView.Test2" /> + +</floater> diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml new file mode 100644 index 0000000000..cee789d435 --- /dev/null +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<!-- All our XML is utf-8 encoded. --> + +<!-- No title to avoid window chrome --> +<floater + background_opaque="false" + background_visible="true" + bevel_style="in" + bg_alpha_color="black" + can_minimize="false" + name="inspect_avatar" + title="" + visible="true" + width="300" + height="200" + left="0" + top="200" + > + <text + top="180" left="10" width="220" height="70" follows="left|top|right|bottom" + use_ellipses="true" word_wrap="true" + font="SansSerifHugeBold" text_color="white" + mouse_opaque="true" name="user_name" > + Codex Linden + </text> + <text + top="155" left="10" width="150" height="20" follows="left|top|right|bottom" + font="SansSerifBig" font.style="UNDERLINE" + text_color="white" + mouse_opaque="true" + name="active_group" > + The Guild + </text> + <text + top="110" left="10" width="290" height="50" follows="left|top|right|bottom" + font="SansSerifSmall" text_color="white" word_wrap="true" + mouse_opaque="true" name="user_detail" > +3 year-old account, Payment info on file +Languages: English, Spanish; +5 Sexterity Vest + </text> + <avatar_icon + top="185" left="230" width="60" height="60" follows="left|top|right|bottom" + color="1 1 1 1" enabled="true" mouse_opaque="true" name="avatar_icon" + /> + <slider + bottom="35" left="45" width="250" height="30" follows="top|left" + name="volume_slider" + tool_tip="Voice Volume" + increment="0.05" initial_value="0.75" max_val="1" min_val="0" + show_text="false" + /> + <button + bottom="40" left="10" width="32" height="16" follows="left|top|right|bottom" + name="mute_btn" + label="" + image_unselected="icn_speaker_dark.tga" + image_disabled="icn_speaker_dark.tga" + image_selected="icn_speaker-muted_dark.tga" + image_hover_selected="icn_speaker-muted_dark.tga" + image_disabled_selected="icn_speaker-muted_dark.tga" + halign="center" + toggle="true" + /> + <button + bottom="10" left="10" width="110" height="20" follows="top|left" + name="add_friend_btn" + label="Add Friend" + font="SansSerif" + /> + <button + bottom="10" left="120" width="110" height="20" follows="top|left" + name="view_profile_btn" + label="View Profile" + font="SansSerif" + /> + <button + bottom="10" left="230" width="60" height="20" follows="top|left" + name="gear_btn" + label="" + image_overlay="gear.tga" + image_overlay_alignment="center" + scale_image="true" + /> +</floater> diff --git a/indra/newview/skins/default/xui/en/menu_favorites.xml b/indra/newview/skins/default/xui/en/menu_favorites.xml index 76c132aeb7..951cf63c76 100644 --- a/indra/newview/skins/default/xui/en/menu_favorites.xml +++ b/indra/newview/skins/default/xui/en/menu_favorites.xml @@ -21,7 +21,7 @@ parameter="about" /> </menu_item_call> <menu_item_call - label="Copy SLURL" + label="Copy SLurl" layout="topleft" name="Copy slurl"> <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_landmark.xml b/indra/newview/skins/default/xui/en/menu_landmark.xml index 9263f75d24..64fec3ab40 100644 --- a/indra/newview/skins/default/xui/en/menu_landmark.xml +++ b/indra/newview/skins/default/xui/en/menu_landmark.xml @@ -6,7 +6,7 @@ name="landmark_overflow_menu" width="128"> <menu_item_call - label="Copy SLURL" + label="Copy SLurl" layout="topleft" name="copy"> <menu_item_call.on_click diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 642087baff..1e911c2664 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -81,8 +81,7 @@ function="Advanced.ShowDebugSettings" parameter="skin" /> </menu_item_call> - <menu_item_separator - layout="topleft" /> + <menu_item_separator /> <menu_item_call label="UI Preview Tool" layout="topleft" @@ -92,7 +91,8 @@ function="ShowFloater" parameter="ui_preview" /> </menu_item_call> - <menu_item_call + <menu_item_separator /> + <menu_item_call label="Widget Test" layout="topleft" name="Widget Test" @@ -102,12 +102,28 @@ parameter="test_widgets" /> </menu_item_call> <menu_item_call - label="List View Test" - name="List View Test" - shortcut="control|shift|L"> + label="Avatar Inspector" + name="Avatar Inspector" + shortcut="control|shift|I"> + <menu_item_call.on_click + function="ShowFloater" + parameter="inspect_avatar" /> + </menu_item_call> + <menu_item_call + label="Show TOS" + layout="topleft" + name="TOS"> + <menu_item_call.on_click + function="ShowFloater" + parameter="message_tos" /> + </menu_item_call> + <menu_item_call + label="Show Critical Message" + layout="topleft" + name="TOS"> <menu_item_call.on_click function="ShowFloater" - parameter="test_list_view" /> + parameter="message_critical" /> </menu_item_call> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/en/menu_mini_map.xml b/indra/newview/skins/default/xui/en/menu_mini_map.xml index a5e1f35142..5cbbd71bfe 100644 --- a/indra/newview/skins/default/xui/en/menu_mini_map.xml +++ b/indra/newview/skins/default/xui/en/menu_mini_map.xml @@ -4,53 +4,54 @@ layout="topleft" left="100" mouse_opaque="false" - name="popup" + name="Popup" top="724" + visible="false" width="128"> <menu_item_call label="Zoom Close" layout="topleft" name="Zoom Close"> <menu_item_call.on_click - function="MiniMap.ZoomLevel" - parameter="2" /> + function="Minimap.Zoom" + parameter="close" /> </menu_item_call> <menu_item_call label="Zoom Medium" layout="topleft" name="Zoom Medium"> <menu_item_call.on_click - function="MiniMap.ZoomLevel" - parameter="1" /> + function="Minimap.Zoom" + parameter="medium" /> </menu_item_call> <menu_item_call label="Zoom Far" layout="topleft" name="Zoom Far"> <menu_item_call.on_click - function="MiniMap.ZoomLevel" - parameter="0" /> + function="Minimap.Zoom" + parameter="far" /> </menu_item_call> <menu_item_separator - layout="topleft" /> + layout="topleft" + name="Tracking Separator" /> <menu_item_call - enabled="false" label="Stop Tracking" layout="topleft" name="Stop Tracking"> <menu_item_call.on_click - function="MiniMap.StopTracking" /> - <menu_item_call.on_enable - function="MiniMap.EnableTracking" /> + function="Minimap.Tracker" + parameter="task_properties" /> </menu_item_call> + <menu_item_separator + layout="topleft" + name="Tracking Separator" /> <menu_item_call - enabled="false" - label="Profile..." + label="World Map" layout="topleft" - name="Profile"> + name="World Map"> <menu_item_call.on_click - function="MiniMap.ShowProfile" /> - <menu_item_call.on_enable - function="MiniMap.EnableProfile" /> + function="ShowFloater" + parameter="world_map" /> </menu_item_call> </menu> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 5e894e1773..ef9e22d908 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2138,6 +2138,17 @@ layout="topleft" name="Network" tear_off="true"> + <menu_item_check + label="Pause Agent" + layout="topleft" + name="AgentPause"> + <menu_item_check.on_check + function="CheckControl" + parameter="AgentPause" /> + <menu_item_check.on_click + function="ToggleControl" + parameter="AgentPause" /> + </menu_item_check> <menu_item_call label="Enable Message Log" layout="topleft" @@ -2277,219 +2288,6 @@ layout="topleft" name="Rendering" tear_off="true"> - <menu - create_jump_keys="true" - label="Info Displays" - layout="topleft" - name="Info Displays" - tear_off="true"> - <menu_item_check - label="Verify" - layout="topleft" - name="Verify"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="verify" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="verify" /> - </menu_item_check> - <menu_item_check - label="BBoxes" - layout="topleft" - name="BBoxes"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="bboxes" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="bboxes" /> - </menu_item_check> - <menu_item_check - label="Points" - layout="topleft" - name="Points"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="points" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="points" /> - </menu_item_check> - <menu_item_check - label="Octree" - layout="topleft" - name="Octree"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="octree" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="octree" /> - </menu_item_check> - <menu_item_check - label="Shadow Frusta" - layout="topleft" - name="Shadow Frusta"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="shadow frusta" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="shadow frusta" /> - </menu_item_check> - <menu_item_check - label="Occlusion" - layout="topleft" - name="Occlusion"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="occlusion" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="occlusion" /> - </menu_item_check> - <menu_item_check - label="Render Batches" - layout="topleft" - name="Render Batches"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="render batches" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="render batches" /> - </menu_item_check> - <menu_item_check - label="Animated Textures" - layout="topleft" - name="Animated Textures"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="texture anim" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="texture anim" /> - </menu_item_check> - <menu_item_check - label="Texture Priority" - layout="topleft" - name="Texture Priority"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="texture priority" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="texture priority" /> - </menu_item_check> - <menu_item_check - label="Avatar Rendering Cost" - layout="topleft" - name="Avatar Rendering Cost"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="shame" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="shame" /> - </menu_item_check> - <menu_item_check - label="Texture Area (sqrt(A))" - layout="topleft" - name="Texture Area (sqrt(A))"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="texture area" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="texture area" /> - </menu_item_check> - <menu_item_check - label="Face Area (sqrt(A))" - layout="topleft" - name="Face Area (sqrt(A))"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="face area" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="face area" /> - </menu_item_check> - <menu_item_check - label="Lights" - layout="topleft" - name="Lights"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="lights" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="lights" /> - </menu_item_check> - <menu_item_check - label="Particles" - layout="topleft" - name="Particles"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="particles" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="particles" /> - </menu_item_check> - <menu_item_check - label="Composition" - layout="topleft" - name="Composition"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="composition" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="composition" /> - </menu_item_check> - <menu_item_check - label="Glow" - layout="topleft" - name="Glow"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="glow" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="glow" /> - </menu_item_check> - <menu_item_check - label="Show Depth Buffer" - layout="topleft" - name="Show Depth Buffer"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="ShowDepthBuffer" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="ShowDepthBuffer" /> - </menu_item_check> - <menu_item_check - label="Pick Render" - layout="topleft" - name="Pick Render"> - <menu_item_check.on_check - function="Advanced.CheckInfoDisplay" - parameter="picking" /> - <menu_item_check.on_click - function="Advanced.ToggleInfoDisplay" - parameter="picking" /> - </menu_item_check> - <menu_item_call - label="Vectorize Perf Test" - layout="topleft" - name="Vectorize Perf Test"> - <menu_item_call.on_click - function="Advanced.VectorizePerfTest" - parameter="" /> - </menu_item_call> - </menu> <menu_item_check label="Axes" layout="topleft" @@ -2702,13 +2500,6 @@ parameter="html_simple.http://www.secondlife.com" /> </menu_item_call> <menu_item_call - label="Buy Currency Test" - layout="topleft" - name="Buy Currency Test"> - <menu_item_call.on_click - function="Advanced.BuyCurrencyTest" /> - </menu_item_call> - <menu_item_call label="UI/Color Settings" layout="topleft" name="UI/Color Settings"> @@ -2860,7 +2651,6 @@ <menu create_jump_keys="true" label="XUI" - layout="topleft" name="XUI" tear_off="true"> <menu_item_call @@ -2909,6 +2699,15 @@ <menu_item_call.on_click function="Advanced.SendTestIMs" /> </menu_item_call> + <!-- *HACK: Hard code James Tester's UUID --> + <menu_item_call + label="Avatar Inspector" + name="Avatar Inspector" + shortcut="control|shift|I"> + <menu_item_call.on_click + function="Advanced.AvatarInspector" + parameter="22df1dcb-810a-4975-aab9-0159958fe155" /> + </menu_item_call> </menu> <menu create_jump_keys="true" diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml index 804bee6cd1..2de9449ea6 100644 --- a/indra/newview/skins/default/xui/en/mime_types.xml +++ b/indra/newview/skins/default/xui/en/mime_types.xml @@ -230,17 +230,6 @@ image </widgettype> </mimetype> - <mimetype name="application/x-shockwave-flash"> - <label name="application/x-shockwave-flash_label"> - Flash - </label> - <widgettype> - image - </widgettype> - <impl> - media_plugin_flash_activex - </impl> - </mimetype> <mimetype name="audio/mid"> <label name="audio/mid_label"> Audio (MIDI) diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 216627879e..98c9ec868a 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -1041,7 +1041,7 @@ Do you wish to visit [_URL] for more information? type="alertmodal"> Your system contains a graphics card that is unknown to [APP_NAME] at this time. This is often the case with new hardware that hasn't been tested yet with [APP_NAME]. [APP_NAME] will most likely run properly, but you may need to adjust your graphics settings to something more appropriate. -(Edit menu > Preferences > Graphics). +(Me > Preferences > Graphics). <form name="form"> <ignore name="ignore" text="My graphics card could not be identified"/> @@ -1680,7 +1680,7 @@ No Group selected. type="alertmodal"> Unable to deed land: Cannot find the region this land is in. -Please use Tools -> Report Bug to report this. +Please use Help > Report Bug to report this. </notification> <notification @@ -1762,7 +1762,7 @@ Parcels you own appear in green. Unable to abandon land: Cannot find the region this land is in. -Please use Tools -> Report Bug to report this. +Please use Help > Report Bug to report this. </notification> <notification @@ -1836,7 +1836,7 @@ Divide land? Unable to divide land: Cannot find the region this land is in. -Please use Tools -> Report Bug to report this. +Please use Help > Report Bug to report this. </notification> <notification @@ -1846,7 +1846,7 @@ Please use Tools -> Report Bug to report this. Unable to join land: Cannot find the region this land is in. -Please use Tools -> Report Bug to report this. +Please use Help > Report Bug to report this. </notification> <notification @@ -1963,8 +1963,7 @@ Unable to save '[NAME]' to wearable file. You will need to free up so Unable to save [NAME] to central asset store. This is usually a temporary failure. Please customize and save the wearable again in a few minutes. -If this problem persists, please click on the 'Tools > Report Bug' pull down menu -and provide details about your network setup. +If this problem persists, please click on Help > Report Bug and provide details about your network setup. </notification> <notification @@ -2629,9 +2628,9 @@ This update is not required, but we suggest you install it to improve performanc icon="alertmodal.tga" name="DownloadLinuxMandatory" type="alertmodal"> -A new version of [SECOND_LIFE] is available. +A new version of [APP_NAME] is available. [MESSAGE] -You must download this update to use [SECOND_LIFE]. +You must download this update to use [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Quit" @@ -2642,7 +2641,7 @@ You must download this update to use [SECOND_LIFE]. icon="alertmodal.tga" name="DownloadLinux" type="alertmodal"> -An updated version of [SECOND_LIFE] is available. +An updated version of [APP_NAME] is available. [MESSAGE] This update is not required, but we suggest you install it to improve performance and stability. <usetemplate @@ -2655,7 +2654,7 @@ This update is not required, but we suggest you install it to improve performanc icon="alertmodal.tga" name="DownloadLinuxReleaseForDownload" type="alertmodal"> -An updated version of [SECOND_LIFE] is available. +An updated version of [APP_NAME] is available. [MESSAGE] This update is not required, but we suggest you install it to improve performance and stability. <usetemplate @@ -3333,7 +3332,7 @@ You are not allowed in that region due to your maturity Rating. type="alertmodal"> You are not allowed in that Region due to your maturity Rating preference. -You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Edit > Preferences... > General. +You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Me > Preferences > General. <form name="form"> <button index="0" @@ -3390,7 +3389,7 @@ You cannot claim this land due to your maturity Rating. type="alertmodal"> You cannot claim this land due to your maturity Rating preference. -You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Edit > Preferences... > General. +You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Me > Preferences > General. <usetemplate name="okcancelignore" yestext="Change Preference" @@ -3440,7 +3439,7 @@ You cannot buy this land due to your maturity Rating. type="alertmodal"> You cannot buy this land due to your maturity Rating preference. -You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Edit > Preferences... > General. +You can click 'Change Preference' to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Me > Preferences > General. <usetemplate name="okcancelignore" yestext="Change Preference" @@ -3769,7 +3768,7 @@ Default: off label="Top Colliders" name="HelpRegionTopColliders" type="alertmodal"> -Show a list of objects experiencing the greatest number of potential object-object collisions. These objects can slow performance. Select View > Statistics Bar and look under Simulator > Time > Sim Time (Physics) to see if more than 20 ms is being spent in physics. +Show a list of objects experiencing the greatest number of potential object-object collisions. These objects can slow performance. Select Advanced > Performance Tools > Statistics Bar and look under Simulator > Time > Physics Time to see if more than 20 ms is being spent in physics. </notification> <notification @@ -3778,7 +3777,7 @@ Show a list of objects experiencing the greatest number of potential object-obje name="HelpRegionTopScripts" type="alertmodal"> Show a list of objects spending the most time running LSL scripts. These objects can slow performance. -Select View > Statistics Bar and look under Simulator > Time > Script Time to see if more than 25 ms is being spent in scripts. +Select Advanced > Performance Tools > Statistics Bar and look under Simulator > Time > Script Time to see if more than 25 ms is being spent in scripts. </notification> <notification @@ -4437,7 +4436,7 @@ Are you sure you want to permanently delete the contents of your Trash? icon="alertmodal.tga" name="ConfirmClearBrowserCache" type="alertmodal"> -Delete your travel, web, and search history? +Are you sure you want to delete your travel, web, and search history? <usetemplate name="okcancelbuttons" notext="Cancel" @@ -6561,5 +6560,12 @@ Yes <global name="PermNo"> No </global> +<!-- this is alert string from server. the name needs to match entire the server string, and needs to be changed + whenever the server string changes --> + <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> +If you own a piece of land, you can make it your home location. +Otherwise, you can look at the Map and find places marked "Infohub". + </global> + </notifications> diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml index 28cb3bc551..291803fbc5 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml @@ -2,13 +2,31 @@ <panel background_visible="true" bevel_style="in" - height="640" + height="420" label="Edit Pick" layout="topleft" left="0" name="panel_edit_pick" top="0" - width="305"> + width="255"> + <scroll_container + color="DkGray2" + follows="left|top|right|bottom" + height="300" + layout="topleft" + left="0" + name="profile_scroll" + reserve_scroll_corner="true" + opaque="true" + width="255"> + <panel + name="scroll_content_panel" + follows="left|top|right" + layout="topleft" + top="0" + left="0" + width="240" + height="575"> <text type="string" length="1" @@ -81,7 +99,7 @@ name="pick_name" right="-10" text_color="black" - width="290" /> + width="255" /> <text type="string" length="1" @@ -144,15 +162,16 @@ name="set_to_curr_location_btn" width="200" /> </panel> + </panel> + </scroll_container> <panel - follows="right|bottom" + follows="left|right|bottom" height="25" label="bottom_panel" layout="topleft" - left="5" + left="10" name="bottom_panel" - top="605" - right="-10"> + top_pad="2"> <button follows="bottom|left" height="20" diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml index c870e24e59..c0366437db 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_profile.xml @@ -4,49 +4,43 @@ background_visible="true" bevel_style="in" follows="left|top|right|bottom" - height="690" + height="420" label="Profile Edit" layout="topleft" left="10" mouse_opaque="true" name="edit_profile_panel" top="10" - width="305"> - <text - top="16" - left="11" - height="20" - follows="left|top" - font="SansSerifHugeBold" + width="255"> + <scroll_container + color="DkGray2" + follows="left|top|right|bottom" + height="300" layout="topleft" - name="title_text" - text_color="white" - width="250"> - Edit Profile - </text> + left="0" + name="profile_scroll" + reserve_scroll_corner="true" + opaque="true" + width="255"> + <panel + name="scroll_content_panel" + follows="left|top|right" + layout="topleft" + top="0" + left="0" + width="240" + height="760"> <panel background_visible="true" bg_alpha_color="DkGray2" follows="left|top|right|bottom" - height="604" + height="620" layout="topleft" - left="9" + left="0" name="data_panel" top_pad="10" - width="280"> - <text - top_pad="5" - left="9" - height="20" - follows="left|top" - font="SansSerifBigBold" - layout="topleft" - name="name_text" - text_color="white" - width="350"> - [FIRST] [LAST] - </text> - <panel + width="260"> + <panel follows="left|top" height="120" layout="topleft" @@ -55,7 +49,7 @@ top_pad="10" width="265"> <panel - height="120" + height="137" layout="topleft" left="0" name="second_life_image_panel" @@ -65,179 +59,335 @@ type="string" length="1" follows="left|top|right|bottom" - font="SansSerifBold" - height="20" + font="SansSerifSmall" + font.style="BOLD" + height="15" layout="topleft" left="0" name="second_life_photo_title_text" text_color="white" top="0" - width="125"> - [SECOND_LIFE] photo: + width="240"> + [SECOND_LIFE]: </text> <texture_picker allow_no_texture="true" default_image_name="None" follows="top|left" - height="105" + height="117" layout="topleft" left="0" name="2nd_life_pic" top_pad="5" - width="105" /> + width="102" /> </panel> - <panel - height="120" + <icon + height="16" + image_name="image_edit_icon.tga" layout="topleft" - left_pad="0" + left="75" + name="2nd_life_edit_icon" + tool_tip="Click to select an image" + top="35" + width="16" /> + </panel> + <text_editor + type="string" + length="1" + follows="left|top|right" + font="SansSerifSmall" + height="125" + layout="topleft" + left="120" + top="30" + name="sl_description_edit" + width="115" + word_wrap="true"> + </text_editor> + <panel + height="137" + layout="topleft" + left="10" name="first_life_image_panel" - top="0" + top_pad="20" width="125"> <text type="string" length="1" follows="left|top|right|bottom" - font="SansSerifBold" - height="20" + font="SansSerifSmall" + font.style="BOLD" + height="15" layout="topleft" left="0" name="real_world_photo_title_text" text_color="white" top="0" width="125"> - Real World photo: + Real World: </text> <texture_picker allow_no_texture="true" default_image_name="None" follows="top|left" - height="105" + height="117" layout="topleft" left="0" name="real_world_pic" top_pad="5" - width="105" /> + width="102" /> </panel> - <icon - height="16" - image_name="image_edit_icon.tga" - layout="topleft" - left="75" - name="2nd_life_edit_icon" - tool_tip="Click to select an image" - top="35" - width="16" /> - <icon + <icon height="16" image_name="image_edit_icon.tga" layout="topleft" - left="200" + left="85" name="real_world_edit_icon" tool_tip="Click to select an image" - top="35" + top="210" width="16" /> - </panel> - <text - type="string" - length="1" - follows="left|top" - font="SansSerifBold" - height="15" - layout="topleft" - left="9" - name="title_sl_descr_text" - text_color="white" - top_pad="10" - width="250"> - [SECOND_LIFE] description: - </text> - <text_editor + <text_editor type="string" length="1" follows="left|top|right" font="SansSerifSmall" - height="120" - layout="topleft" - left="9" - name="sl_description_edit" - text_color="0.1 0.1 0.1 1" - width="265" - word_wrap="true"> - </text_editor> - <text - type="string" - length="1" - follows="left|top" - font="SansSerifBold" - height="15" + height="125" layout="topleft" - left="9" - name="title_rw_descr_text" - text_color="white" - top_pad="10" - width="250"> - Real World description: - </text> - <text_editor - type="string" - length="1" - follows="left|top|right" - font="SansSerifSmall" - height="120" - layout="topleft" - left="9" + left="120" + top="195" name="fl_description_edit" - text_color="0.1 0.1 0.1 1" - width="265" + width="115" word_wrap="true"> </text_editor> <text + type="string" + follows="left|top" + font="SansSerifSmall" + font.style="BOLD" + height="15" + layout="topleft" + left="10" + name="online_me_status_text" + text_color="white" + top_pad="20" + width="255"> + Status: + </text> + <combo_box + font="SansSerifSmall" + follows="left|top" + height="18" + layout="topleft" + left="10" + top_pad="5" + name="status_combo" + width="140"> + <combo_box.item + label="Online" + name="online" + value="online" /> + <combo_box.item + label="Away" + name="away" + value="away" /> + <combo_box.item + label="Busy" + name="busy" + value="busy" /> + </combo_box> + <text type="string" length="1" follows="left|top" - font="SansSerifBold" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" - left="9" + left="10" name="title_homepage_text" text_color="white" - top_pad="10" - width="100"> + top_pad="20" + width="240"> Homepage: </text> <line_editor follows="left|top|right" - font="SansSerif" - font.style="UNDERLINE" + font="SansSerifSmall" height="20" layout="topleft" left="9" name="homepage_edit" - text_color="0.2 0.2 1 1" - width="265"> + width="220"> TODO </line_editor> <check_box follows="left|top" - font="SansSerifBold" + font="SansSerifSmall" label="Show me in Search results" layout="topleft" - left="9" + left="10" name="show_in_search_checkbox" height="16" text_enabled_color="white" - top_pad="10" - width="250"/> + top_pad="20" + width="240"/> + <text + follows="left|top" + font="SansSerifSmall" + font.style="BOLD" + height="15" + layout="topleft" + left="10" + name="title_acc_status_text" + text_color="white" + top_pad="15" + value="Account Status:" + width="100" /> + <link + type="string" + follows="left|top" + font="SansSerifSmall" + font.style="UNDERLINE" + height="15" + layout="topleft" + left_pad="10" + name="my_account_link" + top_delta="0" + value="Go to Dashboard" + width="100"/> + <text + follows="left|top|right" + height="15" + layout="topleft" + left="10" + name="acc_status_text" + top_pad="5" + value="Resident. No payment info on file." + width="255" + word_wrap="true" /> + <text + follows="left|top" + font="SansSerifSmall" + font.style="BOLD" + height="15" + layout="topleft" + left="10" + name="title_partner_text" + text_color="white" + top_pad="15" + value="Partner:" + width="100" /> + <link + follows="left|top" + height="15" + font.style="UNDERLINE" + layout="topleft" + left_pad="10" + name="partner_edit_link" + top_delta="0" + value="Edit" + width="100" /> + <panel + follows="left|top|right" + height="15" + layout="topleft" + left="10" + name="partner_data_panel" + top_pad="10" + width="255"> + <text + follows="left|top|right" + height="30" + layout="topleft" + left="0" + name="partner_text" + top="0" + value="[FIRST] [LAST]" + width="240" + word_wrap="true" /> + </panel> + <text + type="string" + length="1" + follows="left|top" + font="SansSerifSmall" + font.style="BOLD" + height="15" + layout="topleft" + left="10" + name="title_afk_text" + text_color="white" + top_pad="15" + width="240"> + Away Timeout: + </text> + <spinner + control_name="AFKTimeout" + decimal_digits="0" + follows="left|top" + height="16" + increment="1" + initial_value="300" + label="" + label_width="0" + layout="topleft" + left="10" + max_val="600" + min_val="30" + name="afk_timeout_spinner" + top_pad="5" + width="50" /> + <text + type="string" + length="1" + follows="left|top" + height="10" + layout="topleft" + left_pad="10" + name="seconds_textbox" + top_delta="0" + width="128"> + seconds + </text> + <text + type="string" + length="1" + follows="left|top" + height="10" + layout="topleft" + font.style="BOLD" + left="12" + mouse_opaque="false" + name="text_box3" + top_pad="25" + width="240"> + Busy Mode Response: + </text> + <text_editor + control_name="BusyModeResponse2" + commit_on_focus_lost = "true" + follows="left|top" + height="70" + layout="topleft" + left="12" + name="busy_response" + top_pad="10" + width="240" + word_wrap="true"> + log_in_to_change + </text_editor> + </panel> </panel> + </scroll_container> <panel - follows="bottom|right" + follows="bottom|left" height="30" left="10" name="profile_me_buttons_panel" - top_pad="8" - width="250"> + top_pad="10" + width="240"> <button - follows="bottom|right" + follows="bottom|left" font="SansSerifSmallBold" height="25" label="Save Changes" @@ -247,14 +397,17 @@ top="0" width="130" /> <button - follows="bottom|right" + follows="bottom|left" font="SansSerifSmallBold" height="25" label="Cancel" layout="topleft" - right="-1" + left_pad="5" name="cancel_btn" top_delta="0" - width="105" /> + width="130" /> </panel> </panel> + + + diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml index 66a3a75cc4..a9363df259 100644 --- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml +++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml @@ -1,31 +1,31 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel name="panel_im_control_panel"
- width="96"
- height="215"
- border="false">
- <avatar_list
- width="90"
- column_padding="0"
- draw_heading="true"
- draw_stripes="false"
- follows="left|top|bottom|right"
- layout="topleft"
- left="3"
- name="speakers_list"
- search_column="1"
- sort_column="2"
- top="10"
- height="150" />
-
- <button name="group_info_btn"
- label="Group Info"
- left_delta="3"
- width="90"
- height="20" />
-
- <button name="call_btn"
- label="Call"
- width="90"
- height="20" />
-
-</panel>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_im_control_panel" + width="96" + height="215" + border="false"> + <avatar_list + width="90" + column_padding="0" + draw_heading="true" + draw_stripes="false" + follows="left|top|bottom|right" + layout="topleft" + left="3" + name="speakers_list" + search_column="1" + sort_column="2" + top="10" + height="150" /> + + <button name="group_info_btn" + label="Group Info" + left_delta="3" + width="90" + height="20" /> + + <button name="call_btn" + label="Call" + width="90" + height="20" /> + +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 2243df951e..03e2d35b9f 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -2,7 +2,7 @@ <panel border="true" follows="all" - height="470" + height="445" label="General" class="panel_group_general" layout="topleft" @@ -43,14 +43,14 @@ Hover your mouse over the options for more help. <text_editor type="string" follows="left|top" - left="95" + left="5" height="75" hide_scrollbar="true" layout="topleft" max_length="511" name="charter" - top="30" - width="170" + top="5" + width="260" word_wrap="true"> Group Charter </text_editor> diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml index 65d1e3c3a7..2de41a9ee6 100644 --- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml @@ -44,10 +44,10 @@ height="113" label="" layout="topleft" - left_delta="-10" + left="10" name="insignia" tool_tip="Click to choose a picture" - top_pad="5" + top_pad="15" width="100" /> <text type="string" @@ -99,8 +99,8 @@ left="5" visible="false" width="65" /> - <accordion layout="topleft" left="2" width="296" top="135" height="600" follows="all" name="group_accordion"> - <accordion_tab min_height="515" title="Group General" name="group_general_tab"> + <accordion layout="topleft" left="2" width="296" top="135" height="500" follows="all" name="group_accordion"> + <accordion_tab min_height="445" title="Group General" name="group_general_tab"> <panel class="panel_group_general" filename="panel_group_general.xml" name="group_general_tab_panel"/> </accordion_tab> <accordion_tab min_height="380" title="Group Roles" name="group_roles_tab" expanded="False" can_resize="false"> diff --git a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml index 5067b4c1d8..7dc94d1141 100644 --- a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml +++ b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml @@ -1,32 +1,32 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel name="panel_im_control_panel"
- width="96"
- height="215"
- border="false">
-
- <avatar_icon name="avatar_icon"
- width="96"
- height="96" />
-
- <button name="view_profile_btn"
- label="View Profile"
- left_delta="3"
- width="90"
- height="20" />
-
- <button name="add_friend_btn"
- label="Add Friend"
- width="90"
- height="20" />
-
- <button name="call_btn"
- label="Call"
- width="90"
- height="20" />
-
- <button name="share_btn"
- label="Share"
- width="90"
- height="20" />
-
-</panel>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_im_control_panel" + width="96" + height="215" + border="false"> + + <avatar_icon name="avatar_icon" + width="96" + height="96" /> + + <button name="view_profile_btn" + label="View Profile" + left_delta="3" + width="90" + height="20" /> + + <button name="add_friend_btn" + label="Add Friend" + width="90" + height="20" /> + + <button name="call_btn" + label="Call" + width="90" + height="20" /> + + <button name="share_btn" + label="Share" + width="90" + height="20" /> + +</panel> diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 41294259e3..794b69d7ed 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -120,7 +120,7 @@ layout="topleft" left="32" name="start_location_text" - top="574" + top="576" width="95"> Start Location: </text> @@ -133,7 +133,7 @@ left_pad="2" max_chars="128" name="start_location_combo" - top_delta="0" + top_delta="-2" width="155"> <combo_box.item label="My Last Location" @@ -154,9 +154,9 @@ height="16" label="Remember password" layout="topleft" - left_pad="8" + left_pad="10" name="remember_check" - top_delta="0" + top_delta="3" width="138" /> <button follows="left|bottom" diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index fce31a2c68..22823ea98b 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -19,8 +19,8 @@ name="no_friends_online" value="No friends online" /> <string - name="no_friends_offline" - value="No friends offline" /> + name="no_friends" + value="No friends" /> <string name="no_groups" value="No groups" /> @@ -153,14 +153,14 @@ can_resize="false" layout="topleft" min_height="100" - name="tab_offline" - title="Offline"> + name="tab_all" + title="All"> <panel follows="all" height="260" layout="topleft" left="0" - name="tab_offline_panel" + name="tab_all_panel" top="100" width="285"> <avatar_list @@ -169,7 +169,7 @@ height="255" layout="topleft" left="0" - name="avatars_offline" + name="avatars_all" top="0" width="285" /> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml index c8bde77a94..80fa99c257 100644 --- a/indra/newview/skins/default/xui/en/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/en/panel_pick_info.xml @@ -2,12 +2,30 @@ <panel bevel_style="in" follows="left|top|right|bottom" - height="480" + height="420" layout="topleft" left="0" name="panel_pick_info" top="0" - width="265"> + width="255"> + <scroll_container + color="DkGray2" + follows="left|top|right|bottom" + height="300" + layout="topleft" + left="0" + name="profile_scroll" + reserve_scroll_corner="true" + opaque="true" + width="255"> + <panel + name="scroll_content_panel" + follows="left|top|right" + layout="topleft" + top="0" + left="0" + width="240" + height="575"> <text follows="top" font="SansSerifHugeBold" @@ -16,41 +34,29 @@ left="10" name="title" text_color="white" - top="16" + top="5" value="Pick Info" width="150" /> <button follows="top|right" - height="25" + height="20" image_overlay="BackArrow_Off" layout="topleft" name="back_btn" picture_style="true" - right="-11" - top="16" - width="25" - tab_stop="false" /> - - <scroll_container - color="DkGray2" - follows="left|top|right|bottom" - height="400" - layout="topleft" - left="0" - name="pick_info_scroll" - opaque="true" - reserve_scroll_corner="true" - width="265"> + right="-20" + top="7" + width="20" /> <panel background_visible="true" bg_alpha_color="DkGray2" - follows="left|right|top" + follows="left|right|top|bottom" height="550" layout="topleft" left="0" - min_height="550" - top_pad="0" - width="263"> + min_height="300" + top="30" + width="255"> <texture_picker enabled="false" follows="left|top|right" @@ -100,7 +106,7 @@ text_color="white" valign="center" value="[description]" - width="260" + width="255" word_wrap="true" /> <text follows="left|top" @@ -122,14 +128,7 @@ text_color="white" valign="center" value="[loading...]" /> - <icon - follows="top|left" - height="15" - image_name="" - layout="topleft" - mouse_opaque="true" - name="maturity" - width="15" /> + </panel> </panel> </scroll_container> <panel diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml index 5d0af26af5..d90be9ea25 100644 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_profile.xml @@ -64,37 +64,37 @@ reserve_scroll_corner="true" opaque="true" width="255"> - <panel - name="scroll_content_panel" - follows="left|top|right" - layout="topleft" - top="0" - left="0" - width="240" - height="520"> - - <panel - follows="left|top" - height="125" - layout="topleft" - left="10" - name="second_life_image_panel" - top="10" - width="260"> + <panel + name="scroll_content_panel" + follows="left|top|right" + layout="topleft" + top="0" + left="0" + width="240" + height="780"> + <panel + follows="left|top" + height="117" + layout="topleft" + left="10" + name="second_life_image_panel" + top="10" + width="260"> <texture_picker allow_no_texture="true" default_image_name="None" enabled="false" follows="top|left" - height="125" + height="117" layout="topleft" left="0" name="2nd_life_pic" top="10" - width="125" /> + width="102" /> <text follows="left|top|right" - font="SansSerifBold" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left_pad="10" @@ -102,10 +102,10 @@ text_color="white" top_delta="0" value="[SECOND_LIFE]:" - width="140" /> + width="130" /> <text follows="left|top|right" - height="90" + height="70" layout="topleft" name="sl_description_edit" width="130" @@ -115,8 +115,9 @@ </panel> <panel follows="left|top" - height="125" + height="117" layout="topleft" + top_pad="10" left="10" name="first_life_image_panel" width="260"> @@ -125,14 +126,15 @@ default_image_name="None" enabled="false" follows="top|left" - height="125" + height="117" layout="topleft" left="0" name="real_world_pic" - width="125" /> + width="102" /> <text follows="left|top|right" - font="SansSerifBold" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left_pad="10" @@ -140,10 +142,10 @@ text_color="white" top_delta="0" value="Real World:" - width="140" /> + width="130" /> <text follows="left|top|right" - height="90" + height="70" layout="topleft" name="fl_description_edit" width="130" @@ -151,222 +153,154 @@ Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. </text> </panel> + <text + type="string" + follows="left|top" + font="SansSerifSmall" + font.style="BOLD" + height="15" + layout="topleft" + left="10" + name="me_homepage_text" + text_color="white" + top_pad="10" + width="255"> + Homepage: + </text> <link follows="left|top|right" height="15" - hover_color="0.5 0.4 1 1" layout="topleft" + font.style="UNDERLINE" left="10" name="homepage_edit" - text_color="HTMLLinkColor" top_pad="5" value="http://librarianavengers.org" - width="265" - word_wrap="true" /> + width="225" + word_wrap="false" /> <text follows="left|top" - font="SansSerifBold" - halign="right" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left="10" name="title_member_text" text_color="white" - top_pad="10" - value="Member since:" - width="100" /> + top_pad="20" + value="Member Since:" + width="255" /> <text follows="left|top|right" height="15" layout="topleft" - left_pad="10" + left="10" name="register_date" - top_delta="0" + top_pad="5" value="05/31/1976" width="160" word_wrap="true" /> <text follows="left|top" - font="SansSerifBold" - halign="right" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left="10" name="title_acc_status_text" text_color="white" - top_pad="20" - value="Status:" + top_pad="15" + value="Account Status:" width="100" /> + <!-- <link + type="string" + follows="left|top" + font="SansSerifSmall" + font.style="UNDERLINE" + height="15" + layout="topleft" + left_pad="10" + name="my_account_link" + top_delta="0" + value="Go to Dashboard" + width="100"/> --> <text follows="left|top|right" - height="30" + height="15" layout="topleft" - left_pad="10" + left="10" name="acc_status_text" - top_delta="0" + top_pad="5" value="Resident. No payment info on file." - width="160" + width="255" word_wrap="true" /> - <spinner - control_name="AFKTimeout" - decimal_digits="0" - follows="left|top" - height="16" - increment="1" - initial_value="300" - label="Away Timeout:" - label_width="141" - layout="topleft" - left="10" - max_val="600" - min_val="30" - name="afk_timeout_spinner" - top_pad="10" - width="202" /> - <text - type="string" - length="1" - follows="left|top" - height="10" - layout="topleft" - left="220" - name="seconds_textbox" - top_delta="0" - width="128"> - seconds - </text> - <text - type="string" - length="1" - follows="left|top" - height="10" - layout="topleft" - left="12" - mouse_opaque="false" - name="text_box3" - top_pad="10" - width="128"> - Busy Mode Response: - </text> - <text_editor - control_name="BusyModeResponse2" - commit_on_focus_lost = "true" - follows="left|top" - height="70" - layout="topleft" - left_pad="8" - name="busy_response" - top_delta="0" - width="330" - word_wrap="true"> - log_in_to_change - </text_editor> <text follows="left|top" - font="SansSerifBold" - halign="right" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left="10" name="title_partner_text" text_color="white" - top_pad="20" + top_pad="15" value="Partner:" width="100" /> + <!--<link + follows="left|top" + height="15" + font.style="UNDERLINE" + layout="topleft" + left_pad="10" + name="partner_edit_link" + top_delta="0" + value="Edit" + width="100" /> --> <panel follows="left|top|right" - height="50" + height="15" layout="topleft" - left_pad="10" + left="10" name="partner_data_panel" - top_delta="0" - width="125"> + top_pad="5" + width="255"> <text follows="left|top|right" - height="30" + height="15" layout="topleft" left="0" name="partner_text" top="0" value="[FIRST] [LAST]" - width="160" + width="240" word_wrap="true" /> - <link - follows="top|right" - height="15" - hover_color="0.5 0.4 1 1" - layout="topleft" - left_delta="0" - name="partner_edit_link" - text_color="HTMLLinkColor" - top_delta="15" - value="Edit" - width="40" /> - </panel> + </panel> <text - type="string" follows="left|top" - font="SansSerifBold" - height="15" - halign="right" - layout="topleft" - left="10" - name="online_me_status_text" - text_color="white" - top_pad="20" - width="100"> - Status: - </text> - <combo_box - font="SansSerifBold" - height="18" - layout="topleft" - left_pad="0" - top_delta="0" - name="status_combo" - width="100"> - <combo_box.item - label="Online" - name="online" - value="online" /> - <combo_box.item - label="Away" - name="away" - value="away" /> - <combo_box.item - label="Busy" - name="busy" - value="busy" /> - </combo_box> - <text - follows="left|top" - font="SansSerifBold" - halign="right" + font="SansSerifSmall" + font.style="BOLD" height="15" layout="topleft" left="10" name="title_groups_text" text_color="white" - top_pad="20" + top_pad="15" value="Groups:" - width="100" /> + width="255" /> <text follows="left|top|right|bottom" height="160" layout="topleft" - left_pad="10" + left="10" name="sl_groups" - top_delta="0" + top_pad="5" width="130" word_wrap="true"> Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum. </text> - - - </panel> - - </scroll_container> - <panel + </panel> + </scroll_container> + <panel follows="bottom|left" height="30" layout="topleft" @@ -434,7 +368,7 @@ left="0" name="edit_profile_btn" top="0" - width="105" /> + width="130" /> <button follows="bottom|left" font="SansSerifSmallBold" diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml index e710774232..32223d542d 100644 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/en/panel_profile_view.xml @@ -2,7 +2,7 @@ <panel background_visible="true" follows="all" - height="550" + height="660" layout="topleft" min_height="350" min_width="240" @@ -40,53 +40,33 @@ tab_stop="false" top="0" width="25" /> - <layout_stack - name="layout_stack" - orientation="vertical" + <tab_container + follows="left|top|right|bottom" + height="660" + layout="topleft" + left="10" + name="tabs" + tab_min_width="75" + tab_position="top" + top_pad="15" + width="285"> + <panel + class="panel_profile" + filename="panel_profile.xml" + label="Profile" + layout="topleft" + name="panel_profile" /> + <panel + class="panel_picks" + filename="panel_picks.xml" + label="Picks" + layout="topleft" + name="panel_picks" /> + <panel + class="panel_notes" + filename="panel_notes.xml" + label="Notes & Privacy" layout="topleft" - follows="all" - left="0" - top="50" - height="500" - width="305" - border_size="0"> - <panel - name="stack_panel" - follows="all" - layout="topleft" - top="0" - left="0" - height="500" - width="305"> - <tab_container - follows="all" - height="500" - layout="topleft" - left="10" - name="tabs" - tab_min_width="75" - tab_position="top" - top="0" - width="280"> - <panel - class="panel_profile" - filename="panel_profile.xml" - label="Profile" - layout="topleft" - name="panel_profile" /> - <panel - class="panel_picks" - filename="panel_picks.xml" - label="Picks" - layout="topleft" - name="panel_picks" /> - <panel - class="panel_notes" - filename="panel_notes.xml" - label="Notes & Privacy" - layout="topleft" - name="panel_notes" /> - </tab_container> - </panel> - </layout_stack> + name="panel_notes" /> + </tab_container> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_region_estate.xml b/indra/newview/skins/default/xui/en/panel_region_estate.xml index ee52184119..c905e0e42c 100644 --- a/indra/newview/skins/default/xui/en/panel_region_estate.xml +++ b/indra/newview/skins/default/xui/en/panel_region_estate.xml @@ -10,6 +10,7 @@ <scroll_container follows="top|left|right|bottom" height="508" + name="container1" layout="topleft" width="280"> <panel diff --git a/indra/newview/skins/default/xui/en/panel_region_texture.xml b/indra/newview/skins/default/xui/en/panel_region_texture.xml index 8e8fc9ef7f..5285a53c59 100644 --- a/indra/newview/skins/default/xui/en/panel_region_texture.xml +++ b/indra/newview/skins/default/xui/en/panel_region_texture.xml @@ -3,12 +3,14 @@ border="true" follows="top|left" height="512" + name="TextureWrapper" label="Ground Textures" layout="topleft" width="280"> <scroll_container follows="top|left|right|bottom" height="508" + name="container1" layout="topleft" width="280"> <panel diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index df328118a2..4c9b1897d5 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -286,7 +286,361 @@ <string name="compressed_image_files">Compressed Images</string> <string name="load_files">Load Files</string> <string name="choose_the_directory">Choose Directory</string> - + + <!-- LSL Usage Hover Tips --> + <string name="LSLTipSleepTime">Sleeps script for [SLEEP_TIME] seconds.</string> + + <string name="LSLTipText_llSin">float llSin(float theta)\ntheta in radians</string> + <string name="LSLTipText_llCos">float llCos(float theta)\ntheta in radians</string> + <string name="LSLTipText_llTan">float llTan(float theta)\ntheta radians</string> + <string name="LSLTipText_llAtan2">float llAtan2(float y, float x)</string> + <string name="LSLTipText_llSqrt">float llSqrt(float val)\nreturns 0 and triggers a Math Error for imaginary results</string> + <string name="LSLTipText_llPow">float llPow(float base, float exponent)\nreturns 0 and triggers Math Error for imaginary results</string> + <string name="LSLTipText_llAbs">integer llAbs(integer val)</string> + <string name="LSLTipText_llFabs">float llFabs(float val)</string> + <string name="LSLTipText_llFrand">float llFrand(float mag)\nreturns random number in range [0,mag)</string> + <string name="LSLTipText_llFloor">integer llFloor(float val)\nreturns largest integer value <= val</string> + <string name="LSLTipText_llCeil">integer llCeil(float val)\nreturns smallest integer value >= val</string> + <string name="LSLTipText_llRound">integer llRound(float val)\nreturns val rounded to the nearest integer</string> + <string name="LSLTipText_llVecMag">float llVecMag(vector v)\nreturns the magnitude of v</string> + <string name="LSLTipText_llVecNorm">vector llVecNorm(vector v)\nreturns the v normalized</string> + <string name="LSLTipText_llVecDist">float llVecDist(vector v1, vector v2)\nreturns the 3D distance between v1 and v2</string> + <string name="LSLTipText_llRot2Euler">vector llRot2Euler(rotation q)\nreturns the Euler representation (roll, pitch, yaw) of q</string> + <string name="LSLTipText_llEuler2Rot">rotation llEuler2Rot(vector v)\nreturns the rotation representation of Euler Angles v</string> + <string name="LSLTipText_llAxes2Rot">rotation llAxes2Rot(vector fwd, vector left, vector up)\nreturns the rotation defined by the coordinate axes</string> + <string name="LSLTipText_llRot2Fwd">vector llRot2Fwd(rotation q)\nreturns the forward vector defined by q</string> + <string name="LSLTipText_llRot2Left">vector llRot2Left(rotation q)\nreturns the left vector defined by q</string> + <string name="LSLTipText_llRot2Up">vector llRot2Up(rotation q)\nreturns the up vector defined by q</string> + <string name="LSLTipText_llRotBetween">rotation llRotBetween(vector v1, vector v2)\nreturns the rotation to rotate v1 to v2</string> + <string name="LSLTipText_llWhisper">llWhisper(integer channel, string msg)\nwhispers msg on channel</string> + <string name="LSLTipText_llSay">llSay(integer channel, string msg)\nsays msg on channel</string> + <string name="LSLTipText_llShout">llShout(integer channel, string msg)\nshouts msg on channel</string> + <string name="LSLTipText_llListen">integer llListen(integer channel, string name, key id, string msg)\nsets a callback for msg on channel from name and id (name, id, and/or msg can be empty) and returns an identifier that can be used to deactivate or remove the listen</string> + <string name="LSLTipText_llListenControl">llListenControl(integer number, integer active)\nmakes a listen event callback active or inactive</string> + <string name="LSLTipText_llListenRemove">llListenRemove(integer number)\nremoves listen event callback number</string> + <string name="LSLTipText_llSensor">llSensor(string name, key id, integer type, float range, float arc)\nPerforms a single scan for name and id with type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within range meters and arc radians of forward vector (name, id, and/or keytype can be empty or 0)</string> + <string name="LSLTipText_llSensorRepeat">llSensorRepeat(string name, key id, integer type, float range, float arc, float rate)\nsets a callback for name and id with type (AGENT, ACTIVE, PASSIVE, and/or SCRIPTED) within range meters and arc radians of forward vector (name, id, and/or keytype can be empty or 0) and repeats every rate seconds</string> + <string name="LSLTipText_llSensorRemove">llSensorRemove()\nremoves sensor</string> + <string name="LSLTipText_llDetectedName">string llDetectedName(integer number)\nreturns the name of detected object number (returns empty string if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedKey">key llDetectedKey(integer number)\nreturns the key of detected object number (returns empty key if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedOwner">key llDetectedOwner(integer number)\nreturns the key of detected object's owner (returns empty key if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedType">integer llDetectedType(integer number)\nreturns the type (AGENT, ACTIVE, PASSIVE, SCRIPTED) of detected object (returns 0 if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedPos">vector llDetectedPos(integer number)\nreturns the position of detected object number (returns <0,0,0> if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedVel">vector llDetectedVel(integer number)\nreturns the velocity of detected object number (returns <0,0,0> if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedGrab">vector llDetectedGrab(integer number)\nreturns the grab offset of the user touching object (returns <0,0,0> if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedRot">rotation llDetectedRot(integer number)\nreturns the rotation of detected object number (returns <0,0,0,1> if number is not valid sensed object)</string> + <string name="LSLTipText_llDetectedGroup">integer llDetectedGroup(integer number)\nReturns TRUE if detected object is part of same group as owner</string> + <string name="LSLTipText_llDetectedLinkNumber">integer llDetectedLinkNumber(integer number)\nreturns the link position of the triggered event for touches and collisions only</string> + <string name="LSLTipText_llDie">llDie()\ndeletes the object</string> + <string name="LSLTipText_llGround">float llGround(vector v)\nreturns the ground height below the object position + v</string> + <string name="LSLTipText_llCloud">float llCloud(vector v)\nreturns the cloud density at the object position + v</string> + <string name="LSLTipText_llWind">vector llWind(vector v)\nreturns the wind velocity at the object position + v</string> + <string name="LSLTipText_llSetStatus">llSetStatus(integer status, integer value)\nsets status (STATUS_PHYSICS, STATUS_PHANTOM, STATUS_BLOCK_GRAB,\nSTATUS_ROTATE_X, STATUS_ROTATE_Y, and/or STATUS_ROTATE_Z) to value</string> + <string name="LSLTipText_llGetStatus">integer llGetStatus(integer status)\ngets value of status (STATUS_PHYSICS, STATUS_PHANTOM, STATUS_BLOCK_GRAB,\nSTATUS_ROTATE_X, STATUS_ROTATE_Y, and/or STATUS_ROTATE_Z)</string> + <string name="LSLTipText_llSetScale">llSetScale(vector scale)\nsets the scale</string> + <string name="LSLTipText_llGetScale">vector llGetScale()\ngets the scale</string> + <string name="LSLTipText_llSetColor">llSetColor(vector color, integer face)\nsets the color</string> + <string name="LSLTipText_llGetAlpha">float llGetAlpha(integer face)\ngets the alpha</string> + <string name="LSLTipText_llSetAlpha">llSetAlpha(float alpha, integer face)\nsets the alpha</string> + <string name="LSLTipText_llGetColor">vector llGetColor(integer face)\ngets the color</string> + <string name="LSLTipText_llSetTexture">llSetTexture(string texture, integer face)\nsets the texture of face</string> + <string name="LSLTipText_llScaleTexture">llScaleTexture(float scales, float scalet, integer face)\nsets the texture s, t scales for the chosen face</string> + <string name="LSLTipText_llOffsetTexture">llOffsetTexture(float offsets, float offsett, integer face)\nsets the texture s, t offsets for the chosen face</string> + <string name="LSLTipText_llRotateTexture">llRotateTexture(float rotation, integer face)\nsets the texture rotation for the chosen face</string> + <string name="LSLTipText_llGetTexture">string llGetTexture(integer face)\ngets the texture of face (if it's a texture in the object inventory, otherwise the key in a string)</string> + <string name="LSLTipText_llSetPos">llSetPos(vector pos)\nsets the position (if the script isn't physical)</string> + <string name="LSLTipText_llGetPos">vector llGetPos()\ngets the position (if the script isn't physical)</string> + <string name="LSLTipText_llGetLocalPos">vector llGetLocalPos()\ngets the position relative to the root (if the script isn't physical)</string> + <string name="LSLTipText_llSetRot">llSetRot(rotation rot)\nsets the rotation (if the script isn't physical)</string> + <string name="LSLTipText_llGetRot">rotation llGetRot()\ngets the rotation (if the script isn't physical)</string> + <string name="LSLTipText_llGetLocalRot">rotation llGetLocalRot()\ngets the rotation local to the root (if the script isn't physical)</string> + <string name="LSLTipText_llSetForce">llSetForce(vector force, integer local)\nsets force on object, in local coords if local == TRUE (if the script is physical)</string> + <string name="LSLTipText_llGetForce">vector llGetForce()\ngets the force (if the script is physical)</string> + <string name="LSLTipText_llTarget">integer llTarget(vector position, float range)\nset positions within range of position as a target and return an ID for the target</string> + <string name="LSLTipText_llTargetRemove">llTargetRemove(integer number)\nremoves target number</string> + <string name="LSLTipText_llRotTarget">integer llRotTarget(rotation rot, float error)\nset rotations with error of rot as a rotational target and return an ID for the rotational target</string> + <string name="LSLTipText_llRotTargetRemove">llRotTargetRemove(integer number)\nremoves rotational target number</string> + <string name="LSLTipText_llMoveToTarget">llMoveToTarget(vector target, float tau)\ncritically damp to target in tau seconds (if the script is physical)</string> + <string name="LSLTipText_llStopMoveToTarget">llStopMoveToTarget()\nStops critically damped motion</string> + <string name="LSLTipText_llApplyImpulse">llApplyImpulse(vector force, integer local)\napplies impulse to object, in local coords if local == TRUE (if the script is physical)</string> + <string name="LSLTipText_llApplyRotationalImpulse">llApplyRotationalImpulse(vector force, integer local)\napplies rotational impulse to object, in local coords if local == TRUE (if the script is physical)</string> + <string name="LSLTipText_llSetTorque">llSetTorque(vector torque, integer local)\nsets the torque of object, in local coords if local == TRUE (if the script is physical)</string> + <string name="LSLTipText_llGetTorque">vector llGetTorque()\ngets the torque (if the script is physical)</string> + <string name="LSLTipText_llSetForceAndTorque">llSetForceAndTorque(vector force, vector torque, integer local)\nsets the force and torque of object, in local coords if local == TRUE (if the script is physical)</string> + <string name="LSLTipText_llGetVel">vector llGetVel()\ngets the velocity</string> + <string name="LSLTipText_llGetAccel">vector llGetAccel()\ngets the acceleration</string> + <string name="LSLTipText_llGetOmega">vector llGetOmega()\ngets the omega</string> + <string name="LSLTipText_llGetTimeOfDay">float llGetTimeOfDay()\ngets the time in seconds since Second Life server midnight (or since server up-time; whichever is smaller)</string> + <string name="LSLTipText_llGetWallclock">float llGetWallclock()\ngets the time in seconds since midnight</string> + <string name="LSLTipText_llGetTime">float llGetTime()\ngets the time in seconds since creation</string> + <string name="LSLTipText_llResetTime">llResetTime()\nsets the time to zero</string> + <string name="LSLTipText_llGetAndResetTime">float llGetAndResetTime()\ngets the time in seconds since creation and sets the time to zero</string> + <string name="LSLTipText_llSound">llSound(string sound, float volume, integer queue, integer loop)\nplays sound at volume and whether it should loop or not</string> + <string name="LSLTipText_llPlaySound">llPlaySound(string sound, float volume)\nplays attached sound once at volume (0.0 - 1.0)</string> + <string name="LSLTipText_llLoopSound">llLoopSound(string sound, float volume)\nplays attached sound looping indefinitely at volume (0.0 - 1.0)</string> + <string name="LSLTipText_llLoopSoundMaster">llLoopSoundMaster(string sound, float volume)\nplays attached sound looping at volume (0.0 - 1.0), declares it a sync master</string> + <string name="LSLTipText_llLoopSoundSlave">llLoopSoundSlave(string sound, float volume)\nplays attached sound looping at volume (0.0 - 1.0), synced to most audible sync master</string> + <string name="LSLTipText_llPlaySoundSlave">llPlaySoundSlave(string sound, float volume)\nplays attached sound once at volume (0.0 - 1.0), synced to next loop of most audible sync master</string> + <string name="LSLTipText_llTriggerSound">llTriggerSound(string sound, float volume)\nplays sound at volume (0.0 - 1.0), centered at but not attached to object</string> + <string name="LSLTipText_llStopSound">llStopSound()\nStops currently attached sound</string> + <string name="LSLTipText_llPreloadSound">llPreloadSound(string sound)\npreloads a sound on viewers within range</string> + <string name="LSLTipText_llGetSubString">string llGetSubString(string src, integer start, integer end)\nreturns the indicated substring</string> + <string name="LSLTipText_llDeleteSubString">string llDeleteSubString(string src, integer start, integer end)\nremoves the indicated substring and returns the result</string> + <string name="LSLTipText_llInsertString">string llInsertString(string dst, integer position, string src)\ninserts src into dst at position and returns the result</string> + <string name="LSLTipText_llToUpper">string llToUpper(string src)\nconvert src to all upper case and returns the result</string> + <string name="LSLTipText_llToLower">string llToLower(string src)\nconvert src to all lower case and returns the result</string> + <string name="LSLTipText_llGiveMoney">llGiveMoney(key destination, integer amount)\ntransfer amount of money from script owner to destination</string> + <string name="LSLTipText_llMakeExplosion">llMakeExplosion(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake a round explosion of particles</string> + <string name="LSLTipText_llMakeFountain">llMakeFountain(integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset)\nMake a fountain of particles</string> + <string name="LSLTipText_llMakeSmoke">llMakeSmoke(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake smoke like particles</string> + <string name="LSLTipText_llMakeFire">llMakeFire(integer particles, float scale, float vel, float lifetime, float arc, string texture, vector offset)\nMake fire like particles</string> + <string name="LSLTipText_llRezObject">llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)\nInstanciate owners inventory object at pos with velocity vel and rotation rot with start parameter param</string> + <string name="LSLTipText_llLookAt">llLookAt(vector target, F32 strength, F32 damping)\nCause object name to point it's forward axis towards target</string> + <string name="LSLTipText_llStopLookAt">llStopLookAt()\nStop causing object name to point at a target</string> + <string name="LSLTipText_llSetTimerEvent">llSetTimerEvent(float sec)\nCause the timer event to be triggered every sec seconds</string> + <string name="LSLTipText_llSleep">llSleep(float sec)\nPut script to sleep for sec seconds</string> + <string name="LSLTipText_llGetMass">float llGetMass()\nGet the mass of task name that script is attached to</string> + <string name="LSLTipText_llCollisionFilter">llCollisionFilter(string name, key id, integer accept)\nif accept == TRUE, only accept collisions with objects name and id (either is optional), otherwise with objects not name or id</string> + <string name="LSLTipText_llTakeControls">llTakeControls(integer controls, integer accept, integer pass_on)\nTake controls from agent task has permissions for. If (accept == (controls & input)), send input to task. If pass_on send to agent also.</string> + <string name="LSLTipText_llReleaseControls">llReleaseControls()\nStop taking inputs</string> + <string name="LSLTipText_llAttachToAvatar">llAttachToAvatar(integer attachment)\nAttach to avatar task has permissions for at point attachment</string> + <string name="LSLTipText_llDetachFromAvatar">llDetachFromAvatar()\nDrop off of avatar</string> + <string name="LSLTipText_llTakeCamera">llTakeCamera(key avatar)\nMove avatar's viewpoint to task</string> + <string name="LSLTipText_llReleaseCamera">llReleaseCamera(key avatar)\nReturn camera to agent</string> + <string name="LSLTipText_llGetOwner">key llGetOwner()\nReturns the owner of the task</string> + <string name="LSLTipText_llInstantMessage">llInstantMessage(key user, string message)\nIMs message to the user</string> + <string name="LSLTipText_llEmail">llEmail(string address, string subject, string message)\nSends email to address with subject and message</string> + <string name="LSLTipText_llGetNextEmail">llGetNextEmail(string address, string subject)\nGet the next waiting email with appropriate address and/or subject (if blank they are ignored)</string> + <string name="LSLTipText_llGetKey">key llGetKey()\nGet the key for the task the script is attached to</string> + <string name="LSLTipText_llSetBuoyancy">llSetBuoyancy(float buoyancy)\nSet the tasks buoyancy (0 is none, < 1.0 sinks, 1.0 floats, > 1.0 rises)</string> + <string name="LSLTipText_llSetHoverHeight">llSetHoverHeight(float height, integer water, float tau)\nCritically damps to a height (either above ground level or above the higher of land and water if water == TRUE)</string> + <string name="LSLTipText_llStopHover">llStopHover()\nStop hovering to a height</string> + <string name="LSLTipText_llMinEventDelay">llMinEventDelay(float delay)\nSet the minimum time between events being handled</string> + <string name="LSLTipText_llSoundPreload">llSoundPreload(string sound)\npreloads a sound on viewers within range</string> + <string name="LSLTipText_llRotLookAt">llRotLookAt(rotation target, F32 strength, F32 damping)\nCause object name to point it's forward axis towards target</string> + <string name="LSLTipText_llStringLength">integer llStringLength(string str)\nReturns the length of string</string> + <string name="LSLTipText_llStartAnimation">llStartAnimation(string anim)\nStart animation anim for agent that owns object</string> + <string name="LSLTipText_llStopAnimation">llStopAnimation(string anim)\nStop animation anim for agent that owns object</string> + <string name="LSLTipText_llPointAt">llPointAt(vector pos)\nMake agent that owns object point at pos</string> + <string name="LSLTipText_llStopPointAt">llStopPointAt()\nStop agent that owns object pointing</string> + <string name="LSLTipText_llTargetOmega">llTargetOmega(vector axis, float spinrate, float gain)\nAttempt to spin at spinrate with strength gain</string> + <string name="LSLTipText_llGetStartParameter">integer llGetStartParameter()\nGet's the start paramter passed to llRezObject</string> + <string name="LSLTipText_llGodLikeRezObject">llGodLikeRezObject(key inventory, vector pos)\nrez directly off of a UUID if owner has dog-bit set</string> + <string name="LSLTipText_llRequestPermissions">llRequestPermissions(key agent, integer perm)\nask agent to allow the script to do perm (NB: Debit, ownership, link, joint, and permission requests can only go to the task's owner)</string> + <string name="LSLTipText_llGetPermissionsKey">key llGetPermissionsKey()\nReturn agent that permissions are enabled for. NULL_KEY if not enabled</string> + <string name="LSLTipText_llGetPermissions">integer llGetPermissions()\nreturn what permissions have been enabled</string> + <string name="LSLTipText_llGetLinkNumber">integer llGetLinkNumber()\nReturns what number in a link set the script is attached to (0 means no link, 1 the root, 2 for first child, etc)</string> + <string name="LSLTipText_llSetLinkColor">llSetLinkColor(integer linknumber, vector color, integer face)\nIf a task exists in the link chain at linknumber, set face to color</string> + <string name="LSLTipText_llCreateLink">llCreateLink(key target, integer parent)\nAttempt to link task script is attached to and target (requires permission PERMISSION_CHANGE_LINKS be set). If parent == TRUE, task script is attached to is the root</string> + <string name="LSLTipText_llBreakLink">llBreakLink(integer linknum)\nDelinks the task with the given link number (requires permission PERMISSION_CHANGE_LINKS be set)</string> + <string name="LSLTipText_llBreakAllLinks">llBreakAllLinks()\nDelinks all tasks in the link set (requires permission PERMISSION_CHANGE_LINKS be set)</string> + <string name="LSLTipText_llGetLinkKey">key llGetLinkKey(integer linknum)\nGet the key of linknumber in link set</string> + <string name="LSLTipText_llGetLinkName">string llGetLinkName(integer linknum)\nGet the name of linknumber in link set</string> + <string name="LSLTipText_llGetInventoryNumber">integer llGetInventoryNumber(integer type)\nGet the number of items of a given type in the task's inventory.\nValid types: INVENTORY_TEXTURE, INVENTORY_SOUND, INVENTORY_OBJECT, INVENTORY_SCRIPT, INVENTORY_CLOTHING, INVENTORY_BODYPART, INVENTORY_NOTECARD, INVENTORY_LANDMARK, INVENTORY_ALL</string> + <string name="LSLTipText_llGetInventoryName">string llGetInventoryName(integer type, integer number)\nGet the name of the inventory item number of type</string> + <string name="LSLTipText_llSetScriptState">llSetScriptState(string name, integer run)\nControl the state of a script name.</string> + <string name="LSLTipText_llGetEnergy">float llGetEnergy()\nReturns how much energy is in the object as a percentage of maximum</string> + <string name="LSLTipText_llGiveInventory">llGiveInventory(key destination, string inventory)\nGive inventory to destination</string> + <string name="LSLTipText_llRemoveInventory">llRemoveInventory(string inventory)\nRemove the named inventory item</string> + <string name="LSLTipText_llSetText">llSetText(string text, vector color, float alpha)\nSet text floating over object</string> + <string name="LSLTipText_llWater">float llWater(vector v)\nreturns the water height below the object position + v</string> + <string name="LSLTipText_llPassTouches">llPassTouches(integer pass)\nif pass == TRUE, touches are passed from children on to parents (default is FALSE)</string> + <string name="LSLTipText_llRequestAgentData">key llRequestAgentData(key id, integer data)\nRequests data about agent id. When data is available the dataserver event will be raised</string> + <string name="LSLTipText_llRequestInventoryData">key llRequestInventoryData(string name)\nRequests data from object's inventory object. When data is available the dataserver event will be raised</string> + <string name="LSLTipText_llSetDamage">llSetDamage(float damage)\nSets the amount of damage that will be done to an object that this task hits. Task will be killed.</string> + <string name="LSLTipText_llTeleportAgentHome">llTeleportAgentHome(key id)\nTeleports agent on owner's land to agent's home location</string> + <string name="LSLTipText_llModifyLand">llModifyLand(integer action, integer size)\nModify land with action (LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, LAND_REVERT)\non size (LAND_SMALL_BRUSH, LAND_MEDIUM_BRUSH, LAND_LARGE_BRUSH)</string> + <string name="LSLTipText_llCollisionSound">llCollisionSound(string impact_sound, float impact_volume)\nSuppress default collision sounds, replace default impact sounds with impact_sound (empty string to just suppress)</string> + <string name="LSLTipText_llCollisionSprite">llCollisionSprite(string impact_sprite)\nSuppress default collision sprites, replace default impact sprite with impact_sprite (empty string to just suppress)</string> + <string name="LSLTipText_llGetAnimation">string llGetAnimation(key id)\nGet the currently playing locomotion animation for avatar id</string> + <string name="LSLTipText_llResetScript">llResetScript()\nResets the script</string> + <string name="LSLTipText_llMessageLinked">llMessageLinked(integer linknum, integer num, string str, key id)\nSends num, str, and id to members of the link set (LINK_ROOT sends to root task in a linked set,\nLINK_SET sends to all tasks,\nLINK_ALL_OTHERS to all other tasks,\nLINK_ALL_CHILDREN to all children,\nLINK_THIS to the task the script it is in)</string> + <string name="LSLTipText_llPushObject">llPushObject(key id, vector impulse, vector ang_impulse, integer local)\nApplies impulse and ang_impulse to object id</string> + <string name="LSLTipText_llPassCollisions">llPassCollisions(integer pass)\nif pass == TRUE, collisions are passed from children on to parents (default is FALSE)</string> + <string name="LSLTipText_llGetScriptName">llGetScriptName()\nReturns the script name</string> + <string name="LSLTipText_llGetNumberOfSides">integer llGetNumberOfSides()\nReturns the number of sides</string> + <string name="LSLTipText_llAxisAngle2Rot">rotation llAxisAngle2Rot(vector axis, float angle)\nReturns the rotation generated angle about axis</string> + <string name="LSLTipText_llRot2Axis">vector llRot2Axis(rotation rot)\nReturns the rotation axis represented by rot</string> + <string name="LSLTipText_llRot2Angle">float llRot2Angle(rotation rot)\nReturns the rotation angle represented by rot</string> + <string name="LSLTipText_llAcos">float llAcos(float val)\nReturns the arccosine in radians of val</string> + <string name="LSLTipText_llAsin">float llAsin(float val)\nReturns the arcsine in radians of val</string> + <string name="LSLTipText_llAngleBetween">float llAngleBetween(rotation a, rotation b)\nReturns angle between rotation a and b</string> + <string name="LSLTipText_llGetInventoryKey">key llGetInventoryKey(string name)\nReturns the key of the inventory name</string> + <string name="LSLTipText_llAllowInventoryDrop">llAllowInventoryDrop(integer add)\nIf add == TRUE, users without permissions can still drop inventory items onto task</string> + <string name="LSLTipText_llGetSunDirection">vector llGetSunDirection()\nReturns the sun direction on the simulator</string> + <string name="LSLTipText_llGetTextureOffset">vector llGetTextureOffset(integer side)\nReturns the texture offset of side in the x and y components of a vector</string> + <string name="LSLTipText_llGetTextureScale">vector llGetTextureScale(integer side)\nReturns the texture scale of side in the x and y components of a vector</string> + <string name="LSLTipText_llGetTextureRot">float llGetTextureRot(integer side)\nReturns the texture rotation of side</string> + <string name="LSLTipText_llSubStringIndex">integer llSubStringIndex(string source, string pattern)\nFinds index in source where pattern first appears (returns -1 if not found)</string> + <string name="LSLTipText_llGetOwnerKey">key llGetOwnerKey(key id)\nFind the owner of id</string> + <string name="LSLTipText_llGetCenterOfMass">vector llGetCenterOfMass()\nGet the object's center of mass</string> + <string name="LSLTipText_llListSort">list llListSort(list src, integer stride, integer ascending)\nSort the list into blocks of stride in ascending order if ascending == TRUE. Note that sort only works between same types.</string> + <string name="LSLTipText_llGetListLength">integer llGetListLength(list src)\nGet the number of elements in the list</string> + <string name="LSLTipText_llList2Integer">integer llList2Integer(list src, integer index)\nCopy the integer at index in the list</string> + <string name="LSLTipText_llList2Float">float llList2Float(list src, integer index)\nCopy the float at index in the list</string> + <string name="LSLTipText_llList2String">string llList2String(list src, integer index)\nCopy the string at index in the list</string> + <string name="LSLTipText_llList2Key">key llList2Key(list src, integer index)\nCopy the key at index in the list</string> + <string name="LSLTipText_llList2Vector">vector llList2Vector(list src, integer index)\nCopy the vector at index in the list</string> + <string name="LSLTipText_llList2Rot">rotation llList2Rot(list src, integer index)\nCopy the rotation at index in the list</string> + <string name="LSLTipText_llList2List">list llList2List(list src, integer start, integer end)\nCopy the slice of the list from start to end</string> + <string name="LSLTipText_llDeleteSubList">list llDeleteSubList(list src, integer start, integer end)\nRemove the slice from the list and return the remainder</string> + <string name="LSLTipText_llGetListEntryType">integer llGetListEntryType(list src, integer index)\nReturns the type of the index entry in the list\n(TYPE_INTEGER, TYPE_FLOAT, TYPE_STRING, TYPE_KEY, TYPE_VECTOR, TYPE_ROTATION, or TYPE_INVALID if index is off list)</string> + <string name="LSLTipText_llList2CSV">string llList2CSV(list src)\nCreate a string of comma separated values from list</string> + <string name="LSLTipText_llCSV2List">list llCSV2List(string src)\nCreate a list from a string of comma separated values</string> + <string name="LSLTipText_llListRandomize">list llListRandomize(list src, integer stride)\nReturns a randomized list of blocks of size stride</string> + <string name="LSLTipText_llList2ListStrided">list llList2ListStrided(list src, integer start, integer end, integer stride)\nCopy the strided slice of the list from start to end</string> + <string name="LSLTipText_llGetRegionCorner">vector llGetRegionCorner()\nReturns a vector with the south west corner x,y position of the region the object is in</string> + <string name="LSLTipText_llListInsertList">list llListInsertList(list dest, list src, integer start)\nInserts src into dest at position start</string> + <string name="LSLTipText_llListFindList">integer llListFindList(list src, list test)\nReturns the start of the first instance of test in src, -1 if not found</string> + <string name="LSLTipText_llGetObjectName">string llGetObjectName()\nReturns the name of the object script is attached to</string> + <string name="LSLTipText_llSetObjectName">llSetObjectName(string name)\nSets the objects name</string> + <string name="LSLTipText_llGetDate">string llGetDate()\nGets the date as YYYY-MM-DD</string> + <string name="LSLTipText_llEdgeOfWorld">integer llEdgeOfWorld(vector pos, vector dir)\nChecks to see whether the border hit by dir from pos is the edge of the world (has no neighboring simulator)</string> + <string name="LSLTipText_llGetAgentInfo">integer llGetAgentInfo(key id)\nGets information about agent ID.\nReturns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR.</string> + <string name="LSLTipText_llAdjustSoundVolume">llAdjustSoundVolume(float volume)\nadjusts volume of attached sound (0.0 - 1.0)</string> + <string name="LSLTipText_llSetSoundQueueing">llSetSoundQueueing(integer queue)\ndetermines whether attached sound calls wait for the current sound to finish (0 = no [default], nonzero = yes)</string> + <string name="LSLTipText_llSetSoundRadius">llSetSoundRadius(float radius)\nestablishes a hard cut-off radius for audibility of scripted sounds (both attached and triggered)</string> + <string name="LSLTipText_llKey2Name">string llKey2Name(key id)\nReturns the name of the object key, iff the object is in the current simulator, otherwise the empty string</string> + <string name="LSLTipText_llSetTextureAnim">llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate)\nAnimate the texture on the specified face/faces</string> + <string name="LSLTipText_llTriggerSoundLimited">llTriggerSoundLimited(string sound, float volume, vector tne, vector bsw)\nplays sound at volume (0.0 - 1.0), centered at but not attached to object, limited to AABB defined by vectors top-north-east and bottom-south-west</string> + <string name="LSLTipText_llEjectFromLand">llEjectFromLand(key pest)\nEjects pest from land that you own</string> + <string name="LSLTipText_llParseString2List">list llParseString2List(string src, list separators, list spacers)\nBreaks src into a list, discarding separators, keeping spacers (separators and spacers must be lists of strings, maximum of 8 each)</string> + <string name="LSLTipText_llOverMyLand">integer llOverMyLand(key id)\nReturns TRUE if id is over land owner of object owns, FALSE otherwise</string> + <string name="LSLTipText_llGetLandOwnerAt">key llGetLandOwnerAt(vector pos)\nReturns the key of the land owner, NULL_KEY if public</string> + <string name="LSLTipText_llGetNotecardLine">key llGetNotecardLine(string name, integer line)\nReturns line line of notecard name via the dataserver event</string> + <string name="LSLTipText_llGetAgentSize">vector llGetAgentSize(key id)\nIf the agent is in the same sim as the object, returns the size of the avatar</string> + <string name="LSLTipText_llSameGroup">integer llSameGroup(key id)\nReturns TRUE if ID is in the same sim and has the same active group, otherwise FALSE</string> + <string name="LSLTipText_llUnSit">key llUnSit(key id)\nIf agent identified by id is sitting on the object the script is attached to or is over land owned by the objects owner, the agent is forced to stand up</string> + <string name="LSLTipText_llGroundSlope">vector llGroundSlope(vector v)\nreturns the ground slope below the object position + v</string> + <string name="LSLTipText_llGroundNormal">vector llGroundNormal(vector v)\nreturns the ground normal below the object position + v</string> + <string name="LSLTipText_llGroundContour">vector llGroundCountour(vector v)\nreturns the ground contour below the object position + v</string> + <string name="LSLTipText_llGetAttached">integer llGetAttached()\nreturns the object attachment point or 0 if not attached</string> + <string name="LSLTipText_llGetFreeMemory">integer llGetFreeMemory()\nreturns the available heap space for the current script</string> + <string name="LSLTipText_llGetRegionName">string llGetRegionName()\nreturns the current region name</string> + <string name="LSLTipText_llGetRegionTimeDilation">float llGetRegionTimeDilation()\nreturns the current time dilation as a float between 0 and 1</string> + <string name="LSLTipText_llGetRegionFPS">float llGetRegionFPS()\nreturns the mean region frames per second</string> + <string name="LSLTipText_llParticleSystem">llParticleSystem(list rules)\nCreates a particle system based on rules. Empty list removes particle system from object.\nList format is [ rule1, data1, rule2, data2 . . . rulen, datan ]</string> + <string name="LSLTipText_llGroundRepel">llGroundRepel(float height, integer water, float tau)\nCritically damps to height if within height*0.5 of level (either above ground level or above the higher of land and water if water == TRUE)</string> + <string name="LSLTipText_llGiveInventoryList">llGiveInventoryList(key destination, string category, list inventory)\nGive inventory to destination in a new category</string> + <string name="LSLTipText_llSetVehicleType">llSetVehicleType(integer type)\nsets vehicle to one of the default types</string> + <string name="LSLTipText_llSetVehicleFloatParam">llSetVehicleFloatParam(integer param, float value)\nsets the specified vehicle float parameter</string> + <string name="LSLTipText_llSetVehicleVectorParam">llSetVehicleVectorParam(integer param, vector vec)\nsets the specified vehicle vector parameter</string> + <string name="LSLTipText_llSetVehicleRotationParam">llSetVehicleVectorParam(integer param, rotation rot)\nsets the specified vehicle rotation parameter</string> + <string name="LSLTipText_llSetVehicleFlags">llSetVehicleFlags(integer flags)\nsets the enabled bits in 'flags'</string> + <string name="LSLTipText_llRemoveVehicleFlags">llRemoveVehicleFlags(integer flags)\nremoves the enabled bits in 'flags'</string> + <string name="LSLTipText_llSitTarget">llSitTarget(vector offset, rotation rot)\nSet the sit location for this object (if offset == <0,0,0> clear it)</string> + <string name="LSLTipText_llAvatarOnSitTarget">key llAvatarOnSitTarget()\nIf an avatar is sitting on the sit target, return the avatar's key, NULL_KEY otherwise</string> + <string name="LSLTipText_llAddToLandPassList">llAddToLandPassList(key avatar, float hours)\nAdd avatar to the land pass list for hours</string> + <string name="LSLTipText_llSetTouchText">llSetTouchText(string text)\nDisplays text in pie menu that acts as a touch</string> + <string name="LSLTipText_llSetSitText">llSetSitText(string text)\nDisplays text rather than sit in pie menu</string> + <string name="LSLTipText_llSetCameraEyeOffset">llSetCameraEyeOffset(vector offset)\nSets the camera eye offset used in this object if an avatar sits on it</string> + <string name="LSLTipText_llSetCameraAtOffset">llSetCameraAtOffset(vector offset)\nSets the camera at offset used in this object if an avatar sits on it</string> + <string name="LSLTipText_llDumpList2String">string llDumpList2String(list src, string separator)\nWrite the list out in a single string using separator between values</string> + <string name="LSLTipText_llScriptDanger">integer llScriptDanger(vector pos)\nReturns true if pos is over public land, sandbox land, land that doesn't allow everyone to edit and build, or land that doesn't allow outside scripts</string> + <string name="LSLTipText_llDialog">llDialog(key avatar, string message, list buttons, integer chat_channel\nShows a dialog box on the avatar's screen with the message.\nUp to 12 strings in the list form buttons.\nIf a button is clicked, the name is chatted on chat_channel.</string> + <string name="LSLTipText_llVolumeDetect">llVolumeDetect(integer detect)\nIf detect = TRUE, object becomes phantom but triggers collision_start and collision_end events\nwhen other objects start and stop interpenetrating.\nMust be applied to the root object.</string> + <string name="LSLTipText_llResetOtherScript">llResetOtherScript(string name)\nResets script name</string> + <string name="LSLTipText_llGetScriptState">integer llGetScriptState(string name)\nResets TRUE if script name is running</string> + <string name="LSLTipText_llRemoteLoadScript">Deprecated. Please use llRemoteLoadScriptPin instead.</string> + <string name="LSLTipText_llSetRemoteScriptAccessPin">llSetRemoteScriptAccessPin(integer pin)\nIf pin is set to a non-zero number, the task will accept remote script\nloads via llRemoteLoadScriptPin if it passes in the correct pin.\nOthersise, llRemoteLoadScriptPin is ignored.</string> + <string name="LSLTipText_llRemoteLoadScriptPin">llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)\nIf the owner of the object this script is attached can modify target,\nthey are in the same region,\nand the matching pin is used,\ncopy script name onto target,\nif running == TRUE, start the script with param.</string> + <string name="LSLTipText_llOpenRemoteDataChannel">llOpenRemoteDataChannel()\nCreates a channel to listen for XML-RPC calls. Will trigger a remote_data event with channel id once it is available.</string> + <string name="LSLTipText_llSendRemoteData">key llSendRemoteData(key channel, string dest, integer idata, string sdata)\nSend an XML-RPC request to dest through channel with payload of channel (in a string), integer idata and string sdata.\nA message identifier key is returned.\nAn XML-RPC reply will trigger a remote_data event and reference the message id.\nThe message_id is returned.</string> + <string name="LSLTipText_llRemoteDataReply">llRemoteDataReply(key channel, key message_id, string sdata, integer idata)\nSend an XML-RPC reply to message_id on channel with payload of string sdata and integer idata</string> + <string name="LSLTipText_llCloseRemoteDataChannel">llCloseRemoteDataChannel(key channel)\nCloses XML-RPC channel.</string> + <string name="LSLTipText_llMD5String">string llMD5String(string src, integer nonce)\nPerforms a RSA Data Security, Inc. MD5 Message-Digest Algorithm on string with nonce. Returns a 32 character hex string.</string> + <string name="LSLTipText_llSetPrimitiveParams">llSetPrimitiveParams(list rules)\nSet primitive parameters based on rules.</string> + <string name="LSLTipText_llStringToBase64">string llStringToBase64(string str)\nConverts a string to the Base 64 representation of the string.</string> + <string name="LSLTipText_llBase64ToString">string llBase64ToString(string str)\nConverts a Base 64 string to a conventional string. If the conversion creates any unprintable characters, they are converted to spaces.</string> + <string name="LSLTipText_llXorBase64Strings">string llXorBase64Strings(string s1, string s2)\nDEPRECATED! Please use llXorBase64StringsCorrect instead!! Incorrectly performs an exclusive or on two Base 64 strings and returns a Base 64 string. s2 repeats if it is shorter than s1. Retained for backwards compatability.</string> + <string name="LSLTipText_llRemoteDataSetRegion">llRemoteDataSetRegion()\nIf an object using remote data channels changes regions, you must call this function to reregister the remote data channels.\nYou do not need to make this call if you don't change regions.</string> + <string name="LSLTipText_llLog10">float llLog10(float val)\nReturns the base 10 log of val if val > 0, otherwise returns 0.</string> + <string name="LSLTipText_llLog">float llLog(float val)\nReturns the base e log of val if val > 0, otherwise returns 0.</string> + <string name="LSLTipText_llGetAnimationList">list llGetAnimationList(key id)\nGets a list of all playing animations for avatar id</string> + <string name="LSLTipText_llSetParcelMusicURL">llSetParcelMusicURL(string url)\nSets the streaming audio URL for the parcel object is on</string> + <string name="LSLTipText_llGetRootPosition">vector llGetRootPosition()\nGets the global position of the root object of the object script is attached to</string> + <string name="LSLTipText_llGetRootRotation">rotation llGetRootRotation()\nGets the global rotation of the root object of the object script is attached to</string> + <string name="LSLTipText_llGetObjectDesc">string llGetObjectDesc()\nReturns the description of the object the script is attached to</string> + <string name="LSLTipText_llSetObjectDesc">llSetObjectDesc(string name)\nSets the object's description</string> + <string name="LSLTipText_llGetCreator">key llGetCreator()\nReturns the creator of the object</string> + <string name="LSLTipText_llGetTimestamp">string llGetTimestamp()\nGets the timestamp in the format: YYYY-MM-DDThh:mm:ss.ff..fZ</string> + <string name="LSLTipText_llSetLinkAlpha">llSetLinkAlpha(integer linknumber, float alpha, integer face)\nIf a prim exists in the link chain at linknumber, set face to alpha</string> + <string name="LSLTipText_llGetNumberOfPrims">integer llGetNumberOfPrims()\nReturns the number of prims in a link set the script is attached to</string> + <string name="LSLTipText_llGetNumberOfNotecardLines">key llGetNumberOfNotecardLines(string name)\nReturns number of lines in notecard 'name' via the dataserver event (cast return value to integer)</string> + <string name="LSLTipText_llGetBoundingBox">list llGetBoundingBox(key object)\nReturns the bounding box around an object (including any linked prims) relative to the root prim, in a list: [ (vector) min_corner, (vector) max_corner ]</string> + <string name="LSLTipText_llGetGeometricCenter">vector llGetGeometricCenter()\nReturns the geometric center of the linked set the script is attached to.</string> + <string name="LSLTipText_llGetPrimitiveParams">list llGetPrimitiveParams(list params)\nGets primitive parameters specified in the params list.</string> + <string name="LSLTipText_llIntegerToBase64">string llIntegerToBase64(integer number)\nBig endian encode of of integer as a Base64 string.</string> + <string name="LSLTipText_llBase64ToInteger">integer llBase64ToInteger(string str)\nBig endian decode of a Base64 string into an integer.</string> + <string name="LSLTipText_llGetGMTclock">float llGetGMTclock()\nGets the time in seconds since midnight in GMT</string> + <string name="LSLTipText_llGetSimulatorHostname">string llGetSimulatorHostname()\nGets the hostname of the machine script is running on (same as string in viewer Help dialog)</string> + <string name="LSLTipText_llSetLocalRot">llSetLocalRot(rotation rot)\nsets the rotation of a child prim relative to the root prim</string> + <string name="LSLTipText_llParseStringKeepNulls">list llParseStringKeepNulls(string src, list separators, list spacers)\nBreaks src into a list, discarding separators, keeping spacers (separators and spacers must be lists of strings, maximum of 8 each), keeping any null values generated.</string> + <string name="LSLTipText_llRezAtRoot">llRezAtRoot(string inventory, vector pos, vector vel, rotation rot, integer param)\nInstantiate owner's inventory object at pos with velocity vel and rotation rot with start parameter param.\nThe last selected root object's location will be set to pos</string> + <string name="LSLTipText_llGetObjectPermMask">integer llGetObjectPermMask(integer mask)\nReturns the requested permission mask for the root object the task is attached to.</string> + <string name="LSLTipText_llSetObjectPermMask">llSetObjectPermMask(integer mask, integer value)\nSets the given permission mask to the new value on the root object the task is attached to.</string> + <string name="LSLTipText_llGetInventoryPermMask">integer llGetInventoryPermMask(string item, integer mask)\nReturns the requested permission mask for the inventory item.</string> + <string name="LSLTipText_llSetInventoryPermMask">llSetInventoryPermMask(string item, integer mask, integer value)\nSets the given permission mask to the new value on the inventory item.</string> + <string name="LSLTipText_llGetInventoryCreator">key llGetInventoryCreator(string item)\nReturns the key for the creator of the inventory item.</string> + <string name="LSLTipText_llOwnerSay">llOwnerSay(string msg)\nsays msg to owner only (if owner in sim)</string> + <string name="LSLTipText_llRequestSimulatorData">key llRequestSimulatorData(string simulator, integer data)\nRequests data about simulator. When data is available the dataserver event will be raised</string> + <string name="LSLTipText_llForceMouselook">llForceMouselook(integer mouselook)\nIf mouselook is TRUE any avatar that sits on this object is forced into mouselook mode</string> + <string name="LSLTipText_llGetObjectMass">float llGetObjectMass(key id)\nGet the mass of the object with key id</string> + <string name="LSLTipText_llListReplaceList">list llListReplaceList(list dest, list src, integer start, integer end)\nReplaces start through end of dest with src.</string> + <string name="LSLTipText_llLoadURL">llLoadURL(key avatar_id, string message, string url)\nShows dialog to avatar avatar_id offering to load web page at URL. If user clicks yes, launches their web browser.</string> + <string name="LSLTipText_llParcelMediaCommandList">llParcelMediaCommandList(list command)\nSends a list of commands, some with arguments, to a parcel.</string> + <string name="LSLTipText_llParcelMediaQuery">list llParcelMediaQuery(list query)\nSends a list of queries, returns a list of results.</string> + <string name="LSLTipText_llModPow">integer llModPow(integer a, integer b, integer c)\nReturns a raised to the b power, mod c. ( (a**b)%c ). b is capped at 0xFFFF (16 bits).</string> + <string name="LSLTipText_llGetInventoryType">integer llGetInventoryType(string name)\nReturns the type of the inventory name</string> + <string name="LSLTipText_llSetPayPrice">llSetPayPrice(integer price, list quick_pay_buttons)\nSets the default amount when someone chooses to pay this object.</string> + <string name="LSLTipText_llGetCameraPos">vector llGetCameraPos()\nGets current camera position for agent task has permissions for.</string> + <string name="LSLTipText_llGetCameraRot">rotation llGetCameraRot()\nGets current camera orientation for agent task has permissions for.</string> + <string name="LSLTipText_llSetPrimURL">llSetPrimURL(string url)\nUpdates the URL for the web page shown on the sides of the object.</string> + <string name="LSLTipText_llRefreshPrimURL">llRefreshPrimURL()\nReloads the web page shown on the sides of the object.</string> + <string name="LSLTipText_llEscapeURL">string llEscapeURL(string url)\nReturns and escaped/encoded version of url, replacing spaces with %20 etc.</string> + <string name="LSLTipText_llUnescapeURL">string llUnescapeURL(string url)\nReturns and unescaped/unencoded version of url, replacing %20 with spaces etc.</string> + <string name="LSLTipText_llMapDestination">llMapDestination(string simname, vector pos, vector look_at)\nOpens world map centered on region with pos highlighted.\nOnly works for scripts attached to avatar, or during touch events.\n(NOTE: look_at currently does nothing)</string> + <string name="LSLTipText_llAddToLandBanList">llAddToLandBanList(key avatar, float hours)\nAdd avatar to the land ban list for hours</string> + <string name="LSLTipText_llRemoveFromLandPassList">llRemoveFromLandPassList(key avatar)\nRemove avatar from the land pass list</string> + <string name="LSLTipText_llRemoveFromLandBanList">llRemoveFromLandBanList(key avatar)\nRemove avatar from the land ban list</string> + <string name="LSLTipText_llSetCameraParams">llSetCameraParams(list rules)\nSets multiple camera parameters at once.\nList format is [ rule1, data1, rule2, data2 . . . rulen, datan ]</string> + <string name="LSLTipText_llClearCameraParams">llClearCameraParams()\nResets all camera parameters to default values and turns off scripted camera control.</string> + <string name="LSLTipText_llListStatistics">float llListStatistics(integer operation, list l)\nPerform statistical aggregate functions on list l using LIST_STAT_* operations.</string> + <string name="LSLTipText_llGetUnixTime">integer llGetUnixTime()\nGet the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock.</string> + <string name="LSLTipText_llGetParcelFlags">integer llGetParcelFlags(vector pos)\nGet the parcel flags (PARCEL_FLAG_*) for the parcel including the point pos.</string> + <string name="LSLTipText_llGetRegionFlags">integer llGetRegionFlags()\nGet the region flags (REGION_FLAG_*) for the region the object is in.</string> + <string name="LSLTipText_llXorBase64StringsCorrect">string llXorBase64StringsCorrect(string s1, string s2)\nCorrectly performs an exclusive or on two Base 64 strings and returns a Base 64 string. s2 repeats if it is shorter than s1.</string> + <string name="LSLTipText_llHTTPRequest">llHTTPRequest(string url, list parameters, string body)\nSend an HTTP request.</string> + <string name="LSLTipText_llResetLandBanList">llResetLandBanList()\nRemoves all residents from the land ban list.</string> + <string name="LSLTipText_llResetLandPassList">llResetLandPassList()\nRemoves all residents from the land access/pass list.</string> + <string name="LSLTipText_llGetObjectPrimCount">integer llGetObjectPrimCount(key object_id)\nReturns the total number of prims for an object.</string> + <string name="LSLTipText_llGetParcelPrimOwners">list llGetParcelPrimOwners(vector pos)\nReturns a list of all residents who own objects on the parcel and the number of objects they own.\nRequires owner-like permissions for the parcel.</string> + <string name="LSLTipText_llGetParcelPrimCount">integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide)\nGets the number of prims on the parcel of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP.</string> + <string name="LSLTipText_llGetParcelMaxPrims">integer llGetParcelMaxPrims(vector pos, integer sim_wide)\nGets the maximum number of prims allowed on the parcel at pos.</string> + <string name="LSLTipText_llGetParcelDetails">list llGetParcelDetails(vector pos, list params)\nGets the parcel details specified in params for the parcel at pos.\nParams is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA</string> + <string name="LSLTipText_llSetLinkPrimitiveParams">llSetLinkPrimitiveParams(integer linknumber, list rules)\nSet primitive parameters for linknumber based on rules.</string> + <string name="LSLTipText_llSetLinkTexture">llSetLinkTexture(integer link_pos, string texture, integer face)\nSets the texture of face for link_pos</string> + <string name="LSLTipText_llStringTrim">string llStringTrim(string src, integer trim_type)\nTrim leading and/or trailing spaces from a string.\nUses trim_type of STRING_TRIM, STRING_TRIM_HEAD or STRING_TRIM_TAIL.</string> + <string name="LSLTipText_llRegionSay">llRegionSay(integer channel, string msg)\nbroadcasts msg to entire region on channel (not 0.)</string> + <string name="LSLTipText_llGetObjectDetails">list llGetObjectDetails(key id, list params)\nGets the object details specified in params for the object with key id.\nDetails are OBJECT_NAME, _DESC, _POS, _ROT, _VELOCITY, _OWNER, _GROUP, _CREATOR.</string> + <string name="LSLTipText_llSetClickAction">llSetClickAction(integer action)\nSets the action performed when a prim is clicked upon.</string> + <string name="LSLTipText_llGetRegionAgentCount">int llGetRegionAgentCount()\nreturns the number of agents in a region</string> + <string name="LSLTipText_llTextBox">llTextBox(key avatar, string message, integer chat_channel\nShows a dialog box on the avatar's screen with the message.\nA text box asks for input, and if entered the text is chatted on chat_channel.</string> + <string name="LSLTipText_llGetAgentLanguage">string llGetAgentLanguage(key id)\nGets the agents preferred language..</string> + <string name="LSLTipText_llDetectedTouchUV">vector llDetectedTouchUV(integer number)\nreturns the u and v coordinates in the first two components of a vector, for a triggered touch event</string> + <string name="LSLTipText_llDetectedTouchFace">integer llDetectedTouchFace(integer number)\nreturns the index of the face on the object for a triggered touch event</string> + <string name="LSLTipText_llDetectedTouchPos">vector llDetectedTouchPos(integer number)\nreturns the position touched for a triggered touch event</string> + <string name="LSLTipText_llDetectedTouchNormal">vector llDetectedTouchNormal(integer number)\nreturns the surface normal for a triggered touch event</string> + <string name="LSLTipText_llDetectedTouchBinormal">vector llDetectedTouchBinormal(integer number)\nreturns the surface binormal for a triggered touch event</string> + <string name="LSLTipText_llDetectedTouchST">vector llDetectedTouchST(integer number)\nreturns the s and t coordinates in the first two components of a vector, for a triggered touch event</string> + <string name="LSLTipText_llSHA1String">string llSHA1String(string sr)\nPerforms a SHA1 security Hash. Returns a 40 character hex string.</string> + <string name="LSLTipText_llGetFreeURLs">integer llGetFreeURLs()\nreturns the available urls for the current script</string> + <string name="LSLTipText_llRequestURL">key llRequestURL()\nRequests one HTTP:// url for use by this object\nTriggers an http_server event with results.</string> + <string name="LSLTipText_llRequestSecureURL">key llRequestSecureURL()\nRequests one HTTPS:// (SSL) url for use by this object\nTriggers an http_server event with results.</string> + <string name="LSLTipText_llReleaseURL">llReleaseURL(string url)\nReleases the specified URL, it will no longer be usable.</string> + <string name="LSLTipText_llHTTPResponse">llHTTPResponse(key id, integer status, string body)\nResponds to request id with status and body.</string> + <string name="LSLTipText_llGetHTTPHeader">string llGetHTTPHeader(key id, string header)\nGet the value for header for request id.</string> + <!-- Avatar busy/away mode --> <string name="AvatarSetNotAway">Set Not Away</string> <string name="AvatarSetAway">Set Away</string> @@ -413,6 +767,10 @@ this texture in your inventory <string name="InvFolder Current Outfit">Current Outfit</string> <string name="InvFolder My Outfits">My Outfits</string> + <!-- are used for Friends and Friends/All folders in Inventory "Calling cards" folder. See EXT-694--> + <string name="InvFolder Friends">Friends</string> + <string name="InvFolder All">All</string> + <!-- inventory FVBridge --> <string name="Buy">Buy</string> <string name="BuyforL$">Buy for L$</string> @@ -944,16 +1302,16 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. <!-- Strings used by the (currently Linux) auto-updater app --> <string name="UpdaterWindowTitle"> - [SECOND_LIFE_VIEWER] Update + [APP_NAME] Update </string> <string name="UpdaterNowUpdating"> - Now updating [SECOND_LIFE_VIEWER]... + Now updating [APP_NAME]... </string> <string name="UpdaterNowInstalling"> - Installing [SECOND_LIFE_VIEWER]... + Installing [APP_NAME]... </string> <string name="UpdaterUpdatingDescriptive"> - Your [SECOND_LIFE_VIEWER] Viewer is being updated to the latest release. This may take some time, so please be patient. + Your [APP_NAME] Viewer is being updated to the latest release. This may take some time, so please be patient. </string> <string name="UpdaterProgressBarTextWithEllipses"> Downloading update... @@ -965,7 +1323,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Failed to download update </string> <string name="UpdaterFailUpdateDescriptive"> - An error occurred while updating Second Life. Please download the latest version from www.secondlife.com. + An error occurred while updating [APP_NAME]. Please download the latest version from www.secondlife.com. </string> <string name="UpdaterFailInstallTitle"> Failed to install update @@ -973,5 +1331,4 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. <string name="UpdaterFailStartTitle"> Failed to start viewer </string> - </strings> diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml index 7aad55fb37..6dfb6ecf9c 100644 --- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml +++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml @@ -3,7 +3,7 @@ tab_max_width="150" tab_top_image_unselected="TabTop_Middle_Off" tab_top_image_selected="TabTop_Middle_Selected" - tab_bottom_image_unselected="tab_bottom_blue.tga" - tab_bottom_image_selected="tab_bottom_selected_blue.tga" + tab_bottom_image_unselected="Toolbar_Left_Off" + tab_bottom_image_selected="Toolbar_Left_Selected" tab_left_image_unselected="TabTop_Left_Off" tab_left_image_selected="TabTop_Left_Selected"/>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml index d6fbc38752..3e0f6513cc 100644 --- a/indra/newview/skins/default/xui/es/floater_about.xml +++ b/indra/newview/skins/default/xui/es/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="Acerca de Second Life"> +<floater name="floater_about" title="Acerca de [APP_NAME]"> <text_editor name="credits_editor"> - Le ofrecen Second Life Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, y otros muchos. + Le ofrecen Second Life Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, y otros muchos. - Gracias a todos estos residentes por contribuir a garantizar que, por el momento, esta es la mejor versión: + Gracias a todos estos residentes por contribuir a garantizar que esta es la mejor versión: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/es/floater_postcard.xml b/indra/newview/skins/default/xui/es/floater_postcard.xml index 06f8e7294a..0ebf459cef 100644 --- a/indra/newview/skins/default/xui/es/floater_postcard.xml +++ b/indra/newview/skins/default/xui/es/floater_postcard.xml @@ -1,11 +1,15 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Postcard" title="Foto por correo electrónico"> <text name="to_label"> - Correo electrónico del destinatario: + Correo electrónico + del destinatario: </text> - <text name="from_label"> - Su correo electrónico: + <line_editor bottom_delta="-20" name="to_form" /> + <text name="from_label" bottom_delta="-12"> + Su correo + electrónico: </text> + <line_editor bottom_delta="-20" name="from_form" /> <text name="name_label"> Su nombre: </text> @@ -13,19 +17,20 @@ Asunto: </text> <line_editor label="Escriba aquí el asunto." name="subject_form"/> - <text name="msg_label"> + <text name="msg_label" bottom_delta="-18"> Mensaje: </text> <text_editor name="msg_form"> Escriba aquí el mensaje. </text_editor> - <text name="fine_print"> - Si su destinatario se registra en SL, usted conseguirá un bono de referido. + <text name="fine_print" bottom_delta="-21"> + Si su destinatario se registra en [SECOND_LIFE], +usted conseguirá un bono de referido. </text> <button label="Cancelar" name="cancel_btn"/> <button label="Enviar" name="send_btn"/> <string name="default_subject"> - Postal desde Second Life. + Postal desde [SECOND_LIFE] </string> <string name="default_message"> ¡Mira esto! diff --git a/indra/newview/skins/default/xui/es/floater_tos.xml b/indra/newview/skins/default/xui/es/floater_tos.xml index 9f2ff615f3..d46c84cb03 100644 --- a/indra/newview/skins/default/xui/es/floater_tos.xml +++ b/indra/newview/skins/default/xui/es/floater_tos.xml @@ -4,8 +4,8 @@ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/> <check_box label="Estoy de acuerdo con las Condiciones del Servicio" name="agree_chk"/> <text name="tos_heading"> - Por favor, lea cuidadosamente las siguientes Condiciones del Servicio. Si quiere seguir iniciando sesión en Second Life, -debe aceptar el acuerdo. + Por favor, lea cuidadosamente las siguientes Condiciones del Servicio. Si quiere seguir +iniciando sesión en [SECOND_LIFE], debe aceptar el acuerdo. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml index a60e41d896..1cf6ad5ae6 100644 --- a/indra/newview/skins/default/xui/es/menu_login.xml +++ b/indra/newview/skins/default/xui/es/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Preferencias..." name="Preferences..."/> </menu> <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de Second Life" name="Second Life Help"/> - <menu_item_call label="Acerca de Second Life..." name="About Second Life..."/> + <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Acerca de [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index 0712440e1f..33754f3935 100644 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -119,8 +119,12 @@ <menu_item_call label="Parar la animación de mi avatar" name="Stop Animating My Avatar"/> <menu_item_call label="Recuperar las teclas" name="Release Keys"/> <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Historial de mi cuenta..." name="Account History..."/> - <menu_item_call label="Administrar mi cuenta..." name="Manage My Account..."/> + <menu_item_call label="Historial de mi cuenta..." name="Account History..."> + <on_click name="AccountHistory_url" userdata="WebLaunchAccountHistory,http://secondlife.com/account/transactions.php?lang=es"/> + </menu_item_call> + <menu_item_call label="Administrar mi cuenta..." name="Manage My Account..."> + <on_click name="ManageMyAccount_url" userdata="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=es"/> + </menu_item_call> <menu_item_call label="Comprar L$..." name="Buy and Sell L$..."/> <menu_item_separator label="-----------" name="separator5"/> <menu_item_call label="Mi terreno..." name="My Land..."/> @@ -165,7 +169,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Visión en lo seleccionado" name="Focus on Selection"/> <menu_item_call label="Zoom en lo seleccionado" name="Zoom to Selection"/> - <menu_item_call label="Comprar el objeto" name="Menu Object Take"/> + <menu_item_call label="Comprar el objeto" name="Menu Object Take"> + <on_enable userdata="Comprar el objeto,Coger el objeto" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Coger una copia" name="Take Copy"/> <menu_item_call label="Devolver una copia del objeto a los contenidos de donde salió" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -179,7 +185,7 @@ <menu_item_call label="Definir los scripts a no ejecutar en lo seleccionado" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Ayuda" name="Help"> - <menu_item_call label="Ayuda de Second Life" name="Second Life Help"/> + <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Tutorial" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Blog oficial..." name="Official Linden Blog..."/> @@ -200,6 +206,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Informar de un fallo..." name="Report Bug..."/> </menu> - <menu_item_call label="Acerca de Second Life..." name="About Second Life..."/> + <menu_item_call label="Acerca de [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index f045c6fe9e..5778e48fcf 100644 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Mensaje de alerta desconocida" name="MissingAlert"> - Su versión de Second Life no sabe cómo mostrar el mensaje de alerta que acaba de recibir. + Su versión de [APP_NAME] no sabe cómo mostrar el mensaje de alerta que acaba de recibir. Detalles del error: no se ha encontrado en notifications.xml la alerta llamada '[_NAME]'. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Detalles del error: no se ha encontrado en notifications.xml la alerta llamada & <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Sí"/> </notification> <notification name="BadInstallation"> - Ha habido un error al actualizar Second Life. Por favor, descargue la última versión desde secondlife.com. + Ha habido un error al actualizar [APP_NAME]. Por favor, descargue la última versión desde secondlife.com. <usetemplate name="okbutton" yestext="OK"/> @@ -229,7 +229,7 @@ Marcando este ítem, se mostrará: <notification name="ClickPartnerHelpAvatar"> Puede proponérselo a otro residente o disolver su relación con un/a compañero/a en el sitio web de [SECOND_LIFE]. -¿Ir al sitio web de Second Life para tener más información sobre este asunto? +¿Ir al sitio web de [SECOND_LIFE] para tener más información sobre este asunto? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ir a la página"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -267,7 +267,7 @@ Su precio de venta será de [SALE_PRICE] L$, y se autorizará la compra sólo a <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - ATENCIÓN: Al pulsar 'vender a cualquiera', su terreno estará disponible para toda la comunidad de Second Life, incluso para quienes no están en esta región. + ATENCIÓN: Al pulsar 'vender a cualquiera', su terreno estará disponible para toda la comunidad de [SECOND_LIFE], incluso para quienes no están en esta región. Los [LAND_SIZE] m² de terreno seleccionados se van a poner a la venta. Su precio de venta será de [SALE_PRICE] L$, y se autorizará la compra a [NAME]. @@ -415,17 +415,17 @@ No se reembolsan las cuotas pagadas. <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="CacheWillClear"> - La caché se limpiará cuando reinicie [SECOND_LIFE]. + La caché se limpiará cuando reinicie [APP_NAME]. </notification> <notification name="CacheWillBeMoved"> - La caché se moverá cuando reinicie [SECOND_LIFE]. + La caché se moverá cuando reinicie [APP_NAME]. Nota: esto limpiará la caché. </notification> <notification name="ChangeConnectionPort"> - Las configuraciones del puerto tendrán efecto cuando reinicie [SECOND_LIFE]. + Las configuraciones del puerto tendrán efecto cuando reinicie [APP_NAME]. </notification> <notification name="ChangeSkin"> - La nueva apariencia se verá cuando reinicie [SECOND_LIFE]. + La nueva apariencia se verá cuando reinicie [APP_NAME]. </notification> <notification name="GoToAuctionPage"> ¿Ir a la página web de [SECOND_LIFE] para ver los detalles de la subasta @@ -485,7 +485,7 @@ El objeto debe de haber sido borrado o estar fuera de rango ('out of range& No se ha podido escribir el archivo [[FILE]] </notification> <notification name="UnsupportedHardware"> - Atención: su sistema no tiene los requerimientos mínimos que necesita Second Life. Si sigue usando Second Life, tendrá un funcionamiento pobre. Desafortunadamente, no podemos ofrecer soporte técnico para configuraciones inadecuadas del sistema. + Atención: su sistema no tiene los requerimientos mínimos que necesita [APP_NAME]. Si sigue usando [APP_NAME], tendrá un funcionamiento pobre. Desafortunadamente, no podemos ofrecer soporte técnico para configuraciones inadecuadas del sistema. MINSPECS Para más información, ¿quiere visitar [_URL]? @@ -497,14 +497,14 @@ Para más información, ¿quiere visitar [_URL]? <notification name="UnknownGPU"> En este momento, desconocemos la tarjeta gráfica de su sistema. Con frecuencia, esto se debe a hardware nuevo que no hemos podido revisar aún. -Es muy probable que Second Life funcione correctamente, pero deberá ajustar sus configuraciones gráficas a lo que sea más apropiado. +Es muy probable que [APP_NAME] funcione correctamente, pero deberá ajustar sus configuraciones gráficas a lo que sea más apropiado. (Menú Editar > Preferencias > Gráficos). <form name="form"> <ignore name="ignore" text="Cuando se detecte una tarjeta gráfica desconocida"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] se cayó al inicializar los drivers gráficos. + [APP_NAME] se cayó al inicializar los drivers gráficos. La calidad de los gráficos deberá establecerse en un nivel bajo para prevenir algunos errores frecuentes en los drivers. Esto desactivará algunas opciones gráficas. Le recomendamos que actualice los drivers de su tarjeta gráfica. @@ -795,7 +795,7 @@ no se ha seleccionado una parcela. no se ha podido encontrar en qué región está. </notification> <notification name="CannotCloseFloaterBuyLand"> - No puede cerrar la ventana de Comprar terreno hasta que Second Life calcule el precio de esta transacción. + No puede cerrar la ventana de Comprar terreno hasta que [APP_NAME] calcule el precio de esta transacción. </notification> <notification name="CannotDeedLandNothingSelected"> No se ha podido transferir el terreno: @@ -966,7 +966,7 @@ Si persiste el problema, por favor, pulse en en el menú 'Herramientas > <notification name="YouHaveBeenLoggedOut"> Se ha cerrado su sesión en [SECOND_LIFE]: [MESSAGE] -Aún puede ver el chat y los MI existentes pulsando 'Ver MI y Chat'. Si no, pulse 'Salir' para dejar inmediatemente [SECOND_LIFE]. +Aún puede ver el chat y los MI existentes pulsando 'Ver MI y Chat'. Si no, pulse 'Salir' para dejar inmediatemente [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Salir" yestext="Ver MI y Chat"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1138,14 +1138,14 @@ Puede usar normalmente [SECOND_LIFE], los demás residentes le verán correctame </form> </notification> <notification name="FirstRun"> - Se ha completado la instalación de [SECOND_LIFE]. + Se ha completado la instalación de [APP_NAME]. Si esta es la primera vez que usa [SECOND_LIFE], deberá crear una cuenta antes de que pueda iniciar una sesión. ¿Volver a www.secondlife.com para crear una cuenta nueva? <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Cuenta nueva..."/> </notification> <notification name="LoginPacketNeverReceived"> - Tenemos problemas de conexión. Puede deberse a un problema de su conexión a internet o de los servidores de Second Life. + Tenemos problemas de conexión. Puede deberse a un problema de su conexión a internet o de los servidores de [SECOND_LIFE]. Puede revisar su conexión a internet y volver a intentarlo en unos minutos. Pulse Ayuda para conectarse a nuestro sitio de Sporte, o pulse Teleportar para intentar teleportarse a su Base. <form name="form"> @@ -1249,33 +1249,33 @@ Por favor, ponga en venta el objeto y reinténtelo. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - Está disponible una versión nueva de [SECOND_LIFE]. + Está disponible una versión nueva de [APP_NAME]. [MESSAGE] -Debe descargar esta actualización para usar [SECOND_LIFE]. +Debe descargar esta actualización para usar [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Salir" yestext="Descargarla"/> </notification> <notification name="DownloadWindows"> - Está disponible una versión actualizada de [SECOND_LIFE]. + Está disponible una versión actualizada de [APP_NAME]. [MESSAGE] Esta actualización no es obligatoria, pero le sugerimos instalarla para mejorar el rendimiento y la estabilidad. <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Descargarla"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Está disponible una versión actualizada de [SECOND_LIFE]. + Está disponible una versión actualizada de [APP_NAME]. [MESSAGE] Esta actualización no es obligatoria, pero le sugerimos instalarla para mejorar el rendimiento y la estabilidad. <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Descargarla"/> </notification> <notification name="DownloadMacMandatory"> - Está disponible una versión nueva de [SECOND_LIFE]. + Está disponible una versión nueva de [APP_NAME]. [MESSAGE] -Debe descargar esta actualización para usar [SECOND_LIFE]. +Debe descargar esta actualización para usar [APP_NAME]. ¿Descargarla a su carpeta de aplicaciones? <usetemplate name="okcancelbuttons" notext="Salir" yestext="Descargarla"/> </notification> <notification name="DownloadMac"> - Está disponible una versión actualizada de [SECOND_LIFE]. + Está disponible una versión actualizada de [APP_NAME]. [MESSAGE] Esta actualización no es obligatoria, pero le sugerimos instalarla para mejorar el rendimiento y la estabilidad. @@ -1283,7 +1283,7 @@ Esta actualización no es obligatoria, pero le sugerimos instalarla para mejorar <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Descargarla"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Está disponible una versión actualizada de [SECOND_LIFE]. + Está disponible una versión actualizada de [APP_NAME]. [MESSAGE] Esta actualización no es obligatoria, pero le sugerimos instalarla para mejorar el rendimiento y la estabilidad. @@ -1891,7 +1891,7 @@ Si se deja en blanco, las Denuncias de Infracción se enviarán sólo a Linden L Por defecto: off </notification> <notification label="Desajuste en la versión de voz" name="VoiceVersionMismatch"> - En esta región, la versión de Second Life no es compatible con el chat de voz. Para que el chat de voz funcione correctamente, debe actualizar Second Life. + En esta región, la versión de [APP_NAME] no es compatible con el chat de voz. Para que el chat de voz funcione correctamente, debe actualizar [APP_NAME]. </notification> <notification label="Contrato del estado" name="HelpEstateCovenant"> Definir un contrato del estado le permite vender parcelas del mismo. Si no existe un contrato, no puede vender terreno. @@ -2007,16 +2007,16 @@ Dado que estos objetos tienen scripts, moverlos a su inventario puede provocar u En este objeto, no hay ítems que esté autorizado a copiar. </notification> <notification name="WebLaunchAccountHistory"> - ¿Ir al sitio web de Second Life para ver el historial de su cuenta? + ¿Ir al sitio web de [SECOND_LIFE] para ver el historial de su cuenta? <usetemplate ignoretext="Cuando se cargue la página web del historial de la cuenta" name="okcancelignore" notext="Cancelar" yestext="Ir a la página"/> </notification> <notification name="ClickOpenF1Help"> - ¿Visitar el sitio web de Soporte de Second Life? - <usetemplate ignoretext="Cuando visite el sitio web de Soporte de Second Life." name="okcancelignore" notext="Cancelar" yestext="Ir"/> + ¿Visitar el sitio web de Soporte de [SECOND_LIFE]? + <usetemplate ignoretext="Cuando visite el sitio web de Soporte de [SECOND_LIFE]." name="okcancelignore" notext="Cancelar" yestext="Ir"/> </notification> <notification name="ConfirmQuit"> ¿Está seguro de que quiere salir? - <usetemplate ignoretext="Cuando esté saliendo de Second Life." name="okcancelignore" notext="Continuar" yestext="Salir"/> + <usetemplate ignoretext="Cuando esté saliendo de [APP_NAME]." name="okcancelignore" notext="Continuar" yestext="Salir"/> </notification> <notification name="HelpReportAbuseEmailLL"> Use esta herramienta para denunciar violaciones de las Normas de la Comunidad y las Condiciones del Servicio. Vea: @@ -2036,7 +2036,7 @@ Como un servicio a los residentes y visitantes, el propietario de la región ha El propietario de la región resolverá las denuncias basándose en las reglas locales de la región, tal como se detallan en el Contrato del estado. (Puede ver el Contrato yendo al menú Mundo y eligiendo Acerca del terreno). -La resolución de esta denuncia se aplica exclusivamente a esta región; el acceso de los residentes a otras áreas de Second Life no se verá afectado por el resultado de esta denuncia. Únicamente Linden Lab puede impedir el acceso a la totalidad de Second Life. +La resolución de esta denuncia se aplica exclusivamente a esta región; el acceso de los residentes a otras áreas de [SECOND_LIFE] no se verá afectado por el resultado de esta denuncia. Únicamente Linden Lab puede impedir el acceso a la totalidad de [SECOND_LIFE]. </notification> <notification name="HelpReportBug"> Use esta herramienta *sólo* para informar de cuestiones técnicas que no se comportan como se describe o era esperable. Por favor, aporte todos los detalles que pueda. @@ -2089,9 +2089,9 @@ Aportar una descripción precisa nos ayuda a clasificar y procesar los informes Parece que está usted denunciando una violación de la propiedad intelectual. Por favor, asegúrese de que su denuncia es correcto. -(1) El proceso de la denuncia. Debe enviar una denuncia de infracción si cree que un Residente está reventando el sistema de permisos de Second Life, por ejemplo, usando un CopyBot u otras herramientas parecidas para copiar, infringiendo los derechos de propiedad intelectual. El Equipo de Infracciones (Abuse Team) investiga y lleva a cabo las acciones disciplinarias apropiadas ante toda acción que viole las las Normas de la Comunidad de Second Life o las Condiciones del Servicio. Sin embargo, el Equipo de Infracciones ni gestiona ni responde a las solicitudes de eliminar contenidos del mundo de Second Life. +(1) El proceso de la denuncia. Debe enviar una denuncia de infracción si cree que un Residente está reventando el sistema de permisos de [SECOND_LIFE], por ejemplo, usando un CopyBot u otras herramientas parecidas para copiar, infringiendo los derechos de propiedad intelectual. El Equipo de Infracciones (Abuse Team) investiga y lleva a cabo las acciones disciplinarias apropiadas ante toda acción que viole las las Normas de la Comunidad de [SECOND_LIFE] o las Condiciones del Servicio. Sin embargo, el Equipo de Infracciones ni gestiona ni responde a las solicitudes de eliminar contenidos del mundo de [SECOND_LIFE]. -(2) El DMCA o Proceso de Eliminación de Contenido. Para solicitar que se elimine algún contenido de Second Life, DEBE enviar una notificación válida de infracción tal y como se explica en nuestra DMCA Policy en http://secondlife.com/corporate/dmca.php. +(2) El DMCA o Proceso de Eliminación de Contenido. Para solicitar que se elimine algún contenido de [SECOND_LIFE], DEBE enviar una notificación válida de infracción tal y como se explica en nuestra DMCA Policy en http://secondlife.com/corporate/dmca.php. Si todavía quiere seguir con el proceso de infracción, por favor, cierre esta ventana y acabe de enviar su denuncia. En concreto, debe seleccionar la categoría 'CopyBot o Programa para saltarse los permisos'. @@ -2213,7 +2213,7 @@ Pulse 'Cielo avanzado' para abrir un editor con configuraciones avanza Pulse 'Agua avanzada' para abrir un editor con configuraciones avanzadas para el agua. </notification> <notification name="HelpDayCycle"> - El Editor del ciclo del día le permite controlar el cielo de Second Life durante el ciclo día/noche. Este es el ciclo que usa el deslizable Duración de un día del Editor del entorno. + El Editor del ciclo del día le permite controlar el cielo de [SECOND_LIFE] durante el ciclo día/noche. Este es el ciclo que usa el deslizable Duración de un día del Editor del entorno. El Editor del ciclo del día trabaja configurando fotogramas clave ('keyframes'): nodos (representados por los puntos grises en la línea del tiempo) cada uno de los cuales tiene asociado un Cielo definido. Según progresa la Duración de un día, el WindLight realiza la 'animación' del cielo interpolándose entre esos fotogramas clave. @@ -2291,7 +2291,7 @@ Pero, vaya, diviértase si quiere. Controla la velocidad de las nubes al moverse en la dirección del eje Y. </notification> <notification name="HelpClassicClouds"> - Marque esta casilla para activar la aparición de las nubes clásicas de Second Life junto a las nubes del WindLight. + Marque esta casilla para activar la aparición de las nubes clásicas de [SECOND_LIFE] junto a las nubes del WindLight. </notification> <notification name="HelpWaterFogColor"> Elije el color del agua bajo la superficie. @@ -2389,7 +2389,7 @@ Pero, vaya, diviértase si quiere. </notification> <notification name="NotAgeVerified"> Para acceder a esta parcela, se debe haber verificado su edad. -¿Quiere visitar la web de Second Life para verificar su edad? +¿Quiere visitar la web de [SECOND_LIFE] para verificar su edad? [_URL] <url name="url" option="0"> @@ -2399,7 +2399,7 @@ Pero, vaya, diviértase si quiere. </notification> <notification name="Cannot enter parcel: no payment info on file"> Antes de que pueda acceder a esta parcela, se requiere que usted tenga archivada su información de pago. -¿Quiere visitar la web de Second Life para actualizar esto? +¿Quiere visitar la web de [SECOND_LIFE] para actualizar esto? [_URL] <url name="url" option="0"> @@ -2716,13 +2716,13 @@ Por favor, reinténtelo en unos momentos. No se puede crear la conexión. </notification> <notification name="InternalUsherError"> - Se ha producido un error interno al intentar acceder al destino de su teleporte. Puede que, en este momento, el servicio de Second Life tenga problemas. + Se ha producido un error interno al intentar acceder al destino de su teleporte. Puede que, en este momento, el servicio de [SECOND_LIFE] tenga problemas. </notification> <notification name="NoGoodTPDestination"> No se puede encontrar en esta región un buen destino para el teleporte. </notification> <notification name="InternalErrorRegionResolver"> - Ha sucedido un error interno al manejar las coordenadas globales de su petición de teleporte. Puede que, en este momento, el servicio de Second Life tenga problemas. + Ha sucedido un error interno al manejar las coordenadas globales de su petición de teleporte. Puede que, en este momento, el servicio de [SECOND_LIFE] tenga problemas. </notification> <notification name="NoValidLanding"> No se ha podido encontrar un punto de aterrizaje válido. @@ -2843,7 +2843,7 @@ Del objeto: [OBJECTNAME]; propiedad de: [NAME]? Búsqueda fallida de [TYPE] de nombre [DESC] en la base de datos. </notification> <notification name="InvalidWearable"> - El ítem que intenta llevar usa una característica que su visor no puede leer. Por favor, actualice su versión de Second Life para llevar este ítem. + El ítem que intenta llevar usa una característica que su visor no puede leer. Por favor, actualice su versión de [APP_NAME] para llevar este ítem. </notification> <notification name="ScriptQuestion"> '[OBJECTNAME]', un objeto propiedad de '[NAME]', querría: @@ -2946,7 +2946,7 @@ Los objetos flexibles no pueden ser materiales, y serán inmateriales hasta que </notification> <notification name="FirstDebugMenus"> Ha activado el menú Avanzado. -Contiene herramientas útiles para los desarrolladores que trabajan mejorando Second Life. +Contiene herramientas útiles para los desarrolladores que trabajan mejorando [SECOND_LIFE]. Para pasar este menú a una ventana, pulse Ctrl-Alt-D. En un Mac, pulse ⌘-Opt-D. </notification> <notification name="FirstSculptedPrim"> @@ -3054,7 +3054,7 @@ Pulse Aceptar para entrar al chat o Rehusar para declinar la invitación. Pulse - La velocidad de su CPU no cumple los requerimientos mínimos. </global> <global name="UnsupportedGLRequirements"> - Parece que no tiene los requerimientos de hardware apropiados para Second Life. Second Life requiere una tarjeta gráfica OpenGL que admita texturas múltiples ('multitexture support'). Si la tiene, compruebe que tiene los últimos drivers para su tarjeta gráfica, así como los últimos parches y 'service packs' para su sistema operativo. + Parece que no tiene los requerimientos de hardware apropiados para [APP_NAME]. [APP_NAME] requiere una tarjeta gráfica OpenGL que admita texturas múltiples ('multitexture support'). Si la tiene, compruebe que tiene los últimos drivers para su tarjeta gráfica, así como los últimos parches y 'service packs' para su sistema operativo. Si los problemas persisten, por favor, acuda a: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/es/panel_status_bar.xml b/indra/newview/skins/default/xui/es/panel_status_bar.xml index add7db2f9a..0c5559a359 100644 --- a/indra/newview/skins/default/xui/es/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/es/panel_status_bar.xml @@ -27,8 +27,8 @@ <button label="" label_selected="" name="restrictpush" tool_tip="Sin 'empujones'"/> <button label="" label_selected="" name="status_no_voice" tool_tip="Aquí no está disponible la voz"/> <button label="" label_selected="" name="buyland" tool_tip="Comprar esta parcela"/> - <line_editor label="Buscar" name="search_editor" tool_tip="Buscar en Second Life"/> - <button label="" label_selected="" name="search_btn" tool_tip="Buscar en Second Life"/> + <line_editor label="Buscar" name="search_editor" tool_tip="Buscar en [SECOND_LIFE]"/> + <button label="" label_selected="" name="search_btn" tool_tip="Buscar en [SECOND_LIFE]"/> <string name="packet_loss_tooltip"> Pérdida de paquetes </string> diff --git a/indra/newview/skins/default/xui/fr/floater_about.xml b/indra/newview/skins/default/xui/fr/floater_about.xml index d627571ae9..e05a6d1596 100644 --- a/indra/newview/skins/default/xui/fr/floater_about.xml +++ b/indra/newview/skins/default/xui/fr/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="A propos de Second Life"> +<floater name="floater_about" title="A propos de [APP_NAME]"> <text_editor name="credits_editor"> - Second Life existe grâce aux efforts de Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les et de nombreuses autres personnes. + Second Life existe grâce aux efforts de Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl et de nombreuses autres personnes. - Tous nos remerciements aux résidents suivants pour avoir testé cette version (la meilleure qui soit jusqu'à présent) : afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop + Tous nos remerciements aux résidents suivants pour avoir testé cette version (la meilleure qui soit jusqu'à présent) : able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/fr/floater_postcard.xml b/indra/newview/skins/default/xui/fr/floater_postcard.xml index 38eb0ced4a..ab21d7423a 100644 --- a/indra/newview/skins/default/xui/fr/floater_postcard.xml +++ b/indra/newview/skins/default/xui/fr/floater_postcard.xml @@ -29,12 +29,12 @@ Saisissez votre message ici. </text_editor> <text name="fine_print"> - Si le destinataire s'inscrit sur Second Life, vous recevrez un bonus. + Si le destinataire s'inscrit sur [SECOND_LIFE], vous recevrez un bonus. </text> <button label="Annuler" name="cancel_btn" /> <button label="Envoyer" name="send_btn" /> <string name="default_subject"> - Carte postale de Second Life. + Carte postale de [SECOND_LIFE] </string> <string name="default_message"> Ouvrez-moi ! diff --git a/indra/newview/skins/default/xui/fr/floater_tos.xml b/indra/newview/skins/default/xui/fr/floater_tos.xml index dc4bd8cf2b..ba7052562c 100644 --- a/indra/newview/skins/default/xui/fr/floater_tos.xml +++ b/indra/newview/skins/default/xui/fr/floater_tos.xml @@ -12,7 +12,7 @@ <check_box label="J'accepte les Conditions d'utilisation" name="agree_chk" /> <text name="tos_heading"> Veuillez lire attentivement les Conditions d'utilisation suivantes. Pour continuer à utiliser -Second Life, vous devez accepter ces conditions. +[SECOND_LIFE], vous devez accepter ces conditions. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml index b3169714c3..212216f16f 100644 --- a/indra/newview/skins/default/xui/fr/menu_login.xml +++ b/indra/newview/skins/default/xui/fr/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Préférences..." name="Preferences..." /> </menu> <menu label="Aide" name="Help"> - <menu_item_call label="Aide de Second Life" name="Second Life Help" /> - <menu_item_call label="À propos de Second Life..." name="About Second Life..." /> + <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help" /> + <menu_item_call label="À propos de [APP_NAME]..." name="About Second Life..." /> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 98f08452ff..ea28b82d7e 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -185,7 +185,7 @@ <menu_item_call label="Désactiver les scripts dans la sélection" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Aide" name="Help"> - <menu_item_call label="Aide de Second Life" name="Second Life Help"/> + <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Didacticiel" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Blog officiel..." name="Official Linden Blog..."/> @@ -214,6 +214,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Signaler un bug..." name="Report Bug..."/> </menu> - <menu_item_call label="À propos de Second Life..." name="About Second Life..."/> + <menu_item_call label="À propos de [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 7d2cdd8454..a9c1cad86f 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Message d'alerte inconnu" name="MissingAlert"> - Votre version de Second Life ne peut afficher ce message d'erreur. + Votre version de [APP_NAME] ne peut afficher ce message d'erreur. Détails de l'erreur : L'alerte, appelée '[_NAME]' est introuvable dans notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Détails de l'erreur : L'alerte, appelée '[_NAME]' est int <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Oui"/> </notification> <notification name="BadInstallation"> - Une erreur est survenue lors de la mise à jour de Second Life. Veuillez télécharger la dernière version depuis secondlife.com. + Une erreur est survenue lors de la mise à jour de [APP_NAME]. Veuillez télécharger la dernière version depuis secondlife.com. <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="LoginFailedNoNetwork"> @@ -222,7 +222,7 @@ En cochant cette case, votre parcelle apparaîtra : <notification name="ClickPartnerHelpAvatar"> Vous pouvez proposer à un autre résident de devenir votre partenaire ou dissoudre un partenariat existant à partir du site de [SECOND_LIFE]. -Aller sur le site de Second Life pour avoir plus d'informations sur les partenariats ? +Aller sur le site de [SECOND_LIFE] pour avoir plus d'informations sur les partenariats ? <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Aller sur cette page"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -260,7 +260,7 @@ Votre prix de vente sera de [SALE_PRICE] L$ et la vente sera disponible à [NAME <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - Attention : en cliquant sur Vendre à n'importe qui, vous rendez votre terrain disponible à toute la communauté de Second Life, même aux personnes qui ne sont pas dans cette région. + Attention : en cliquant sur Vendre à n'importe qui, vous rendez votre terrain disponible à toute la communauté de [SECOND_LIFE], même aux personnes qui ne sont pas dans cette région. Le terrain sélectionné, de [LAND_SIZE] m², est mis en vente. Votre prix de vente sera de [SALE_PRICE] L$ et la vente sera disponible à [NAME]. @@ -407,17 +407,17 @@ Une fois payés, les frais ne sont pas remboursables. <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="CacheWillClear"> - Le cache sera vidé après le redémarrage de [SECOND_LIFE]. + Le cache sera vidé après le redémarrage de [APP_NAME]. </notification> <notification name="CacheWillBeMoved"> - Le cache sera déplacé après le redémarrage de [SECOND_LIFE]. + Le cache sera déplacé après le redémarrage de [APP_NAME]. Remarque : cela videra le cache. </notification> <notification name="ChangeConnectionPort"> - Les paramètres du port prendront effet après le redémarrage de [SECOND_LIFE]. + Les paramètres du port prendront effet après le redémarrage de [APP_NAME]. </notification> <notification name="ChangeSkin"> - Le nouveau thème apparaîtra après le redémarrage de [SECOND_LIFE]. + Le nouveau thème apparaîtra après le redémarrage de [APP_NAME]. </notification> <notification name="GoToAuctionPage"> Aller à la page web de [SECOND_LIFE] pour voir le détail des enchères ou enchérir ? @@ -476,7 +476,7 @@ L'objet est peut-être inaccessible ou a peut-être été supprimé. Impossible d'écrire le fichier [[FILE]] </notification> <notification name="UnsupportedHardware"> - Avertissement : vous n'avez pas la configuration système requise pour utiliser Second Life. Si vous continuez à utiliser Second Life, votre performance risque d'être moindre. Malheureusement, nous n'offrons aucune assistance pour les problèmes de configuration système. + Avertissement : vous n'avez pas la configuration système requise pour utiliser [APP_NAME]. Si vous continuez à utiliser [APP_NAME], votre performance risque d'être moindre. Malheureusement, nous n'offrons aucune assistance pour les problèmes de configuration système. MINSPECS Voulez-vous visiter [_URL] pour plus d'informations ? @@ -488,14 +488,14 @@ Voulez-vous visiter [_URL] pour plus d'informations ? <notification name="UnknownGPU"> Votre système contient une carte graphique que nous ne connaissons pas actuellement. Cela est souvent le cas avec le nouveau materiel qui n'a pas encore été testé. -Vous pourrez probablement utiliser Second Life sans problème, mais vous devrez peut-être ajuster les paramètres de vos graphiques. +Vous pourrez probablement utiliser [APP_NAME] sans problème, mais vous devrez peut-être ajuster les paramètres de vos graphiques. (Menu Édition > Préférences > Graphiques). <form name="form"> <ignore name="ignore" text="Lors de la détection d'une carte graphique inconnue"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] a planté lors de l'initialisation des drivers graphiques. + [APP_NAME] a planté lors de l'initialisation des drivers graphiques. La qualité des graphiques sera paramétrée sur Faible pour éviter certaines erreurs de driver fréquentes. Certaines fonctionnalités graphiques seront donc désactivées. Nous vous recommandons de mettre à jour les drivers de votre carte graphique. @@ -775,7 +775,7 @@ aucune parcelle sélectionnée. la région dans laquelle il est situé est introuvable. </notification> <notification name="CannotCloseFloaterBuyLand"> - Vous ne pouvez pas fermer la fenêtre Acheter le terrain avant que Second Life n'estime le montant de cette transaction. + Vous ne pouvez pas fermer la fenêtre Acheter le terrain avant que [APP_NAME] n'estime le montant de cette transaction. </notification> <notification name="CannotDeedLandNothingSelected"> Cession du terrain impossible : @@ -946,7 +946,7 @@ Si le problème persiste, veuillez cliquer sur Aide | Signaler un bug dans le me <notification name="YouHaveBeenLoggedOut"> Vous avez été déconnecté(e) de [SECOND_LIFE] : [MESSAGE] -Vous pouvez afficher vos messages instantanés et votre chat en cliquant sur Afficher IM et chat. Sinon, cliquez sur Quitter pour quitter immédiatement [SECOND_LIFE]. +Vous pouvez afficher vos messages instantanés et votre chat en cliquant sur Afficher IM et chat. Sinon, cliquez sur Quitter pour quitter immédiatement [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Quitter" yestext="Afficher IM et chat"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1109,14 +1109,14 @@ Vous pouvez utiliser [SECOND_LIFE] sans problème, les autres résidents vous vo </form> </notification> <notification name="FirstRun"> - L'installation de [SECOND_LIFE] est terminée. + L'installation de [APP_NAME] est terminée. S'il s'agit de la première fois que vous utilisez [SECOND_LIFE], vous devrez créer un compte avant de pouvoir vous connecter. Retourner sur www.secondlife.com pour créer un nouveau compte ? <usetemplate name="okcancelbuttons" notext="Continuer" yestext="Nouveau compte..."/> </notification> <notification name="LoginPacketNeverReceived"> - Vous avez des problèmes à vous connecter. Il peut s'agir d'un problème avec votre connexion internet ou les serveurs de Second Life. + Vous avez des problèmes à vous connecter. Il peut s'agir d'un problème avec votre connexion internet ou les serveurs de [SECOND_LIFE]. Nous vous conseillons de vérifier votre connexion Internet et de réessayer dans quelques minutes, de cliquer sur Aide, ou bien de cliquer sur Téléporter pour être téléporté vers votre domicile. <form name="form"> @@ -1220,33 +1220,33 @@ Veuillez choisir un objet à vendre et réessayer. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - Une nouvelle version de [SECOND_LIFE] est disponible. + Une nouvelle version de [APP_NAME] est disponible. [MESSAGE] -Pour utiliser [SECOND_LIFE] vous devez télécharger cette mise à jour. +Pour utiliser [APP_NAME] vous devez télécharger cette mise à jour. <usetemplate name="okcancelbuttons" notext="Quitter" yestext="Télécharger"/> </notification> <notification name="DownloadWindows"> - Une mise à jour de [SECOND_LIFE] est disponible. + Une mise à jour de [APP_NAME] est disponible. [MESSAGE] Cette mise à jour n'est pas requise mais si vous voulez une meilleure performance et plus de stabilité, nous vous recommandons de l'installer. <usetemplate name="okcancelbuttons" notext="Continuer" yestext="Télécharger"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Une mise à jour de [SECOND_LIFE] est disponible. + Une mise à jour de [APP_NAME] est disponible. [MESSAGE] Cette mise à jour n'est pas requise mais si vous voulez une meilleure performance et plus de stabilité, nous vous recommandons de l'installer. <usetemplate name="okcancelbuttons" notext="Continuer" yestext="Télécharger"/> </notification> <notification name="DownloadMacMandatory"> - Une nouvelle version de [SECOND_LIFE] est disponible. + Une nouvelle version de [APP_NAME] est disponible. [MESSAGE] -Pour utiliser [SECOND_LIFE] vous devez télécharger cette mise à jour. +Pour utiliser [APP_NAME] vous devez télécharger cette mise à jour. Télécharger vers le dossier Applications ? <usetemplate name="okcancelbuttons" notext="Quitter" yestext="Télécharger"/> </notification> <notification name="DownloadMac"> - Une mise à jour de [SECOND_LIFE] est disponible. + Une mise à jour de [APP_NAME] est disponible. [MESSAGE] Cette mise à jour n'est pas requise mais si vous voulez une meilleure performance et plus de stabilité, nous vous recommandons de l'installer. @@ -1254,7 +1254,7 @@ Télécharger vers le dossier Applications ? <usetemplate name="okcancelbuttons" notext="Continuer" yestext="Télécharger"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Une mise à jour de [SECOND_LIFE] est disponible. + Une mise à jour de [APP_NAME] est disponible. [MESSAGE] Cette mise à jour n'est pas requise mais si vous voulez une meilleure performance et plus de stabilité, nous vous recommandons de l'installer. @@ -1821,7 +1821,7 @@ Si vous laissez ce champ vide, les rapports d'infraction seront envoyés à Valeur par défaut : désactivé </notification> <notification label="Versions de voix non compatibles" name="VoiceVersionMismatch"> - Cette version de Second Life n'est pas compatible avec la fonctionnalité de chat vocal dans cette région. Vous devez mettre à jour Second Life pour que le chat vocal fonctionne correctement. + Cette version de [APP_NAME] n'est pas compatible avec la fonctionnalité de chat vocal dans cette région. Vous devez mettre à jour [APP_NAME] pour que le chat vocal fonctionne correctement. </notification> <notification label="Règlement du domaine" name="HelpEstateCovenant"> Définir un règlement pour le domaine vous permet de vendre les parcelles de ce domaine. S'il n'y a pas de règlement, vous ne pouvez pas vendre le terrain. Si vous ne souhaitez pas indiquer de règlement ou donner de conseils aux acheteurs, laissez la section relative au règlement vide. @@ -1926,7 +1926,7 @@ Déplacer les objets de l'inventaire ? <usetemplate ignoretext="Lors du transfert d'un inventaire non copiable depuis des objets scriptés" name="okcancelignore" notext="Annuler" yestext="OK"/> </notification> <notification name="ClickActionNotPayable"> - Avertissement : l'action du clic Payer l'objet a été défini mais ne fonctionnera que si un script est ajouté avec l'event money(). + Avertissement : l'action du clic Payer l'objet a été défini mais ne fonctionnera que si un script est ajouté avec l'event money(). <form name="form"> <ignore name="ignore" text="Lors du paramétrage de la fonction Payer sur des objets sans événement monétaire"/> </form> @@ -1935,16 +1935,16 @@ Déplacer les objets de l'inventaire ? Vous n'êtes autorisé à copier aucun élément dans cet objet. </notification> <notification name="WebLaunchAccountHistory"> - Aller sur le site de Second Life pour consulter l'historique de votre compte ? + Aller sur le site de [SECOND_LIFE] pour consulter l'historique de votre compte ? <usetemplate ignoretext="Lors du chargement de la page web contenant l'historique de votre compte" name="okcancelignore" notext="Annuler" yestext="Aller sur cette page"/> </notification> <notification name="ClickOpenF1Help"> - Visiter les pages d'aide de Second Life ? - <usetemplate ignoretext="Lors de la visite des pages d'aide de Second Life" name="okcancelignore" notext="Annuler" yestext="Aller"/> + Visiter les pages d'aide de [SECOND_LIFE] ? + <usetemplate ignoretext="Lors de la visite des pages d'aide de [SECOND_LIFE]" name="okcancelignore" notext="Annuler" yestext="Aller"/> </notification> <notification name="ConfirmQuit"> Êtes-vous certain de vouloir quitter ? - <usetemplate ignoretext="Lorsque vous quittez Second Life" name="okcancelignore" notext="Continuer" yestext="Quitter"/> + <usetemplate ignoretext="Lorsque vous quittez [APP_NAME]" name="okcancelignore" notext="Continuer" yestext="Quitter"/> </notification> <notification name="HelpReportAbuseEmailLL"> Utilisez cet outil pour signaler des infractions aux Conditions d'utilisation et aux Règles de la communauté. Voir : @@ -1964,7 +1964,7 @@ Pour aider les résidents et les visiteurs, le propriétaire de la région dans Le propriétaire de la région traitera les rapports en fonction des règles de cette région, comme indiqué dans le réglement du domaine. (Les réglements sont visibles à partir du menu Monde > À propos du terrain.) -La résolution de ce rapport ne s'applique qu'à cette région ; L'accès aux autres endroits de Second Life ne sera pas affecté par les résultats de cette enquête. Seul Linden Lab peut interdire l'accès à l'ensemble de Second Life. +La résolution de ce rapport ne s'applique qu'à cette région ; L'accès aux autres endroits de [SECOND_LIFE] ne sera pas affecté par les résultats de cette enquête. Seul Linden Lab peut interdire l'accès à l'ensemble de [SECOND_LIFE]. </notification> <notification name="HelpReportBug"> N'utilisez cet outil que pour signaler des problèmes techniques et soyez aussi précis que possible. @@ -2017,9 +2017,9 @@ Les descriptions précises nous permettent de résoudre les bugs plus rapidement Il semble que vous souhaitiez reporter une infraction à des droits de propriété intellectuelle. Pour signaler correctement cette infraction : -(1) Remplissez un rapport d'infraction. Vous pouvez soumettre un rapport d'infraction si vous pensez qu'un résident exploite le système de droits de Second Life, par exemple en utilisant un CopyBot ou des outils similaires pour enfreindre des droits de propriété intellectuelle. Notre équipe chargée des infractions mènera une enquête et prendra les mesures nécessaires à l'encontre du résident non respectueux des Conditions d'utilisation ou des règles de la communauté. Sachez toutefois que l'équipe chargée des infractions ne supprimera pas de contenu à l'intérieur de Second Life. +(1) Remplissez un rapport d'infraction. Vous pouvez soumettre un rapport d'infraction si vous pensez qu'un résident exploite le système de droits de [SECOND_LIFE], par exemple en utilisant un CopyBot ou des outils similaires pour enfreindre des droits de propriété intellectuelle. Notre équipe chargée des infractions mènera une enquête et prendra les mesures nécessaires à l'encontre du résident non respectueux des Conditions d'utilisation ou des règles de la communauté. Sachez toutefois que l'équipe chargée des infractions ne supprimera pas de contenu à l'intérieur de [SECOND_LIFE]. -(2) Demandez à ce que du contenu à l'intérieur de Second Life soit supprimé. Pour demander à ce que du contenu soit supprimé de Second Life, vous devez soumettre un rapport d'infraction valide, tel que fourni dans notre Règlement contre les violations des droit d'auteurs (DMCA), à http://secondlife.com/corporate/dmca.php. +(2) Demandez à ce que du contenu à l'intérieur de [SECOND_LIFE] soit supprimé. Pour demander à ce que du contenu soit supprimé de [SECOND_LIFE], vous devez soumettre un rapport d'infraction valide, tel que fourni dans notre Règlement contre les violations des droit d'auteurs (DMCA), à http://secondlife.com/corporate/dmca.php. Si vous souhaitez toujours reporter cette infraction, veuillez fermer cette fenêtre et soumettre votre rapport. Vous devrez peut-être sélectionner la catégorie CopyBot ou exploitation abusive des droits. @@ -2142,7 +2142,7 @@ En cliquant sur le bouton Ciel Avancé, vous aurez accès à tous les réglages En cliquant sur le bouton Eau Avancée, vous aurez accès à tous les réglages relatifs à l'eau. </notification> <notification name="HelpDayCycle"> - L'éditeur du cycle du jour vous permet de contrôler le ciel au cours du cycle jour/nuit de second Life. C'est ce même cycle qui est contrôlé par le curseur Heure de la journée dans l'éditeur d'environnement basique. + L'éditeur du cycle du jour vous permet de contrôler le ciel au cours du cycle jour/nuit de [SECOND_LIFE]. C'est ce même cycle qui est contrôlé par le curseur Heure de la journée dans l'éditeur d'environnement basique. L'éditeur du jour fonctionne grâce au réglage d'images-clés. Ces images-clés sont représentées par les marques grises sur la ligne du temps et ont des préréglages qui leurs sont associées. Au cours de la journée et de la nuit, le ciel WindLight s'anime en passant d'une clé à l'autre. @@ -2224,7 +2224,7 @@ Même chose que l'azimut. Contrôle la vitesse des nuages sur l'axe des Y. </notification> <notification name="HelpClassicClouds"> - Cochez cette option pour utiliser les anciens nuages de Second Life en plus des nuages WindLight. + Cochez cette option pour utiliser les anciens nuages de [SECOND_LIFE] en plus des nuages WindLight. </notification> <notification name="HelpWaterFogColor"> Permet de sélectionner la couleur du brouillard sous l'eau. @@ -2322,7 +2322,7 @@ Même chose que l'azimut. </notification> <notification name="NotAgeVerified"> Pour que vous puissiez accéder à cette parcelle, votre âge doit être vérifié. -Voulez-vous aller sur le site de Second Life pour vérifier votre âge ? +Voulez-vous aller sur le site de [SECOND_LIFE] pour vérifier votre âge ? [_URL] <url name="url" option="0"> @@ -2332,7 +2332,7 @@ Voulez-vous aller sur le site de Second Life pour vérifier votre âge ? </notification> <notification name="Cannot enter parcel: no payment info on file"> Avant de pouvoir pénétrer sur cette parcelle, vous devez enregistrer vos informations de paiement. -Voulez-vous aller sur le site de Second Life pour enregistrer ces informations ? +Voulez-vous aller sur le site de [SECOND_LIFE] pour enregistrer ces informations ? [_URL] <url name="url" option="0"> @@ -2879,7 +2879,7 @@ Les objets flexibles ne peuvent pas avoir de propriétés physiques et doivent r </notification> <notification name="FirstDebugMenus"> Vous avez activé le menu Avancé. -Ce menu contient des fonctionnalités utiles pour les développeurs qui travaillent sur Second Life. +Ce menu contient des fonctionnalités utiles pour les développeurs qui travaillent sur [SECOND_LIFE]. Pour activer/désactiver ce menu sous Windows, appuyez sur Ctrl-Alt-D. Sur un Mac, appuyez sur ⌘-Opt-Maj-D </notification> <notification name="FirstSculptedPrim"> @@ -2987,7 +2987,7 @@ Pour y participer, cliquez sur Accepter. Sinon, cliquez sur Refuser. Pour ignore - Votre processeur ne remplit pas les conditions minimum requises. </global> <global name="UnsupportedGLRequirements"> - Vous semblez ne pas avoir le matériel requis pour utiliser Second Life. Second Life requiert une carte graphique OpenGL avec une prise en charge du multitexturing. Si vous avez une telle carte, assurez-vous que vous avez aussi les drivers les plus récents pour la carte, ainsi que les service packs et les patchs pour votre système d'exploitation. + Vous semblez ne pas avoir le matériel requis pour utiliser [APP_NAME]. [APP_NAME] requiert une carte graphique OpenGL avec une prise en charge du multitexturing. Si vous avez une telle carte, assurez-vous que vous avez aussi les drivers les plus récents pour la carte, ainsi que les service packs et les patchs pour votre système d'exploitation. Si vous avez toujours des problèmes, veuillez consulter la page suivante : http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml index 2e4c694efa..9ea667fcbf 100644 --- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml @@ -30,8 +30,8 @@ <button label="" label_selected="" name="restrictpush" tool_tip="Pas de bousculades"/> <button name="status_no_voice" tool_tip="Voix non disponible ici"/> <button label="" label_selected="" name="buyland" tool_tip="Acheter cette parcelle"/> - <line_editor label="Rechercher" name="search_editor" tool_tip="Rechercher dans Second Life"/> - <button name="search_btn" tool_tip="Rechercher dans Second Life"/> + <line_editor label="Rechercher" name="search_editor" tool_tip="Rechercher dans [SECOND_LIFE]"/> + <button name="search_btn" tool_tip="Rechercher dans [SECOND_LIFE]"/> <text name="packet_loss_tooltip"> Perte de paquets </text> diff --git a/indra/newview/skins/default/xui/it/floater_about.xml b/indra/newview/skins/default/xui/it/floater_about.xml index 2ec8bc4dd8..597208eedb 100644 --- a/indra/newview/skins/default/xui/it/floater_about.xml +++ b/indra/newview/skins/default/xui/it/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="Informazioni su Second Life"> +<floater name="floater_about" title="Informazioni su [APP_NAME]"> <text_editor name="credits_editor"> - Second Life è offerto da Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others. + Second Life è offerto da Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others. - Si ringraziano i seguenti residenti per aver contribuito a rendere questa versione la migliore possibile: + Si ringraziano i seguenti residenti per aver contribuito a rendere questa versione la migliore possibile: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/it/floater_postcard.xml b/indra/newview/skins/default/xui/it/floater_postcard.xml index b8769f5486..a2522baaf4 100644 --- a/indra/newview/skins/default/xui/it/floater_postcard.xml +++ b/indra/newview/skins/default/xui/it/floater_postcard.xml @@ -1,17 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Postcard" title="Invia la fotografia via email"> - <text name="to_label"> + <text name="to_label" width="135"> Email del destinatario: </text> + <line_editor name="to_form" left="143" width="127" /> <text name="from_label"> La tua email: </text> + <line_editor name="from_form" left="143" width="127" /> <text name="name_label"> Il tuo nome: </text> + <line_editor name="name_form" left="143" width="127" /> <text name="subject_label"> Soggetto: </text> + <line_editor name="subject_form" left="143" width="127" /> <line_editor label="Scrivi il soggetto qui." name="subject_form"/> <text name="msg_label"> Messaggio: @@ -20,12 +24,12 @@ Scrivi il messaggio qui. </text_editor> <text name="fine_print"> - Se il tuo destinatario si registrerà in SL, riceverai il relativo bonus. + Se il tuo destinatario si registrerà in [SECOND_LIFE], riceverai il relativo bonus. </text> <button label="Annulla" name="cancel_btn"/> <button label="Invia" name="send_btn"/> <string name="default_subject"> - Cartolina da Second Life. + Cartolina da [SECOND_LIFE] </string> <string name="default_message"> Vieni a vedere! diff --git a/indra/newview/skins/default/xui/it/floater_tos.xml b/indra/newview/skins/default/xui/it/floater_tos.xml index 76dbe86ee6..12b6021b5b 100644 --- a/indra/newview/skins/default/xui/it/floater_tos.xml +++ b/indra/newview/skins/default/xui/it/floater_tos.xml @@ -4,7 +4,7 @@ <button label="Annulla" label_selected="Annulla" name="Cancel"/> <check_box label="Accetto i Termini di Servizio" name="agree_chk"/> <text name="tos_heading"> - Leggi attentamente i seguenti Termini di Servizio . Per continuare ad entrare in Second Life, + Leggi attentamente i seguenti Termini di Servizio. Per continuare ad entrare in [SECOND_LIFE], devi accettare l'accordo. </text> <text_editor name="tos_text"> diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml index 45ee43102a..44a801d273 100644 --- a/indra/newview/skins/default/xui/it/menu_login.xml +++ b/indra/newview/skins/default/xui/it/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Preferenze...." name="Preferences..."/> </menu> <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di Second Life" name="Second Life Help"/> - <menu_item_call label="Informazioni su Second Life..." name="About Second Life..."/> + <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Informazioni su [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 3dd4e6a94b..0010f42a12 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -165,7 +165,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Focalizza la selezione" name="Focus on Selection"/> <menu_item_call label="Fai zoom sulla selezione" name="Zoom to Selection"/> - <menu_item_call label="Compra l'oggetto" name="Menu Object Take"/> + <menu_item_call label="Compra l'oggetto" name="Menu Object Take"> + <on_enable userdata="Compra,Prendi" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Prendi una copia" name="Take Copy"/> <menu_item_call label="Salva nuovamente l'oggetto nel contenuto dell'oggetto" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -179,7 +181,7 @@ <menu_item_call label="Disattiva gli script nella selezione" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Aiuto" name="Help"> - <menu_item_call label="Aiuto di Secondlife" name="Second Life Help"/> + <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Tutorial" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Blog ufficiale Linden..." name="Official Linden Blog..."/> @@ -200,6 +202,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Segnala un bug..." name="Report Bug..."/> </menu> - <menu_item_call label="Informazioni su Second Life..." name="About Second Life..."/> + <menu_item_call label="Informazioni su [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 9e54bc24a9..36fa02978a 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Messaggio di allerta sconosciuto" name="MissingAlert"> - La tua versione di Second Life non sa come visualizzare il messaggio di allerta appena ricevuto. + La tua versione di [APP_NAME] non sa come visualizzare il messaggio di allerta appena ricevuto. Dettagli dell'errore: il messaggio di allerta '[_NAME]' non è stato trovato in notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Dettagli dell'errore: il messaggio di allerta '[_NAME]' non è st <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Si"/> </notification> <notification name="BadInstallation"> - Si è verificato un errore durante l'aggiornamento di Second Life. Scarica l'ultima versione da secondlife.com. + Si è verificato un errore durante l'aggiornamento di [APP_NAME]. Scarica l'ultima versione da secondlife.com. <usetemplate name="okbutton" yestext="OK"/> @@ -141,12 +141,12 @@ Scegli solo un oggetto e riprova. <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Non Salvare" yestext="Salva Tutto"/> </notification> <notification name="GrantModifyRights"> - Dare i diritti di modifica ad un altro residente gli consente di cambiare, cancellare o prendere QUALUNQUE oggetto che hai in Second Life. Fai MOLTA attenzione quando concedi questo permesso. + Dare i diritti di modifica ad un altro residente gli consente di cambiare, cancellare o prendere QUALUNQUE oggetto che hai in [SECOND_LIFE]. Fai MOLTA attenzione quando concedi questo permesso. Vuoi davvero dare i diritti di modifica a [FIRST_NAME] [LAST_NAME]? <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> </notification> <notification name="GrantModifyRightsMultiple"> - Dare i diritti di modifica ad un altro residente gli consente di cambiare QUALUNQUE oggetto che hai in Second Life. Fai MOLTA attenzione quando concedi questo permesso. + Dare i diritti di modifica ad un altro residente gli consente di cambiare QUALUNQUE oggetto che hai in [SECOND_LIFE]. Fai MOLTA attenzione quando concedi questo permesso. Vuoi davvero dare i diritti di modifica ai residenti selezionati? <usetemplate name="okcancelbuttons" notext="No" yestext="Si"/> </notification> @@ -235,7 +235,7 @@ Marcando questo campo si mostrerà: <notification name="ClickPartnerHelpAvatar"> Puoi proporre o cancellare una partnership con un altro/a residente attraverso il sito web [SECOND_LIFE]. -Vai al sito web di Second Life per ulteriori informazioni sulla partnership? +Vai al sito web di [SECOND_LIFE] per ulteriori informazioni sulla partnership? <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Vai alla pagina"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -273,7 +273,7 @@ Il tuo prezzo di vendità è [SALE_PRICE]L$ ed è autorizzato alla vendita a [NA <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - ATTENZIONE: Cliccando 'vendi a tutti' rende il tuo terrono disponibile all'intera comunità di Second Life, anche non in questa regione. + ATTENZIONE: Cliccando 'vendi a tutti' rende il tuo terrono disponibile all'intera comunità di [SECOND_LIFE], anche non in questa regione. Il terreno selezionato di [LAND_SIZE] m² sta per essere messo in vendita. Il tuo prezzo di vendità è [SALE_PRICE]L$ ed è autorizzato alla vendita a [NAME]. @@ -420,17 +420,17 @@ Non ci sono rimborsi per la tariffa pagata. <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> </notification> <notification name="CacheWillClear"> - La Cache verrà pulita dopo il riavvio di [SECOND_LIFE]. + La Cache verrà pulita dopo il riavvio di [APP_NAME]. </notification> <notification name="CacheWillBeMoved"> - La Cache verrà traslocata dopo il riavvio di [SECOND_LIFE]. + La Cache verrà traslocata dopo il riavvio di [APP_NAME]. Nota: Questo pulirà la cache. </notification> <notification name="ChangeConnectionPort"> - Le impostazioni delle porte avranno effetto dopo il riavvio di [SECOND_LIFE]. + Le impostazioni delle porte avranno effetto dopo il riavvio di [APP_NAME]. </notification> <notification name="ChangeSkin"> - La nuova pelle apparità dopo il riavvio di [SECOND_LIFE]. + La nuova pelle apparità dopo il riavvio di [APP_NAME]. </notification> <notification name="GoToAuctionPage"> Vai alla pagina web [SECOND_LIFE] per vedere i dettagli dell'asta oppure fai un'offerta? @@ -489,7 +489,7 @@ L'oggetto potrebbe essere troppo lontano oppure essere stato cancellato. Non è stato possibile scrivere il file [[FILE]] </notification> <notification name="UnsupportedHardware"> - Attenzione: Il tuo sistema non soddisfa i requisiti minimi per il funzionamento Second Life. Se continui ad usare Second Life, potresti osservare una lentezza eccessiva. Sfortunatamente non possiamo fornire supporto tecnico per configurazioni di sistema non supportate. + Attenzione: Il tuo sistema non soddisfa i requisiti minimi per il funzionamento [APP_NAME]. Se continui ad usare [APP_NAME], potresti osservare una lentezza eccessiva. Sfortunatamente non possiamo fornire supporto tecnico per configurazioni di sistema non supportate. MINSPECS Vuoi visitare [_URL] per maggiori informazioni? @@ -500,14 +500,14 @@ Vuoi visitare [_URL] per maggiori informazioni? </notification> <notification name="UnknownGPU"> Il tuo sistema contiene una scheda grafica che attualmente non supportiamo. -Questo succede spesso con nuovi prodotti che non siamo riusciti a verificare. Probabilmente Second Life funzionerà correttamente ma forse dovrai modificare le impostazioni grafiche in modo appropriato. +Questo succede spesso con nuovi prodotti che non siamo riusciti a verificare. Probabilmente [APP_NAME] funzionerà correttamente ma forse dovrai modificare le impostazioni grafiche in modo appropriato. (Modifica > Preferenze > Grafica). <form name="form"> <ignore name="ignore" text="Quando sto valutando una scheda grafica sconosciuta"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] si è bloccata mentre stava inizializzando i driver grafici. + [APP_NAME] si è bloccata mentre stava inizializzando i driver grafici. La qualità grafica verrà impostata al valore basso per evitare alcuni degli errori più comuni con i driver. Questo però disabiliterà alcune funzioni grafiche. Ti raccomandiamo di aggiornare i driver della tua scheda grafica. @@ -791,7 +791,7 @@ Nessun terreno selezionato. Non riesco a trovare la regione dove è situato il terreno. </notification> <notification name="CannotCloseFloaterBuyLand"> - Non puoi chiudere la finestra di Acquisto Terreno finchè Second Life non stima il prezzo di questa transazione. + Non puoi chiudere la finestra di Acquisto Terreno finchè [APP_NAME] non stima il prezzo di questa transazione. </notification> <notification name="CannotDeedLandNothingSelected"> Impossibile cedere il terreno: @@ -962,7 +962,7 @@ Se questo problema persiste, clicca sul menu a tendina 'Strumenti > Segn <notification name="YouHaveBeenLoggedOut"> Sei stato sconnesso da [SECOND_LIFE]: [MESSAGE] -Puoi ancora vedere i tuoi IM e la chat cliccando 'Vedi IM & Chat'. Altrimenti, clicca 'Esci' per uscire immediatamente da [SECOND_LIFE]. +Puoi ancora vedere i tuoi IM e la chat cliccando 'Vedi IM & Chat'. Altrimenti, clicca 'Esci' per uscire immediatamente da [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Esci" yestext="Vedi IM & Chat"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1134,14 +1134,14 @@ Puoi usare [SECOND_LIFE] normalmente e gli altri utenti ti vedranno correttament </form> </notification> <notification name="FirstRun"> - L'installazione di [SECOND_LIFE] è completata. + L'installazione di [APP_NAME] è completata. Se questa è la prima volta che usi [SECOND_LIFE], avari bisogno di creare un account prima di poterti collegare. Vai su www.secondlife.com per creare un nuovo account? <usetemplate name="okcancelbuttons" notext="Continua" yestext="Nuovo Account..."/> </notification> <notification name="LoginPacketNeverReceived"> - Ci sono stati problemi durante la connessione. Potrebbero esserci problemi con la tua connessione ad internet oppure con i server di Second Life. + Ci sono stati problemi durante la connessione. Potrebbero esserci problemi con la tua connessione ad internet oppure con i server di [SECOND_LIFE]. Puoi controllare la tua connessione internet e riprovare fra qualche minuto, oppure cliccare su Aiuto per collegarti al nostro sito di supporto, oppure cliccare teleporta per cercare di teleportarti a casa. <form name="form"> @@ -1244,33 +1244,33 @@ Imposta l'oggetto per la vendita e riprova. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - E' disponibile una nuova versione di [SECOND_LIFE]. + E' disponibile una nuova versione di [APP_NAME]. [MESSAGE] -Devi scaricare questo aggiornamento per usare [SECOND_LIFE]. +Devi scaricare questo aggiornamento per usare [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> </notification> <notification name="DownloadWindows"> - E' disponibile una versione aggiornata di [SECOND_LIFE]. + E' disponibile una versione aggiornata di [APP_NAME]. [MESSAGE] Questo aggiornamento non è obbligatorio, ma ti suggeriamo di installarlo per migliorarne le prestazioni e la stabilità. <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - E' disponibile una versione aggiornata di [SECOND_LIFE]. + E' disponibile una versione aggiornata di [APP_NAME]. [MESSAGE] Questo aggiornamento non è obbligatorio, ma ti suggeriamo di installarlo per migliorarne le prestazioni e la stabilità. <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> </notification> <notification name="DownloadMacMandatory"> - E' disponibile una nuova versione di [SECOND_LIFE]. + E' disponibile una nuova versione di [APP_NAME]. [MESSAGE] -Devi scaricare questo aggiornamento per usare [SECOND_LIFE]. +Devi scaricare questo aggiornamento per usare [APP_NAME]. Vuoi avviarne lo scaricamento nella tua cartella applicazioni? <usetemplate name="okcancelbuttons" notext="Esci" yestext="Scarica l'aggiornamento"/> </notification> <notification name="DownloadMac"> - E' disponibile una versione aggiornata di [SECOND_LIFE]. + E' disponibile una versione aggiornata di [APP_NAME]. [MESSAGE] Questo aggiornamento non è obbligatorio, ma ti suggeriamo di installarlo per migliorarne le prestazioni e la stabilità. @@ -1278,7 +1278,7 @@ Vuoi avviarne lo scaricamento nella tua cartella applicazioni? <usetemplate name="okcancelbuttons" notext="Continua" yestext="Scarica l'aggiornamento"/> </notification> <notification name="DownloadMacReleaseForDownload"> - E' disponibile una versione aggiornata di [SECOND_LIFE]. + E' disponibile una versione aggiornata di [APP_NAME]. [MESSAGE] Questo aggiornamento non è obbligatorio, ma ti suggeriamo di installarlo per migliorarne le prestazioni e la stabilità. @@ -1721,7 +1721,7 @@ Una volta impostato, fai attenzione che abbassare il bonus può causare la cance Impostazione base: 1.0 </notification> <notification label="Categoria di accesso" name="HelpRegionMaturity"> - Imposta la categoria di accesso della regione, come mostrato nella barra dei menu nella parte superiore dello schermo di qualsiasi residente e nelle tooltip sulla mappa di Second Life, quando il cursore si muove su questa regione. Questa impostazione influenza anche l'accesso a questa regione e i risultati della ricerca. Altri residenti possono entrare solo in regioni o visualizzare risultati della ricerca con la stessa categoria di accesso che hanno scelto nella loro preferenze. + Imposta la categoria di accesso della regione, come mostrato nella barra dei menu nella parte superiore dello schermo di qualsiasi residente e nelle tooltip sulla mappa di [SECOND_LIFE], quando il cursore si muove su questa regione. Questa impostazione influenza anche l'accesso a questa regione e i risultati della ricerca. Altri residenti possono entrare solo in regioni o visualizzare risultati della ricerca con la stessa categoria di accesso che hanno scelto nella loro preferenze. Può trascorrere un po' di tempo prima che questa modifica si rifletta sulla mappa. </notification> @@ -1894,7 +1894,7 @@ Lasciandolo vuoto causerà l'invio delle segnalazioni di abuso soltanto ai Impostazione base: spento </notification> <notification label="Versione voice non compatibile" name="VoiceVersionMismatch"> - Questa versione di Second Life non è compatibile con le impostazioni di voice chat di questa regione. Per poter fare funzionare correttamente la chat voce devi aggiornare Second Life. + Questa versione di [APP_NAME] non è compatibile con le impostazioni di voice chat di questa regione. Per poter fare funzionare correttamente la chat voce devi aggiornare [APP_NAME]. </notification> <notification label="Regolamento della proprietà" name="HelpEstateCovenant"> Impostare un regolamento della proprietà ti consente di vendere i terreni all'interno di quella proprietà. Se non imposti un regolamento, non puoi vendere i terreni. La notecard per il tuo regolamente può essere vuota se non desideri applicare nessuna regola o informare i compratori di cose inerenti la terra, prima dell'acquisto. @@ -2009,16 +2009,16 @@ Trasferisci gli elementi nell'inventario? Non ci sono elementi in questo oggetto che tu possa copiare. </notification> <notification name="WebLaunchAccountHistory"> - Vai nel sito web di Second Life per vedere il tuo estratto conto? + Vai nel sito web di [SECOND_LIFE] per vedere il tuo estratto conto? <usetemplate ignoretext="Quando carichi la pagina web dell'estratto conto." name="okcancelignore" notext="Annulla" yestext="Vai alla pagina"/> </notification> <notification name="ClickOpenF1Help"> - Visita il sito di supporto di Second Life? - <usetemplate ignoretext="Quando visiti il sito del supporto di Second Life." name="okcancelignore" notext="Annulla" yestext="Vai"/> + Visita il sito di supporto di [SECOND_LIFE]? + <usetemplate ignoretext="Quando visiti il sito del supporto di [SECOND_LIFE]." name="okcancelignore" notext="Annulla" yestext="Vai"/> </notification> <notification name="ConfirmQuit"> Confermi di voler uscire? - <usetemplate ignoretext="Quando esci da Second Life." name="okcancelignore" notext="Continua" yestext="Esci"/> + <usetemplate ignoretext="Quando esci da [APP_NAME]." name="okcancelignore" notext="Continua" yestext="Esci"/> </notification> <notification name="HelpReportAbuseEmailLL"> Usa questo strumento per segnalare violazioni ai Termini di Servizio e agli standard della Comunità. Vedi: @@ -2038,7 +2038,7 @@ Come servizio ai residenti e ai visitatori, il proprietario della regione in cui Il proprietario della regione risolverà le segnalazione basandosi sulle regole locali di questa regione così come sono indicate dal regolamento della proprietà. (Puoi vedere il regolamento andando sul menu Mondo e selezionando Informazioni sul terreno.) -La risoluzione di questa segnalazione verrà applicata solo in questa regione; L'accesso dei residenti ad altre aree di Second Life non verrà influenzato dal risultato di questa segnalazione. Soltanto i Linden Lab possono restringere l'accesso alla totalità di Second Life. +La risoluzione di questa segnalazione verrà applicata solo in questa regione; L'accesso dei residenti ad altre aree di [SECOND_LIFE] non verrà influenzato dal risultato di questa segnalazione. Soltanto i Linden Lab possono restringere l'accesso alla totalità di [SECOND_LIFE]. </notification> <notification name="HelpReportBug"> Usa questo strumento per segnalare *soltanto* caratteristiche tecniche che non funzionano come descitto o atteso, fornisci quanti più dettagli è possibile, Puoi rispondere all'email automatica aggiungendo ulteriori dettagli sulla tua segnalazione. @@ -2090,9 +2090,9 @@ Inserendo una descrizione accurata, ci aiuti a gestire ed elaborare le segnalazi Sembra che stai segnalando un problema di furto di proprietà intellettuale. Cerca di essere sicuro che la tua segnalazione stia riportando correttamente: -(1) Il processo di abuso. Puoi sottomettere una segnalazione di abuso se ritieni che un residente stia sfruttando il sistema di permessi di Second Life, per esempio, usando CopyBot oppure simili strumenti di copia, per rubare i diritti della proprietà intellettuale. L'ufficio Abusi investigherà e deciderà delle azioni disciplinari adeguate per comportamenti che violano gli standard di comunità di Second Life o i Termini di Servizio. Si tenga però presente che l'ufficio Abusi non gestisce e non risponde alle richieste di rimozione di contenuto da Second Life. +(1) Il processo di abuso. Puoi sottomettere una segnalazione di abuso se ritieni che un residente stia sfruttando il sistema di permessi di [SECOND_LIFE], per esempio, usando CopyBot oppure simili strumenti di copia, per rubare i diritti della proprietà intellettuale. L'ufficio Abusi investigherà e deciderà delle azioni disciplinari adeguate per comportamenti che violano gli standard di comunità di [SECOND_LIFE] o i Termini di Servizio. Si tenga però presente che l'ufficio Abusi non gestisce e non risponde alle richieste di rimozione di contenuto da [SECOND_LIFE]. -(2) Il processo di rimozione DMCA o processo di rimozione dei contenuti. Per richiedere la rimozione di contenuto da Second Life, DEVI sottomettere una notifica valida di furto intellettuale come definito nella nostra politica DMCA che trovi a http://secondlife.com/corporate/dmca.php. +(2) Il processo di rimozione DMCA o processo di rimozione dei contenuti. Per richiedere la rimozione di contenuto da [SECOND_LIFE], DEVI sottomettere una notifica valida di furto intellettuale come definito nella nostra politica DMCA che trovi a http://secondlife.com/corporate/dmca.php. Se desideri egualmente continuare con il processo di abuso, chiudi questa finestra e termina di compilare la segnalazione. Potresti dover selezionare la categoria specifica 'CopyBot o Sfruttamento permessi'. @@ -2214,7 +2214,7 @@ Clicca 'Cielo avanzato' per visualizzare un editor con le impostazioni Clicca 'Acqua Avanzata' per visualizzare un editor con le impostazini avanzate per l'acqua. </notification> <notification name="HelpDayCycle"> - L'editor del Ciclo Giorno/Notte permette di controllare il cielo durante il ciclo giornaliero di Second Life. Questo è il ciclo che è usato dal cursore dell'editor base dell'ambiente. + L'editor del Ciclo Giorno/Notte permette di controllare il cielo durante il ciclo giornaliero di [SECOND_LIFE]. Questo è il ciclo che è usato dal cursore dell'editor base dell'ambiente. L'editor del ciclo giorno/notte funziona impostando i fotogrammi chiave. Questi sono nodi (rappresentati da tacche grige sul grafico temporale) che hanno delle preregolazioni associate del cielo. Man mano che l'ora del giorno procede, il cielo di WindLight'si anima' interpolando i valori fra questi fotogrammi chiave. @@ -2399,7 +2399,7 @@ D (Densità) controlla quanto gonfie o spezzettate appaiono le nuvole. </notification> <notification name="NotAgeVerified"> La tua età deve essere verificata per poter entrare in questo territorio. -Vuoi visitare il sito di Second Life per verificare la tua eta? +Vuoi visitare il sito di [SECOND_LIFE] per verificare la tua eta? [_URL] <url name="url" option="0"> @@ -2409,7 +2409,7 @@ Vuoi visitare il sito di Second Life per verificare la tua eta? </notification> <notification name="Cannot enter parcel: no payment info on file"> Questo terreno richiede che tu abbia registrato le tue informazioni di pagamento prima che tu possa accedervi. -Vuoi visitare il sito di Second Life per impostarle? +Vuoi visitare il sito di [SECOND_LIFE] per impostarle? [_URL] <url name="url" option="0"> @@ -2726,13 +2726,13 @@ Riprova tra qualche istante. Impossibile creare la connessione in sospeso. </notification> <notification name="InternalUsherError"> - Si è verificato un errore interno durante il tentativo di trasportarti alla destinazione. Potrebbero esserci problemi in Second Life al momento. + Si è verificato un errore interno durante il tentativo di trasportarti alla destinazione. Potrebbero esserci problemi in [SECOND_LIFE] al momento. </notification> <notification name="NoGoodTPDestination"> Impossibile trovare una buona destinazione per il teletrasporto in questa regione. </notification> <notification name="InternalErrorRegionResolver"> - Si è verificato un errore interno durante il tentativo di risolvere le coordinate per la richiesta di teletrasporto. Può darsi che ci siano problemi in Second Life al momento. + Si è verificato un errore interno durante il tentativo di risolvere le coordinate per la richiesta di teletrasporto. Può darsi che ci siano problemi in [SECOND_LIFE] al momento. </notification> <notification name="NoValidLanding"> Non è stato trovato un punto di atterraggio valido. @@ -2854,7 +2854,7 @@ Dall'oggetto: [OBJECTNAME], di: [NAME]? Impossibile trovare [TYPE] chiamato [DESC] nel database. </notification> <notification name="InvalidWearable"> - L'oggetto che si sta tentando di indossare utilizza una funzione che il programma non riesce a leggere. Aggiorna la tua versione di Second Life per riuscire a indossare l'oggetto. + L'oggetto che si sta tentando di indossare utilizza una funzione che il programma non riesce a leggere. Aggiorna la tua versione di [APP_NAME] per riuscire a indossare l'oggetto. </notification> <notification name="ScriptQuestion"> '[OBJECTNAME]', un oggetto di proprietà di '[NAME]', vorrebbe: @@ -2959,7 +2959,7 @@ Gli oggetti flessibili non possono essere fisici e devano essere fantasma fino a </notification> <notification name="FirstDebugMenus"> Hai attivato il menu Avanzato. -Questo menu contiene funzioni utili per gli sviluppatori per il debug di Second Life. +Questo menu contiene funzioni utili per gli sviluppatori per il debug di [SECOND_LIFE]. Per attivare o disattivare questo menu su Windows premere Ctrl-Alt-D. Su Mac premere ⌘-Opt-D. </notification> <notification name="FirstSculptedPrim"> @@ -3067,7 +3067,7 @@ Fai clic su Accetta per partecipare alla chiamata o su Rifiuta per rifiutare l&a - La velocità della tua CPU non soddisfa i requisiti minimi. </global> <global name="UnsupportedGLRequirements"> - Sembra che tu non abbia i requisiti appropriati hardware per Second Life. Second Life ha bisogno di una scheda grafica OpenGL che abbia il supporto multitexture. Se ritieni di avere l'hardware giusto verifica di avere installati i driver più aggiornati per la tua scheda grafica e gli aggiornamenti e service pack appropriati per il tuo sistema operativo. + Sembra che tu non abbia i requisiti appropriati hardware per [APP_NAME]. [APP_NAME] ha bisogno di una scheda grafica OpenGL che abbia il supporto multitexture. Se ritieni di avere l'hardware giusto verifica di avere installati i driver più aggiornati per la tua scheda grafica e gli aggiornamenti e service pack appropriati per il tuo sistema operativo. Se continui ad avere problemi, visita il sito: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/it/panel_status_bar.xml b/indra/newview/skins/default/xui/it/panel_status_bar.xml index 2403dce20e..dfaacb659e 100644 --- a/indra/newview/skins/default/xui/it/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/it/panel_status_bar.xml @@ -27,8 +27,8 @@ <button label="" label_selected="" name="restrictpush" tool_tip="Vietato spingere"/> <button label="" label_selected="" name="status_no_voice" tool_tip="Voice non disponibile qui"/> <button label="" label_selected="" name="buyland" tool_tip="Compra questo terreno"/> - <line_editor label="Cerca" name="search_editor" tool_tip="Cerca in Second Life"/> - <button label="" label_selected="" name="search_btn" tool_tip="Cerca in Second Life"/> + <line_editor label="Cerca" name="search_editor" tool_tip="Cerca in [SECOND_LIFE]"/> + <button label="" label_selected="" name="search_btn" tool_tip="Cerca in [SECOND_LIFE]"/> <string name="packet_loss_tooltip"> Perdita di pacchetti </string> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index d7884cfbdb..37c003a07b 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -17,7 +17,7 @@ Un precedente tentativo di login è fallito. Tentativo di connessione [NUMBER] </string> <string name="LoginPrecaching"> - Sto caricando SecondLife... + Sto caricando [SECOND_LIFE]... </string> <string name="LoginInitializingBrowser"> Inizializzazione del browser web incorporato... diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml index ffdbec666d..fb12e48c9a 100644 --- a/indra/newview/skins/default/xui/ja/floater_about.xml +++ b/indra/newview/skins/default/xui/ja/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="floater_about" title="Second Lifeについて"> +<floater name="floater_about" title="[APP_NAME]について"> <text_editor name="credits_editor"> - Second Lifeは、 Philip、Tessa、Andrew、Cory、James、Ben、Char、Charlie、Colin、Dan、Daniel、Doug、Eric、Hamlet、Haney、Eve、Hunter、Ian、Jeff、Jennifer、Jim、John、Lee、Mark、Peter、Phoenix、Richard、Robin、Xenon、Steve、Tanya、Eddie、Avi、Frank、Bruce、Aaron、Alice、Bob、Debra、Eileen、Helen、Janet、Louie、Leviathania、Stefan、Ray、Kevin、Tom、Mikeb、MikeT、Burgess、Elena、Tracy、Bill、Todd、Ryan、Zach、Sarah、Nova、Tim、Stephanie、Michael、Evan、Nicolas、Catherine、Rachelle、Dave、Holly、Bub、Kelly、Magellan、Ramzi、Don、Sabin、Jill、Rheya、Jeska、Torley、Kona、Callum、Charity、Ventrella、Jack、Vektor、Iris、Chris、Nicole、Mick、Reuben、Blue、Babbage、Yedwab、Deana、Lauren、Brent、Pathfinder、Chadrick、Altruima、Jesse、Teeny、Monroe、Icculus、David、Tess、Lizzie、Patsy、Isaac、Lawrence、Cyn、Bo、Gia、Annette、Marius、Tbone、Jonathan、Karen、Ginsu、Satoko、Yuko、Makiko、Thomas、Harry、Seth、Alexei、Brian、Guy、Runitai、Ethan、Data、Cornelius、Kenny、Swiss、Zero、Natria、Wendy、Stephen、Teeple、Thumper、Lucy、Dee、Mia、Liana、Warren、Branka、Aura、beez、Milo、Hermia、Red、Thrax、Joe、Sally、Magenta、Mogura、Paul、Jose、Rejean、Henrik、Lexie、Amber、Logan、Xan、Nora、Morpheus、Donovan、Leyla、MichaelFrancis、Beast、Cube、Bucky、Joshua、Stryfe、Harmony、Teresa、Claudia、Walker、Glenn、Fritz、Fordak、June、Cleopetra、Jean、Ivy、Betsy、Roosevelt、Spike、Ken、Which、Tofu、Chiyo、Rob、Zee、dustin、George、Del、Matthew、Cat、Jacqui、Lightfoot、Adrian、Viola、Alfred、Noel、Irfan、Sunil、Yool、Rika、Jane、Xtreme、Frontier、a2、Neo、Siobhan、Yoz、Justin、Elle、Qarl、Benjamin、Isabel、Gulliver、Everett、Christopher、Izzy、Stephany、Garry、Sejong、Sean、Tobin、Iridium、Meta、Anthony、Jeremy、JP、Jake、Maurice、Madhavi、Leopard、Kyle、Joon、Kari、Bert、Belinda、Jon、Kristi、Bridie、Pramod、KJ、Socrates、Maria、Ivan、Aric、Yamasaki、Adreanne、Jay、MitchK、Ceren、Coco、Durl、Jenny、Periapse、Kartic、Storrs、Lotte、Sandy、Rohn、Colossus、Zen、BigPapi、Brad、Pastrami、Kurz、Mani、Neuro、Jaime、MJ、Rowan、Sgt、Elvis、Gecko、Samuel、Sardonyx、Leo、Bryan、Niko、Soft、Poppy、Rachel、Aki、Angelo、Banzai、Alexa、Sue、CeeLo、Bender、CG、Gillian、Pelle、Nick、Echo、Zara、Christine、Shamiran、Emma、Blake、Keiko、Plexus、Joppa、Sidewinder、Erica、Ashlei、Twilight、Kristen、Brett、Q、Enus、Simon、Bevis、Kraft、Kip、Chandler、Ron、LauraP、Ram、KyleJM、Scouse、Prospero、Melissa、Marty、Nat、Hamilton、Kend、Lordan、Jimmy、Kosmo、Seraph、Green、Ekim、Wiggo、JT、Rome、Doris、Miz、Benoc、Whump、Trinity、Patch、Kate、TJ、Bao、Joohwan、Christy、Sofia、Matias、Cogsworth、Johan、Oreh、Cheah、Angela、Brandy、Mango、Lan、Aleks、Gloria、Heidy、Mitchell、Space、Colton、Bambers、Einstein、Maggie、Malbers、Rose、Winnie、Stella、Milton、Rothman、Niall、Marin、Allison、Katie、Dawn、Katt、Dusty、Kalpana、Judy、Andrea、Ambroff、Infinity、Gail、Rico、Raymond、Yi、William、Christa、M、Teagan、Scout、Molly、Dante、Corr、Dynamike、Usi、Kaylee、Vidtuts、Lil、Danica、Sascha、Kelv、Jacob、Nya、Rodney、Brandon、Elsie、Blondin、Grant、Katrin、Nyx、Gabriel、Locklainn、Claire、Devin、Minerva、Monty、Austin、Bradford、Si、Keira、H、Caitlin、Dita、Makai、Jenn、Ann、Meredith、Clare、Joy、Praveen、Cody、Edmund、Ruthe、Sirena、Gayathri、Spider、FJ、Davidoff、Tian、Jennie、Louise、Oskar、Landon、Noelle、Jarv、Ingrid、Al、Sommer、Doc、Aria、Huin、Gray、Lili、Vir、DJ、Yang、T、Simone、Maestro、Scott、Charlene、Quixote、Amanda、Susan、Zed、Anne、Enkidu、Esbee、Joroan、Katelin、Roxie、Tay、Scarlet、Kevin、Johnny、Wolfgang、Andren、Bob、Howard、Merov、Rand、Ray、Michon、Newell、Galen、Dessie、Lesと、その他多数の人達によって作成されました。 + Second Lifeは、 Philip、Tessa、Andrew、Cory、James、Ben、Char、Charlie、Colin、Dan、Daniel、Doug、Eric、Hamlet、Haney、Eve、Hunter、Ian、Jeff、Jennifer、Jim、John、Lee、Mark、Peter、Phoenix、Richard、Robin、Xenon、Steve、Tanya、Eddie、Avi、Frank、Bruce、Aaron、Alice、Bob、Debra、Eileen、Helen、Janet、Louie、Leviathania、Stefan、Ray、Kevin、Tom、Mikeb、MikeT、Burgess、Elena、Tracy、Bill、Todd、Ryan、Zach、Sarah、Nova、Tim、Stephanie、Michael、Evan、Nicolas、Catherine、Rachelle、Dave、Holly、Bub、Kelly、Magellan、Ramzi、Don、Sabin、Jill、Rheya、Jeska、Torley、Kona、Callum、Charity、Ventrella、Jack、Vektor、Iris、Chris、Nicole、Mick、Reuben、Blue、Babbage、Yedwab、Deana、Lauren、Brent、Pathfinder、Chadrick、Altruima、Jesse、Teeny、Monroe、Icculus、David、Tess、Lizzie、Patsy、Isaac、Lawrence、Cyn、Bo、Gia、Annette、Marius、Tbone、Jonathan、Karen、Ginsu、Satoko、Yuko、Makiko、Thomas、Harry、Seth、Alexei、Brian、Guy、Runitai、Ethan、Data、Cornelius、Kenny、Swiss、Zero、Natria、Wendy、Stephen、Teeple、Thumper、Lucy、Dee、Mia、Liana、Warren、Branka、Aura、beez、Milo、Hermia、Red、Thrax、Joe、Sally、Magenta、Mogura、Paul、Jose、Rejean、Henrik、Lexie、Amber、Logan、Xan、Nora、Morpheus、Donovan、Leyla、MichaelFrancis、Beast、Cube、Bucky、Joshua、Stryfe、Harmony、Teresa、Claudia、Walker、Glenn、Fritz、Fordak、June、Cleopetra、Jean、Ivy、Betsy、Roosevelt、Spike、Ken、Which、Tofu、Chiyo、Rob、Zee、dustin、George、Del、Matthew、Cat、Jacqui、Lightfoot、Adrian、Viola、Alfred、Noel、Irfan、Sunil、Yool、Rika、Jane、Xtreme、Frontier、a2、Neo、Siobhan、Yoz、Justin、Elle、Qarl、Benjamin、Isabel、Gulliver、Everett、Christopher、Izzy、Stephany、Garry、Sejong、Sean、Tobin、Iridium、Meta、Anthony、Jeremy、JP、Jake、Maurice、Madhavi、Leopard、Kyle、Joon、Kari、Bert、Belinda、Jon、Kristi、Bridie、Pramod、KJ、Socrates、Maria、Ivan、Aric、Yamasaki、Adreanne、Jay、MitchK、Ceren、Coco、Durl、Jenny、Periapse、Kartic、Storrs、Lotte、Sandy、Rohn、Colossus、Zen、BigPapi、Brad、Pastrami、Kurz、Mani、Neuro、Jaime、MJ、Rowan、Sgt、Elvis、Gecko、Samuel、Sardonyx、Leo、Bryan、Niko、Soft、Poppy、Rachel、Aki、Angelo、Banzai、Alexa、Sue、CeeLo、Bender、CG、Gillian、Pelle、Nick、Echo、Zara、Christine、Shamiran、Emma、Blake、Keiko、Plexus、Joppa、Sidewinder、Erica、Ashlei、Twilight、Kristen、Brett、Q、Enus、Simon、Bevis、Kraft、Kip、Chandler、Ron、LauraP、Ram、KyleJM、Scouse、Prospero、Melissa、Marty、Nat、Hamilton、Kend、Lordan、Jimmy、Kosmo、Seraph、Green、Ekim、Wiggo、JT、Rome、Doris、Miz、Benoc、Whump、Trinity、Patch、Kate、TJ、Bao、Joohwan、Christy、Sofia、Matias、Cogsworth、Johan、Oreh、Cheah、Angela、Brandy、Mango、Lan、Aleks、Gloria、Heidy、Mitchell、Space、Colton、Bambers、Einstein、Maggie、Malbers、Rose、Winnie、Stella、Milton、Rothman、Niall、Marin、Allison、Katie、Dawn、Katt、Dusty、Kalpana、Judy、Andrea、Ambroff、Infinity、Gail、Rico、Raymond、Yi、William、Christa、M、Teagan、Scout、Molly、Dante、Corr、Dynamike、Usi、Kaylee、Vidtuts、Lil、Danica、Sascha、Kelv、Jacob、Nya、Rodney、Brandon、Elsie、Blondin、Grant、Katrin、Nyx、Gabriel、Locklainn、Claire、Devin、Minerva、Monty、Austin、Bradford、Si、Keira、H、Caitlin、Dita、Makai、Jenn、Ann、Meredith、Clare、Joy、Praveen、Cody、Edmund、Ruthe、Sirena、Gayathri、Spider、FJ、Davidoff、Tian、Jennie、Louise、Oskar、Landon、Noelle、Jarv、Ingrid、Al、Sommer、Doc、Aria、Huin、Gray、Lili、Vir、DJ、Yang、T、Simone、Maestro、Scott、Charlene、Quixote、Amanda、Susan、Zed、Anne、Enkidu、Esbee、Joroan、Katelin、Roxie、Tay、Scarlet、Kevin、Johnny、Wolfgang、Andren、Bob、Howard、Merov、Rand、Ray、Michon、Newell、Galen、Dessie、Les、Michon、Jenelle、Geo、Siz、Shapiro、Pete、Calyle、Selene、Allen、Phoebe、Goldin、Kimmora、Dakota、Slaton、Lindquist、Zoey、Hari、Othello、Rohit、Sheldon、Petra、Viale、Gordon、Kaye、Pink、Ferny、Emerson、Davy、Bri、Chan、Juan、Robert、Terrence、Nathan、Carlと、その他多数の人達によって作成されました。 - このバージョンをこれまでで最高のものになるようご協力をいただいた以下の住人の皆様に深く感謝いたします。 afon shepherd、Aimee Trescothick、Alexandrea Fride、Alissa Sabre、Amber DeCuir、Asuka Neely、Auron Forcella、Blue Revolution、Bocan Undercroft、Boroondas Gupte、Brandon Shinobu、Bri Gufler、Buckaroo Mu、Celierra Darling、Christos Atlantis、Coder Kas、Cummere Mayo、dakota schwade、Dirk Talamasca、Dizzy Banjo、Drew Dwi、Duckling Kwak、Ellla McMahon、Erikah Jameson、Erinyse Planer、Eyana Yohkoh、Ezian Ecksol、Faron Karu、Fenoe Lowey、Fox Hwasung、Francisca Biedermann、Gally Young、Gellan Glenelg、Geneko Nemeth、Glenn Rotaru、Hagar Qinan、Harleen Gretzky、Holger Gilruth、hotrodjohnny gears、IAm Zabelin、Inigo Catteneo、Iustinian Tomsen、Jacek Antonell、James Benedek、Jim Kupferberg、Joeseph Albanese、JPT62089 Agnon、Kardargo Adamczyk、Kirstenlee Cinquetti、Latif Khalifa、lea Parnall、Lex Neva、Lillith Anatine、Lilly Zenovka、Lim Catteneo、Lindal Kidd、Mark Rosenbaum、MasterJ Chaplin、McCabe Maxsted、Melvin Starbrook、Meni Kaiousei、Mero Collas、Minakothegothicgeisha Kamachi、Moon Metty、neofilo aabye、Neutron Chesnokov、Nomad Ingwer、norritt Xi、Opensource Obscure、Oracle Weatherwax、Ourasi Ferraris、Pabl0 Roffo、Peyton Aleixandre、Phli Foxchase、Psi Merlin、r2d2 Wunderlich、Regi Yifu、Saijanai Kuhn、Sandor Balczo、Sarkan Dreamscape、Scree Raymaker、Sedona Mills、Selena Beale、Sheet Spotter、Shibari Twine、Silver Key、Simon Kline、SLB Wirefly、Stacy Wombat、Sugarcult Dagger、Tayra Dagostino、Tetsuryu Vlodovic、ThaBiGGDoGG Richez、Timo Gufler、tx Oh、wayfinder wishbringer、Wizzytoe McCullough、Wundur Primbee、Yann Dufaux、Yuu Nakamichi、Aminom Marvin、Andred Qinan、arminasx saiman、caroline apollo、Iskar Ariantho、Jenika Connolly、Maghnus Balogh、Nefertiti Nefarious、RodneyLee Jessop + このバージョンをこれまでで最高のものになるようご協力をいただいた以下の住人の皆様に深く感謝いたします。 able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/ja/floater_postcard.xml b/indra/newview/skins/default/xui/ja/floater_postcard.xml index 65c4f65185..e22ce24180 100644 --- a/indra/newview/skins/default/xui/ja/floater_postcard.xml +++ b/indra/newview/skins/default/xui/ja/floater_postcard.xml @@ -34,7 +34,7 @@ <button bottom_delta="-52" label="取り消し" name="cancel_btn" /> <button label="送信" name="send_btn" /> <text name="default_subject"> - Second Life からのポストカード + [SECOND_LIFE] からのポストカード </text> <text name="default_message"> これは絶対チェック! diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml index 906822e54b..afb1219095 100644 --- a/indra/newview/skins/default/xui/ja/menu_login.xml +++ b/indra/newview/skins/default/xui/ja/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="環境設定..." name="Preferences..." /> </menu> <menu label="ヘルプ" name="Help"> - <menu_item_call label="Second Lifeヘルプ" name="Second Life Help" /> - <menu_item_call label="Second Lifeについて..." name="About Second Life..." /> + <menu_item_call label="[SECOND_LIFE]ヘルプ" name="Second Life Help" /> + <menu_item_call label="[APP_NAME]について..." name="About Second Life..." /> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index c994995ed2..bb33a14be4 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -169,7 +169,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="選択対象に視点移動" name="Focus on Selection"/> <menu_item_call label="選択範囲にズームイン" name="Zoom to Selection"/> - <menu_item_call label="オブジェクトを購入" name="Menu Object Take"/> + <menu_item_call label="オブジェクトを購入" name="Menu Object Take"> + <on_enable userdata="購入,取る" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="コピーを取る" name="Take Copy"/> <menu_item_call label="オブジェクトをオブジェクト・コンテンツに戻して保存" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -183,7 +185,7 @@ <menu_item_call label="選択したオブジェクトの中のスクリプトを停止する" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="ヘルプ" name="Help"> - <menu_item_call label="Second Life ヘルプ" name="Second Life Help"/> + <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/> <menu_item_call label="チュートリアル" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Linden公式ブログ..." name="Official Linden Blog..."/> @@ -212,6 +214,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="バグの報告..." name="Report Bug..."/> </menu> - <menu_item_call label="Second Lifeについて" name="About Second Life..."/> + <menu_item_call label="[APP_NAME]について" name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 478bcfda18..b6d09f893b 100644 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="不明な警告メッセージ" name="MissingAlert"> - あなたの Second Life のバージョンでは、 + あなたの [APP_NAME] のバージョンでは、 今受け取った警告メッセージを表示することができません。 エラー詳細: 「[_NAME]」という警告は notifications.xml にありませんでした。 @@ -97,7 +97,7 @@ <usetemplate name="okcancelbuttons" notext="取り消し" yestext="はい"/> </notification> <notification name="BadInstallation"> - Second Life をアップデート中にエラーが発生しました。 secondlife.com から最新バージョンをダウンロードしてください。 + [APP_NAME] をアップデート中にエラーが発生しました。 secondlife.com から最新バージョンをダウンロードしてください。 <usetemplate name="okbutton" yestext="OK"/> </notification> <notification name="LoginFailedNoNetwork"> @@ -277,7 +277,7 @@ L$が不足しているのでこのグループに参加することができま </notification> <notification name="ConfirmLandSaleToAnyoneChange"> 注:「誰にでも売却する」をクリックすると、 -あなたの土地はSecond Life のコミュニティのどこからでも +あなたの土地は[SECOND_LIFE] のコミュニティのどこからでも (この地域にないコミュニティを含む)購入できるようになります。 選択された[LAND_SIZE]平方メートルの土地は、 @@ -438,17 +438,17 @@ L$が不足しているのでこのグループに参加することができま <usetemplate name="okcancelbuttons" notext="キャンセル" yestext="OK"/> </notification> <notification name="CacheWillClear"> - [SECOND_LIFE]の再起動後にキャッシュがクリアされます。 + [APP_NAME]の再起動後にキャッシュがクリアされます。 </notification> <notification name="CacheWillBeMoved"> - [SECOND_LIFE]の再起動後にキャッシュが移動されます。 + [APP_NAME]の再起動後にキャッシュが移動されます。 注意:これによりキャッシュがクリアされます。 </notification> <notification name="ChangeConnectionPort"> - ポートの設定は、[SECOND_LIFE]の再起動後に有効になります。 + ポートの設定は、[APP_NAME]の再起動後に有効になります。 </notification> <notification name="ChangeSkin"> - 新しいスキンは[SECOND_LIFE]を再起動すると現れます + 新しいスキンは[APP_NAME]を再起動すると現れます </notification> <notification name="GoToAuctionPage"> [SECOND_LIFE]ウェブ・ページに移動し、 入札あるいはオークションの詳細を確認しますか? @@ -507,8 +507,8 @@ L$が不足しているのでこのグループに参加することができま ファイル[[FILE]]を書き込めません。 </notification> <notification name="UnsupportedHardware"> - 警告: あなたのシステムは Second Life を使用するために必要な必須動作環境の条件を満たしていません。 -Second Life をこのままご使用になると、不十分なパフォーマンスしか得られないおそれがあります。 + 警告: あなたのシステムは [APP_NAME] を使用するために必要な必須動作環境の条件を満たしていません。 +[APP_NAME] をこのままご使用になると、不十分なパフォーマンスしか得られないおそれがあります。 また、サポート外のシステム構成でご使用の場合、テクニカルサポートをご利用いただくことができません。 必須動作環境の条件 @@ -521,7 +521,7 @@ Second Life をこのままご使用になると、不十分なパフォーマ <notification name="UnknownGPU"> お使いのシステムには、現時点では不明なグラフィック・カードが搭載されています。 これは、当社による動作テストが行われていない新しいハードウェアが使用されている場合がほとんどです。 -Second Life はほぼ間違いなく正常に動作しますが、 +[APP_NAME] はほぼ間違いなく正常に動作しますが、 必要に応じたグラフィック設定の調整が必要になる場合があります。 (「編集」>「環境設定」>「表示」) <form name="form"> @@ -529,7 +529,7 @@ Second Life はほぼ間違いなく正常に動作しますが、 </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] は、 + [APP_NAME] は、 グラフィック・ドライバの初期化中にクラッシュしました。 一般的なドライバ・エラーを回避するため、「品質およびパフォーマンス」は「低」に設定されます。 これにより、いくつかのグラフィックス機能は無効になります。 @@ -831,7 +831,7 @@ Second Life はほぼ間違いなく正常に動作しますが、 この土地がある地域を見つけることができません </notification> <notification name="CannotCloseFloaterBuyLand"> - Second Lifeによる、 + [APP_NAME]による、 この取引の見積りが完了するまで「土地を購入」ウィンドウを閉じることはできません。 </notification> <notification name="CannotDeedLandNothingSelected"> @@ -1012,7 +1012,7 @@ L$は返金されません。 「IMとチャットを表示」をクリックすると、 現在あるIMとチャットを確認できます。 確認しない場合は「終了」をクリックし、 -すぐに[SECOND_LIFE]を終了してください。 +すぐに[APP_NAME]を終了してください。 <usetemplate name="okcancelbuttons" notext="終了" yestext="IMとチャットを表示"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1190,7 +1190,7 @@ L$は返金されません。 </form> </notification> <notification name="FirstRun"> - [SECOND_LIFE]のインストールが完了しました。 + [APP_NAME]のインストールが完了しました。 [SECOND_LIFE] の使用が初めての方は、 ログイン前にアカウントの作成が必要です。 @@ -1198,7 +1198,7 @@ www.secondlife.comに移動し、新規アカウントの作成を行います <usetemplate name="okcancelbuttons" notext="続行" yestext="新規アカウント..."/> </notification> <notification name="LoginPacketNeverReceived"> - 接続に問題が生じています。 あなたのインターネット接続、またはSecond Life サーバーに問題がある可能性があります。 + 接続に問題が生じています。 あなたのインターネット接続、または[SECOND_LIFE] サーバーに問題がある可能性があります。 インターネット接続を確認して数分後にもう一度試みるか、「ヘルプ」をクリックして当社のサポートサイトに接続してください。または、「テレポート」をクリックしてホームにテレポートしてみてください。 <form name="form"> @@ -1309,35 +1309,35 @@ F1キーを押してください。 [DOWNLOAD_PATH]。 </notification> <notification name="DownloadWindowsMandatory"> - [SECOND_LIFE]の新しいバージョンが利用可能です。 + [APP_NAME]の新しいバージョンが利用可能です。 [MESSAGE] -[SECOND_LIFE]を使用するためには、 +[APP_NAME]を使用するためには、 このアップデートをダウンロードする必要があります。 <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンロード"/> </notification> <notification name="DownloadWindows"> - [SECOND_LIFE]のアップデート・バージョンが利用可能です。 + [APP_NAME]のアップデート・バージョンが利用可能です。 [MESSAGE] このアップデートは必須ではありませんが、パフォーマンスと安定性を向上させるためにインストールすることをお勧めします。 <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンロード"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - [SECOND_LIFE]のアップデート・バージョンが利用可能です。 + [APP_NAME]のアップデート・バージョンが利用可能です。 [MESSAGE] このアップデートは必須ではありませんが、パフォーマンスと安定性を向上させるためにインストールすることをお勧めします。 <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンロード"/> </notification> <notification name="DownloadMacMandatory"> - [SECOND_LIFE]の新しいバージョンが利用可能です。 + [APP_NAME]の新しいバージョンが利用可能です。 [MESSAGE] -[SECOND_LIFE]を使用するために、 +[APP_NAME]を使用するために、 このアップデートをダウンロードする必要があります。 アプリケーションがあるフォルダにダウンロードしますか? <usetemplate name="okcancelbuttons" notext="終了" yestext="ダウンロード"/> </notification> <notification name="DownloadMac"> - [SECOND_LIFE]のアップデート・バージョンが利用可能です。 + [APP_NAME]のアップデート・バージョンが利用可能です。 [MESSAGE] このアップデートは必須ではありませんが、パフォーマンスと安定性を向上させるためにインストールすることをお勧めします。 @@ -1345,7 +1345,7 @@ F1キーを押してください。 <usetemplate name="okcancelbuttons" notext="続行" yestext="ダウンロード"/> </notification> <notification name="DownloadMacReleaseForDownload"> - [SECOND_LIFE]のアップデート・バージョンが利用可能です。 + [APP_NAME]のアップデート・バージョンが利用可能です。 [MESSAGE] このアップデートは必須ではありませんが、パフォーマンスと安定性を向上させるためにインストールすることをお勧めします。 @@ -2018,10 +2018,10 @@ RGB、256x256で、チャンネル数が13 デフォルト: オフ </notification> <notification label="ボイスバージョンの不一致" name="VoiceVersionMismatch"> - このバージョンの Second Life は、 + このバージョンの [APP_NAME] は、 この地域のボイスチャット機能に対応していません。 ボイスチャットを正しく使用するには、 -Second Life のアップデートが必要です。 +[APP_NAME] のアップデートが必要です。 </notification> <notification label="不動産約款" name="HelpEstateCovenant"> 不動産約款を定めると、自分の不動産内の区画を販売できるようになります。 @@ -2140,17 +2140,17 @@ Second Life のアップデートが必要です。 このオブジェクトには、あなたがコピーできるアイテムはありません。 </notification> <notification name="WebLaunchAccountHistory"> - Second Life ウェブ・ページを開いて + [SECOND_LIFE] ウェブ・ページを開いて アカウント履歴を確認しますか? <usetemplate ignoretext="アカウント履歴のウェブ・ページをロードするとき" name="okcancelignore" notext="取り消し" yestext="ページに移動"/> </notification> <notification name="ClickOpenF1Help"> - Second Life のサポートウェブサイトを利用しますか? - <usetemplate ignoretext="Second Life のサポートウェブサイトを閲覧するにあたって。" name="okcancelignore" notext="キャンセル" yestext="行く"/> + [SECOND_LIFE] のサポートウェブサイトを利用しますか? + <usetemplate ignoretext="[SECOND_LIFE] のサポートウェブサイトを閲覧するにあたって。" name="okcancelignore" notext="キャンセル" yestext="行く"/> </notification> <notification name="ConfirmQuit"> 終了しようとしています。操作を続行しますか? - <usetemplate ignoretext="Second Life の終了にあたって。" name="okcancelignore" notext="継続" yestext="終了"/> + <usetemplate ignoretext="[APP_NAME] の終了にあたって。" name="okcancelignore" notext="継続" yestext="終了"/> </notification> <notification name="HelpReportAbuseEmailLL"> 利用規約違反とコミュニティースタンダード違反の報告にこのツールをご使用ください。 参照: @@ -2175,9 +2175,9 @@ http://secondlife.com/support/incidentreport.php (「世界」のメニューから「土地情報」を選ぶと、約款を閲覧できます) - このレポートに関する解決策は、この地域にだけ当てはまります。 -住人がSecond Life の他の地域へアクセスする際、 +住人が[SECOND_LIFE] の他の地域へアクセスする際、 このレポートの結果に影響されることはありません。 -Linden Lab 社だけがSecond Life 全域における +Linden Lab 社だけが[SECOND_LIFE] 全域における アクセス制限権を持っています。 </notification> <notification name="HelpReportBug"> @@ -2236,17 +2236,17 @@ http://secondlife.com/community/support.php 知的財産の侵害に関する報告を行う際には、以下の点に注意してください。 (1) 嫌がらせの報告のプロセス -Second Life の権限システムを悪用している住人を見つけたら、 +[SECOND_LIFE] の権限システムを悪用している住人を見つけたら、 嫌がらせの報告を行ってください。 例えばコピーBotの使用、それに似たツールの使用による知的財産権の侵害があります。 アビューズチームは調査に基づき、 -Second Life のコミュニティースタンダードや +[SECOND_LIFE] のコミュニティースタンダードや 利用規約に違反する行為と判断された場合には適切な処置を行っています。 -ただし、コンテンツをSecond Life から撤去してほしい、 +ただし、コンテンツを[SECOND_LIFE] から撤去してほしい、 といった要望にはアビューズチームは応えることができません。 (2) DMCA(デジタルミレニアム著作権法)及びコンテンツ撤去プロセス -Second Life からのコンテンツの撤去をリクエストするには、 +[SECOND_LIFE] からのコンテンツの撤去をリクエストするには、 著作権侵害通知の提出を行う必要があります。 参照: http://secondlife.com/corporate/dmca.php @@ -2375,7 +2375,7 @@ Linden Lab </notification> <notification name="HelpDayCycle"> 「デイ・サイクル編集」では、 -Second Life での昼と夜の空の変化を制御できます。 +[SECOND_LIFE] での昼と夜の空の変化を制御できます。 これは「基本環境編集」の「時間帯」スライダーで使用されるサイクルです。 「デイ・サイクル編集」はキーフレームを設定することで機能します。 @@ -2483,7 +2483,7 @@ Second Life での昼と夜の空の変化を制御できます。 「Y」 の方向に雲が移動する際の速度を制御します。 </notification> <notification name="HelpClassicClouds"> - このボックスを有効にすると、WindLight の雲に加えて、Second Life の従来の雲もレンダリングできるようになります。 + このボックスを有効にすると、WindLight の雲に加えて、[SECOND_LIFE] の従来の雲もレンダリングできるようになります。 </notification> <notification name="HelpWaterFogColor"> 水中のフォグ効果に色をつけます。 @@ -2584,7 +2584,7 @@ Second Life での昼と夜の空の変化を制御できます。 <notification name="NotAgeVerified"> この区画にアクセスするためには、 年齢確認を行う必要があります。 -Second Life のウェブサイトにアクセスし、 +[SECOND_LIFE] のウェブサイトにアクセスし、 年齢確認を行いますか? [_URL] @@ -2595,7 +2595,7 @@ Second Life のウェブサイトにアクセスし、 </notification> <notification name="Cannot enter parcel: no payment info on file"> この区画にアクセスするには、支払い情報が事前に登録されている必要があります。 -Second Life のウェブサイトにアクセスして、設定しますか? +[SECOND_LIFE] のウェブサイトにアクセスして、設定しますか? [_URL] <url name="url" option="0"> @@ -3055,7 +3055,7 @@ Second Life のウェブサイトにアクセスして、設定しますか? データベースに[DESC]という名前の[TYPE]が見つかりませんでした。 </notification> <notification name="InvalidWearable"> - 着用しようとしているアイテムはあなたのビューワでは読み込むことができません。 Second Lifeビューワを最新のものにアップグレードしてからこのアイテムを着用してください。 + 着用しようとしているアイテムはあなたのビューワでは読み込むことができません。 [APP_NAME]ビューワを最新のものにアップグレードしてからこのアイテムを着用してください。 </notification> <notification name="ScriptQuestion"> 「[NAME]」が所有するオブジェクト「[OBJECTNAME]」を: @@ -3164,7 +3164,7 @@ Mキーを押して変更します。 <notification name="FirstDebugMenus"> 高度な設定を有効にしました。 このメニューには、 -Second Life をデバッグするデベロッパーにとって +[SECOND_LIFE] をデバッグするデベロッパーにとって 有用な機能があります。 このメニューを切り替えるには、 WindowsではCtrl-Alt-Dを押します。 @@ -3278,7 +3278,7 @@ Macの場合は、⌘-Opt-Shift-Dを押してください。 - あなたの CPU の速度は必須動作環境の条件を満たしていません。 </global> <global name="UnsupportedGLRequirements"> - Second Life の使用に必要なハードウェアの環境が満たされていないようです。 Second Life ではマルチテクスチャーに対応したOpenGLグラフィック・カードが必要です。 この場合、グラフィック・カードの最新ドライバがインストールされていること、およびオペレーティング・システムにサービス・パックと修正プログラムが適用されていることをご確認ください。 + [APP_NAME] の使用に必要なハードウェアの環境が満たされていないようです。 [APP_NAME] ではマルチテクスチャーに対応したOpenGLグラフィック・カードが必要です。 この場合、グラフィック・カードの最新ドライバがインストールされていること、およびオペレーティング・システムにサービス・パックと修正プログラムが適用されていることをご確認ください。 問題が解決されない場合には、次のサイトにアクセスしてください。 http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/ja/panel_status_bar.xml b/indra/newview/skins/default/xui/ja/panel_status_bar.xml index 08c66182c4..d713d867c4 100644 --- a/indra/newview/skins/default/xui/ja/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/ja/panel_status_bar.xml @@ -37,6 +37,6 @@ <text name="bandwidth_tooltip"> 帯域幅 </text> - <line_editor label="検索" name="search_editor" tool_tip="Second Lifeを検索"/> - <button name="search_btn" tool_tip="Second Lifeを検索"/> + <line_editor label="検索" name="search_editor" tool_tip="[SECOND_LIFE]を検索"/> + <button name="search_btn" tool_tip="[SECOND_LIFE]を検索"/> </panel> diff --git a/indra/newview/skins/default/xui/nl/floater_about.xml b/indra/newview/skins/default/xui/nl/floater_about.xml index d981ac2c8c..4d5d8b1032 100644 --- a/indra/newview/skins/default/xui/nl/floater_about.xml +++ b/indra/newview/skins/default/xui/nl/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="Over Second Life"> +<floater name="floater_about" title="Over [APP_NAME]"> <text_editor name="credits_editor"> - Second Life wordt u aangeboden door Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others. + Second Life wordt u aangeboden door Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others. -Een 'Dank u' voor de volgende bewoners voor het helpen zorgdragen dat dit de beste versie tot nu toe is: +Een 'Dank u' voor de volgende bewoners voor het helpen zorgdragen dat dit de beste versie tot nu toe is: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/nl/floater_postcard.xml b/indra/newview/skins/default/xui/nl/floater_postcard.xml index f31b479576..9ca6fcc026 100644 --- a/indra/newview/skins/default/xui/nl/floater_postcard.xml +++ b/indra/newview/skins/default/xui/nl/floater_postcard.xml @@ -25,7 +25,7 @@ <button label="Annuleren" name="cancel_btn"/> <button label="Verzenden" name="send_btn"/> <string name="default_subject"> - Ansichtkaart uit Second Life + Ansichtkaart uit [SECOND_LIFE] </string> <string name="default_message"> Kom dit zien! diff --git a/indra/newview/skins/default/xui/nl/floater_tos.xml b/indra/newview/skins/default/xui/nl/floater_tos.xml index b9a162be4a..d71412664c 100644 --- a/indra/newview/skins/default/xui/nl/floater_tos.xml +++ b/indra/newview/skins/default/xui/nl/floater_tos.xml @@ -4,7 +4,8 @@ <button label="Annuleren" label_selected="Annuleren" name="Cancel"/> <check_box label="Ik ga akkoord met de voorwaarden van service" name="agree_chk"/> <text name="tos_heading"> - Leest u alstublieft de volgende voorwaarden van service door. Om door te gaan met inloggen in Second Life dient u de overeenkomst te accepteren. + Leest u alstublieft de volgende voorwaarden van service door. Om door te gaan met inloggen in +[SECOND_LIFE] dient u de overeenkomst te accepteren. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/nl/menu_login.xml b/indra/newview/skins/default/xui/nl/menu_login.xml index 188418e34c..987b82b128 100644 --- a/indra/newview/skins/default/xui/nl/menu_login.xml +++ b/indra/newview/skins/default/xui/nl/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Voorkeuren..." name="Preferences..."/> </menu> <menu label="Help" name="Help"> - <menu_item_call label="Second Life Help" name="Second Life Help"/> - <menu_item_call label="Over Second Life..." name="About Second Life..."/> + <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> + <menu_item_call label="Over [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/nl/menu_viewer.xml b/indra/newview/skins/default/xui/nl/menu_viewer.xml index 0827858d68..6d5c833610 100644 --- a/indra/newview/skins/default/xui/nl/menu_viewer.xml +++ b/indra/newview/skins/default/xui/nl/menu_viewer.xml @@ -165,7 +165,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Focus op selectie" name="Focus on Selection"/> <menu_item_call label="Zoom naar selectie" name="Zoom to Selection"/> - <menu_item_call label="Koop object" name="Menu Object Take"/> + <menu_item_call label="Koop object" name="Menu Object Take"> + <on_enable userdata="Koop,Neem" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Neem kopie" name="Take Copy"/> <menu_item_call label="Object terug opslaan in objectinhoud" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -179,7 +181,7 @@ <menu_item_call label="Scripts in selectie instellen op niet uitvoeren" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Help" name="Help"> - <menu_item_call label="Second Life Help" name="Second Life Help"/> + <menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/> <menu_item_call label="Handleiding" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Officiële Linden blog..." name="Official Linden Blog..."/> @@ -200,6 +202,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Rapporteer bug..." name="Report Bug..."/> </menu> - <menu_item_call label="Over Second Life..." name="About Second Life..."/> + <menu_item_call label="Over [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/nl/notifications.xml b/indra/newview/skins/default/xui/nl/notifications.xml index 4c64c93de3..179ad2ace1 100644 --- a/indra/newview/skins/default/xui/nl/notifications.xml +++ b/indra/newview/skins/default/xui/nl/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Onbekende waarschuwingsboodschap" name="MissingAlert"> - Uw versie van Second Life weet niet hoe het de waarschuwingsboodschap die zojuist ontvangen is moet weergeven. + Uw versie van [APP_NAME] weet niet hoe het de waarschuwingsboodschap die zojuist ontvangen is moet weergeven. Foutdetails: De waarschuwing genaamd '[_NAME]' is niet gevonden in notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Foutdetails: De waarschuwing genaamd '[_NAME]' is niet gevonden in not <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ja"/> </notification> <notification name="BadInstallation"> - Er is een fout opgetreden tijdens het bijwerken van Second Life. Download alstublieft de meest recente versie van secondlife.com + Er is een fout opgetreden tijdens het bijwerken van [APP_NAME]. Download alstublieft de meest recente versie van secondlife.com <usetemplate name="okbutton" yestext="OK"/> @@ -235,7 +235,7 @@ Het aan vinken van deze optie zal: <notification name="ClickPartnerHelpAvatar"> U kunt een andere Inwoner ten huwelijk vragen of een bestaand partner schap verbreken via de [SECOND_LIFE] website. -Naar de Second Life website gaan voor meer informatie over partner schap? +Naar de [SECOND_LIFE] website gaan voor meer informatie over partner schap? <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="Ga naar Pagina"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -275,7 +275,7 @@ Uw verkoopprijs is L$[SALE_PRICE] en zal geautoriseerd worden voor verkoop door <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - ATTENTIE: Het aanklikken van 'verkoop aan iedereen' zal uw land beschikbaar maken aan de gehele Second Life gemeenschap, zo ook diegenen niet in deze regio! + ATTENTIE: Het aanklikken van 'verkoop aan iedereen' zal uw land beschikbaar maken aan de gehele [SECOND_LIFE] gemeenschap, zo ook diegenen niet in deze regio! De geselecteerde [LAND_SIZE] m² land is te koop gezet. Uw verkoopprijs is L$[SALE_PRICE] en zal geautoriseerd worden voor verkoop door [NAME]. @@ -421,17 +421,17 @@ Betaalde advertentiekosten zullen niet worden terug gestort. <usetemplate name="okcancelbuttons" notext="Annuleren" yestext="OK"/> </notification> <notification name="CacheWillClear"> - De cache zal geleegd worden als u [SECOND_LIFE] opnieuw start. + De cache zal geleegd worden als u [APP_NAME] opnieuw start. </notification> <notification name="CacheWillBeMoved"> - De cache zal verplaatst worden als u [SECOND_LIFE] opnieuw start. + De cache zal verplaatst worden als u [APP_NAME] opnieuw start. Opmerking: Dit zal de Cache legen. </notification> <notification name="ChangeConnectionPort"> - Poort instelling zullen effect hebben nadat u [SECOND_LIFE] opnieuw start. + Poort instelling zullen effect hebben nadat u [APP_NAME] opnieuw start. </notification> <notification name="ChangeSkin"> - De nieuwe skin zal verschijnen nadat u [SECOND_LIFE] opnieuw start. + De nieuwe skin zal verschijnen nadat u [APP_NAME] opnieuw start. </notification> <notification name="GoToAuctionPage"> Ga naar de [SECOND_LIFE] web pagina om de veiling details te zien of een bod uit te brengen. @@ -492,7 +492,7 @@ Het object kan buiten bereik of mogelijk verwijderd zijn. Kan niet naar bestand [[FILE]] schrijven </notification> <notification name="UnsupportedHardware"> - Waarschuwing: Uw systeem voldoet niet aan de Second Life minimum systeem eisen. Indien u Second Life gebruikt, ervaart u mogelijk slechte prestaties. Helaas kunnen we geen technische ondersteuning geven voor niet ondersteunde configuraties. + Waarschuwing: Uw systeem voldoet niet aan de [APP_NAME] minimum systeem eisen. Indien u [APP_NAME] gebruikt, ervaart u mogelijk slechte prestaties. Helaas kunnen we geen technische ondersteuning geven voor niet ondersteunde configuraties. MINSPECS Wilt u [_URL] bezoeken voor meer informatie? @@ -504,14 +504,14 @@ Wilt u [_URL] bezoeken voor meer informatie? <notification name="UnknownGPU"> Uw systeem heeft een grafische kaart die bij ons nog niet bekend is op dit moment. -Dit is vaak het geval met nieuwe hardware waarbij wij nog niet de kans gehad hebben om het te testen. Second Life zal mogelijk naar behoren functioneren, doch het kan zijn dat u uw grafische instellingen naar geschiktere waarden zult moeten instellen. +Dit is vaak het geval met nieuwe hardware waarbij wij nog niet de kans gehad hebben om het te testen. [APP_NAME] zal mogelijk naar behoren functioneren, doch het kan zijn dat u uw grafische instellingen naar geschiktere waarden zult moeten instellen. (Bewerken menu > Voorkeuren > Grafisch). <form name="form"> <ignore name="ignore" text="Indien een onbekende grafische kaart gedetecteerd"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] is gestopt bij het initialiseren van de grafische stuurprogramma's. + [APP_NAME] is gestopt bij het initialiseren van de grafische stuurprogramma's. Grafische kwaliteit zal op zijn laagst worden ingesteld om veel voorkomende fouten met stuurprogramma's te vermijden. Dit zal sommige grafische opties uitschakelen. Wij adviseren u de stuurprogramma's van uw grafische kaart bij te werken. @@ -792,7 +792,7 @@ Geen perceel geselecteerd. Kan de regio niet vinden waar dit land zich bevind. </notification> <notification name="CannotCloseFloaterBuyLand"> - U kunt het Koop Land venster niet sluiten totdat Second Life de prijs van de transactie geschat heeft. + U kunt het Koop Land venster niet sluiten totdat [APP_NAME] de prijs van de transactie geschat heeft. </notification> <notification name="CannotDeedLandNothingSelected"> Kan land niet toekennen: @@ -965,7 +965,7 @@ Indien dit probleem aanhoudt, klik dan alstublieft op 'Gereedschap > Rap <notification name="YouHaveBeenLoggedOut"> U bent uitgelogd uit [SECOND_LIFE]: [MESSAGE] -U kunt uw bestaande IM en chat bekijken door te klikken op 'Toon IM & Chat'. Anders, klik op Afsluiten om [SECOND_LIFE] direct te verlaten. +U kunt uw bestaande IM en chat bekijken door te klikken op 'Toon IM & Chat'. Anders, klik op Afsluiten om [APP_NAME] direct te verlaten. <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Toon IM & Chat"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1137,14 +1137,14 @@ U kunt [SECOND_LIFE] normaal gebruiken en anderen zullen u correct zien. </form> </notification> <notification name="FirstRun"> - [SECOND_LIFE] installatie compleet. + [APP_NAME] installatie compleet. Als dit de eerste keer is dat u [SECOND_LIFE] gebruikt, zult u een account aan moeten maken voordat u in kan loggen. Terugkeren naar www.secondlife.com om een nieuw account aan te maken? <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Nieuw Account..."/> </notification> <notification name="LoginPacketNeverReceived"> - Wij hebben problemen verbinding te maken. Er zou een probleem kunnen zijn met uw internet verbinding of met de Second Life servers. + Wij hebben problemen verbinding te maken. Er zou een probleem kunnen zijn met uw internet verbinding of met de [SECOND_LIFE] servers. U kunt uw internet verbinding controleren en het over een paar minuten opnieuw proberen, op Help klikken om verbinding te maken met onze support website, of klik op Teleporteren om een poging te doen naar uw thuis locatie te teleporteren. <form name="form"> @@ -1248,33 +1248,33 @@ Zet het object alstublieft te koop en probeer het opnieuw. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - Een nieuwe versie van [SECOND_LIFE] is beschikbaar. + Een nieuwe versie van [APP_NAME] is beschikbaar. [MESSAGE] -U moet deze update downloaden om [SECOND_LIFE] te kunnen gebruiken. +U moet deze update downloaden om [APP_NAME] te kunnen gebruiken. <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Download"/> </notification> <notification name="DownloadWindows"> - Een bijgewerkte versie van [SECOND_LIFE] is beschikbaar. + Een bijgewerkte versie van [APP_NAME] is beschikbaar. [MESSAGE] Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Een bijgewerkte versie van [SECOND_LIFE] is beschikbaar. + Een bijgewerkte versie van [APP_NAME] is beschikbaar. [MESSAGE] Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> </notification> <notification name="DownloadMacMandatory"> - Een nieuwe versie van [SECOND_LIFE] is beschikbaar. + Een nieuwe versie van [APP_NAME] is beschikbaar. [MESSAGE] -U moet deze update downloaden om [SECOND_LIFE] te kunnen gebruiken. +U moet deze update downloaden om [APP_NAME] te kunnen gebruiken. Downloaden naar uw Applicatie Data map? <usetemplate name="okcancelbuttons" notext="Afsluiten" yestext="Download"/> </notification> <notification name="DownloadMac"> - Een bijgewerkte versie van [SECOND_LIFE] is beschikbaar. + Een bijgewerkte versie van [APP_NAME] is beschikbaar. [MESSAGE] Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. @@ -1282,7 +1282,7 @@ Downloaden naar uw Applicatie Data map? <usetemplate name="okcancelbuttons" notext="Doorgaan" yestext="Download"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Een bijgewerkte versie van [SECOND_LIFE] is beschikbaar. + Een bijgewerkte versie van [APP_NAME] is beschikbaar. [MESSAGE] Deze update is niet vereist, maar wij raden aan dat u het installeert om de prestaties en stabiliteit te verbeteren. @@ -1893,7 +1893,7 @@ Indien u het leeg laat, zullen misbruik rapporten alleen verzonden worden naar L Standaard: Uitgeschakeld </notification> <notification label="Voice Versie Ongelijkheid" name="VoiceVersionMismatch"> - Deze versie van Second Life is niet compatibel met de Voice spraak optie in deze regio. Om Voice Chat goed te laten functioneren, moet u Second Life bijwerken. + Deze versie van [APP_NAME] is niet compatibel met de Voice spraak optie in deze regio. Om Voice Chat goed te laten functioneren, moet u [APP_NAME] bijwerken. </notification> <notification label="Estate Convenant" name="HelpEstateCovenant"> Het instellen van een Estate Convenant maakt het u mogelijk om percelen in het Estate te verkopen. Indien de Convenant niet is ingesteld kunt u het niet verkopen. Een notitiekaart voor uw Convenant kan leeg zijn indien u geen regels wilt instellen, advies aan kopers wilt geven of iets anders in relatie tot het land wilt mededelen voor als men het koopt. @@ -2013,16 +2013,16 @@ inventaris item(s) verplaatsen? Er zitten geen items in dit object die u kunt kopiëren. </notification> <notification name="WebLaunchAccountHistory"> - Naar de Second Life web site gaan om uw account geschiedenis te bekijken? + Naar de [SECOND_LIFE] web site gaan om uw account geschiedenis te bekijken? <usetemplate ignoretext="Bij laden van de account geschiedenis webpagina" name="okcancelignore" notext="Annuleren" yestext="Ga naar pagina"/> </notification> <notification name="ClickOpenF1Help"> - De Second Life Support Web site bezoeken? - <usetemplate ignoretext="Bij bezoeken van de Second Life Support Website." name="okcancelignore" notext="Annuleren" yestext="Ga"/> + De [SECOND_LIFE] Support Web site bezoeken? + <usetemplate ignoretext="Bij bezoeken van de [SECOND_LIFE] Support Website." name="okcancelignore" notext="Annuleren" yestext="Ga"/> </notification> <notification name="ConfirmQuit"> Weet u zeker dat u wilt afsluiten? - <usetemplate ignoretext="Bij afsluiten Second Life." name="okcancelignore" notext="Doorgaan" yestext="Afsluiten"/> + <usetemplate ignoretext="Bij afsluiten [APP_NAME]." name="okcancelignore" notext="Doorgaan" yestext="Afsluiten"/> </notification> <notification name="HelpReportAbuseEmailLL"> Gebruik dit gereedschap om overtredingen van de Voorwaarden voor Service (Terms of Service) en Gemeenschaps Standaarden (Community Standards)te rapporteren. Zie: @@ -2042,7 +2042,7 @@ Als een service aan Inwoners en bezoekers heeft de eigenaar van deze regio er vo De regio eigenaar zal de rapporten afhandelen op basis van de regels geldend voor deze regio zoals weergegeven in het Estate Convenant (Bekijk Convenants door naar Wereld te gaan in het menu en te kiezen voor Over Land). De afhandeling van dit rapport is alleen van toepassing op deze regio. -Toegang van Inwoners tot andere gebieden van Second Life zullen niet beïnvloed worden door de uitkomst van dit rapport. Alleen Linden Lab kan de toegang tot geheel Second Life beperken. +Toegang van Inwoners tot andere gebieden van [SECOND_LIFE] zullen niet beïnvloed worden door de uitkomst van dit rapport. Alleen Linden Lab kan de toegang tot geheel [SECOND_LIFE] beperken. </notification> <notification name="HelpReportBug"> Gebruik dit gereedschap *alleen* voor het rapporteren van technische opties die niet functioneren als verwacht. Geef alstublieft zoveel mogelijk technische details als mogelijk. U kunt de automatische-antwoord email gebruiken om op te reageren om aanvullende gegevens toe te voegen aan uw rapport. @@ -2103,9 +2103,9 @@ Het opgeven van een accurate omschrijving helpt ons met het archiveren en verwer Het lijkt er op dat u intellectueel eigendoms misbruik rapporteert. Wees er alstublieft van overtuigd dat u dit correct rapporteert: -(1) Het Misbruik Proces. U kunt een misbruik rapport indienen als u er van overtuigd bent dat een Inwoner het Second Life permissie systeem uitbuit, bijvoorbeeld door gebruik van CopyBot of soortgelijke gereedschappen, daarmee de intellectuele eigendoms rechten overtredend. Het Abuse Team onderzoekt en zal passende maatregelen uitvaardigen tegen gedrag dat de Second Life Gemeenschaps Standaarden overtreedt. Echter, het Abuse Team zal geen actie ondernemen en niet reageren op verzoeken om inhoud te verwijderen uit de Second Life wereld. +(1) Het Misbruik Proces. U kunt een misbruik rapport indienen als u er van overtuigd bent dat een Inwoner het [SECOND_LIFE] permissie systeem uitbuit, bijvoorbeeld door gebruik van CopyBot of soortgelijke gereedschappen, daarmee de intellectuele eigendoms rechten overtredend. Het Abuse Team onderzoekt en zal passende maatregelen uitvaardigen tegen gedrag dat de [SECOND_LIFE] Gemeenschaps Standaarden overtreedt. Echter, het Abuse Team zal geen actie ondernemen en niet reageren op verzoeken om inhoud te verwijderen uit de [SECOND_LIFE] wereld. -(2) Het DMCA of Inhoud Verwijder Proces. Voor een verzoek tot verwijdering van inhoud in Second Life, MOET u een geldige berichtgeving van misbruik indienen zoals voorzien in onze DMCA beleid op http://secondlife.com/corporate/dmca.php. +(2) Het DMCA of Inhoud Verwijder Proces. Voor een verzoek tot verwijdering van inhoud in [SECOND_LIFE], MOET u een geldige berichtgeving van misbruik indienen zoals voorzien in onze DMCA beleid op http://secondlife.com/corporate/dmca.php. Indien u nog steeds door wilt gaan met het misbruik proces, sluit dan alstublieft dit venster en maak het indienen van uw rapport af. U zult mogelijk een specifieke catagorie moeten kiezen 'CopyBot of Permissie Uitbuiting'. @@ -2227,7 +2227,7 @@ Klik op "Geavanceerde Lucht" om de editor op te roepen voor geavanceer Klik op "Geavanceerd Water" om de editor op te roepen voor geavanceerde instellingen voor water. </notification> <notification name="HelpDayCycle"> - De Dag Cyclus Editor geeft u controle over de lucht gedurende de Second Life's dag/nacht cyclus. Dit is de cyclus die gebruikt wordt in de Basis Omgeving Editor's Tijd van de Dag schuif knop. + De Dag Cyclus Editor geeft u controle over de lucht gedurende de [SECOND_LIFE]'s dag/nacht cyclus. Dit is de cyclus die gebruikt wordt in de Basis Omgeving Editor's Tijd van de Dag schuif knop. De Dag Cyclus Editor werkt beter met het instellen van gemarkeerde frames. Dit zijn nodes (weergegeven als grijze blips in de tijd weergave) die Hemel voorinstelling met zich geassocieerd hebben. Als de Tijd van de Dag voortschrijdt, "animeert" de WindLight Hemel als het interpoleert tussen de gemarkeerde frames. @@ -2307,7 +2307,7 @@ Gelijkwaardig aan azimut. Bepaald de snelheid van de wolken terwijl zij in Y richting bewegen. </notification> <notification name="HelpClassicClouds"> - Vink dit aan voor weergave van Second Life's oudere klassieke wolken als toevoeging op WindLight's wolken. + Vink dit aan voor weergave van [SECOND_LIFE]'s oudere klassieke wolken als toevoeging op WindLight's wolken. </notification> <notification name="HelpWaterFogColor"> Kiest de kleur van de onder water nevel. @@ -2406,7 +2406,7 @@ Om dit recht in te trekken, moet de object eigenaar het object verwijderen of de </notification> <notification name="NotAgeVerified"> U moet leeftijd geverifieerd zijn om toegang te verkrijgen tot dit perceel. -Wilt u de Second Life website bezoeken om uw leeftijd te verifiëren? +Wilt u de [SECOND_LIFE] website bezoeken om uw leeftijd te verifiëren? [_URL] <url name="url" option="0"> @@ -2416,7 +2416,7 @@ Wilt u de Second Life website bezoeken om uw leeftijd te verifiëren? </notification> <notification name="Cannot enter parcel: no payment info on file"> Dit perceel verlangd dat u betaal informatie geregistreerd hebt staan alvorens toegang te verkrijgen. -Wilt u de Second Life website bezoeken om dit in te stellen? +Wilt u de [SECOND_LIFE] website bezoeken om dit in te stellen? [_URL] <url name="url" option="0"> @@ -2724,13 +2724,13 @@ Probeer het alstublieft opnieuw over enkele ogenblikken. Kan wachtende verbinding niet maken. </notification> <notification name="InternalUsherError"> - Er is een interne fout opgetreden terwijl geprobeerd werd u naar uw teleportbestemming te begeleiden. Second Life heeft op dit moment mogelijk problemen met de dienstverlening. + Er is een interne fout opgetreden terwijl geprobeerd werd u naar uw teleportbestemming te begeleiden. [SECOND_LIFE] heeft op dit moment mogelijk problemen met de dienstverlening. </notification> <notification name="NoGoodTPDestination"> Kan geen goede teleportbestemming vinden in deze regio. </notification> <notification name="InternalErrorRegionResolver"> - Er is een interne fout opgetreden terwijl de globale coördinaten voor uw teleportverzoek werden bepaald. Second Life heeft op dit moment mogelijk problemen met de dienstverlening. + Er is een interne fout opgetreden terwijl de globale coördinaten voor uw teleportverzoek werden bepaald. [SECOND_LIFE] heeft op dit moment mogelijk problemen met de dienstverlening. </notification> <notification name="NoValidLanding"> Er kon geen geldig landingspunt worden gevonden. @@ -2851,7 +2851,7 @@ Van object: [OBJECTNAME], eigenaar: [NAME]? Kon [TYPE] genaamd [DESC] niet in de database vinden. </notification> <notification name="InvalidWearable"> - Het item dat u probeert te dragen gebruikt een kenmerk dat uw viewer niet kan lezen. Upgrade u alstublieft uw versie van Second Life om dit item te dragen. + Het item dat u probeert te dragen gebruikt een kenmerk dat uw viewer niet kan lezen. Upgrade u alstublieft uw versie van [APP_NAME] om dit item te dragen. </notification> <notification name="ScriptQuestion"> [OBJECTNAME]', een object van '[NAME]', wil graag: @@ -2955,7 +2955,7 @@ Flexibele objecten mogen niet fysiek zijn en moeten fantoom zijn tot de 'fl </notification> <notification name="FirstDebugMenus"> U heeft het menu Geavanceerd geactiveerd. -Dit menu bevat opties die handig zijn voor ontwikkelaars tijdens het debuggen van Second Life. +Dit menu bevat opties die handig zijn voor ontwikkelaars tijdens het debuggen van [SECOND_LIFE]. Om dit menu in en uit te schakelen drukt u binnen Windows Ctrl-Alt-D. Met een Mac drukt u ⌘-Opt-D. </notification> <notification name="FirstSculptedPrim"> @@ -3063,7 +3063,7 @@ Klik Accepteren om deel te nemen aan de chat of Afwijzen om de uitnodiging af te - Uw Processor snelheid (CPU) voldoet niet aan de minimale eisen. </global> <global name="UnsupportedGLRequirements"> - U heeft mogelijk niet de vereiste hardware voor Second Life. Second Life verlangd een OpenGL grafische kaart die multi-texture ondersteund. Indien dat het geval is, overtuig u er dan van dat u de laatste stuurprogramma's voor uw grafische kaart, service packs en patches voor uw Operating systeem heeft. + U heeft mogelijk niet de vereiste hardware voor [APP_NAME]. [APP_NAME] verlangd een OpenGL grafische kaart die multi-texture ondersteund. Indien dat het geval is, overtuig u er dan van dat u de laatste stuurprogramma's voor uw grafische kaart, service packs en patches voor uw Operating systeem heeft. Indien u problemen blijft houden, bezoek dan: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/nl/panel_status_bar.xml b/indra/newview/skins/default/xui/nl/panel_status_bar.xml index d499ef5af0..1d68d25f66 100644 --- a/indra/newview/skins/default/xui/nl/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/nl/panel_status_bar.xml @@ -27,8 +27,8 @@ <button label="" label_selected="" name="restrictpush" tool_tip="Niet duwen"/> <button label="" label_selected="" name="status_no_voice" tool_tip="Voice is niet beschikbaar hier"/> <button label="" label_selected="" name="buyland" tool_tip="Koop dit perceel"/> - <line_editor label="Zoeken" name="search_editor" tool_tip="Doorzoek Second Life"/> - <button label="" label_selected="" name="search_btn" tool_tip="Doorzoek Second Life"/> + <line_editor label="Zoeken" name="search_editor" tool_tip="Doorzoek [SECOND_LIFE]"/> + <button label="" label_selected="" name="search_btn" tool_tip="Doorzoek [SECOND_LIFE]"/> <string name="packet_loss_tooltip"> Pakketten verlies </string> diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml index c013d3cb76..bbf8165883 100755 --- a/indra/newview/skins/default/xui/pl/floater_about.xml +++ b/indra/newview/skins/default/xui/pl/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="floater_about" title="O Second Life"> +<floater name="floater_about" title="O [APP_NAME]"> <text_editor name="credits_editor"> - Second Life zostało stworzone dla Was przez: Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les i wielu innych. + Second Life zostało stworzone dla Was przez: Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl i wielu innych. - Podziękowania dla następujących rezydentów za pomoc w pracy nad obecną wersją Second Life: afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop + Podziękowania dla następujących rezydentów za pomoc w pracy nad obecną wersją Second Life: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation @@ -26,8 +26,7 @@ Programowanie dźwięku czatu: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) - Polska wersja klienta: Maciek Marksman, Malwina Dollinger, Magnus Balczo - IMy z sugestiami, komentarzami i poprawkami mile widziane + Polska wersja klienta: Malwina Dollinger, Magnus Balczo, Identity Euler I get by with a little help from my friends. --Richard Starkey </text_editor> diff --git a/indra/newview/skins/default/xui/pl/floater_postcard.xml b/indra/newview/skins/default/xui/pl/floater_postcard.xml index 080edd5623..b6b0dcb858 100755 --- a/indra/newview/skins/default/xui/pl/floater_postcard.xml +++ b/indra/newview/skins/default/xui/pl/floater_postcard.xml @@ -20,12 +20,12 @@ Wpisz treść swojej wiadomości tutaj </text_editor> <text name="fine_print"> - Jeżeli odbiorca tej pocztówki dołączy do Second Life, otrzymasz bonusa. + Jeżeli odbiorca tej pocztówki dołączy do [SECOND_LIFE], otrzymasz bonusa. </text> <button label="Anuluj" name="cancel_btn"/> <button label="Wyślij" name="send_btn"/> <string name="default_subject"> - Pocztówki z Second Life. + Pocztówki z [SECOND_LIFE] </string> <string name="default_message"> Sprawdź i przekonaj się sam! diff --git a/indra/newview/skins/default/xui/pl/floater_tos.xml b/indra/newview/skins/default/xui/pl/floater_tos.xml index d05a3c246a..b9a146df22 100755 --- a/indra/newview/skins/default/xui/pl/floater_tos.xml +++ b/indra/newview/skins/default/xui/pl/floater_tos.xml @@ -5,7 +5,7 @@ <check_box label="Zgadzam się na Warunki Serwisu (Terms of Service)" name="agree_chk" /> <text name="tos_heading"> Proszę dokładnie przeczytać następujące Warunki Serwisu (Terms of Service). Musisz -zaakceptować umową żeby kontynuować logowanie do Second Life. +zaakceptować umowę żeby kontynuować logowanie do [SECOND_LIFE]. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml index 4d44af19fb..2445d69ac0 100755 --- a/indra/newview/skins/default/xui/pl/menu_login.xml +++ b/indra/newview/skins/default/xui/pl/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Ustawienia..." name="Preferences..." /> </menu> <menu label="Pomoc" name="Help"> - <menu_item_call label="Second Life: Pomoc" name="Second Life Help" /> - <menu_item_call label="O Second Life..." name="About Second Life..." /> + <menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help" /> + <menu_item_call label="O [APP_NAME]..." name="About Second Life..." /> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml index 8a86086e54..1898906d9f 100755 --- a/indra/newview/skins/default/xui/pl/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml @@ -165,7 +165,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Oglądaj Selekcję" name="Focus on Selection"/> <menu_item_call label="Przybliż do Selekcji" name="Zoom to Selection"/> - <menu_item_call label="Kup Obiekt" name="Menu Object Take"/> + <menu_item_call label="Kup Obiekt" name="Menu Object Take"> + <on_enable userdata="Kup,Weź" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Weź Kopię" name="Take Copy"/> <menu_item_call label="Zapisz Obiekt z Poprawkami" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -179,10 +181,10 @@ <menu_item_call label="Wstrzymaj Działanie Skryptów w Selekcji" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Pomoc" name="Help"> - <menu_item_call label="Second Life: Pomoc" name="Second Life Help"/> + <menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help"/> <menu_item_call label="Samouczek" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> - <menu_item_call label="Oficjalny Blog Second Life..." name="Official Linden Blog..."/> + <menu_item_call label="Oficjalny Blog [SECOND_LIFE]..." name="Official Linden Blog..."/> <menu_item_separator label="-----------" name="separator2"/> <menu_item_call label="Portal dla Skrypterów..." name="Scripting Portal..."/> <menu_item_separator label="-----------" name="separator3"/> @@ -200,6 +202,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Wyślij Raport Błędu..." name="Report Bug..."/> </menu> - <menu_item_call label="O Second Life..." name="About Second Life..."/> + <menu_item_call label="O [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index 84075b9db8..3c21f7f5b5 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Nieznany rodzaj komunikatu" name="MissingAlert"> - Twoja wersja klienta Second Life nie może wyświetlić odebranej wiadomości. + Twoja wersja klienta [APP_NAME] nie może wyświetlić odebranej wiadomości. Szczegóły błędu: Błąd o nazwie '[_NAME]' nie został odnaleziony w pliku notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -97,7 +97,7 @@ Szczegóły błędu: Błąd o nazwie '[_NAME]' nie został odnaleziony <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak"/> </notification> <notification name="BadInstallation"> - Podczas aktualizacji klienta Second Life wystąpił błąd. Proszę odwiedzić stronę secondlife.com by ściągnąć najnowszą wersje klienta. + Podczas aktualizacji klienta [APP_NAME] wystąpił błąd. Proszę odwiedzić stronę secondlife.com by ściągnąć najnowszą wersje klienta. <usetemplate name="okbutton" yestext="OK"/> @@ -208,23 +208,23 @@ Dodać ten przywilej do funkcji [ROLE_NAME]? - tej posiadłości w przeglądarce internetowej </notification> <notification name="ClickSoundHelpLand"> - Media oraz muzyka są aktywne według ustawień posiadłości dla mediów. Dźwięk oraz komunikacja głosowa mogą być ograniczone w danej posiadłości, w zależności od ustawień rodzaju treści jaką zawiera. Skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. + Media oraz muzyka są aktywne według ustawień posiadłości dla mediów. Dźwięk oraz komunikacja głosowa mogą być ograniczone w danej posiadłości, w zależności od ustawień rodzaju treści jaką zawiera. Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <url name="url"> https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=5046 </url> <usetemplate name="okcancelbuttons" - yestext="Second Life:Pomoc" + yestext="[SECOND_LIFE]:Pomoc" notext="Zamknij" /> </notification> <notification name="ClickSearchHelpAll"> - Wyniki wyszukiwania wyświetlają się na podstawie rodzaju zakładki wyszukiwarki, z której korzystasz, rodzaju statusu Twojego wieku, wybranej kategorii, oraz innych czynników. By uzyskać wiecej szczegółów skorzystaj z Second Life: Pomoc. + Wyniki wyszukiwania wyświetlają się na podstawie rodzaju zakładki wyszukiwarki, z której korzystasz, rodzaju statusu Twojego wieku, wybranej kategorii, oraz innych czynników. By uzyskać wiecej szczegółów skorzystaj z [SECOND_LIFE]:Pomoc. <url name="url"> https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=4722 </url> <usetemplate name="okcancelbuttons" - yestext="Second Life:Pomoc" + yestext="[SECOND_LIFE]:Pomoc" notext="Zamknij" /> </notification> <notification name="ClickPublishHelpLandDisabled"> @@ -238,7 +238,7 @@ Dodać ten przywilej do funkcji [ROLE_NAME]? <notification name="ClickPartnerHelpAvatar"> Możesz zaproponować związek innemu Rezydentowi lub rozwiązać istniejący związek na stronie internetowej [SECOND_LIFE]. -Chcesz dowiedzieć się więcej na temat związków w Second Life? +Chcesz dowiedzieć się więcej na temat związków w [SECOND_LIFE]? <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Idź na stronę"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -276,7 +276,7 @@ Cena wynosi [SALE_PRICE]L$ i sprzedaż będzie autoryzowana dla [NAME]. <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - UWAGA: Wybierając Sprzedaż dla Kogokolwiek umożliwiasz zakup posiadłości wszystkim Rezydentom Second Life. + UWAGA: Wybierając Sprzedaż dla Kogokolwiek umożliwiasz zakup posiadłości wszystkim Rezydentom [SECOND_LIFE]. Posiadłość o powierzchni [LAND_SIZE] m zostaje wystawiona na sprzedaż. Cena wynosi [SALE_PRICE]L$ i sprzedaż będzie autoryzowana dla [NAME]. @@ -420,17 +420,17 @@ Pamiętaj! Nie ma rekompensaty za poniesione koszta. <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="OK"/> </notification> <notification name="CacheWillClear"> - Bufor danych na dysku zostanie zresetowany po relogu do [SECOND_LIFE]. + Bufor danych na dysku zostanie zresetowany po relogu do [APP_NAME]. </notification> <notification name="CacheWillBeMoved"> - Bufor danych na dysku zostanie przemieszczony po relogu do [SECOND_LIFE]. + Bufor danych na dysku zostanie przemieszczony po relogu do [APP_NAME]. Bufor będzie również wyczyszczony. </notification> <notification name="ChangeConnectionPort"> - Ustawienia portu zostaną wprowadzone po relogu do [SECOND_LIFE]. + Ustawienia portu zostaną wprowadzone po relogu do [APP_NAME]. </notification> <notification name="ChangeSkin"> - Nowa skórka zostanie wprowadzona po relogu do [SECOND_LIFE]. + Nowa skórka zostanie wprowadzona po relogu do [APP_NAME]. </notification> <notification name="GoToAuctionPage"> Odwiedzić stronę internetową [SECOND_LIFE] żeby zobaczyć szczgóły aukcji lub zrobić ofertę? @@ -489,7 +489,7 @@ Obiekt może znajdować się zbyt daleko albo został usuniety. Nie można zapisać pliku [[FILE]] </notification> <notification name="UnsupportedHardware"> - Uwaga: Twój system nie spełnia minimalnych wymagań sprzętowych Second Life. Jakość i prędkość Second Life mogą być pogorszone. Niestety, nie będziemy w stanie udzielić Ci technicznej pomocy, ponieważ konfiguracja Twojego systemu nie spełnia wymagań sprzętowych. + Uwaga: Twój system nie spełnia minimalnych wymagań sprzętowych [APP_NAME]. Jakość i prędkość [APP_NAME] mogą być pogorszone. Niestety, nie będziemy w stanie udzielić Ci technicznej pomocy, ponieważ konfiguracja Twojego systemu nie spełnia wymagań sprzętowych. MINSPECS Czy chcesz odwiedzić stronę [_URL] po dodatkowe informacje? @@ -501,14 +501,14 @@ Czy chcesz odwiedzić stronę [_URL] po dodatkowe informacje? <notification name="UnknownGPU"> Twój system jest wyposażony w kartę graficzną której jeszcze nie znamy. To się często zdarza z nowym sprzętem, którego jeszcze nie testowaliśmy. -Second Life najprawdopodobniej będzie działało poprawnie. Możliwe, że będziesz musiał wyregulować ustawienia grafiki. +[APP_NAME] najprawdopodobniej będzie działało poprawnie. Możliwe, że będziesz musiał wyregulować ustawienia grafiki. (Edycja > Ustawienia > Grafika). <form name="form"> <ignore name="ignore" text="Zignoruj ostrzeżenie"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] zawiesił się podczas inicjalizacji sterowników graficznych. Jakość grafiki została zmniejszona - może pomoże. Pewne funkcje graficzne zostały wyłączone. Zalecamy aktualizcje strerowników grapicznych. + [APP_NAME] zawiesił się podczas inicjalizacji sterowników graficznych. Jakość grafiki została zmniejszona - może pomoże. Pewne funkcje graficzne zostały wyłączone. Zalecamy aktualizcje strerowników grapicznych. Możesz podnieść jakość grafiki pod Ustawienia > Grafika. </notification> <notification name="RegionNoTerraforming"> @@ -779,7 +779,7 @@ Posiadłość nie została wybrana. Region nie znaleziony. </notification> <notification name="CannotCloseFloaterBuyLand"> - Dialog Kup Posiadłość nie może zostać zamknięty dopóki Second Life nie oszacuje ceny tej tranzakcji. + Dialog Kup Posiadłość nie może zostać zamknięty dopóki [APP_NAME] nie oszacuje ceny tej tranzakcji. </notification> <notification name="CannotDeedLandNothingSelected"> Nie można przekazać posiadłości: @@ -953,7 +953,7 @@ Jeżeli wciąż masz ten problem, wybierz Pomoc > Zgłoś Błędy Klienta i p [MESSAGE] Kliknij Kontynuuj żeby zobaczyć IMy i czat. -Żadne inne operacje nie będą dozwolone. Kliknij Wyłącz w celu natychmiastowego opuszczenia [SECOND_LIFE]. +Żadne inne operacje nie będą dozwolone. Kliknij Wyłącz w celu natychmiastowego opuszczenia [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Wyłącz" yestext="Kontynuuj"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1119,14 +1119,14 @@ Możesz normalnie używać [SECOND_LIFE], inni użytkownicy będą Cię widzieli </form> </notification> <notification name="FirstRun"> - Instalacja [SECOND_LIFE] zakończona. + Instalacja [APP_NAME] zakończona. Jeżeli używasz [SECOND_LIFE] po raz pierwszy to musisz stworzyć konto żeby móc się zalogować. Przejść na stronę www.secondlife.com żeby stworzyć nowe konto? <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Nowe Konto..."/> </notification> <notification name="LoginPacketNeverReceived"> - Problemy z połączeniem. Problem może być spowodowany Twoim połączeniem z Internetem albo może istnieć po stronie serwerów Second Life. + Problemy z połączeniem. Problem może być spowodowany Twoim połączeniem z Internetem albo może istnieć po stronie serwerów [SECOND_LIFE]. Możesz sprawdzić swoje połączenie z Internetem i spróbować ponownie za kilka minut albo kliknij Pomoc żeby połączyć się ze stroną pomocy technicznej albo wybierz Teleportuj żeby spróbować teleportacji do Twojego miejsca startu. <form name="form"> @@ -1228,33 +1228,33 @@ Wybierz obiekt na sprzedaż i spróbuj jeszcze raz. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - Nowa wersja [SECOND_LIFE] została opublikowana. + Nowa wersja [APP_NAME] została opublikowana. [MESSAGE] -Musisz zainstalować nową wersję żeby używać [SECOND_LIFE]. +Musisz zainstalować nową wersję żeby używać [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Wyłącz program" yestext="Załaduj"/> </notification> <notification name="DownloadWindows"> - Uaktualniona wersja [SECOND_LIFE] została opublikowana. + Uaktualniona wersja [APP_NAME] została opublikowana. [MESSAGE] Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prędkości i stabilności. <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Załaduj"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Uaktualniona wersja [SECOND_LIFE] została opublikowana. + Uaktualniona wersja [APP_NAME] została opublikowana. [MESSAGE] Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prędkości i stabilności. <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Załaduj"/> </notification> <notification name="DownloadMacMandatory"> - Nowa wersja [SECOND_LIFE] została opublikowana. + Nowa wersja [APP_NAME] została opublikowana. [MESSAGE] -Musisz zainstalować nową wersję żeby używać [SECOND_LIFE]. +Musisz zainstalować nową wersję żeby używać [APP_NAME]. Załadować do foldera Aplikacji? <usetemplate name="okcancelbuttons" notext="Wyłącz program" yestext="Załaduj"/> </notification> <notification name="DownloadMac"> - Uaktualniona wersja [SECOND_LIFE] została opublikowana. + Uaktualniona wersja [APP_NAME] została opublikowana. [MESSAGE] Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prędkości i stabilności. @@ -1262,7 +1262,7 @@ Załadować do foldera Aplikacji? <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Załaduj"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Uaktualniona wersja [SECOND_LIFE] została opublikowana. + Uaktualniona wersja [APP_NAME] została opublikowana. [MESSAGE] Aktualizacja nie jest wymagana ale jest zalecana w celu poprawy prędkości i stabilności. @@ -1497,7 +1497,7 @@ Kontynuować? <notification name="RegionEntryAccessBlocked"> Ze względu na Twój wiek, nie jesteś uprawniony do przebywania w tym regionie. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. -Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <usetemplate name="okbutton" yestext="OK"/> @@ -1505,13 +1505,13 @@ Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z <notification name="RegionEntryAccessBlocked_KB"> Ze względu na Twój wiek, nie jesteś uprawniony do przebywania w tym regionie. -Skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <url name="url"> https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 </url> <usetemplate name="okcancelignore" - yestext="Second Life:Pomoc" + yestext="[SECOND_LIFE]:Pomoc" notext="Zamknij" ignoretext="Dostęp do posiadłości jest zablokowany ze względu na rodzaj treści jaką zawiera"/> </notification> @@ -1536,7 +1536,7 @@ Możeszy wybrać 'Zmień Ustawienia' by dokonać zmian w ustawieniach <notification name="LandClaimAccessBlocked"> W związku ze statusem ustawień Twojego wieku, nie możesz odzyskać tej posiadłości. Możesz potrzebować weryfikacji wieku bądź instalacji najnowszej wersji klienta. -Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <usetemplate name="okbutton" yestext="OK"/> @@ -1544,13 +1544,13 @@ Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z <notification name="LandClaimAccessBlocked_KB"> Ze względu na Twój wiek, nie możesz odzyskać tej posiadłości. -Skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <url name="url"> https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 </url> <usetemplate name="okcancelignore" - yestext="Second Life:Pomoc" + yestext="[SECOND_LIFE]:Pomoc" notext="Zamknij" ignoretext="Odzyskanie posiadłości jest zablokowane ze względu na rodzaj treści jaką zwiera"/> </notification> @@ -1570,7 +1570,7 @@ Możeszy wybrać 'Zmień Ustawienia' by dokonać zmian w ustawieniach <notification name="LandBuyAccessBlocked"> Ze względu na Twój wiek, nie możesz kupić tej posiadłości. Może być to wynikiem braku informacji na temat weryfikacji Twojego wieku. -Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <usetemplate name="okbutton" yestext="OK"/> @@ -1578,13 +1578,13 @@ Upewnij się, że masz zainstalowaną najnowszą wersję klienta i skorzystaj z <notification name="LandBuyAccessBlocked_KB"> Ze względu na Twój wiek, nie możesz kupić tej posiadłości. -Skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. <url name="url"> https://support.secondlife.com/ics/support/default.asp?deptID=4417&task=knowledge&questionID=6010 </url> <usetemplate name="okcancelignore" - yestext="Second Life:Pomoc" + yestext="[SECOND_LIFE]:Pomoc" notext="Zamknij" ignoretext="Zakup posiadłości jest zablokowany ze względu na rodzaj treści jaką zawiera"/> </notification> @@ -1844,7 +1844,7 @@ Domyślnie: nie włączona Domyślnie: nie włączone </notification> <notification label="Wersja Niezgodna z Systemem Rozmów" name="VoiceVersionMismatch"> - Ta wersja Second Life nie jest kompatybilna z systemem Rozmów w tym regionie. Musisz zainstalować aktualną wersję Second Life żeby Rozmowy działały porawnie. + Ta wersja [APP_NAME] nie jest kompatybilna z systemem Rozmów w tym regionie. Musisz zainstalować aktualną wersję [APP_NAME] żeby Rozmowy działały porawnie. </notification> <notification label="Umowa Majątku" name="HelpEstateCovenant"> Włączenie opcji umowy majątku jest wymagane w celu umożliwienia sprzedaży posiadłości w obrębie majątku. @@ -1958,16 +1958,16 @@ Przenieść obiekty szafy? W tym obiekcie nie ma elementów które możesz skopiować. </notification> <notification name="WebLaunchAccountHistory"> - Przejść na stronę Second Life żeby zobaczyć historię konta? + Przejść na stronę [SECOND_LIFE] żeby zobaczyć historię konta? <usetemplate ignoretext="Ładując stronę historii konta." name="okcancelignore" notext="Anuluj" yestext="Idź na stronę"/> </notification> <notification name="ClickOpenF1Help"> - Przejść na stronę Second Life? - <usetemplate ignoretext="Odwiedzając stronę Second Life." name="okcancelignore" notext="Anuluj" yestext="Idź"/> + Przejść na stronę [SECOND_LIFE]? + <usetemplate ignoretext="Odwiedzając stronę [SECOND_LIFE]." name="okcancelignore" notext="Anuluj" yestext="Idź"/> </notification> <notification name="ConfirmQuit"> Na pewno chcesz skończyć? - <usetemplate ignoretext="Wyłączając Second Life." name="okcancelignore" notext="Kontynuuj" yestext="Wyłącz"/> + <usetemplate ignoretext="Wyłączając [APP_NAME]." name="okcancelignore" notext="Kontynuuj" yestext="Wyłącz"/> </notification> <notification name="HelpReportAbuseEmailLL"> Używaj tej opcji do zgłaszania nadużyć Warunków Umowy (Terms of Service) i Standardów Społeczeństwa (Community Standards). Zobacz: @@ -1986,7 +1986,7 @@ W ramach serwisu dla Rezydentów i gości właściciel tego regionu postanowił Właściciel regionu będzie rozpatrywał raporty w oparciu o lokalne prawa tego regionu zdefiniowane w umowie majątku. (Możesz zobaczyć umowę wybierając opcję O Posiadłości z menu Świat.) -Rozwiązanie tego raportu odnosi się wyłącznie do tego regionu; konkluzja tego raportu nie będzie miała wpływu na dostęp Rezydentów do innych regionów w Second Life. Wyłącznie Linden Lab może całkowicie odebrać dostęp do Second Life. +Rozwiązanie tego raportu odnosi się wyłącznie do tego regionu; konkluzja tego raportu nie będzie miała wpływu na dostęp Rezydentów do innych regionów w [SECOND_LIFE]. Wyłącznie Linden Lab może całkowicie odebrać dostęp do [SECOND_LIFE]. </notification> <notification name="HelpReportBug"> Używaj tej opcji *wyłącznie* w celu zgłaszania technicznych problemów, dołączając szczegółowy opis problemu. Możesz odpowiedzieć na automatyczną email z odpowiedzią żeby dodać więcej szczegółów do Twojego raportu. @@ -2037,9 +2037,9 @@ Dokładne dane pomogą nam w klasyfikacji i prztwarzaniu raportu. Jeżeli składasz raport dotyczący naruszenia praw autorskich proszę się upewnić, że robisz to poprawnie: -(1) Przypadek Nadużycia. Możesz złożyć raport jeżeli sądzisz, że Rezydent narusza system przywilejów Second Life, na przykład używając CopyBot lub podobnych narzędzi robiących kopie, naruszając prawa autorskie. Komisja Nadużyć bada wykrocznia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami Warunków Umowy (Terms of Service) i Standardów Społeczeństwa (Community Standards) Second Life. Komisja Nadużyć nie zajmuje się i nie odpowiada na żądania usunięcia treści ze środowiska Second Life. +(1) Przypadek Nadużycia. Możesz złożyć raport jeżeli sądzisz, że Rezydent narusza system przywilejów [SECOND_LIFE], na przykład używając CopyBot lub podobnych narzędzi robiących kopie, naruszając prawa autorskie. Komisja Nadużyć bada wykrocznia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami Warunków Umowy (Terms of Service) i Standardów Społeczeństwa (Community Standards) [SECOND_LIFE]. Komisja Nadużyć nie zajmuje się i nie odpowiada na żądania usunięcia treści ze środowiska [SECOND_LIFE]. -(2) Przypadek DMCA lub Usuwanie Treści. Aby wystąpić z żądaniem o usunięcie treści ze środowiska Second Life MUSISZ przedłożyć ważne zawiadomienie o nadużyciu zgodne z naszą polisą DMCA pod http://secondlife.com/corporate/dmca.php. +(2) Przypadek DMCA lub Usuwanie Treści. Aby wystąpić z żądaniem o usunięcie treści ze środowiska [SECOND_LIFE] MUSISZ przedłożyć ważne zawiadomienie o nadużyciu zgodne z naszą polisą DMCA pod http://secondlife.com/corporate/dmca.php. Jeżeli chcesz kontynuować dalej zamknij to okno i dokończ wysyłanie raportu. Może być potrzebny wybór kategorii 'CopyBot albo Nadużycie Przywilejów'. @@ -2162,7 +2162,7 @@ Kliknij "Zaawansowane Niebo" żeby wybrać bardziej szczegółowy edyt Kliknij "Zaawansowana Woda" żeby wybrać bardziej szczegółowy edytor ustawień wody. </notification> <notification name="HelpDayCycle"> - Edytor Cyklu Dnia pozwala na kontrolę nieba podczas cyklu dnia/nocy w Second Life. Ten cykl jest używany przez suwak Pora Dnia w podstawowym Edytorze Środowiska. + Edytor Cyklu Dnia pozwala na kontrolę nieba podczas cyklu dnia/nocy w [SECOND_LIFE]. Ten cykl jest używany przez suwak Pora Dnia w podstawowym Edytorze Środowiska. Edytor Cyklu Dnia ustala klatki odniesienia. Są to punkty (widoczne jako szare plamki na wykresie czasu) które mają przypisane Ustawienia Nieba. W miarę upływu czasu niebo jest animowane używając średnich pomiędzy klatkami odniesienia. @@ -2243,7 +2243,7 @@ Suwak G (Gęstość) kontroluje gęstość chmur. Kontroluje prędkość przemieszczania chmur wzdłuż osi Y. </notification> <notification name="HelpClassicClouds"> - Wybierz tą opcję w celu używania dodatkowo starszej, klasycznej wersji chmur Second Life. + Wybierz tą opcję w celu używania dodatkowo starszej, klasycznej wersji chmur [SECOND_LIFE]. </notification> <notification name="HelpWaterFogColor"> Kontroluje kolor podwodnej mgły. @@ -2342,7 +2342,7 @@ Suwak G (Gęstość) kontroluje gęstość chmur. </notification> <notification name="NotAgeVerified"> Nie masz dostępu do tej posiadłości ze względu na brak weryfikacji Twojego wieku. -Czy chcesz odwiedzić stronę Second Life żeby to zmienić? +Czy chcesz odwiedzić stronę [SECOND_LIFE] żeby to zmienić? [_URL] <url name="url" option="0"> @@ -2352,7 +2352,7 @@ Czy chcesz odwiedzić stronę Second Life żeby to zmienić? </notification> <notification name="Cannot enter parcel: no payment info on file"> Nie masz dostępu do tej posiadłości ze względu na brak danych o Twoim koncie. -Czy chcesz odwiedzić stronę Second Life żeby to zmienić? +Czy chcesz odwiedzić stronę [SECOND_LIFE] żeby to zmienić? [_URL] <url name="url" option="0"> @@ -2382,10 +2382,10 @@ Czy chcesz odwiedzić stronę Second Life żeby to zmienić? Temat: [SUBJECT], Treść: [MESSAGE] </notification> <notification name="FriendOnline"> - [FIRST] [LAST] jest w Second Life + [FIRST] [LAST] jest w [SECOND_LIFE] </notification> <notification name="FriendOffline"> - [FIRST] [LAST] opuszcza Second Life + [FIRST] [LAST] opuszcza [SECOND_LIFE] </notification> <notification name="AddSelfFriend"> Nie możesz dodać siebie do listy znajomych. @@ -2605,7 +2605,7 @@ Nie możesz tworzyć tutaj obiektów. <notification name="RegionTPAccessBlocked"> Ze względu na Twój wiek, nie jesteś uprawniony do przebywania w tym regionie. Możesz potrzebować weryfikacji wieku bądź instalacji najnowszej wersji klienta. -Skorzystaj z Second Life:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. +Skorzystaj z [SECOND_LIFE]:Pomoc by uzyskać więcej informacji na temat dostępu do regionów z podanym rodzajem treści jaką zawiera. </notification> <notification name="URBannedFromRegion"> Zostałeś zbanowany w regionie. @@ -2797,7 +2797,7 @@ Obiekt: [OBJECTNAME], właściciel: [NAME]? [TYPE] [DESC] - nie znaleziono w bazie danych. </notification> <notification name="InvalidWearable"> - Obiekt, który chcesz założyć używa narzędzia nieobecnego w wersji klienta, którą używasz. By go założyć ściągnij najnowszą wersję klienta Second Life. + Obiekt, który chcesz założyć używa narzędzia nieobecnego w wersji klienta, którą używasz. By go założyć ściągnij najnowszą wersję klienta [APP_NAME]. </notification> <notification name="ScriptQuestion"> '[OBJECTNAME]', właściciel: '[NAME]', chciał by: @@ -2902,7 +2902,7 @@ Obiekty elastyczne nie mogą być fizyczne i muszą być typu fantom. </notification> <notification name="FirstDebugMenus"> Zaawansowane menu zostało włączone. -To menu zawiera funkcje użyteczne dla programistów analizujących Second Life. +To menu zawiera funkcje użyteczne dla programistów analizujących [SECOND_LIFE]. To menu jest aktywowane dzięki kombinacji klawiszy Ctrl-Alt-D (Windows) lub ⌘-Opt-D (Mac). </notification> <notification name="FirstSculptedPrim"> @@ -3015,7 +3015,7 @@ Wybierz Wycisz żeby wyciszyć tą osobę. - Prędkość Twojego CPU nie spełnia minimalnych wymagań. </global> <global name="UnsupportedGLRequirements"> - Wygląda na to, że Twój system nie spełnia wymagań sprzętowych Second Life. Second Life wymaga karty graficznej kompatybilnej z OpenGL z multiteksturami. Jeżeli masz taką kartę zainstaluj najnowsze sterowniki do niej i uaktualnienia systemu operacyjnego. + Wygląda na to, że Twój system nie spełnia wymagań sprzętowych [APP_NAME]. [APP_NAME] wymaga karty graficznej kompatybilnej z OpenGL z multiteksturami. Jeżeli masz taką kartę zainstaluj najnowsze sterowniki do niej i uaktualnienia systemu operacyjnego. Jeżeli wciąż masz problemy sprawdź: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/pl/panel_status_bar.xml b/indra/newview/skins/default/xui/pl/panel_status_bar.xml index bdf22fa66d..fcaac7f116 100755 --- a/indra/newview/skins/default/xui/pl/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/pl/panel_status_bar.xml @@ -28,8 +28,8 @@ <button label="" label_selected="" name="status_no_voice" tool_tip="Używanie komunikacji głosowej jest niedozwolone" /> <button label="" label_selected="" name="buyland" tool_tip="Kup tą posiadłość" /> <button label="" name="menubar_search_bevel_bg" /> - <line_editor label="Szukaj" name="search_editor" tool_tip="Szukaj w Second Life" /> - <button label="" label_selected="" name="search_btn" tool_tip="Szukaj w Second Life" /> + <line_editor label="Szukaj" name="search_editor" tool_tip="Szukaj w [SECOND_LIFE]" /> + <button label="" label_selected="" name="search_btn" tool_tip="Szukaj w [SECOND_LIFE]" /> <string name="packet_loss_tooltip"> Utracone Pakiety </string> diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml index 4186e5e207..c8c0442d1d 100644 --- a/indra/newview/skins/default/xui/pt/floater_about.xml +++ b/indra/newview/skins/default/xui/pt/floater_about.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="Sobre o Second Life"> +<floater name="floater_about" title="Sobre o [APP_NAME]"> <text_editor name="credits_editor"> - Second Life é oferecido a você por Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les e muitos outros. + Second Life é oferecido a você por Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl e muitos outros. - Obrigado aos seguintes residentes por ajudar a garantir para que esta versão seja ainda melhor: (in progress) + Obrigado aos seguintes residentes por ajudar a garantir para que esta versão seja ainda melhor: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation diff --git a/indra/newview/skins/default/xui/pt/floater_postcard.xml b/indra/newview/skins/default/xui/pt/floater_postcard.xml index fe90cb3165..bd3d41e52f 100644 --- a/indra/newview/skins/default/xui/pt/floater_postcard.xml +++ b/indra/newview/skins/default/xui/pt/floater_postcard.xml @@ -24,12 +24,12 @@ Digite sua mensagem aqui. </text_editor> <text name="fine_print"> - Se seu indicado entrar no SL, você receberá um bônus pela indicação. + Se seu indicado entrar no [SECOND_LIFE], você receberá um bônus pela indicação. </text> <button label="Cancelar" name="cancel_btn"/> <button label="Enviar" name="send_btn"/> <string name="default_subject"> - Cartão postal do Second Life. + Cartão postal do [SECOND_LIFE] </string> <string name="default_message"> Dá uma olhada nisto! diff --git a/indra/newview/skins/default/xui/pt/floater_tos.xml b/indra/newview/skins/default/xui/pt/floater_tos.xml index 5da34d2de7..7a0c187517 100644 --- a/indra/newview/skins/default/xui/pt/floater_tos.xml +++ b/indra/newview/skins/default/xui/pt/floater_tos.xml @@ -4,7 +4,8 @@ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/> <check_box label="Eu concordo com os Termos do Serviço" name="agree_chk"/> <text name="tos_heading"> - Por favor, leia os seguintes Termos de Serviço cuidadosamente. Para continuar acessando o Second Life, você precisa aceitar o acordo. + Por favor, leia os seguintes Termos de Serviço cuidadosamente. Para continuar acessando o +[SECOND_LIFE], você precisa aceitar o acordo. </text> <text_editor name="tos_text"> TOS_TEXT diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml index f60946fcce..7ec324cb3f 100644 --- a/indra/newview/skins/default/xui/pt/menu_login.xml +++ b/indra/newview/skins/default/xui/pt/menu_login.xml @@ -7,7 +7,7 @@ <menu_item_call label="Preferências..." name="Preferences..."/> </menu> <menu label="Ajuda" name="Help"> - <menu_item_call label="Ajuda do Second Life" name="Second Life Help"/> - <menu_item_call label="Sobre o Second Life..." name="About Second Life..."/> + <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Sobre o [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index 08ccdc043f..c476ef0bbc 100644 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -119,8 +119,12 @@ <menu_item_call label="Parar Animação do Meu Avatar" name="Stop Animating My Avatar"/> <menu_item_call label="Liberar teclas" name="Release Keys"/> <menu_item_separator label="-----------" name="separator4"/> - <menu_item_call label="Histórico de conta..." name="Account History..."/> - <menu_item_call label="Gerenciar minha conta..." name="Manage My Account..."/> + <menu_item_call label="Histórico de conta..." name="Account History..."> + <on_click name="AccountHistory_url" userdata="WebLaunchAccountHistory,http://secondlife.com/account/transactions.php?lang=pt"/> + </menu_item_call> + <menu_item_call label="Gerenciar minha conta..." name="Manage My Account..."> + <on_click name="ManageMyAccount_url" userdata="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=pt"/> + </menu_item_call> <menu_item_call label="Comprar L$..." name="Buy and Sell L$..."/> <menu_item_separator label="-----------" name="separator5"/> <menu_item_call label="Meu terreno..." name="My Land..."/> @@ -165,7 +169,9 @@ <menu_item_separator label="-----------" name="separator4"/> <menu_item_call label="Foco na seleção" name="Focus on Selection"/> <menu_item_call label="Zoom na Seleção" name="Zoom to Selection"/> - <menu_item_call label="Comprar objetos" name="Menu Object Take"/> + <menu_item_call label="Comprar el objeto" name="Menu Object Take"> + <on_enable userdata="Comprar,Pegar" name="EnableBuyOrTake"/> + </menu_item_call> <menu_item_call label="Pegar cópia" name="Take Copy"/> <menu_item_call label="Salvar objeto de volta aos conteúdos do objeto" name="Save Object Back to Object Contents"/> <menu_item_separator label="-----------" name="separator6"/> @@ -179,7 +185,7 @@ <menu_item_call label="Ajustar scripts para não rodar na seleção" name="Set Scripts to Not Running in Selection"/> </menu> <menu label="Ajuda" name="Help"> - <menu_item_call label="Ajuda Second Life" name="Second Life Help"/> + <menu_item_call label="Ajuda [SECOND_LIFE]" name="Second Life Help"/> <menu_item_call label="Tutorial" name="Tutorial"/> <menu_item_separator label="-----------" name="separator"/> <menu_item_call label="Blog oficial da Linden..." name="Official Linden Blog..."/> @@ -200,6 +206,6 @@ <menu_item_separator label="-----------" name="separator9"/> <menu_item_call label="Reportar Bug..." name="Report Bug..."/> </menu> - <menu_item_call label="Sobre Second Life..." name="About Second Life..."/> + <menu_item_call label="Sobre [APP_NAME]..." name="About Second Life..."/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index cc90b6d08f..a303b38348 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -74,7 +74,7 @@ </form> </template> <notification functor="GenericAcknowledge" label="Mensagem de Alerta Desconhecida" name="MissingAlert"> - Sua versão do Second Life não sabe como mostrar a mensagem de alerta que acabou de receber. + Sua versão do [APP_NAME] não sabe como mostrar a mensagem de alerta que acabou de receber. Detalhes do erro: O alerta chamado '[_NAME]' não foi encontrado em notifications.xml. <usetemplate name="okbutton" yestext="OK"/> @@ -96,7 +96,7 @@ Detalhes do erro: O alerta chamado '[_NAME]' não foi encontrado em no <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Sim"/> </notification> <notification name="BadInstallation"> - Ocorreu um erro atualizando o Second Life. Por favor, faça o download da última versão em secondlife.com. + Ocorreu um erro atualizando o [APP_NAME]. Por favor, faça o download da última versão em secondlife.com. <usetemplate name="okbutton" yestext="OK"/> @@ -235,7 +235,7 @@ Clicando neste Box, será mostrado: <notification name="ClickPartnerHelpAvatar"> Você pode propor a outro Residente ou dissolver uma parceria existente através do website [SECOND_LIFE]. -Ir para o site do Second Life para mais informações sobre parceria? +Ir para o site do [SECOND_LIFE] para mais informações sobre parceria? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ir para a Página"/> </notification> <notification name="ClickUploadHelpPermissions"> @@ -273,7 +273,7 @@ Seu preço de venda será L$[SALE_PRICE] e está autorizado para venda para [NA <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Continuar"/> </notification> <notification name="ConfirmLandSaleToAnyoneChange"> - ATENÇÃO: Ao clicar em 'vender para qualquer um' torna a sua terra disponível para toda a comunidade Second Life, mesmo aqueles que não estão nesta região. + ATENÇÃO: Ao clicar em 'vender para qualquer um' torna a sua terra disponível para toda a comunidade [SECOND_LIFE], mesmo aqueles que não estão nesta região. A área de [LAND_SIZE] m² de terra selecionada está posta para venda. Seu preço de venda será L$ [SALE_PRICE] e está autorizado para [NAME]. @@ -418,17 +418,17 @@ Não há reembolso por taxas já pagas. <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="CacheWillClear"> - O cache será limpo quando você reiniciar [SECOND_LIFE]. + O cache será limpo quando você reiniciar [APP_NAME]. </notification> <notification name="CacheWillBeMoved"> - O Cache será removido após reiniciar [SECOND_LIFE]. + O Cache será removido após reiniciar [APP_NAME]. Nota: Isto limpará o cache. </notification> <notification name="ChangeConnectionPort"> - Configuração de porta terá efeito após reiniciar [SECOND_LIFE]. + Configuração de porta terá efeito após reiniciar [APP_NAME]. </notification> <notification name="ChangeSkin"> - A nova pele será exibida após reiniciar [SECOND_LIFE]. + A nova pele será exibida após reiniciar [APP_NAME]. </notification> <notification name="GoToAuctionPage"> Ir para a página do [SECOND_LIFE] para ver os detalhes do leilão ou fazer um lance? @@ -487,7 +487,7 @@ O objeto pode estar fora de alcance ou ter sido deletado. Não foi possível escrever o arquivo [[FILE]] </notification> <notification name="UnsupportedHardware"> - Aviso: Seu sistema não é compatível com os requisitos mínimos exigidos pelo Second Life. Se você continuar usando o Second Life pode experimentar uma performance ruim. Infelizmente não podemos oferecer suporte técnico para configurações de sistema não suportado. + Aviso: Seu sistema não é compatível com os requisitos mínimos exigidos pelo [APP_NAME]. Se você continuar usando o [APP_NAME] pode experimentar uma performance ruim. Infelizmente não podemos oferecer suporte técnico para configurações de sistema não suportado. MINSPECS Você deseja visitar [_URL] para maiores informações? @@ -498,14 +498,14 @@ Você deseja visitar [_URL] para maiores informações? </notification> <notification name="UnknownGPU"> Seu sistema possui uma placa gráfica que nos é desconhecido neste momento. -Este é normalmente o caso de um novo hardware que nós não tivemos a chance de testar. Second Life vai muito provavelmente executar corretamente, mas talvez seja necessário ajustar suas configurações de gráficos para algo mais apropriado. +Este é normalmente o caso de um novo hardware que nós não tivemos a chance de testar. [APP_NAME] vai muito provavelmente executar corretamente, mas talvez seja necessário ajustar suas configurações de gráficos para algo mais apropriado. (Menu Editar > Preferências > Gráficos). <form name="form"> <ignore name="ignore" text="Ao detectar uma placa de vídeo desconhecida"/> </form> </notification> <notification name="DisplaySettingsNoShaders"> - [SECOND_LIFE] travou quando inicializava os drivers gráficos. + [APP_NAME] travou quando inicializava os drivers gráficos. A Qualidade Gráfica será ajustada para baixa, para evitar alguns erros comuns de drivers. Isto irá desabilitar alguns atributos gráficos. Nós recomendamos a atualização dos drivers de sua placa gráfica. @@ -785,7 +785,7 @@ Nenhum lote selecionado. Não é possível achar a região em que este terreno se encontra. </notification> <notification name="CannotCloseFloaterBuyLand"> - Você não pode fechar a janela de Compra de Terreno até que o Second Life calcule o preço desta transação. + Você não pode fechar a janela de Compra de Terreno até que o [APP_NAME] calcule o preço desta transação. </notification> <notification name="CannotDeedLandNothingSelected"> Não é possível transferir posse do terreno: @@ -956,7 +956,7 @@ Se o problema persistir, por favor clicar sobre 'Ferramentas > Bug Repor <notification name="YouHaveBeenLoggedOut"> Você foi deslogado do [SECOND_LIFE]: [MESSAGE] -Você ainda pode olhar o bate-papo e as mensagens instantâneas existentes, clicando em 'Exibir IM & bate-papo'. Caso contrário, clique em 'Sair' para sair do [SECOND_LIFE] imediatamente. +Você ainda pode olhar o bate-papo e as mensagens instantâneas existentes, clicando em 'Exibir IM & bate-papo'. Caso contrário, clique em 'Sair' para sair do [APP_NAME] imediatamente. <usetemplate name="okcancelbuttons" notext="Sair" yestext="Exibir IM & bate-papo"/> </notification> <notification name="OnlyOfficerCanBuyLand"> @@ -1121,14 +1121,14 @@ Você pode usar o [SECOND_LIFE] normalmente e os outros o visualizarão corretam </form> </notification> <notification name="FirstRun"> - A instalação do [SECOND_LIFE] está completa. + A instalação do [APP_NAME] está completa. Se esta é a primeira vez usando o[SECOND_LIFE], será necessário que você crie uma conta antes de poder se logar. Retornar a www.secondlife.com para criar uma nova conta? <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Nova conta.."/> </notification> <notification name="LoginPacketNeverReceived"> - Estamos com problemas de conexão. Pode ser problema com a conexão de sua internet ou com os servidores do Second Life. + Estamos com problemas de conexão. Pode ser problema com a conexão de sua internet ou com os servidores do [SECOND_LIFE]. Voce tanto pode checar a conexão de sua internet e tentar novamente em alguns minutos, ou clicar em Teletransporte para tentar teletransportar-se para sua casa. <form name="form"> @@ -1141,7 +1141,7 @@ Voce tanto pode checar a conexão de sua internet e tentar novamente em alguns m Seu personagem irá aparecer num momento. Use as teclas de seta para andar. -Pressione a tecla F1 para ajuda ou aprender mais sobre [SECOND_LIFE]. +Pressione a tecla F1 para ajuda ou aprender mais sobre [SECOND_LIFE]. Por favor, escolha se o seu avatar é feminino ou masculino. Você pode mudar de idéia depois. <usetemplate name="okcancelbuttons" notext="Feminino" yestext="Masculino"/> </notification> @@ -1229,33 +1229,33 @@ Por favor, ponha o objeto à venda e tente novamente. [DOWNLOAD_PATH] </notification> <notification name="DownloadWindowsMandatory"> - Uma nova versão do [SECOND_LIFE] está disponível. + Uma nova versão do [APP_NAME] está disponível. [MESSAGE] -Você deve baixar essa atualização para utilizar o [SECOND_LIFE]. +Você deve baixar essa atualização para utilizar o [APP_NAME]. <usetemplate name="okcancelbuttons" notext="Sair" yestext="Atualizar"/> </notification> <notification name="DownloadWindows"> - Uma versão atualizada do [SECOND_LIFE] está disponível. + Uma versão atualizada do [APP_NAME] está disponível. [MESSAGE] Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade. <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> - Uma versão atualizada do [SECOND_LIFE] está disponível. + Uma versão atualizada do [APP_NAME] está disponível. [MESSAGE] Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade. <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/> </notification> <notification name="DownloadMacMandatory"> - Uma nova versão do [SECOND_LIFE] está disponível. + Uma nova versão do [APP_NAME] está disponível. [MESSAGE] -Você deve baixar esta atualização para utilizar o [SECOND_LIFE]. +Você deve baixar esta atualização para utilizar o [APP_NAME]. Baixar para sua pasta de Aplicativos? <usetemplate name="okcancelbuttons" notext="Sair" yestext="Atualizar"/> </notification> <notification name="DownloadMac"> - Uma nova versão do [SECOND_LIFE] está disponível. + Uma nova versão do [APP_NAME] está disponível. [MESSAGE] Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade. @@ -1263,7 +1263,7 @@ Baixar para a sua pasta de Aplicativos? <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/> </notification> <notification name="DownloadMacReleaseForDownload"> - Uma nova versão do [SECOND_LIFE] está disponível. + Uma nova versão do [APP_NAME] está disponível. [MESSAGE] Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade. @@ -1862,7 +1862,7 @@ Definí-lo em branco fará com que os relatórios de abuso sejam enviados apenas Padrão: desligado </notification> <notification label="Discordância de Versão de Voz" name="VoiceVersionMismatch"> - Esta versão do Second Life não é compatível com as características do Canal de Voz desta região. Para que a Conversa por Voz funcione corretamente, você precisará atualizar o Second Life. + Esta versão do [APP_NAME] não é compatível com as características do Canal de Voz desta região. Para que a Conversa por Voz funcione corretamente, você precisará atualizar o [APP_NAME]. </notification> <notification label="Corretor da Propriedade" name="HelpEstateCovenant"> Definir um corretor da propriedade lhe permite vender lotes nesta propriedade. Se um corretor não for definido, você não pode vender terras. O cartão do seu corretor pode ficar vazio se você não desejar aplicar quaisquer regras ou avisar os compradores sobre qualquer coisa em relação ao lote antes da compra. @@ -1976,16 +1976,16 @@ Mover para o inventário o(s) item(s)? Não há itens neste objeto que você está autorizado a copiar. </notification> <notification name="WebLaunchAccountHistory"> - Ir para o site do Second Life para visualizar o histórico de sua conta? + Ir para o site do [SECOND_LIFE] para visualizar o histórico de sua conta? <usetemplate ignoretext="Ao abrir a página web de histórico de conta" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/> </notification> <notification name="ClickOpenF1Help"> - Visitar o website de Suporte do Second Life? - <usetemplate ignoretext="Quando visitando o website de Suporte do Second Life" name="okcancelignore" notext="Cancelar" yestext="Ir"/> + Visitar o website de Suporte do [SECOND_LIFE]? + <usetemplate ignoretext="Quando visitando o website de Suporte do [SECOND_LIFE]" name="okcancelignore" notext="Cancelar" yestext="Ir"/> </notification> <notification name="ConfirmQuit"> Tem certeza que deseja sair? - <usetemplate ignoretext="Quando Saindo do Second Life." name="okcancelignore" notext="Continuar" yestext="Sair"/> + <usetemplate ignoretext="Quando Saindo do [APP_NAME]." name="okcancelignore" notext="Continuar" yestext="Sair"/> </notification> <notification name="HelpReportAbuseEmailLL"> Use esta ferramenta para reportar violações aos Termos de Serviço e aos Padrões da Comunidade. Veja: @@ -2005,8 +2005,8 @@ Como um serviço aos residentes e visitantes, o dono da região em que você se O dono da região resolverá as reportagens baseado nas regras locais desta região, como definido na Declaração da propriedade. (Veja as declarações indo ao menu Mundo e selecionando Sobre a Terra.) -A resolução desta reportagem se aplica apenas a esta região; o acesso de Residentes às outras áreas do Second Life não será afetado pelas decisões desta reportagem. -Apenas a Linden Lab pode restringir acesso a todo o Second Life. +A resolução desta reportagem se aplica apenas a esta região; o acesso de Residentes às outras áreas do [SECOND_LIFE] não será afetado pelas decisões desta reportagem. +Apenas a Linden Lab pode restringir acesso a todo o [SECOND_LIFE]. </notification> <notification name="HelpReportBug"> Use esta ferramenta para reportar *apenas* características técnicas que não atuem como descrito ou esperado. @@ -2059,9 +2059,9 @@ Fazer uma descrição precisa nos ajuda a arquivar e processar os relatórios de Você parece estar relatando violação de propriedade intelectual. Por favor, certifique-se de que está relatando corretamente: -(1) O Processo de abuso. Você pode apresentar um relatório de abuso se você acredita que um Residente está infringindo o sistema de permissões do Second Life, por exemplo, utilizando ferramentas CopyBot para copiar ou similar, para violar os direitos de propriedade intelectual. A Equipe de Abuso investiga e divulga a ação disciplinar adequada para o comportamento que viola o Estatuto da Comunidade do Second Life ou os Termos de Serviço. No entanto, a mesma não controla e não irá responder aos pedidos para remover o conteúdo do mundo Second Life. +(1) O Processo de abuso. Você pode apresentar um relatório de abuso se você acredita que um Residente está infringindo o sistema de permissões do [SECOND_LIFE], por exemplo, utilizando ferramentas CopyBot para copiar ou similar, para violar os direitos de propriedade intelectual. A Equipe de Abuso investiga e divulga a ação disciplinar adequada para o comportamento que viola o Estatuto da Comunidade do [SECOND_LIFE] ou os Termos de Serviço. No entanto, a mesma não controla e não irá responder aos pedidos para remover o conteúdo do mundo [SECOND_LIFE]. -(2) O processo de remoção de conteúdo ou DMCA. Para solicitar a remoção de conteúdo do Second Life, você deve enviar uma notificação válida de infração, conforme previsto em nossa Política de DMCA em http://secondlife.com/corporate/dmca.php. +(2) O processo de remoção de conteúdo ou DMCA. Para solicitar a remoção de conteúdo do [SECOND_LIFE], você deve enviar uma notificação válida de infração, conforme previsto em nossa Política de DMCA em http://secondlife.com/corporate/dmca.php. Se você ainda deseja prosseguir com o processo de abuso, por favor, feche esta janela e termine de enviar seu relatório. Pode ser necessário selecionar a categoria específica 'CopyBot Infração de Permissões'. @@ -2183,7 +2183,7 @@ Clique "Céu Avançado " para abrir um editor com configurações mais Clique "Água Avançada " para abrir um editor com configurações mais avançadas para a água. </notification> <notification name="HelpDayCycle"> - O editor de Ciclo do Dia dá a você o controle do céu durante um ciclo de dia/noite do Second Life. Este é o ciclo usado pelo controle gradual da hora do dia do editor de ambiente básico. + O editor de Ciclo do Dia dá a você o controle do céu durante um ciclo de dia/noite do [SECOND_LIFE]. Este é o ciclo usado pelo controle gradual da hora do dia do editor de ambiente básico. O editor do ciclo de dia trabalha configurando quadros-chave. Estes são pontos (representados pelos ícones cinza no gráfico de horário) que possuem um pré-ajuste de céu associado a eles. Conforme o dia passa, o céu do Windlight " anima " a interpolação entre esses quadros-chave. @@ -2261,7 +2261,7 @@ Similar ao azimute. Controla a velocidade que as núvens se movem na direção Y. </notification> <notification name="HelpClassicClouds"> - Marque esta check box para permitir a reprodução das nuvens clássicas mais velhas do Second Life, além das nuvens WindLight. + Marque esta check box para permitir a reprodução das nuvens clássicas mais velhas do [SECOND_LIFE], além das nuvens WindLight. </notification> <notification name="HelpWaterFogColor"> Escolhe a cor da neblina subaquática. @@ -2359,7 +2359,7 @@ Similar ao azimute. </notification> <notification name="NotAgeVerified"> Você precisa ter a idade verificada para acessar este lote. -Gostaria de visitar o site do Second Life para verificação de idade? +Gostaria de visitar o site do [SECOND_LIFE] para verificação de idade? [_URL] <url name="url" option="0"> @@ -2369,7 +2369,7 @@ Gostaria de visitar o site do Second Life para verificação de idade? </notification> <notification name="Cannot enter parcel: no payment info on file"> Este lote exige que você tenha informações de pagamento no arquivo antes de poder acessá-lo. -Gostaria de visitar o site do Second Life para configurá-lo? +Gostaria de visitar o site do [SECOND_LIFE] para configurá-lo? [_URL] <url name="url" option="0"> @@ -2680,13 +2680,13 @@ Por favor, tente novamente em alguns instantes. Impossível criar a conexão pendente. </notification> <notification name="InternalUsherError"> - Um erro interno ocorreu enquanto se tentava direcioná-lo para seu destino de Tele-transporte. O Second Life pode estar passando por problemas no serviço, neste momento. + Um erro interno ocorreu enquanto se tentava direcioná-lo para seu destino de Tele-transporte. O [SECOND_LIFE] pode estar passando por problemas no serviço, neste momento. </notification> <notification name="NoGoodTPDestination"> Impossível encontrar um bom destino para tele-transporte nesta região. </notification> <notification name="InternalErrorRegionResolver"> - Um erro interno ocorreu enquanto tentava-se definir as coordenadas globais da sua solicitação de tele-transporte. O Second Life pode estar passando por problemas no serviço, no momento. + Um erro interno ocorreu enquanto tentava-se definir as coordenadas globais da sua solicitação de tele-transporte. O [SECOND_LIFE] pode estar passando por problemas no serviço, no momento. </notification> <notification name="NoValidLanding"> Não se achou um ponto de aterrissagem válido. @@ -2807,7 +2807,7 @@ Do objeto: [OBJECTNAME], dono: [NAME]? Falhou ao procurar [TYPE] nomeado [DESC] no banco de dados. </notification> <notification name="InvalidWearable"> - O item que você está tentando vestir usa uma característica que seu Visualizador não lê. Por favor, atualize sua versão do Second Life para vestir este item. + O item que você está tentando vestir usa uma característica que seu Visualizador não lê. Por favor, atualize sua versão do [APP_NAME] para vestir este item. </notification> <notification name="ScriptQuestion"> '[OBJECTNAME]', um objeto pertencente a '[NAME]', gostaria de: @@ -2912,7 +2912,7 @@ Objetos flexíveis não podem ser físicos e devem ser fantasmas até que a caix </notification> <notification name="FirstDebugMenus"> Você ativou o menu Avançado. -Este menu contém funcionalidades úteis para desenvolvedores debugarem o Second Life. +Este menu contém funcionalidades úteis para desenvolvedores debugarem o [SECOND_LIFE]. Para mostrar esse menu no Windows pressione Ctrl-Alt-D. No Mac pressione ⌘-Opt-D. </notification> <notification name="FirstSculptedPrim"> @@ -3020,7 +3020,7 @@ Clique Aceitar para juntar-se à chamada ou Recusar para recusar o convite. Cliq - A velocidade da sua CPU não suporta os requisitos mínimos exigidos. </global> <global name="UnsupportedGLRequirements"> - Você não parece ter os requisitos de hardware recomendados para rodar o Second Life. O Second Life exige uma placa gráfica OpenGL que tem apoio a multi- texturas. Se este for o caso, você pode se certificar de que tem os drivers mais recentes para sua placa gráfica, e os patches e pacotes de serviços para seu sistema operacional. + Você não parece ter os requisitos de hardware recomendados para rodar o [APP_NAME]. O [APP_NAME] exige uma placa gráfica OpenGL que tem apoio a multi- texturas. Se este for o caso, você pode se certificar de que tem os drivers mais recentes para sua placa gráfica, e os patches e pacotes de serviços para seu sistema operacional. Se continuar com problemas, por favor visite: http://www.secondlife.com/support </global> diff --git a/indra/newview/skins/default/xui/pt/panel_status_bar.xml b/indra/newview/skins/default/xui/pt/panel_status_bar.xml index 2a5108b4cb..e9a02344ab 100644 --- a/indra/newview/skins/default/xui/pt/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/pt/panel_status_bar.xml @@ -27,8 +27,8 @@ <button label="" label_selected="" name="restrictpush" tool_tip="Não Empurrar"/> <button label="" label_selected="" name="status_no_voice" tool_tip="Voz não disponível aqui"/> <button label="" label_selected="" name="buyland" tool_tip="Comprar este lote"/> - <line_editor label="Buscar" name="search_editor" tool_tip="Buscar no Second Life"/> - <button label="" label_selected="" name="search_btn" tool_tip="Buscar no Second Life"/> + <line_editor label="Buscar" name="search_editor" tool_tip="Buscar no [SECOND_LIFE]"/> + <button label="" label_selected="" name="search_btn" tool_tip="Buscar no [SECOND_LIFE]"/> <string name="packet_loss_tooltip"> Perda de pacote </string> diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 6fc755b229..1b9acc7ac2 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -211,11 +211,6 @@ class WindowsManifest(ViewerManifest): self.path("slplugin.exe")
self.end_prefix()
- # Media plugins - Flash (ActiveX)
- if self.prefix(src='../media_plugins/flash_activex/%s' % self.args['configuration'], dst="llplugin"):
- self.path("media_plugin_flash_activex.dll")
- self.end_prefix()
-
# Media plugins - QuickTime
if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"):
self.path("media_plugin_quicktime.dll")
@@ -515,10 +510,7 @@ class DarwinManifest(ViewerManifest): self.path("../llplugin/slplugin/" + self.args['configuration'] + "/SLPlugin", "SLPlugin")
self.path("../media_plugins/quicktime/" + self.args['configuration'] + "/media_plugin_quicktime.dylib", "media_plugin_quicktime.dylib")
self.path("../media_plugins/webkit/" + self.args['configuration'] + "/media_plugin_webkit.dylib", "media_plugin_webkit.dylib")
- self.path("../../libraries/universal-darwin/lib_release/libllwebkitlib.dylib", "libllwebkitlib.dylib")
-
- self.path("../media_plugins/awesomium/" + self.args['configuration'] + "/media_plugin_awesomium.dylib", "media_plugin_awesomium.dylib")
- self.path("../../libraries/universal-darwin/lib_release/Awesomium.framework", "Awesomium.framework")
+ self.path("../../libraries/universal-darwin/lib_release/libllqtwebkit.dylib", "libllqtwebkit.dylib")
self.end_prefix("llplugin")
diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt index 3143d856d6..7164f86026 100644 --- a/indra/test_apps/llplugintest/CMakeLists.txt +++ b/indra/test_apps/llplugintest/CMakeLists.txt @@ -283,10 +283,8 @@ target_link_libraries(llmediaplugintest add_dependencies(llmediaplugintest stage_third_party_libs SLPlugin - media_plugin_flash_activex media_plugin_quicktime media_plugin_webkit - media_plugin_awesomium ${LLPLUGIN_LIBRARIES} ${LLMESSAGE_LIBRARIES} ${LLCOMMON_LIBRARIES} @@ -321,12 +319,6 @@ if (DARWIN OR WINDOWS) DEPENDS ${BUILT_QUICKTIME_PLUGIN} ) - get_target_property(BUILT_AWESOMIUM_PLUGIN media_plugin_awesomium LOCATION) - add_custom_command(TARGET llmediaplugintest POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_AWESOMIUM_PLUGIN} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ - DEPENDS ${BUILT_AWESOMIUM_PLUGIN} - ) - # copy over bookmarks file if llmediaplugintest gets built get_target_property(BUILT_LLMEDIAPLUGINTEST llmediaplugintest LOCATION) add_custom_command(TARGET llmediaplugintest POST_BUILD @@ -340,24 +332,10 @@ if (DARWIN OR WINDOWS) ) endif (DARWIN OR WINDOWS) -if (WINDOWS) - get_target_property(BUILT_FLASH_ACTIVEX_PLUGIN media_plugin_flash_activex LOCATION) - add_custom_command(TARGET llmediaplugintest POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_FLASH_ACTIVEX_PLUGIN} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ - DEPENDS ${BUILT_FLASH_ACTIVEX_PLUGIN} - ) - -endif (WINDOWS) - if (DARWIN) add_custom_command(TARGET llmediaplugintest POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ - DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllwebkitlib.dylib - ) - - add_custom_command(TARGET llmediaplugintest POST_BUILD - COMMAND rsync -av --delete ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/Awesomium.framework ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ - DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/Awesomium.framework + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/ + DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ) endif (DARWIN) diff --git a/indra/test_apps/llplugintest/bookmarks.txt b/indra/test_apps/llplugintest/bookmarks.txt index 3de56db532..796cc5d1b2 100644 --- a/indra/test_apps/llplugintest/bookmarks.txt +++ b/indra/test_apps/llplugintest/bookmarks.txt @@ -10,16 +10,6 @@ (WK) DHTML graphics demos,http://www.dhteumeuleu.com/ (WK) Neat Javascript 3D,http://gyu.que.jp/jscloth/ (QT) Local sample,file:///C|/Program Files/QuickTime/Sample.mov -(FLASH) Falling Bush,http://de.fishki.net/video/bush.swf -(FLASH) Bubble Shooter,http://www.wiicade.com/Data/72/game.swf -(FLASH) MAME,http://yvern.com/fMAME/testDecryptLoader.swf -(FLASH) Scribd doc,http://documents.scribd.com/ScribdViewer.swf?document_id=7470987&access_key=key-gemg40ut1qjepsgrx9y&page=&version=1&auto_size=true&viewMode= -(FLASH) GE Whiteboard,http://imagination3.com/pen_main.swf -(FLASH) DabbleBoard,http://www.dabbleboard.com/swf/db.swf -(FLASH) Countdown,http://itv.jaildog.com/sites/itv/ivbg/countdown.swf -(FLASH) Blockbusters,http://itv.jaildog.com/sites/itv/ivbg/blockbusters.swf -(FLASH) Clock Block,http://www.subliminalmessages.com/images/clockblock.swf -(FLASH) Devil Cat YouYube movie,http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vfl99456.swf&video_id=YRyK_1g4VWQ&rel=1&eurl=&iurl=http%3A//i2.ytimg.com/vi/YRyK_1g4VWQ/hqdefault.jpg&sk=70SiFZ9wC2NTIYkBXg_bK8xZB6OHmmfwC&fexp=900503%2C900037&fs=1&hl=en&autoplay=1&cr=US&avg_rating=4.56172839506&length_seconds=22&allow_ratings=1&allow_embed=1&title=devil%20cat (QT) Movie - Watchmen Trailer,http://movies.apple.com/movies/wb/watchmen/watchmen-tlr2_480p.mov (QT) Movie - Transformers - Revenge of the Fallen,http://movies.apple.com/movies/paramount/transformers2/transformersrevengeofthefallen-tlr1_h.320.mov (QT) Movie - Terminator Salvation,http://movies.apple.com/movies/wb/terminatorsalvation/terminatorsalvation-tlr3_h.320.mov diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp index 7a84ef83cb..f668867a02 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.cpp +++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp @@ -1,5 +1,5 @@ /** - * @file LLMediaPluginTest2.cpp + * @file LLMediaPluginTest.cpp * @brief Primary test application for LLMedia (Separate Process) Plugin system * * $LicenseInfo:firstyear=2008&license=viewergpl$ @@ -120,7 +120,7 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind mVersionMajor( 2 ), mVersionMinor( 0 ), mVersionPatch( 0 ), - mMaxPanels( 16 ), + mMaxPanels( 25 ), mViewportAspect( 0 ), mAppWindow( app_window ), mCurMouseX( 0 ), @@ -174,13 +174,6 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind { std::string description = line.substr( 0, comma_pos ); std::string url = line.substr( comma_pos + 1 ); -#if LL_DARWIN || LL_LINUX - // Don't load flash movies on mac or linux yet. - if ( url.find( ".swf" ) != std::string::npos ) - { - continue; - } -#endif mBookmarks.push_back( std::pair< std::string, std::string >( description, url ) ); } else @@ -229,16 +222,13 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind resetView(); // initial media panel - const int num_initial_panels = 4; + + const int num_initial_panels = 1; for( int i = 0; i < num_initial_panels; ++i ) { //addMediaPanel( mBookmarks[ rand() % ( mBookmarks.size() - 1 ) + 1 ].second ); + addMediaPanel( mHomeWebUrl ); }; - - // always add a Web panel for testing - addMediaPanel( "http://www.google.com" ); - //addMediaPanel( "http://www.wiicade.com/Data/72/game.swf" ); - //addMediaPanel( "http://movies.apple.com/movies/wb/watchmen/watchmen-tlr2_480p.mov" ); } //////////////////////////////////////////////////////////////////////////////// @@ -1465,9 +1455,6 @@ std::string LLMediaPluginTest::mimeTypeFromUrl( std::string& url ) std::string mime_type = "text/html"; // we may need a more advanced MIME type accessor later :-) - if ( url.find( ".swf" ) != std::string::npos ) // Flash movies - mime_type = "application/x-shockwave-flash"; - else if ( url.find( ".mov" ) != std::string::npos ) // Movies mime_type = "video/quicktime"; else @@ -1497,9 +1484,6 @@ std::string LLMediaPluginTest::pluginNameFromMimeType( std::string& mime_type ) else if ( mime_type == "text/html" ) plugin_name = "media_plugin_webkit.dll"; - else - if ( mime_type == "application/x-shockwave-flash" ) - plugin_name = "media_plugin_flash_activex.dll"; #elif LL_LINUX std::string plugin_name( "libmedia_plugin_null.so" ); @@ -1816,14 +1800,6 @@ void LLMediaPluginTest::getRandomMediaSize( int& width, int& height, std::string { width = ( ( rand() % 100 ) + 100 ) * 4; height = ( width * ( ( rand() % 400 ) + 1000 ) ) / 1000; - } - else - // adjust this random size if it's Flash so we get - // a more useful size for testing.. - if ( mime_type == "application/x-shockwave-flash" ) - { - width = ( ( rand() % 100 ) + 100 ) * 4; - height = ( width * ( ( rand() % 400 ) + 1000 ) ) / 1000; }; } @@ -2136,13 +2112,13 @@ int main( int argc, char* argv[] ) const int app_window_x = 80; const int app_window_y = 0; - const int app_window_width = 964; - const int app_window_height = 964; + const int app_window_width = 960; + const int app_window_height = 960; glutInitWindowPosition( app_window_x, app_window_y ); glutInitWindowSize( app_window_width, app_window_height ); - int app_window_handle = glutCreateWindow( "LLMediaPluginTest2" ); + int app_window_handle = glutCreateWindow( "LLMediaPluginTest" ); glutDisplayFunc( glutDisplay ); diff --git a/indra/test_apps/llplugintest/llmediaplugintest.h b/indra/test_apps/llplugintest/llmediaplugintest.h index 079b40ddc0..2d0ba0e3f6 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.h +++ b/indra/test_apps/llplugintest/llmediaplugintest.h @@ -1,5 +1,5 @@ /** - * @file LLMediaPluginTest2.cpp + * @file LLMediaPluginTest.cpp * @brief Primary test application for LLMedia (Separate Process) Plugin system * * $LicenseInfo:firstyear=2008&license=viewergpl$ |