Pull from lindenlab/viewer-development

master
Merov Linden 2011-03-29 16:51:33 -07:00
commit 0d1307c730
81 changed files with 2101 additions and 276 deletions

View File

@ -84,3 +84,4 @@ f1827b441e05bf37c68e2c15ebc6d09e9b03f527 2.6.0-start
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-start
9e4641f4a7870c0f565a25a2971368d5a29516a1 DRTVWR-41_2.6.0-beta2
9e4641f4a7870c0f565a25a2971368d5a29516a1 2.6.0-beta2
56b2778c743c2a964d82e1caf11084d76a87de2c 2.6.2-start

View File

@ -1,3 +1,4 @@
# -*- cmake -*-
add_subdirectory(llui_libtest)
add_subdirectory(llimage_libtest)

View File

@ -0,0 +1,131 @@
# -*- cmake -*-
# Integration tests of the llimage library (JPEG2000, PNG, jpeg, etc... images reading and writing)
project (llimage_libtest)
include(00-Common)
include(LLCommon)
include(Linking)
include(LLSharedLibs)
include(LLImage)
include(LLImageJ2COJ)
include(LLKDU)
include(LLMath)
include(LLVFS)
include_directories(
${LLCOMMON_INCLUDE_DIRS}
${LLVFS_INCLUDE_DIRS}
${LLIMAGE_INCLUDE_DIRS}
${LLMATH_INCLUDE_DIRS}
)
set(llimage_libtest_SOURCE_FILES
llimage_libtest.cpp
)
set(llimage_libtest_HEADER_FILES
CMakeLists.txt
llimage_libtest.h
)
set_source_files_properties(${llimage_libtest_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
list(APPEND llimage_libtest_SOURCE_FILES ${llimage_libtest_HEADER_FILES})
add_executable(llimage_libtest
WIN32
MACOSX_BUNDLE
${llimage_libtest_SOURCE_FILES}
)
set_target_properties(llimage_libtest
PROPERTIES
WIN32_EXECUTABLE
FALSE
)
# OS-specific libraries
if (DARWIN)
include(CMakeFindFrameworks)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
set(OS_LIBRARIES ${COREFOUNDATION_LIBRARY})
elseif (WINDOWS)
# set(OS_LIBRARIES)
elseif (LINUX)
# set(OS_LIBRARIES)
else (DARWIN)
message(FATAL_ERROR "Unknown platform")
endif (DARWIN)
# Libraries on which this application depends on
# Sort by high-level to low-level
target_link_libraries(llimage_libtest
${LLCOMMON_LIBRARIES}
${LLVFS_LIBRARIES}
${LLIMAGE_LIBRARIES}
${LLKDU_LIBRARIES}
${KDU_LIBRARY}
${LLIMAGEJ2COJ_LIBRARIES}
${OS_LIBRARIES}
)
if (DARWIN)
# Path inside the app bundle where we'll need to copy libraries
set(LLIMAGE_LIBTEST_DESTINATION_DIR
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llimage_libtest.app/Contents/Resources
)
# Create the Contents/Resources directory
add_custom_command(
TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS
-E
make_directory
${LLIMAGE_LIBTEST_DESTINATION_DIR}
COMMENT "Creating Resources directory in app bundle."
)
else (DARWIN)
set(LLIMAGE_LIBTEST_DESTINATION_DIR
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
)
endif (DARWIN)
get_target_property(BUILT_LLCOMMON llcommon LOCATION)
add_custom_command(TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_LLCOMMON} ${LLIMAGE_LIBTEST_DESTINATION_DIR}
DEPENDS ${BUILT_LLCOMMON}
)
if (DARWIN)
# Copy the required libraries to the package app
add_custom_command(TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libapr-1.0.3.7.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libapr-1.0.3.7.dylib
)
add_custom_command(TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libaprutil-1.0.3.8.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libaprutil-1.0.3.8.dylib
)
add_custom_command(TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libexception_handler.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libexception_handler.dylib
)
add_custom_command(TARGET llimage_libtest POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libexpat.0.5.0.dylib ${LLIMAGE_LIBTEST_DESTINATION_DIR}
DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libexpat.0.5.0.dylib
)
endif (DARWIN)
if (WINDOWS)
# Check indra/test_apps/llplugintest/CMakeLists.txt for an example of what to copy over for Windows and how
endif (WINDOWS)
# Ensure people working on the viewer don't break this library
# *NOTE: This could be removed, or only built by TeamCity, if the build
# and link times become too long.
add_dependencies(viewer llimage_libtest)
ll_deploy_sharedlibs_command(llimage_libtest)

View File

@ -0,0 +1,437 @@
/**
* @file llimage_libtest.cpp
* @author Merov Linden
* @brief Integration test for the llimage library
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2011, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llpointer.h"
#include "lltimer.h"
#include "llimage_libtest.h"
// Linden library includes
#include "llimage.h"
#include "llimagejpeg.h"
#include "llimagepng.h"
#include "llimagebmp.h"
#include "llimagetga.h"
#include "llimagej2c.h"
#include "lldir.h"
// system libraries
#include <iostream>
// doc string provided when invoking the program with --help
static const char USAGE[] = "\n"
"usage:\tllimage_libtest [options]\n"
"\n"
" -h, --help\n"
" Print this help\n"
" -i, --input <file1 .. file2>\n"
" List of image files to load and convert. Patterns with wild cards can be used.\n"
" -o, --output <file1 .. file2> OR <type>\n"
" List of image files to create (assumes same order as for input files)\n"
" OR 3 letters file type extension to convert each input file into.\n"
" -log, --logmetrics <metric>\n"
" Log performance data for <metric>. Results in <metric>.slp\n"
" Note: so far, only ImageCompressionTester has been tested.\n"
" -r, --analyzeperformance\n"
" Create a report comparing <metric>_baseline.slp with current <metric>.slp\n"
" Results in <metric>_report.csv"
" -s, --image-stats\n"
" Output stats for each input and output image.\n"
"\n";
// true when all image loading is done. Used by metric logging thread to know when to stop the thread.
static bool sAllDone = false;
// Create an empty formatted image instance of the correct type from the filename
LLPointer<LLImageFormatted> create_image(const std::string &filename)
{
std::string exten = gDirUtilp->getExtension(filename);
U32 codec = LLImageBase::getCodecFromExtension(exten);
LLPointer<LLImageFormatted> image;
switch (codec)
{
case IMG_CODEC_BMP:
image = new LLImageBMP();
break;
case IMG_CODEC_TGA:
image = new LLImageTGA();
break;
case IMG_CODEC_JPEG:
image = new LLImageJPEG();
break;
case IMG_CODEC_J2C:
image = new LLImageJ2C();
break;
case IMG_CODEC_PNG:
image = new LLImagePNG();
break;
default:
return NULL;
}
return image;
}
void output_image_stats(LLPointer<LLImageFormatted> image, const std::string &filename)
{
// Print out some statistical data on the image
std::cout << "Image stats for : " << filename << ", extension : " << image->getExtension() << std::endl;
std::cout << " with : " << (int)(image->getWidth()) << ", height : " << (int)(image->getHeight()) << std::endl;
std::cout << " comp : " << (int)(image->getComponents()) << ", levels : " << (int)(image->getDiscardLevel()) << std::endl;
std::cout << " head : " << (int)(image->calcHeaderSize()) << ", data : " << (int)(image->getDataSize()) << std::endl;
return;
}
// Load an image from file and return a raw (decompressed) instance of its data
LLPointer<LLImageRaw> load_image(const std::string &src_filename, bool output_stats)
{
LLPointer<LLImageFormatted> image = create_image(src_filename);
if (!image->load(src_filename))
{
return NULL;
}
if( (image->getComponents() != 3) && (image->getComponents() != 4) )
{
std::cout << "Image files with less than 3 or more than 4 components are not supported\n";
return NULL;
}
if (output_stats)
{
output_image_stats(image, src_filename);
}
LLPointer<LLImageRaw> raw_image = new LLImageRaw;
if (!image->decode(raw_image, 0.0f))
{
return NULL;
}
return raw_image;
}
// Save a raw image instance into a file
bool save_image(const std::string &dest_filename, LLPointer<LLImageRaw> raw_image, bool output_stats)
{
LLPointer<LLImageFormatted> image = create_image(dest_filename);
if (!image->encode(raw_image, 0.0f))
{
return false;
}
if (output_stats)
{
output_image_stats(image, dest_filename);
}
return image->save(dest_filename);
}
void store_input_file(std::list<std::string> &input_filenames, const std::string &path)
{
// Break the incoming path in its components
std::string dir = gDirUtilp->getDirName(path);
std::string name = gDirUtilp->getBaseFileName(path);
std::string exten = gDirUtilp->getExtension(path);
// std::cout << "store_input_file : " << path << ", dir : " << dir << ", name : " << name << ", exten : " << exten << std::endl;
// If extension is not an image type or "*", exit
// Note: we don't support complex patterns for the extension like "j??"
// Note: on most shells, the pattern expansion is done by the shell so that pattern matching limitation is actually not a problem
if ((exten.compare("*") != 0) && (LLImageBase::getCodecFromExtension(exten) == IMG_CODEC_INVALID))
{
return;
}
if ((name.find('*') != -1) || ((name.find('?') != -1)))
{
// If file name is a pattern, iterate to get each file name and store
std::string next_name;
while (gDirUtilp->getNextFileInDir(dir,name,next_name))
{
std::string file_name = dir + gDirUtilp->getDirDelimiter() + next_name;
input_filenames.push_back(file_name);
}
}
else
{
// Verify that the file does exist before storing
if (gDirUtilp->fileExists(path))
{
input_filenames.push_back(path);
}
else
{
std::cout << "store_input_file : the file " << path << " could not be found" << std::endl;
}
}
}
void store_output_file(std::list<std::string> &output_filenames, std::list<std::string> &input_filenames, const std::string &path)
{
// Break the incoming path in its components
std::string dir = gDirUtilp->getDirName(path);
std::string name = gDirUtilp->getBaseFileName(path);
std::string exten = gDirUtilp->getExtension(path);
// std::cout << "store_output_file : " << path << ", dir : " << dir << ", name : " << name << ", exten : " << exten << std::endl;
if (dir.empty() && exten.empty())
{
// If dir and exten are empty, we interpret the name as a file extension type name and will iterate through input list to populate the output list
exten = name;
// Make sure the extension is an image type
if (LLImageBase::getCodecFromExtension(exten) == IMG_CODEC_INVALID)
{
return;
}
std::string delim = gDirUtilp->getDirDelimiter();
std::list<std::string>::iterator in_file = input_filenames.begin();
std::list<std::string>::iterator end = input_filenames.end();
for (; in_file != end; ++in_file)
{
dir = gDirUtilp->getDirName(*in_file);
name = gDirUtilp->getBaseFileName(*in_file,true);
std::string file_name;
if (!dir.empty())
{
file_name = dir + delim + name + "." + exten;
}
else
{
file_name = name + "." + exten;
}
output_filenames.push_back(file_name);
}
}
else
{
// Make sure the extension is an image type
if (LLImageBase::getCodecFromExtension(exten) == IMG_CODEC_INVALID)
{
return;
}
// Store the path
output_filenames.push_back(path);
}
}
// Holds the metric gathering output in a thread safe way
class LogThread : public LLThread
{
public:
std::string mFile;
LogThread(std::string& test_name) : LLThread("llimage_libtest log")
{
std::string file_name = test_name + std::string(".slp");
mFile = file_name;
}
void run()
{
std::ofstream os(mFile.c_str());
while (!sAllDone)
{
LLFastTimer::writeLog(os);
os.flush();
ms_sleep(32);
}
LLFastTimer::writeLog(os);
os.flush();
os.close();
}
};
int main(int argc, char** argv)
{
// List of input and output files
std::list<std::string> input_filenames;
std::list<std::string> output_filenames;
bool analyze_performance = false;
bool image_stats = false;
// Init whatever is necessary
ll_init_apr();
LLImage::initClass();
LogThread* fast_timer_log_thread = NULL; // For performance and metric gathering
// Analyze command line arguments
for (int arg = 1; arg < argc; ++arg)
{
if (!strcmp(argv[arg], "--help") || !strcmp(argv[arg], "-h"))
{
// Send the usage to standard out
std::cout << USAGE << std::endl;
return 0;
}
else if ((!strcmp(argv[arg], "--input") || !strcmp(argv[arg], "-i")) && arg < argc-1)
{
std::string file_name = argv[arg+1];
while (file_name[0] != '-') // if arg starts with '-', we consider it's not a file name but some other argument
{
// std::cout << "input file name : " << file_name << std::endl;
store_input_file(input_filenames, file_name);
arg += 1; // Skip that arg now we know it's a file name
if ((arg + 1) == argc) // Break out of the loop if we reach the end of the arg list
break;
file_name = argv[arg+1]; // Next argument and loop over
}
}
else if ((!strcmp(argv[arg], "--output") || !strcmp(argv[arg], "-o")) && arg < argc-1)
{
std::string file_name = argv[arg+1];
while (file_name[0] != '-') // if arg starts with '-', we consider it's not a file name but some other argument
{
// std::cout << "output file name : " << file_name << std::endl;
store_output_file(output_filenames, input_filenames, file_name);
arg += 1; // Skip that arg now we know it's a file name
if ((arg + 1) == argc) // Break out of the loop if we reach the end of the arg list
break;
file_name = argv[arg+1]; // Next argument and loop over
}
}
else if (!strcmp(argv[arg], "--logmetrics") || !strcmp(argv[arg], "-log"))
{
// '--logmetrics' needs to be specified with a named test metric argument
// Note: for the moment, only ImageCompressionTester has been tested
std::string test_name;
if ((arg + 1) < argc)
{
test_name = argv[arg+1];
}
if (((arg + 1) >= argc) || (test_name[0] == '-'))
{
// We don't have an argument left in the arg list or the next argument is another option
std::cout << "No --logmetrics argument given, no perf data will be gathered" << std::endl;
}
else
{
LLFastTimer::sMetricLog = TRUE;
LLFastTimer::sLogName = test_name;
arg += 1; // Skip that arg now we know it's a valid test name
if ((arg + 1) == argc) // Break out of the loop if we reach the end of the arg list
break;
}
}
else if (!strcmp(argv[arg], "--analyzeperformance") || !strcmp(argv[arg], "-r"))
{
analyze_performance = true;
}
else if (!strcmp(argv[arg], "--image-stats") || !strcmp(argv[arg], "-s"))
{
image_stats = true;
}
}
// Check arguments consistency. Exit with proper message if inconsistent.
if (input_filenames.size() == 0)
{
std::cout << "No input file, nothing to do -> exit" << std::endl;
return 0;
}
if (analyze_performance && !LLFastTimer::sMetricLog)
{
std::cout << "Cannot create perf report if no perf gathered (i.e. use argument -log <perf> with -r) -> exit" << std::endl;
return 0;
}
// Create the logging thread if required
if (LLFastTimer::sMetricLog)
{
LLFastTimer::sLogLock = new LLMutex(NULL);
fast_timer_log_thread = new LogThread(LLFastTimer::sLogName);
fast_timer_log_thread->start();
}
// Perform action on each input file
std::list<std::string>::iterator in_file = input_filenames.begin();
std::list<std::string>::iterator out_file = output_filenames.begin();
std::list<std::string>::iterator in_end = input_filenames.end();
std::list<std::string>::iterator out_end = output_filenames.end();
for (; in_file != in_end; ++in_file)
{
// Load file
LLPointer<LLImageRaw> raw_image = load_image(*in_file, image_stats);
if (!raw_image)
{
std::cout << "Error: Image " << *in_file << " could not be loaded" << std::endl;
continue;
}
// Save file
if (out_file != out_end)
{
if (!save_image(*out_file, raw_image, image_stats))
{
std::cout << "Error: Image " << *out_file << " could not be saved" << std::endl;
}
else
{
std::cout << *in_file << " -> " << *out_file << std::endl;
}
++out_file;
}
}
// Stop the perf gathering system if needed
if (LLFastTimer::sMetricLog)
{
LLMetricPerformanceTesterBasic::deleteTester(LLFastTimer::sLogName);
sAllDone = true;
}
// Output perf data if requested by user
if (analyze_performance)
{
std::cout << "Analyzing performance" << std::endl;
std::string baseline_name = LLFastTimer::sLogName + "_baseline.slp";
std::string current_name = LLFastTimer::sLogName + ".slp";
std::string report_name = LLFastTimer::sLogName + "_report.csv";
LLMetricPerformanceTesterBasic::doAnalysisMetrics(baseline_name, current_name, report_name);
}
// Cleanup and exit
LLImage::cleanupClass();
if (fast_timer_log_thread)
{
fast_timer_log_thread->shutdown();
}
return 0;
}

View File

@ -0,0 +1,29 @@
/**
* @file llimage_libtest.h
*
* $LicenseInfo:firstyear=2011&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2011, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LLIMAGE_LIBTEST_H
#define LLIMAGE_LIBTEST_H
#endif

View File

@ -63,7 +63,18 @@ BOOL LLMetricPerformanceTesterBasic::addTester(LLMetricPerformanceTesterBasic* t
sTesterMap.insert(std::make_pair(name, tester));
return TRUE;
}
/*static*/
void LLMetricPerformanceTesterBasic::deleteTester(std::string name)
{
name_tester_map_t::iterator tester = sTesterMap.find(name);
if (tester != sTesterMap.end())
{
delete tester->second;
sTesterMap.erase(tester);
}
}
/*static*/
LLMetricPerformanceTesterBasic* LLMetricPerformanceTesterBasic::getTester(std::string name)
{
@ -83,7 +94,78 @@ BOOL LLMetricPerformanceTesterBasic::isMetricLogRequested(std::string name)
return (LLFastTimer::sMetricLog && ((LLFastTimer::sLogName == name) || (LLFastTimer::sLogName == DEFAULT_METRIC_NAME)));
}
/*static*/
LLSD LLMetricPerformanceTesterBasic::analyzeMetricPerformanceLog(std::istream& is)
{
LLSD ret;
LLSD cur;
while (!is.eof() && LLSDSerialize::fromXML(cur, is))
{
for (LLSD::map_iterator iter = cur.beginMap(); iter != cur.endMap(); ++iter)
{
std::string label = iter->first;
LLMetricPerformanceTesterBasic* tester = LLMetricPerformanceTesterBasic::getTester(iter->second["Name"].asString()) ;
if(tester)
{
ret[label]["Name"] = iter->second["Name"] ;
S32 num_of_metrics = tester->getNumberOfMetrics() ;
for(S32 index = 0 ; index < num_of_metrics ; index++)
{
ret[label][ tester->getMetricName(index) ] = iter->second[ tester->getMetricName(index) ] ;
}
}
}
}
return ret;
}
/*static*/
void LLMetricPerformanceTesterBasic::doAnalysisMetrics(std::string baseline, std::string target, std::string output)
{
if(!LLMetricPerformanceTesterBasic::hasMetricPerformanceTesters())
{
return ;
}
// Open baseline and current target, exit if one is inexistent
std::ifstream base_is(baseline.c_str());
std::ifstream target_is(target.c_str());
if (!base_is.is_open() || !target_is.is_open())
{
llwarns << "'-analyzeperformance' error : baseline or current target file inexistent" << llendl;
base_is.close();
target_is.close();
return;
}
//analyze baseline
LLSD base = analyzeMetricPerformanceLog(base_is);
base_is.close();
//analyze current
LLSD current = analyzeMetricPerformanceLog(target_is);
target_is.close();
//output comparision
std::ofstream os(output.c_str());
os << "Label, Metric, Base(B), Target(T), Diff(T-B), Percentage(100*T/B)\n";
for(LLMetricPerformanceTesterBasic::name_tester_map_t::iterator iter = LLMetricPerformanceTesterBasic::sTesterMap.begin() ;
iter != LLMetricPerformanceTesterBasic::sTesterMap.end() ; ++iter)
{
LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)iter->second) ;
tester->analyzePerformance(&os, &base, &current) ;
}
os.flush();
os.close();
}
//----------------------------------------------------------------------------------------------
// LLMetricPerformanceTesterBasic : Tester instance methods
//----------------------------------------------------------------------------------------------

View File

@ -62,6 +62,8 @@ public:
*/
virtual void analyzePerformance(std::ofstream* os, LLSD* base, LLSD* current) ;
static void doAnalysisMetrics(std::string baseline, std::string target, std::string output) ;
/**
* @return Returns the number of the test metrics in this tester instance.
*/
@ -116,6 +118,7 @@ protected:
private:
void preOutputTestResults(LLSD* sd) ;
void postOutputTestResults(LLSD* sd) ;
static LLSD analyzeMetricPerformanceLog(std::istream& is) ;
std::string mName ; // Name of this tester instance
S32 mCount ; // Current record count
@ -134,6 +137,12 @@ public:
*/
static LLMetricPerformanceTesterBasic* getTester(std::string name) ;
/**
* @return Delete the named tester from the list
* @param[in] name - Name of the tester instance to delete.
*/
static void deleteTester(std::string name);
/**
* @return Returns TRUE if that metric *or* the default catch all metric has been requested to be logged
* @param[in] name - Name of the tester queried.

View File

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

View File

@ -266,13 +266,13 @@ public:
// subclasses must return a prefered file extension (lowercase without a leading dot)
virtual std::string getExtension() = 0;
// calcHeaderSize() returns the maximum size of header;
// 0 indicates we don't know have a header and have to lead the entire file
// 0 indicates we don't have a header and have to read the entire file
virtual S32 calcHeaderSize() { return 0; };
// calcDataSize() returns how many bytes to read to load discard_level (including header)
virtual S32 calcDataSize(S32 discard_level);
// calcDiscardLevelBytes() returns the smallest valid discard level based on the number of input bytes
virtual S32 calcDiscardLevelBytes(S32 bytes);
// getRawDiscardLevel()by default returns mDiscardLevel, but may be overridden (LLImageJ2C)
// getRawDiscardLevel() by default returns mDiscardLevel, but may be overridden (LLImageJ2C)
virtual S8 getRawDiscardLevel() { return mDiscardLevel; }
BOOL load(const std::string& filename);

View File

@ -474,6 +474,7 @@ LLImageCompressionTester::LLImageCompressionTester() : LLMetricPerformanceTester
LLImageCompressionTester::~LLImageCompressionTester()
{
outputTestResults();
LLImageJ2C::sTesterp = NULL;
}

View File

@ -1149,36 +1149,6 @@ void LLFastTimerView::doAnalysisDefault(std::string baseline, std::string target
os.close();
}
//-------------------------
//static
LLSD LLFastTimerView::analyzeMetricPerformanceLog(std::istream& is)
{
LLSD ret;
LLSD cur;
while (!is.eof() && LLSDSerialize::fromXML(cur, is))
{
for (LLSD::map_iterator iter = cur.beginMap(); iter != cur.endMap(); ++iter)
{
std::string label = iter->first;
LLMetricPerformanceTesterBasic* tester = LLMetricPerformanceTesterBasic::getTester(iter->second["Name"].asString()) ;
if(tester)
{
ret[label]["Name"] = iter->second["Name"] ;
S32 num_of_metrics = tester->getNumberOfMetrics() ;
for(S32 index = 0 ; index < num_of_metrics ; index++)
{
ret[label][ tester->getMetricName(index) ] = iter->second[ tester->getMetricName(index) ] ;
}
}
}
}
return ret;
}
//static
void LLFastTimerView::outputAllMetrics()
{
@ -1193,48 +1163,6 @@ void LLFastTimerView::outputAllMetrics()
}
}
//static
void LLFastTimerView::doAnalysisMetrics(std::string baseline, std::string target, std::string output)
{
if(!LLMetricPerformanceTesterBasic::hasMetricPerformanceTesters())
{
return ;
}
// Open baseline and current target, exit if one is inexistent
std::ifstream base_is(baseline.c_str());
std::ifstream target_is(target.c_str());
if (!base_is.is_open() || !target_is.is_open())
{
llwarns << "'-analyzeperformance' error : baseline or current target file inexistent" << llendl;
base_is.close();
target_is.close();
return;
}
//analyze baseline
LLSD base = analyzeMetricPerformanceLog(base_is);
base_is.close();
//analyze current
LLSD current = analyzeMetricPerformanceLog(target_is);
target_is.close();
//output comparision
std::ofstream os(output.c_str());
os << "Label, Metric, Base(B), Target(T), Diff(T-B), Percentage(100*T/B)\n";
for(LLMetricPerformanceTesterBasic::name_tester_map_t::iterator iter = LLMetricPerformanceTesterBasic::sTesterMap.begin() ;
iter != LLMetricPerformanceTesterBasic::sTesterMap.end() ; ++iter)
{
LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)iter->second) ;
tester->analyzePerformance(&os, &base, &current) ;
}
os.flush();
os.close();
}
//static
void LLFastTimerView::doAnalysis(std::string baseline, std::string target, std::string output)
{
@ -1246,7 +1174,7 @@ void LLFastTimerView::doAnalysis(std::string baseline, std::string target, std::
if(LLFastTimer::sMetricLog)
{
doAnalysisMetrics(baseline, target, output) ;
LLMetricPerformanceTesterBasic::doAnalysisMetrics(baseline, target, output) ;
return ;
}
}

View File

@ -42,8 +42,6 @@ public:
private:
static void doAnalysisDefault(std::string baseline, std::string target, std::string output) ;
static void doAnalysisMetrics(std::string baseline, std::string target, std::string output) ;
static LLSD analyzeMetricPerformanceLog(std::istream& is) ;
static LLSD analyzePerformanceLogDefault(std::istream& is) ;
public:

View File

@ -348,6 +348,7 @@ Nur große Parzellen können in der Suche aufgeführt werden.
<combo_box.item label="Parks und Natur" name="item9"/>
<combo_box.item label="Wohngebiet" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Vermietung" name="item13"/>
<combo_box.item label="Sonstige" name="item12"/>
</combo_box>
<combo_box name="land category">
@ -362,6 +363,7 @@ Nur große Parzellen können in der Suche aufgeführt werden.
<combo_box.item label="Parks und Natur" name="item9"/>
<combo_box.item label="Wohngebiet" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Vermietung" name="item13"/>
<combo_box.item label="Sonstige" name="item12"/>
</combo_box>
<check_box label="Moderater Inhalt" name="MatureCheck" tool_tip=""/>
@ -437,7 +439,7 @@ Nur große Parzellen können in der Suche aufgeführt werden.
(Durch Grundbesitz festgelegt)
</panel.string>
<panel.string name="allow_public_access">
Öffentlichen Zugang erlauben ([MATURITY])
Öffentlichen Zugang erlauben ([MATURITY]) (Hinweis: Bei Deaktivierung dieser Option werden Bannlinien generiert)
</panel.string>
<panel.string name="estate_override">
Eine oder mehrere dieser Optionen gelten auf Grundbesitzebene

View File

@ -1,32 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Map" title="">
<floater.string name="mini_map_north">
N
</floater.string>
<floater.string name="mini_map_east">
O
</floater.string>
<floater.string name="mini_map_west">
W
</floater.string>
<floater.string name="mini_map_south">
S
</floater.string>
<floater.string name="mini_map_southeast">
SO
</floater.string>
<floater.string name="mini_map_northeast">
NO
</floater.string>
<floater.string name="mini_map_southwest">
SW
</floater.string>
<floater.string name="mini_map_northwest">
NW
</floater.string>
<floater.string name="ToolTipMsg">
[REGION](Doppelklicken, um Karte zu öffnen; Umschalt-Taste gedrückt halten und ziehen, um zu schwenken)
</floater.string>
<floater.string name="AltToolTipMsg">
[REGION](Doppelklicken, um zu teleportieren; Umschalttaste gedrückt halten und ziehen, um zu schwenken)
</floater.string>
<floater.string name="mini_map_caption">
MINI-KARTE
</floater.string>

View File

@ -64,6 +64,8 @@
<radio_item label="Fläche auswählen" name="radio select face"/>
</radio_group>
<check_box label="Verknüpfte Teile bearbeiten" name="checkbox edit linked parts"/>
<button label="Link" name="link_btn"/>
<button label="Verknüpfung auflösen" name="unlink_btn"/>
<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt">
þ: [COUNT]
</text>

View File

@ -5,7 +5,7 @@
<menu_item_call label="Abnehmen" name="Detach"/>
<menu_item_call label="Hinsetzen" name="Sit Down Here"/>
<menu_item_call label="Aufstehen" name="Stand Up"/>
<menu_item_call label="Outfit ändern" name="Change Outfit"/>
<menu_item_call label="Mein Aussehen" name="Change Outfit"/>
<menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/>
<menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/>
<menu_item_call label="Meine Freunde" name="Friends..."/>

View File

@ -21,7 +21,7 @@
<context_menu label="Abnehmen" name="Object Detach"/>
<menu_item_call label="Alles abnehmen" name="Detach All"/>
</context_menu>
<menu_item_call label="Outfit ändern" name="Chenge Outfit"/>
<menu_item_call label="Mein Aussehen" name="Chenge Outfit"/>
<menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/>
<menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/>
<menu_item_call label="Meine Freunde" name="Friends..."/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="hide_camera_move_controls_menu">
<menu_item_check label="Voice aktiviert" name="EnableVoiceChat"/>
<menu_item_check label="Schaltfläche Gesten" name="ShowGestureButton"/>
<menu_item_check label="Schaltfläche Bewegungssteuerung" name="ShowMoveButton"/>
<menu_item_check label="Schaltfläche Ansicht" name="ShowCameraButton"/>
<menu_item_check label="Schaltfläche Foto" name="ShowSnapshotButton"/>
<menu_item_check label="Schaltfläche „Seitenleiste“" name="ShowSidebarButton"/>
<menu_item_check label="Schaltfläche „Bauen“" name="ShowBuildButton"/>
<menu_item_check label="Schaltfläche „Suchen“" name="ShowSearchButton"/>
<menu_item_check label="Schaltfläche „Karte“" name="ShowWorldMapButton"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<toggleable_menu name="Gear Menu">
<menu_item_call label="Profil anzeigen" name="view_profile"/>
<menu_item_call label="Freund hinzufügen" name="add_friend"/>
<menu_item_call label="IM" name="im"/>
@ -11,9 +11,11 @@
<menu_item_call label="Melden" name="report"/>
<menu_item_call label="Einfrieren" name="freeze"/>
<menu_item_call label="Hinauswerfen" name="eject"/>
<menu_item_call label="Hinauswerfen" name="kick"/>
<menu_item_call label="CSR" name="csr"/>
<menu_item_call label="Fehler in Texturen beseitigen" name="debug"/>
<menu_item_call label="Auf Karte anzeigen" name="find_on_map"/>
<menu_item_call label="Hineinzoomen" name="zoom_in"/>
<menu_item_call label="Bezahlen" name="pay"/>
<menu_item_call label="Teilen" name="share"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<menu_item_call label="Hinsetzen" name="sit_down_here"/>
<menu_item_call label="Aufstehen" name="stand_up"/>
<menu_item_call label="Outfit ändern" name="change_outfit"/>
<menu_item_call label="Mein Profil" name="my_profile"/>
<menu_item_call label="Meine Freunde" name="my_friends"/>
<menu_item_call label="Meine Gruppen" name="my_groups"/>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<menu_item_call label="Hinsetzen" name="Sit Down Here"/>
<menu_item_call label="Aufstehen" name="Stand Up"/>
<context_menu label="Ausziehen" name="Take Off &gt;">
<context_menu label="Kleidung" name="Clothes &gt;">
<menu_item_call label="Hemd" name="Shirt"/>
<menu_item_call label="Hose" name="Pants"/>
<menu_item_call label="Rock" name="Skirt"/>
<menu_item_call label="Schuhe" name="Shoes"/>
<menu_item_call label="Strümpfe" name="Socks"/>
<menu_item_call label="Jacke" name="Jacket"/>
<menu_item_call label="Handschuhe" name="Gloves"/>
<menu_item_call label="Unterhemd" name="Self Undershirt"/>
<menu_item_call label="Unterhose" name="Self Underpants"/>
<menu_item_call label="Tätowierung" name="Self Tattoo"/>
<menu_item_call label="Alpha" name="Self Alpha"/>
<menu_item_call label="Alle Kleider" name="All Clothes"/>
</context_menu>
<context_menu label="HUD" name="Object Detach HUD"/>
<context_menu label="Abnehmen" name="Object Detach"/>
<menu_item_call label="Alles abnehmen" name="Detach All"/>
</context_menu>
<menu_item_call label="Outfit ändern" name="Chenge Outfit"/>
<menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/>
<menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/>
<menu_item_call label="Meine Freunde" name="Friends..."/>
<menu_item_call label="Meine Gruppen" name="Groups..."/>
<menu_item_call label="Mein Profil" name="Profile..."/>
<menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/>
</menu>
</toggleable_menu>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Neues Inventar-Fenster" name="new_window"/>
<menu_item_check label="Nach Name sortieren" name="sort_by_name"/>
<menu_item_check label="Nach aktuellesten Objekten sortieren" name="sort_by_recent"/>
<menu_item_check label="Ordner immer nach Namen sortieren" name="sort_folders_by_name"/>
<menu_item_check label="Systemordner nach oben" name="sort_system_folders_to_top"/>
<menu_item_call label="Filter anzeigen" name="show_filters"/>
<menu_item_call label="Filter zurücksetzen" name="reset_filters"/>

View File

@ -16,14 +16,14 @@
<context_menu label="Anhängen" name="Object Attach"/>
<context_menu label="HUD anhängen" name="Object Attach HUD"/>
</context_menu>
<context_menu label="Entfernen" name="Remove">
<context_menu label="Verwalten" name="Remove">
<menu_item_call label="Missbrauch melden" name="Report Abuse..."/>
<menu_item_call label="Ignorieren" name="Object Mute"/>
<menu_item_call label="Zurückgeben" name="Return..."/>
<menu_item_call label="Löschen" name="Delete"/>
</context_menu>
<menu_item_call label="Nehmen" name="Pie Object Take"/>
<menu_item_call label="Kopie nehmen" name="Take Copy"/>
<menu_item_call label="Bezahlen" name="Pay..."/>
<menu_item_call label="Kaufen" name="Buy..."/>
<menu_item_call label="Löschen" name="Delete"/>
</context_menu>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_folder_gear">
<toggleable_menu name="menu_folder_gear">
<menu_item_call label="Landmarke hinzufügen" name="add_landmark"/>
<menu_item_call label="Ordner hinzufügen" name="add_folder"/>
<menu_item_call label="Objekt wiederherstellen" name="restore_item"/>
<menu_item_call label="Ausschneiden" name="cut"/>
<menu_item_call label="Kopieren" name="copy_folder"/>
<menu_item_call label="Einfügen" name="paste"/>
@ -12,4 +13,4 @@
<menu_item_call label="Alle Ordner aufklappen" name="expand_all"/>
<menu_item_call label="Alle Ordner schließen" name="collapse_all"/>
<menu_item_check label="Nach Datum sortieren" name="sort_by_date"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_ladmark_gear">
<toggleable_menu name="menu_ladmark_gear">
<menu_item_call label="Teleportieren" name="teleport"/>
<menu_item_call label="Weitere Informationen" name="more_info"/>
<menu_item_call label="Auf Karte zeigen" name="show_on_map"/>
<menu_item_call label="Landmarke hinzufügen" name="add_landmark"/>
<menu_item_call label="Ordner hinzufügen" name="add_folder"/>
<menu_item_call label="Objekt wiederherstellen" name="restore_item"/>
<menu_item_call label="Ausschneiden" name="cut"/>
<menu_item_call label="Landmarke kopieren" name="copy_landmark"/>
<menu_item_call label="SLurl kopieren" name="copy_slurl"/>
@ -15,4 +16,4 @@
<menu_item_call label="Alle Ordner schließen" name="collapse_all"/>
<menu_item_check label="Nach Datum sortieren" name="sort_by_date"/>
<menu_item_call label="Auswahl erstellen" name="create_pick"/>
</menu>
</toggleable_menu>

View File

@ -7,7 +7,7 @@
</menu_item_call>
<menu_item_call label="L$ kaufen" name="Buy and Sell L$"/>
<menu_item_call label="Mein Profil" name="Profile"/>
<menu_item_call label="Outfit ändern" name="ChangeOutfit"/>
<menu_item_call label="Mein Aussehen" name="ChangeOutfit"/>
<menu_item_check label="Mein Inventar" name="Inventory"/>
<menu_item_check label="Mein Inventar" name="ShowSidetrayInventory"/>
<menu_item_check label="Meine Gesten" name="Gestures"/>
@ -35,6 +35,7 @@
<menu label="Welt" name="World">
<menu_item_check label="Minikarte" name="Mini-Map"/>
<menu_item_check label="Karte" name="World Map"/>
<menu_item_check label="Suchen" name="Search"/>
<menu_item_call label="Foto" name="Take Snapshot"/>
<menu_item_call label="Landmarke für diesen Ort setzen" name="Create Landmark Here"/>
<menu label="Ortsprofil" name="Land">
@ -228,8 +229,10 @@
<menu label="Info anzeigen" name="Display Info">
<menu_item_check label="Zeit anzeigen" name="Show Time"/>
<menu_item_check label="Render-Info anzeigen" name="Show Render Info"/>
<menu_item_check label="Texturinfos anzeigen" name="Show Texture Info"/>
<menu_item_check label="Matrizen anzeigen" name="Show Matrices"/>
<menu_item_check label="Farbe unter Cursor anzeigen" name="Show Color Under Cursor"/>
<menu_item_check label="Speicher anzeigen" name="Show Memory"/>
<menu_item_check label="Akutalisierungen an Objekten anzeigen" name="Show Updates"/>
</menu>
<menu label="Fehler erzwingen" name="Force Errors">
@ -254,6 +257,7 @@
<menu_item_check label="Shadow Frusta" name="Shadow Frusta"/>
<menu_item_check label="Okklusion" name="Occlusion"/>
<menu_item_check label="Bündel rendern" name="Render Batches"/>
<menu_item_check label="Typ aktualisieren" name="Update Type"/>
<menu_item_check label="Texture-Anim" name="Texture Anim"/>
<menu_item_check label="Textur-Priorität" name="Texture Priority"/>
<menu_item_check label="Texturbereich" name="Texture Area"/>

View File

@ -72,9 +72,9 @@ Fehlerdetails: The notification called &apos;[_NAME]&apos; was not found in noti
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="LoginFailedNoNetwork">
Eine Verbindung zum [SECOND_LIFE_GRID] konnte nicht hergestellt werden.
&apos;[DIAGNOSTIC]&apos;
Bitte vergewissern Sie sich, dass Ihre Internetverbindung funktioniert.
Verbindung nicht möglich zum [SECOND_LIFE_GRID].
&apos;[DIAGNOSTIC]&apos;
Stellen Sie sicher, dass Ihre Internetverbindung funktioniert.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="MessageTemplateNotFound">
@ -340,13 +340,6 @@ Sie benötigen ein Konto, um [SECOND_LIFE] betreten zu können. Möchten Sie jet
<notification name="InvalidCredentialFormat">
Sie müssen entweder den Benutzernamen oder den Vor- und Nachnamen Ihres Avatars in das Feld „Benutzername“ eingeben und die Anmeldung dann erneut versuchen.
</notification>
<notification name="AddClassified">
Anzeigen werden im Suchverzeichnis im Abschnitt „Anzeigen&quot; und auf [http://secondlife.com/community/classifieds secondlife.com] für eine Woche angezeigt.
Füllen Sie Ihre Anzeige aus und klicken Sie auf &apos;Veröffentlichen...&apos;, um sie zum Verzeichnis hinzuzufügen.
Sie werden gebeten für die Anzeige zu bezahlen, wenn Sie auf &apos;Veröffentlichen&apos; klicken.
Wenn Sie mehr bezahlen, erscheint Ihre Anzeige weiter oben in der Liste, ebenso wenn ein Benutzer nach Ihren Suchbegriffen sucht.
<usetemplate ignoretext="So wird eine neue Anzeige erstellt" name="okcancelignore" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="DeleteClassified">
Anzeige „[NAME]“ löschen?
Gebühren werden nicht rückerstattet.
@ -2768,11 +2761,11 @@ Die Schaltfläche wird angezeigt, wenn genügend Platz vorhanden ist.
Wählen Sie Einwohner aus, für die Sie das Objekt freigeben möchten.
</notification>
<notification name="ShareItemsConfirmation">
Möchten Sie diese Objekte wirklich für andere freigeben:
Möchten Sie wirklich die folgenden Objekte:
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
Für folgende Einwohner:
für folgende Einwohner freigeben:
[RESIDENTS]
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
@ -2863,9 +2856,6 @@ Alle stummschalten?
<notification label="Welt erkunden" name="HintDestinationGuide">
Im Reiseführer finden Sie Tausende von interessanten Orten. Wählen Sie einfach einen Ort aus und klicken Sie auf „Teleportieren“.
</notification>
<notification label="Aussehen ändern" name="HintAvatarPicker">
Möchten Sie einen neuen Look ausprobieren? Klicken Sie auf die Schaltfläche unten, um mehr Avatare zu sehen.
</notification>
<notification label="Seitenleiste" name="HintSidePanel">
In der Seitenleiste können Sie schnell auf Ihr Inventar, Ihre Outfits, Ihre Profile u. ä. zugreifen.
</notification>
@ -2903,6 +2893,38 @@ Alle stummschalten?
<button name="cancel" text="Abbrechen"/>
</form>
</notification>
<notification label="" name="ModeChange">
Zum Wechsel des Modus müssen Sie das Programm beenden und neu starten.
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoClassifieds">
Die Erstellung und Bearbeitung von Anzeigen ist nur im Modus „Erweitert“ möglich. Möchten Sie das Programm beenden und den Modus wechseln? Die Modusauswahl ist auf dem Anmeldebildschirm zu finden.
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoGroupInfo">
Die Erstellung und Bearbeitung von Gruppen ist nur im Modus „Erweitert“ möglich. Möchten Sie das Programm beenden und den Modus wechseln? Die Modusauswahl ist auf dem Anmeldebildschirm zu finden.
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoPicks">
Die Erstellung und Bearbeitung von Auswahlen ist nur im Modus „Erweitert“ möglich. Möchten Sie das Programm beenden und den Modus wechseln? Die Modusauswahl ist auf dem Anmeldebildschirm zu finden.
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoWorldMap">
Die Anzeige der Weltkarte ist nur im Modus „Erweitert“ möglich. Möchten Sie das Programm beenden und den Modus wechseln? Die Modusauswahl ist auf dem Anmeldebildschirm zu finden.
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoVoiceCall">
Voice-Anrufe sind nur im Modus „Erweitert“ möglich. Möchten Sie sich abmelden und den Modus wechseln?
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoAvatarShare">
Die Freigabe ist nur im Modus „Erweitert“ möglich. Möchten Sie sich abmelden und den Modus wechseln?
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification label="" name="NoAvatarPay">
Die Bezahlung anderer Einwohner ist nur im Modus „Erweitert“ möglich. Möchten Sie sich abmelden und den Modus wechseln?
<usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<global name="UnsupportedCPU">
- Ihre CPU-Geschwindigkeit entspricht nicht den Mindestanforderungen.
</global>

View File

@ -17,6 +17,13 @@
</text>
<check_box label="Kennwort merken" name="remember_check"/>
<button label="Anmelden" name="connect_btn"/>
<text name="mode_selection_text">
Modus:
</text>
<combo_box name="mode_combo" tool_tip="Wählen Sie den gewünschten Modus aus. Basis: Second Life schnell und einfach erkunden und chatten. Erweitert: Zugriff auf zusätzliche Funktionen.">
<combo_box.item label="Basis" name="Basic"/>
<combo_box.item label="Erweitert" name="Advanced"/>
</combo_box>
<text name="start_location_text">
Hier anfangen:
</text>

View File

@ -19,7 +19,7 @@
<button label="Stoppen" name="all_nearby_media_disable_btn" tool_tip="Alle Medien in der Nähe ausschalten"/>
<button label="Starten" name="all_nearby_media_enable_btn" tool_tip="Alle Medien in der Nähe einschalten"/>
<button name="open_prefs_btn" tool_tip="Medien-Einstellungen öffnen"/>
<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="more_btn" tool_tip="Erweiterte Steuerung"/>
<button label="Mehr &gt;&gt;" label_selected="&lt;&lt; Weniger" name="more_btn" tool_tip="Erweiterte Steuerung"/>
<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="less_btn" tool_tip="Erweiterte Steuerung"/>
</panel>
<panel name="nearby_media_panel">

View File

@ -18,6 +18,8 @@ Sie suchen nach Leuten? Verwenden Sie die [secondlife:///app/worldmap Karte].
<string name="groups_filter_label" value="Nach Gruppen filtern"/>
<string name="no_filtered_groups_msg" value="Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/groups/[SEARCH_TERM] Suche]."/>
<string name="no_groups_msg" value="Suchen Sie nach Gruppen? Versuchen Sie es mit der [secondlife:///app/search/groups Suche]."/>
<string name="MiniMapToolTipMsg" value="[REGION](Doppelklicken, um Karte zu öffnen; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/>
<string name="AltMiniMapToolTipMsg" value="[REGION](Doppelklicken, um zu teleportieren; Umschalttaste gedrückt halten und ziehen, um zu schwenken)"/>
<filter_editor label="Filter" name="filter_input"/>
<tab_container name="tabs">
<panel label="IN DER NÄHE" name="nearby_panel">

View File

@ -16,6 +16,12 @@
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
<string name="name_text_args">
[NAME]
</string>
<string name="display_name_text_args">
[DISPLAY_NAME]
</string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<scroll_container name="profile_scroll">
@ -34,7 +40,7 @@
</text_editor>
<text name="title_partner_text" value="Partner:"/>
<panel name="partner_data_panel">
<name_box initial_value="(wird in Datenbank gesucht)" name="partner_text"/>
<text initial_value="(wird in Datenbank gesucht)" name="partner_text"/>
</panel>
<text name="title_groups_text" value="Gruppen:"/>
</panel>

View File

@ -15,6 +15,9 @@
<panel.string name="Title">
Skript: [NAME]
</panel.string>
<panel.string name="external_editor_not_set">
Wählen Sie über die Umgebungsvariable „LL_SCRIPT_EDITOR“ oder die Einstellung „ExternalEditor“ einen Editor aus.
</panel.string>
<menu_bar name="script_menu">
<menu label="Datei" name="File">
<menu_item_call label="Speichern" name="Save"/>

View File

@ -1067,7 +1067,7 @@
<string name="PermNo">
Nein
</string>
<string name="Chat" value=" Chat:"/>
<string name="Chat Message" value="Chat:"/>
<string name="Sound" value=" Sound:"/>
<string name="Wait" value=" --- Warten:"/>
<string name="AnimFlagStop" value=" Animation stoppen:"/>
@ -1864,12 +1864,6 @@ Gültige Formate: .wav, .tga, .bmp, .jpg, .jpeg oder .bvh
<string name="accel-win-shift">
Umschalt+
</string>
<string name="Esc">
Esc
</string>
<string name="Home">
Zuhause
</string>
<string name="FileSaved">
Datei wurde gespeichert
</string>
@ -1898,7 +1892,7 @@ Gültige Formate: .wav, .tga, .bmp, .jpg, .jpeg oder .bvh
Rechts
</string>
<string name="Direction_Back">
Hinten
Zurück
</string>
<string name="Direction_North">
Norden
@ -1987,6 +1981,9 @@ Gültige Formate: .wav, .tga, .bmp, .jpg, .jpeg oder .bvh
<string name="Other">
Sonstige
</string>
<string name="Rental">
Vermietung
</string>
<string name="Any">
Alle
</string>
@ -3966,7 +3963,7 @@ Missbrauchsbericht
<string name="Notices">
Mitteilungen
</string>
<string name="Chat">
<string name="Chat" value=" Chat:">
Chat
</string>
<string name="DeleteItems">
@ -3978,4 +3975,348 @@ Missbrauchsbericht
<string name="EmptyOutfitText">
Keine Objekte in diesem Outfit
</string>
<string name="ExternalEditorNotSet">
Wählen Sie über die Einstellung „ExternalEditor“ einen Editor aus
</string>
<string name="ExternalEditorNotFound">
Angegebener externer Editor nicht gefunden.
Setzen Sie den Editorpfad in Anführungszeichen
(z. B. &quot;/pfad/editor&quot; &quot;%s&quot;).
</string>
<string name="ExternalEditorCommandParseError">
Fehler beim Parsen des externen Editorbefehls.
</string>
<string name="ExternalEditorFailedToRun">
Externer Editor konnte nicht ausgeführt werden.
</string>
<string name="Esc">
Esc
</string>
<string name="Space">
Space
</string>
<string name="Enter">
Enter
</string>
<string name="Tab">
Tab
</string>
<string name="Ins">
Ins
</string>
<string name="Del">
Del
</string>
<string name="Backsp">
Backsp
</string>
<string name="Shift">
Shift
</string>
<string name="Ctrl">
Ctrl
</string>
<string name="Alt">
Alt
</string>
<string name="CapsLock">
CapsLock
</string>
<string name="Home">
Zuhause
</string>
<string name="End">
End
</string>
<string name="PgUp">
PgUp
</string>
<string name="PgDn">
PgDn
</string>
<string name="F1">
F1
</string>
<string name="F2">
F2
</string>
<string name="F3">
F3
</string>
<string name="F4">
F4
</string>
<string name="F5">
F5
</string>
<string name="F6">
F6
</string>
<string name="F7">
F7
</string>
<string name="F8">
F8
</string>
<string name="F9">
F9
</string>
<string name="F10">
F10
</string>
<string name="F11">
F11
</string>
<string name="F12">
F12
</string>
<string name="Add">
Addieren
</string>
<string name="Subtract">
Subtrahieren
</string>
<string name="Multiply">
Multiplizieren
</string>
<string name="Divide">
Dividieren
</string>
<string name="PAD_DIVIDE">
PAD_DIVIDE
</string>
<string name="PAD_LEFT">
PAD_LEFT
</string>
<string name="PAD_RIGHT">
PAD_RIGHT
</string>
<string name="PAD_DOWN">
PAD_DOWN
</string>
<string name="PAD_UP">
PAD_UP
</string>
<string name="PAD_HOME">
PAD_HOME
</string>
<string name="PAD_END">
PAD_END
</string>
<string name="PAD_PGUP">
PAD_PGUP
</string>
<string name="PAD_PGDN">
PAD_PGDN
</string>
<string name="PAD_CENTER">
PAD_CENTER
</string>
<string name="PAD_INS">
PAD_INS
</string>
<string name="PAD_DEL">
PAD_DEL
</string>
<string name="PAD_Enter">
PAD_Enter
</string>
<string name="PAD_BUTTON0">
PAD_BUTTON0
</string>
<string name="PAD_BUTTON1">
PAD_BUTTON1
</string>
<string name="PAD_BUTTON2">
PAD_BUTTON2
</string>
<string name="PAD_BUTTON3">
PAD_BUTTON3
</string>
<string name="PAD_BUTTON4">
PAD_BUTTON4
</string>
<string name="PAD_BUTTON5">
PAD_BUTTON5
</string>
<string name="PAD_BUTTON6">
PAD_BUTTON6
</string>
<string name="PAD_BUTTON7">
PAD_BUTTON7
</string>
<string name="PAD_BUTTON8">
PAD_BUTTON8
</string>
<string name="PAD_BUTTON9">
PAD_BUTTON9
</string>
<string name="PAD_BUTTON10">
PAD_BUTTON10
</string>
<string name="PAD_BUTTON11">
PAD_BUTTON11
</string>
<string name="PAD_BUTTON12">
PAD_BUTTON12
</string>
<string name="PAD_BUTTON13">
PAD_BUTTON13
</string>
<string name="PAD_BUTTON14">
PAD_BUTTON14
</string>
<string name="PAD_BUTTON15">
PAD_BUTTON15
</string>
<string name="-">
-
</string>
<string name="=">
=
</string>
<string name="`">
`
</string>
<string name=";">
;
</string>
<string name="[">
[
</string>
<string name="]">
]
</string>
<string name="\">
\
</string>
<string name="0">
0
</string>
<string name="1">
1
</string>
<string name="2">
2
</string>
<string name="3">
3
</string>
<string name="4">
4
</string>
<string name="5">
5
</string>
<string name="6">
6
</string>
<string name="7">
7
</string>
<string name="8">
8
</string>
<string name="9">
9
</string>
<string name="A">
A
</string>
<string name="B">
B
</string>
<string name="C">
C
</string>
<string name="D">
D
</string>
<string name="E">
E
</string>
<string name="F">
F
</string>
<string name="G">
G
</string>
<string name="H">
H
</string>
<string name="I">
I
</string>
<string name="J">
J
</string>
<string name="K">
K
</string>
<string name="L">
L
</string>
<string name="M">
M
</string>
<string name="N">
N
</string>
<string name="O">
O
</string>
<string name="P">
P
</string>
<string name="Q">
Q
</string>
<string name="R">
R
</string>
<string name="S">
S
</string>
<string name="T">
T
</string>
<string name="U">
U
</string>
<string name="V">
V
</string>
<string name="W">
W
</string>
<string name="X">
X
</string>
<string name="Y">
Y
</string>
<string name="Z">
Z
</string>
<string name="BeaconParticle">
Partikel-Beacons werden angezeigt (blau)
</string>
<string name="BeaconPhysical">
Beacons für physische Objekte werden angezeigt (grün)
</string>
<string name="BeaconScripted">
Beacons für Skriptobjekte werden angezeigt (rot)
</string>
<string name="BeaconScriptedTouch">
Beacons für Skriptobjekte mit Berührungsfunktion werden angezeigt (rot)
</string>
<string name="BeaconSound">
Sound-Beacons werden angezeigt (gelb)
</string>
<string name="BeaconMedia">
Medien-Beacons werden angezeigt (weiß)
</string>
<string name="ParticleHiding">
Partikel werden ausgeblendet
</string>
</strings>

View File

@ -215,7 +215,7 @@ Vaya al menú Mundo &gt; Acerca del terreno o seleccione otra parcela para ver s
<text name="Simulator primitive usage:">
Uso de primitivas:
</text>
<text name="objects_available">
<text name="objects_available">
[COUNT] de un máx. de [MAX] ([AVAILABLE] disponibles)
</text>
<text name="Primitives parcel supports:">
@ -347,6 +347,7 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
<combo_box.item label="Parques y Naturaleza" name="item9"/>
<combo_box.item label="Residencial" name="item10"/>
<combo_box.item label="Compras" name="item11"/>
<combo_box.item label="Terreno en alquiler" name="item13"/>
<combo_box.item label="Otra" name="item12"/>
</combo_box>
<combo_box name="land category">
@ -361,6 +362,7 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
<combo_box.item label="Parques y Naturaleza" name="item9"/>
<combo_box.item label="Residencial" name="item10"/>
<combo_box.item label="Compras" name="item11"/>
<combo_box.item label="Terreno en alquiler" name="item13"/>
<combo_box.item label="Otra" name="item12"/>
</combo_box>
<check_box label="Contenido &apos;Mature&apos;" name="MatureCheck" tool_tip=""/>
@ -439,7 +441,7 @@ los media:
(Definido por el Estado)
</panel.string>
<panel.string name="allow_public_access">
Permitir el acceso público ([MATURITY])
Permitir el acceso público ([MATURITY]) (Nota: Si no seleccionas esta opción, se crearán líneas de prohibición)
</panel.string>
<panel.string name="estate_override">
Una o más de esta opciones está configurada a nivel del estado

View File

@ -3,6 +3,9 @@
<floater.string name="ToolTipMsg">
[REGIÓN](Haz doble clic para abrir el mapa y pulsa la tecla Mayús y arrastra para obtener una vista panorámica)
</floater.string>
<floater.string name="AltToolTipMsg">
[REGION](Pulsa dos veces para teleportarte, pulsa mayús y arrastra para obtener una panorámica)
</floater.string>
<floater.string name="mini_map_caption">
MINIMAPA
</floater.string>

View File

@ -64,6 +64,8 @@
<radio_item label="Elegir la cara" name="radio select face"/>
</radio_group>
<check_box label="Editar las partes enlazadas" name="checkbox edit linked parts"/>
<button label="Enlazar" name="link_btn"/>
<button label="Desenlazar" name="unlink_btn"/>
<text name="RenderingCost" tool_tip="Muestra cuánto se calcula que cuesta renderizar este objeto">
þ: [COUNT]
</text>

View File

@ -5,7 +5,7 @@
<menu_item_call label="Quitar" name="Detach"/>
<menu_item_call label="Sentarte" name="Sit Down Here"/>
<menu_item_call label="Levantarme" name="Stand Up"/>
<menu_item_call label="Cambiar vestuario" name="Change Outfit"/>
<menu_item_call label="Mi apariencia" name="Change Outfit"/>
<menu_item_call label="Editar mi vestuario" name="Edit Outfit"/>
<menu_item_call label="Editar mi anatomía" name="Edit My Shape"/>
<menu_item_call label="Mis amigos" name="Friends..."/>

View File

@ -21,7 +21,7 @@
<context_menu label="Quitar" name="Object Detach"/>
<menu_item_call label="Quitarse todo" name="Detach All"/>
</context_menu>
<menu_item_call label="Cambiar vestuario" name="Chenge Outfit"/>
<menu_item_call label="Mi apariencia" name="Chenge Outfit"/>
<menu_item_call label="Editar mi vestuario" name="Edit Outfit"/>
<menu_item_call label="Editar mi anatomía" name="Edit My Shape"/>
<menu_item_call label="Mis amigos" name="Friends..."/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="hide_camera_move_controls_menu">
<menu_item_check label="Voz activada" name="EnableVoiceChat"/>
<menu_item_check label="Botón Gestos" name="ShowGestureButton"/>
<menu_item_check label="Botón Moverse" name="ShowMoveButton"/>
<menu_item_check label="Botón Vista" name="ShowCameraButton"/>
<menu_item_check label="Botón Foto" name="ShowSnapshotButton"/>
<menu_item_check label="Botón Barra lateral" name="ShowSidebarButton"/>
<menu_item_check label="Botón Construir" name="ShowBuildButton"/>
<menu_item_check label="Botón Buscar" name="ShowSearchButton"/>
<menu_item_check label="Botón Mapa" name="ShowWorldMapButton"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<toggleable_menu name="Gear Menu">
<menu_item_call label="Ver el perfil" name="view_profile"/>
<menu_item_call label="Añadir como amigo" name="add_friend"/>
<menu_item_call label="MI" name="im"/>
@ -11,9 +11,11 @@
<menu_item_call label="Denunciar" name="report"/>
<menu_item_call label="Congelar" name="freeze"/>
<menu_item_call label="Expulsar" name="eject"/>
<menu_item_call label="Expulsar" name="kick"/>
<menu_item_call label="CSR" name="csr"/>
<menu_item_call label="Depurar las texturas" name="debug"/>
<menu_item_call label="Encontrar en el mapa" name="find_on_map"/>
<menu_item_call label="Acercar el zoom" name="zoom_in"/>
<menu_item_call label="Pagar" name="pay"/>
<menu_item_call label="Compartir" name="share"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<menu_item_call label="Sentarte" name="sit_down_here"/>
<menu_item_call label="Levantarme" name="stand_up"/>
<menu_item_call label="Cambiar vestuario" name="change_outfit"/>
<menu_item_call label="Mi perfil" name="my_profile"/>
<menu_item_call label="Mis amigos" name="my_friends"/>
<menu_item_call label="Mis grupos" name="my_groups"/>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<menu_item_call label="Sentarme" name="Sit Down Here"/>
<menu_item_call label="Levantarme" name="Stand Up"/>
<context_menu label="Quitarme" name="Take Off &gt;">
<context_menu label="Ropas" name="Clothes &gt;">
<menu_item_call label="Camisa" name="Shirt"/>
<menu_item_call label="Pantalones" name="Pants"/>
<menu_item_call label="Falda" name="Skirt"/>
<menu_item_call label="Zapatos" name="Shoes"/>
<menu_item_call label="Calcetines" name="Socks"/>
<menu_item_call label="Chaqueta" name="Jacket"/>
<menu_item_call label="Guantes" name="Gloves"/>
<menu_item_call label="Camiseta" name="Self Undershirt"/>
<menu_item_call label="Ropa interior" name="Self Underpants"/>
<menu_item_call label="Tatuaje" name="Self Tattoo"/>
<menu_item_call label="Alfa" name="Self Alpha"/>
<menu_item_call label="Toda la ropa" name="All Clothes"/>
</context_menu>
<context_menu label="HUD" name="Object Detach HUD"/>
<context_menu label="Quitar" name="Object Detach"/>
<menu_item_call label="Quitarse todo" name="Detach All"/>
</context_menu>
<menu_item_call label="Cambiar vestuario" name="Chenge Outfit"/>
<menu_item_call label="Editar mi vestuario" name="Edit Outfit"/>
<menu_item_call label="Editar mi anatomía" name="Edit My Shape"/>
<menu_item_call label="Mis amigos" name="Friends..."/>
<menu_item_call label="Mis grupos" name="Groups..."/>
<menu_item_call label="Mi perfil" name="Profile..."/>
<menu_item_call label="Depurar las texturas" name="Debug..."/>
</menu>
</toggleable_menu>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Nueva ventana del inventario" name="new_window"/>
<menu_item_check label="Ordenar alfabéticamente" name="sort_by_name"/>
<menu_item_check label="Ordenar por los más recientes" name="sort_by_recent"/>
<menu_item_check label="Ordenar las carpetas siempre alfabéticamente" name="sort_folders_by_name"/>
<menu_item_check label="Las carpetas del sistema, arriba" name="sort_system_folders_to_top"/>
<menu_item_call label="Ver los filtros" name="show_filters"/>
<menu_item_call label="Restablecer los filtros" name="reset_filters"/>

View File

@ -16,14 +16,14 @@
<context_menu label="Anexar" name="Object Attach"/>
<context_menu label="Anexar el HUD" name="Object Attach HUD"/>
</context_menu>
<context_menu label="Quitar" name="Remove">
<context_menu label="Gestionar" name="Remove">
<menu_item_call label="Denunciar una infracción" name="Report Abuse..."/>
<menu_item_call label="Ignorar" name="Object Mute"/>
<menu_item_call label="Devolver" name="Return..."/>
<menu_item_call label="Eliminar" name="Delete"/>
</context_menu>
<menu_item_call label="Tomar" name="Pie Object Take"/>
<menu_item_call label="Coger una copia" name="Take Copy"/>
<menu_item_call label="Pagar" name="Pay..."/>
<menu_item_call label="Comprar" name="Buy..."/>
<menu_item_call label="Borrar" name="Delete"/>
</context_menu>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_folder_gear">
<toggleable_menu name="menu_folder_gear">
<menu_item_call label="Añadir este hito" name="add_landmark"/>
<menu_item_call label="Añadir una carpeta" name="add_folder"/>
<menu_item_call label="Restaurar ítem" name="restore_item"/>
<menu_item_call label="Cortar" name="cut"/>
<menu_item_call label="Copiar" name="copy_folder"/>
<menu_item_call label="Pegar" name="paste"/>
@ -12,4 +13,4 @@
<menu_item_call label="Abrir todas las carpetas" name="expand_all"/>
<menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/>
<menu_item_check label="Ordenar por fecha" name="sort_by_date"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_ladmark_gear">
<toggleable_menu name="menu_ladmark_gear">
<menu_item_call label="Teleportar" name="teleport"/>
<menu_item_call label="Más información" name="more_info"/>
<menu_item_call label="Mostrar en el mapa" name="show_on_map"/>
<menu_item_call label="Añadir un hito" name="add_landmark"/>
<menu_item_call label="Añadir una carpeta" name="add_folder"/>
<menu_item_call label="Restaurar ítem" name="restore_item"/>
<menu_item_call label="Cortar" name="cut"/>
<menu_item_call label="Copiar el hito" name="copy_landmark"/>
<menu_item_call label="Copiar la SLurl" name="copy_slurl"/>
@ -15,4 +16,4 @@
<menu_item_call label="Cerrar todas las carpetas" name="collapse_all"/>
<menu_item_check label="Ordenar por fecha" name="sort_by_date"/>
<menu_item_call label="Crear un Destacado" name="create_pick"/>
</menu>
</toggleable_menu>

View File

@ -7,7 +7,7 @@
</menu_item_call>
<menu_item_call label="Comprar L$" name="Buy and Sell L$"/>
<menu_item_call label="Mi perfil" name="Profile"/>
<menu_item_call label="Cambiar vestuario" name="ChangeOutfit"/>
<menu_item_call label="Mi apariencia" name="ChangeOutfit"/>
<menu_item_check label="Mi Inventario" name="Inventory"/>
<menu_item_check label="Mi Inventario" name="ShowSidetrayInventory"/>
<menu_item_check label="Mis gestos" name="Gestures"/>
@ -35,6 +35,7 @@
<menu label="Mundo" name="World">
<menu_item_check label="Minimapa" name="Mini-Map"/>
<menu_item_check label="Mapa del mundo" name="World Map"/>
<menu_item_check label="Buscar" name="Search"/>
<menu_item_call label="Foto" name="Take Snapshot"/>
<menu_item_call label="Crear un hito de este sitio" name="Create Landmark Here"/>
<menu label="Perfil del lugar" name="Land">
@ -224,7 +225,9 @@
<menu label="Show Info" name="Display Info">
<menu_item_check label="Show Time" name="Show Time"/>
<menu_item_check label="Show Render Info" name="Show Render Info"/>
<menu_item_check label="Mostrar información de textura" name="Show Texture Info"/>
<menu_item_check label="Show Color Under Cursor" name="Show Color Under Cursor"/>
<menu_item_check label="Mostrar la memoria" name="Show Memory"/>
<menu_item_check label="Show Updates to Objects" name="Show Updates"/>
</menu>
<menu label="Force an Error" name="Force Errors">
@ -242,6 +245,9 @@
<menu_item_check label="Randomize Framerate" name="Randomize Framerate"/>
<menu_item_check label="Frame Test" name="Frame Test"/>
</menu>
<menu label="Render Metadata" name="Render Metadata">
<menu_item_check label="Actualizar el tipo" name="Update Type"/>
</menu>
<menu label="Rendering" name="Rendering">
<menu_item_check label="Axes" name="Axes"/>
<menu_item_check label="Wireframe" name="Wireframe"/>

View File

@ -73,7 +73,7 @@ Detalles del error: la notificación de nombre &apos;[_NAME]&apos; no se ha enco
</notification>
<notification name="LoginFailedNoNetwork">
No se puede conectar con [SECOND_LIFE_GRID].
&apos;[DIAGNOSTIC]&apos;
&apos;[DIAGNOSTIC]&apos;
Asegúrate de que tu conexión a Internet está funcionando adecuadamente.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
@ -330,13 +330,6 @@ Necesitas una cuenta para acceder a [SECOND_LIFE]. ¿Te gustaría crear una ahor
<notification name="InvalidCredentialFormat">
Escribe el nombre de usuario o el nombre y el apellido de tu avatar en el campo Nombre de usuario e inicia sesión otra vez.
</notification>
<notification name="AddClassified">
Los anuncios clasificados aparecen durante una semana en la sección &apos;Clasificados&apos; de la búsqueda y en [http://secondlife.com/community/classifieds secondlife.com].
Rellena tu anuncio y pulsa &apos;Publicar...&apos; para añadirlo al directorio.
Cuando pulses Publicar, se te preguntará por un precio a pagar.
El pagar más hará que tu anuncio aparezca más arriba en la lista, y que también aparezca más arriba en la lista cuando la gente busque por palabras clave.
<usetemplate ignoretext="Cómo crear un anuncio clasificado nuevo." name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="DeleteClassified">
¿Borrar el clasificado &apos;[NAME]&apos;?
No se reembolsan las cuotas pagadas.
@ -2851,9 +2844,6 @@ Si lo haces, todos los residentes que se unan posteriormente a la llamada tambi
<notification label="Explora el mundo" name="HintDestinationGuide">
La Guía de destinos contiene miles de nuevos lugares por descubrir. Selecciona una ubicación y elige Teleportarme para iniciar la exploración.
</notification>
<notification label="Cambiar de apariencia" name="HintAvatarPicker">
¿Te gustaría cambiar de apariencia? Haz clic en el botón que aparece a continuación para ver más avatares.
</notification>
<notification label="Panel lateral" name="HintSidePanel">
Accede de manera rápida a tu inventario, así como a tu ropa, los perfiles y el resto de la información disponible en el panel lateral.
</notification>
@ -2891,6 +2881,38 @@ Si lo haces, todos los residentes que se unan posteriormente a la llamada tambi
<button name="cancel" text="Cancelar"/>
</form>
</notification>
<notification label="" name="ModeChange">
Para cambiar de modo tienes que salir y reiniciar.
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoClassifieds">
La creación y edición de clasificados sólo está disponible en el modo Avanzado. ¿Quieres salir y cambiar de modo? El selector de modo se encuentra en la pantalla de inicio de sesión.
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoGroupInfo">
La creación y edición de grupos sólo está disponible en el modo Avanzado. ¿Quieres salir y cambiar de modo? El selector de modo se encuentra en la pantalla de inicio de sesión.
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoPicks">
La creación y edición de Destacados sólo está disponible en el modo Avanzado. ¿Quieres salir y cambiar de modo? El selector de modo se encuentra en la pantalla de inicio de sesión.
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoWorldMap">
La visualización del mapa del mundo sólo está disponible en el modo Avanzado. ¿Quieres salir y cambiar de modo? El selector de modo se encuentra en la pantalla de inicio de sesión.
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoVoiceCall">
Las llamadas de voz sólo están disponibles en el modo Avanzado. ¿Quieres cerrar sesión y cambiar de modo?
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoAvatarShare">
Compartir sólo está disponible en el modo Avanzado. ¿Quieres cerrar sesión y cambiar de modo?
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<notification label="" name="NoAvatarPay">
El pago a otros residentes sólo está disponible en el modo Avanzado. ¿Quieres cerrar sesión y cambiar de modo?
<usetemplate name="okcancelbuttons" notext="No salir" yestext="Salir"/>
</notification>
<global name="UnsupportedCPU">
- La velocidad de tu CPU no cumple los requerimientos mínimos.
</global>

View File

@ -17,6 +17,13 @@
</text>
<check_box label="Recordar la contraseña" name="remember_check"/>
<button label="Iniciar sesión" name="connect_btn"/>
<text name="mode_selection_text">
Modo:
</text>
<combo_box name="mode_combo" tool_tip="Selecciona el modo. Elige Básico para una exploración rápida y fácil y para chatear. Elige Avanzado para tener acceso a más funciones.">
<combo_box.item label="Básico" name="Basic"/>
<combo_box.item label="Avanzado" name="Advanced"/>
</combo_box>
<text name="start_location_text">
Empezar en:
</text>

View File

@ -19,7 +19,7 @@
<button label="Parar todo" name="all_nearby_media_disable_btn" tool_tip="Apagar todos los media cercanos"/>
<button label="Iniciar todo" name="all_nearby_media_enable_btn" tool_tip="Encender todos los media cercanos"/>
<button name="open_prefs_btn" tool_tip="Abrir las preferencias de los media"/>
<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_btn" tool_tip="Controles avanzados"/>
<button label="Más &gt;&gt;" label_selected="&lt;&lt; Menos" name="more_btn" tool_tip="Controles avanzados"/>
<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="less_btn" tool_tip="Controles avanzados"/>
</panel>
<panel name="nearby_media_panel">

View File

@ -18,6 +18,8 @@
<string name="groups_filter_label" value="Filtrar a los grupos"/>
<string name="no_filtered_groups_msg" value="¿No encuentras lo que buscas? Prueba con [secondlife:///app/search/groups/[SEARCH_TERM] Buscar]."/>
<string name="no_groups_msg" value="¿Buscas grupos en que participar? Prueba la [secondlife:///app/search/groups Búsqueda]."/>
<string name="MiniMapToolTipMsg" value="[REGION](Pulsa dos veces para abrir el mapa, pulsa mayús y arrastra para obtener una panorámica)"/>
<string name="AltMiniMapToolTipMsg" value="[REGION](Pulsa dos veces para teleportarte, pulsa mayús y arrastra para obtener una panorámica)"/>
<filter_editor label="Filtrar" name="filter_input"/>
<tab_container name="tabs">
<panel label="CERCANA" name="nearby_panel">

View File

@ -27,9 +27,9 @@
</text>
<check_box label="Chats de grupo" name="EnableGroupChatPopups" tool_tip="Activa esta casilla para ver una ventana emergente cada vez que recibas un mensaje de un grupo de chat"/>
<check_box label="Chats de MI" name="EnableIMChatPopups" tool_tip="Activa esta casilla para ver una ventana emergente cada vez que recibas un mensaje instantáneo"/>
<spinner label="Duración de los interlocutores favoritos en los chats:" name="nearby_toasts_lifetime"/>
<spinner label="Tiempo restante de los interlocutores favoritos en los chats:" name="nearby_toasts_fadingtime"/>
<check_box label="Utiliza la herramienta de traducción automática mientras utilizas el chat (mediante Google)" name="translate_chat_checkbox"/>
<spinner label="Duración de los interlocutores favoritos:" name="nearby_toasts_lifetime"/>
<spinner label="Tiempo de los otros interlocutores:" name="nearby_toasts_fadingtime"/>
<check_box label="Usar la traducción automática (con Google) en el chat" name="translate_chat_checkbox"/>
<text name="translate_language_text">
Traducir el chat al:
</text>

View File

@ -55,7 +55,7 @@
</text>
<radio_group name="inworld_typing_preference">
<radio_item label="Inicia el chat local" name="radio_start_chat" value="1"/>
<radio_item label="Se verá afectado el movimiento (por ejemplo, mediante las teclas WASD)" name="radio_move" value="0"/>
<radio_item label="Afecta al movimiento (por ejemplo, en las teclas WASD)" name="radio_move" value="0"/>
</radio_group>
<text name="title_afk_text">
Ausente tras:

View File

@ -11,7 +11,7 @@
<check_box label="Sólo saben si estoy conectado mis amigos y grupos" name="online_visibility"/>
<check_box label="Sólo pueden llamarme o mandarme un MI mis amigos y grupos" name="voice_call_friends_only_check"/>
<check_box label="Desconectar el micrófono cuando finalicen las llamadas" name="auto_disengage_mic_check"/>
<check_box label="Mostrar mis Hitos favoritos en Inicio de sesión (mediante el menú desplegable &quot;Empezar en&quot;)" name="favorites_on_login_check"/>
<check_box label="Mostrar mis Hitos favoritos al Inicio de sesión (menú desplegable &quot;Empezar en&quot;)" name="favorites_on_login_check"/>
<text name="Logs:">
Registros de chat:
</text>

View File

@ -32,7 +32,7 @@
<check_box initial_value="true" label="Activar plugins" name="browser_plugins_enabled"/>
<check_box initial_value="true" label="Aceptar las &apos;cookies&apos;" name="cookies_enabled"/>
<check_box initial_value="true" label="Activar Javascript" name="browser_javascript_enabled"/>
<check_box initial_value="falso" label="Permitir ventanas emergentes de navegadores de medios" name="media_popup_enabled"/>
<check_box initial_value="falso" label="Permitir las ventanas emergentes en el navegador" name="media_popup_enabled"/>
<check_box initial_value="false" label="Activar web proxy" name="web_proxy_enabled"/>
<text name="Proxy location">
Localización del proxy:

View File

@ -9,7 +9,7 @@
<slider label="Ambiental" name="Wind Volume"/>
<slider label="Efectos de sonido" name="SFX Volume"/>
<slider label="Música en streaming" name="Music Volume"/>
<check_box label="Activada" name="enable_music"/>
<check_box label="Activados" name="enable_music"/>
<slider label="Multimedia" name="Media Volume"/>
<check_box label="Activada" name="enable_media"/>
<slider label="Chat de voz" name="Voice Volume"/>

View File

@ -16,6 +16,12 @@
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
<string name="name_text_args">
[NAME]
</string>
<string name="display_name_text_args">
[DISPLAY_NAME]
</string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<scroll_container name="profile_scroll">
@ -30,7 +36,7 @@
<text name="title_acc_status_text" value="Estado de la cuenta:"/>
<text name="title_partner_text" value="Compañero/a:"/>
<panel name="partner_data_panel">
<name_box initial_value="(obteniendo)" name="partner_text"/>
<text initial_value="(obteniendo)" name="partner_text"/>
</panel>
<text name="title_groups_text" value="Grupos:"/>
</panel>

View File

@ -15,6 +15,9 @@
<panel.string name="Title">
Script: [NAME]
</panel.string>
<panel.string name="external_editor_not_set">
Puedes seleccionar un editor configurando la variable de entorno LL_SCRIPT_EDITOR o mediante la configuración de ExternalEditor.
</panel.string>
<menu_bar name="script_menu">
<menu label="Archivo" name="File">
<menu_item_call label="Guardar" name="Save"/>

View File

@ -1040,7 +1040,7 @@
</string>
<string name="WornOnAttachmentPoint" value="(lo llevas en: [ATTACHMENT_POINT])"/>
<string name="ActiveGesture" value="[GESLABEL] (activo)"/>
<string name="Chat" value="Chat :"/>
<string name="Chat Message" value="Chat:"/>
<string name="Sound" value="Sonido :"/>
<string name="Wait" value="--- Espera :"/>
<string name="AnimFlagStop" value="Parar la animación:"/>
@ -1822,12 +1822,6 @@ Se esperaba .wav, .tga, .bmp, .jpg, .jpeg, o .bvh
<string name="accel-win-shift">
Mayús+
</string>
<string name="Esc">
Esc
</string>
<string name="Home">
Base
</string>
<string name="FileSaved">
Archivo guardado
</string>
@ -1945,6 +1939,9 @@ Se esperaba .wav, .tga, .bmp, .jpg, .jpeg, o .bvh
<string name="Other">
Otra
</string>
<string name="Rental">
Terreno en alquiler
</string>
<string name="Any">
Cualquiera
</string>
@ -3864,7 +3861,7 @@ Denuncia de infracción
<string name="Notices">
Avisos
</string>
<string name="Chat">
<string name="Chat" value="Chat :">
Chat
</string>
<string name="DeleteItems">
@ -3876,4 +3873,348 @@ Denuncia de infracción
<string name="EmptyOutfitText">
No hay elementos en este vestuario
</string>
<string name="ExternalEditorNotSet">
Selecciona un editor mediante la configuración de ExternalEditor.
</string>
<string name="ExternalEditorNotFound">
No se encuentra el editor externo especificado.
Inténtalo incluyendo la ruta de acceso al editor entre comillas
(por ejemplo, &quot;/ruta a mi/editor&quot; &quot;%s&quot;).
</string>
<string name="ExternalEditorCommandParseError">
Error al analizar el comando de editor externo.
</string>
<string name="ExternalEditorFailedToRun">
Error al ejecutar el editor externo.
</string>
<string name="Esc">
Esc
</string>
<string name="Space">
Space
</string>
<string name="Enter">
Enter
</string>
<string name="Tab">
Tab
</string>
<string name="Ins">
Ins
</string>
<string name="Del">
Del
</string>
<string name="Backsp">
Backsp
</string>
<string name="Shift">
Shift
</string>
<string name="Ctrl">
Ctrl
</string>
<string name="Alt">
Alt
</string>
<string name="CapsLock">
CapsLock
</string>
<string name="Home">
Base
</string>
<string name="End">
End
</string>
<string name="PgUp">
PgUp
</string>
<string name="PgDn">
PgDn
</string>
<string name="F1">
F1
</string>
<string name="F2">
F2
</string>
<string name="F3">
F3
</string>
<string name="F4">
F4
</string>
<string name="F5">
F5
</string>
<string name="F6">
F6
</string>
<string name="F7">
F7
</string>
<string name="F8">
F8
</string>
<string name="F9">
F9
</string>
<string name="F10">
F10
</string>
<string name="F11">
F11
</string>
<string name="F12">
F12
</string>
<string name="Add">
Añadir
</string>
<string name="Subtract">
Restar
</string>
<string name="Multiply">
Multiplicar
</string>
<string name="Divide">
Dividir
</string>
<string name="PAD_DIVIDE">
PAD_DIVIDE
</string>
<string name="PAD_LEFT">
PAD_LEFT
</string>
<string name="PAD_RIGHT">
PAD_RIGHT
</string>
<string name="PAD_DOWN">
PAD_DOWN
</string>
<string name="PAD_UP">
PAD_UP
</string>
<string name="PAD_HOME">
PAD_HOME
</string>
<string name="PAD_END">
PAD_END
</string>
<string name="PAD_PGUP">
PAD_PGUP
</string>
<string name="PAD_PGDN">
PAD_PGDN
</string>
<string name="PAD_CENTER">
PAD_CENTER
</string>
<string name="PAD_INS">
PAD_INS
</string>
<string name="PAD_DEL">
PAD_DEL
</string>
<string name="PAD_Enter">
PAD_Enter
</string>
<string name="PAD_BUTTON0">
PAD_BUTTON0
</string>
<string name="PAD_BUTTON1">
PAD_BUTTON1
</string>
<string name="PAD_BUTTON2">
PAD_BUTTON2
</string>
<string name="PAD_BUTTON3">
PAD_BUTTON3
</string>
<string name="PAD_BUTTON4">
PAD_BUTTON4
</string>
<string name="PAD_BUTTON5">
PAD_BUTTON5
</string>
<string name="PAD_BUTTON6">
PAD_BUTTON6
</string>
<string name="PAD_BUTTON7">
PAD_BUTTON7
</string>
<string name="PAD_BUTTON8">
PAD_BUTTON8
</string>
<string name="PAD_BUTTON9">
PAD_BUTTON9
</string>
<string name="PAD_BUTTON10">
PAD_BUTTON10
</string>
<string name="PAD_BUTTON11">
PAD_BUTTON11
</string>
<string name="PAD_BUTTON12">
PAD_BUTTON12
</string>
<string name="PAD_BUTTON13">
PAD_BUTTON13
</string>
<string name="PAD_BUTTON14">
PAD_BUTTON14
</string>
<string name="PAD_BUTTON15">
PAD_BUTTON15
</string>
<string name="-">
-
</string>
<string name="=">
=
</string>
<string name="`">
`
</string>
<string name=";">
;
</string>
<string name="[">
[
</string>
<string name="]">
]
</string>
<string name="\">
\
</string>
<string name="0">
0
</string>
<string name="1">
1
</string>
<string name="2">
2
</string>
<string name="3">
3
</string>
<string name="4">
4
</string>
<string name="5">
5
</string>
<string name="6">
6
</string>
<string name="7">
7
</string>
<string name="8">
8
</string>
<string name="9">
9
</string>
<string name="A">
A
</string>
<string name="B">
B
</string>
<string name="C">
C
</string>
<string name="D">
D
</string>
<string name="E">
E
</string>
<string name="F">
F
</string>
<string name="G">
G
</string>
<string name="H">
H
</string>
<string name="I">
I
</string>
<string name="J">
J
</string>
<string name="K">
K
</string>
<string name="L">
L
</string>
<string name="M">
M
</string>
<string name="N">
N
</string>
<string name="O">
O
</string>
<string name="P">
P
</string>
<string name="Q">
Q
</string>
<string name="R">
R
</string>
<string name="S">
S
</string>
<string name="T">
T
</string>
<string name="U">
U
</string>
<string name="V">
V
</string>
<string name="W">
W
</string>
<string name="X">
X
</string>
<string name="Y">
Y
</string>
<string name="Z">
Z
</string>
<string name="BeaconParticle">
Viendo balizas de partículas (azules)
</string>
<string name="BeaconPhysical">
Viendo balizas de objetos materiales (verdes)
</string>
<string name="BeaconScripted">
Viendo balizas de objetos con script (rojas)
</string>
<string name="BeaconScriptedTouch">
Viendo el objeto con script con balizas de función táctil (rojas)
</string>
<string name="BeaconSound">
Viendo balizas de sonido (amarillas)
</string>
<string name="BeaconMedia">
Viendo balizas de medios (blancas)
</string>
<string name="ParticleHiding">
Ocultando las partículas
</string>
</strings>

View File

@ -248,7 +248,7 @@ ou divisé.
<text name="group_objects_text">
[COUNT]
</text>
<button label="Afficher" label_selected="Afficher" name="ShowGroup" />
<button label="Afficher" label_selected="Afficher" name="ShowGroup"/>
<button label="Retour" label_selected="Renvoyer..." name="ReturnGroup..." tool_tip="Renvoyer les objets à leurs propriétaires."/>
<text name="Owned by others:">
Appartenant à d&apos;autres :
@ -336,7 +336,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
Options du terrain :
</text>
<check_box label="Sécurisé (pas de dégâts)" name="check safe" tool_tip="Si cette option est cochée, le terrain est sécurisé et il n&apos;y pas de risques de dommages causés par des combats. Si elle est décochée, des dommages causés par les combats peuvent avoir lieu."/>
<check_box label="Pas de bousculades" name="PushRestrictCheck" tool_tip="Empêche l&apos;utilisation de scripts causant des bousculades. Cette option est utile pour empêcher les comportements abusifs sur votre terrain."/>
<check_box label="Pas de bousculades" name="PushRestrictCheck" tool_tip="Empêche l&apos;utilisation de scripts causant des bousculades. Cette option est utile pour empêcher les comportements abusifs sur votre terrain."/>
<check_box label="Afficher le lieu dans la recherche (30 L$/semaine)" name="ShowDirectoryCheck" tool_tip="Afficher la parcelle dans les résultats de recherche"/>
<combo_box name="land category with adult">
<combo_box.item label="Toutes catégories" name="item0"/>
@ -351,6 +351,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
<combo_box.item label="Parcs et Nature" name="item9"/>
<combo_box.item label="Résidentiel" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Location" name="item13"/>
<combo_box.item label="Autre" name="item12"/>
</combo_box>
<combo_box name="land category">
@ -365,6 +366,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
<combo_box.item label="Parcs et Nature" name="item9"/>
<combo_box.item label="Résidentiel" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Location" name="item13"/>
<combo_box.item label="Autre" name="item12"/>
</combo_box>
<check_box label="Contenu Modéré" name="MatureCheck" tool_tip=""/>
@ -444,7 +446,7 @@ musique :
(défini par le domaine
</panel.string>
<panel.string name="allow_public_access">
Autoriser l&apos;accès public ([MATURITY])
Autoriser l&apos;accès public ([MATURITY]) (Remarque : des lignes d&apos;interdiction seront créées si cette case n&apos;est pas cochée)
</panel.string>
<panel.string name="estate_override">
Au moins une de ces options est définie au niveau du domaine.

View File

@ -1,32 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Map" title="">
<floater.string name="mini_map_north">
N
</floater.string>
<floater.string name="mini_map_east">
E
</floater.string>
<floater.string name="mini_map_west">
O
</floater.string>
<floater.string name="mini_map_south">
S
</floater.string>
<floater.string name="mini_map_southeast">
SE
</floater.string>
<floater.string name="mini_map_northeast">
NE
</floater.string>
<floater.string name="mini_map_southwest">
SO
</floater.string>
<floater.string name="mini_map_northwest">
NO
</floater.string>
<floater.string name="ToolTipMsg">
[REGION](Carte : double-clic ; Panoramique : Maj + faire glisser)
</floater.string>
<floater.string name="AltToolTipMsg">
[REGION](Téléportation : double-clic ; Panoramique : Maj + faire glisser)
</floater.string>
<floater.string name="mini_map_caption">
MINI-CARTE
</floater.string>

View File

@ -64,6 +64,8 @@
<radio_item label="Choisir une face" name="radio select face"/>
</radio_group>
<check_box label="Modification liée" name="checkbox edit linked parts"/>
<button label="Lien" name="link_btn"/>
<button label="Annuler le lien" name="unlink_btn"/>
<text name="RenderingCost" tool_tip="Affiche le coût du rendu calculé pour cet objet">
þ : [COUNT]
</text>

View File

@ -5,7 +5,7 @@
<menu_item_call label="Détacher" name="Detach"/>
<menu_item_call label="M&apos;asseoir" name="Sit Down Here"/>
<menu_item_call label="Me lever" name="Stand Up"/>
<menu_item_call label="Changer de tenue" name="Change Outfit"/>
<menu_item_call label="Mon apparence" name="Change Outfit"/>
<menu_item_call label="Modifier ma tenue" name="Edit Outfit"/>
<menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/>
<menu_item_call label="Mes amis" name="Friends..."/>

View File

@ -21,7 +21,7 @@
<context_menu label="Détacher" name="Object Detach"/>
<menu_item_call label="Tout détacher" name="Detach All"/>
</context_menu>
<menu_item_call label="Changer de tenue" name="Chenge Outfit"/>
<menu_item_call label="Mon apparence" name="Chenge Outfit"/>
<menu_item_call label="Modifier ma tenue" name="Edit Outfit"/>
<menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/>
<menu_item_call label="Mes amis" name="Friends..."/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="hide_camera_move_controls_menu">
<menu_item_check label="Voix activée" name="EnableVoiceChat"/>
<menu_item_check label="Bouton Geste" name="ShowGestureButton"/>
<menu_item_check label="Bouton Bouger" name="ShowMoveButton"/>
<menu_item_check label="Bouton Affichage" name="ShowCameraButton"/>
<menu_item_check label="Bouton Photo" name="ShowSnapshotButton"/>
<menu_item_check label="Bouton Panneau latéral" name="ShowSidebarButton"/>
<menu_item_check label="Bouton Construire" name="ShowBuildButton"/>
<menu_item_check label="Bouton Rechercher" name="ShowSearchButton"/>
<menu_item_check label="Bouton Carte" name="ShowWorldMapButton"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<toggleable_menu name="Gear Menu">
<menu_item_call label="Voir le profil" name="view_profile"/>
<menu_item_call label="Devenir amis" name="add_friend"/>
<menu_item_call label="IM" name="im"/>
@ -11,9 +11,11 @@
<menu_item_call label="Signaler" name="report"/>
<menu_item_call label="Figer" name="freeze"/>
<menu_item_call label="Expulser" name="eject"/>
<menu_item_call label="Éjecter" name="kick"/>
<menu_item_call label="Représentant de l&apos;Assistance client" name="csr"/>
<menu_item_call label="Déboguer les textures" name="debug"/>
<menu_item_call label="Situer sur la carte" name="find_on_map"/>
<menu_item_call label="Zoomer en avant" name="zoom_in"/>
<menu_item_call label="Payer" name="pay"/>
<menu_item_call label="Partager" name="share"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<menu name="Gear Menu">
<menu_item_call label="M&apos;asseoir" name="sit_down_here"/>
<menu_item_call label="Me lever" name="stand_up"/>
<menu_item_call label="Changer de tenue" name="change_outfit"/>
<menu_item_call label="Mon profil" name="my_profile"/>
<menu_item_call label="Mes amis" name="my_friends"/>
<menu_item_call label="Mes groupes" name="my_groups"/>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<menu_item_call label="M&apos;asseoir" name="Sit Down Here"/>
<menu_item_call label="Me lever" name="Stand Up"/>
<context_menu label="Enlever" name="Take Off &gt;">
<context_menu label="Habits" name="Clothes &gt;">
<menu_item_call label="Chemise" name="Shirt"/>
<menu_item_call label="Pantalon" name="Pants"/>
<menu_item_call label="Jupe" name="Skirt"/>
<menu_item_call label="Chaussures" name="Shoes"/>
<menu_item_call label="Chaussettes" name="Socks"/>
<menu_item_call label="Veste" name="Jacket"/>
<menu_item_call label="Gants" name="Gloves"/>
<menu_item_call label="Débardeur" name="Self Undershirt"/>
<menu_item_call label="Caleçon" name="Self Underpants"/>
<menu_item_call label="Tatouage" name="Self Tattoo"/>
<menu_item_call label="Alpha" name="Self Alpha"/>
<menu_item_call label="Tous les habits" name="All Clothes"/>
</context_menu>
<context_menu label="HUD" name="Object Detach HUD"/>
<context_menu label="Détacher" name="Object Detach"/>
<menu_item_call label="Tout détacher" name="Detach All"/>
</context_menu>
<menu_item_call label="Changer de tenue" name="Chenge Outfit"/>
<menu_item_call label="Modifier ma tenue" name="Edit Outfit"/>
<menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/>
<menu_item_call label="Mes amis" name="Friends..."/>
<menu_item_call label="Mes groupes" name="Groups..."/>
<menu_item_call label="Mon profil" name="Profile..."/>
<menu_item_call label="Déboguer les textures" name="Debug..."/>
</menu>
</toggleable_menu>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Nouvelle fenêtre d&apos;inventaire" name="new_window"/>
<menu_item_check label="Trier par nom" name="sort_by_name"/>
<menu_item_check label="Trier en commençant par le plus récent" name="sort_by_recent"/>
<menu_item_check label="Toujours trier les dossiers par nom" name="sort_folders_by_name"/>
<menu_item_check label="Dossiers système en premier" name="sort_system_folders_to_top"/>
<menu_item_call label="Afficher les filtres" name="show_filters"/>
<menu_item_call label="Réinitialiser les filtres" name="reset_filters"/>

View File

@ -16,14 +16,14 @@
<context_menu label="Attacher" name="Object Attach"/>
<context_menu label="Attacher HUD" name="Object Attach HUD"/>
</context_menu>
<context_menu label="Supprimer" name="Remove">
<context_menu label="Gérer" name="Remove">
<menu_item_call label="Signaler une infraction" name="Report Abuse..."/>
<menu_item_call label="Ignorer" name="Object Mute"/>
<menu_item_call label="Retour" name="Return..."/>
<menu_item_call label="Supprimer" name="Delete"/>
</context_menu>
<menu_item_call label="Prendre" name="Pie Object Take"/>
<menu_item_call label="Prendre une copie" name="Take Copy"/>
<menu_item_call label="Payer" name="Pay..."/>
<menu_item_call label="Acheter" name="Buy..."/>
<menu_item_call label="Supprimer" name="Delete"/>
</context_menu>

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_folder_gear">
<toggleable_menu name="menu_folder_gear">
<menu_item_call label="Ajouter un repère" name="add_landmark"/>
<menu_item_call label="Ajouter un dossier" name="add_folder"/>
<menu_item_call label="Restaurer l&apos;article" name="restore_item"/>
<menu_item_call label="Couper" name="cut"/>
<menu_item_call label="Copier" name="copy_folder"/>
<menu_item_call label="Coller" name="paste"/>
@ -12,4 +13,4 @@
<menu_item_call label="Développer tous les dossiers" name="expand_all"/>
<menu_item_call label="Réduire tous les dossiers" name="collapse_all"/>
<menu_item_check label="Trier par date" name="sort_by_date"/>
</menu>
</toggleable_menu>

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_ladmark_gear">
<toggleable_menu name="menu_ladmark_gear">
<menu_item_call label="Téléporter" name="teleport"/>
<menu_item_call label="Plus d&apos;informations" name="more_info"/>
<menu_item_call label="Voir sur la carte" name="show_on_map"/>
<menu_item_call label="Ajouter un repère" name="add_landmark"/>
<menu_item_call label="Ajouter un dossier" name="add_folder"/>
<menu_item_call label="Restaurer l&apos;article" name="restore_item"/>
<menu_item_call label="Couper" name="cut"/>
<menu_item_call label="Copier le repère" name="copy_landmark"/>
<menu_item_call label="Copier la SLurl" name="copy_slurl"/>
@ -15,4 +16,4 @@
<menu_item_call label="Réduire tous les dossiers" name="collapse_all"/>
<menu_item_check label="Trier par date" name="sort_by_date"/>
<menu_item_call label="Créer un favori" name="create_pick"/>
</menu>
</toggleable_menu>

View File

@ -7,7 +7,7 @@
</menu_item_call>
<menu_item_call label="Acheter des L$" name="Buy and Sell L$"/>
<menu_item_call label="Mon profil" name="Profile"/>
<menu_item_call label="Changer de tenue" name="ChangeOutfit"/>
<menu_item_call label="Mon apparence" name="ChangeOutfit"/>
<menu_item_check label="Mon inventaire" name="Inventory"/>
<menu_item_check label="Mon inventaire" name="ShowSidetrayInventory"/>
<menu_item_check label="Mes gestes" name="Gestures"/>
@ -35,6 +35,7 @@
<menu label="Monde" name="World">
<menu_item_check label="Mini-carte" name="Mini-Map"/>
<menu_item_check label="Carte du monde" name="World Map"/>
<menu_item_check label="Rechercher" name="Search"/>
<menu_item_call label="Photo" name="Take Snapshot"/>
<menu_item_call label="Créer un repère pour ce lieu" name="Create Landmark Here"/>
<menu label="Profil du lieu" name="Land">
@ -227,8 +228,10 @@
<menu label="Afficher les infos" name="Display Info">
<menu_item_check label="Afficher l&apos;heure" name="Show Time"/>
<menu_item_check label="Afficher les infos de rendu" name="Show Render Info"/>
<menu_item_check label="Afficher les infos de texture" name="Show Texture Info"/>
<menu_item_check label="Afficher les matrices" name="Show Matrices"/>
<menu_item_check label="Afficher la couleur sous le curseur" name="Show Color Under Cursor"/>
<menu_item_check label="Afficher la mémoire" name="Show Memory"/>
<menu_item_check label="Afficher les mises à jour des objets" name="Show Updates"/>
</menu>
<menu label="Forcer une erreur" name="Force Errors">
@ -253,6 +256,7 @@
<menu_item_check label="Shadow Frusta" name="Shadow Frusta"/>
<menu_item_check label="Occlusion" name="Occlusion"/>
<menu_item_check label="Lots de rendu" name="Render Batches"/>
<menu_item_check label="Type de mise à jour" name="Update Type"/>
<menu_item_check label="Texture Anim" name="Texture Anim"/>
<menu_item_check label="Priorité de la texture" name="Texture Priority"/>
<menu_item_check label="Zone de texture" name="Texture Area"/>

View File

@ -73,7 +73,7 @@ Détails de l&apos;erreur : La notification, appelée &apos;[_NAME]&apos;, est i
</notification>
<notification name="LoginFailedNoNetwork">
Connexion à [SECOND_LIFE_GRID] impossible.
&apos;[DIAGNOSTIC]&apos;
&apos;[DIAGNOSTIC]&apos;
Veuillez vérifier votre connexion Internet.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
@ -332,13 +332,6 @@ Pour entrer dans [SECOND_LIFE], vous devez disposer d&apos;un compte. Voulez-vou
<notification name="InvalidCredentialFormat">
Saisissez soit le nom d&apos;utilisateur soit à la fois le prénom et le nom de votre avatar dans le champ Nom d&apos;utilisateur, puis connectez-vous.
</notification>
<notification name="AddClassified">
Les petites annonces sont publiées à l&apos;onglet Petites annonces de la section Recherche et sur [http://secondlife.com/community/classifieds secondlife.com] pendant une semaine.
Rédigez votre annonce, puis cliquez sur Publier pour l&apos;ajouter à la liste des annonces.
Au moment de cliquer sur Publier, vous serez invité à payer des frais.
Plus vous payez cher, plus votre annonce est visible dans la liste ainsi que dans les résultats de recherche de mots-clés.
<usetemplate ignoretext="Comment ajouter une nouvelle petite annonce" name="okcancelignore" notext="Annuler" yestext="OK"/>
</notification>
<notification name="DeleteClassified">
Supprimer l&apos;annonce [NAME] ?
Une fois payés, les frais ne sont pas remboursables.
@ -2848,9 +2841,6 @@ Ignorer les autres ?
<notification label="Explorer le monde" name="HintDestinationGuide">
Le Guide des destinations comprend des milliers d&apos;endroits nouveaux à découvrir. Sélectionnez-en un, puis cliquez sur Téléporter pour commencer à l&apos;explorer.
</notification>
<notification label="Changer d&apos;apparence" name="HintAvatarPicker">
Vous souhaitez changer de look ? Cliquez sur le bouton ci-dessous pour voir plus d&apos;avatars.
</notification>
<notification label="Panneau latéral" name="HintSidePanel">
Obtenir un accès rapide à votre inventaire, à vos habits, à vos profils et bien plus encore dans le panneau latéral.
</notification>
@ -2888,6 +2878,38 @@ Ignorer les autres ?
<button name="cancel" text="Annuler"/>
</form>
</notification>
<notification label="" name="ModeChange">
Vous devez quitter et redémarrer l&apos;application afin de changer de mode.
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoClassifieds">
Pour créer et modifier des petites annonces, vous devez utiliser le mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ? Le sélecteur de mode se trouve sur l&apos;écran de connexion.
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoGroupInfo">
Pour créer et modifier des groupes, vous devez utiliser le mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ? Le sélecteur de mode se trouve sur l&apos;écran de connexion.
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoPicks">
Pour créer et modifier des favoris, vous devez utiliser le mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ? Le sélecteur de mode se trouve sur l&apos;écran de connexion.
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoWorldMap">
Pour afficher la carte du monde, vous devez utiliser le mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ? Le sélecteur de mode se trouve sur l&apos;écran de connexion.
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoVoiceCall">
Les appels vocaux sont uniquement disponibles en mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ?
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoAvatarShare">
Le partage est uniquement disponible en mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ?
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification label="" name="NoAvatarPay">
Pour pouvoir payer d&apos;autres résidents, vous devez utiliser le mode Avancé. Voulez-vous quitter l&apos;application afin de changer de mode ?
<usetemplate name="okcancelbuttons" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<global name="UnsupportedCPU">
- Votre processeur ne remplit pas les conditions minimum requises.
</global>

View File

@ -17,6 +17,13 @@
</text>
<check_box label="Enregistrer" name="remember_check"/>
<button label="Connexion" name="connect_btn"/>
<text name="mode_selection_text">
Mode :
</text>
<combo_box name="mode_combo" tool_tip="Sélectionnez un mode. Pour une exploration facile et rapide avec chat, choisissez Basique. Pour accéder à plus de fonctionnalités, choisissez Avancé.">
<combo_box.item label="Basique" name="Basic"/>
<combo_box.item label="Avancé" name="Advanced"/>
</combo_box>
<text name="start_location_text">
Lieu de départ :
</text>

View File

@ -19,7 +19,7 @@
<button label="Arrêter" name="all_nearby_media_disable_btn" tool_tip="Désactiver tous les médias près de vous"/>
<button label="Lire" name="all_nearby_media_enable_btn" tool_tip="Activer tous les médias près de vous"/>
<button name="open_prefs_btn" tool_tip="Ouvrir les préférences de média"/>
<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="more_btn" tool_tip="Options avancées"/>
<button label="Plus &gt;&gt;" label_selected="&lt;&lt; Moins" name="more_btn" tool_tip="Options avancées"/>
<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="less_btn" tool_tip="Options avancées"/>
</panel>
<panel name="nearby_media_panel">

View File

@ -18,6 +18,8 @@ Pour rechercher des résidents avec qui passer du temps, utilisez [secondlife://
<string name="groups_filter_label" value="Filtrer les groupes"/>
<string name="no_filtered_groups_msg" value="Vous n&apos;avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/groups/[SEARCH_TERM] Rechercher]."/>
<string name="no_groups_msg" value="Vous souhaitez trouver des groupes à rejoindre ? Utilisez [secondlife:///app/search/groups Rechercher]."/>
<string name="MiniMapToolTipMsg" value="[REGION](Carte : double-clic ; Panoramique : Maj + faire glisser)"/>
<string name="AltMiniMapToolTipMsg" value="[REGION](Téléportation : double-clic ; Panoramique : Maj + faire glisser)"/>
<filter_editor label="Filtre" name="filter_input"/>
<tab_container name="tabs">
<panel label="PRÈS DE VOUS" name="nearby_panel">

View File

@ -16,6 +16,12 @@
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
<string name="name_text_args">
[NAME]
</string>
<string name="display_name_text_args">
[DISPLAY_NAME]
</string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<scroll_container name="profile_scroll">
@ -34,7 +40,7 @@
</text_editor>
<text name="title_partner_text" value="Partenaire :"/>
<panel name="partner_data_panel">
<name_box initial_value="(récupération en cours)" name="partner_text"/>
<text initial_value="(récupération en cours)" name="partner_text"/>
</panel>
<text name="title_groups_text" value="Groupes :"/>
</panel>

View File

@ -15,6 +15,9 @@
<panel.string name="Title">
Script : [NAME]
</panel.string>
<panel.string name="external_editor_not_set">
Sélectionnez un éditeur en définissant la variable d&apos;environnement LL_SCRIPT_EDITOR ou le paramètre ExternalEditor.
</panel.string>
<menu_bar name="script_menu">
<menu label="Fichier" name="File">
<menu_item_call label="Enregistrer" name="Save"/>

View File

@ -1067,7 +1067,7 @@
<string name="PermNo">
Non
</string>
<string name="Chat" value=" Chat :"/>
<string name="Chat Message" value="Chat :"/>
<string name="Sound" value=" Son :"/>
<string name="Wait" value=" --- Attendre :"/>
<string name="AnimFlagStop" value=" Arrêter l&apos;animation :"/>
@ -1864,12 +1864,6 @@
<string name="accel-win-shift">
Maj+
</string>
<string name="Esc">
Échap
</string>
<string name="Home">
Début
</string>
<string name="FileSaved">
Fichier enregistré
</string>
@ -1889,7 +1883,7 @@
PDT
</string>
<string name="Direction_Forward">
Vers l&apos;avant
Avant
</string>
<string name="Direction_Left">
Gauche
@ -1987,6 +1981,9 @@
<string name="Other">
Autre
</string>
<string name="Rental">
Location
</string>
<string name="Any">
Aucun
</string>
@ -3966,7 +3963,7 @@ de l&apos;infraction signalée
<string name="Notices">
Notices
</string>
<string name="Chat">
<string name="Chat" value=" Chat :">
Chat
</string>
<string name="DeleteItems">
@ -3978,4 +3975,348 @@ de l&apos;infraction signalée
<string name="EmptyOutfitText">
Cette tenue ne contient aucun article.
</string>
<string name="ExternalEditorNotSet">
Sélectionnez un éditeur à l&apos;aide du paramètre ExternalEditor.
</string>
<string name="ExternalEditorNotFound">
Éditeur externe spécifié introuvable.
Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
(par ex. : &quot;/chemin_accès/editor&quot; &quot;%s&quot;).
</string>
<string name="ExternalEditorCommandParseError">
Erreur lors de l&apos;analyse de la commande d&apos;éditeur externe.
</string>
<string name="ExternalEditorFailedToRun">
Échec d&apos;exécution de l&apos;éditeur externe.
</string>
<string name="Esc">
Échap
</string>
<string name="Space">
Space
</string>
<string name="Enter">
Enter
</string>
<string name="Tab">
Tab
</string>
<string name="Ins">
Ins
</string>
<string name="Del">
Del
</string>
<string name="Backsp">
Backsp
</string>
<string name="Shift">
Shift
</string>
<string name="Ctrl">
Ctrl
</string>
<string name="Alt">
Alt
</string>
<string name="CapsLock">
CapsLock
</string>
<string name="Home">
Début
</string>
<string name="End">
End
</string>
<string name="PgUp">
PgUp
</string>
<string name="PgDn">
PgDn
</string>
<string name="F1">
F1
</string>
<string name="F2">
F2
</string>
<string name="F3">
F3
</string>
<string name="F4">
F4
</string>
<string name="F5">
F5
</string>
<string name="F6">
F6
</string>
<string name="F7">
F7
</string>
<string name="F8">
F8
</string>
<string name="F9">
F9
</string>
<string name="F10">
F10
</string>
<string name="F11">
F11
</string>
<string name="F12">
F12
</string>
<string name="Add">
Ajouter
</string>
<string name="Subtract">
Soustraire
</string>
<string name="Multiply">
Multiplier
</string>
<string name="Divide">
Diviser
</string>
<string name="PAD_DIVIDE">
PAD_DIVIDE
</string>
<string name="PAD_LEFT">
PAD_LEFT
</string>
<string name="PAD_RIGHT">
PAD_RIGHT
</string>
<string name="PAD_DOWN">
PAD_DOWN
</string>
<string name="PAD_UP">
PAD_UP
</string>
<string name="PAD_HOME">
PAD_HOME
</string>
<string name="PAD_END">
PAD_END
</string>
<string name="PAD_PGUP">
PAD_PGUP
</string>
<string name="PAD_PGDN">
PAD_PGDN
</string>
<string name="PAD_CENTER">
PAD_CENTER
</string>
<string name="PAD_INS">
PAD_INS
</string>
<string name="PAD_DEL">
PAD_DEL
</string>
<string name="PAD_Enter">
PAD_Enter
</string>
<string name="PAD_BUTTON0">
PAD_BUTTON0
</string>
<string name="PAD_BUTTON1">
PAD_BUTTON1
</string>
<string name="PAD_BUTTON2">
PAD_BUTTON2
</string>
<string name="PAD_BUTTON3">
PAD_BUTTON3
</string>
<string name="PAD_BUTTON4">
PAD_BUTTON4
</string>
<string name="PAD_BUTTON5">
PAD_BUTTON5
</string>
<string name="PAD_BUTTON6">
PAD_BUTTON6
</string>
<string name="PAD_BUTTON7">
PAD_BUTTON7
</string>
<string name="PAD_BUTTON8">
PAD_BUTTON8
</string>
<string name="PAD_BUTTON9">
PAD_BUTTON9
</string>
<string name="PAD_BUTTON10">
PAD_BUTTON10
</string>
<string name="PAD_BUTTON11">
PAD_BUTTON11
</string>
<string name="PAD_BUTTON12">
PAD_BUTTON12
</string>
<string name="PAD_BUTTON13">
PAD_BUTTON13
</string>
<string name="PAD_BUTTON14">
PAD_BUTTON14
</string>
<string name="PAD_BUTTON15">
PAD_BUTTON15
</string>
<string name="-">
-
</string>
<string name="=">
=
</string>
<string name="`">
`
</string>
<string name=";">
;
</string>
<string name="[">
[
</string>
<string name="]">
]
</string>
<string name="\">
\
</string>
<string name="0">
0
</string>
<string name="1">
1
</string>
<string name="2">
2
</string>
<string name="3">
3
</string>
<string name="4">
4
</string>
<string name="5">
5
</string>
<string name="6">
6
</string>
<string name="7">
7
</string>
<string name="8">
8
</string>
<string name="9">
9
</string>
<string name="A">
A
</string>
<string name="B">
B
</string>
<string name="C">
C
</string>
<string name="D">
D
</string>
<string name="E">
E
</string>
<string name="F">
F
</string>
<string name="G">
G
</string>
<string name="H">
H
</string>
<string name="I">
I
</string>
<string name="J">
J
</string>
<string name="K">
K
</string>
<string name="L">
L
</string>
<string name="M">
M
</string>
<string name="N">
N
</string>
<string name="O">
O
</string>
<string name="P">
P
</string>
<string name="Q">
Q
</string>
<string name="R">
R
</string>
<string name="S">
S
</string>
<string name="T">
T
</string>
<string name="U">
U
</string>
<string name="V">
V
</string>
<string name="W">
W
</string>
<string name="X">
X
</string>
<string name="Y">
Y
</string>
<string name="Z">
Z
</string>
<string name="BeaconParticle">
Affichage des balises de particule (bleu)
</string>
<string name="BeaconPhysical">
Affichage des balises d&apos;objet physique (vert)
</string>
<string name="BeaconScripted">
Affichage des balises d&apos;objet scripté (rouge)
</string>
<string name="BeaconScriptedTouch">
Affichage des balises d&apos;objet scripté avec fonction de toucher (rouge)
</string>
<string name="BeaconSound">
Affichage des balises de son (jaune)
</string>
<string name="BeaconMedia">
Affichage des balises de média (blanc)
</string>
<string name="ParticleHiding">
Masquage des particules
</string>
</strings>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<toggleable_menu name="Self Pie">
<menu_item_call label="Hinsetzen" name="Sit Down Here"/>
<menu_item_call label="Aufstehen" name="Stand Up"/>
<menu_item_call label="Meine Freunde" name="Friends..."/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<toggleable_menu name="Self Pie">
<menu_item_call label="Sentarme" name="Sit Down Here"/>
<menu_item_call label="Levantarme" name="Stand Up"/>
<menu_item_call label="Mis amigos" name="Friends..."/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<toggleable_menu name="Self Pie">
<menu_item_call label="M&apos;asseoir" name="Sit Down Here"/>
<menu_item_call label="Me lever" name="Stand Up"/>
<menu_item_call label="Mes amis" name="Friends..."/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Menu">
<toggleable_menu name="Self Pie">
<menu_item_call label="Sentar" name="Sit Down Here"/>
<menu_item_call label="Ficar de pé" name="Stand Up"/>
<menu_item_call label="Meus amigos" name="Friends..."/>