diff options
Diffstat (limited to 'indra')
200 files changed, 3455 insertions, 1327 deletions
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index cfafbf0470..69720bb903 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@ const S32 LL_VERSION_MAJOR = 2; const S32 LL_VERSION_MINOR = 7; -const S32 LL_VERSION_PATCH = 4; +const S32 LL_VERSION_PATCH = 6; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index d401ce7de7..bddb8d8c66 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -2774,11 +2774,13 @@ void LLVolume::makeTetrahedron() n[2] = cv[2].getNormal(); n += 3; - tc[0] = cv[0].mTexCoord; - tc[1] = cv[1].mTexCoord; - tc[2] = cv[2].mTexCoord; - tc += 3; - + if(tc) + { + tc[0] = cv[0].mTexCoord; + tc[1] = cv[1].mTexCoord; + tc[2] = cv[2].mTexCoord; + tc += 3; + } //side 2 cv[0].setPosition(p[3]); @@ -2797,11 +2799,14 @@ void LLVolume::makeTetrahedron() n[2] = cv[2].getNormal(); n += 3; - tc[0] = cv[0].mTexCoord; - tc[1] = cv[1].mTexCoord; - tc[2] = cv[2].mTexCoord; - tc += 3; - + if(tc) + { + tc[0] = cv[0].mTexCoord; + tc[1] = cv[1].mTexCoord; + tc[2] = cv[2].mTexCoord; + tc += 3; + } + //side 3 cv[0].setPosition(p[3]); cv[1].setPosition(p[1]); @@ -2819,10 +2824,13 @@ void LLVolume::makeTetrahedron() n[2] = cv[2].getNormal(); n += 3; - tc[0] = cv[0].mTexCoord; - tc[1] = cv[1].mTexCoord; - tc[2] = cv[2].mTexCoord; - tc += 3; + if(tc) + { + tc[0] = cv[0].mTexCoord; + tc[1] = cv[1].mTexCoord; + tc[2] = cv[2].mTexCoord; + tc += 3; + } //side 4 cv[0].setPosition(p[2]); @@ -2841,10 +2849,13 @@ void LLVolume::makeTetrahedron() n[2] = cv[2].getNormal(); n += 3; - tc[0] = cv[0].mTexCoord; - tc[1] = cv[1].mTexCoord; - tc[2] = cv[2].mTexCoord; - tc += 3; + if(tc) + { + tc[0] = cv[0].mTexCoord; + tc[1] = cv[1].mTexCoord; + tc[2] = cv[2].mTexCoord; + tc += 3; + } //set index buffer for (U16 i = 0; i < 12; i++) @@ -5613,7 +5624,16 @@ LLVolumeFace& LLVolumeFace::operator=(const LLVolumeFace& src) LLVector4a::memcpyNonAliased16((F32*) mPositions, (F32*) src.mPositions, vert_size); LLVector4a::memcpyNonAliased16((F32*) mNormals, (F32*) src.mNormals, vert_size); - LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) src.mTexCoords, tc_size); + + if(src.mTexCoords) + { + LLVector4a::memcpyNonAliased16((F32*) mTexCoords, (F32*) src.mTexCoords, tc_size); + } + else + { + ll_aligned_free_16(mTexCoords) ; + mTexCoords = NULL ; + } if (src.mBinormals) diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 8f2f24b747..972f256076 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -260,7 +260,7 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa if (!tc_source) { - ll_aligned_free_16(face.mTexCoords); + ll_aligned_free_16(new_face.mTexCoords); new_face.mTexCoords = NULL; } @@ -291,7 +291,7 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa if (!tc_source) { - ll_aligned_free_16(face.mTexCoords); + ll_aligned_free_16(new_face.mTexCoords); new_face.mTexCoords = NULL; } } @@ -479,7 +479,7 @@ LLModel::EModelStatus load_face_from_dom_polylist(std::vector<LLVolumeFace>& fac if (!tc_source) { - ll_aligned_free_16(face.mTexCoords); + ll_aligned_free_16(new_face.mTexCoords); new_face.mTexCoords = NULL; } @@ -513,7 +513,7 @@ LLModel::EModelStatus load_face_from_dom_polylist(std::vector<LLVolumeFace>& fac if (!tc_source) { - ll_aligned_free_16(face.mTexCoords); + ll_aligned_free_16(new_face.mTexCoords); new_face.mTexCoords = NULL; } } @@ -713,7 +713,7 @@ LLModel::EModelStatus load_face_from_dom_polygons(std::vector<LLVolumeFace>& fac if (!t) { - ll_aligned_free_16(face.mTexCoords); + ll_aligned_free_16(new_face.mTexCoords); new_face.mTexCoords = NULL; } } @@ -1784,6 +1784,7 @@ bool LLModel::loadModel(std::istream& is) if (header[nm[lod]]["offset"].asInteger() == -1 || header[nm[lod]]["size"].asInteger() == 0 ) { //cannot load requested LOD + llwarns << "LoD data is invalid!" << llendl; return false; } @@ -1844,6 +1845,10 @@ bool LLModel::loadModel(std::istream& is) } return true; } + else + { + llwarns << "unpackVolumeFaces failed!" << llendl; + } return false; diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index e51ef8cfe7..bdc103b917 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -403,7 +403,7 @@ void LLShaderMgr::dumpObjectLog(GLhandleARB ret, BOOL warns) } else { - LL_INFOS("ShaderLoading") << log << LL_ENDL; + LL_DEBUGS("ShaderLoading") << log << LL_ENDL; } } } @@ -462,8 +462,15 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade GLcharARB* text[1024]; GLuint count = 0; - //set version to 1.20 - text[count++] = strdup("#version 120\n"); + if (gGLManager.mGLVersion < 3.f) + { + //set version to 1.20 + text[count++] = strdup("#version 120\n"); + } + else + { //set version to 1.30 + text[count++] = strdup("#version 130\n"); + } //copy preprocessor definitions into buffer for (std::map<std::string,std::string>::iterator iter = mDefinitions.begin(); iter != mDefinitions.end(); ++iter) @@ -515,17 +522,43 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade text[count++] = strdup("varying float vary_texture_index;\n"); text[count++] = strdup("vec4 diffuseLookup(vec2 texcoord)\n"); text[count++] = strdup("{\n"); - text[count++] = strdup("\tswitch (int(vary_texture_index+0.25))\n"); - text[count++] = strdup("\t{\n"); - //switch body - for (S32 i = 0; i < texture_index_channels; ++i) - { - std::string case_str = llformat("\t\tcase %d: return texture2D(tex%d, texcoord);\n", i, i); - text[count++] = strdup(case_str.c_str()); + + if (gGLManager.mGLVersion >= 3.f) + { + text[count++] = strdup("\tswitch (int(vary_texture_index+0.25))\n"); + text[count++] = strdup("\t{\n"); + + //switch body + for (S32 i = 0; i < texture_index_channels; ++i) + { + std::string case_str = llformat("\t\tcase %d: return texture2D(tex%d, texcoord);\n", i, i); + text[count++] = strdup(case_str.c_str()); + } + + text[count++] = strdup("\t}\n"); } + else + { + //switches aren't supported, make block that looks like: + /* + int ti = int(vary_texture_index+0.25); + if (ti == 0) return texture2D(tex0, texcoord); + if (ti == 1) return texture2D(tex1, texcoord); + . + . + . + if (ti == N) return texture2D(texN, texcoord); + */ + + text[count++] = strdup("int ti = int(vary_texture_index+0.25);\n"); + for (S32 i = 0; i < texture_index_channels; ++i) + { + std::string if_str = llformat("if (ti == %d) return texture2D(tex%d, texcoord);\n", i, i); + text[count++] = strdup(if_str.c_str()); + } + } - text[count++] = strdup("\t}\n"); text[count++] = strdup("\treturn vec4(0,0,0,0);\n"); text[count++] = strdup("}\n"); } diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 4a0b964e61..d5a7159ee3 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -240,7 +240,8 @@ void LLVertexBuffer::setupClientArrays(U32 data_mask) void LLVertexBuffer::drawArrays(U32 mode, const std::vector<LLVector3>& pos, const std::vector<LLVector3>& norm) { U32 count = pos.size(); - llassert(norm.size() >= pos.size()); + llassert_always(norm.size() >= pos.size()); + llassert_always(count > 0) ; unbind(); diff --git a/indra/llvfs/CMakeLists.txt b/indra/llvfs/CMakeLists.txt index b6d1ce61e5..2c581cf8d6 100644 --- a/indra/llvfs/CMakeLists.txt +++ b/indra/llvfs/CMakeLists.txt @@ -62,11 +62,15 @@ list(APPEND llvfs_SOURCE_FILES ${llvfs_HEADER_FILES}) add_library (llvfs ${llvfs_SOURCE_FILES}) -target_link_libraries(llvfs +set(vfs_BOOST_LIBRARIES ${BOOST_FILESYSTEM_LIBRARY} ${BOOST_SYSTEM_LIBRARY} ) +target_link_libraries(llvfs + ${vfs_BOOST_LIBRARIES} + ) + if (DARWIN) include(CMakeFindFrameworks) find_library(CARBON_LIBRARY Carbon) @@ -76,15 +80,21 @@ endif (DARWIN) # Add tests if (LL_TESTS) - include(LLAddBuildTest) - # UNIT TESTS - SET(llvfs_TEST_SOURCE_FILES - # none so far - ) - LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}") - - # INTEGRATION TESTS - set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) - # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. - LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}") + include(LLAddBuildTest) + # UNIT TESTS + SET(llvfs_TEST_SOURCE_FILES + lldiriterator.cpp + ) + + set_source_files_properties(lldiriterator.cpp + PROPERTIES + LL_TEST_ADDITIONAL_LIBRARIES "${vfs_BOOST_LIBRARIES}" + ) + LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}") + + # INTEGRATION TESTS + set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) + + # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. + LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}") endif (LL_TESTS) diff --git a/indra/llvfs/lldiriterator.cpp b/indra/llvfs/lldiriterator.cpp index 041436ed92..25550321f0 100644 --- a/indra/llvfs/lldiriterator.cpp +++ b/indra/llvfs/lldiriterator.cpp @@ -121,6 +121,14 @@ bool LLDirIterator::Impl::next(std::string &fname) return found; } +/** +Converts the incoming glob into a regex. This involves +converting incoming glob expressions to regex equivilents and +at the same time, escaping any regex meaningful characters which +do not have glob meaning, i.e. + .()+|^$ +in the input. +*/ std::string glob_to_regex(const std::string& glob) { std::string regex; @@ -135,9 +143,6 @@ std::string glob_to_regex(const std::string& glob) switch (c) { - case '.': - regex+="\\."; - break; case '*': if (glob.begin() == i) { @@ -170,8 +175,16 @@ std::string glob_to_regex(const std::string& glob) case '!': regex+= square_brace_open ? '^' : c; break; + case '.': // This collection have different regex meaning + case '^': // and so need escaping. + case '(': + case ')': + case '+': + case '|': + case '$': + regex += '\\'; default: - regex+=c; + regex += c; break; } diff --git a/indra/llvfs/tests/lldiriterator_test.cpp b/indra/llvfs/tests/lldiriterator_test.cpp new file mode 100644 index 0000000000..505d86faa7 --- /dev/null +++ b/indra/llvfs/tests/lldiriterator_test.cpp @@ -0,0 +1,65 @@ +/** + * @file lldiriterator_test.cpp + * @date 2011-06 + * @brief LLDirIterator test cases. + * + * $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 "lltut.h" +#include "../lldiriterator.h" + + +namespace tut +{ + + struct LLDirIteratorFixture + { + LLDirIteratorFixture() + { + } + }; + typedef test_group<LLDirIteratorFixture> LLDirIteratorTest_factory; + typedef LLDirIteratorTest_factory::object LLDirIteratorTest_t; + LLDirIteratorTest_factory tf("LLDirIterator"); + + /* + CHOP-662 was originally introduced to deal with crashes deleting files from + a directory (VWR-25500). However, this introduced a crash looking for + old chat logs as the glob_to_regex function in lldiriterator wasn't escaping lots of regexp characters + */ + void test_chop_662(void) + { + // Check a selection of bad group names from the crash reports + LLDirIterator iter(".","+bad-group-name]+??-??.*"); + LLDirIterator iter1(".","))--@---bad-group-name2((??-??.*\\.txt"); + LLDirIterator iter2(".","__^v--x)Cuide d sua vida(x--v^__??-??.*"); + } + + template<> template<> + void LLDirIteratorTest_t::test<1>() + { + test_chop_662(); + } + +} diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 8e0ad54931..d000248e8e 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -1977,7 +1977,7 @@ bool LLModelLoader::loadFromSLM(const std::string& filename) } else { - llassert(model[lod].empty()); + return false; } } } @@ -4107,18 +4107,20 @@ void LLModelPreview::updateStatusMessages() } else if (!verts[lod].empty()) { + S32 sum_verts_higher_lod = 0; + S32 sum_verts_this_lod = 0; for (U32 i = 0; i < verts[lod].size(); ++i) { - S32 max_verts = i < verts[lod+1].size() ? verts[lod+1][i] : 0; + sum_verts_higher_lod += ((i < verts[lod+1].size()) ? verts[lod+1][i] : 0); + sum_verts_this_lod += verts[lod][i]; + } - if (max_verts > 0) - { - if (verts[lod][i] > max_verts) - { //too many vertices in this lod - message = "mesh_status_too_many_vertices"; - upload_status[lod] = 2; - } - } + if ((sum_verts_higher_lod > 0) && + (sum_verts_this_lod > sum_verts_higher_lod)) + { + //too many vertices in this lod + message = "mesh_status_too_many_vertices"; + upload_status[lod] = 2; } } } @@ -4505,16 +4507,7 @@ void LLModelPreview::genBuffers(S32 lod, bool include_skin_weights) bool skinned = include_skin_weights && !mdl->mSkinWeights.empty(); - U32 mask = LLVertexBuffer::MAP_VERTEX; - - if (vf.mNormals) - { - mask |= LLVertexBuffer::MAP_NORMAL; - } - if (vf.mTexCoords) - { - mask |= LLVertexBuffer::MAP_TEXCOORD0; - } + U32 mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0 ; if (skinned) { diff --git a/indra/newview/llfloatermodelpreview.h b/indra/newview/llfloatermodelpreview.h index d78135779e..ab50890fb9 100644 --- a/indra/newview/llfloatermodelpreview.h +++ b/indra/newview/llfloatermodelpreview.h @@ -1,442 +1,442 @@ -/**
- * @file llfloatermodelpreview.h
- * @brief LLFloaterModelPreview class definition
- *
- * $LicenseInfo:firstyear=2004&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, 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 LL_LLFLOATERMODELPREVIEW_H
-#define LL_LLFLOATERMODELPREVIEW_H
-
-#include "llfloaternamedesc.h"
-
-#include "lldynamictexture.h"
-#include "llfloatermodelwizard.h"
-#include "llquaternion.h"
-#include "llmeshrepository.h"
-#include "llmodel.h"
-#include "llthread.h"
-#include "llviewermenufile.h"
-
-class LLComboBox;
-class LLJoint;
-class LLViewerJointMesh;
-class LLVOAvatar;
-class LLTextBox;
-class LLVertexBuffer;
-class LLModelPreview;
-class LLFloaterModelPreview;
-class daeElement;
-class domProfile_COMMON;
-class domInstance_geometry;
-class domNode;
-class domTranslate;
-class domController;
-class LLMenuButton;
-class LLToggleableMenu;
-
-typedef std::map<std::string, LLMatrix4> JointTransformMap;
-typedef std::map<std::string, LLMatrix4>:: iterator JointTransformMapIt;
-
-const S32 NUM_LOD = 4;
-
-class LLModelLoader : public LLThread
-{
-public:
- typedef enum
- {
- STARTING = 0,
- READING_FILE,
- CREATING_FACES,
- GENERATING_VERTEX_BUFFERS,
- GENERATING_LOD,
- DONE,
- ERROR_PARSING //basically loading failed
- } eLoadState;
-
- U32 mState;
- std::string mFilename;
- S32 mLod;
- LLModelPreview* mPreview;
- LLMatrix4 mTransform;
- BOOL mFirstTransform;
- LLVector3 mExtents[2];
- bool mTrySLM;
-
- std::map<daeElement*, LLPointer<LLModel> > mModel;
-
- typedef std::vector<LLPointer<LLModel> > model_list;
- model_list mModelList;
-
- typedef std::vector<LLModelInstance> model_instance_list;
-
- typedef std::map<LLMatrix4, model_instance_list > scene;
-
- scene mScene;
-
- typedef std::queue<LLPointer<LLModel> > model_queue;
-
- //queue of models that need a physics rep
- model_queue mPhysicsQ;
-
- LLModelLoader( std::string filename, S32 lod, LLModelPreview* preview, JointTransformMap& jointMap,
- std::deque<std::string>& jointsFromNodes );
- ~LLModelLoader() ;
-
- virtual void run();
- bool doLoadModel();
- bool loadFromSLM(const std::string& filename);
- void loadModelCallback();
-
- void loadTextures() ; //called in the main thread.
- void processElement(daeElement* element, bool& badElement);
- std::vector<LLImportMaterial> getMaterials(LLModel* model, domInstance_geometry* instance_geo);
- LLImportMaterial profileToMaterial(domProfile_COMMON* material);
- std::string getElementLabel(daeElement *element);
- LLColor4 getDaeColor(daeElement* element);
-
- daeElement* getChildFromElement( daeElement* pElement, std::string const & name );
-
- bool isNodeAJoint( domNode* pNode );
- void processJointNode( domNode* pNode, std::map<std::string,LLMatrix4>& jointTransforms );
- void extractTranslation( domTranslate* pTranslate, LLMatrix4& transform );
- void extractTranslationViaElement( daeElement* pTranslateElement, LLMatrix4& transform );
-
- void setLoadState(U32 state);
-
- void buildJointToNodeMappingFromScene( daeElement* pRoot );
- void processJointToNodeMapping( domNode* pNode );
-
-
- //map of avatar joints as named in COLLADA assets to internal joint names
- std::map<std::string, std::string> mJointMap;
- JointTransformMap& mJointList;
- std::deque<std::string>& mJointsFromNode;
-
- S32 mNumOfFetchingTextures ; //updated in the main thread
- bool areTexturesReady() { return !mNumOfFetchingTextures; } //called in the main thread.
-
-private:
- static std::list<LLModelLoader*> sActiveLoaderList;
- static bool isAlive(LLModelLoader* loader) ;
-};
-
-class LLFloaterModelPreview : public LLFloater
-{
-public:
-
- class DecompRequest : public LLPhysicsDecomp::Request
- {
- public:
- S32 mContinue;
- LLPointer<LLModel> mModel;
-
- DecompRequest(const std::string& stage, LLModel* mdl);
- virtual S32 statusCallback(const char* status, S32 p1, S32 p2);
- virtual void completed();
-
- };
- static LLFloaterModelPreview* sInstance;
-
- LLFloaterModelPreview(const LLSD& key);
- virtual ~LLFloaterModelPreview();
-
- virtual BOOL postBuild();
-
- BOOL handleMouseDown(S32 x, S32 y, MASK mask);
- BOOL handleMouseUp(S32 x, S32 y, MASK mask);
- BOOL handleHover(S32 x, S32 y, MASK mask);
- BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
-
- static void onMouseCaptureLostModelPreview(LLMouseHandler*);
- static void setUploadAmount(S32 amount) { sUploadAmount = amount; }
-
- void setDetails(F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost);
-
- static void onBrowseLOD(void* data);
-
- static void onReset(void* data);
-
- static void onUpload(void* data);
-
- static void onClearMaterials(void* data);
-
- static void refresh(LLUICtrl* ctrl, void* data);
-
- void updateResourceCost();
-
- void loadModel(S32 lod);
- void loadModel(S32 lod, const std::string& file_name);
-
- void onViewOptionChecked(const LLSD& userdata);
- bool isViewOptionChecked(const LLSD& userdata);
- bool isViewOptionEnabled(const LLSD& userdata);
- void setViewOptionEnabled(const std::string& option, bool enabled);
- void enableViewOption(const std::string& option);
- void disableViewOption(const std::string& option);
-
-protected:
- friend class LLModelPreview;
- friend class LLMeshFilePicker;
- friend class LLPhysicsDecomp;
-
- static void onImportScaleCommit(LLUICtrl*, void*);
- static void onPelvisOffsetCommit(LLUICtrl*, void*);
- static void onUploadJointsCommit(LLUICtrl*,void*);
- static void onUploadSkinCommit(LLUICtrl*,void*);
-
- static void onPhysicsLoadRadioCommit(LLUICtrl*,void *data);
-
- static void onPreviewLODCommit(LLUICtrl*,void*);
-
- static void onGenerateNormalsCommit(LLUICtrl*,void*);
-
- static void onAutoFillCommit(LLUICtrl*,void*);
- static void onLODParamCommit(LLUICtrl*,void*);
- static void onLODParamCommitTriangleLimit(LLUICtrl*,void*);
-
- static void onExplodeCommit(LLUICtrl*, void*);
-
- static void onPhysicsParamCommit(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsStageExecute(LLUICtrl* ctrl, void* userdata);
- static void onCancel(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsStageCancel(LLUICtrl* ctrl, void* userdata);
-
- static void onPhysicsBrowse(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsUseLOD(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsOptimize(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsDecomposeBack(LLUICtrl* ctrl, void* userdata);
- static void onPhysicsSimplifyBack(LLUICtrl* ctrl, void* userdata);
-
- void draw();
-
- void initDecompControls();
-
- void setStatusMessage(const std::string& msg);
-
- LLModelPreview* mModelPreview;
-
- LLPhysicsDecomp::decomp_params mDecompParams;
-
- S32 mLastMouseX;
- S32 mLastMouseY;
- LLRect mPreviewRect;
- U32 mGLName;
- static S32 sUploadAmount;
-
- std::set<LLPointer<DecompRequest> > mCurRequest;
- std::string mStatusMessage;
-
- //use "disabled" as false by default
- std::map<std::string, bool> mViewOptionDisabled;
-
- //store which lod mode each LOD is using
- // 0 - load from file
- // 1 - auto generate
- // 2 - None
- S32 mLODMode[4];
-
- LLMenuButton* mViewOptionMenuButton;
- LLToggleableMenu* mViewOptionMenu;
- LLMutex* mStatusLock;
-
-};
-
-class LLMeshFilePicker : public LLFilePickerThread
-{
-public:
- LLMeshFilePicker(LLModelPreview* mp, S32 lod);
- virtual void notify(const std::string& filename);
-
-private:
- LLModelPreview* mMP;
- S32 mLOD;
-};
-
-
-class LLModelPreview : public LLViewerDynamicTexture, public LLMutex
-{
- typedef boost::signals2::signal<void (F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost)> details_signal_t;
- typedef boost::signals2::signal<void (void)> model_loaded_signal_t;
-
-public:
- LLModelPreview(S32 width, S32 height, LLFloater* fmp);
- virtual ~LLModelPreview();
-
- void resetPreviewTarget();
- void setPreviewTarget(F32 distance);
- void setTexture(U32 name) { mTextureName = name; }
-
- void setPhysicsFromLOD(S32 lod);
- BOOL render();
- void update();
- void genBuffers(S32 lod, bool skinned);
- void clearBuffers();
- void refresh();
- void rotate(F32 yaw_radians, F32 pitch_radians);
- void zoom(F32 zoom_amt);
- void pan(F32 right, F32 up);
- virtual BOOL needsRender() { return mNeedsUpdate; }
- void setPreviewLOD(S32 lod);
- void clearModel(S32 lod);
- void loadModel(std::string filename, S32 lod);
- void loadModelCallback(S32 lod);
- void genLODs(S32 which_lod = -1, U32 decimation = 3, bool enforce_tri_limit = false);
- void generateNormals();
- void clearMaterials();
- U32 calcResourceCost();
- void rebuildUploadData();
- void saveUploadData(bool save_skinweights, bool save_joint_poisitions);
- void saveUploadData(const std::string& filename, bool save_skinweights, bool save_joint_poisitions);
- void clearIncompatible(S32 lod);
- void updateStatusMessages();
- void clearGLODGroup();
- void onLODParamCommit(bool enforce_tri_limit);
-
- const bool getModelPivot( void ) const { return mHasPivot; }
- void setHasPivot( bool val ) { mHasPivot = val; }
- void setModelPivot( const LLVector3& pivot ) { mModelPivot = pivot; }
-
- //Determines the viability of an asset to be used as an avatar rig (w or w/o joint upload caps)
- void critiqueRigForUploadApplicability( const std::vector<std::string> &jointListFromAsset );
- void critiqueJointToNodeMappingFromScene( void );
- //Is a rig valid so that it can be used as a criteria for allowing for uploading of joint positions
- //Accessors for joint position upload friendly rigs
- const bool isRigValidForJointPositionUpload( void ) const { return mRigValidJointUpload; }
- void setRigValidForJointPositionUpload( bool rigValid ) { mRigValidJointUpload = rigValid; }
- bool isRigSuitableForJointPositionUpload( const std::vector<std::string> &jointListFromAsset );
- //Determines if a rig is a legacy from the joint list
- bool isRigLegacy( const std::vector<std::string> &jointListFromAsset );
- //Accessors for the legacy rigs
- const bool isLegacyRigValid( void ) const { return mLegacyRigValid; }
- void setLegacyRigValid( bool rigValid ) { mLegacyRigValid = rigValid; }
- //Verify that a controller matches vertex counts
- bool verifyController( domController* pController );
-
- static void textureLoadedCallback( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata );
-
- boost::signals2::connection setDetailsCallback( const details_signal_t::slot_type& cb ){ return mDetailsSignal.connect(cb); }
- boost::signals2::connection setModelLoadedCallback( const model_loaded_signal_t::slot_type& cb ){ return mModelLoadedSignal.connect(cb); }
-
- void setLoadState( U32 state ) { mLoadState = state; }
- U32 getLoadState() { return mLoadState; }
- //setRestJointFlag: If an asset comes through that changes the joints, we want the reset to persist
- void setResetJointFlag( bool state ) { if ( !mResetJoints ) mResetJoints = state; }
- const bool getResetJointFlag( void ) const { return mResetJoints; }
- void setRigWithSceneParity( bool state ) { mRigParityWithScene = state; }
- const bool getRigWithSceneParity( void ) const { return mRigParityWithScene; }
-
- LLVector3 getTranslationForJointOffset( std::string joint );
-
-private:
- //Utility function for controller vertex compare
- bool verifyCount( int expected, int result );
- //Creates the dummy avatar for the preview window
- void createPreviewAvatar( void );
- //Accessor for the dummy avatar
- LLVOAvatar* getPreviewAvatar( void ) { return mPreviewAvatar; }
-
- protected:
- friend class LLModelLoader;
- friend class LLFloaterModelPreview;
- friend class LLFloaterModelWizard;
- friend class LLFloaterModelPreview::DecompRequest;
- friend class LLFloaterModelWizard::DecompRequest;
- friend class LLPhysicsDecomp;
-
- LLFloater* mFMP;
-
- BOOL mNeedsUpdate;
- bool mDirty;
- bool mGenLOD;
- U32 mTextureName;
- F32 mCameraDistance;
- F32 mCameraYaw;
- F32 mCameraPitch;
- F32 mCameraZoom;
- LLVector3 mCameraOffset;
- LLVector3 mPreviewTarget;
- LLVector3 mPreviewScale;
- S32 mPreviewLOD;
- U32 mResourceCost;
- std::string mLODFile[LLModel::NUM_LODS];
- bool mLoading;
- U32 mLoadState;
- bool mResetJoints;
- bool mRigParityWithScene;
-
- std::map<std::string, bool> mViewOption;
-
- //GLOD object parameters (must rebuild object if these change)
- bool mLODFrozen;
- F32 mBuildShareTolerance;
- U32 mBuildQueueMode;
- U32 mBuildOperator;
- U32 mBuildBorderMode;
- U32 mRequestedLoDMode[LLModel::NUM_LODS];
- S32 mRequestedTriangleCount[LLModel::NUM_LODS];
- F32 mRequestedErrorThreshold[LLModel::NUM_LODS];
- U32 mRequestedBuildOperator[LLModel::NUM_LODS];
- U32 mRequestedQueueMode[LLModel::NUM_LODS];
- U32 mRequestedBorderMode[LLModel::NUM_LODS];
- F32 mRequestedShareTolerance[LLModel::NUM_LODS];
- F32 mRequestedCreaseAngle[LLModel::NUM_LODS];
-
- LLModelLoader* mModelLoader;
-
- LLModelLoader::scene mScene[LLModel::NUM_LODS];
- LLModelLoader::scene mBaseScene;
-
- LLModelLoader::model_list mModel[LLModel::NUM_LODS];
- LLModelLoader::model_list mBaseModel;
-
- U32 mGroup;
- std::map<LLPointer<LLModel>, U32> mObject;
- U32 mMaxTriangleLimit;
-
- LLMeshUploadThread::instance_list mUploadData;
- std::set<LLViewerFetchedTexture* > mTextureSet;
-
- //map of vertex buffers to models (one vertex buffer in vector per face in model
- std::map<LLModel*, std::vector<LLPointer<LLVertexBuffer> > > mVertexBuffer[LLModel::NUM_LODS+1];
-
- details_signal_t mDetailsSignal;
- model_loaded_signal_t mModelLoadedSignal;
-
- LLVector3 mModelPivot;
- bool mHasPivot;
-
- float mPelvisZOffset;
-
- bool mRigValidJointUpload;
- bool mLegacyRigValid;
-
- bool mLastJointUpdate;
-
- std::deque<std::string> mMasterJointList;
- std::deque<std::string> mMasterLegacyJointList;
- std::deque<std::string> mJointsFromNode;
- JointTransformMap mJointTransformMap;
- LLPointer<LLVOAvatar> mPreviewAvatar;
-};
-
-#endif // LL_LLFLOATERMODELPREVIEW_H
+/** + * @file llfloatermodelpreview.h + * @brief LLFloaterModelPreview class definition + * + * $LicenseInfo:firstyear=2004&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, 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 LL_LLFLOATERMODELPREVIEW_H +#define LL_LLFLOATERMODELPREVIEW_H + +#include "llfloaternamedesc.h" + +#include "lldynamictexture.h" +#include "llfloatermodelwizard.h" +#include "llquaternion.h" +#include "llmeshrepository.h" +#include "llmodel.h" +#include "llthread.h" +#include "llviewermenufile.h" + +class LLComboBox; +class LLJoint; +class LLViewerJointMesh; +class LLVOAvatar; +class LLTextBox; +class LLVertexBuffer; +class LLModelPreview; +class LLFloaterModelPreview; +class daeElement; +class domProfile_COMMON; +class domInstance_geometry; +class domNode; +class domTranslate; +class domController; +class LLMenuButton; +class LLToggleableMenu; + +typedef std::map<std::string, LLMatrix4> JointTransformMap; +typedef std::map<std::string, LLMatrix4>:: iterator JointTransformMapIt; + +const S32 NUM_LOD = 4; + +class LLModelLoader : public LLThread +{ +public: + typedef enum + { + STARTING = 0, + READING_FILE, + CREATING_FACES, + GENERATING_VERTEX_BUFFERS, + GENERATING_LOD, + DONE, + ERROR_PARSING //basically loading failed + } eLoadState; + + U32 mState; + std::string mFilename; + S32 mLod; + LLModelPreview* mPreview; + LLMatrix4 mTransform; + BOOL mFirstTransform; + LLVector3 mExtents[2]; + bool mTrySLM; + + std::map<daeElement*, LLPointer<LLModel> > mModel; + + typedef std::vector<LLPointer<LLModel> > model_list; + model_list mModelList; + + typedef std::vector<LLModelInstance> model_instance_list; + + typedef std::map<LLMatrix4, model_instance_list > scene; + + scene mScene; + + typedef std::queue<LLPointer<LLModel> > model_queue; + + //queue of models that need a physics rep + model_queue mPhysicsQ; + + LLModelLoader( std::string filename, S32 lod, LLModelPreview* preview, JointTransformMap& jointMap, + std::deque<std::string>& jointsFromNodes ); + ~LLModelLoader() ; + + virtual void run(); + bool doLoadModel(); + bool loadFromSLM(const std::string& filename); + void loadModelCallback(); + + void loadTextures() ; //called in the main thread. + void processElement(daeElement* element, bool& badElement); + std::vector<LLImportMaterial> getMaterials(LLModel* model, domInstance_geometry* instance_geo); + LLImportMaterial profileToMaterial(domProfile_COMMON* material); + std::string getElementLabel(daeElement *element); + LLColor4 getDaeColor(daeElement* element); + + daeElement* getChildFromElement( daeElement* pElement, std::string const & name ); + + bool isNodeAJoint( domNode* pNode ); + void processJointNode( domNode* pNode, std::map<std::string,LLMatrix4>& jointTransforms ); + void extractTranslation( domTranslate* pTranslate, LLMatrix4& transform ); + void extractTranslationViaElement( daeElement* pTranslateElement, LLMatrix4& transform ); + + void setLoadState(U32 state); + + void buildJointToNodeMappingFromScene( daeElement* pRoot ); + void processJointToNodeMapping( domNode* pNode ); + + + //map of avatar joints as named in COLLADA assets to internal joint names + std::map<std::string, std::string> mJointMap; + JointTransformMap& mJointList; + std::deque<std::string>& mJointsFromNode; + + S32 mNumOfFetchingTextures ; //updated in the main thread + bool areTexturesReady() { return !mNumOfFetchingTextures; } //called in the main thread. + +private: + static std::list<LLModelLoader*> sActiveLoaderList; + static bool isAlive(LLModelLoader* loader) ; +}; + +class LLFloaterModelPreview : public LLFloater +{ +public: + + class DecompRequest : public LLPhysicsDecomp::Request + { + public: + S32 mContinue; + LLPointer<LLModel> mModel; + + DecompRequest(const std::string& stage, LLModel* mdl); + virtual S32 statusCallback(const char* status, S32 p1, S32 p2); + virtual void completed(); + + }; + static LLFloaterModelPreview* sInstance; + + LLFloaterModelPreview(const LLSD& key); + virtual ~LLFloaterModelPreview(); + + virtual BOOL postBuild(); + + BOOL handleMouseDown(S32 x, S32 y, MASK mask); + BOOL handleMouseUp(S32 x, S32 y, MASK mask); + BOOL handleHover(S32 x, S32 y, MASK mask); + BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); + + static void onMouseCaptureLostModelPreview(LLMouseHandler*); + static void setUploadAmount(S32 amount) { sUploadAmount = amount; } + + void setDetails(F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost); + + static void onBrowseLOD(void* data); + + static void onReset(void* data); + + static void onUpload(void* data); + + static void onClearMaterials(void* data); + + static void refresh(LLUICtrl* ctrl, void* data); + + void updateResourceCost(); + + void loadModel(S32 lod); + void loadModel(S32 lod, const std::string& file_name); + + void onViewOptionChecked(const LLSD& userdata); + bool isViewOptionChecked(const LLSD& userdata); + bool isViewOptionEnabled(const LLSD& userdata); + void setViewOptionEnabled(const std::string& option, bool enabled); + void enableViewOption(const std::string& option); + void disableViewOption(const std::string& option); + +protected: + friend class LLModelPreview; + friend class LLMeshFilePicker; + friend class LLPhysicsDecomp; + + static void onImportScaleCommit(LLUICtrl*, void*); + static void onPelvisOffsetCommit(LLUICtrl*, void*); + static void onUploadJointsCommit(LLUICtrl*,void*); + static void onUploadSkinCommit(LLUICtrl*,void*); + + static void onPhysicsLoadRadioCommit(LLUICtrl*,void *data); + + static void onPreviewLODCommit(LLUICtrl*,void*); + + static void onGenerateNormalsCommit(LLUICtrl*,void*); + + static void onAutoFillCommit(LLUICtrl*,void*); + static void onLODParamCommit(LLUICtrl*,void*); + static void onLODParamCommitTriangleLimit(LLUICtrl*,void*); + + static void onExplodeCommit(LLUICtrl*, void*); + + static void onPhysicsParamCommit(LLUICtrl* ctrl, void* userdata); + static void onPhysicsStageExecute(LLUICtrl* ctrl, void* userdata); + static void onCancel(LLUICtrl* ctrl, void* userdata); + static void onPhysicsStageCancel(LLUICtrl* ctrl, void* userdata); + + static void onPhysicsBrowse(LLUICtrl* ctrl, void* userdata); + static void onPhysicsUseLOD(LLUICtrl* ctrl, void* userdata); + static void onPhysicsOptimize(LLUICtrl* ctrl, void* userdata); + static void onPhysicsDecomposeBack(LLUICtrl* ctrl, void* userdata); + static void onPhysicsSimplifyBack(LLUICtrl* ctrl, void* userdata); + + void draw(); + + void initDecompControls(); + + void setStatusMessage(const std::string& msg); + + LLModelPreview* mModelPreview; + + LLPhysicsDecomp::decomp_params mDecompParams; + + S32 mLastMouseX; + S32 mLastMouseY; + LLRect mPreviewRect; + U32 mGLName; + static S32 sUploadAmount; + + std::set<LLPointer<DecompRequest> > mCurRequest; + std::string mStatusMessage; + + //use "disabled" as false by default + std::map<std::string, bool> mViewOptionDisabled; + + //store which lod mode each LOD is using + // 0 - load from file + // 1 - auto generate + // 2 - None + S32 mLODMode[4]; + + LLMenuButton* mViewOptionMenuButton; + LLToggleableMenu* mViewOptionMenu; + LLMutex* mStatusLock; + +}; + +class LLMeshFilePicker : public LLFilePickerThread +{ +public: + LLMeshFilePicker(LLModelPreview* mp, S32 lod); + virtual void notify(const std::string& filename); + +private: + LLModelPreview* mMP; + S32 mLOD; +}; + + +class LLModelPreview : public LLViewerDynamicTexture, public LLMutex +{ + typedef boost::signals2::signal<void (F32 x, F32 y, F32 z, F32 streaming_cost, F32 physics_cost)> details_signal_t; + typedef boost::signals2::signal<void (void)> model_loaded_signal_t; + +public: + LLModelPreview(S32 width, S32 height, LLFloater* fmp); + virtual ~LLModelPreview(); + + void resetPreviewTarget(); + void setPreviewTarget(F32 distance); + void setTexture(U32 name) { mTextureName = name; } + + void setPhysicsFromLOD(S32 lod); + BOOL render(); + void update(); + void genBuffers(S32 lod, bool skinned); + void clearBuffers(); + void refresh(); + void rotate(F32 yaw_radians, F32 pitch_radians); + void zoom(F32 zoom_amt); + void pan(F32 right, F32 up); + virtual BOOL needsRender() { return mNeedsUpdate; } + void setPreviewLOD(S32 lod); + void clearModel(S32 lod); + void loadModel(std::string filename, S32 lod); + void loadModelCallback(S32 lod); + void genLODs(S32 which_lod = -1, U32 decimation = 3, bool enforce_tri_limit = false); + void generateNormals(); + void clearMaterials(); + U32 calcResourceCost(); + void rebuildUploadData(); + void saveUploadData(bool save_skinweights, bool save_joint_poisitions); + void saveUploadData(const std::string& filename, bool save_skinweights, bool save_joint_poisitions); + void clearIncompatible(S32 lod); + void updateStatusMessages(); + void clearGLODGroup(); + void onLODParamCommit(bool enforce_tri_limit); + + const bool getModelPivot( void ) const { return mHasPivot; } + void setHasPivot( bool val ) { mHasPivot = val; } + void setModelPivot( const LLVector3& pivot ) { mModelPivot = pivot; } + + //Determines the viability of an asset to be used as an avatar rig (w or w/o joint upload caps) + void critiqueRigForUploadApplicability( const std::vector<std::string> &jointListFromAsset ); + void critiqueJointToNodeMappingFromScene( void ); + //Is a rig valid so that it can be used as a criteria for allowing for uploading of joint positions + //Accessors for joint position upload friendly rigs + const bool isRigValidForJointPositionUpload( void ) const { return mRigValidJointUpload; } + void setRigValidForJointPositionUpload( bool rigValid ) { mRigValidJointUpload = rigValid; } + bool isRigSuitableForJointPositionUpload( const std::vector<std::string> &jointListFromAsset ); + //Determines if a rig is a legacy from the joint list + bool isRigLegacy( const std::vector<std::string> &jointListFromAsset ); + //Accessors for the legacy rigs + const bool isLegacyRigValid( void ) const { return mLegacyRigValid; } + void setLegacyRigValid( bool rigValid ) { mLegacyRigValid = rigValid; } + //Verify that a controller matches vertex counts + bool verifyController( domController* pController ); + + static void textureLoadedCallback( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata ); + + boost::signals2::connection setDetailsCallback( const details_signal_t::slot_type& cb ){ return mDetailsSignal.connect(cb); } + boost::signals2::connection setModelLoadedCallback( const model_loaded_signal_t::slot_type& cb ){ return mModelLoadedSignal.connect(cb); } + + void setLoadState( U32 state ) { mLoadState = state; } + U32 getLoadState() { return mLoadState; } + //setRestJointFlag: If an asset comes through that changes the joints, we want the reset to persist + void setResetJointFlag( bool state ) { if ( !mResetJoints ) mResetJoints = state; } + const bool getResetJointFlag( void ) const { return mResetJoints; } + void setRigWithSceneParity( bool state ) { mRigParityWithScene = state; } + const bool getRigWithSceneParity( void ) const { return mRigParityWithScene; } + + LLVector3 getTranslationForJointOffset( std::string joint ); + +private: + //Utility function for controller vertex compare + bool verifyCount( int expected, int result ); + //Creates the dummy avatar for the preview window + void createPreviewAvatar( void ); + //Accessor for the dummy avatar + LLVOAvatar* getPreviewAvatar( void ) { return mPreviewAvatar; } + + protected: + friend class LLModelLoader; + friend class LLFloaterModelPreview; + friend class LLFloaterModelWizard; + friend class LLFloaterModelPreview::DecompRequest; + friend class LLFloaterModelWizard::DecompRequest; + friend class LLPhysicsDecomp; + + LLFloater* mFMP; + + BOOL mNeedsUpdate; + bool mDirty; + bool mGenLOD; + U32 mTextureName; + F32 mCameraDistance; + F32 mCameraYaw; + F32 mCameraPitch; + F32 mCameraZoom; + LLVector3 mCameraOffset; + LLVector3 mPreviewTarget; + LLVector3 mPreviewScale; + S32 mPreviewLOD; + U32 mResourceCost; + std::string mLODFile[LLModel::NUM_LODS]; + bool mLoading; + U32 mLoadState; + bool mResetJoints; + bool mRigParityWithScene; + + std::map<std::string, bool> mViewOption; + + //GLOD object parameters (must rebuild object if these change) + bool mLODFrozen; + F32 mBuildShareTolerance; + U32 mBuildQueueMode; + U32 mBuildOperator; + U32 mBuildBorderMode; + U32 mRequestedLoDMode[LLModel::NUM_LODS]; + S32 mRequestedTriangleCount[LLModel::NUM_LODS]; + F32 mRequestedErrorThreshold[LLModel::NUM_LODS]; + U32 mRequestedBuildOperator[LLModel::NUM_LODS]; + U32 mRequestedQueueMode[LLModel::NUM_LODS]; + U32 mRequestedBorderMode[LLModel::NUM_LODS]; + F32 mRequestedShareTolerance[LLModel::NUM_LODS]; + F32 mRequestedCreaseAngle[LLModel::NUM_LODS]; + + LLModelLoader* mModelLoader; + + LLModelLoader::scene mScene[LLModel::NUM_LODS]; + LLModelLoader::scene mBaseScene; + + LLModelLoader::model_list mModel[LLModel::NUM_LODS]; + LLModelLoader::model_list mBaseModel; + + U32 mGroup; + std::map<LLPointer<LLModel>, U32> mObject; + U32 mMaxTriangleLimit; + + LLMeshUploadThread::instance_list mUploadData; + std::set<LLViewerFetchedTexture* > mTextureSet; + + //map of vertex buffers to models (one vertex buffer in vector per face in model + std::map<LLModel*, std::vector<LLPointer<LLVertexBuffer> > > mVertexBuffer[LLModel::NUM_LODS+1]; + + details_signal_t mDetailsSignal; + model_loaded_signal_t mModelLoadedSignal; + + LLVector3 mModelPivot; + bool mHasPivot; + + float mPelvisZOffset; + + bool mRigValidJointUpload; + bool mLegacyRigValid; + + bool mLastJointUpdate; + + std::deque<std::string> mMasterJointList; + std::deque<std::string> mMasterLegacyJointList; + std::deque<std::string> mJointsFromNode; + JointTransformMap mJointTransformMap; + LLPointer<LLVOAvatar> mPreviewAvatar; +}; + +#endif // LL_LLFLOATERMODELPREVIEW_H diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index efc4e23838..ebb5912ace 100644 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -230,7 +230,7 @@ std::string LLLogChat::makeLogFileName(std::string filename) std::string LLLogChat::cleanFileName(std::string filename) { - std::string invalidChars = "\"\'\\/?*:.<>|"; + std::string invalidChars = "\"\'\\/?*:.<>|[]{}~"; // Cannot match glob or illegal filename chars std::string::size_type position = filename.find_first_of(invalidChars); while (position != filename.npos) { diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 2b340fc54d..4da5da9493 100755 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -78,6 +78,14 @@ LLMeshRepository gMeshRepo; const U32 MAX_MESH_REQUESTS_PER_SECOND = 100; +// Maximum mesh version to support. Three least significant digits are reserved for the minor version, +// with major version changes indicating a format change that is not backwards compatible and should not +// be parsed by viewers that don't specifically support that version. For example, if the integer "1" is +// present, the version is 0.001. A viewer that can parse version 0.001 can also parse versions up to 0.999, +// but not 1.0 (integer 1000). +// See wiki at https://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format +const S32 MAX_MESH_VERSION = 999; + U32 LLMeshRepository::sBytesReceived = 0; U32 LLMeshRepository::sHTTPRequestCount = 0; U32 LLMeshRepository::sHTTPRetryCount = 0; @@ -843,12 +851,13 @@ bool LLMeshRepoThread::fetchMeshSkinInfo(const LLUUID& mesh_id) if (header_size > 0) { + S32 version = mMeshHeader[mesh_id]["version"].asInteger(); S32 offset = header_size + mMeshHeader[mesh_id]["skin"]["offset"].asInteger(); S32 size = mMeshHeader[mesh_id]["skin"]["size"].asInteger(); mHeaderMutex->unlock(); - if (offset >= 0 && size > 0) + if (version <= MAX_MESH_VERSION && offset >= 0 && size > 0) { //check VFS for mesh skin info LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); @@ -915,12 +924,13 @@ bool LLMeshRepoThread::fetchMeshDecomposition(const LLUUID& mesh_id) if (header_size > 0) { + S32 version = mMeshHeader[mesh_id]["version"].asInteger(); S32 offset = header_size + mMeshHeader[mesh_id]["physics_convex"]["offset"].asInteger(); S32 size = mMeshHeader[mesh_id]["physics_convex"]["size"].asInteger(); mHeaderMutex->unlock(); - if (offset >= 0 && size > 0) + if (version <= MAX_MESH_VERSION && offset >= 0 && size > 0) { //check VFS for mesh skin info LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); @@ -987,12 +997,13 @@ bool LLMeshRepoThread::fetchMeshPhysicsShape(const LLUUID& mesh_id) if (header_size > 0) { + S32 version = mMeshHeader[mesh_id]["version"].asInteger(); S32 offset = header_size + mMeshHeader[mesh_id]["physics_mesh"]["offset"].asInteger(); S32 size = mMeshHeader[mesh_id]["physics_mesh"]["size"].asInteger(); mHeaderMutex->unlock(); - if (offset >= 0 && size > 0) + if (version <= MAX_MESH_VERSION && offset >= 0 && size > 0) { //check VFS for mesh physics shape info LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH); @@ -1103,10 +1114,12 @@ bool LLMeshRepoThread::fetchMeshLOD(const LLVolumeParams& mesh_params, S32 lod) if (header_size > 0) { + S32 version = mMeshHeader[mesh_id]["version"].asInteger(); S32 offset = header_size + mMeshHeader[mesh_id][header_lod[lod]]["offset"].asInteger(); S32 size = mMeshHeader[mesh_id][header_lod[lod]]["size"].asInteger(); mHeaderMutex->unlock(); - if (offset >= 0 && size > 0) + + if (version <= MAX_MESH_VERSION && offset >= 0 && size > 0) { //check VFS for mesh asset @@ -1575,6 +1588,11 @@ void LLMeshUploadThread::wholeModelToLLSD(LLSD& dest, bool include_textures) for (S32 face_num = 0; face_num < data.mBaseModel->getNumVolumeFaces(); face_num++) { + if(face_num >= instance.mMaterial.size()) + { + break ; + } + LLImportMaterial& material = instance.mMaterial[face_num]; LLSD face_entry = LLSD::emptyMap(); LLViewerFetchedTexture *texture = material.mDiffuseMap.get(); @@ -1801,7 +1819,9 @@ S32 LLMeshRepository::getActualMeshLOD(LLSD& header, S32 lod) { lod = llclamp(lod, 0, 3); - if (header.has("404")) + S32 version = header["version"]; + + if (header.has("404") || version > MAX_MESH_VERSION) { return -1; } @@ -2137,54 +2157,59 @@ void LLMeshHeaderResponder::completedRaw(U32 status, const std::string& reason, LLUUID mesh_id = mMeshParams.getSculptID(); LLSD header = gMeshRepo.mThread->mMeshHeader[mesh_id]; - std::stringstream str; + S32 version = header["version"].asInteger(); - S32 lod_bytes = 0; + if (version <= MAX_MESH_VERSION) + { + std::stringstream str; - for (U32 i = 0; i < LLModel::LOD_PHYSICS; ++i) - { //figure out how many bytes we'll need to reserve in the file - std::string lod_name = header_lod[i]; - lod_bytes = llmax(lod_bytes, header[lod_name]["offset"].asInteger()+header[lod_name]["size"].asInteger()); - } + S32 lod_bytes = 0; + + for (U32 i = 0; i < LLModel::LOD_PHYSICS; ++i) + { //figure out how many bytes we'll need to reserve in the file + std::string lod_name = header_lod[i]; + lod_bytes = llmax(lod_bytes, header[lod_name]["offset"].asInteger()+header[lod_name]["size"].asInteger()); + } - //just in case skin info or decomposition is at the end of the file (which it shouldn't be) - lod_bytes = llmax(lod_bytes, header["skin"]["offset"].asInteger() + header["skin"]["size"].asInteger()); - lod_bytes = llmax(lod_bytes, header["physics_convex"]["offset"].asInteger() + header["physics_convex"]["size"].asInteger()); + //just in case skin info or decomposition is at the end of the file (which it shouldn't be) + lod_bytes = llmax(lod_bytes, header["skin"]["offset"].asInteger() + header["skin"]["size"].asInteger()); + lod_bytes = llmax(lod_bytes, header["physics_convex"]["offset"].asInteger() + header["physics_convex"]["size"].asInteger()); - S32 header_bytes = (S32) gMeshRepo.mThread->mMeshHeaderSize[mesh_id]; - S32 bytes = lod_bytes + header_bytes; + S32 header_bytes = (S32) gMeshRepo.mThread->mMeshHeaderSize[mesh_id]; + S32 bytes = lod_bytes + header_bytes; - //it's possible for the remote asset to have more data than is needed for the local cache - //only allocate as much space in the VFS as is needed for the local cache - data_size = llmin(data_size, bytes); + //it's possible for the remote asset to have more data than is needed for the local cache + //only allocate as much space in the VFS as is needed for the local cache + data_size = llmin(data_size, bytes); - LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH, LLVFile::WRITE); - if (file.getMaxSize() >= bytes || file.setMaxSize(bytes)) - { - LLMeshRepository::sCacheBytesWritten += data_size; + LLVFile file(gVFS, mesh_id, LLAssetType::AT_MESH, LLVFile::WRITE); + if (file.getMaxSize() >= bytes || file.setMaxSize(bytes)) + { + LLMeshRepository::sCacheBytesWritten += data_size; - file.write((const U8*) data, data_size); + file.write((const U8*) data, data_size); - //zero out the rest of the file - U8 block[4096]; - memset(block, 0, 4096); + //zero out the rest of the file + U8 block[4096]; + memset(block, 0, 4096); - while (bytes-file.tell() > 4096) - { - file.write(block, 4096); - } + while (bytes-file.tell() > 4096) + { + file.write(block, 4096); + } - S32 remaining = bytes-file.tell(); + S32 remaining = bytes-file.tell(); - if (remaining < 0 || remaining > 4096) - { - llerrs << "Bad padding of mesh asset cache entry." << llendl; - } + if (remaining < 0 || remaining > 4096) + { + llerrs << "Bad padding of mesh asset cache entry." << llendl; + } - if (remaining > 0) - { - file.write(block, remaining); + if (remaining > 0) + { + file.write(block, remaining); + } } } } @@ -3164,10 +3189,13 @@ F32 LLMeshRepository::getStreamingCost(LLSD& header, F32 radius, S32* bytes, S32 F32 dlow = llmin(radius/0.06f, 256.f); F32 dmid = llmin(radius/0.24f, 256.f); - F32 bytes_lowest = header["lowest_lod"]["size"].asReal()/1024.f; - F32 bytes_low = header["low_lod"]["size"].asReal()/1024.f; - F32 bytes_mid = header["medium_lod"]["size"].asReal()/1024.f; - F32 bytes_high = header["high_lod"]["size"].asReal()/1024.f; + F32 METADATA_DISCOUNT = 128.f; //discount 128 bytes to cover the cost of LLSD tags and compression domain overhead + F32 MINIMUM_SIZE = 32.f; //make sure nothing is "free" + + F32 bytes_lowest = llmax((F32) header["lowest_lod"]["size"].asReal()-METADATA_DISCOUNT, MINIMUM_SIZE)/1024.f; + F32 bytes_low = llmax((F32) header["low_lod"]["size"].asReal()/-METADATA_DISCOUNT, MINIMUM_SIZE)/1024.f; + F32 bytes_mid = llmax((F32) header["medium_lod"]["size"].asReal()-METADATA_DISCOUNT, MINIMUM_SIZE)/1024.f; + F32 bytes_high = llmax((F32) header["high_lod"]["size"].asReal()-METADATA_DISCOUNT, MINIMUM_SIZE)/1024.f; if (bytes) { diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index d0810d0772..27f341b4f6 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -34,7 +34,6 @@ #include "llmd5.h" #include "llsecondlifeurls.h" #include "v4color.h" -#include "llversionviewer.h" #include "llappviewer.h" #include "llbutton.h" @@ -748,20 +747,12 @@ void LLPanelLogin::loadLoginPage() LLVersionInfo::getShortVersion().c_str(), LLVersionInfo::getBuild()); - char* curl_channel ; + char* curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0); char* curl_version = curl_escape(version.c_str(), 0); - if(strcmp(LLVersionInfo::getChannel().c_str(), LL_CHANNEL)) - { - curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0); - } - else //if LL_CHANNEL, direct it to "Second Life Beta Viewer". - { - curl_channel = curl_escape("Second Life Beta Viewer", 0); - } oStr << "&channel=" << curl_channel; oStr << "&version=" << curl_version; - + curl_free(curl_channel); curl_free(curl_version); diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp index 9f3ee6ac5d..4974dde282 100644 --- a/indra/newview/llpreviewnotecard.cpp +++ b/indra/newview/llpreviewnotecard.cpp @@ -401,15 +401,14 @@ struct LLSaveNotecardInfo bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem) { - if(!gAssetStorage) + LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor"); + + if(!editor) { - llwarns << "Not connected to an asset storage system." << llendl; + llwarns << "Cannot get handle to the notecard editor." << llendl; return false; } - - LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor"); - if(!editor->isPristine()) { // We need to update the asset information @@ -436,8 +435,15 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem) // save it out to database if (item) { - std::string agent_url = gAgent.getRegion()->getCapability("UpdateNotecardAgentInventory"); - std::string task_url = gAgent.getRegion()->getCapability("UpdateNotecardTaskInventory"); + const LLViewerRegion* region = gAgent.getRegion(); + if (!region) + { + llwarns << "Not connected to a region, cannot save notecard." << llendl; + return false; + } + std::string agent_url = region->getCapability("UpdateNotecardAgentInventory"); + std::string task_url = region->getCapability("UpdateNotecardTaskInventory"); + if (mObjectUUID.isNull() && !agent_url.empty()) { // Saving into agent inventory @@ -472,6 +478,11 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem) (void*)info, FALSE); } + else // !gAssetStorage + { + llwarns << "Not connected to an asset storage system." << llendl; + return false; + } } } return true; diff --git a/indra/newview/llsurface.cpp b/indra/newview/llsurface.cpp index bccabe21a8..66df7dae3e 100644 --- a/indra/newview/llsurface.cpp +++ b/indra/newview/llsurface.cpp @@ -334,6 +334,17 @@ void LLSurface::setOriginGlobal(const LLVector3d &origin_global) } } +void LLSurface::getNeighboringRegions( std::vector<LLViewerRegion*>& uniqueRegions ) +{ + S32 i; + for (i = 0; i < 8; i++) + { + if ( mNeighbors[i] != NULL ) + { + uniqueRegions.push_back( mNeighbors[i]->getRegion() ); + } + } +} void LLSurface::connectNeighbor(LLSurface *neighborp, U32 direction) { diff --git a/indra/newview/llsurface.h b/indra/newview/llsurface.h index 673ee83fe3..a4ef4fe2de 100644 --- a/indra/newview/llsurface.h +++ b/indra/newview/llsurface.h @@ -140,6 +140,9 @@ public: friend class LLSurfacePatch; friend std::ostream& operator<<(std::ostream &s, const LLSurface &S); + + void getNeighboringRegions( std::vector<LLViewerRegion*>& uniqueRegions ); + public: // Number of grid points on one side of a region, including +1 buffer for // north and east edge. diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index be9ff872c0..c3a7d345f5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -519,7 +519,6 @@ void LLViewerObject::setNameValueList(const std::string& name_value_list) } } - // This method returns true if the object is over land owned by the // agent. bool LLViewerObject::isReturnable() @@ -528,17 +527,106 @@ bool LLViewerObject::isReturnable() { return false; } + std::vector<LLBBox> boxes; boxes.push_back(LLBBox(getPositionRegion(), getRotationRegion(), getScale() * -0.5f, getScale() * 0.5f).getAxisAligned()); for (child_list_t::iterator iter = mChildList.begin(); iter != mChildList.end(); iter++) { LLViewerObject* child = *iter; - boxes.push_back(LLBBox(child->getPositionRegion(), child->getRotationRegion(), child->getScale() * -0.5f, child->getScale() * 0.5f).getAxisAligned()); + boxes.push_back( LLBBox(child->getPositionRegion(), child->getRotationRegion(), child->getScale() * -0.5f, child->getScale() * 0.5f).getAxisAligned()); + } + + bool result = (mRegionp && mRegionp->objectIsReturnable(getPositionRegion(), boxes)) ? 1 : 0; + + if ( !result ) + { + //Get list of neighboring regions relative to this vo's region + std::vector<LLViewerRegion*> uniqueRegions; + mRegionp->getNeighboringRegions( uniqueRegions ); + + //Build aabb's - for root and all children + std::vector<PotentialReturnableObject> returnables; + typedef std::vector<LLViewerRegion*>::iterator RegionIt; + RegionIt regionStart = uniqueRegions.begin(); + RegionIt regionEnd = uniqueRegions.end(); + + for (; regionStart != regionEnd; ++regionStart ) + { + LLViewerRegion* pTargetRegion = *regionStart; + //Add the root vo as there may be no children and we still want + //to test for any edge overlap + buildReturnablesForChildrenVO( returnables, this, pTargetRegion ); + //Add it's children + for (child_list_t::iterator iter = mChildList.begin(); iter != mChildList.end(); iter++) + { + LLViewerObject* pChild = *iter; + buildReturnablesForChildrenVO( returnables, pChild, pTargetRegion ); + } + } + + //TBD#Eventually create a region -> box list map + typedef std::vector<PotentialReturnableObject>::iterator ReturnablesIt; + ReturnablesIt retCurrentIt = returnables.begin(); + ReturnablesIt retEndIt = returnables.end(); + + for ( ; retCurrentIt !=retEndIt; ++retCurrentIt ) + { + boxes.clear(); + LLViewerRegion* pRegion = (*retCurrentIt).pRegion; + boxes.push_back( (*retCurrentIt).box ); + bool retResult = (pRegion && pRegion->childrenObjectReturnable( boxes )) ? 1 : 0; + if ( retResult ) + { + result = true; + break; + } + } + } + return result; +} + +void LLViewerObject::buildReturnablesForChildrenVO( std::vector<PotentialReturnableObject>& returnables, LLViewerObject* pChild, LLViewerRegion* pTargetRegion ) +{ + if ( !pChild ) + { + llerrs<<"child viewerobject is NULL "<<llendl; + } + + constructAndAddReturnable( returnables, pChild, pTargetRegion ); + + //We want to handle any children VO's as well + for (child_list_t::iterator iter = pChild->mChildList.begin(); iter != pChild->mChildList.end(); iter++) + { + LLViewerObject* pChildofChild = *iter; + buildReturnablesForChildrenVO( returnables, pChildofChild, pTargetRegion ); } +} - return mRegionp - && mRegionp->objectIsReturnable(getPositionRegion(), boxes); +void LLViewerObject::constructAndAddReturnable( std::vector<PotentialReturnableObject>& returnables, LLViewerObject* pChild, LLViewerRegion* pTargetRegion ) +{ + + LLVector3 targetRegionPos; + targetRegionPos.setVec( pChild->getPositionGlobal() ); + + LLBBox childBBox = LLBBox( targetRegionPos, pChild->getRotationRegion(), pChild->getScale() * -0.5f, + pChild->getScale() * 0.5f).getAxisAligned(); + + LLVector3 edgeA = targetRegionPos + childBBox.getMinLocal(); + LLVector3 edgeB = targetRegionPos + childBBox.getMaxLocal(); + + LLVector3d edgeAd, edgeBd; + edgeAd.setVec(edgeA); + edgeBd.setVec(edgeB); + + //Only add the box when either of the extents are in a neighboring region + if ( pTargetRegion->pointInRegionGlobal( edgeAd ) || pTargetRegion->pointInRegionGlobal( edgeBd ) ) + { + PotentialReturnableObject returnableObj; + returnableObj.box = childBBox; + returnableObj.pRegion = pTargetRegion; + returnables.push_back( returnableObj ); + } } BOOL LLViewerObject::setParent(LLViewerObject* parent) diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index a0ad52df6b..f75a3d996d 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -44,11 +44,11 @@ #include "v3math.h" #include "llvertexbuffer.h" #include "llaccountingquota.h" +#include "llbbox.h" class LLAgent; // TODO: Get rid of this. class LLAudioSource; class LLAudioSourceVO; -class LLBBox; class LLDataPacker; class LLColor4; class LLFrameTimer; @@ -112,6 +112,12 @@ public: LLColor4 mColor; }; +struct PotentialReturnableObject +{ + LLBBox box; + LLViewerRegion* pRegion; +}; + //============================================================================ class LLViewerObject : public LLPrimitive, public LLRefCount, public LLGLUpdate @@ -234,6 +240,9 @@ public: // anti-encroachment is enabled bool isReturnable(); + void buildReturnablesForChildrenVO( std::vector<PotentialReturnableObject>& returnables, LLViewerObject* pChild, LLViewerRegion* pTargetRegion ); + void constructAndAddReturnable( std::vector<PotentialReturnableObject>& returnables, LLViewerObject* pChild, LLViewerRegion* pTargetRegion ); + /* // This method will scan through this object, and then query the // selection manager to see if the local agent probably has the diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp index 26765bdd01..eff16b6a6e 100644 --- a/indra/newview/llviewerparceloverlay.cpp +++ b/indra/newview/llviewerparceloverlay.cpp @@ -173,6 +173,33 @@ bool LLViewerParcelOverlay::encroachesOwned(const std::vector<LLBBox>& boxes) co } return false; } +bool LLViewerParcelOverlay::encroachesOnUnowned(const std::vector<LLBBox>& boxes) const +{ + // boxes are expected to already be axis aligned + for (U32 i = 0; i < boxes.size(); ++i) + { + LLVector3 min = boxes[i].getMinAgent(); + LLVector3 max = boxes[i].getMaxAgent(); + + S32 left = S32(llclamp((min.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); + S32 right = S32(llclamp((max.mV[VX] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); + S32 top = S32(llclamp((min.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); + S32 bottom = S32(llclamp((max.mV[VY] / PARCEL_GRID_STEP_METERS), 0.f, REGION_WIDTH_METERS - 1)); + + for (S32 row = top; row <= bottom; row++) + { + for (S32 column = left; column <= right; column++) + { + U8 type = ownership(row, column); + if ((PARCEL_SELF != type)) + { + return true; + } + } + } + } + return false; +} BOOL LLViewerParcelOverlay::isSoundLocal(const LLVector3& pos) const { diff --git a/indra/newview/llviewerparceloverlay.h b/indra/newview/llviewerparceloverlay.h index c80baedda6..3c6794e7d0 100644 --- a/indra/newview/llviewerparceloverlay.h +++ b/indra/newview/llviewerparceloverlay.h @@ -60,6 +60,7 @@ public: // might be in another parcel. for now, we simply test axis aligned // bounding boxes which isn't perfect, but is close bool encroachesOwned(const std::vector<LLBBox>& boxes) const; + bool encroachesOnUnowned(const std::vector<LLBBox>& boxes) const; BOOL isSoundLocal(const LLVector3& pos) const; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 002e0567e4..85b4b60bf7 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1699,6 +1699,18 @@ bool LLViewerRegion::objectIsReturnable(const LLVector3& pos, const std::vector< && mParcelOverlay->encroachesOwned(boxes)) ); } +bool LLViewerRegion::childrenObjectReturnable( const std::vector<LLBBox>& boxes ) const +{ + bool result = false; + result = ( mParcelOverlay && mParcelOverlay->encroachesOnUnowned( boxes ) ) ? 1 : 0; + return result; +} + +void LLViewerRegion::getNeighboringRegions( std::vector<LLViewerRegion*>& uniqueRegions ) +{ + mImpl->mLandp->getNeighboringRegions( uniqueRegions ); +} + void LLViewerRegion::showReleaseNotes() { std::string url = this->getCapability("ServerReleaseNotes"); diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index 3811b989e7..68662c99bd 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -318,6 +318,10 @@ public: LLSpatialPartition* getSpatialPartition(U32 type); bool objectIsReturnable(const LLVector3& pos, const std::vector<LLBBox>& boxes) const; + bool childrenObjectReturnable( const std::vector<LLBBox>& boxes ) const; + + void getNeighboringRegions( std::vector<LLViewerRegion*>& uniqueRegions ); + public: struct CompareDistance { diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index e3ed2d0649..da4d0548d0 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -1288,7 +1288,6 @@ BOOL LLViewerShaderMgr::loadShadersDeferred() gDeferredAvatarEyesProgram.mFeatures.calculatesAtmospherics = true; gDeferredAvatarEyesProgram.mFeatures.hasGamma = true; gDeferredAvatarEyesProgram.mFeatures.hasTransport = true; - gDeferredAvatarEyesProgram.mFeatures.isFullbright = true; gDeferredAvatarEyesProgram.mFeatures.disableTextureIndex = true; gDeferredAvatarEyesProgram.mShaderFiles.clear(); gDeferredAvatarEyesProgram.mShaderFiles.push_back(make_pair("deferred/avatarEyesV.glsl", GL_VERTEX_SHADER_ARB)); diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index bbb19a63f1..f0b5b50feb 100644 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -137,10 +137,6 @@ LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file) LLVOCacheEntry::~LLVOCacheEntry() { - if(mBuffer != mDP.getBuffer()) - { - delete[] mBuffer ; //just in case - } mDP.freeBuffer(); } diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml index 9b1df65d1b..0ccaab73ba 100644 --- a/indra/newview/skins/default/xui/da/floater_about.xml +++ b/indra/newview/skins/default/xui/da/floater_about.xml @@ -56,24 +56,30 @@ Tak til følgende beboere: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Ha <panel label="Licenser" name="licenses_panel"> <text_editor name="credits_editor"> 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion - APR Copyright (C) 2000-2004 The Apache Software Foundation - cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) - DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc. - expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. - FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). - GL Copyright (C) 1999-2004 Brian Paul. - Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. - jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) - jpeglib Copyright (C) 1991-1998, Thomas G. Lane. - ogg/vorbis Copyright (C) 2001, Xiphophorus - OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. - SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga - SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - xmlrpc-epi Copyright (C) 2000 Epinions, Inc. - zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. - google-perftools Copyright (c) 2005, Google Inc. +APR Copyright (C) 2000-2004 The Apache Software Foundation +Collada DOM Copyright 2005 Sony Computer Entertainment Inc. +cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) +DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc. +expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. +FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). +GL Copyright (C) 1999-2004 Brian Paul. +GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia. +google-perftools Copyright (c) 2005, Google Inc. +Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. +jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) +jpeglib Copyright (C) 1991-1998, Thomas G. Lane. +ogg/vorbis Copyright (C) 2001, Xiphophorus +OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. +PCRE Copyright (c) 1997-2008 University of Cambridge +SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga +SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +xmlrpc-epi Copyright (C) 2000 Epinions, Inc. +zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. +google-perftools Copyright (c) 2005, Google Inc. -Alle rettigheder forbeholdes. Se licenses.txt for detaljer. +Second Life Viewer uses Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (and its Licensors). All Rights Reserved. See www.havok.com for details. + +All rights reserved. See licenses.txt for details. Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) </text_editor> diff --git a/indra/newview/skins/default/xui/da/floater_beacons.xml b/indra/newview/skins/default/xui/da/floater_beacons.xml index 8049b072ce..5100a6df1f 100644 --- a/indra/newview/skins/default/xui/da/floater_beacons.xml +++ b/indra/newview/skins/default/xui/da/floater_beacons.xml @@ -17,5 +17,6 @@ <check_box label="Kun berøring" name="touch_only"/> <check_box label="Lydkilder" name="sounds"/> <check_box label="Partikel kilder" name="particles"/> + <check_box label="Medie kilder" name="moapbeacon"/> </panel> </floater> diff --git a/indra/newview/skins/default/xui/da/floater_buy_contents.xml b/indra/newview/skins/default/xui/da/floater_buy_contents.xml index c2b2ccc244..085fa2f9cc 100644 --- a/indra/newview/skins/default/xui/da/floater_buy_contents.xml +++ b/indra/newview/skins/default/xui/da/floater_buy_contents.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="floater_buy_contents" title="KØB INDHOLD"> <text name="contains_text"> - [NAME] indeholder: + <nolink>[NAME]</nolink> contains: </text> <text name="buy_text"> Køb for L$[AMOUNT] fra [NAME]? diff --git a/indra/newview/skins/default/xui/da/floater_import_collada.xml b/indra/newview/skins/default/xui/da/floater_import_collada.xml new file mode 100644 index 0000000000..ebc7c86388 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_import_collada.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Import Collada" title="Import Scene"> + <text name="mesh count"> + Meshes: [COUNT] + </text> + <text name="texture count"> + Textures: [COUNT] + </text> + <text name="status"> + Status: [STATUS] + </text> + <button label="Cancel" name="cancel"/> + <button label="OK" name="ok"/> + <string name="status_idle"> + Idle + </string> + <string name="status_uploading"> + Uploading [NAME] + </string> + <string name="status_creating"> + Creating object [NAME] + </string> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml index af2910fe58..655701bb96 100644 --- a/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/da/floater_inventory_view_finder.xml @@ -1,24 +1,25 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Inventory Finder" title="INVENTORY_RECENT_ITEMS"> - <check_box label="Animation" name="check_animation" /> - <check_box label="Visitkort" name="check_calling_card" /> - <check_box label="Tøj" name="check_clothing" /> - <check_box label="Bevægelser" name="check_gesture" /> - <check_box label="Landemærke" name="check_landmark" /> - <check_box label="Note" name="check_notecard" /> - <check_box label="Objekter" name="check_object" /> - <check_box label="Scripts" name="check_script" /> - <check_box label="Lyde" name="check_sound" /> - <check_box label="Teksturer" name="check_texture" /> - <check_box label="Foto's" name="check_snapshot" /> - <button label="Alle" label_selected="Alle" name="All" /> - <button label="Ingen" label_selected="Ingen" name="None" /> - <check_box label="Vis altid mapper" name="check_show_empty" /> - <check_box label="Siden sidste logoff" name="check_since_logoff" /> + <check_box label="Animation" name="check_animation"/> + <check_box label="Visitkort" name="check_calling_card"/> + <check_box label="Tøj" name="check_clothing"/> + <check_box label="Bevægelser" name="check_gesture"/> + <check_box label="Landemærke" name="check_landmark"/> + <check_box label="Meshes" name="check_mesh"/> + <check_box label="Note" name="check_notecard"/> + <check_box label="Objekter" name="check_object"/> + <check_box label="Scripts" name="check_script"/> + <check_box label="Lyde" name="check_sound"/> + <check_box label="Teksturer" name="check_texture"/> + <check_box label="Foto's" name="check_snapshot"/> + <button label="Alle" label_selected="Alle" name="All"/> + <button label="Ingen" label_selected="Ingen" name="None"/> + <check_box label="Vis altid mapper" name="check_show_empty"/> + <check_box label="Siden sidste logoff" name="check_since_logoff"/> <text name="- OR -"> - ELLER - </text> - <spinner label="Timer siden" name="spin_hours_ago" /> - <spinner label="Dage siden" name="spin_days_ago" /> - <button label="Luk" label_selected="Luk" name="Close" /> + <spinner label="Timer siden" name="spin_hours_ago"/> + <spinner label="Dage siden" name="spin_days_ago"/> + <button label="Luk" label_selected="Luk" name="Close"/> </floater> diff --git a/indra/newview/skins/default/xui/da/floater_model_preview.xml b/indra/newview/skins/default/xui/da/floater_model_preview.xml new file mode 100644 index 0000000000..a98c70ff52 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_model_preview.xml @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Model Preview" title="Upload Model"> + <string name="status_idle"> + Idle + </string> + <string name="status_reading_file"> + Loading... + </string> + <string name="status_generating_meshes"> + Generating Meshes... + </string> + <string name="status_vertex_number_overflow"> + Error: Vertex number is more than 65534, aborted! + </string> + <string name="high"> + High + </string> + <string name="medium"> + Medium + </string> + <string name="low"> + Low + </string> + <string name="lowest"> + Lowest + </string> + <string name="mesh_status_good"> + Ship it! + </string> + <string name="mesh_status_na"> + N/A + </string> + <string name="mesh_status_none"> + None + </string> + <string name="mesh_status_submesh_mismatch"> + Levels of detail have a different number of textureable faces. + </string> + <string name="mesh_status_mesh_mismatch"> + Levels of detail have a different number of mesh instances. + </string> + <string name="mesh_status_too_many_vertices"> + Level of detail has too many vertices. + </string> + <string name="mesh_status_missing_lod"> + Missing required level of detail. + </string> + <string name="layer_all"> + All + </string> + <string name="decomposing"> + Analyzing... + </string> + <string name="simplifying"> + Simplifying... + </string> + <text name="name_label"> + Name: + </text> + <text name="lod_label"> + Preview: + </text> + <combo_box name="preview_lod_combo" tool_tip="LOD to view in preview render"> + <combo_item name="high"> + Level of Detail: High + </combo_item> + <combo_item name="medium"> + Level of Detail: Medium + </combo_item> + <combo_item name="low"> + Level of Detail: Low + </combo_item> + <combo_item name="lowest"> + Level of Detail: Lowest + </combo_item> + </combo_box> + <panel> + <text name="streaming cost"> + Resource Cost: [COST] + </text> + <text name="physics cost"> + Physics Cost: [COST] + </text> + <text name="upload fee"> + Upload Fee: N/A + </text> + </panel> + <text name="status"> + [STATUS] + </text> + <button label="Defaults" name="reset_btn" tool_tip="Reset to defaults"/> + <button label="Upload" name="ok_btn" tool_tip="Upload to simulator"/> + <button label="Cancel" name="cancel_btn"/> + <tab_container name="import_tab"> + <panel label="Level of Detail" name="lod_panel"> + <text name="lod_table_header"> + Select Level of Detail: + </text> + <text name="high_label" value="High"/> + <text name="high_triangles" value="0"/> + <text name="high_vertices" value="0"/> + <text name="medium_label" value="Medium"/> + <text name="medium_triangles" value="0"/> + <text name="medium_vertices" value="0"/> + <text name="low_label" value="Low"/> + <text name="low_triangles" value="0"/> + <text name="low_vertices" value="0"/> + <text name="lowest_label" value="Lowest"/> + <text name="lowest_triangles" value="0"/> + <text name="lowest_vertices" value="0"/> + <text name="lod_table_footer"> + Level of Detail: [DETAIL] + </text> + <radio_group name="lod_file_or_limit" value="lod_from_file"> + <radio_item label="Load from file" name="lod_from_file"/> + <radio_item label="Auto generate" name="lod_auto_generate"/> + <radio_item label="None" name="lod_none"/> + </radio_group> + <button label="Browse..." name="lod_browse"/> + <combo_box name="lod_mode"> + <combo_item name="triangle_limit"> + Triangle Limit + </combo_item> + <combo_item name="error_threshold"> + Error Threshold + </combo_item> + </combo_box> + <text name="build_operator_text"> + Build Operator: + </text> + <text name="queue_mode_text"> + Queue Mode: + </text> + <combo_box name="build_operator"> + <combo_item name="edge_collapse"> + Edge Collapse + </combo_item> + <combo_item name="half_edge_collapse"> + Half Edge Collapse + </combo_item> + </combo_box> + <combo_box name="queue_mode"> + <combo_item name="greedy"> + Greedy + </combo_item> + <combo_item name="lazy"> + Lazy + </combo_item> + <combo_item name="independent"> + Independent + </combo_item> + </combo_box> + <text name="border_mode_text"> + Border Mode: + </text> + <text name="share_tolderance_text"> + Share Tolerance: + </text> + <combo_box name="border_mode"> + <combo_item name="border_unlock"> + Unlock + </combo_item> + <combo_item name="border_lock"> + Lock + </combo_item> + </combo_box> + <text name="crease_label"> + Crease Angle: + </text> + <spinner name="crease_angle" value="75"/> + </panel> + <panel label="Physics" name="physics_panel"> + <panel name="physics geometry"> + <radio_group name="physics_load_radio" value="physics_load_from_file"> + <radio_item label="File:" name="physics_load_from_file"/> + <radio_item label="Use Level of Detail:" name="physics_use_lod"/> + </radio_group> + <combo_box name="physics_lod_combo" tool_tip="LOD to use for physics shape"> + <combo_item name="physics_lowest"> + Lowest + </combo_item> + <combo_item name="physics_low"> + Low + </combo_item> + <combo_item name="physics_medium"> + Medium + </combo_item> + <combo_item name="physics_high"> + High + </combo_item> + </combo_box> + <button label="Browse..." name="physics_browse"/> + </panel> + <panel name="physics analysis"> + <slider label="Smooth:" name="Smooth"/> + <check_box label="Close Holes (slow)" name="Close Holes (Slow)"/> + <button label="Analyze" name="Decompose"/> + <button label="Cancel" name="decompose_cancel"/> + </panel> + <panel name="physics simplification"> + <slider label="Passes:" name="Combine Quality"/> + <slider label="Detail Scale:" name="Detail Scale"/> + <slider label="Retain:" name="Retain%"/> + <button label="Simplify" name="Simplify"/> + <button label="Cancel" name="simplify_cancel"/> + </panel> + <panel name="physics info"> + <slider label="Preview Spread:" name="physics_explode"/> + <text name="physics_triangles"> + Triangles: [TRIANGLES] + </text> + <text name="physics_points"> + Vertices: [POINTS] + </text> + <text name="physics_hulls"> + Hulls: [HULLS] + </text> + </panel> + </panel> + <panel label="Modifiers" name="modifiers_panel"> + <spinner name="import_scale" value="1.0"/> + <text name="import_dimensions"> + [X] x [Y] x [Z] m + </text> + <check_box label="Textures" name="upload_textures"/> + <check_box label="Skin weight" name="upload_skin"/> + <check_box label="Joint positions" name="upload_joints"/> + <spinner name="pelvis_offset" value="0.0"/> + </panel> + </tab_container> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_model_wizard.xml b/indra/newview/skins/default/xui/da/floater_model_wizard.xml new file mode 100644 index 0000000000..8ad443581a --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_model_wizard.xml @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Model Wizard" title="UPLOAD MODEL WIZARD"> + <button label="5. Upload" name="upload_btn"/> + <button label="4. Review" name="review_btn"/> + <button label="3. Physics" name="physics2_btn"/> + <button label="3. Physics" name="physics_btn"/> + <button label="2. Optimize" name="optimize_btn"/> + <button label="1. Choose File" name="choose_file_btn"/> + <panel name="choose_file_panel"> + <panel name="header_panel"> + <text name="header_text"> + Upload Model + </text> + </panel> + <text name="description"> + This wizard will help you import mesh models to Second Life. First specify a file containing the model you wish to import. Second Life supports COLLADA (.dae) files. + </text> + <panel name="content"> + <text name="Cache location"> + Filename: + </text> + <button label="Browse..." label_selected="Browse..." name="browse"/> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + </panel> + <panel name="optimize_panel"> + <panel name="header_panel"> + <text name="header_text"> + Optimize + </text> + </panel> + <text name="description"> + This wizard has optimized your model to improve performance. You may adjust the results of the optimization process bellow or click Next to continue. + </text> + <panel name="content"> + <text name="high_detail_text"> + Generate Level of Detail: High + </text> + <text name="medium_detail_text"> + Generate Level of Detail: Medium + </text> + <text name="low_detail_text"> + Generate Level of Detail: Low + </text> + <text name="lowest_detail_text"> + Generate Level of Detail: Lowest + </text> + </panel> + <panel name="content2"> + <text name="lod_label"> + Model Preview: + </text> + <combo_box name="preview_lod_combo2" tool_tip="LOD to view in preview render"> + <combo_item name="high"> + High + </combo_item> + <combo_item name="medium"> + Medium + </combo_item> + <combo_item name="low"> + Low + </combo_item> + <combo_item name="lowest"> + Lowest + </combo_item> + </combo_box> + <text name="streaming cost"> + Resource Cost: [COST] + </text> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + </panel> + <panel name="physics_panel"> + <panel name="header_panel"> + <text name="header_text"> + Physics + </text> + </panel> + <text name="description"> + The wizard will create a physical shape, which determines how the object interacts with other objects and avatars. Set the slider to the detail level most appropriate for how your object will be used: + </text> + <panel name="content"> + <text name="streaming cost"> + Resource Cost: [COST] + </text> + </panel> + </panel> + <panel name="physics2_panel"> + <panel name="header_panel"> + <text name="header_text"> + Physics + </text> + </panel> + <text name="description"> + Preview the physics shape below then click Next to continue. To modify the physics shape, click the Back button. + </text> + <panel name="content"> + <text name="lod_label"> + Model Preview: + </text> + <combo_box name="preview_lod_combo3" tool_tip="LOD to view in preview render"> + <combo_item name="high"> + High + </combo_item> + <combo_item name="medium"> + Medium + </combo_item> + <combo_item name="low"> + Low + </combo_item> + <combo_item name="lowest"> + Lowest + </combo_item> + </combo_box> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + <text name="streaming cost"> + Resource Cost: [COST] + </text> + </panel> + </panel> + <panel name="review_panel"> + <panel name="header_panel"> + <text name="header_text"> + Review + </text> + </panel> + <text name="description"> + Review the details below then click. Upload to upload your model. Your L$ balance will be charged when you click Upload. + </text> + <panel name="content"> + <text name="lod_label"> + Model Preview: + </text> + <combo_box name="preview_lod_combo" tool_tip="LOD to view in preview render"> + <combo_item name="high"> + High + </combo_item> + <combo_item name="medium"> + Medium + </combo_item> + <combo_item name="low"> + Low + </combo_item> + <combo_item name="lowest"> + Lowest + </combo_item> + </combo_box> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + <text name="streaming cost"> + Resource Cost: [COST] + </text> + <text name="physics cost"> + Physics Cost: [COST] + </text> + </panel> + <panel name="upload_panel"> + <panel name="header_panel"> + <text name="header_text"> + Upload Complete! + </text> + </panel> + <text name="description"> + Congratulations! Your model has been sucessfully uploaded. You will find the model in the Objects folder in your inventory. + </text> + </panel> + <button label="<< Back" name="back"/> + <button label="Next >>" name="next"/> + <button label="Upload" name="upload" tool_tip="Upload to simulator"/> + <button label="Cancel" name="cancel"/> + <button label="Close" name="close"/> + <spinner name="import_scale" value="1.0"/> + <string name="status_idle"> + Idle + </string> + <string name="status_reading_file"> + Loading... + </string> + <string name="status_generating_meshes"> + Generating Meshes... + </string> + <string name="status_vertex_number_overflow"> + Error: Vertex number is more than 65534, aborted! + </string> + <string name="high"> + High + </string> + <string name="medium"> + Medium + </string> + <string name="low"> + Low + </string> + <string name="lowest"> + Lowest + </string> + <string name="mesh_status_good"> + Ship it! + </string> + <string name="mesh_status_na"> + N/A + </string> + <string name="mesh_status_none"> + None + </string> + <string name="mesh_status_submesh_mismatch"> + Levels of detail have a different number of textureable faces. + </string> + <string name="mesh_status_mesh_mismatch"> + Levels of detail have a different number of mesh instances. + </string> + <string name="mesh_status_too_many_vertices"> + Level of detail has too many vertices. + </string> + <string name="mesh_status_missing_lod"> + Missing required level of detail. + </string> + <string name="layer_all"> + All + </string> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_price_for_listing.xml b/indra/newview/skins/default/xui/da/floater_price_for_listing.xml new file mode 100644 index 0000000000..b091fa09b5 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_price_for_listing.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="price_for_listing" title="PUBLISH CLASSIFIED AD"> + <text name="explanation_text"> + Din annonce vil løbe en uge fra udgivelsesdatoen. + +Placeringen af din annonce i listerne er afhængig af hvor meget du har valgt at betale. + +De annoncer der betales mest for vises øverst i lister og højere i søgeresultater. + </text> + <text name="price_text"> + Pris for annonce: + </text> + <text name="price_symbol"> + L$ + </text> + <button label="OK" name="set_price_btn"/> + <button label="Annullér" name="cancel_btn"/> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_sound_devices.xml b/indra/newview/skins/default/xui/da/floater_sound_devices.xml new file mode 100644 index 0000000000..cb4cbba570 --- /dev/null +++ b/indra/newview/skins/default/xui/da/floater_sound_devices.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_sound_devices" title="Lyd enheder"> + <text name="voice_label"> + Stemme chat + </text> + <check_box label="Aktiveret" name="enable_voice"/> +</floater> diff --git a/indra/newview/skins/default/xui/da/floater_tools.xml b/indra/newview/skins/default/xui/da/floater_tools.xml index 8264e366c0..815bde456e 100644 --- a/indra/newview/skins/default/xui/da/floater_tools.xml +++ b/indra/newview/skins/default/xui/da/floater_tools.xml @@ -122,6 +122,18 @@ <text name="prim_count"> Prims: [COUNT] </text> + <text name="linked_set_count"> + Lænkede sæt: [COUNT] + </text> + <text name="linked_set_cost" tool_tip="Pris for nuværende valgte lænkede sæt som [prims] / [physics complexity]"> + Pris: [COST] / [PHYSICS] + </text> + <text name="object_count"> + Objekter: [COUNT] + </text> + <text name="object_cost" tool_tip="Pris for nuværende valgte objekter som [prims] / [physics complexity]"> + Pris: [COST] / [PHYSICS] + </text> <tab_container name="Object Info Tabs"> <panel label="Generelt" name="General"> <panel.string name="text deed continued"> @@ -266,15 +278,6 @@ <combo_box.item label="Ring" name="Ring"/> <combo_box.item label="Sculpted" name="Sculpted"/> </combo_box> - <combo_box name="material"> - <combo_box.item label="Sten" name="Stone"/> - <combo_box.item label="Metal" name="Metal"/> - <combo_box.item label="Glas" name="Glass"/> - <combo_box.item label="Træ" name="Wood"/> - <combo_box.item label="Kød" name="Flesh"/> - <combo_box.item label="Plastik" name="Plastic"/> - <combo_box.item label="Gummi" name="Rubber"/> - </combo_box> <text name="text cut"> Snit Z-akse (start/slut) </text> @@ -347,9 +350,19 @@ <combo_box.item label="Kuglering" name="Torus"/> <combo_box.item label="Plan" name="Plane"/> <combo_box.item label="Cylinder" name="Cylinder"/> + <combo_box.item label="Mesh" name="Mesh"/> </combo_box> </panel> <panel label="Features" name="Features"> + <panel.string name="None"> + Ingen + </panel.string> + <panel.string name="Prim"> + Prim + </panel.string> + <panel.string name="Convex Hull"> + Konveks skrog + </panel.string> <text name="select_single"> Vælg kun én prim for at ændre egenskaber. </text> @@ -374,6 +387,23 @@ <spinner label="Fokus" name="Light Focus"/> <spinner label="Udfasning" name="Light Falloff"/> <spinner label="Omgivelser" name="Light Ambiance"/> + <text name="label physicsshapetype"> + Fysisk form type: + </text> + <combo_box name="Physics Shape Type Combo Ctrl" tool_tip="Vælg fysisk form type"/> + <combo_box name="material"> + <combo_box.item label="Sten" name="Stone"/> + <combo_box.item label="Metal" name="Metal"/> + <combo_box.item label="Glas" name="Glass"/> + <combo_box.item label="Træ" name="Wood"/> + <combo_box.item label="Kød" name="Flesh"/> + <combo_box.item label="Plastik" name="Plastic"/> + <combo_box.item label="Gummi" name="Rubber"/> + </combo_box> + <spinner label="Tyngde" name="Physics Gravity"/> + <spinner label="Friktion" name="Physics Friction"/> + <spinner label="Tæthed" name="Physics Density"/> + <spinner label="Restitution" name="Physics Restitution"/> </panel> <panel label="Tekstur" name="Texture"> <panel.string name="string repeats per meter"> diff --git a/indra/newview/skins/default/xui/da/menu_avatar_self.xml b/indra/newview/skins/default/xui/da/menu_avatar_self.xml index 0080f7a59e..4e6b42a744 100644 --- a/indra/newview/skins/default/xui/da/menu_avatar_self.xml +++ b/indra/newview/skins/default/xui/da/menu_avatar_self.xml @@ -14,6 +14,7 @@ <menu_item_call label="Undertrøje" name="Self Undershirt"/> <menu_item_call label="Underbukser" name="Self Underpants"/> <menu_item_call label="Tatovering" name="Self Tattoo"/> + <menu_item_call label="Fysik" name="Self Physics"/> <menu_item_call label="Alpha" name="Self Alpha"/> <menu_item_call label="Alt tøj" name="All Clothes"/> </context_menu> diff --git a/indra/newview/skins/default/xui/da/menu_bottomtray.xml b/indra/newview/skins/default/xui/da/menu_bottomtray.xml index 9ac296904a..a0d74db36d 100644 --- a/indra/newview/skins/default/xui/da/menu_bottomtray.xml +++ b/indra/newview/skins/default/xui/da/menu_bottomtray.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <menu name="hide_camera_move_controls_menu"> - <menu_item_check label="Stemme aktiveret" name="EnableVoiceChat"/> + <menu_item_check label="Tal knap" name="EnableVoiceChat"/> <menu_item_check label="Faste bevægelser" name="ShowGestureButton"/> <menu_item_check label="Bevægelse knap" name="ShowMoveButton"/> <menu_item_check label="Vis knap" name="ShowCameraButton"/> diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml index 35551318d1..f9bdf36f1f 100644 --- a/indra/newview/skins/default/xui/da/menu_inventory.xml +++ b/indra/newview/skins/default/xui/da/menu_inventory.xml @@ -25,6 +25,7 @@ <menu_item_call label="Nye underbukser" name="New Underpants"/> <menu_item_call label="Nyt alpha lag" name="New Alpha Mask"/> <menu_item_call label="Ny tatovering" name="New Tattoo"/> + <menu_item_call label="Ny fysik" name="New Physics"/> </menu> <menu label="Nye kropsdele" name="New Body Parts"> <menu_item_call label="Ny figur" name="New Shape"/> diff --git a/indra/newview/skins/default/xui/da/menu_inventory_add.xml b/indra/newview/skins/default/xui/da/menu_inventory_add.xml index 07f70d7190..eca03d3ee9 100644 --- a/indra/newview/skins/default/xui/da/menu_inventory_add.xml +++ b/indra/newview/skins/default/xui/da/menu_inventory_add.xml @@ -4,6 +4,8 @@ <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/> <menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/> <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> + <menu_item_call label="Model..." name="Upload Model"/> + <menu_item_call label="Model Wizard..." name="Upload Model Wizard"/> <menu_item_call label="Hent mange (L$[COST] pr. fil)..." name="Bulk Upload"/> <menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/> </menu> @@ -23,6 +25,7 @@ <menu_item_call label="Nye underbukser" name="New Underpants"/> <menu_item_call label="Nyt alpha lag" name="New Alpha"/> <menu_item_call label="Ny tatovering" name="New Tattoo"/> + <menu_item_call label="Ny fysik" name="New Physics"/> </menu> <menu label="Nye kropsdele" name="New Body Parts"> <menu_item_call label="Ny kropsbygning" name="New Shape"/> diff --git a/indra/newview/skins/default/xui/da/menu_media_ctrl.xml b/indra/newview/skins/default/xui/da/menu_media_ctrl.xml new file mode 100644 index 0000000000..788b1c4b59 --- /dev/null +++ b/indra/newview/skins/default/xui/da/menu_media_ctrl.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<context_menu name="media ctrl context menu"> + <menu_item_call label="Klip" name="Cut"/> + <menu_item_call label="Kopier" name="Copy"/> + <menu_item_call label="Sæt ind" name="Paste"/> +</context_menu> diff --git a/indra/newview/skins/default/xui/da/menu_model_import_gear_default.xml b/indra/newview/skins/default/xui/da/menu_model_import_gear_default.xml new file mode 100644 index 0000000000..d9626692d5 --- /dev/null +++ b/indra/newview/skins/default/xui/da/menu_model_import_gear_default.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<toggleable_menu name="model_menu_gear_default"> + <menu_item_check label="Show edges" name="show_edges"/> + <menu_item_check label="Show physics" name="show_physics"/> + <menu_item_check label="Show textures" name="show_textures"/> + <menu_item_check label="Show skin weight" name="show_skin_weight"/> + <menu_item_check label="Show joint positions" name="show_joint_positions"/> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml index 8b4c776496..0b0fff3b93 100644 --- a/indra/newview/skins/default/xui/da/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/da/menu_outfit_gear.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="Gear Outfit"> +<toggleable_menu name="Gear Outfit"> <menu_item_call label="Tag på - Erstat nuværende sæt" name="wear"/> <menu_item_call label="Tag på - Tilføj til nuværende sæt" name="wear_add"/> <menu_item_call label="Tag af - Fjern fra nuværende sæt" name="take_off"/> @@ -14,6 +14,7 @@ <menu_item_call label="Ny undertrøje" name="New Undershirt"/> <menu_item_call label="Nye underbukser" name="New Underpants"/> <menu_item_call label="Ny alpha" name="New Alpha"/> + <menu_item_call label="Ny fysik" name="New Physics"/> <menu_item_call label="Ny tatovering" name="New Tattoo"/> </menu> <menu label="Nye kropsdele" name="New Body Parts"> @@ -24,4 +25,4 @@ </menu> <menu_item_call label="Omdøb sæt" name="rename"/> <menu_item_call label="Slet sæt" name="delete_outfit"/> -</menu> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml index f59a0622be..d352312d15 100644 --- a/indra/newview/skins/default/xui/da/menu_viewer.xml +++ b/indra/newview/skins/default/xui/da/menu_viewer.xml @@ -118,6 +118,8 @@ <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/> <menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/> <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> + <menu_item_call label="Model..." name="Upload Model"/> + <menu_item_call label="Model Wizard..." name="Upload Model Wizard"/> <menu_item_call label="Mange (L$[COST] pr. fil)..." name="Bulk Upload"/> </menu> <menu_item_call label="Fortyd" name="Undo"/> @@ -157,7 +159,7 @@ <menu_item_check label="Alpha" name="Alpha"/> <menu_item_check label="Træer" name="Tree"/> <menu_item_check label="Avatarer" name="Character"/> - <menu_item_check label="Overflade" name="SurfacePath"/> + <menu_item_check label="Surface Patch" name="Surface Patch"/> <menu_item_check label="Himmel" name="Sky"/> <menu_item_check label="Vand" name="Water"/> <menu_item_check label="Jord" name="Ground"/> @@ -215,6 +217,7 @@ <menu_item_check label="Konsol med tekstur kategorier" name="Texture Category"/> <menu_item_check label="Hurtig-timere" name="Fast Timers"/> <menu_item_check label="Hukommelse" name="Memory"/> + <menu_item_check label="Scene Statistics" name="Scene Statistics"/> <menu_item_call label="Vis Regionsinfo i debug-konsol" name="Region Info to Debug Console"/> <menu_item_check label="Kamera" name="Camera"/> <menu_item_check label="Vind" name="Wind"/> @@ -222,6 +225,7 @@ </menu> <menu label="Vis info" name="Display Info"> <menu_item_check label="Vis tid" name="Show Time"/> + <menu_item_check label="Show Upload Cost" name="Show Upload Cost"/> <menu_item_check label="Vis gengivelses information" name="Show Render Info"/> <menu_item_check label="Vis tekstur information" name="Show Texture Info"/> <menu_item_check label="Vis farve under cursor" name="Show Color Under Cursor"/> @@ -244,7 +248,12 @@ <menu_item_check label="Frame test" name="Frame Test"/> </menu> <menu label="Render Metadata" name="Render Metadata"> + <menu_item_check label="Normals" name="Normals"/> + <menu_item_check label="Physics Shapes" name="Physics Shapes"/> <menu_item_check label="Opdatér type" name="Update Type"/> + <menu_item_check label="LOD Info" name="LOD Info"/> + <menu_item_check label="Build Queue" name="Build Queue"/> + <menu_item_check label="Sculpt" name="Sculpt"/> </menu> <menu label="Gengivelse" name="Rendering"> <menu_item_check label="Akser" name="Axes"/> @@ -310,6 +319,7 @@ <menu_item_call label="Debug avatar teksturer" name="Debug Avatar Textures"/> </menu> <menu_item_check label="HTTP teksturer" name="HTTP Textures"/> + <menu_item_check label="HTTP Inventory" name="HTTP Inventory"/> <menu_item_check label="Benyt consol vindue ved næste opstart" name="Console Window"/> <menu_item_call label="Anmod om administrator status" name="Request Admin Options"/> <menu_item_call label="Forlad administrationsstatus" name="Leave Admin Options"/> @@ -334,4 +344,9 @@ </menu> <menu_item_call label=""God Tools"" name="God Tools"/> </menu> + <menu label="Admin" name="Deprecated"> + <menu label="Take Off Clothing" name="Take Off Clothing"> + <menu_item_call label="Fysik" name="Physics"/> + </menu> + </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index 0d2aaf45ce..4c0fbd280b 100644 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -1071,6 +1071,12 @@ Det kan påvirke din indtastning af password. <notification name="RezItemNoPermissions"> Utilstrækkelige tilladelser til at danne genstanden. </notification> + <notification name="IMAcrossParentEstates"> + Ikke muligt at sende IM over forældre estates. + </notification> + <notification name="TransferInventoryAcrossParentEstates"> + Ikke muligt at overføre din beholdning over forældre parceller. + </notification> <notification name="UnableToLoadNotecard"> Ikke muligt at indlæse note. Prøv venligst igen. @@ -1641,6 +1647,10 @@ De vil blive blokeret nogle få sekunder af sikkerhedsmæssige årsager. Din stemme er blevet slukket af moderatoren. <usetemplate name="okbutton" yestext="OK"/> </notification> + <notification name="UploadCostConfirmation"> + Dette upload vil koste L$[PRICE], ønsker du at sende? + <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Send"/> + </notification> <notification name="ConfirmClearTeleportHistory"> Er du sikker på at du vil slette teleport historikken? <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/> @@ -1652,6 +1662,9 @@ Knappen vil blive vist når der er nok plads til den. <notification name="ShareNotification"> Vælg beboere at dele med. </notification> + <notification name="MeshUploadError"> + [LABEL] kunne ikke sendes: [MESSAGE] [IDENTIFIER] [INVALIDITY_IDENTIFIER] + </notification> <notification name="ShareItemsConfirmation"> Er du sikker på at du vil dele følgende genstande: @@ -1668,6 +1681,19 @@ Me følgende beboere: <notification name="DeedToGroupFail"> Dedikering til gruppe fejlede. </notification> + <notification name="ReleaseLandThrottled"> + Parcellen [PARCEL_NAME] kan ikke efterlades på nuværende tidspunkt. + </notification> + <notification name="ReleasedLandWithReclaim"> + [AREA] m² parcellen '[PARCEL_NAME]' er blevet frigivet. + +Du har [RECLAIM_PERIOD] timer til at få den tilbage for L$0 før den udbydes til salg til andre beboere. + </notification> + <notification name="ReleasedLandNoReclaim"> + [AREA] m² parcel '[PARCEL_NAME]' er blevet frigivet. + +Parcellen kan nu købes af enhver beboer. + </notification> <notification name="AvatarRezNotification"> ( [EXISTENCE] sekunder i live ) Avatar '[NAME]' var ikke sky mere, efter [TIME] sekunder. @@ -1746,6 +1772,13 @@ Sluk for alles lyd? <notification label="Stå op" name="HintSit"> For at rejse dig op og forlad siddeposition, tryk på "Stå op" knappen. </notification> + <notification label="Tal" name="HintSpeak"> + Klik på tal knappen for at tænde og slukke for din mikrofon. + +Klik på den lille pil-op for at se stemme kontrolpanelet. + +Skjules tale knappen, vil stemmechat ikke være mulig. + </notification> <notification label="Undersøg verden" name="HintDestinationGuide"> Destinationsguiden indeholder tusinder af nye steder der kan opleves. Vælg venligst et sted og vælg Teleport for at komme derhen. </notification> @@ -1755,12 +1788,16 @@ Sluk for alles lyd? <notification label="Flyt" name="HintMove"> For at gå eller løbe, åben Flyt panelet for neden og brug pilene til at navigere. Du kan også bruge pile-tasterne på dit tastatur. </notification> + <notification label="" name="HintMoveClick"> + 1. Klik for at gå +Klik et hvorsomhelst på jorden for at gå til dette sted. + +2. Klik og træk for at rotere visning +Klik hvorsomhelst i verden for at rotere din visning + </notification> <notification label="Visningsnavn" name="HintDisplayName"> Angiv dit konfigurérbare visningsnavn her. Dette er i tillæg til dit unikke brugernavn, som ikke kan ændres. Du kan ændre hvordan du ser andre beboeres navne i dine indstillinger. </notification> - <notification label="Flyt" name="HintMoveArrows"> - For at gå, brug piletasterne på tastaturet. Du kan løbe ved at trykke to gange på Pil-Op - </notification> <notification label="Se" name="HintView"> For at ændre dit kamera-view, benyt kredsløbs og panoreringskontrollerne. Nulstil view ved at trykke Esc eller ved at gå. </notification> @@ -1798,6 +1835,10 @@ Sluk for alles lyd? Oprettelse og redigering af grupper er kun muligt i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes på login skærmbilledet. <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> </notification> + <notification label="" name="NoPlaceInfo"> + Det er kun muligt at vise profil for stedet i avanceret opsætning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes på login skærmbilledet. + <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> + </notification> <notification label="" name="NoPicks"> Oprettelse og redigering af favoritter er kun mulig i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes på login skærmbilledet. <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> @@ -1818,6 +1859,18 @@ Sluk for alles lyd? Det er kun muligt at betale andre beboere i avanceret tilstand. Ønsker du at logge ud for at skifte tilstand? <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> </notification> + <notification label="" name="NoInventory"> + Det er kun muligt at vise beholdning i avanceret tilstand. Ønsker du at logge ud og logge på i avanceret tilstand. + <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> + </notification> + <notification label="" name="NoAppearance"> + Udseende opsætning er kun tilgængelig i avanceret tilstand. Ønsker du at logge ud og logge på i avanceret tilstand. + <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> + </notification> + <notification label="" name="NoSearch"> + Søgning er kun mulig i avanceret tilstand. Ønsker du at logge ud og logge på i avanceret tilstand. + <usetemplate name="okcancelbuttons" notext="Afslut ikke" yestext="Afslut"/> + </notification> <global name="UnsupportedGLRequirements"> Det ser ikke ud til at din hardware opfylder minimumskravene til [APP_NAME]. [APP_NAME] kræver et OpenGL grafikkort som understøter 'multitexture'. Check eventuelt om du har de nyeste drivere for grafikkortet, og de nyeste service-packs og patches til dit operativsystem. diff --git a/indra/newview/skins/default/xui/da/panel_edit_physics.xml b/indra/newview/skins/default/xui/da/panel_edit_physics.xml new file mode 100644 index 0000000000..16c9b16fa3 --- /dev/null +++ b/indra/newview/skins/default/xui/da/panel_edit_physics.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="edit_physics_panel"> + <panel label="" name="accordion_panel"> + <accordion name="physics_accordion"> + <accordion_tab name="physics_breasts_updown_tab" title="Bryst fasthed"/> + <accordion_tab name="physics_breasts_inout_tab" title="Kavalergang"/> + <accordion_tab name="physics_breasts_leftright_tab" title="Bryst sving"/> + <accordion_tab name="physics_belly_tab" title="Mave fasthed"/> + <accordion_tab name="physics_butt_tab" title="Bagdel fasthed"/> + <accordion_tab name="physics_butt_leftright_tab" title="Bagdel sving"/> + <accordion_tab name="physics_advanced_tab" title="Avancerede parametre"/> + </accordion> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_wearable.xml b/indra/newview/skins/default/xui/da/panel_edit_wearable.xml index 4b9360f0d1..906870e6d9 100644 --- a/indra/newview/skins/default/xui/da/panel_edit_wearable.xml +++ b/indra/newview/skins/default/xui/da/panel_edit_wearable.xml @@ -45,6 +45,9 @@ <string name="edit_tattoo_title"> Redigerer tatovering </string> + <string name="edit_physics_title"> + Redigering af fysik + </string> <string name="shape_desc_text"> Kropsbygning: </string> @@ -90,6 +93,9 @@ <string name="tattoo_desc_text"> Tatovering: </string> + <string name="physics_desc_text"> + Fysik: + </string> <labeled_back_button label="Gem" name="back_btn" tool_tip="Tilbage til redigering"/> <text name="edit_wearable_title" value="Redigerer kropsbygning"/> <panel label="Trøje" name="wearable_type_panel"> diff --git a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml index ed499619f6..19c82509cd 100644 --- a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml @@ -30,7 +30,9 @@ <spinner label="Tid før chatvisning forsvinder:" name="nearby_toasts_lifetime"/> <spinner label="Tid før chatvisning forsvinder:" name="nearby_toasts_fadingtime"/> <check_box name="translate_chat_checkbox"/> - <text name="translate_chb_label" >Benyt maskin-oversættelse ved chat (håndteret af Google)</text> + <text name="translate_chb_label"> + Benyt maskinel oversættelse ved chat (håndteret af Google) + </text> <text name="translate_language_text" width="110"> Oversæt chat til : </text> diff --git a/indra/newview/skins/default/xui/da/panel_preferences_colors.xml b/indra/newview/skins/default/xui/da/panel_preferences_colors.xml index b2b00db769..cc3dc480bc 100644 --- a/indra/newview/skins/default/xui/da/panel_preferences_colors.xml +++ b/indra/newview/skins/default/xui/da/panel_preferences_colors.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="Farver" name="colors_panel"> <text name="effects_color_textbox"> - Mine effekter (selektions-stråle): + Mine effekter (selektions pejlelys): </text> - <color_swatch name="effect_color_swatch" tool_tip="Klik for at åbne farve-vælger"/> + <color_swatch name="effect_color_swatch" tool_tip="Klik for at åbne farvevælger"/> <text name="font_colors"> - Chat bogstavsfarver: + Vælg font farver: </text> <text name="text_box1"> Mig @@ -22,6 +22,9 @@ <text name="text_box5"> Fejl </text> + <text name="text_box10"> + Direkte + </text> <text name="text_box7"> Ejer </text> @@ -29,12 +32,12 @@ URL'er </text> <text name="bubble_chat"> - Baggrundsfarve til navne-skilt (berører også Bubble Chat): + Navneskilt baggrundsfarve (påvirker også chat talebobler): </text> - <color_swatch name="background" tool_tip="Vælg farve til navne-skilt"/> - <slider label="Uigennemsigtighed:" name="bubble_chat_opacity" tool_tip="Vælg gennemsigtighed for navneskilt"/> + <color_swatch name="background" tool_tip="Vælg navneskilt farve"/> + <slider label="Gennemsigtighed:" name="bubble_chat_opacity" tool_tip="Vælg navneskilt gennemsigtighed"/> <text name="floater_opacity"> - Vindue uigennemsigtighed: + Floater gennemsigtighed: </text> <slider label="Aktiv:" name="active"/> <slider label="Inaktiv:" name="inactive"/> diff --git a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml index 15da1f9ec5..72200a07ad 100644 --- a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml @@ -28,8 +28,20 @@ </text> <check_box initial_value="sand" label="Gennemsigtig vand" name="TransparentWater"/> <check_box initial_value="true" label="Glatte flader og skin" name="BumpShiny"/> + <check_box initial_value="sand" label="Lokale lys" name="LocalLights"/> <check_box initial_value="true" label="Basale flader" name="BasicShaders" tool_tip="Ved at slå dette valg fra, kan det forhindres at visse grafikkort drivere crasher."/> <check_box initial_value="true" label="Atmosfæriske flader" name="WindLightUseAtmosShaders"/> + <check_box initial_value="sand" label="Lys og skygger" name="UseLightShaders"/> + <check_box initial_value="sand" label=""Ambient Occlusion"" name="UseSSAO"/> + <check_box initial_value="sand" label="Skarphedsdybde" name="UseDoF"/> + <text name="shadows_label"> + Skygger: + </text> + <combo_box name="ShadowDetail"> + <combo_box.item label="Ingen" name="0"/> + <combo_box.item label="Sol/Måne" name="1"/> + <combo_box.item label="Sol/Måne + Projektorer" name="2"/> + </combo_box> <text name="reflection_label"> Reflektioner i vand: </text> @@ -40,6 +52,10 @@ <combo_box.item label="Alle avatarer og objekter" name="3"/> <combo_box.item label="Alt" name="4"/> </combo_box> + <slider label="Avatar fysik:" name="AvatarPhysicsDetail"/> + <text name="AvatarPhysicsDetailText"> + Lav + </text> <slider label="Maks. visnings-afstand:" name="DrawDistance"/> <text name="DrawDistanceMeterText2"> m @@ -78,7 +94,7 @@ Lav </text> <text name="AvatarRenderingText"> - Avatar gengivelse + Avatar rendering: </text> <check_box initial_value="true" label="Mini-figurer på lang afstand" name="AvatarImpostors"/> <check_box initial_value="true" label="Hardware Skinning" name="AvatarVertexProgram"/> diff --git a/indra/newview/skins/default/xui/da/panel_preferences_sound.xml b/indra/newview/skins/default/xui/da/panel_preferences_sound.xml index 0626976cb5..26d2ae4abd 100644 --- a/indra/newview/skins/default/xui/da/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/da/panel_preferences_sound.xml @@ -6,7 +6,7 @@ <slider label="Generel" name="System Volume"/> <check_box initial_value="true" name="mute_when_minimized"/> <text name="mute_chb_label"> - Sluk lyd når minimeret + Sluk for lyd når minimeret </text> <slider label="Knapper" name="UI Volume"/> <slider label="Omgivelser" name="Wind Volume"/> diff --git a/indra/newview/skins/default/xui/da/panel_region_general.xml b/indra/newview/skins/default/xui/da/panel_region_general.xml index 5b5dd411ac..667c88c5b1 100644 --- a/indra/newview/skins/default/xui/da/panel_region_general.xml +++ b/indra/newview/skins/default/xui/da/panel_region_general.xml @@ -25,6 +25,7 @@ <check_box label="Tillad at sælge land" name="allow_land_resell_check"/> <check_box label="Tillad at samle/dele land" name="allow_parcel_changes_check"/> <check_box label="Blokér visning af land i Søgning" name="block_parcel_search_check" tool_tip="Lad beboere se denne region og dens parceller i søgeresultater"/> + <check_box label="Til "mesh" objekter" name="mesh_rez_enabled_check" tool_tip="Lad personer rezze mesh objekter i denne region"/> <spinner label="Max besøgende" name="agent_limit_spin"/> <spinner label="Objekt bonus" name="object_bonus_spin"/> <text label="Indhold" name="access_text"> diff --git a/indra/newview/skins/default/xui/da/panel_scrolling_param_base.xml b/indra/newview/skins/default/xui/da/panel_scrolling_param_base.xml new file mode 100644 index 0000000000..fa659040ea --- /dev/null +++ b/indra/newview/skins/default/xui/da/panel_scrolling_param_base.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="LLScrollingPanelParamBase"> + <slider label="[DESC]" name="param slider"/> +</panel> diff --git a/indra/newview/skins/default/xui/da/panel_sound_devices.xml b/indra/newview/skins/default/xui/da/panel_sound_devices.xml new file mode 100644 index 0000000000..27b7666a1f --- /dev/null +++ b/indra/newview/skins/default/xui/da/panel_sound_devices.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<panel label="Opsætning for udstyr" name="device_settings_panel"> + <panel.string name="default_text"> + Standard + </panel.string> + <text name="Input"> + Input + </text> + <text name="My volume label"> + Min lydstyrke: + </text> + <slider_bar initial_value="1.0" name="mic_volume_slider" tool_tip="Ændre lydstyrke med denne skyder"/> + <text name="wait_text"> + Vent venligst + </text> + <text name="Output"> + Output + </text> +</panel> diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index afc826d6d7..68b861fe92 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -115,6 +115,140 @@ <string name="Quit"> Afslut </string> + <string name="LoginFailedViewerNotPermitted"> + Den klient du benytter kan ikke længere få adgang til Second Life. Besøg venligst denne side for at hente en ny klient: +http://secondlife.com/download + +For mere information, se denne FAQ: +http://secondlife.com/viewer-access-faq + </string> + <string name="LoginIntermediateOptionalUpdateAvailable"> + Valgfri klient opdatering tilgængelig: [VERSION] + </string> + <string name="LoginFailedRequiredUpdate"> + Påkrævet opdatering a klient: [VERSION] + </string> + <string name="LoginFailedAlreadyLoggedIn"> + Din avatar er allerede logget på. + </string> + <string name="LoginFailedAuthenticationFailed"> + Beklager! vi kunne ikke logge dig på. +Undersøg venligst at du har indtastet det rette +Please check to make sure you entered the right + * Brugernavn (like bobsmith12 or steller.sunshine) + * Password +Check også at Caps Lock ikke er aktiveret. + </string> + <string name="LoginFailedPasswordChanged"> + Som en sikkerhedsforanstaltning er dit password blevet ændret. +Går venligst til din konto-side på http://secondlife.com/password +og besvar sikkerhedsspørgsmål for at nulstille dit password. +Vi undskylder besværet. + </string> + <string name="LoginFailedPasswordReset"> + vi har lavet nogle ændringer i vores system og det er nødvendigt at nulstille dit password. +Går venligst til din konto-side på http://secondlife.com/password +og besvar sikkerhedsspørgsmål for at nulstille dit password. +Vi undskylder besværet. + </string> + <string name="LoginFailedEmployeesOnly"> + Second Life er midlertidig lukket ned for vedligeholdelse. +Kun medarbejdere kan logge på for øjeblikket. +Check www.secondlife.com/status for opdateringer. + </string> + <string name="LoginFailedPremiumOnly"> + Second Life har midlertidig begrænset muligheden for log-in for at sikre, at brugere på systemet ikke får dårlige svartider. + + Brugere med gratis-konti vil ikke kunne logge på Second Life på dette tidspunkt. + </string> + <string name="LoginFailedComputerProhibited"> + Second Life kan ikke tilgås fra dennecomputer. +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedAcountSuspended"> + Din konto vil ikke være tilgængelig før +[TIME] Pacific Time. + </string> + <string name="LoginFailedAccountDisabled"> + Vi kan desværre ikke behandle forespøgsel lige nu. +Kontakt venligst Second Life supper for assitance via http://secondlife.com/support. +Hvis du ikke kan ændre dit password ring venligst +1 (866) 476-9763. + </string> + <string name="LoginFailedTransformError"> + Data inkonsistens registret ved login. +Kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedAccountMaintenance"> + Der foretages vedligehold på din konto lige nu. +Din konto vil ikke være tilgængelig før +[TIME] Pacific Time. +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedPendingLogoutFault"> + Forespøgsel på logout blev besvaret med en fejl fra simulatoren. + </string> + <string name="LoginFailedPendingLogout"> + Systemet er i gang med at logge dig ud netop nu. +Din konto vil ikke være tilgængelig før +[TIME] Pacific Time. + </string> + <string name="LoginFailedUnableToCreateSession"> + Ikke muligt at oprette gyldig session. + </string> + <string name="LoginFailedUnableToConnectToSimulator"> + Ikke muligt at koble til en simulator. + </string> + <string name="LoginFailedRestrictedHours"> + Din konto kan kun tilgå Second Life +mellem [START] [END] Pacific Time. +Kom venligst tilbage i dette tidsrum. + +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedIncorrectParameters"> + Ugyldig parametre. +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedFirstNameNotAlphanumeric"> + Fornavn parameter skal være alfanumerisk +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LoginFailedLastNameNotAlphanumeric"> + Efternavn parameter skal være alfanumerisk +Hvis du mener dette er en fejl, kontakt venligst support@secondlife.com. + </string> + <string name="LogoutFailedRegionGoingOffline"> + Regionen er lukket ned. +Prøv at logge på om lidt igen. + </string> + <string name="LogoutFailedAgentNotInRegion"> + Avatar ikke i en region. +Prøv venligst om lidt igen. + </string> + <string name="LogoutFailedPendingLogin"> + The region was logging in another session. +Please try logging in again in a minute. + </string> + <string name="LogoutFailedLoggingOut"> + Region har lukket sidste session ned. +Prøv venligst om lidt igen. + </string> + <string name="LogoutFailedStillLoggingOut"> + Regionen er stadig ved at lukke forrige session ud. +Prøv venligst om lidt igen. + </string> + <string name="LogoutSucceeded"> + Region har lukket sidste session ned. +Prøv venligst om lidt igen. + </string> + <string name="LogoutFailedLogoutBegun"> + Region er i gang med at logge ud. +Prøv venligst om lidt igen. + </string> + <string name="LoginFailedLoggingOutSession"> + Region er i gang med at lukket sidste session ned. +Prøv venligst om lidt igen. + </string> <string name="AgentLostConnection"> Denne region kan have problemer. Tjek venligst din forbindelse til internettet. </string> @@ -423,6 +557,9 @@ <string name="symbolic folder link"> link til mappe </string> + <string name="mesh"> + mesh + </string> <string name="AvatarAway"> Væk </string> @@ -852,6 +989,9 @@ <string name="tattoo"> Tatovering </string> + <string name="physics"> + Fysik + </string> <string name="invalid"> ugyldig </string> @@ -891,6 +1031,9 @@ <string name="tattoo_not_worn"> Tatovering ikke benyttet </string> + <string name="physics_not_worn"> + Ikke noget fysisk båret + </string> <string name="invalid_not_worn"> ugyldig </string> @@ -939,6 +1082,9 @@ <string name="create_new_tattoo"> Opret ny tatovering </string> + <string name="create_new_physics"> + Opret ny fysik + </string> <string name="create_new_invalid"> ugyldig </string> @@ -1141,6 +1287,9 @@ <string name="InvFolder Accessories"> Tilbehør </string> + <string name="InvFolder Meshes"> + Meshes + </string> <string name="InvFolder Friends"> Venner </string> @@ -2175,6 +2324,114 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE]. <string name="Bulbous Nose"> Kartoffelnæse </string> + <string name="Breast Physics Mass"> + Bryst fylde + </string> + <string name="Breast Physics Smoothing"> + Brystudjævning + </string> + <string name="Breast Physics Gravity"> + Bryst tyngde + </string> + <string name="Breast Physics Drag"> + Bryst inerti + </string> + <string name="Breast Physics InOut Max Effect"> + Maks. effekt + </string> + <string name="Breast Physics InOut Spring"> + Fjeder + </string> + <string name="Breast Physics InOut Gain"> + Øg + </string> + <string name="Breast Physics InOut Damping"> + Dæmpning + </string> + <string name="Breast Physics UpDown Max Effect"> + Maks. effekt + </string> + <string name="Breast Physics UpDown Spring"> + Fjeder + </string> + <string name="Breast Physics UpDown Gain"> + Øg + </string> + <string name="Breast Physics UpDown Damping"> + Dæmpning + </string> + <string name="Breast Physics LeftRight Max Effect"> + Maks. effekt + </string> + <string name="Breast Physics LeftRight Spring"> + Fjeder + </string> + <string name="Breast Physics LeftRight Gain"> + Øg + </string> + <string name="Breast Physics LeftRight Damping"> + Dæmpning + </string> + <string name="Belly Physics Mass"> + Mave omfang + </string> + <string name="Belly Physics Smoothing"> + maveudjævning + </string> + <string name="Belly Physics Gravity"> + Mave tyngde + </string> + <string name="Belly Physics Drag"> + Mave inerti + </string> + <string name="Belly Physics UpDown Max Effect"> + Maks. effekt + </string> + <string name="Belly Physics UpDown Spring"> + Fjeder + </string> + <string name="Belly Physics UpDown Gain"> + Øg + </string> + <string name="Belly Physics UpDown Damping"> + Dæmpning + </string> + <string name="Butt Physics Mass"> + Bagdel omfang + </string> + <string name="Butt Physics Smoothing"> + Bagdelsudjævning + </string> + <string name="Butt Physics Gravity"> + Bagdel tyngde + </string> + <string name="Butt Physics Drag"> + Bagdel modstand + </string> + <string name="Butt Physics UpDown Max Effect"> + Maks. effekt + </string> + <string name="Butt Physics UpDown Spring"> + Fjeder + </string> + <string name="Butt Physics UpDown Gain"> + Øg + </string> + <string name="Butt Physics UpDown Damping"> + Dæmpning + </string> + <string name="Butt Physics LeftRight Max Effect"> + Maks. effekt + </string> + <string name="Butt Physics LeftRight Spring"> + Fjeder + </string> + <string name="Butt Physics LeftRight Gain"> + Øg + </string> + <string name="Butt Physics LeftRight Damping"> + Dæmpning + </string> <string name="Bushy Eyebrows"> Buskede øjenbryn </string> @@ -2184,6 +2441,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE]. <string name="Butt Size"> Størrelse bagdel </string> + <string name="Butt Gravity"> + Bagdel tyngde + </string> <string name="bustle skirt"> Tournure </string> @@ -3537,6 +3797,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE]. <string name="session_initialization_timed_out_error"> Initialisering af session er "timed out" </string> + <string name="Home position set."> + Hjemmeposition sat. + </string> <string name="voice_morphing_url"> http://secondlife.com/landing/voicemorphing </string> @@ -3659,6 +3922,9 @@ Krænkelsesanmeldelse <string name="New Tattoo"> Ny tatovering </string> + <string name="New Physics"> + Ny fysik + </string> <string name="Invalid Wearable"> Kan ikke tages på </string> diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml index d15ab105c2..578dcd50e5 100644 --- a/indra/newview/skins/default/xui/de/floater_about.xml +++ b/indra/newview/skins/default/xui/de/floater_about.xml @@ -55,27 +55,33 @@ Wir bedanken uns bei folgenden Einwohnern, die uns geholfen haben, dies zur bish </panel> <panel label="Lizenzen" name="licenses_panel"> <text_editor name="credits_editor"> - 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion -APR Copyright (C) 2000-2004 The Apache Software Foundation -cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) + 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion. +APR Copyright (C) 2000-2004 The Apache Software Foundation. +Collada DOM Copyright 2005 Sony Computer Entertainment Inc. +cURL Copyright (C) 1996-2002, Daniel Stenberg (daniel@haxx.se). +DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc. expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). GL Copyright (C) 1999-2004 Brian Paul. +GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University sowie David Luebke, Brenden Schubert, University of Virginia. +google-perftools Copyright (c) 2005, Google Inc. Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. -jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) +jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW). jpeglib Copyright (C) 1991-1998, Thomas G. Lane. -ogg/vorbis Copyright (C) 2001, Xiphophorus +ogg/vorbis Copyright (C) 2001, Xiphophorus. OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. -SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga -SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +PCRE Copyright (c) 1997-2008 University of Cambridge. +SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga. +SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com). xmlrpc-epi Copyright (C) 2000 Epinions, Inc. zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler. google-perftools Copyright (c) 2005, Google Inc. -Alle Rechte vorbehalten. Details siehe licenses.txt. +Second Life Viewer verwendet Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (und Lizenzgeber). Alle Rechte vorbehalten. Details siehe www.havok.com. + +Alle Rechte vorbehalten. Details siehe licenses.txt. -Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) -(ITU-T Empf.G.722.1 Anhang C) +Audiocodierung für Voice-Chat: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) </text_editor> </panel> </tab_container> diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index f1e42232c8..f0fa4386d2 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -219,38 +219,38 @@ werden. <text name="objects_available"> [COUNT] von [MAX] ([AVAILABLE] verfügbar) </text> - <text name="Primitives parcel supports:" width="200"> + <text name="Primitives parcel supports:"> Von Parzelle unterstützte Prims: </text> - <text left="204" name="object_contrib_text" width="152"> + <text name="object_contrib_text"> [COUNT] </text> <text name="Primitives on parcel:"> Prims auf Parzelle: </text> - <text left="204" name="total_objects_text" width="48"> + <text name="total_objects_text"> [COUNT] </text> - <text left="14" name="Owned by parcel owner:" width="200"> + <text name="Owned by parcel owner:" width="200"> Im Eigentum des Parzellenbesitzers: </text> - <text left="204" left_delta="200" name="owner_objects_text" width="48"> + <text left_delta="204" name="owner_objects_text"> [COUNT] </text> - <button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60"/> - <button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnOwner..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/> - <text left="14" name="Set to group:"> + <button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner"/> + <button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnOwner..." tool_tip="Objekte an ihre Eigentümer zurückgeben."/> + <text name="Set to group:"> Der Gruppe zugeordnet: </text> - <text left="204" name="group_objects_text" width="48"> + <text name="group_objects_text"> [COUNT] </text> - <button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" width="60"/> - <button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnGroup..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/> - <text left="14" name="Owned by others:" width="128"> + <button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup"/> + <button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnGroup..." tool_tip="Objekte an ihre Eigentümer zurückgeben."/> + <text name="Owned by others:"> Im Eigentum anderer: </text> - <text left="204" name="other_objects_text" width="48"> + <text name="other_objects_text"> [COUNT] </text> <button label="Anzeigen" label_selected="Anzeigen" name="ShowOther"/> diff --git a/indra/newview/skins/default/xui/de/floater_buy_contents.xml b/indra/newview/skins/default/xui/de/floater_buy_contents.xml index ccafa11cf4..bd6ace6bda 100644 --- a/indra/newview/skins/default/xui/de/floater_buy_contents.xml +++ b/indra/newview/skins/default/xui/de/floater_buy_contents.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater min_width="300" name="floater_buy_contents" title="INHALT KAUFEN"> <text name="contains_text"> - [NAME] enthält: + <nolink>[NAME]</nolink> enthält: </text> <text name="buy_text"> [AMOUNT] L$ von [NAME] kaufen? diff --git a/indra/newview/skins/default/xui/de/floater_import_collada.xml b/indra/newview/skins/default/xui/de/floater_import_collada.xml new file mode 100644 index 0000000000..8b1313c7b5 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_import_collada.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Import Collada" title="Szene importieren"> + <text name="mesh count"> + Netze: [COUNT] + </text> + <text name="texture count"> + Texturen: [COUNT] + </text> + <text name="status"> + Status: [STATUS] + </text> + <button label="Abbrechen" name="cancel"/> + <button label="OK" name="ok"/> + <string name="status_idle"> + Inaktiv + </string> + <string name="status_uploading"> + [NAME] wird hochgeladen + </string> + <string name="status_creating"> + Objektname [NAME] wird erstellt + </string> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml index 9cc5b92daf..d63426d684 100644 --- a/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml @@ -5,6 +5,7 @@ <check_box label="Kleidung" name="check_clothing"/> <check_box label="Gesten" name="check_gesture"/> <check_box label="Landmarken" name="check_landmark"/> + <check_box label="Netze" name="check_mesh"/> <check_box label="Notizkarten" name="check_notecard"/> <check_box label="Objekte" name="check_object"/> <check_box label="Skripts" name="check_script"/> diff --git a/indra/newview/skins/default/xui/de/floater_model_preview.xml b/indra/newview/skins/default/xui/de/floater_model_preview.xml new file mode 100644 index 0000000000..83c51132ee --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_model_preview.xml @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Model Preview" title="Modell hochladen"> + <string name="status_idle"> + Inaktiv + </string> + <string name="status_reading_file"> + Laden... + </string> + <string name="status_generating_meshes"> + Netze werden generiert... + </string> + <string name="status_vertex_number_overflow"> + Fehler: Anzahl von Vertices überschreitet 65534. Operation abgebrochen. + </string> + <string name="high"> + Hoch + </string> + <string name="medium"> + Mittel + </string> + <string name="low"> + Niedrig + </string> + <string name="lowest"> + Niedrigste + </string> + <string name="mesh_status_good"> + Ausliefern + </string> + <string name="mesh_status_na"> + -- + </string> + <string name="mesh_status_none"> + Keine + </string> + <string name="mesh_status_submesh_mismatch"> + Detailstufen haben unterschiedliche Anzahl texturfähiger Flächen. + </string> + <string name="mesh_status_mesh_mismatch"> + Detailstufen haben unterschiedliche Anzahl von Netzinstanzen. + </string> + <string name="mesh_status_too_many_vertices"> + Detailstufe hat zu viele Vertices. + </string> + <string name="mesh_status_missing_lod"> + Erforderliche Detailstufe fehlt. + </string> + <string name="layer_all"> + Alle + </string> + <string name="decomposing"> + Analyse läuft... + </string> + <string name="simplifying"> + Vereinfachung läuft... + </string> + <text name="name_label"> + Name: + </text> + <text name="lod_label"> + Vorschau: + </text> + <combo_box name="preview_lod_combo" tool_tip="Detailstufe zur Anzeige in Vorschaudarstellung"> + <combo_item name="high"> + Detailstufe: Hoch + </combo_item> + <combo_item name="medium"> + Detailstufe: Mittel + </combo_item> + <combo_item name="low"> + Detailstufe: Niedrig + </combo_item> + <combo_item name="lowest"> + Detailstufe: Niedrigste + </combo_item> + </combo_box> + <panel> + <text name="streaming cost"> + Ressourcenkosten: [COST] + </text> + <text name="physics cost"> + Physikkosten: [COST] + </text> + <text name="upload fee"> + Gebühr für Hochladen: -- + </text> + </panel> + <text name="status"> + [STATUS] + </text> + <button label="Standardwerte" name="reset_btn" tool_tip="Standardwerte wiederherstellen"/> + <button label="Hochladen" name="ok_btn" tool_tip="An Simulator hochladen"/> + <button label="Abbrechen" name="cancel_btn"/> + <tab_container name="import_tab"> + <panel label="Detailstufe" name="lod_panel"> + <text name="lod_table_header"> + Detailstufe auswählen + </text> + <text name="high_label" value="Hoch"/> + <text name="high_triangles" value="0"/> + <text name="high_vertices" value="0"/> + <text name="medium_label" value="Mittel"/> + <text name="medium_triangles" value="0"/> + <text name="medium_vertices" value="0"/> + <text name="low_label" value="Niedrig"/> + <text name="low_triangles" value="0"/> + <text name="low_vertices" value="0"/> + <text name="lowest_label" value="Niedrigste"/> + <text name="lowest_triangles" value="0"/> + <text name="lowest_vertices" value="0"/> + <text name="lod_table_footer"> + Detailstufe: [DETAIL] + </text> + <radio_group name="lod_file_or_limit" value="lod_from_file"> + <radio_item label="Aus Datei laden" name="lod_from_file"/> + <radio_item label="Automatisch generieren" name="lod_auto_generate"/> + <radio_item label="Keine" name="lod_none"/> + </radio_group> + <button label="Durchsuchen..." name="lod_browse"/> + <combo_box name="lod_mode"> + <combo_item name="triangle_limit"> + Dreiecklimit + </combo_item> + <combo_item name="error_threshold"> + Fehlerschwelle + </combo_item> + </combo_box> + <text name="build_operator_text"> + Konstruktionsoperator: + </text> + <text name="queue_mode_text"> + Warteschlangenmodus: + </text> + <combo_box name="build_operator"> + <combo_item name="edge_collapse"> + Kantenkollaps + </combo_item> + <combo_item name="half_edge_collapse"> + Halbkantenkollaps + </combo_item> + </combo_box> + <combo_box name="queue_mode"> + <combo_item name="greedy"> + Strikt + </combo_item> + <combo_item name="lazy"> + Locker + </combo_item> + <combo_item name="independent"> + Unabhängig + </combo_item> + </combo_box> + <text name="border_mode_text"> + Grenzenmodus: + </text> + <text name="share_tolderance_text"> + Sharetoleranz: + </text> + <combo_box name="border_mode"> + <combo_item name="border_unlock"> + Freigeben + </combo_item> + <combo_item name="border_lock"> + Sperren + </combo_item> + </combo_box> + <text name="crease_label"> + Knitterwinkel: + </text> + <spinner name="crease_angle" value="75"/> + </panel> + <panel label="Physik" name="physics_panel"> + <panel name="physics geometry"> + <radio_group name="physics_load_radio" value="physics_load_from_file"> + <radio_item label="Datei:" name="physics_load_from_file"/> + <radio_item label="Detailstufe verwenden:" name="physics_use_lod"/> + </radio_group> + <combo_box name="physics_lod_combo" tool_tip="Detailstufe für physische Form"> + <combo_item name="physics_lowest"> + Niedrigste + </combo_item> + <combo_item name="physics_low"> + Niedrig + </combo_item> + <combo_item name="physics_medium"> + Mittel + </combo_item> + <combo_item name="physics_high"> + Hoch + </combo_item> + </combo_box> + <button label="Durchsuchen..." name="physics_browse"/> + </panel> + <panel name="physics analysis"> + <slider label="Glätten:" name="Smooth"/> + <check_box label="Löcher schließen (langsam)" name="Close Holes (Slow)"/> + <button label="Analysieren" name="Decompose"/> + <button label="Abbrechen" name="decompose_cancel"/> + </panel> + <panel name="physics simplification"> + <slider label="Durchläufe:" name="Combine Quality"/> + <slider label="Detailskala:" name="Detail Scale"/> + <slider label="Beibehalten:" name="Retain%"/> + <button label="Vereinfachen" name="Simplify"/> + <button label="Abbrechen" name="simplify_cancel"/> + </panel> + <panel name="physics info"> + <slider label="Vorschaudehnung:" name="physics_explode"/> + <text name="physics_triangles"> + Dreiecke: [TRIANGLES] + </text> + <text name="physics_points"> + Vertices: [POINTS] + </text> + <text name="physics_hulls"> + Hüllen: [HULLS] + </text> + </panel> + </panel> + <panel label="Modifizierer" name="modifiers_panel"> + <spinner name="import_scale" value="1,0"/> + <text name="import_dimensions"> + [X] x [Y] x [Z] m + </text> + <check_box label="Texturen" name="upload_textures"/> + <check_box label="Skingewicht" name="upload_skin"/> + <check_box label="Gelenkpositionen" name="upload_joints"/> + <spinner name="pelvis_offset" value="0,0"/> + </panel> + </tab_container> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_model_wizard.xml b/indra/newview/skins/default/xui/de/floater_model_wizard.xml new file mode 100644 index 0000000000..2c7b45906e --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_model_wizard.xml @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="Model Wizard" title="ASSISTENT ZUM HOCHLADEN VON MODELLEN"> + <button label="5. Hochladen" name="upload_btn"/> + <button label="4. Überprüfen" name="review_btn"/> + <button label="3. Physik" name="physics2_btn"/> + <button label="3. Physik" name="physics_btn"/> + <button label="2. Optimieren" name="optimize_btn"/> + <button label="1. Datei auswählen" name="choose_file_btn"/> + <panel name="choose_file_panel"> + <panel name="header_panel"> + <text name="header_text"> + Modell hochladen + </text> + </panel> + <text name="description"> + Mit diesem Assistenten können Sie Netzmodelle in Second Life hochladen. Geben Sie zuerst die Datei mit dem zu importierenden Modell an. Second Life unterstützt COLLADA-Dateien (.dae). + </text> + <panel name="content"> + <text name="Cache location"> + Dateiname: + </text> + <button label="Durchsuchen..." label_selected="Durchsuchen..." name="browse"/> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + </panel> + <panel name="optimize_panel"> + <panel name="header_panel"> + <text name="header_text"> + Optimieren + </text> + </panel> + <text name="description"> + Dieser Assistent hat Ihr Modell optimiert, um die Leistung zu erhöhen. Sie können die Optimierungsergebnisse unten ändern oder zum Fortfahren auf „Weiter“ klicken. + </text> + <panel name="content"> + <text name="high_detail_text"> + Detailstufe generieren: Hoch + </text> + <text name="medium_detail_text"> + Detailstufe generieren: Mittel + </text> + <text name="low_detail_text"> + Detailstufe generieren: Niedrig + </text> + <text name="lowest_detail_text"> + Detailstufe generieren: Niedrigste + </text> + </panel> + <panel name="content2"> + <text name="lod_label"> + Modellvorschau: + </text> + <combo_box name="preview_lod_combo2" tool_tip="Detailstufe zur Anzeige in Vorschaudarstellung"> + <combo_item name="high"> + Hoch + </combo_item> + <combo_item name="medium"> + Mittel + </combo_item> + <combo_item name="low"> + Niedrig + </combo_item> + <combo_item name="lowest"> + Niedrigste + </combo_item> + </combo_box> + <text name="streaming cost"> + Ressourcenkosten: [COST] + </text> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + </panel> + <panel name="physics_panel"> + <panel name="header_panel"> + <text name="header_text"> + Physik + </text> + </panel> + <text name="description"> + Der Assistent erstellt eine physische Form, die die Interaktionen des Objekts mit anderen Objekten und Avataren bestimmt. Setzen Sie den Schieber auf die Detailstufe, die für Ihr Objekt am besten geeignet ist: + </text> + <panel name="content"> + <text name="streaming cost"> + Ressourcenkosten: [COST] + </text> + </panel> + </panel> + <panel name="physics2_panel"> + <panel name="header_panel"> + <text name="header_text"> + Physik + </text> + </panel> + <text name="description"> + Überprüfen Sie die physische Form unten und klicken Sie dann auf „Weiter“. Um die physische Form zu ändern, klicken Sie auf „Zurück“. + </text> + <panel name="content"> + <text name="lod_label"> + Modellvorschau: + </text> + <combo_box name="preview_lod_combo3" tool_tip="Detailstufe zur Anzeige in Vorschaudarstellung"> + <combo_item name="high"> + Hoch + </combo_item> + <combo_item name="medium"> + Mittel + </combo_item> + <combo_item name="low"> + Niedrig + </combo_item> + <combo_item name="lowest"> + Niedrigste + </combo_item> + </combo_box> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + <text name="streaming cost"> + Ressourcenkosten: [COST] + </text> + </panel> + </panel> + <panel name="review_panel"> + <panel name="header_panel"> + <text name="header_text"> + Überprüfen + </text> + </panel> + <text name="description"> + Überprüfen Sie die Details unten und klicken Sie dann auf „Hochladen“, um das Modell hochzuladen. Die Kosten werden von Ihrem L$-Kontostand abgezogen. + </text> + <panel name="content"> + <text name="lod_label"> + Modellvorschau: + </text> + <combo_box name="preview_lod_combo" tool_tip="Detailstufe zur Anzeige in Vorschaudarstellung"> + <combo_item name="high"> + Hoch + </combo_item> + <combo_item name="medium"> + Mittel + </combo_item> + <combo_item name="low"> + Niedrig + </combo_item> + <combo_item name="lowest"> + Niedrigste + </combo_item> + </combo_box> + <text name="dimensions"> + X: Y: Z: + </text> + <text name="dimension_dividers"> + | | + </text> + </panel> + <text name="streaming cost"> + Ressourcenkosten: [COST] + </text> + <text name="physics cost"> + Physikkosten: [COST] + </text> + </panel> + <panel name="upload_panel"> + <panel name="header_panel"> + <text name="header_text"> + Upload abgeschlossen + </text> + </panel> + <text name="description"> + Herzlichen Glückwunsch! Ihr Modell wurde erfolgreich hochgeladen. Sie finden das Modell im Objektordner Ihres Inventars. + </text> + </panel> + <button label="<< Zurück" name="back"/> + <button label="Weiter >>" name="next"/> + <button label="Hochladen" name="upload" tool_tip="An Simulator hochladen"/> + <button label="Abbrechen" name="cancel"/> + <button label="Schließen" name="close"/> + <spinner name="import_scale" value="1,0"/> + <string name="status_idle"> + Inaktiv + </string> + <string name="status_reading_file"> + Laden... + </string> + <string name="status_generating_meshes"> + Netze werden generiert... + </string> + <string name="status_vertex_number_overflow"> + Fehler: Anzahl von Vertices überschreitet 65534. Operation abgebrochen. + </string> + <string name="high"> + Hoch + </string> + <string name="medium"> + Mittel + </string> + <string name="low"> + Niedrig + </string> + <string name="lowest"> + Niedrigste + </string> + <string name="mesh_status_good"> + Ausliefern + </string> + <string name="mesh_status_na"> + -- + </string> + <string name="mesh_status_none"> + Keine + </string> + <string name="mesh_status_submesh_mismatch"> + Detailstufen haben unterschiedliche Anzahl texturfähiger Flächen. + </string> + <string name="mesh_status_mesh_mismatch"> + Detailstufen haben unterschiedliche Anzahl von Netzinstanzen. + </string> + <string name="mesh_status_too_many_vertices"> + Detailstufe hat zu viele Vertices. + </string> + <string name="mesh_status_missing_lod"> + Erforderliche Detailstufe fehlt. + </string> + <string name="layer_all"> + Alle + </string> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml b/indra/newview/skins/default/xui/de/floater_perm_prefs.xml index fd65987aa9..9be22f3ccb 100644 --- a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml +++ b/indra/newview/skins/default/xui/de/floater_perm_prefs.xml @@ -9,7 +9,7 @@ </text> <check_box label="Bearbeiten" name="next_owner_modify"/> <check_box label="Kopieren" name="next_owner_copy"/> - <check_box label="Verkaufen/Weggeben" left_delta="80" name="next_owner_transfer"/> + <check_box label="Verkaufen/Weggeben" name="next_owner_transfer"/> </panel> <button label="OK" label_selected="OK" name="ok"/> <button label="Abbrechen" label_selected="Abbrechen" name="cancel"/> diff --git a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml index 6d3635fa8d..76dc623ca4 100644 --- a/indra/newview/skins/default/xui/de/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/de/floater_preview_gesture.xml @@ -33,7 +33,7 @@ <text name="replace_text" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt."> Ersetzen mit: </text> - <line_editor left_delta="94" name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt." width="160"/> + <line_editor name="replace_editor" tool_tip="Ersetzt den Auslösertext mit diesem Text. Wenn Sie zum Beispiel den Auslöser „hallo“ durch „wie geht's“ ersetzen, erscheint im Chat anstelle von „Ich wollte nur hallo sagen“ der Text „Ich wollte nur wie geht's sagen“ und die zugehörige Geste wird abgespielt."/> <text name="key_label"> Tastenkürzel: </text> diff --git a/indra/newview/skins/default/xui/de/floater_price_for_listing.xml b/indra/newview/skins/default/xui/de/floater_price_for_listing.xml new file mode 100644 index 0000000000..bdd772a9c2 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_price_for_listing.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="price_for_listing" title="ANZEIGE VERÖFFENTLICHEN"> + <text name="explanation_text"> + Ihre Anzeige wird für eine Woche veröffentlicht. + +Die Position Ihrer Anzeige hängt davon ab, wie viel Sie dafür bezahlen möchten. + +Die Anzeigen, für die am meisten bezahlt wird, werden am Anfang der Liste angezeigt und erscheinen in Suchergebnissen weiter oben. + </text> + <text name="price_text"> + Anzeigenpreis: + </text> + <text name="price_symbol"> + L$ + </text> + <button label="OK" name="set_price_btn"/> + <button label="Abbrechen" name="cancel_btn"/> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml index c014b8e040..ae68c71a80 100644 --- a/indra/newview/skins/default/xui/de/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml @@ -4,7 +4,7 @@ unbekannt </floater.string> <radio_group label="Fototyp" name="snapshot_type_radio"> - <radio_item label="Email" name="postcard"/> + <radio_item label="E-Mail" name="postcard"/> <radio_item label="Mein Inventar ([AMOUNT] L$)" name="texture"/> <radio_item label="Auf meinem Computer speichern" name="local"/> </radio_group> diff --git a/indra/newview/skins/default/xui/de/floater_sound_devices.xml b/indra/newview/skins/default/xui/de/floater_sound_devices.xml new file mode 100644 index 0000000000..7575ad9e2a --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_sound_devices.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_sound_devices" title="Audiogeräte"> + <text name="voice_label"> + Voice-Chat + </text> + <check_box label="Aktiviert" name="enable_voice"/> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index d95d674df2..338b609343 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -64,9 +64,9 @@ <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"> + <button label="Link" name="link_btn" width="30"/> + <button label="Verknüpfung auflösen" name="unlink_btn" width="126"/> + <text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt" left_pad="0"> þ: [COUNT] </text> <check_box label="" name="checkbox uniform"/> @@ -125,6 +125,18 @@ <text name="prim_count"> Primitive: [COUNT] </text> + <text name="linked_set_count"> + Verknüpfte Sätze: [COUNT] + </text> + <text name="linked_set_cost" tool_tip="Kosten der gegenwärtig ausgewählten verknüpften Sätze als [Prims],[Komplexität der Physik]"> + Kosten: [COST] / [PHYSICS] + </text> + <text name="object_count"> + Objekte: [COUNT] + </text> + <text name="object_cost" tool_tip="Kosten der gegenwärtig ausgewählten Objekte als [Prims] / [Komplexität der Physik]"> + Kosten: [COST] / [PHYSICS] + </text> <tab_container name="Object Info Tabs"> <panel label="Allgemein" name="General"> <panel.string name="text deed continued"> @@ -269,15 +281,6 @@ <combo_box.item label="Ring" name="Ring"/> <combo_box.item label="Geformt" name="Sculpted"/> </combo_box> - <combo_box name="material"> - <combo_box.item label="Stein" name="Stone"/> - <combo_box.item label="Metall" name="Metal"/> - <combo_box.item label="Glas" name="Glass"/> - <combo_box.item label="Holz" name="Wood"/> - <combo_box.item label="Fleisch" name="Flesh"/> - <combo_box.item label="Kunststoff" name="Plastic"/> - <combo_box.item label="Gummi" name="Rubber"/> - </combo_box> <text name="text cut"> Pfadschnitt (Anfang/Ende) </text> @@ -353,9 +356,19 @@ <combo_box.item label="Torus" name="Torus"/> <combo_box.item label="Fläche" name="Plane"/> <combo_box.item label="Zylinder" name="Cylinder"/> + <combo_box.item label="Netz" name="Mesh"/> </combo_box> </panel> <panel label="Eigenschaften" name="Features"> + <panel.string name="None"> + Keine + </panel.string> + <panel.string name="Prim"> + Prim + </panel.string> + <panel.string name="Convex Hull"> + Konvexe Hülle + </panel.string> <text name="select_single"> Wählen Sie nur einen einzelnen Baustein aus, um Eigenschaften zu bearbeiten. </text> @@ -380,6 +393,23 @@ <spinner label="Fokus" name="Light Focus"/> <spinner label="Abnehmend" name="Light Falloff"/> <spinner label="Ambiente" name="Light Ambiance"/> + <text name="label physicsshapetype"> + Art der physischen Form: + </text> + <combo_box name="Physics Shape Type Combo Ctrl" tool_tip="Art der physischen Form auswählen"/> + <combo_box name="material"> + <combo_box.item label="Stein" name="Stone"/> + <combo_box.item label="Metall" name="Metal"/> + <combo_box.item label="Glas" name="Glass"/> + <combo_box.item label="Holz" name="Wood"/> + <combo_box.item label="Fleisch" name="Flesh"/> + <combo_box.item label="Plastik" name="Plastic"/> + <combo_box.item label="Gummi" name="Rubber"/> + </combo_box> + <spinner label="Schwerkraft" name="Physics Gravity"/> + <spinner label="Reibung" name="Physics Friction"/> + <spinner label="Dichte" name="Physics Density"/> + <spinner label="Restitution" name="Physics Restitution"/> </panel> <panel label="Textur" name="Texture"> <panel.string name="string repeats per meter"> diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml index 165e9a9264..af70c08ba1 100644 --- a/indra/newview/skins/default/xui/de/menu_inventory_add.xml +++ b/indra/newview/skins/default/xui/de/menu_inventory_add.xml @@ -4,6 +4,8 @@ <menu_item_call label="Bild ([COST] L$)..." name="Upload Image"/> <menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> + <menu_item_call label="Modell..." name="Upload Model"/> + <menu_item_call label="Modellassistent..." name="Upload Model Wizard"/> <menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/> <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/> </menu> diff --git a/indra/newview/skins/default/xui/de/menu_model_import_gear_default.xml b/indra/newview/skins/default/xui/de/menu_model_import_gear_default.xml new file mode 100644 index 0000000000..e1faeedcde --- /dev/null +++ b/indra/newview/skins/default/xui/de/menu_model_import_gear_default.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<toggleable_menu name="model_menu_gear_default"> + <menu_item_check label="Kanten anzeigen" name="show_edges"/> + <menu_item_check label="Physik anzeigen" name="show_physics"/> + <menu_item_check label="Texturen anzeigen" name="show_textures"/> + <menu_item_check label="Skingewicht anzeigen" name="show_skin_weight"/> + <menu_item_check label="Gelenkpositionen anzeigen" name="show_joint_positions"/> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 9d5a69105d..05f9f94c8a 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -120,6 +120,8 @@ <menu_item_call label="Bild ([COST] L$)..." name="Upload Image"/> <menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> + <menu_item_call label="Modell..." name="Upload Model"/> + <menu_item_call label="Modellassistent..." name="Upload Model Wizard"/> <menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/> </menu> <menu_item_call label="Rückgängig" name="Undo"/> @@ -159,7 +161,7 @@ <menu_item_check label="Alpha" name="Alpha"/> <menu_item_check label="Baum" name="Tree"/> <menu_item_check label="Avatare" name="Character"/> - <menu_item_check label="SurfacePath" name="SurfacePath"/> + <menu_item_check label="Flächenpatch" name="Surface Patch"/> <menu_item_check label="Himmel" name="Sky"/> <menu_item_check label="Wasser" name="Water"/> <menu_item_check label="Boden" name="Ground"/> @@ -218,6 +220,7 @@ <menu_item_check label="Texture-Kategorie" name="Texture Category"/> <menu_item_check label="Schnelle Timer" name="Fast Timers"/> <menu_item_check label="Speicher" name="Memory"/> + <menu_item_check label="Szenestatistiken" name="Scene Statistics"/> <menu_item_call label="Info zu Region in Fenster Fehler beseitigen" name="Region Info to Debug Console"/> <menu_item_call label="Gruppeninfo in Fenster Fehler beseitigen" name="Group Info to Debug Console"/> <menu_item_call label="Info zu Fähigkeiten in Fenster Fehler beseitigen" name="Capabilities Info to Debug Console"/> @@ -228,6 +231,7 @@ </menu> <menu label="Info anzeigen" name="Display Info"> <menu_item_check label="Zeit anzeigen" name="Show Time"/> + <menu_item_check label="Kosten für Hochladen anzeigen" name="Show Upload Cost"/> <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"/> @@ -253,8 +257,10 @@ </menu> <menu label="Metadaten darstellen" name="Render Metadata"> <menu_item_check label="Bonding Boxes" name="Bounding Boxes"/> + <menu_item_check label="Normalen" name="Normals"/> <menu_item_check label="Octree" name="Octree"/> <menu_item_check label="Shadow Frusta" name="Shadow Frusta"/> + <menu_item_check label="Physische Formen" name="Physics Shapes"/> <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"/> @@ -262,9 +268,12 @@ <menu_item_check label="Textur-Priorität" name="Texture Priority"/> <menu_item_check label="Texturbereich" name="Texture Area"/> <menu_item_check label="Oberflächenbereich" name="Face Area"/> + <menu_item_check label="Detailstufeninfos" name="LOD Info"/> + <menu_item_check label="Konstruktionswarteschlange" name="Build Queue"/> <menu_item_check label="Lichter" name="Lights"/> <menu_item_check label="Gelenkpunkte" name="Collision Skeleton"/> <menu_item_check label="Raycast" name="Raycast"/> + <menu_item_check label="Formen" name="Sculpt"/> </menu> <menu label="Rendering" name="Rendering"> <menu_item_check label="Achsen" name="Axes"/> @@ -272,7 +281,6 @@ <menu_item_call label="Texturinfo für ausgewähltes Objekt" name="Selected Texture Info Basis"/> <menu_item_check label="Wireframe" name="Wireframe"/> <menu_item_check label="Objekt-Objekt Okklusion" name="Object-Object Occlusion"/> - <menu_item_check label="Framebuffer-Objekte" name="Framebuffer Objects"/> <menu_item_check label="Licht und Schatten" name="Lighting and Shadows"/> <menu_item_check label="Schatten von Sonne-/Mond-Projektoren" name="Shadows from Sun/Moon/Projectors"/> <menu_item_check label="SSAO und Schattenglättung" name="SSAO and Shadow Smoothing"/> @@ -371,6 +379,7 @@ <menu_item_call label="Lokale Texturen ausgeben" name="Dump Local Textures"/> </menu> <menu_item_check label="HTTP-Texturen" name="HTTP Textures"/> + <menu_item_check label="HTTP-Inventar" name="HTTP Inventory"/> <menu_item_call label="Bilder komprimieren" name="Compress Images"/> <menu_item_check label="Ausgabe Fehlerbeseitigung ausgeben" name="Output Debug Minidump"/> <menu_item_check label="Bei nächster Ausführung Fenster öffnen" name="Console Window"/> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index c172f7ea2d..75f26c6990 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -2172,6 +2172,12 @@ Dies kann die Eingabe Ihres Passworts beeinflussen. <notification name="RezItemNoPermissions"> Keine Berechtigung zum Rezzen von Objekten. </notification> + <notification name="IMAcrossParentEstates"> + Senden von IMs über übergeordnete Grundbesitze hinweg nicht möglich. + </notification> + <notification name="TransferInventoryAcrossParentEstates"> + Inventarübertragung über übergeordnete Grundbesitze hinweg nicht möglich. + </notification> <notification name="UnableToLoadNotecard"> Notizkarten-Asset konnte nicht geladen werden. </notification> @@ -2749,6 +2755,10 @@ Diese werden für ein paar Sekunden sicherheitshalber gesperrt. Sie wurden vom Moderator stummgeschaltet. <usetemplate name="okbutton" yestext="OK"/> </notification> + <notification name="UploadCostConfirmation"> + Das Hochladen kostet [PRICE] L$. Möchten Sie fortfahren? + <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Hochladen"/> + </notification> <notification name="ConfirmClearTeleportHistory"> Möchten Sie Ihre Teleport-Liste löschen? <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/> @@ -2760,6 +2770,9 @@ Die Schaltfläche wird angezeigt, wenn genügend Platz vorhanden ist. <notification name="ShareNotification"> Wählen Sie Einwohner aus, für die Sie das Objekt freigeben möchten. </notification> + <notification name="MeshUploadError"> + [LABEL] konnte nicht hochgeladen werden: [MESSAGE] [IDENTIFIER] [INVALIDITY_IDENTIFIER] + </notification> <notification name="ShareItemsConfirmation"> Möchten Sie wirklich die folgenden Objekte: @@ -2776,6 +2789,19 @@ für folgende Einwohner freigeben: <notification name="DeedToGroupFail"> Übertragung an Gruppe ist fehlgeschlagen. </notification> + <notification name="ReleaseLandThrottled"> + Die Parzelle [PARCEL_NAME] kann zurzeit nicht aufgegeben werden. + </notification> + <notification name="ReleasedLandWithReclaim"> + Die [AREA] m² große Parzelle „[PARCEL_NAME]“ wurde freigegeben. + +Sie haben [RECLAIM_PERIOD] Stunden, um die Parzelle für 0 L$ zurückzufordern, bevor sie zum Verkauf an alle freigegeben wird. + </notification> + <notification name="ReleasedLandNoReclaim"> + Die [AREA] m² große Parzelle „[PARCEL_NAME]“ wurde freigegeben. + +Sie steht jetzt zum Verkauf an alle zur Verfügung. + </notification> <notification name="AvatarRezNotification"> (Seit [EXISTENCE] Sekunden inworld ) Avatar '[NAME]' wurde in [TIME] Sekunden gerezzt. @@ -2914,6 +2940,10 @@ Durch Ausblenden der Schaltfläche „Sprechen“ wird die Sprechfunktion deakti 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="NoPlaceInfo"> + Die Anzeige des Ortsprofils 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"/> @@ -2934,9 +2964,18 @@ Durch Ausblenden der Schaltfläche „Sprechen“ wird die Sprechfunktion deakti 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> + <notification label="" name="NoInventory"> + Die Inventaranzeige 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="NoAppearance"> + Das Fenster zum Bearbeiten des Aussehens ist nur im Modus „Erweitert“ verfügbar. Möchten Sie sich abmelden und den Modus wechseln? + <usetemplate name="okcancelbuttons" notext="Nicht beenden" yestext="Beenden"/> + </notification> + <notification label="" name="NoSearch"> + Die Suche 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="UnsupportedGLRequirements"> Ihr Computer entspricht nicht den Hardwareanforderungen von [APP_NAME]. [APP_NAME] setzt eine OpenGL-Grafikkarte mit Multitextur-Unterstützung voraus. Falls Ihre Grafikkarte diese Funktion unterstützt, installieren Sie die neuesten Treiber sowie die aktuellen Service Packs und Patches für Ihr Betriebssystem. diff --git a/indra/newview/skins/default/xui/de/panel_preferences_colors.xml b/indra/newview/skins/default/xui/de/panel_preferences_colors.xml index 22681ffdf2..19c5efcb05 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_colors.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_colors.xml @@ -22,6 +22,9 @@ <text name="text_box5"> Fehler </text> + <text name="text_box10"> + Direkt + </text> <text name="text_box7"> Eigentümer </text> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml index 78cb03a50a..9175ea0bae 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml @@ -27,8 +27,20 @@ </text> <check_box initial_value="true" label="Transparentes Wasser" name="TransparentWater"/> <check_box initial_value="true" label="Bumpmapping und Glanz" name="BumpShiny"/> + <check_box initial_value="true" label="Lokale Lichtquellen" name="LocalLights"/> <check_box initial_value="true" label="Einfache Shader" name="BasicShaders" tool_tip="Deaktivieren Sie diese Option, wenn der Grafikkartentreiber Abstürze verursacht"/> <check_box initial_value="true" label="Atmosphären-Shader" name="WindLightUseAtmosShaders"/> + <check_box initial_value="true" label="Licht und Schatten" name="UseLightShaders"/> + <check_box initial_value="true" label="Ambient Occlusion" name="UseSSAO"/> + <check_box initial_value="true" label="Schärfentiefe" name="UseDoF"/> + <text name="shadows_label"> + Schatten: + </text> + <combo_box name="ShadowDetail"> + <combo_box.item label="Keine" name="0"/> + <combo_box.item label="Sonne/Mond" name="1"/> + <combo_box.item label="Sonne/Mond + Projektoren" name="2"/> + </combo_box> <text name="reflection_label"> Wasserreflexionen: </text> @@ -48,7 +60,7 @@ m </text> <slider label="Max. Partikelzahl:" name="MaxParticleCount"/> - <slider label="Max. Anzahl an voll dargestellten Avataren:" name="MaxNumberAvatarDrawn"/> + <slider label="Max. Anzahl an voll dargestellten Avataren:" label_width="230" name="MaxNumberAvatarDrawn" width="315"/> <slider label="Post-Processing-Qualität:" name="RenderPostProcess"/> <text name="MeshDetailText"> Darstellungsgrad: diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml index be8507ebbd..f383be992b 100644 --- a/indra/newview/skins/default/xui/de/panel_region_general.xml +++ b/indra/newview/skins/default/xui/de/panel_region_general.xml @@ -25,6 +25,7 @@ <check_box label="Landwiederverkauf zulassen" name="allow_land_resell_check"/> <check_box label="Landumverteilung zulassen" name="allow_parcel_changes_check"/> <check_box label="Landanzeige in Suche blockieren" name="block_parcel_search_check" tool_tip="Diese Region und ihre Parzellen in Suchergebnissen anzeigen"/> + <check_box label="Netzobjekte zulassen" name="mesh_rez_enabled_check" tool_tip="Anderen das Rezzen von Netzobjekten in dieser Region gestatten"/> <spinner label="Avatar-Limit" name="agent_limit_spin"/> <spinner label="Objektbonus" name="object_bonus_spin"/> <text label="Inhaltseinstufung" name="access_text"> diff --git a/indra/newview/skins/default/xui/de/panel_sound_devices.xml b/indra/newview/skins/default/xui/de/panel_sound_devices.xml new file mode 100644 index 0000000000..da20f7e214 --- /dev/null +++ b/indra/newview/skins/default/xui/de/panel_sound_devices.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<panel label="Geräteeinstellungen" name="device_settings_panel"> + <panel.string name="default_text"> + Standard + </panel.string> + <text name="Input"> + Eingabe + </text> + <text name="My volume label"> + Meine Lautstärke: + </text> + <slider_bar initial_value="1,0" name="mic_volume_slider" tool_tip="Lautstärke mit diesem Regler ändern"/> + <text name="wait_text"> + Bitte warten + </text> + <text name="Output"> + Ausgabe + </text> +</panel> diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index f32eb21dd3..d77b4a1e44 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -130,6 +130,139 @@ <string name="create_account_url"> http://join.secondlife.com/index.php?lang=de-DE </string> + <string name="LoginFailedViewerNotPermitted"> + Mit dem von Ihnen verwendeten Viewer ist der Zugriff auf Second Life nicht mehr möglich. Laden Sie von den folgenden Seite einen neuen Viewer herunter: +http://secondlife.com/download + +Weitere Informationen finden Sie auf der folgenden FAQ-Seite: +http://secondlife.com/viewer-access-faq + </string> + <string name="LoginIntermediateOptionalUpdateAvailable"> + Optionales Viewer-Update verfügbar: [VERSION] + </string> + <string name="LoginFailedRequiredUpdate"> + Erforderliches Viewer-Update: [VERSION] + </string> + <string name="LoginFailedAlreadyLoggedIn"> + Dieser Agent ist bereits angemeldet. + </string> + <string name="LoginFailedAuthenticationFailed"> + Wir bitten um Entschuldigung! Wir konnten Sie nicht anmelden. +Stellen Sie sicher, dass Sie die richtigen Informationen eingegeben haben: + * Benutzername (wie robertschmidt12 oder warme.sonne) + * Kennwort +Stellen Sie außerdem sicher, dass die Umschaltsperre deaktiviert ist. + </string> + <string name="LoginFailedPasswordChanged"> + Ihr Kennwort wurde aus Sicherheitsgründen geändert. +Gehen Sie zur Seite „Mein Account“ unter http://secondlife.com/password +und beantworten Sie die Sicherheitsfrage, um Ihr Kennwort zurückzusetzen. +Wir entschuldigen uns für eventuell enstandene Unannehmlichkeiten. + </string> + <string name="LoginFailedPasswordReset"> + Aufgrund von Systemänderungen müssen Sie Ihr Kennwort zurücksetzen. +Gehen Sie zur Seite „Mein Account“ unter http://secondlife.com/password +und beantworten Sie die Sicherheitsfrage, um Ihr Kennwort zurückzusetzen. +Wir entschuldigen uns für eventuell enstandene Unannehmlichkeiten. + </string> + <string name="LoginFailedEmployeesOnly"> + Second Life ist vorübergehend wegen Wartung geschlossen. +Nur Mitarbeiter können sich anmelden. +Aktuelle Informationen finden Sie unter www.secondlife.com/status. + </string> + <string name="LoginFailedPremiumOnly"> + Die Anmeldung bei Second Life ist vorübergehend eingeschränkt, um sicherzustellen, dass Einwohner, die sich bereits inworld aufhalten, das bestmögliche Erlebnis haben. + +Benutzer mit kostenlosen Konten können sich während dieses Zeitraums nicht bei Second Life anmelden, damit die Kapazität den Benutzern zur Verfügung steht, die ein gebührenpflichtiges Premium-Konto besitzen. + </string> + <string name="LoginFailedComputerProhibited"> + Der Zugriff auf Second Life ist von diesem Computer aus nicht möglich. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an +support@secondlife.com. + </string> + <string name="LoginFailedAcountSuspended"> + Ihr Konto ist erst ab +[TIME] Pacific Time wieder verfügbar. + </string> + <string name="LoginFailedAccountDisabled"> + Ihre Anfrage kann derzeit nicht bearbeitet werden. +Wenden Sie sich unter http://secondlife.com/support an den Second Life-Support. +Wenn Sie Ihr Kennwort nicht ändern können, rufen Sie die US-Nummer (866) 476-9763 an. + </string> + <string name="LoginFailedTransformError"> + Nicht übereinstimmende Daten bei der Anmeldung festgestellt. +Wenden Sie sich an support@secondlife.com. + </string> + <string name="LoginFailedAccountMaintenance"> + An Ihrem Konto werden gerade kleinere Wartungsarbeiten durchgeführt. +Ihr Konto ist erst ab +[TIME] Pacific Time wieder verfügbar. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an support@secondlife.com. + </string> + <string name="LoginFailedPendingLogoutFault"> + Abmeldeanforderung führte zu einem Simulatorfehler. + </string> + <string name="LoginFailedPendingLogout"> + Das System meldet Sie gerade ab. +Ihr Konto ist erst ab +[TIME] Pacific Time wieder verfügbar. + </string> + <string name="LoginFailedUnableToCreateSession"> + Es kann keine gültige Sitzung erstellt werden. + </string> + <string name="LoginFailedUnableToConnectToSimulator"> + Es kann keine Simulatorverbindung hergestellt werden. + </string> + <string name="LoginFailedRestrictedHours"> + Mit Ihrem Konto ist der Zugriff auf Second Life +nur zwischen [START] und [END] Pacific Time möglich. +Schauen Sie während dieses Zeitraums vorbei. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an support@secondlife.com. + </string> + <string name="LoginFailedIncorrectParameters"> + Falsche Parameter. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an support@secondlife.com. + </string> + <string name="LoginFailedFirstNameNotAlphanumeric"> + Vorname muss alphanumerisch sein. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an support@secondlife.com. + </string> + <string name="LoginFailedLastNameNotAlphanumeric"> + Nachname muss alphanumerisch sein. +Wenn Sie der Ansicht sind, dass Sie diese Meldung fälschlicherweise erhalten haben, wenden Sie sich an support@secondlife.com. + </string> + <string name="LogoutFailedRegionGoingOffline"> + Die Region wird gerade offline geschaltet. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutFailedAgentNotInRegion"> + Agent nicht in Region. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutFailedPendingLogin"> + Die Region war gerade dabei, eine andere Sitzung anzumelden. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutFailedLoggingOut"> + Die Region war gerade dabei, die vorherige Sitzung abzumelden. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutFailedStillLoggingOut"> + Die Region ist noch immer dabei, die vorherige Sitzung abzumelden. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutSucceeded"> + Die Region hat soeben die letzte Sitzung abgemeldet. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LogoutFailedLogoutBegun"> + Die Region hat den Abmeldevorgang gestartet. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> + <string name="LoginFailedLoggingOutSession"> + Das System hat begonnen, Ihre letzte Sitzung abzumelden. +Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. + </string> <string name="AgentLostConnection"> In dieser Region kann es zu Problemen kommen. Bitte überprüfen Sie Ihre Internetverbindung. </string> @@ -441,6 +574,9 @@ <string name="symbolic folder link"> Link zu Ordner </string> + <string name="mesh"> + mesh + </string> <string name="AvatarEditingAppearance"> (Aussehen wird bearbeitet) </string> @@ -1180,6 +1316,9 @@ <string name="InvFolder Accessories"> Zubehör </string> + <string name="InvFolder Meshes"> + Netze + </string> <string name="InvFolder Friends"> Freunde </string> @@ -3762,6 +3901,9 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_ <string name="session_initialization_timed_out_error"> Die Initialisierung der Sitzung ist fehlgeschlagen </string> + <string name="Home position set."> + Position für Zuhause festgelegt. + </string> <string name="voice_morphing_url"> http://secondlife.com/landing/voicemorphing </string> diff --git a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml index 9f6199fada..478ae5f53f 100644 --- a/indra/newview/skins/default/xui/en/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/en/floater_preview_gesture.xml @@ -50,17 +50,17 @@ name="desc_label" top_pad="25" font.style="BOLD" - width="100"> + width="105"> Description: </text> <line_editor follows="left|top" height="20" layout="topleft" - left_delta="89" + left_delta="94" name="desc" top_delta="-4" - width="175" /> + width="170" /> <text type="string" length="1" @@ -96,19 +96,19 @@ name="replace_text" tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture!" top_pad="10" - width="210"> + width="215"> Replace with: </text> <line_editor follows="left|top" height="20" layout="topleft" - left_delta="99" + left_delta="104" max_length_bytes="31" name="replace_editor" tool_tip="Replace the trigger word(s) with these words. For example, trigger 'hello' replace with 'howdy' will turn the chat 'I wanted to say hello' into 'I wanted to say howdy' as well as playing the gesture" top_delta="-4" - width="165" /> + width="160" /> <text type="string" length="1" diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index aad94f5b47..03ff7a15e1 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -267,7 +267,7 @@ layout="topleft" left_pad="2" name="unlink_btn" - width="50"> + width="105"> <button.commit_callback function="BuildTool.UnlinkObjects"/> </button> diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml index bbeb592e96..9e70706603 100644 --- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml +++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml @@ -52,7 +52,7 @@ multi_select="true" name="list_attachments" top="0" - width="311"> + width="311"/> </accordion_tab> <accordion_tab layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml index 9bd60b935f..bfc503f05b 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml @@ -104,12 +104,12 @@ top_pad="15" left="10" name="show_text" - width="40"> + width="62"> Show: </text> <combo_box height="23" - left="50" + left="72" width="140" top_delta="-5" follows="left|top" diff --git a/indra/newview/skins/default/xui/es/floater_buy_currency.xml b/indra/newview/skins/default/xui/es/floater_buy_currency.xml index 2f92cb55eb..43bbf0b70f 100644 --- a/indra/newview/skins/default/xui/es/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/es/floater_buy_currency.xml @@ -18,7 +18,7 @@ <text name="balance_amount"> [AMT] L$ </text> - <text name="currency_action" width="50"> + <text name="currency_action"> Quiero comprar </text> <text name="currency_label"> diff --git a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml index e8e95c3bac..293c9ef1d9 100644 --- a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="navigation_bar"> <panel name="navigation_panel"> - <pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/> + <pull_button name="back_btn" tool_tip="Volver a la localización anterior"/> <pull_button name="forward_btn" tool_tip="Ir una localización adelante"/> <button name="home_btn" tool_tip="Teleportar a mi Base"/> <location_input label="Localización" name="location_combo"/> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 3731b6b57c..b759eed738 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -3628,6 +3628,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE]. <string name="LocationCtrlComboBtnTooltip"> Historial de mis localizaciones </string> + <string name="LocationCtrlForSaleTooltip"> + Comprar este terreno + </string> <string name="LocationCtrlAdultIconTooltip"> Región Adulta </string> diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml index 0b14f92ae7..f7d77d351e 100644 --- a/indra/newview/skins/default/xui/ja/floater_tools.xml +++ b/indra/newview/skins/default/xui/ja/floater_tools.xml @@ -69,13 +69,13 @@ <text name="RenderingCost" tool_tip="このオブジェクトにかかるレンダリングコストを表示"> þ: [COUNT] </text> - <check_box label="" left="116" name="checkbox uniform"/> + <check_box label="" name="checkbox uniform"/> <text label="両側を延ばす" name="checkbox uniform label"> 両側を延ばす </text> <check_box initial_value="true" label="テクスチャを引き延ばす" name="checkbox stretch textures"/> - <check_box initial_value="true" label="グリッドにスナップ" left_delta="27" name="checkbox snap to grid"/> - <combo_box left_delta="60" name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択します" width="76"> + <check_box initial_value="true" label="グリッドにスナップ" name="checkbox snap to grid"/> + <combo_box name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択します" > <combo_box.item label="インワールドグリッド" name="World"/> <combo_box.item label="ローカルグリッド" name="Local"/> <combo_box.item label="リファレンスグリッド" name="Reference"/> @@ -137,7 +137,7 @@ <text name="object_cost" tool_tip="[prims] / [physics complexity] として現在選択されているオブジェクトのコスト"> 料金: [COST] / [PHYSICS] </text> - <tab_container name="Object Info Tabs" tab_max_width="150" tab_min_width="30"> + <tab_container name="Object Info Tabs" > <panel label="一般" name="General"> <panel.string name="text deed continued"> 譲渡 @@ -379,22 +379,22 @@ オブジェクトの特徴を編集: </text> <check_box label="フレキシブルパス" name="Flexible1D Checkbox Ctrl" tool_tip="Z 軸を中心にオブジェクトの屈曲を有効にします(クライアント側のみ)"/> - <spinner label="柔軟性" label_width="72" name="FlexNumSections" width="135"/> - <spinner label="重力" label_width="72" name="FlexGravity" width="135"/> - <spinner label="ドラッグ" label_width="72" name="FlexFriction" width="135"/> - <spinner label="風" label_width="72" name="FlexWind" width="135"/> - <spinner label="緊張" label_width="72" name="FlexTension" width="135"/> - <spinner label="X 軸方向の力" label_width="72" name="FlexForceX" width="135"/> - <spinner label="Y 軸方向の力" label_width="72" name="FlexForceY" width="135"/> - <spinner label="Z 軸方向の力" label_width="72" name="FlexForceZ" width="135"/> + <spinner label="柔軟性" name="FlexNumSections" /> + <spinner label="重力" name="FlexGravity" /> + <spinner label="ドラッグ" name="FlexFriction" /> + <spinner label="風" name="FlexWind" /> + <spinner label="緊張" name="FlexTension" /> + <spinner label="X 軸方向の力" name="FlexForceX" /> + <spinner label="Y 軸方向の力" name="FlexForceY" /> + <spinner label="Z 軸方向の力" name="FlexForceZ" /> <check_box label="光" name="Light Checkbox Ctrl" tool_tip="オブジェクトが発光します"/> - <color_swatch label="" left_delta="74" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/> + <color_swatch label="" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/> <texture_picker label="" name="light texture control" tool_tip="クリックで投影画を選択します(遅延レンダリング有効時のみ)"/> - <spinner label="輝度" label_width="72" name="Light Intensity" width="135"/> + <spinner label="輝度" name="Light Intensity" /> <spinner label="FOV" name="Light FOV"/> - <spinner label="半径" label_width="72" name="Light Radius" width="135"/> + <spinner label="半径" name="Light Radius" /> <spinner label="焦点" name="Light Focus"/> - <spinner label="弱まる" label_width="72" name="Light Falloff" width="135"/> + <spinner label="弱まる" name="Light Falloff" /> <spinner label="環境" name="Light Ambiance"/> <text name="label physicsshapetype"> 実像の種類: @@ -496,18 +496,18 @@ </panel> </panel> <panel label="中身" name="Contents"> - <button label="新しいスクリプト" label_selected="新規スクリプト" name="button new script" width="120"/> - <button label="権限" left_delta="130" name="button permissions" width="80"/> + <button label="新しいスクリプト" label_selected="新規スクリプト" name="button new script" /> + <button label="権限" name="button permissions" /> </panel> </tab_container> <panel name="land info panel"> <text name="label_parcel_info"> 区画情報 </text> - <text name="label_area_price" width="200"> + <text name="label_area_price" > 価格: [AREA] 平方メートル L$ [PRICE] </text> - <text name="label_area" width="200"> + <text name="label_area" > 面積: [AREA] 平方メートル </text> <button label="土地情報" label_selected="土地情報" name="button about land"/> diff --git a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml index 7dd85460a2..c6b301841a 100644 --- a/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/nl/floater_preview_gesture.xml @@ -15,7 +15,7 @@ <text name="trigger_label"> Trigger: </text> - <text name="replace_text" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein 'hallo' vervang door 'hoi' zal de chat 'Ik wilde hallo zeggen' veranderen in 'Ik wilde hoi zeggen', waarbij tevens het gebaar afgespeeld zal worden!" left="208"> + <text name="replace_text" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein 'hallo' vervang door 'hoi' zal de chat 'Ik wilde hallo zeggen' veranderen in 'Ik wilde hoi zeggen', waarbij tevens het gebaar afgespeeld zal worden!"> Vervangen door: </text> <line_editor name="replace_editor" tool_tip="Vervang de startseinwoorden door deze woorden. Bijvoorbeeld, startsein 'hallo' vervang door 'hoi' zal de chat 'Ik wilde hallo zeggen' veranderen in 'Ik wilde hoi zeggen', waarbij tevens het gebaar afgespeeld zal worden."/> diff --git a/indra/newview/skins/default/xui/zh/floater_about.xml b/indra/newview/skins/default/xui/zh/floater_about.xml index 58e8c41c38..bee940ddc1 100644 --- a/indra/newview/skins/default/xui/zh/floater_about.xml +++ b/indra/newview/skins/default/xui/zh/floater_about.xml @@ -25,11 +25,11 @@ <floater.string name="AboutLibs"> OpenGL Version: [OPENGL_VERSION] -libcurl Version: [LIBCURL_VERSION] -J2C Decoder Version: [J2C_VERSION] -Audio Driver Version: [AUDIO_DRIVER_VERSION] -Qt Webkit Version: [QT_WEBKIT_VERSION] -Voice Server Version: [VOICE_VERSION] +libcurl 版本: [LIBCURL_VERSION] +J2C 解碼器版本: [J2C_VERSION] +音效驅動程式版本: [AUDIO_DRIVER_VERSION] +Qt Webkit 版本: [QT_WEBKIT_VERSION] +語音伺服器版本: [VOICE_VERSION] </floater.string> <floater.string name="none"> (無) diff --git a/indra/newview/skins/default/xui/zh/floater_about_land.xml b/indra/newview/skins/default/xui/zh/floater_about_land.xml index a9142b22ad..efd8909e67 100644 --- a/indra/newview/skins/default/xui/zh/floater_about_land.xml +++ b/indra/newview/skins/default/xui/zh/floater_about_land.xml @@ -81,7 +81,7 @@ 分級: </text> <text name="ContentRatingText"> - Adult + 成人 </text> <text name="Owner:"> 擁有者: @@ -186,7 +186,7 @@ 分級: </text> <text name="region_maturity_text"> - Adult + 成人 </text> <text name="resellable_lbl"> Resale: @@ -289,7 +289,7 @@ Only large parcels can be listed in search. Moderate Content </panel.string> <panel.string name="mature_check_adult"> - Adult Content + 成人內容 </panel.string> <panel.string name="mature_check_mature_tooltip"> Your parcel information or content is considered moderate. @@ -307,35 +307,35 @@ Only large parcels can be listed in search. 禁止推撞(地區設定覆蓋) </panel.string> <text name="allow_label"> - Allow other Residents to: + 允許其他居民去: </text> - <check_box label="Edit Terrain" name="edit land check" tool_tip="If checked, anyone can terraform your land. It is best to leave this unchecked, as you can always edit your own land."/> - <check_box label="飛行" name="check fly" tool_tip="If checked, Residents can fly on your land. If unchecked, they can only fly into and over your land."/> + <check_box label="編輯地形" name="edit land check" tool_tip="若勾選則任何人將可以變形你的土地,最好是保持未勾選,因為你隨時可以編輯變更你的土地。"/> + <check_box label="飛行" name="check fly" tool_tip="逤勾選則居民可以在你飛行,不然就只能由外面飛入或飛越你的土地。"/> <text name="allow_label2"> 建造: </text> <check_box label="任何人" name="edit objects check"/> <check_box label="社團" name="edit group objects check"/> <text name="allow_label3"> - Object Entry: + 物件進入: </text> <check_box label="任何人" name="all object entry check"/> <check_box label="社團" name="group object entry check"/> <text name="allow_label4"> - Run Scripts: + 執行腳本: </text> <check_box label="任何人" name="check other scripts"/> <check_box label="社團" name="check group scripts"/> <text name="land_options_label"> - Land Options: + 土地選項: </text> - <check_box label="安全(無傷害)" name="check safe" tool_tip="If checked, sets the land to Safe, disabling damage combat. If cleared, damage combat is enabled."/> - <check_box label="禁止推撞" name="PushRestrictCheck" tool_tip="Prevents scripts from pushing. Checking this option may be useful for preventing disruptive behavior on your land."/> + <check_box label="安全(無傷害)" name="check safe" tool_tip="若勾選則設應土地為安全的,傷害性的戰鬥將被關閉。清除勾選後才能進行傷害性的戰鬥。"/> + <check_box label="禁止推撞" name="PushRestrictCheck" tool_tip="防止使用腳本推撞。勾選這個選項將可以有效防止你土地上的破壞行為。"/> <check_box label="將地點刊登顯示在搜尋中(L$30 / 每週)" name="ShowDirectoryCheck" tool_tip="Let people see this parcel in search results"/> <combo_box name="land category with adult"> <combo_box.item label="任何類別" name="item0"/> <combo_box.item label="Linden Location" name="item1"/> - <combo_box.item label="Adult" name="item2"/> + <combo_box.item label="成人" name="item2"/> <combo_box.item label="Arts & Culture" name="item3"/> <combo_box.item label="Business" name="item4"/> <combo_box.item label="Educational" name="item5"/> @@ -467,7 +467,7 @@ Only large parcels can be listed in search. </panel> <panel name="Banned_layout_panel"> <text label="Ban" name="BanCheck"> - Banned Residents + 被封鎖的居民 </text> <name_list name="BannedList" tool_tip="([LISTED] listed, [MAX] max)"/> <button label="添加" name="add_banned"/> diff --git a/indra/newview/skins/default/xui/zh/floater_animation_preview.xml b/indra/newview/skins/default/xui/zh/floater_animation_preview.xml index b4d7f71eec..b5d65119f7 100644 --- a/indra/newview/skins/default/xui/zh/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/zh/floater_animation_preview.xml @@ -9,7 +9,7 @@ Maximum animation length is [MAX_LENGTH] seconds. </floater.string> <floater.string name="failed_file_read"> - Unable to read animation file. + 無法讀取動作檔。 [STATUS] </floater.string> @@ -23,7 +23,7 @@ Maximum animation length is [MAX_LENGTH] seconds. Cannot read constraint definition. </floater.string> <floater.string name="E_ST_NO_FILE"> - Cannot open BVH file. + 無法開啟 BVH 檔案。 </floater.string> <floater.string name="E_ST_NO_HIER"> Invalid HIERARCHY header. @@ -115,7 +115,7 @@ Maximum animation length is [MAX_LENGTH] seconds. <text name="description_label"> 描述: </text> - <spinner label="Priority" name="priority" tool_tip="Controls which other animations can be overridden by this animation"/> + <spinner label="優先度" name="priority" tool_tip="Controls which other animations can be overridden by this animation"/> <check_box label="Loop" name="loop_check" tool_tip="Makes this animation loop"/> <spinner label="In(%)" name="loop_in_point" tool_tip="Sets point in animation that looping returns to"/> <spinner label="Out(%)" name="loop_out_point" tool_tip="Sets point in animation that ends a loop"/> diff --git a/indra/newview/skins/default/xui/zh/floater_avatar_picker.xml b/indra/newview/skins/default/xui/zh/floater_avatar_picker.xml index 90fd7c029e..27a4199f8c 100644 --- a/indra/newview/skins/default/xui/zh/floater_avatar_picker.xml +++ b/indra/newview/skins/default/xui/zh/floater_avatar_picker.xml @@ -29,18 +29,18 @@ <columns label="使用者名稱" name="username"/> </scroll_list> </panel> - <panel label="Friends" name="FriendsPanel"> + <panel label="朋友" name="FriendsPanel"> <text name="InstructSelectFriend"> 選擇一個人: </text> </panel> <panel label="接近我" name="NearMePanel"> <text name="InstructSelectResident"> - Select a person nearby: + 選擇一位附近的人: </text> - <slider label="Range" name="near_me_range"/> + <slider label="範圍" name="near_me_range"/> <text name="meters"> - Meters + 公尺 </text> <scroll_list name="NearMe"> <columns label="名稱" name="name"/> diff --git a/indra/newview/skins/default/xui/zh/floater_avatar_textures.xml b/indra/newview/skins/default/xui/zh/floater_avatar_textures.xml index fb17c0bb8a..b1dc081f04 100644 --- a/indra/newview/skins/default/xui/zh/floater_avatar_textures.xml +++ b/indra/newview/skins/default/xui/zh/floater_avatar_textures.xml @@ -15,13 +15,13 @@ Textures </text> <button label="Dump IDs to Console" label_selected="Dump" name="Dump"/> <panel name="scroll_content_panel"> - <texture_picker label="Hair" name="hair-baked"/> - <texture_picker label="Hair" name="hair_grain"/> + <texture_picker label="頭髮" name="hair-baked"/> + <texture_picker label="頭髮" name="hair_grain"/> <texture_picker label="Hair Alpha" name="hair_alpha"/> - <texture_picker label="Head" name="head-baked"/> + <texture_picker label="頭部" name="head-baked"/> <texture_picker label="Makeup" name="head_bodypaint"/> <texture_picker label="Head Alpha" name="head_alpha"/> - <texture_picker label="Head Tattoo" name="head_tattoo"/> + <texture_picker label="頭部刺青" name="head_tattoo"/> <texture_picker label="眼睛" name="eyes-baked"/> <texture_picker label="眼睛" name="eyes_iris"/> <texture_picker label="Eyes Alpha" name="eyes_alpha"/> diff --git a/indra/newview/skins/default/xui/zh/floater_buy_currency.xml b/indra/newview/skins/default/xui/zh/floater_buy_currency.xml index 0c4514600f..d8e9fb0ecc 100644 --- a/indra/newview/skins/default/xui/zh/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/zh/floater_buy_currency.xml @@ -40,7 +40,7 @@ [ACTION] </text> <text name="total_label"> - My new balance will be + 我的帳戶餘額將為 </text> <text name="total_amount"> L$ [AMT] diff --git a/indra/newview/skins/default/xui/zh/floater_buy_land.xml b/indra/newview/skins/default/xui/zh/floater_buy_land.xml index 023c531692..34401c11d0 100644 --- a/indra/newview/skins/default/xui/zh/floater_buy_land.xml +++ b/indra/newview/skins/default/xui/zh/floater_buy_land.xml @@ -68,7 +68,7 @@ Try selecting a smaller area. none needed </floater.string> <floater.string name="must_upgrade"> - Your account must be upgraded to own land. + 你的帳戶必須要升級才能擁有土地。 </floater.string> <floater.string name="cant_own_land"> 你的帳戶能擁有土地。 @@ -83,7 +83,7 @@ Try selecting a smaller area. Buy L$ [AMOUNT] for approx. [LOCAL_AMOUNT], </floater.string> <floater.string name="parcel_meters"> - This parcel is [AMOUNT] m² + 這個地段為 [AMOUNT] m² </floater.string> <floater.string name="premium_land"> This land is premium, and will charge as [AMOUNT] m². @@ -122,7 +122,7 @@ supports [AMOUNT2] objects You need to buy at least L$ [AMOUNT] to afford this land. </floater.string> <floater.string name="no_parcel_selected"> - (no parcel selected) + (無地段被選擇) </floater.string> <text name="region_name_label"> 地區: diff --git a/indra/newview/skins/default/xui/zh/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/zh/floater_day_cycle_options.xml index 8adc094fca..28d2ba6ed4 100644 --- a/indra/newview/skins/default/xui/zh/floater_day_cycle_options.xml +++ b/indra/newview/skins/default/xui/zh/floater_day_cycle_options.xml @@ -86,7 +86,7 @@ 預覽: </text> <button label="Play" label_selected="Play" name="WLAnimSky"/> - <button label="Stop!" label_selected="Stop" name="WLStopAnimSky"/> + <button label="停止!" label_selected="停止" name="WLStopAnimSky"/> <button label="Use Estate Time" label_selected="Go to Estate Time" name="WLUseLindenTime"/> <button label="Save Test Day" label_selected="Save Test Day" name="WLSaveDayCycle"/> <button label="Load Test Day" label_selected="Load Test Day" name="WLLoadDayCycle"/> diff --git a/indra/newview/skins/default/xui/zh/floater_gesture.xml b/indra/newview/skins/default/xui/zh/floater_gesture.xml index 2dcb46fb77..651a976774 100644 --- a/indra/newview/skins/default/xui/zh/floater_gesture.xml +++ b/indra/newview/skins/default/xui/zh/floater_gesture.xml @@ -16,11 +16,11 @@ </scroll_list> <panel label="bottom_panel" name="bottom_panel"> <menu_button name="gear_btn" tool_tip="更多選項"/> - <button name="new_gesture_btn" tool_tip="Make new gesture"/> + <button name="new_gesture_btn" tool_tip="製作新姿勢e"/> <button name="activate_btn" tool_tip="Activate/Deactivate selected gesture"/> - <button name="del_btn" tool_tip="Delete this gesture"/> + <button name="del_btn" tool_tip="刪除這個姿勢"/> </panel> <button label="編輯" name="edit_btn"/> - <button label="Play" name="play_btn"/> - <button label="Stop" name="stop_btn"/> + <button label="播放" name="play_btn"/> + <button label="停止" name="stop_btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_god_tools.xml b/indra/newview/skins/default/xui/zh/floater_god_tools.xml index 86403494e0..fbe89ab2a6 100644 --- a/indra/newview/skins/default/xui/zh/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/zh/floater_god_tools.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="godtools floater" title="GOD TOOLS"> +<floater name="godtools floater" title="神之工具"> <tab_container name="GodTools Tabs"> <panel label="網格" name="grid"> <button label="Flush This Region's Map Visibility Caches" label_selected="Flush This Region's Map Visibility Caches" name="Flush This Region's Map Visibility Caches"/> diff --git a/indra/newview/skins/default/xui/zh/floater_image_preview.xml b/indra/newview/skins/default/xui/zh/floater_image_preview.xml index 7eef0177ef..d7e9a7704c 100644 --- a/indra/newview/skins/default/xui/zh/floater_image_preview.xml +++ b/indra/newview/skins/default/xui/zh/floater_image_preview.xml @@ -11,7 +11,7 @@ </text> <combo_box label="服裝類型" name="clothing_type_combo"> <item label="圖像" name="Image" value="圖像"/> - <item label="Hair" name="Hair" value="Hair"/> + <item label="頭髮" name="Hair" value="頭髮"/> <item label="Female Head" name="FemaleHead" value="Female Head"/> <item label="Female Upper Body" name="FemaleUpperBody" value="Female Upper Body"/> <item label="Female Lower Body" name="FemaleLowerBody" value="Female Lower Body"/> diff --git a/indra/newview/skins/default/xui/zh/floater_incoming_call.xml b/indra/newview/skins/default/xui/zh/floater_incoming_call.xml index 4f678dbd9d..123cdd9f2c 100644 --- a/indra/newview/skins/default/xui/zh/floater_incoming_call.xml +++ b/indra/newview/skins/default/xui/zh/floater_incoming_call.xml @@ -4,10 +4,10 @@ 5 </floater.string> <floater.string name="localchat"> - Nearby Voice Chat + 附近的音聊天 </floater.string> <floater.string name="anonymous"> - anonymous + 匿名 </floater.string> <floater.string name="VoiceInviteP2P"> 通話中。 @@ -28,6 +28,6 @@ Do you want to leave [CURRENT_CHAT] and join this voice chat? </text> <button label="接受" label_selected="接受" name="Accept"/> - <button label="Reject" label_selected="Reject" name="Reject"/> + <button label="拒絕" label_selected="拒絕" name="Reject"/> <button label="開始 IM" name="Start IM"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml index a442eb9cbc..a4ede92ab1 100644 --- a/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml +++ b/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Inventory Finder" title="最近_收納區_物品"> - <check_box label="Animation" name="check_animation"/> + <check_box label="動作" name="check_animation"/> <check_box label="Calling Cards" name="check_calling_card"/> <check_box label="服裝" name="check_clothing"/> <check_box label="姿勢" name="check_gesture"/> <check_box label="地標" name="check_landmark"/> <check_box label="Notecards" name="check_notecard"/> <check_box label="Objects" name="check_object"/> - <check_box label="Scripts" name="check_script"/> + <check_box label="腳本" name="check_script"/> <check_box label="Sounds" name="check_sound"/> <check_box label="材質" name="check_texture"/> <check_box label="Snapshots" name="check_snapshot"/> diff --git a/indra/newview/skins/default/xui/zh/floater_media_browser.xml b/indra/newview/skins/default/xui/zh/floater_media_browser.xml index 616c326d6b..6e75016fad 100644 --- a/indra/newview/skins/default/xui/zh/floater_media_browser.xml +++ b/indra/newview/skins/default/xui/zh/floater_media_browser.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIA BROWSER"> +<floater name="floater_about" title="媒體劉覽器"> <floater.string name="home_page_url"> http://www.secondlife.com </floater.string> @@ -8,22 +8,22 @@ </floater.string> <layout_stack name="stack1"> <layout_panel name="nav_controls"> - <button label="Back" name="back"/> - <button label="Forward" name="forward"/> - <button label="Reload" name="reload"/> + <button label="向後" name="back"/> + <button label="向前" name="forward"/> + <button label="重載" name="reload"/> <button label="Go" name="go"/> </layout_panel> <layout_panel name="time_controls"> <button label="rewind" name="rewind"/> - <button label="stop" name="stop"/> - <button label="forward" name="seek"/> + <button label="停止" name="stop"/> + <button label="向前" name="seek"/> </layout_panel> <layout_panel name="parcel_owner_controls"> - <button label="Send Current Page to Parcel" name="assign"/> + <button label="送出目前頁面到地段" name="assign"/> </layout_panel> <layout_panel name="external_controls"> - <button label="Open in My Web Browser" name="open_browser"/> - <check_box label="Always open in my web browser" name="open_always"/> + <button label="在我的網頁瀏覽器中開啟" name="open_browser"/> + <check_box label="總是在我的網頁瀏覽器中開啟" name="open_always"/> <button label="關閉" name="close"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/zh/floater_mem_leaking.xml b/indra/newview/skins/default/xui/zh/floater_mem_leaking.xml index 3fa62b1b60..93c1b58df6 100644 --- a/indra/newview/skins/default/xui/zh/floater_mem_leaking.xml +++ b/indra/newview/skins/default/xui/zh/floater_mem_leaking.xml @@ -12,7 +12,7 @@ [NOTE2] </text> <button label="Start" name="start_btn"/> - <button label="Stop" name="stop_btn"/> + <button label="停止" name="stop_btn"/> <button label="Release" name="release_btn"/> <button label="關閉" name="close_btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_nearby_chat.xml b/indra/newview/skins/default/xui/zh/floater_nearby_chat.xml index bed7c20ba5..f0c34acb06 100644 --- a/indra/newview/skins/default/xui/zh/floater_nearby_chat.xml +++ b/indra/newview/skins/default/xui/zh/floater_nearby_chat.xml @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="NEARBY CHAT"> +<floater name="nearby_chat" title="附近的聊天"> <check_box label="Translate chat (powered by Google)" name="translate_chat_checkbox"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_pay.xml b/indra/newview/skins/default/xui/zh/floater_pay.xml index eeaaf0ab7d..b4841df0ff 100644 --- a/indra/newview/skins/default/xui/zh/floater_pay.xml +++ b/indra/newview/skins/default/xui/zh/floater_pay.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Give Money"> <string name="payee_group"> - Pay Group + 支付社團 </string> <string name="payee_resident"> - Pay Resident + 支付居民 </string> <text name="payee_name"> Test Name That Is Extremely Long To Check Clipping @@ -14,8 +14,8 @@ <button label="L$10" label_selected="L$10" name="fastpay 10"/> <button label="L$20" label_selected="L$20" name="fastpay 20"/> <text name="amount text"> - Or, choose amount: + 或,選擇一個金額: </text> - <button label="Pay" label_selected="Pay" name="pay btn"/> + <button label="支付" label_selected="支付" name="pay btn"/> <button label="取消" label_selected="取消" name="cancel btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_pay_object.xml b/indra/newview/skins/default/xui/zh/floater_pay_object.xml index 234aa9f7af..2a2aec93b9 100644 --- a/indra/newview/skins/default/xui/zh/floater_pay_object.xml +++ b/indra/newview/skins/default/xui/zh/floater_pay_object.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="Give Money"> <string name="payee_group"> - Pay Group + 支付社團 </string> <string name="payee_resident"> - Pay Resident + 支付居民 </string> <text name="payee_name"> Ericacita Moostopolison </text> <text name="object_name_label"> - Via object: + 經由物件: </text> <icon name="icon_object" tool_tip="物件"/> <text name="object_name_text"> @@ -23,6 +23,6 @@ <text name="amount text"> 或者,選擇一個金額: </text> - <button label="Pay" label_selected="Pay" name="pay btn"/> + <button label="支付" label_selected="支付" name="pay btn"/> <button label="取消" label_selected="取消" name="cancel btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_preview_animation.xml b/indra/newview/skins/default/xui/zh/floater_preview_animation.xml index 5ac2de4dc5..ead8dc49a6 100644 --- a/indra/newview/skins/default/xui/zh/floater_preview_animation.xml +++ b/indra/newview/skins/default/xui/zh/floater_preview_animation.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="preview_anim"> <floater.string name="Title"> - Animation: [NAME] + 動作: [NAME] </floater.string> <text name="desc txt"> 描述: </text> - <button label="Play Inworld" label_selected="Stop" name="Anim play btn" tool_tip="Play this animation so that others can see it"/> - <button label="Play Locally" label_selected="Stop" name="Anim audition btn" tool_tip="Play this animation so that only you can see it"/> + <button label="Play Inworld" label_selected="停止" name="Anim play btn" tool_tip="Play this animation so that others can see it"/> + <button label="Play Locally" label_selected="停止" name="Anim audition btn" tool_tip="Play this animation so that only you can see it"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_preview_gesture.xml b/indra/newview/skins/default/xui/zh/floater_preview_gesture.xml index 52e6a9d8e4..0649ecb791 100644 --- a/indra/newview/skins/default/xui/zh/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/zh/floater_preview_gesture.xml @@ -13,7 +13,7 @@ Wait: </floater.string> <floater.string name="stop_txt"> - Stop + 停止 </floater.string> <floater.string name="preview_txt"> 預覽 @@ -43,10 +43,10 @@ Library: </text> <scroll_list name="library_list"> - <scroll_list.rows name="action_animation" value="Animation"/> - <scroll_list.rows name="action_sound" value="Sound"/> + <scroll_list.rows name="action_animation" value="動作"/> + <scroll_list.rows name="action_sound" value="聲音"/> <scroll_list.rows name="action_chat" value="聊天"/> - <scroll_list.rows name="action_wait" value="Wait"/> + <scroll_list.rows name="action_wait" value="等待"/> </scroll_list> <button label="Add >>" name="add_btn"/> <text name="steps_label"> @@ -59,10 +59,10 @@ (選項) </text> <radio_group name="animation_trigger_type"> - <radio_item label="Start" name="start"/> - <radio_item label="Stop" name="stop"/> + <radio_item label="開始" name="start"/> + <radio_item label="停止" name="stop"/> </radio_group> - <check_box label="until animations are done" name="wait_anim_check"/> + <check_box label="直到動作結束。" name="wait_anim_check"/> <check_box label="time in seconds:" name="wait_time_check"/> <text name="help_label"> All steps happen simultaneously, unless you add wait steps. diff --git a/indra/newview/skins/default/xui/zh/floater_script_debug.xml b/indra/newview/skins/default/xui/zh/floater_script_debug.xml index 12e646785d..5b3500c018 100644 --- a/indra/newview/skins/default/xui/zh/floater_script_debug.xml +++ b/indra/newview/skins/default/xui/zh/floater_script_debug.xml @@ -1,2 +1,2 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<multi_floater name="script debug floater" title="Script Warning/Error"/> +<multi_floater name="script debug floater" title="腳本 警告/錯誤"/> diff --git a/indra/newview/skins/default/xui/zh/floater_sell_land.xml b/indra/newview/skins/default/xui/zh/floater_sell_land.xml index b6a929caeb..19580c99a1 100644 --- a/indra/newview/skins/default/xui/zh/floater_sell_land.xml +++ b/indra/newview/skins/default/xui/zh/floater_sell_land.xml @@ -41,7 +41,7 @@ <combo_box name="sell_to"> <combo_box.item label="- 選擇一個 -" name="--selectone--"/> <combo_box.item label="任何人" name="Anyone"/> - <combo_box.item label="Specific person:" name="Specificuser:"/> + <combo_box.item label="指定人:" name="Specificuser:"/> </combo_box> <button label="選擇" name="sell_to_select_agent"/> <text name="sell_objects_label"> diff --git a/indra/newview/skins/default/xui/zh/floater_snapshot.xml b/indra/newview/skins/default/xui/zh/floater_snapshot.xml index c9a66c1644..9edc19969f 100644 --- a/indra/newview/skins/default/xui/zh/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/zh/floater_snapshot.xml @@ -11,7 +11,7 @@ <text name="file_size_label"> [SIZE] KB </text> - <button label="Send" name="send_btn"/> + <button label="送出" name="send_btn"/> <button label="儲存(L$[AMOUNT])" name="upload_btn"/> <flyout_button label="儲存" name="save_btn" tool_tip="儲存圖像到檔案"> <flyout_button.item label="儲存" name="save_item"/> diff --git a/indra/newview/skins/default/xui/zh/floater_stats.xml b/indra/newview/skins/default/xui/zh/floater_stats.xml index 54c5ba5cc0..eebd5df3f7 100644 --- a/indra/newview/skins/default/xui/zh/floater_stats.xml +++ b/indra/newview/skins/default/xui/zh/floater_stats.xml @@ -1,53 +1,53 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Statistics" title="STATISTICS"> +<floater name="Statistics" title="統計"> <scroll_container name="statistics_scroll"> <container_view name="statistics_view"> - <stat_view label="Basic" name="basic"> + <stat_view label="基本" name="basic"> <stat_bar label="FPS" name="fps"/> - <stat_bar label="Bandwidth" name="bandwidth"/> + <stat_bar label="頻寬" name="bandwidth"/> <stat_bar label="封包損失" name="packet_loss"/> <stat_bar label="Ping Sim" name="ping"/> </stat_view> - <stat_view label="Advanced" name="advanced"> + <stat_view label="進階" name="advanced"> <stat_view label="Render" name="render"> <stat_bar label="KTris Drawn" name="ktrisframe"/> <stat_bar label="KTris Drawn" name="ktrissec"/> - <stat_bar label="Total Objects" name="objs"/> - <stat_bar label="New Objects" name="newobjs"/> + <stat_bar label="物件總計" name="objs"/> + <stat_bar label="新物件" name="newobjs"/> </stat_view> <stat_view label="材質" name="texture"> - <stat_bar label="Count" name="numimagesstat"/> + <stat_bar label="計數" name="numimagesstat"/> <stat_bar label="Raw Count" name="numrawimagesstat"/> <stat_bar label="GL Mem" name="gltexmemstat"/> <stat_bar label="Formatted Mem" name="formattedmemstat"/> <stat_bar label="Raw Mem" name="rawmemstat"/> <stat_bar label="Bound Mem" name="glboundmemstat"/> </stat_view> - <stat_view label="Network" name="network"> + <stat_view label="網路" name="network"> <stat_bar label="Packets In" name="packetsinstat"/> <stat_bar label="Packets Out" name="packetsoutstat"/> - <stat_bar label="Objects" name="objectkbitstat"/> + <stat_bar label="物件" name="objectkbitstat"/> <stat_bar label="材質" name="texturekbitstat"/> - <stat_bar label="Asset" name="assetkbitstat"/> + <stat_bar label="資產" name="assetkbitstat"/> <stat_bar label="Layers" name="layerskbitstat"/> <stat_bar label="Actual In" name="actualinkbitstat"/> <stat_bar label="Actual Out" name="actualoutkbitstat"/> <stat_bar label="VFS Pending Ops" name="vfspendingoperations"/> </stat_view> </stat_view> - <stat_view label="Simulator" name="sim"> + <stat_view label="模擬器" name="sim"> <stat_bar label="Time Dilation" name="simtimedilation"/> <stat_bar label="Sim FPS" name="simfps"/> <stat_bar label="Physics FPS" name="simphysicsfps"/> <stat_view label="Physics Details" name="physicsdetail"> <stat_bar label="Pinned Objects" name="physicspinnedtasks"/> <stat_bar label="Low LOD Objects" name="physicslodtasks"/> - <stat_bar label="Memory Allocated" name="physicsmemoryallocated"/> + <stat_bar label="記憶體配置" name="physicsmemoryallocated"/> </stat_view> <stat_bar label="Agent Updates/Sec" name="simagentups"/> <stat_bar label="Main Agents" name="simmainagents"/> <stat_bar label="Child Agents" name="simchildagents"/> - <stat_bar label="Objects" name="simobjects"/> + <stat_bar label="物件" name="simobjects"/> <stat_bar label="Active Objects" name="simactiveobjects"/> <stat_bar label="Active Scripts" name="simactivescripts"/> <stat_bar label="Script Events" name="simscripteps"/> @@ -63,7 +63,7 @@ <stat_bar label="Simulation Time" name="simsimothermsec"/> <stat_bar label="Agent Time" name="simagentmsec"/> <stat_bar label="Images Time" name="simimagesmsec"/> - <stat_bar label="Script Time" name="simscriptmsec"/> + <stat_bar label="腳本時間" name="simscriptmsec"/> </stat_view> </stat_view> </container_view> diff --git a/indra/newview/skins/default/xui/zh/floater_tools.xml b/indra/newview/skins/default/xui/zh/floater_tools.xml index 7ba1a0d6c4..300d7ee63b 100644 --- a/indra/newview/skins/default/xui/zh/floater_tools.xml +++ b/indra/newview/skins/default/xui/zh/floater_tools.xml @@ -39,11 +39,11 @@ <floater.string name="grid_attachment_text"> Attachment </floater.string> - <button name="button focus" tool_tip="Focus"/> + <button name="button focus" tool_tip="聚焦"/> <button name="button move" tool_tip="移動"/> <button name="button edit" tool_tip="編輯"/> - <button name="button create" tool_tip="Create"/> - <button name="button land" tool_tip="Land"/> + <button name="button create" tool_tip="創造"/> + <button name="button land" tool_tip="土地"/> <text name="text status"> Drag to move, shift-drag to copy </text> @@ -61,17 +61,17 @@ <radio_group name="edit_radio_group"> <radio_item label="移動" name="radio position"/> <radio_item label="旋轉(Ctrl)" name="radio rotate"/> - <radio_item label="Stretch (Ctrl+Shift)" name="radio stretch"/> - <radio_item label="Select Face" name="radio select face"/> + <radio_item label="伸展(Ctrl+Shift)" name="radio stretch"/> + <radio_item label="選擇面" name="radio select face"/> </radio_group> - <check_box label="Edit linked" name="checkbox edit linked parts"/> - <button label="Link" name="link_btn"/> - <button label="Unlink" name="unlink_btn"/> + <check_box label="編輯聯結部分" name="checkbox edit linked parts"/> + <button label="聯結" name="link_btn"/> + <button label="取消聯結" name="unlink_btn"/> <text name="RenderingCost" tool_tip="Shows the rendering cost calculated for this object"> þ: [COUNT] </text> - <text label="Stretch Both Sides" name="checkbox uniform label"> - Stretch Both Sides + <text label="同時伸展兩側" name="checkbox uniform label"> + 同時伸展兩側 </text> <check_box initial_value="true" label="伸展材質" name="checkbox stretch textures"/> <check_box initial_value="true" label="貼齊格線" name="checkbox snap to grid"/> @@ -80,7 +80,7 @@ <combo_box.item label="Local grid" name="Local"/> <combo_box.item label="Reference grid" name="Reference"/> </combo_box> - <button name="Options..." tool_tip="See more grid options"/> + <button name="Options..." tool_tip="察看更多格線選項"/> <button name="ToolCube" tool_tip="Cube"/> <button name="ToolPrism" tool_tip="Prism"/> <button name="ToolPyramid" tool_tip="Pyramid"/> @@ -96,33 +96,33 @@ <button name="ToolRing" tool_tip="Ring"/> <button name="ToolTree" tool_tip="Tree"/> <button name="ToolGrass" tool_tip="Grass"/> - <check_box label="Keep Tool selected" name="checkbox sticky"/> - <check_box label="Copy selection" name="checkbox copy selection"/> + <check_box label="保持已選擇的工具" name="checkbox sticky"/> + <check_box label="覆製選擇" name="checkbox copy selection"/> <check_box initial_value="true" label="Center Copy" name="checkbox copy centers"/> <check_box label="Rotate Copy" name="checkbox copy rotates"/> <radio_group name="land_radio_group"> - <radio_item label="Select Land" name="radio select land"/> - <radio_item label="Flatten" name="radio flatten"/> - <radio_item label="Raise" name="radio raise"/> - <radio_item label="Lower" name="radio lower"/> - <radio_item label="Smooth" name="radio smooth"/> - <radio_item label="Roughen" name="radio noise"/> - <radio_item label="Revert" name="radio revert"/> + <radio_item label="選擇土地" name="radio select land"/> + <radio_item label="攤平" name="radio flatten"/> + <radio_item label="提高" name="radio raise"/> + <radio_item label="降低" name="radio lower"/> + <radio_item label="平滑" name="radio smooth"/> + <radio_item label="粗糙" name="radio noise"/> + <radio_item label="還原" name="radio revert"/> </radio_group> <text name="Bulldozer:"> - Bulldozer: + 推土機: </text> <text name="Dozer Size:"> 尺寸 </text> <slider_bar initial_value="2.0" name="slider brush size"/> <text name="Strength:"> - Strength + 力道 </text> <slider_bar initial_value="0.00" name="slider force"/> - <button label="套用" label_selected="套用" name="button apply to selection" tool_tip="Modify selected land"/> + <button label="套用" label_selected="套用" name="button apply to selection" tool_tip="修改所選擇的土地"/> <text name="obj_count"> - Objects: [COUNT] + 物件: [COUNT] </text> <text name="prim_count"> Prims: [COUNT] @@ -136,19 +136,19 @@ Deed </panel.string> <panel.string name="text modify info 1"> - You can modify this object + 你能修改這個物件 </panel.string> <panel.string name="text modify info 2"> - You can modify these objects + 你能修改這些物件 </panel.string> <panel.string name="text modify info 3"> - You can't modify this object + 你不能修改這個物件 </panel.string> <panel.string name="text modify info 4"> - You can't modify these objects + 你不能修改這些物件 </panel.string> <panel.string name="text modify warning"> - You must select entire object to set permissions + 你必須選取整個物件以設定權限 </panel.string> <panel.string name="Cost Default"> 價格: L$ @@ -157,7 +157,7 @@ 總價: L$ </panel.string> <panel.string name="Cost Per Unit"> - Price Per: L$ + 單價每個: L$ </panel.string> <panel.string name="Cost Mixed"> Mixed Price @@ -181,19 +181,19 @@ 社團: </text> <name_box initial_value="載入中..." name="Group Name Proxy"/> - <button name="button set group" tool_tip="Choose a group to share this object's permissions"/> + <button name="button set group" tool_tip="選擇一個社團以分享這物件權限"/> <check_box label="分享" name="checkbox share with group" tool_tip="Allow all members of the set group to share your modify permissions for this object. You must Deed to enable role restrictions."/> <button label="Deed" label_selected="Deed" name="button deed" tool_tip="Deeding gives this item away with next owner permissions. Group shared objects can be deeded by a group officer."/> <text name="label click action"> - Click to: + 點擊以: </text> <combo_box name="clickaction"> - <combo_box.item label="Touch (default)" name="Touch/grab(default)"/> - <combo_box.item label="Sit on object" name="Sitonobject"/> - <combo_box.item label="Buy object" name="Buyobject"/> - <combo_box.item label="Pay object" name="Payobject"/> - <combo_box.item label="Open" name="Open"/> - <combo_box.item label="Zoom" name="Zoom"/> + <combo_box.item label="觸碰(預設)" name="Touch/grab(default)"/> + <combo_box.item label="坐在物件上" name="Sitonobject"/> + <combo_box.item label="購買物件" name="Buyobject"/> + <combo_box.item label="支付物件" name="Payobject"/> + <combo_box.item label="開啟" name="Open"/> + <combo_box.item label="縮放" name="Zoom"/> </combo_box> <check_box label="出售:" name="checkbox for sale"/> <combo_box name="sale type"> @@ -202,7 +202,7 @@ <combo_box.item label="原件" name="Original"/> </combo_box> <spinner label="價格: L$" name="Edit Cost"/> - <check_box label="顯示在搜尋中" name="search_check" tool_tip="Let people see this object in search results"/> + <check_box label="顯示在搜尋中" name="search_check" tool_tip="讓其他人可以在搜尋結果中看到這物件"/> <panel name="perms_build"> <text name="perm_modify"> 你可以修改這個物件 @@ -238,13 +238,13 @@ </text> </panel> </panel> - <panel label="Object" name="Object"> - <check_box label="鎖定" name="checkbox locked" tool_tip="Prevents object from being moved or deleted. Frequently useful during building to avoid unintended edits."/> - <check_box label="物理性" name="Physical Checkbox Ctrl" tool_tip="Allows object to be pushed and affected by gravity"/> - <check_box label="暫時性" name="Temporary Checkbox Ctrl" tool_tip="Causes object to be deleted 1 minute after creation"/> - <check_box label="幻影性" name="Phantom Checkbox Ctrl" tool_tip="Causes object to not collide with other objects or avatars"/> + <panel label="物件" name="Object"> + <check_box label="鎖定" name="checkbox locked" tool_tip="預防物件被移動或刪除,最常使用的狀況是在建造過程中避免被意外的編輯。"/> + <check_box label="物理性" name="Physical Checkbox Ctrl" tool_tip="允許物件被推撞與受重力影響"/> + <check_box label="暫時性" name="Temporary Checkbox Ctrl" tool_tip="使物件在建造後的一分鐘自動刪除"/> + <check_box label="幻影性" name="Phantom Checkbox Ctrl" tool_tip="使物件不會與其他物件或化身產生碰撞"/> <text name="label position"> - Position (meters) + 位置(公尺) </text> <spinner label="X" name="Pos X"/> <spinner label="Y" name="Pos Y"/> @@ -256,7 +256,7 @@ <spinner label="Y" name="Scale Y"/> <spinner label="Z" name="Scale Z"/> <text name="label rotation"> - Rotation (degrees) + 旋轉(角度) </text> <spinner label="X" name="Rot X"/> <spinner label="Y" name="Rot Y"/> @@ -273,12 +273,12 @@ </combo_box> <combo_box name="material"> <combo_box.item label="Stone" name="Stone"/> - <combo_box.item label="Metal" name="Metal"/> - <combo_box.item label="Glass" name="Glass"/> - <combo_box.item label="Wood" name="Wood"/> - <combo_box.item label="Flesh" name="Flesh"/> - <combo_box.item label="Plastic" name="Plastic"/> - <combo_box.item label="Rubber" name="Rubber"/> + <combo_box.item label="金屬" name="Metal"/> + <combo_box.item label="玻璃" name="Glass"/> + <combo_box.item label="木頭" name="Wood"/> + <combo_box.item label="肌肉" name="Flesh"/> + <combo_box.item label="塑膠" name="Plastic"/> + <combo_box.item label="橡膠" name="Rubber"/> </combo_box> <text name="text cut"> Path Cut (begin/end) @@ -286,13 +286,13 @@ <spinner label="B" name="cut begin"/> <spinner label="E" name="cut end"/> <text name="text hollow"> - Hollow + 中空 </text> <text name="text skew"> Skew </text> <text name="Hollow Shape"> - Hollow Shape + 中空形狀 </text> <combo_box name="hole"> <combo_box.item label="預設" name="Default"/> @@ -354,12 +354,12 @@ <combo_box.item label="Cylinder" name="Cylinder"/> </combo_box> </panel> - <panel label="Features" name="Features"> + <panel label="特性" name="Features"> <text name="select_single"> Select only one primitive to edit features. </text> <text name="edit_object"> - Edit object features: + 編輯物件特性: </text> <check_box label="Flexible Path" name="Flexible1D Checkbox Ctrl" tool_tip="Allows object to flex about the Z axis (Client-side only)"/> <spinner label="Softness" name="FlexNumSections"/> @@ -371,7 +371,7 @@ <spinner label="Force Y" name="FlexForceY"/> <spinner label="Force Z" name="FlexForceZ"/> <check_box label="Light" name="Light Checkbox Ctrl" tool_tip="Causes object to emit light"/> - <color_swatch name="colorswatch" tool_tip="Click to open color picker"/> + <color_swatch name="colorswatch" tool_tip="點擊以開啟顏色挑選器"/> <texture_picker label="" name="light texture control" tool_tip="Click to choose a projection image (only has effect with deferred rendering enabled)"/> <spinner label="Intensity" name="Light Intensity"/> <spinner label="FOV" name="Light FOV"/> @@ -382,38 +382,38 @@ </panel> <panel label="材質" name="Texture"> <panel.string name="string repeats per meter"> - Repeats Per Meter + 每公尺重覆次數 </panel.string> <panel.string name="string repeats per face"> - Repeats Per Face + 每一面重覆次數 </panel.string> <texture_picker label="材質" name="texture control" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color" name="colorswatch" tool_tip="Click to open color picker"/> + <color_swatch label="顏色" name="colorswatch" tool_tip="點擊以開啟顏色挑選器"/> <text name="color trans"> - Transparency % + 透明度 % </text> <text name="glow label"> - Glow + 光暈 </text> - <check_box label="Full Bright" name="checkbox fullbright"/> + <check_box label="全亮" name="checkbox fullbright"/> <text name="tex gen"> - Mapping + 映射方式 </text> <combo_box name="combobox texgen"> <combo_box.item label="預設" name="Default"/> - <combo_box.item label="Planar" name="Planar"/> + <combo_box.item label="平面" name="Planar"/> </combo_box> <text name="label shininess"> - Shininess + 光澤 </text> <combo_box name="combobox shininess"> <combo_box.item label="無" name="None"/> - <combo_box.item label="Low" name="Low"/> - <combo_box.item label="Medium" name="Medium"/> - <combo_box.item label="High" name="High"/> + <combo_box.item label="低" name="Low"/> + <combo_box.item label="中" name="Medium"/> + <combo_box.item label="高" name="High"/> </combo_box> <text name="label bumpiness"> - Bumpiness + 凹凸貼圖 </text> <combo_box name="combobox bumpiness"> <combo_box.item label="無" name="None"/> @@ -435,65 +435,65 @@ <combo_box.item label="suction" name="suction"/> <combo_box.item label="weave" name="weave"/> </combo_box> - <check_box initial_value="false" label="Align planar faces" name="checkbox planar align" tool_tip="Align textures on all selected faces with the last selected face. Requires Planar texture mapping."/> + <check_box initial_value="false" label="對齊平面" name="checkbox planar align" tool_tip="以最後所選擇的面為基準,對齊全部所選擇的面上的材質。這必須使用平面材質映射方式。"/> <text name="rpt"> - Repeats / Face - </text> - <spinner label="Horizontal (U)" name="TexScaleU"/> - <check_box label="Flip" name="checkbox flip s"/> - <spinner label="Vertical (V)" name="TexScaleV"/> - <check_box label="Flip" name="checkbox flip t"/> - <spinner label="Rotation˚" name="TexRot"/> - <spinner label="Repeats / Meter" name="rptctrl"/> + 重覆次數 / 面 + </text> + <spinner label="水平(U)" name="TexScaleU"/> + <check_box label="翻轉" name="checkbox flip s"/> + <spinner label="垂直(V)" name="TexScaleV"/> + <check_box label="翻轉" name="checkbox flip t"/> + <spinner label="旋轉˚" name="TexRot"/> + <spinner label="重覆次數 / 公尺" name="rptctrl"/> <button label="套用" label_selected="套用" name="button apply"/> <text name="tex offset"> 材質位移 </text> - <spinner label="Horizontal (U)" name="TexOffsetU"/> - <spinner label="Vertical (V)" name="TexOffsetV"/> + <spinner label="水平(U)" name="TexOffsetU"/> + <spinner label="垂直(V)" name="TexOffsetV"/> <panel name="Add_Media"> <text name="media_tex"> - Media + 媒體 </text> - <button name="add_media" tool_tip="Add Media"/> + <button name="add_media" tool_tip="添加媒體"/> <button name="delete_media" tool_tip="刪除這個媒體材質"/> - <button name="edit_media" tool_tip="Edit this Media"/> - <button label="Align" label_selected="Align Media" name="button align" tool_tip="Align media texture (must load first)"/> + <button name="edit_media" tool_tip="編輯這個媒體"/> + <button label="對齊" label_selected="對齊媒體" name="button align" tool_tip="對齊媒體材質(須先載入)"/> </panel> </panel> - <panel label="Content" name="Contents"> - <button label="New Script" label_selected="New Script" name="button new script"/> - <button label="Permissions" name="button permissions"/> + <panel label="內容" name="Contents"> + <button label="新腳本" label_selected="新腳本" name="button new script"/> + <button label="權限" name="button permissions"/> </panel> </tab_container> <panel name="land info panel"> <text name="label_parcel_info"> - Parcel Information + 地段資訊 </text> <text name="label_area_price"> - Price: L$[PRICE] for [AREA] m² + 價格: L$[PRICE] 購買 [AREA] m² </text> <text name="label_area"> 面積: [AREA] m² </text> <button label="關於土地" label_selected="關於土地" name="button about land"/> - <check_box label="顯示擁有主" name="checkbox show owners" tool_tip="Colorize the parcels according to the type of owner: + <check_box label="顯示擁有者" name="checkbox show owners" tool_tip="Colorize the parcels according to the type of owner: -Green = Your land -Aqua = Your group's land -Red = Owned by others -Yellow = For sale -Purple = For auction -Grey = Public"/> +綠色 = 你的土地 +水藍 = 你社團的土地 +紅色 = 其他人所有 +黃色 = 出售 +紫色 = 拍賣 +灰色 = 公有地"/> <text name="label_parcel_modify"> - Modify Parcel + 修改地段 </text> - <button label="Subdivide" label_selected="Subdivide" name="button subdivide land"/> - <button label="Join" label_selected="Join" name="button join land"/> + <button label="分割" label_selected="分割" name="button subdivide land"/> + <button label="合併" label_selected="合併" name="button join land"/> <text name="label_parcel_trans"> - Land Transactions + 土地交易 </text> <button label="購買土地" label_selected="購買土地" name="button buy land"/> - <button label="Abandon Land" label_selected="Abandon Land" name="button abandon land"/> + <button label="放棄土地" label_selected="放棄土地" name="button abandon land"/> </panel> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_top_objects.xml b/indra/newview/skins/default/xui/zh/floater_top_objects.xml index c1ad927bbb..074a4a1881 100644 --- a/indra/newview/skins/default/xui/zh/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/zh/floater_top_objects.xml @@ -19,7 +19,7 @@ Top [COUNT] objects experiencing many potential collisions </floater.string> <floater.string name="colliders_score_label"> - Score + 積分 </floater.string> <floater.string name="none_descriptor"> None found. @@ -28,7 +28,7 @@ 載入中... </text> <scroll_list name="objects_list"> - <scroll_list.columns label="Score" name="score"/> + <scroll_list.columns label="積分" name="score"/> <scroll_list.columns label="名稱" name="name"/> <scroll_list.columns label="擁有者" name="owner"/> <scroll_list.columns label="位置" name="location"/> @@ -37,19 +37,19 @@ <scroll_list.columns label="URLs" name="URLs"/> </scroll_list> <text name="id_text"> - Object ID: + 物件 ID: </text> <button label="Show Beacon" name="show_beacon_btn"/> <text name="obj_name_text"> 物件名稱: </text> - <button label="Filter" name="filter_object_btn"/> + <button label="過濾器" name="filter_object_btn"/> <text name="owner_name_text"> 擁有者: </text> - <button label="Filter" name="filter_owner_btn"/> - <button label="Return Selected" name="return_selected_btn"/> + <button label="過濾器" name="filter_owner_btn"/> + <button label="退回所選擇的" name="return_selected_btn"/> <button label="全部退回" name="return_all_btn"/> - <button label="Disable Selected" name="disable_selected_btn"/> - <button label="Disable All" name="disable_all_btn"/> + <button label="關閉所選擇的" name="disable_selected_btn"/> + <button label="全部關閉" name="disable_all_btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/floater_url_entry.xml b/indra/newview/skins/default/xui/zh/floater_url_entry.xml index 04945ac83b..65f6a9cb95 100644 --- a/indra/newview/skins/default/xui/zh/floater_url_entry.xml +++ b/indra/newview/skins/default/xui/zh/floater_url_entry.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="url_entry"> <text name="media_label"> - Media URL: + 媒體 URL: </text> <button label="" name="ok_btn"/> <button label="取消" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/zh/floater_voice_effect.xml b/indra/newview/skins/default/xui/zh/floater_voice_effect.xml index e45c7c59ac..36efe20b65 100644 --- a/indra/newview/skins/default/xui/zh/floater_voice_effect.xml +++ b/indra/newview/skins/default/xui/zh/floater_voice_effect.xml @@ -19,7 +19,7 @@ Record a sample, then click on a voice to hear how it will sound. </text> <button label="Record" name="record_btn" tool_tip="Record a sample of your voice."/> - <button label="Stop" name="record_stop_btn"/> + <button label="停止" name="record_stop_btn"/> <text name="voice_morphing_link"> [[URL] Subscribe Now] </text> diff --git a/indra/newview/skins/default/xui/zh/floater_water.xml b/indra/newview/skins/default/xui/zh/floater_water.xml index fba0415967..5fb57272af 100644 --- a/indra/newview/skins/default/xui/zh/floater_water.xml +++ b/indra/newview/skins/default/xui/zh/floater_water.xml @@ -14,7 +14,7 @@ <text name="BHText"> Water Fog Color </text> - <color_swatch name="WaterFogColor" tool_tip="Click to open color picker"/> + <color_swatch name="WaterFogColor" tool_tip="點擊以開啟顏色挑選器"/> <text name="WaterFogDensText"> Fog Density Exponent </text> diff --git a/indra/newview/skins/default/xui/zh/floater_web_content.xml b/indra/newview/skins/default/xui/zh/floater_web_content.xml index 2670e223d3..a756498b81 100644 --- a/indra/newview/skins/default/xui/zh/floater_web_content.xml +++ b/indra/newview/skins/default/xui/zh/floater_web_content.xml @@ -4,9 +4,9 @@ <layout_panel name="nav_controls"> <button name="back" tool_tip="Navigate back"/> <button name="forward" tool_tip="Navigate forward"/> - <button name="stop" tool_tip="Stop navigation"/> + <button name="stop" tool_tip="停止導覽"/> <button name="reload" tool_tip="重載頁面"/> - <combo_box name="address" tool_tip="Enter URL here"/> + <combo_box name="address" tool_tip="在此輸入 URL 位置"/> <icon name="media_secure_lock_flag" tool_tip="Secured Browsing"/> <button name="popexternal" tool_tip="Open current URL in your desktop browser"/> </layout_panel> diff --git a/indra/newview/skins/default/xui/zh/floater_window_size.xml b/indra/newview/skins/default/xui/zh/floater_window_size.xml index e47238482f..54b72afccc 100644 --- a/indra/newview/skins/default/xui/zh/floater_window_size.xml +++ b/indra/newview/skins/default/xui/zh/floater_window_size.xml @@ -6,7 +6,7 @@ <text name="windowsize_text"> 設定視窗尺寸大小: </text> - <combo_box name="window_size_combo" tool_tip="width x height"> + <combo_box name="window_size_combo" tool_tip="寬度 x 高度"> <combo_box.item label="1000 x 700 (預設)" name="item0"/> <combo_box.item label="1024 x 768" name="item1"/> <combo_box.item label="1280 x 720 (720p)" name="item2"/> diff --git a/indra/newview/skins/default/xui/zh/floater_world_map.xml b/indra/newview/skins/default/xui/zh/floater_world_map.xml index 47038e3b3d..552bb02582 100644 --- a/indra/newview/skins/default/xui/zh/floater_world_map.xml +++ b/indra/newview/skins/default/xui/zh/floater_world_map.xml @@ -11,7 +11,7 @@ Me </text> <text name="person_label"> - Person + 人 </text> <text name="infohub_label"> Infohub @@ -40,7 +40,7 @@ Moderate </text> <text name="events_adult_label"> - Adult + 成人 </text> </panel> <panel name="layout_panel_3"> diff --git a/indra/newview/skins/default/xui/zh/inspect_group.xml b/indra/newview/skins/default/xui/zh/inspect_group.xml index 01649496bc..3583976646 100644 --- a/indra/newview/skins/default/xui/zh/inspect_group.xml +++ b/indra/newview/skins/default/xui/zh/inspect_group.xml @@ -8,7 +8,7 @@ 私人社團 </string> <string name="FreeToJoin"> - Free to join + 免費加入 </string> <string name="CostToJoin"> L$[AMOUNT] to join @@ -26,7 +26,7 @@ Fear the moose! Fear it! And the mongoose too! <text name="group_cost"> L$123 to join </text> - <button label="Join" name="join_btn"/> - <button label="Leave" name="leave_btn"/> + <button label="加入" name="join_btn"/> + <button label="退出" name="leave_btn"/> <button label="察看檔案" name="view_profile_btn"/> </floater> diff --git a/indra/newview/skins/default/xui/zh/inspect_object.xml b/indra/newview/skins/default/xui/zh/inspect_object.xml index f1fe037087..58091b3aef 100644 --- a/indra/newview/skins/default/xui/zh/inspect_object.xml +++ b/indra/newview/skins/default/xui/zh/inspect_object.xml @@ -35,7 +35,7 @@ owner secondlife:///app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/about http://www.superdupertest.com </text> <button label="購買" name="buy_btn"/> - <button label="Pay" name="pay_btn"/> + <button label="支付" name="pay_btn"/> <button label="取得副本" name="take_free_copy_btn"/> <button label="Touch" name="touch_btn"/> <button label="Sit" name="sit_btn"/> diff --git a/indra/newview/skins/default/xui/zh/menu_attachment_other.xml b/indra/newview/skins/default/xui/zh/menu_attachment_other.xml index cba82e7dce..a04d59bc81 100644 --- a/indra/newview/skins/default/xui/zh/menu_attachment_other.xml +++ b/indra/newview/skins/default/xui/zh/menu_attachment_other.xml @@ -12,6 +12,6 @@ <menu_item_call label="踢出" name="Eject..."/> <menu_item_call label="材質除錯" name="Debug..."/> <menu_item_call label="Zoom In" name="Zoom In"/> - <menu_item_call label="Pay" name="Pay..."/> + <menu_item_call label="支付" name="Pay..."/> <menu_item_call label="物件檔案" name="Object Inspect"/> </context_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml index 1da583b3d0..ef0986a13b 100644 --- a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml +++ b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml @@ -3,5 +3,5 @@ <menu_item_call label="察看檔案" name="Show Profile"/> <menu_item_call label="送出 IM..." name="Send IM"/> <menu_item_call label="加為朋友..." name="Add Friend"/> - <menu_item_call label="Remove Friend..." name="Remove Friend"/> + <menu_item_call label="移除朋友..." name="Remove Friend"/> </menu> diff --git a/indra/newview/skins/default/xui/zh/menu_avatar_other.xml b/indra/newview/skins/default/xui/zh/menu_avatar_other.xml index 283367708b..acf98dfdfa 100644 --- a/indra/newview/skins/default/xui/zh/menu_avatar_other.xml +++ b/indra/newview/skins/default/xui/zh/menu_avatar_other.xml @@ -12,5 +12,5 @@ <menu_item_call label="踢出" name="Eject..."/> <menu_item_call label="材質除錯" name="Debug..."/> <menu_item_call label="Zoom In" name="Zoom In"/> - <menu_item_call label="Pay" name="Pay..."/> + <menu_item_call label="支付" name="Pay..."/> </context_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_gesture_gear.xml b/indra/newview/skins/default/xui/zh/menu_gesture_gear.xml index 8e30a15562..e053eb2388 100644 --- a/indra/newview/skins/default/xui/zh/menu_gesture_gear.xml +++ b/indra/newview/skins/default/xui/zh/menu_gesture_gear.xml @@ -3,7 +3,7 @@ <menu_item_call label="Add/Remove from Favorites" name="activate"/> <menu_item_call label="覆製" name="copy_gesture"/> <menu_item_call label="貼上" name="paste"/> - <menu_item_call label="Copy UUID" name="copy_uuid"/> + <menu_item_call label="覆製 UUID" name="copy_uuid"/> <menu_item_call label="儲存到目前裝扮" name="save_to_outfit"/> <menu_item_call label="編輯" name="edit_gesture"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/zh/menu_inspect_avatar_gear.xml index bae7cf3f05..0f14057c07 100644 --- a/indra/newview/skins/default/xui/zh/menu_inspect_avatar_gear.xml +++ b/indra/newview/skins/default/xui/zh/menu_inspect_avatar_gear.xml @@ -16,6 +16,6 @@ <menu_item_call label="材質除錯" name="debug"/> <menu_item_call label="Find On Map" name="find_on_map"/> <menu_item_call label="Zoom In" name="zoom_in"/> - <menu_item_call label="Pay" name="pay"/> + <menu_item_call label="支付" name="pay"/> <menu_item_call label="分享" name="share"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/zh/menu_inspect_object_gear.xml index dab95fcadc..94ab82b8a9 100644 --- a/indra/newview/skins/default/xui/zh/menu_inspect_object_gear.xml +++ b/indra/newview/skins/default/xui/zh/menu_inspect_object_gear.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <toggleable_menu name="Gear Menu"> - <menu_item_call label="Touch" name="touch"/> - <menu_item_call label="Sit" name="sit"/> + <menu_item_call label="觸碰" name="touch"/> + <menu_item_call label="坐下" name="sit"/> <menu_item_call label="Pay" name="pay"/> <menu_item_call label="購買" name="buy"/> - <menu_item_call label="Take" name="take"/> + <menu_item_call label="取得" name="take"/> <menu_item_call label="取得副本" name="take_copy"/> - <menu_item_call label="Open" name="open"/> + <menu_item_call label="開啟" name="open"/> <menu_item_call label="編輯" name="edit"/> - <menu_item_call label="Wear" name="wear"/> - <menu_item_call label="Add" name="add"/> + <menu_item_call label="穿上" name="wear"/> + <menu_item_call label="添加" name="add"/> <menu_item_call label="回報" name="report"/> <menu_item_call label="Block" name="block"/> <menu_item_call label="Zoom In" name="zoom_in"/> - <menu_item_call label="Remove" name="remove"/> + <menu_item_call label="移除" name="remove"/> <menu_item_call label="更多資訊" name="more_info"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_inventory.xml b/indra/newview/skins/default/xui/zh/menu_inventory.xml index fd8f73e4ea..a93e8be149 100644 --- a/indra/newview/skins/default/xui/zh/menu_inventory.xml +++ b/indra/newview/skins/default/xui/zh/menu_inventory.xml @@ -28,17 +28,17 @@ <menu_item_call label="New Physics" name="New Physics"/> </menu> <menu label="新身體部位" name="New Body Parts"> - <menu_item_call label="New Shape" name="New Shape"/> - <menu_item_call label="New Skin" name="New Skin"/> - <menu_item_call label="New Hair" name="New Hair"/> - <menu_item_call label="New Eyes" name="New Eyes"/> + <menu_item_call label="新體形" name="New Shape"/> + <menu_item_call label="新皮膚" name="New Skin"/> + <menu_item_call label="新頭髮" name="New Hair"/> + <menu_item_call label="新眼睛" name="New Eyes"/> </menu> - <menu label="Change Type" name="Change Type"> + <menu label="變更類型" name="Change Type"> <menu_item_call label="預設" name="Default"/> <menu_item_call label="手套" name="Gloves"/> <menu_item_call label="夾克" name="Jacket"/> <menu_item_call label="褲子" name="Pants"/> - <menu_item_call label="Shape" name="Shape"/> + <menu_item_call label="體形" name="Shape"/> <menu_item_call label="鞋子" name="Shoes"/> <menu_item_call label="襯衫" name="Shirt"/> <menu_item_call label="裙子" name="Skirt"/> @@ -46,19 +46,19 @@ <menu_item_call label="內衣" name="Undershirt"/> </menu> <menu_item_call label="瞬間傳送" name="Landmark Open"/> - <menu_item_call label="Open" name="Animation Open"/> - <menu_item_call label="Open" name="Sound Open"/> + <menu_item_call label="開啟" name="Animation Open"/> + <menu_item_call label="開啟" name="Sound Open"/> <menu_item_call label="取代目前的裝扮" name="Replace Outfit"/> <menu_item_call label="添加到目前裝扮" name="Add To Outfit"/> <menu_item_call label="由目前的裝扮移除" name="Remove From Outfit"/> <menu_item_call label="Find Original" name="Find Original"/> <menu_item_call label="Purge Item" name="Purge Item"/> <menu_item_call label="Restore Item" name="Restore Item"/> - <menu_item_call label="Open" name="Open"/> + <menu_item_call label="開啟" name="Open"/> <menu_item_call label="Open Original" name="Open Original"/> <menu_item_call label="Properties" name="Properties"/> <menu_item_call label="更名" name="Rename"/> - <menu_item_call label="Copy Asset UUID" name="Copy Asset UUID"/> + <menu_item_call label="覆製資產 UUID" name="Copy Asset UUID"/> <menu_item_call label="覆製" name="Copy"/> <menu_item_call label="貼上" name="Paste"/> <menu_item_call label="Paste As Link" name="Paste As Link"/> @@ -66,11 +66,11 @@ <menu_item_call label="刪除" name="Delete"/> <menu_item_call label="刪除系統資料夾" name="Delete System Folder"/> <menu_item_call label="Start Conference Chat" name="Conference Chat Folder"/> - <menu_item_call label="Play" name="Sound Play"/> + <menu_item_call label="播放" name="Sound Play"/> <menu_item_call label="添加地標" name="About Landmark"/> <menu_item_call label="Play Inworld" name="Animation Play"/> <menu_item_call label="Play Locally" name="Animation Audition"/> - <menu_item_call label="Send Instant Message" name="Send Instant Message"/> + <menu_item_call label="送出即時訊息" name="Send Instant Message"/> <menu_item_call label="Offer Teleport..." name="Offer Teleport..."/> <menu_item_call label="Start Conference Chat" name="Conference Chat"/> <menu_item_call label="Activate" name="Activate"/> diff --git a/indra/newview/skins/default/xui/zh/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/zh/menu_inventory_gear_default.xml index 8c938222e7..f51b27d9ce 100644 --- a/indra/newview/skins/default/xui/zh/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/zh/menu_inventory_gear_default.xml @@ -3,12 +3,12 @@ <menu_item_call label="新收納區視窗" name="new_window"/> <menu_item_check label="依名稱排序" name="sort_by_name"/> <menu_item_check label="依最近排序" name="sort_by_recent"/> - <menu_item_check label="Sort Folders Always by Name" name="sort_folders_by_name"/> - <menu_item_check label="Sort System Folders to Top" name="sort_system_folders_to_top"/> - <menu_item_call label="Show Filters" name="show_filters"/> + <menu_item_check label="總是由名稱排序資料夾" name="sort_folders_by_name"/> + <menu_item_check label="系統資料夾排序到最上方" name="sort_system_folders_to_top"/> + <menu_item_call label="顯示過濾器" name="show_filters"/> <menu_item_call label="Reset Filters" name="reset_filters"/> <menu_item_call label="關閉全部資料夾" name="close_folders"/> - <menu_item_call label="Empty Lost and Found" name="empty_lostnfound"/> + <menu_item_call label="清空 Lost and Found" name="empty_lostnfound"/> <menu_item_call label="儲存材質為" name="Save Texture As"/> <menu_item_call label="分享" name="Share"/> <menu_item_call label="Find Original" name="Find Original"/> diff --git a/indra/newview/skins/default/xui/zh/menu_landmark.xml b/indra/newview/skins/default/xui/zh/menu_landmark.xml index 5f7657db79..7372b223cf 100644 --- a/indra/newview/skins/default/xui/zh/menu_landmark.xml +++ b/indra/newview/skins/default/xui/zh/menu_landmark.xml @@ -2,6 +2,6 @@ <toggleable_menu name="landmark_overflow_menu"> <menu_item_call label="覆製 SLurl" name="copy"/> <menu_item_call label="刪除" name="delete"/> - <menu_item_call label="Create Pick" name="pick"/> + <menu_item_call label="建立精選地點" name="pick"/> <menu_item_call label="添加到最愛列" name="add_to_favbar"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_login.xml b/indra/newview/skins/default/xui/zh/menu_login.xml index 27a0baf560..d6bf34c66e 100644 --- a/indra/newview/skins/default/xui/zh/menu_login.xml +++ b/indra/newview/skins/default/xui/zh/menu_login.xml @@ -11,15 +11,15 @@ <menu_item_check label="顯示除錯選單" name="Show Debug Menu"/> <menu label="除錯" name="Debug"> <menu_item_call label="顯示除錯設定" name="Debug Settings"/> - <menu_item_call label="UI/Color Settings" name="UI/Color Settings"/> - <menu_item_call label="XUI Preview Tool" name="UI Preview Tool"/> + <menu_item_call label="UI / 顏色 設定" name="UI/Color Settings"/> + <menu_item_call label="XUI 預覽工具" name="UI Preview Tool"/> <menu label="UI 測試" name="UI Tests"/> <menu_item_call label="設定視窗尺寸大小..." name="Set Window Size..."/> <menu_item_call label="顯示 TOS" name="TOS"/> - <menu_item_call label="Show Critical Message" name="Critical"/> - <menu_item_call label="Media Browser Test" name="Web Browser Test"/> - <menu_item_call label="Web Content Floater Test" name="Web Content Floater Test"/> - <menu_item_check label="Show Grid Picker" name="Show Grid Picker"/> - <menu_item_call label="Show Notifications Console" name="Show Notifications Console"/> + <menu_item_call label="顯示嚴重訊息" name="Critical"/> + <menu_item_call label="媒體瀏覽器測試" name="Web Browser Test"/> + <menu_item_call label="網頁內容浮動視窗測試" name="Web Content Floater Test"/> + <menu_item_check label="顯示網格挑選器" name="Show Grid Picker"/> + <menu_item_call label="顯示通知控制台" name="Show Notifications Console"/> </menu> </menu_bar> diff --git a/indra/newview/skins/default/xui/zh/menu_outfit_gear.xml b/indra/newview/skins/default/xui/zh/menu_outfit_gear.xml index 169dbf2187..cf47020bd9 100644 --- a/indra/newview/skins/default/xui/zh/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/zh/menu_outfit_gear.xml @@ -18,10 +18,10 @@ <menu_item_call label="新刺青" name="New Tattoo"/> </menu> <menu label="新身體部位" name="New Body Parts"> - <menu_item_call label="New Shape" name="New Shape"/> - <menu_item_call label="New Skin" name="New Skin"/> - <menu_item_call label="New Hair" name="New Hair"/> - <menu_item_call label="New Eyes" name="New Eyes"/> + <menu_item_call label="新體形" name="New Shape"/> + <menu_item_call label="新皮膚" name="New Skin"/> + <menu_item_call label="新頭髮" name="New Hair"/> + <menu_item_call label="新眼睛" name="New Eyes"/> </menu> <menu_item_call label="裝扮更名" name="rename"/> <menu_item_call label="刪除裝扮" name="delete_outfit"/> diff --git a/indra/newview/skins/default/xui/zh/menu_participant_list.xml b/indra/newview/skins/default/xui/zh/menu_participant_list.xml index 7b6f6f954e..3737e3d041 100644 --- a/indra/newview/skins/default/xui/zh/menu_participant_list.xml +++ b/indra/newview/skins/default/xui/zh/menu_participant_list.xml @@ -7,7 +7,7 @@ <menu_item_call label="IM" name="IM"/> <menu_item_call label="通話" name="Call"/> <menu_item_call label="分享" name="Share"/> - <menu_item_call label="Pay" name="Pay"/> + <menu_item_call label="支付" name="Pay"/> <menu_item_check label="View People Icons" name="View Icons"/> <menu_item_check label="Block Voice" name="Block/Unblock"/> <menu_item_check label="Block Text" name="MuteText"/> diff --git a/indra/newview/skins/default/xui/zh/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/zh/menu_people_groups_view_sort.xml index 06247ab249..cf36507d74 100644 --- a/indra/newview/skins/default/xui/zh/menu_people_groups_view_sort.xml +++ b/indra/newview/skins/default/xui/zh/menu_people_groups_view_sort.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <toggleable_menu name="menu_group_plus"> - <menu_item_check label="Display Group Icons" name="Display Group Icons"/> + <menu_item_check label="顯示社團圖示" name="Display Group Icons"/> <menu_item_call label="脫離所選擇的社團" name="Leave Selected Group"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_people_nearby.xml b/indra/newview/skins/default/xui/zh/menu_people_nearby.xml index 73b754e059..49fa775424 100644 --- a/indra/newview/skins/default/xui/zh/menu_people_nearby.xml +++ b/indra/newview/skins/default/xui/zh/menu_people_nearby.xml @@ -7,7 +7,7 @@ <menu_item_call label="通話" name="Call"/> <menu_item_call label="地圖" name="Map"/> <menu_item_call label="分享" name="Share"/> - <menu_item_call label="Pay" name="Pay"/> + <menu_item_call label="支付" name="Pay"/> <menu_item_check label="Block/Unblock" name="Block/Unblock"/> <menu_item_call label="Offer Teleport" name="teleport"/> </context_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/zh/menu_people_nearby_multiselect.xml index 4ffbcaff83..c7aff48df4 100644 --- a/indra/newview/skins/default/xui/zh/menu_people_nearby_multiselect.xml +++ b/indra/newview/skins/default/xui/zh/menu_people_nearby_multiselect.xml @@ -5,6 +5,6 @@ <menu_item_call label="IM" name="IM"/> <menu_item_call label="通話" name="Call"/> <menu_item_call label="分享" name="Share"/> - <menu_item_call label="Pay" name="Pay"/> + <menu_item_call label="支付" name="Pay"/> <menu_item_call label="Offer Teleport" name="teleport"/> </context_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_picks_plus.xml b/indra/newview/skins/default/xui/zh/menu_picks_plus.xml index 9e55c633f9..e962bd90d5 100644 --- a/indra/newview/skins/default/xui/zh/menu_picks_plus.xml +++ b/indra/newview/skins/default/xui/zh/menu_picks_plus.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <toggleable_menu name="picks_plus_menu"> - <menu_item_call label="New Pick" name="create_pick"/> + <menu_item_call label="新精選地點" name="create_pick"/> <menu_item_call label="New Classified" name="create_classified"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_place.xml b/indra/newview/skins/default/xui/zh/menu_place.xml index 6ffdf329df..3733baf119 100644 --- a/indra/newview/skins/default/xui/zh/menu_place.xml +++ b/indra/newview/skins/default/xui/zh/menu_place.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <toggleable_menu name="place_overflow_menu"> <menu_item_call label="製作一個地標" name="landmark"/> - <menu_item_call label="Create Pick" name="pick"/> + <menu_item_call label="建立精選地點" name="pick"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/zh/menu_places_gear_folder.xml index 7f1d091f44..7f4144d14d 100644 --- a/indra/newview/skins/default/xui/zh/menu_places_gear_folder.xml +++ b/indra/newview/skins/default/xui/zh/menu_places_gear_folder.xml @@ -2,7 +2,7 @@ <toggleable_menu name="menu_folder_gear"> <menu_item_call label="添加地標" name="add_landmark"/> <menu_item_call label="添加資料夾" name="add_folder"/> - <menu_item_call label="Restore Item" name="restore_item"/> + <menu_item_call label="還原物品" name="restore_item"/> <menu_item_call label="剪下" name="cut"/> <menu_item_call label="覆製" name="copy_folder"/> <menu_item_call label="貼上" name="paste"/> diff --git a/indra/newview/skins/default/xui/zh/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/zh/menu_places_gear_landmark.xml index 8578751a28..f23d970b78 100644 --- a/indra/newview/skins/default/xui/zh/menu_places_gear_landmark.xml +++ b/indra/newview/skins/default/xui/zh/menu_places_gear_landmark.xml @@ -15,5 +15,5 @@ <menu_item_call label="展開全部資料夾" name="expand_all"/> <menu_item_call label="摺疊全部資料夾" name="collapse_all"/> <menu_item_check label="依日期排序" name="sort_by_date"/> - <menu_item_call label="Create Pick" name="create_pick"/> + <menu_item_call label="建立精選地點" name="create_pick"/> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_profile_overflow.xml b/indra/newview/skins/default/xui/zh/menu_profile_overflow.xml index c06b7dc039..ca637ae54d 100644 --- a/indra/newview/skins/default/xui/zh/menu_profile_overflow.xml +++ b/indra/newview/skins/default/xui/zh/menu_profile_overflow.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <toggleable_menu name="profile_overflow_menu"> <menu_item_call label="地圖" name="show_on_map"/> - <menu_item_call label="Pay" name="pay"/> + <menu_item_call label="支付" name="pay"/> <menu_item_call label="分享" name="share"/> <menu_item_call label="Block" name="block"/> <menu_item_call label="Unblock" name="unblock"/> diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml index e7016dc663..6d70ac4c1f 100644 --- a/indra/newview/skins/default/xui/zh/menu_viewer.xml +++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml @@ -54,7 +54,7 @@ <menu_item_check label="地段屬性" name="Parcel Properties"/> <menu_item_check label="進階選單" name="Show Advanced Menu"/> </menu> - <menu_item_call label="瞬間傳送回家" name="Teleport Home"/> + <menu_item_call label="瞬間瞬間傳送回家" name="Teleport Home"/> <menu_item_call label="設定家在此處" name="Set Home to Here"/> <menu label="太陽" name="Environment Settings"> <menu_item_call label="日出" name="Sunrise"/> @@ -84,21 +84,21 @@ <menu_item_call label="包括上一部位" name="Include Previous Part"/> </menu> <menu_item_call label="聚焦於所選部位" name="Focus on Selection"/> - <menu_item_call label="Zoom to Selection" name="Zoom to Selection"/> + <menu_item_call label="縮放至所選部位" name="Zoom to Selection"/> <menu label="物件" name="Object"> <menu_item_call label="購買" name="Menu Object Buy"/> <menu_item_call label="取得" name="Menu Object Take"/> <menu_item_call label="取得副本" name="Take Copy"/> <menu_item_call label="回存到我的收納區" name="Save Object Back to My Inventory"/> - <menu_item_call label="Save Back to Object Contents" name="Save Object Back to Object Contents"/> + <menu_item_call label="回存到物件內容" name="Save Object Back to Object Contents"/> <menu_item_call label="退回物件" name="Return Object back to Owner"/> </menu> <menu label="腳本" name="Scripts"> - <menu_item_call label="Recompile Scripts (Mono)" name="Mono"/> - <menu_item_call label="Recompile Scripts (LSL)" name="LSL"/> + <menu_item_call label="重新編譯腳本(Mono)" name="Mono"/> + <menu_item_call label="重新編譯腳本(LSL)" name="LSL"/> <menu_item_call label="Reset Scripts" name="Reset Scripts"/> - <menu_item_call label="Set Scripts to Running" name="Set Scripts to Running"/> - <menu_item_call label="Set Scripts to Not Running" name="Set Scripts to Not Running"/> + <menu_item_call label="設定腳本為執行中" name="Set Scripts to Running"/> + <menu_item_call label="設定腳本為非執行中" name="Set Scripts to Not Running"/> </menu> <menu label="選項" name="Options"> <menu_item_check label="顯示進階權限" name="DebugPermissions"/> @@ -110,16 +110,16 @@ <menu_item_check label="Show Light Radius for Selection" name="Show Light Radius for Selection"/> <menu_item_check label="Show Selection Beam" name="Show Selection Beam"/> <menu_item_check label="貼齊格線" name="Snap to Grid"/> - <menu_item_call label="Snap Object XY to Grid" name="Snap Object XY to Grid"/> + <menu_item_call label="貼齊物件 XY 軸到格線" name="Snap Object XY to Grid"/> <menu_item_call label="Use Selection for Grid" name="Use Selection for Grid"/> <menu_item_call label="格線選項" name="Grid Options"/> </menu> <menu label="上傳" name="Upload"> <menu_item_call label="圖像(L$[COST])..." name="Upload Image"/> - <menu_item_call label="Sound (L$[COST])..." name="Upload Sound"/> - <menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/> - <menu_item_call label="Bulk (L$[COST] per file)..." name="Bulk Upload"/> - <menu_item_call label="Set Default Upload Permissions" name="perm prefs"/> + <menu_item_call label="聲音(L$[COST])..." name="Upload Sound"/> + <menu_item_call label="動作(L$[COST])..." name="Upload Animation"/> + <menu_item_call label="大量上傳(每檔案 L$[COST] )..." name="Bulk Upload"/> + <menu_item_call label="設定預設上傳權限" name="perm prefs"/> </menu> <menu_item_call label="復原" name="Undo"/> <menu_item_call label="重做" name="Redo"/> @@ -135,12 +135,12 @@ <menu_item_call label="Rebake Textures" name="Rebake Texture"/> <menu_item_call label="設定使用者界面大小至預設值" name="Set UI Size to Default"/> <menu_item_call label="設定視窗尺寸大小..." name="Set Window Size..."/> - <menu_item_check label="Limit Select Distance" name="Limit Select Distance"/> + <menu_item_check label="限制選擇距離" name="Limit Select Distance"/> <menu_item_check label="Disable Camera Constraints" name="Disable Camera Distance"/> <menu_item_check label="高解析度快照" name="HighResSnapshot"/> - <menu_item_check label="Quiet Snapshots to Disk" name="QuietSnapshotsToDisk"/> - <menu_item_check label="Compress Snapshots to Disk" name="CompressSnapshotsToDisk"/> - <menu label="Performance Tools" name="Performance Tools"> + <menu_item_check label="靜音拍攝快照到硬碟" name="QuietSnapshotsToDisk"/> + <menu_item_check label="壓縮快照存到硬碟" name="CompressSnapshotsToDisk"/> + <menu label="效能工具" name="Performance Tools"> <menu_item_call label="Lag Meter" name="Lag Meter"/> <menu_item_check label="統計列" name="Statistics Bar"/> <menu_item_check label="Show Avatar Rendering Cost" name="Avatar Rendering Cost"/> @@ -149,8 +149,8 @@ <menu_item_check label="Cheesy Beacon" name="Cheesy Beacon"/> <menu_item_check label="Hide Particles" name="Hide Particles"/> <menu_item_check label="Hide Selected" name="Hide Selected"/> - <menu_item_check label="Highlight Transparent" name="Highlight Transparent"/> - <menu_item_check label="Show HUD Attachments" name="Show HUD Attachments"/> + <menu_item_check label="高亮顯示透明物件" name="Highlight Transparent"/> + <menu_item_check label="顯示 HUD 附件" name="Show HUD Attachments"/> <menu_item_check label="Show Mouselook Crosshairs" name="ShowCrosshairs"/> </menu> <menu label="Rendering Types" name="Rendering Types"> @@ -190,7 +190,7 @@ <menu_item_call label="關閉視窗" name="Close Window"/> <menu_item_call label="關閉全部視窗" name="Close All Windows"/> <menu_item_call label="Snapshot to Disk" name="Snapshot to Disk"/> - <menu_item_call label="Mouselook" name="Mouselook"/> + <menu_item_call label="第一人稱視角" name="Mouselook"/> <menu_item_check label="Joystick Flycam" name="Joystick Flycam"/> <menu_item_call label="Reset View" name="Reset View"/> <menu_item_call label="Look at Last Chatter" name="Look at Last Chatter"/> @@ -226,7 +226,7 @@ <menu_item_check label="Badge" name="Badge"/> </menu> <menu label="顯示資訊" name="Display Info"> - <menu_item_check label="Show Time" name="Show Time"/> + <menu_item_check label="顯示時間" name="Show Time"/> <menu_item_check label="Show Render Info" name="Show Render Info"/> <menu_item_check label="顯示材質資訊" name="Show Texture Info"/> <menu_item_check label="Show Matrices" name="Show Matrices"/> @@ -338,10 +338,10 @@ <menu_item_call label="送出測試 IMs" name="Send Test IMs"/> <menu_item_call label="Flush Names Caches" name="Flush Names Caches"/> </menu> - <menu label="Avatar" name="Character"> + <menu label="化身" name="Character"> <menu label="Grab Baked Texture" name="Grab Baked Texture"> <menu_item_call label="Iris" name="Iris"/> - <menu_item_call label="Head" name="Head"/> + <menu_item_call label="頭部" name="Head"/> <menu_item_call label="Upper Body" name="Upper Body"/> <menu_item_call label="Lower Body" name="Lower Body"/> <menu_item_call label="裙子" name="Skirt"/> @@ -355,10 +355,10 @@ <menu_item_check label="Allow Select Avatar" name="Allow Select Avatar"/> </menu> <menu_item_call label="Force Params to Default" name="Force Params to Default"/> - <menu_item_check label="Animation Info" name="Animation Info"/> - <menu_item_check label="Slow Motion Animations" name="Slow Motion Animations"/> - <menu_item_check label="Show Look At" name="Show Look At"/> - <menu_item_check label="Show Point At" name="Show Point At"/> + <menu_item_check label="動作資訊" name="Animation Info"/> + <menu_item_check label="慢動作" name="Slow Motion Animations"/> + <menu_item_check label="顯示注視在" name="Show Look At"/> + <menu_item_check label="顯示指向在" name="Show Point At"/> <menu_item_check label="Debug Joint Updates" name="Debug Joint Updates"/> <menu_item_check label="Disable LOD" name="Disable LOD"/> <menu_item_check label="Debug Character Vis" name="Debug Character Vis"/> diff --git a/indra/newview/skins/default/xui/zh/mime_types.xml b/indra/newview/skins/default/xui/zh/mime_types.xml index d2d1321c2a..3498942f9b 100644 --- a/indra/newview/skins/default/xui/zh/mime_types.xml +++ b/indra/newview/skins/default/xui/zh/mime_types.xml @@ -176,7 +176,7 @@ </mimetype> <mimetype name="text/plain"> <label name="text/plain_label"> - Text + 文字 </label> </mimetype> <mimetype name="text/xml"> diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml index 16d4965d5a..65bb8ce517 100644 --- a/indra/newview/skins/default/xui/zh/notifications.xml +++ b/indra/newview/skins/default/xui/zh/notifications.xml @@ -1242,7 +1242,7 @@ Replace texture [TEXTURE_NUM] with a 24-bit 512x512 or smaller image then click You can only have [MAX_AGENTS] Allowed Residents. </notification> <notification name="MaxBannedAgentsOnRegion"> - You can only have [MAX_BANNED] Banned Residents. + 你只可以有最多 [MAX_BANNED] 位被封鎖的居民。 </notification> <notification name="MaxAgentOnRegionBatch"> Failure while attempting to add [NUM_ADDED] agents: @@ -1253,10 +1253,10 @@ Exceeds the [MAX_AGENTS] [LIST_TYPE] limit by [NUM_EXCESS]. <usetemplate name="okcancelbuttons" notext="取消" yestext="Bake"/> </notification> <notification name="MaxManagersOnRegion"> - You can only have [MAX_MANAGER] Estate Managers. + 你只可以有最多 [MAX_MANAGER] 位領地經理。 </notification> <notification name="OwnerCanNotBeDenied"> - Can't add estate owner to estate 'Banned Resident' list. + 無法添加領地擁有者到領地的 '被封鎖的居民' 名單中。 </notification> <notification name="CanNotChangeAppearanceUntilLoaded"> 無法變更外觀,直到服裝與體形下載完畢。 @@ -1273,15 +1273,15 @@ Please set the object for sale and try again. [DOWNLOAD_PATH]. </notification> <notification name="DownloadWindowsMandatory"> - A new version of [APP_NAME] is available. + 一個新版本的 [APP_NAME] 已經可用。 [MESSAGE] -You must download this update to use [APP_NAME]. +你必須下載這個更新以使用 [APP_NAME]。 <usetemplate name="okcancelbuttons" notext="結束退出" yestext="下載"/> </notification> <notification name="DownloadWindows"> - An updated version of [APP_NAME] is available. + 一個 [APP_NAME] 更新過的版本已經可用。 [MESSAGE] -This update is not required, but we suggest you install it to improve performance and stability. +這個更新並非強制更新,但我們建議你安裝以增強效能及穩定性。 <usetemplate name="okcancelbuttons" notext="繼續" yestext="下載"/> </notification> <notification name="DownloadWindowsReleaseForDownload"> @@ -1356,12 +1356,12 @@ or you can install it now. <notification name="DownloadBackgroundTip"> We have downloaded an update to your [APP_NAME] installation. Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Later..." yestext="Install now and restart [APP_NAME]"/> + <usetemplate name="okcancelbuttons" notext="稍候..." yestext="立即安裝及重新啟動 [APP_NAME]"/> </notification> <notification name="DownloadBackgroundDialog"> We have downloaded an update to your [APP_NAME] installation. Version [VERSION] [[RELEASE_NOTES_FULL_URL] Information about this update] - <usetemplate name="okcancelbuttons" notext="Later..." yestext="Install now and restart [APP_NAME]"/> + <usetemplate name="okcancelbuttons" notext="梢候..." yestext="立即安裝及重新啟動 [APP_NAME]"/> </notification> <notification name="RequiredUpdateDownloadedVerboseDialog"> We have downloaded a required software update. @@ -1371,7 +1371,7 @@ We must restart [APP_NAME] to install the update. <usetemplate name="okbutton" yestext="確定"/> </notification> <notification name="RequiredUpdateDownloadedDialog"> - We must restart [APP_NAME] to install the update. + 我門必須重新啟動 [APP_NAME] 以安裝更新。 <usetemplate name="okbutton" yestext="確定"/> </notification> <notification name="DeedObjectToGroup"> @@ -1569,17 +1569,17 @@ Please try again later. </notification> <notification name="TeleportToPick"> 瞬間傳送到 [PICK]? - <usetemplate ignoretext="Confirm that I want to teleport to a location in Picks" name="okcancelignore" notext="取消" yestext="Teleport"/> + <usetemplate ignoretext="確認我要瞬間傳送到精選地點的所在位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> </notification> <notification name="TeleportToClassified"> 瞬間傳送到 [CLASSIFIED]? - <usetemplate ignoretext="Confirm that I want to teleport to a location in Classifieds" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> + <usetemplate ignoretext="確認我要瞬間傳送到個人廣告的所在位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> </notification> <notification name="TeleportToHistoryEntry"> 瞬間傳送到 [HISTORY_ENTRY]? - <usetemplate ignoretext="Confirm that I want to teleport to a history location" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> + <usetemplate ignoretext="確認我要瞬間傳送到歷史紀錄中的位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/> </notification> - <notification label="Message everyone in your Estate" name="MessageEstate"> + <notification label="送出訊息給你領地內的每一個人" name="MessageEstate"> Type a short announcement which will be sent to everyone currently in your estate. <form name="form"> <button name="OK" text="確定"/> @@ -1780,15 +1780,15 @@ To enter Adult regions, Residents must be Account Verified, either by age-verifi <notification label="Voice Version Mismatch" name="VoiceVersionMismatch"> This version of [APP_NAME] is not compatible with the Voice Chat feature in this region. In order for Voice Chat to function correctly you will need to update [APP_NAME]. </notification> - <notification label="Can't Buy Objects" name="BuyObjectOneOwner"> + <notification label="無法購買物件" name="BuyObjectOneOwner"> Cannot buy objects from different owners at the same time. Please select only one object and try again. </notification> - <notification label="Can't Buy Contents" name="BuyContentsOneOnly"> + <notification label="無法購買內容物" name="BuyContentsOneOnly"> Unable to buy the contents of more than one object at a time. Please select only one object and try again. </notification> - <notification label="Can't Buy Contents" name="BuyContentsOneOwner"> + <notification label="無法購買內容物" name="BuyContentsOneOwner"> Cannot buy objects from different owners at the same time. Please select only one object and try again. </notification> @@ -1950,7 +1950,7 @@ Do you want to replace it with the selected object? <button ignore="絕不取代" name="No" text="取消"/> </form> </notification> - <notification label="Busy Mode Warning" name="BusyModePay"> + <notification label="忙碌模式警告" name="BusyModePay"> You are in Busy Mode, which means you will not receive any items offered in exchange for this payment. Would you like to leave Busy Mode before completing this transaction? diff --git a/indra/newview/skins/default/xui/zh/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/zh/panel_adhoc_control_panel.xml index c9e47984e2..7d16ac4129 100644 --- a/indra/newview/skins/default/xui/zh/panel_adhoc_control_panel.xml +++ b/indra/newview/skins/default/xui/zh/panel_adhoc_control_panel.xml @@ -5,7 +5,7 @@ <button label="通話" name="call_btn"/> </layout_panel> <layout_panel name="end_call_btn_panel"> - <button label="Leave Call" name="end_call_btn"/> + <button label="離開通話" name="end_call_btn"/> </layout_panel> <layout_panel name="voice_ctrls_btn_panel"> <button label="語音控制" name="voice_ctrls_btn"/> diff --git a/indra/newview/skins/default/xui/zh/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/zh/panel_avatar_list_item.xml index 23b76eea9b..eccb938f15 100644 --- a/indra/newview/skins/default/xui/zh/panel_avatar_list_item.xml +++ b/indra/newview/skins/default/xui/zh/panel_avatar_list_item.xml @@ -21,7 +21,7 @@ <string name="FormatYears"> [COUNT]y </string> - <text name="avatar_name" value="(loading)"/> + <text name="avatar_name" value="(載入)"/> <text name="last_interaction" value="0s"/> <icon name="permission_edit_theirs_icon" tool_tip="你不能編輯這位朋友的物件"/> <icon name="permission_edit_mine_icon" tool_tip="這位朋友能編輯、刪除或取得你的物件"/> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_hair.xml b/indra/newview/skins/default/xui/zh/panel_edit_hair.xml index 0578fe9ef1..d9ddafac3b 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_hair.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_hair.xml @@ -5,7 +5,7 @@ </panel> <panel name="accordion_panel"> <accordion name="wearable_accordion"> - <accordion_tab name="hair_color_tab" title="Color"/> + <accordion_tab name="hair_color_tab" title="顏色"/> <accordion_tab name="hair_style_tab" title="Style"/> <accordion_tab name="hair_eyebrows_tab" title="Eyebrows"/> <accordion_tab name="hair_facial_tab" title="Facial"/> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_pants.xml b/indra/newview/skins/default/xui/zh/panel_edit_pants.xml index b453fdc758..76560256f7 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_pants.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_pants.xml @@ -2,7 +2,7 @@ <panel name="edit_pants_panel"> <panel name="avatar_pants_color_panel"> <texture_picker label="材質" name="Fabric" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="Click to open color picker"/> + <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="點擊以開啟顏色挑選器"/> </panel> <panel name="accordion_panel"> <accordion name="wearable_accordion"> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml b/indra/newview/skins/default/xui/zh/panel_edit_pick.xml index 0f1f72ceb9..6ac7226185 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_pick.xml @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Edit Pick" name="panel_edit_pick"> +<panel label="編輯精選地點" name="panel_edit_pick"> <panel.string name="location_notice"> - (will update after save) + (將在儲存後更新) </panel.string> <text name="title"> - Edit Pick + 編輯精選地點 </text> <scroll_container name="profile_scroll"> <panel name="scroll_content_panel"> <icon label="" name="edit_icon" tool_tip="點擊以選擇圖像"/> <text name="Name:"> - Title: + 標題: </text> <text name="description_label"> 描述: @@ -21,13 +21,13 @@ <text name="pick_location"> 載入中... </text> - <button label="Set to Current Location" name="set_to_curr_location_btn"/> + <button label="設定為目前位置" name="set_to_curr_location_btn"/> </panel> </scroll_container> <panel label="bottom_panel" name="bottom_panel"> <layout_stack name="layout_stack1"> <layout_panel name="layout_panel1"> - <button label="Save Pick" name="save_changes_btn"/> + <button label="儲存精選地點" name="save_changes_btn"/> </layout_panel> <layout_panel name="layout_panel1"> <button label="取消" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_shape.xml b/indra/newview/skins/default/xui/zh/panel_edit_shape.xml index da6049ea75..f249100786 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_shape.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_shape.xml @@ -1,25 +1,25 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="edit_shape_panel"> <string name="meters"> - Meters + 公尺 </string> <string name="feet"> - Feet + 英呎 </string> <string name="height"> - Height: + 身高: </string> <panel label="襯衫" name="accordion_panel"> <accordion name="wearable_accordion"> - <accordion_tab name="shape_body_tab" title="Body"/> - <accordion_tab name="shape_head_tab" title="Head"/> + <accordion_tab name="shape_body_tab" title="身體"/> + <accordion_tab name="shape_head_tab" title="頭部"/> <accordion_tab name="shape_eyes_tab" title="眼睛"/> - <accordion_tab name="shape_ears_tab" title="Ears"/> - <accordion_tab name="shape_nose_tab" title="Nose"/> - <accordion_tab name="shape_mouth_tab" title="Mouth"/> - <accordion_tab name="shape_chin_tab" title="Chin"/> - <accordion_tab name="shape_torso_tab" title="Torso"/> - <accordion_tab name="shape_legs_tab" title="Legs"/> + <accordion_tab name="shape_ears_tab" title="耳朵"/> + <accordion_tab name="shape_nose_tab" title="鼻子"/> + <accordion_tab name="shape_mouth_tab" title="嘴巴"/> + <accordion_tab name="shape_chin_tab" title="下巴"/> + <accordion_tab name="shape_torso_tab" title="軀幹"/> + <accordion_tab name="shape_legs_tab" title="腿部"/> </accordion> </panel> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_shirt.xml b/indra/newview/skins/default/xui/zh/panel_edit_shirt.xml index 321fb68756..ecfc1e2fad 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_shirt.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_shirt.xml @@ -2,7 +2,7 @@ <panel name="edit_shirt_panel"> <panel name="avatar_shirt_color_panel"> <texture_picker label="材質" name="Fabric" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="Click to open color picker"/> + <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="點擊以開啟顏色挑選器"/> </panel> <panel name="accordion_panel"> <accordion name="wearable_accordion"> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_skirt.xml b/indra/newview/skins/default/xui/zh/panel_edit_skirt.xml index 096a83c871..5c46f94fe9 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_skirt.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_skirt.xml @@ -2,7 +2,7 @@ <panel name="edit_skirt_panel"> <panel name="avatar_skirt_color_panel"> <texture_picker label="材質" name="Fabric" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="Click to open color picker"/> + <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="點擊以開啟顏色挑選器"/> </panel> <panel name="accordion_panel"> <accordion name="wearable_accordion"> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_socks.xml b/indra/newview/skins/default/xui/zh/panel_edit_socks.xml index dab132bad2..09c888f226 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_socks.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_socks.xml @@ -2,7 +2,7 @@ <panel name="edit_socks_panel"> <panel name="avatar_socks_color_panel"> <texture_picker label="材質" name="Fabric" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="Click to open color picker"/> + <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="點擊以開啟顏色挑選器"/> </panel> <panel name="accordion_panel"> <accordion name="wearable_accordion"> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/zh/panel_edit_tattoo.xml index d183e6897d..946f8b22dc 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_tattoo.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="edit_tattoo_panel"> <panel name="avatar_tattoo_color_panel"> - <texture_picker label="Head Tattoo" name="Head Tattoo" tool_tip="點擊以挑選圖片"/> - <texture_picker label="Upper Tattoo" name="Upper Tattoo" tool_tip="Click to choose a picture"/> - <texture_picker label="Lower Tattoo" name="Lower Tattoo" tool_tip="點擊以挑選圖片"/> - <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="Click to open color picker"/> + <texture_picker label="頭部刺青" name="Head Tattoo" tool_tip="點擊以挑選圖片"/> + <texture_picker label="上半身刺青" name="Upper Tattoo" tool_tip="點擊以挑選照片"/> + <texture_picker label="下半身刺青" name="Lower Tattoo" tool_tip="點擊以挑選圖片"/> + <color_swatch label="Color/Tint" name="Color/Tint" tool_tip="點擊以開啟顏色挑選器"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_wearable.xml b/indra/newview/skins/default/xui/zh/panel_edit_wearable.xml index d741ed70df..936a2651ab 100644 --- a/indra/newview/skins/default/xui/zh/panel_edit_wearable.xml +++ b/indra/newview/skins/default/xui/zh/panel_edit_wearable.xml @@ -49,16 +49,16 @@ Editing Physics </string> <string name="shape_desc_text"> - Shape: + 體形: </string> <string name="skin_desc_text"> - Skin: + 皮膚: </string> <string name="hair_desc_text"> - Hair: + 頭髮: </string> <string name="eyes_desc_text"> - Eyes: + 眼睛: </string> <string name="shirt_desc_text"> 襯衫: diff --git a/indra/newview/skins/default/xui/zh/panel_group_general.xml b/indra/newview/skins/default/xui/zh/panel_group_general.xml index 1706541f2b..a97a35056b 100644 --- a/indra/newview/skins/default/xui/zh/panel_group_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_general.xml @@ -6,7 +6,7 @@ Hover your mouse over the options for more help. </panel.string> <panel.string name="group_info_unchanged"> - General group information has changed + 一般社團資訊已經被變更 </panel.string> <panel.string name="incomplete_member_data_str"> Retrieving member data @@ -17,7 +17,7 @@ Hover your mouse over the options for more help. 創辦人: </text> <text name="join_cost_text"> - Free + 免費 </text> <button label="現在就加入!!" name="btn_join"/> </panel> @@ -50,7 +50,7 @@ Hover your mouse over the options for more help. - 選擇內容分級 - </combo_item> <combo_box.item label="Moderate Content" name="mature"/> - <combo_box.item label="General Content" name="pg"/> + <combo_box.item label="一般內容" name="pg"/> </combo_box> <check_box initial_value="true" label="顯示在搜尋中" name="show_in_group_list" tool_tip="Let people see this group in search results"/> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_group_invite.xml b/indra/newview/skins/default/xui/zh/panel_group_invite.xml index 0a0a1f1941..a1395f454b 100644 --- a/indra/newview/skins/default/xui/zh/panel_group_invite.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_invite.xml @@ -19,7 +19,7 @@ Choose what Role to assign them to: </text> <combo_box name="role_name" tool_tip="Choose from the list of Roles you are allowed to assign members to"/> - <button label="Send Invitations" name="ok_button"/> + <button label="送出邀請" name="ok_button"/> <button label="取消" name="cancel_button"/> <string name="GroupInvitation"> 社團邀請 diff --git a/indra/newview/skins/default/xui/zh/panel_group_land_money.xml b/indra/newview/skins/default/xui/zh/panel_group_land_money.xml index 71f139a3e6..58022c2279 100644 --- a/indra/newview/skins/default/xui/zh/panel_group_land_money.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_land_money.xml @@ -22,9 +22,9 @@ <scroll_list name="group_parcel_list"> <scroll_list.columns label="地段" name="name"/> <scroll_list.columns label="地區" name="location"/> - <scroll_list.columns label="Type" name="type"/> - <scroll_list.columns label="Area" name="area"/> - <scroll_list.columns label="Hidden" name="hidden"/> + <scroll_list.columns label="類型" name="type"/> + <scroll_list.columns label="區域" name="area"/> + <scroll_list.columns label="隱藏" name="hidden"/> </scroll_list> <text name="total_contributed_land_label"> Total contribution: diff --git a/indra/newview/skins/default/xui/zh/panel_group_notices.xml b/indra/newview/skins/default/xui/zh/panel_group_notices.xml index 5fed96dbd9..65c07e7137 100644 --- a/indra/newview/skins/default/xui/zh/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_notices.xml @@ -6,11 +6,11 @@ Notices only go to group members in Roles with the ability to receive Notices. You can turn off Notices on the General tab. </panel.string> <panel.string name="no_notices_text"> - There are no past notices + 沒有過去的通知 </panel.string> <text name="lbl2"> - Notices are kept for 14 days. -Maximum 200 per group daily + 通知保留 14 天。 +每個社團一天最多 200 則 </text> <scroll_list name="notice_list"> <scroll_list.columns label="主旨" name="subject"/> @@ -18,7 +18,7 @@ Maximum 200 per group daily <scroll_list.columns label="日期" name="date"/> </scroll_list> <text name="notice_list_none_found"> - None found + 沒發現。 </text> <button label="新通知" name="create_new_notice" tool_tip="建立一個新通知"/> <button name="refresh_notices" tool_tip="Refresh list of notices"/> @@ -39,16 +39,16 @@ Maximum 200 per group daily 將物品拖曳並丟於此處以添加為附件: </text> <button label="收納區" name="open_inventory" tool_tip="開啟收納區"/> - <button name="remove_attachment" tool_tip="Remove attachment from your notification"/> - <button label="Send" label_selected="Send" name="send_notice"/> + <button name="remove_attachment" tool_tip="由你的通知移除附件"/> + <button label="送出" label_selected="送出" name="send_notice"/> <group_drop_target name="drop_target" tool_tip="Drag an inventory item onto this target box to send it with this notice. You must have permission to copy and transfer the item in order to attach it."/> </panel> <panel label="察看過去的通知" name="panel_view_past_notice"> <text name="lbl"> - Archived Notice + 存檔的通知 </text> <text name="lbl2"> - To send a new notice, click the + button + 要送出一個新通知,點擊 + 按鈕 </text> <text name="lbl3"> 主旨: diff --git a/indra/newview/skins/default/xui/zh/panel_group_roles.xml b/indra/newview/skins/default/xui/zh/panel_group_roles.xml index 8947ab6e45..fff4383893 100644 --- a/indra/newview/skins/default/xui/zh/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/zh/panel_group_roles.xml @@ -19,7 +19,7 @@ clicking on their names. <filter_editor label="成員過濾器" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="成員" name="name"/> - <name_list.columns label="Donation" name="donated"/> + <name_list.columns label="捐款" name="donated"/> <name_list.columns label="狀態" name="online"/> </name_list> <button label="邀請" name="member_invite"/> diff --git a/indra/newview/skins/default/xui/zh/panel_im_control_panel.xml b/indra/newview/skins/default/xui/zh/panel_im_control_panel.xml index 881f8eac0b..703182e04d 100644 --- a/indra/newview/skins/default/xui/zh/panel_im_control_panel.xml +++ b/indra/newview/skins/default/xui/zh/panel_im_control_panel.xml @@ -14,7 +14,7 @@ <button label="分享" name="share_btn"/> </layout_panel> <layout_panel name="pay_btn_panel"> - <button label="Pay" name="pay_btn"/> + <button label="支付" name="pay_btn"/> </layout_panel> <layout_panel name="call_btn_panel"> <button label="通話" name="call_btn"/> diff --git a/indra/newview/skins/default/xui/zh/panel_me.xml b/indra/newview/skins/default/xui/zh/panel_me.xml index abdbfd7429..a236dfc17a 100644 --- a/indra/newview/skins/default/xui/zh/panel_me.xml +++ b/indra/newview/skins/default/xui/zh/panel_me.xml @@ -2,6 +2,6 @@ <panel label="我的檔案" name="panel_me"> <tab_container name="tabs"> <panel label="我的檔案" name="panel_profile"/> - <panel label="MY PICKS" name="panel_picks"/> + <panel label="我的精選地點" name="panel_picks"/> </tab_container> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_media_settings_general.xml b/indra/newview/skins/default/xui/zh/panel_media_settings_general.xml index f3163e3c19..059a78cf7d 100644 --- a/indra/newview/skins/default/xui/zh/panel_media_settings_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_media_settings_general.xml @@ -11,7 +11,7 @@ 預覽 </text> <text name="current_url_label"> - Current Page: + 目前頁面: </text> <text name="current_url" tool_tip="The current page for this media source" value=""/> <button label="Reset" name="current_url_reset_btn"/> diff --git a/indra/newview/skins/default/xui/zh/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/zh/panel_media_settings_permissions.xml index 6e2d47c09e..3645f471ce 100644 --- a/indra/newview/skins/default/xui/zh/panel_media_settings_permissions.xml +++ b/indra/newview/skins/default/xui/zh/panel_media_settings_permissions.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="自訂" name="Media settings for controls"> <text name="controls_label"> - Controls: + 控制: </text> <combo_box name="controls"> <combo_item name="Standard"> - Standard + 標準 </combo_item> <combo_item name="Mini"> - Mini + 迷你 </combo_item> </combo_box> <text name="owner_label"> - Owner + 擁有者 </text> <check_box initial_value="false" label="Allow Navigation & Interactivity" name="perms_owner_interact"/> <check_box initial_value="false" label="顯示控制列" name="perms_owner_control"/> @@ -22,7 +22,7 @@ <check_box initial_value="false" label="Allow Navigation & Interactivity" name="perms_group_interact"/> <check_box initial_value="false" label="顯示控制列" name="perms_group_control"/> <text name="anyone_label"> - Anyone + 任何人 </text> <check_box initial_value="false" label="Allow Navigation & Interactivity" name="perms_anyone_interact"/> <check_box initial_value="false" label="顯示控制列" name="perms_anyone_control"/> diff --git a/indra/newview/skins/default/xui/zh/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/zh/panel_nearby_chat_bar.xml index 724cd54bf1..3cabfcfaba 100644 --- a/indra/newview/skins/default/xui/zh/panel_nearby_chat_bar.xml +++ b/indra/newview/skins/default/xui/zh/panel_nearby_chat_bar.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="chat_bar"> - <line_editor label="點擊此處開始聊天。" name="chat_box" tool_tip="Press Enter to say, Ctrl+Enter to shout"/> - <button name="show_nearby_chat" tool_tip="顯示 / 隱藏 附近聊天紀錄"/> + <line_editor label="點擊此處開始聊天。" name="chat_box" tool_tip="按下 Enter 鍵來說或按下 Ctrl+Enter 來喊叫"/> + <button name="show_nearby_chat" tool_tip="顯示 / 隱藏 附近的聊天紀錄"/> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_nearby_media.xml b/indra/newview/skins/default/xui/zh/panel_nearby_media.xml index 0b8a7a5f42..5ab6837569 100644 --- a/indra/newview/skins/default/xui/zh/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/zh/panel_nearby_media.xml @@ -44,13 +44,13 @@ <panel name="media_controls_panel"> <layout_stack name="media_controls"> <layout_panel name="stop"> - <button name="stop_btn" tool_tip="Stop selected media"/> + <button name="stop_btn" tool_tip="停止所選擇媒體"/> </layout_panel> <layout_panel name="play"> - <button name="play_btn" tool_tip="Play selected media"/> + <button name="play_btn" tool_tip="播放所選擇的媒體"/> </layout_panel> <layout_panel name="pause"> - <button name="pause_btn" tool_tip="Pause selected media"/> + <button name="pause_btn" tool_tip="暫停所選擇的媒體"/> </layout_panel> <layout_panel name="volume_slider_ctrl"> <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Audio volume for selected media"/> diff --git a/indra/newview/skins/default/xui/zh/panel_notify_textbox.xml b/indra/newview/skins/default/xui/zh/panel_notify_textbox.xml index bdbc89f71c..01a8210338 100644 --- a/indra/newview/skins/default/xui/zh/panel_notify_textbox.xml +++ b/indra/newview/skins/default/xui/zh/panel_notify_textbox.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="instant_message" name="panel_notify_textbox"> +<panel label="即時訊息" name="panel_notify_textbox"> <string name="message_max_lines_count" value="7"/> <panel label="info_panel" name="info_panel"> - <text_editor name="message" value="message"/> + <text_editor name="message" value="訊息"/> </panel> <panel label="control_panel" name="control_panel"> - <button label="Submit" name="btn_submit"/> + <button label="提交" name="btn_submit"/> <button label="忽視" name="ignore_btn"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_outfit_edit.xml b/indra/newview/skins/default/xui/zh/panel_outfit_edit.xml index 6ceaf447a7..263106d13a 100644 --- a/indra/newview/skins/default/xui/zh/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/zh/panel_outfit_edit.xml @@ -15,7 +15,7 @@ <string name="Filter.Objects" value="物件"/> <string name="Filter.Clothing" value="服裝"/> <string name="Filter.Bodyparts" value="身體部位"/> - <string name="replace_body_part" value="Click to replace your existing shape"/> + <string name="replace_body_part" value="點擊以取代你現存的體形"/> <text name="title" value="編輯裝扮"/> <panel name="header_panel"> <panel name="outfit_name_and_status"> @@ -27,7 +27,7 @@ <layout_panel name="outfit_wearables_panel"> <layout_stack name="filter_panels"> <layout_panel name="add_button_and_combobox"> - <button label="Add More..." name="show_add_wearables_btn" tool_tip="開啟 / 關閉"/> + <button label="添加更多..." name="show_add_wearables_btn" tool_tip="開啟 / 關閉"/> </layout_panel> <layout_panel name="filter_panel"> <filter_editor label="收納區可穿著過濾器" name="look_item_filter"/> @@ -35,7 +35,7 @@ </layout_stack> </layout_panel> <layout_panel name="add_wearables_panel"> - <button label="Wear Item" name="plus_btn"/> + <button label="穿上物品" name="plus_btn"/> </layout_panel> </layout_stack> <panel name="no_add_wearables_button_bar"> diff --git a/indra/newview/skins/default/xui/zh/panel_pick_info.xml b/indra/newview/skins/default/xui/zh/panel_pick_info.xml index 44ae5703c6..cd4cdbf999 100644 --- a/indra/newview/skins/default/xui/zh/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/zh/panel_pick_info.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="panel_pick_info"> - <text name="title" value="Pick Info"/> + <text name="title" value="精選地點資訊"/> <scroll_container name="profile_scroll"> <panel name="scroll_content_panel"> <text_editor name="pick_name" value="[name]"/> diff --git a/indra/newview/skins/default/xui/zh/panel_picks.xml b/indra/newview/skins/default/xui/zh/panel_picks.xml index 3b356967f9..a233092dc2 100644 --- a/indra/newview/skins/default/xui/zh/panel_picks.xml +++ b/indra/newview/skins/default/xui/zh/panel_picks.xml @@ -1,28 +1,28 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Picks" name="panel_picks"> - <string name="no_picks" value="No Picks"/> +<panel label="精選地點" name="panel_picks"> + <string name="no_picks" value="無精選地點"/> <string name="no_classifieds" value="No Classifieds"/> <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Picks"/> + <accordion_tab name="tab_picks" title="精選地點"/> <accordion_tab name="tab_classifieds" title="Classifieds"/> </accordion> <panel label="bottom_panel" name="edit_panel"> <layout_stack name="edit_panel_ls"> <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Create a new pick or classified at the current location"/> + <button name="new_btn" tool_tip="以目前位置建立新的精選地點或個人廣告"/> </layout_panel> </layout_stack> </panel> <panel name="buttons_cucks"> <layout_stack name="buttons_cucks_ls"> <layout_panel name="info_btn_lp"> - <button label="資訊" name="info_btn" tool_tip="Show pick information"/> + <button label="資訊" name="info_btn" tool_tip="顯示精選地點資訊"/> </layout_panel> <layout_panel name="teleport_btn_lp"> - <button label="瞬間傳送" name="teleport_btn" tool_tip="Teleport to the corresponding area"/> + <button label="瞬間傳送" name="teleport_btn" tool_tip="瞬間傳送到相對應的區域"/> </layout_panel> <layout_panel name="show_on_map_btn_lp"> - <button label="地圖" name="show_on_map_btn" tool_tip="Show the corresponding area on the World Map"/> + <button label="地圖" name="show_on_map_btn" tool_tip="在世界地圖上顯示相對應的區域"/> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_place_profile.xml b/indra/newview/skins/default/xui/zh/panel_place_profile.xml index b0919c9151..aa7b036398 100644 --- a/indra/newview/skins/default/xui/zh/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/zh/panel_place_profile.xml @@ -11,7 +11,7 @@ <string name="unknown" value="(未知)"/> <string name="public" value="(公開)"/> <string name="none_text" value="(無)"/> - <string name="sale_pending_text" value="(Sale Pending)"/> + <string name="sale_pending_text" value="(擱置銷售)"/> <string name="group_owned_text" value="(社團所擁有)"/> <string name="price_text" value="L$"/> <string name="area_text" value="m²"/> @@ -60,11 +60,11 @@ <text name="voice_value" value="On"/> <text name="fly_label" value="飛行:"/> <text name="fly_value" value="On"/> - <text name="push_label" value="Push:"/> + <text name="push_label" value="推撞:"/> <text name="push_value" value="Off"/> - <text name="build_label" value="Build:"/> + <text name="build_label" value="建造:"/> <text name="build_value" value="On"/> - <text name="scripts_label" value="Scripts:"/> + <text name="scripts_label" value="腳本:"/> <text name="scripts_value" value="On"/> <text name="damage_label" value="Damage:"/> <text name="damage_value" value="Off"/> @@ -78,7 +78,7 @@ <text name="region_type_label" value="類型:"/> <text name="region_type" value="Moose"/> <text name="region_rating_label" value="分級:"/> - <text name="region_rating" value="Adult"/> + <text name="region_rating" value="成人"/> <text name="region_owner_label" value="擁有者:"/> <text name="region_owner" value="moose Van Moose extra long name moose"/> <text name="region_group_label" value="社團:"/> @@ -103,7 +103,7 @@ <text name="area_label" value="面積:"/> <text name="traffic_label" value="流量:"/> <text name="primitives_label" value="Primitives:"/> - <text name="parcel_scripts_label" value="Scripts:"/> + <text name="parcel_scripts_label" value="腳本:"/> <text name="terraform_limits_label" value="Terraform limits:"/> <text name="subdivide_label" value="Subdivide/Join ability:"/> <text name="resale_label" value="ReSale ability:"/> diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml b/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml index a39402c858..c691edb11c 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml @@ -33,7 +33,7 @@ Use machine translation while chatting (powered by Google) </text> <text name="translate_language_text"> - Translate chat into: + 聊天翻譯為: </text> <combo_box name="translate_language_combobox"> <combo_box.item label="系統預設" name="System Default Language"/> diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_general.xml b/indra/newview/skins/default/xui/zh/panel_preferences_general.xml index c7299ad8a9..b7449dad10 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_general.xml @@ -17,10 +17,10 @@ <combo_box.item label="日本語 (Japanese) - Beta" name="(Japanese)"/> </combo_box> <text name="language_textbox2"> - (Requires restart) + (須重新啟動) </text> <text name="maturity_desired_prompt"> - I want to access content rated: + 我想要能進出內容分級的地區為: </text> <combo_box name="maturity_desired_combobox"> <combo_box.item label="General, Moderate, Adult" name="Desired_Adult"/> @@ -36,34 +36,34 @@ </combo_box> <check_box initial_value="true" label="登入時顯示" name="show_location_checkbox"/> <text name="name_tags_textbox"> - Name tags: + 名稱標籤: </text> <radio_group name="Name_Tag_Preference"> <radio_item label="Off" name="radio" value="0"/> <radio_item label="On" name="radio2" value="1"/> - <radio_item label="Show briefly" name="radio3" value="2"/> + <radio_item label="簡短顯示" name="radio3" value="2"/> </radio_group> - <check_box label="My name" name="show_my_name_checkbox1"/> - <check_box label="使用者名稱" name="show_slids" tool_tip="Show username, like bobsmith123"/> - <check_box label="社團頭銜" name="show_all_title_checkbox1" tool_tip="Show group titles, like Officer or Member"/> + <check_box label="我的名字" name="show_my_name_checkbox1"/> + <check_box label="使用者名稱" name="show_slids" tool_tip="顯示使用者名稱,就像 bobsmith123 這類的"/> + <check_box label="社團頭銜" name="show_all_title_checkbox1" tool_tip="顯示社團頭銜,像是 Officer 或成員"/> <check_box label="高亮顯示朋友" name="show_friends" tool_tip="高亮顯示你朋友的名稱標籤"/> <check_box label="View Display Names" name="display_names_check" tool_tip="Check to use display names in chat, IM, name tags, etc."/> <text name="inworld_typing_rg_label"> - Pressing letter keys: + 按下字母鍵: </text> <radio_group name="inworld_typing_preference"> - <radio_item label="Starts local chat" name="radio_start_chat" value="1"/> - <radio_item label="Affects movement (i.e. WASD)" name="radio_move" value="0"/> + <radio_item label="開始本地聊天" name="radio_start_chat" value="1"/> + <radio_item label="影響移動(例如 WASD鍵)" name="radio_move" value="0"/> </radio_group> <text name="title_afk_text"> - Away timeout: + 離開逾時設定: </text> - <combo_box label="Away timeout:" name="afk"> - <combo_box.item label="2 minutes" name="item0"/> - <combo_box.item label="5 minutes" name="item1"/> - <combo_box.item label="10 minutes" name="item2"/> - <combo_box.item label="30 minutes" name="item3"/> - <combo_box.item label="never" name="item4"/> + <combo_box label="離開逾時設定:" name="afk"> + <combo_box.item label="2 分鐘" name="item0"/> + <combo_box.item label="5 分鐘" name="item1"/> + <combo_box.item label="10 分鐘" name="item2"/> + <combo_box.item label="30 分鐘" name="item3"/> + <combo_box.item label="絕不" name="item4"/> </combo_box> <text name="text_box3"> 忙碌模式回應: diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_move.xml b/indra/newview/skins/default/xui/zh/panel_preferences_move.xml index ff582d774b..de296f72f3 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_move.xml @@ -13,9 +13,9 @@ Mouselook mouse sensitivity: </text> <check_box label="反轉" name="invert_mouse"/> - <check_box label="Arrow keys always move me" name="arrow_keys_move_avatar_check"/> + <check_box label="總是使用方向鍵移動" name="arrow_keys_move_avatar_check"/> <check_box label="Tap-tap-hold to run" name="tap_tap_hold_to_run"/> - <check_box label="Double-Click to:" name="double_click_chkbox"/> + <check_box label="雙擊以D:" name="double_click_chkbox"/> <radio_group name="double_click_action"> <radio_item label="瞬間傳送" name="radio_teleport"/> <radio_item label="Auto-pilot" name="radio_autopilot"/> diff --git a/indra/newview/skins/default/xui/zh/panel_preferences_sound.xml b/indra/newview/skins/default/xui/zh/panel_preferences_sound.xml index 2cab05e2ad..305d1e2ac9 100644 --- a/indra/newview/skins/default/xui/zh/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/zh/panel_preferences_sound.xml @@ -10,29 +10,29 @@ </text> <slider label="按鍵音" name="UI Volume"/> <slider label="Ambient" name="Wind Volume"/> - <slider label="Sound Effects" name="SFX Volume"/> - <slider label="Streaming music" name="Music Volume"/> - <check_box label="Enabled" name="enable_music"/> - <slider label="Media" name="Media Volume"/> - <check_box label="Enabled" name="enable_media"/> - <slider label="Voice Chat" name="Voice Volume"/> - <check_box label="Enabled" name="enable_voice_check"/> - <check_box label="Allow Media to auto-play" name="media_auto_play_btn" tool_tip="Check this to let media auto-play if it wants" value="true"/> - <check_box label="Play media attached to other avatars" name="media_show_on_others_btn" tool_tip="Uncheck this to hide media attached to other avatars nearby" value="true"/> + <slider label="音效" name="SFX Volume"/> + <slider label="串流音樂" name="Music Volume"/> + <check_box label="已啟用" name="enable_music"/> + <slider label="媒體" name="Media Volume"/> + <check_box label="已啟用" name="enable_media"/> + <slider label="語音聊天" name="Voice Volume"/> + <check_box label="已啟用" name="enable_voice_check"/> + <check_box label="允許媒體自動播放" name="media_auto_play_btn" tool_tip="若你想要,可以勾選這個允許媒體自動播放" value="true"/> + <check_box label="播放附加到其他化身身上的媒體" name="media_show_on_others_btn" tool_tip="Uncheck this to hide media attached to other avatars nearby" value="true"/> <text name="voice_chat_settings"> - Voice Chat Settings + 語音聊天設定 </text> <text name="Listen from"> - Listen from: + 傾聽位置: </text> <radio_group name="ear_location"> - <radio_item label="Camera position" name="0"/> - <radio_item label="Avatar position" name="1"/> + <radio_item label="攝影機位置" name="0"/> + <radio_item label="化身位置" name="1"/> </radio_group> - <check_box label="Move avatar lips when speaking" name="enable_lip_sync"/> + <check_box label="說話時同步移動化身嘴唇" name="enable_lip_sync"/> <check_box label="Toggle speak on/off when I press:" name="push_to_talk_toggle_check" tool_tip="When in toggle mode, press and release the trigger key ONCE to switch your microphone on or off. When not in toggle mode, the microphone broadcasts your voice only while the trigger is being held down."/> <line_editor label="Push-to-Speak trigger" name="modifier_combo"/> - <button label="Set Key" name="set_voice_hotkey_button"/> + <button label="設定按鍵" name="set_voice_hotkey_button"/> <button name="set_voice_middlemouse_button" tool_tip="Reset to Middle Mouse Button"/> <button label="輸入 / 輸出設備" name="device_settings_btn"/> <panel label="設備設定" name="device_settings_panel"> @@ -49,7 +49,7 @@ 輸入 </text> <text name="My volume label"> - My volume: + 我的音量: </text> <slider_bar initial_value="1.0" name="mic_volume_slider" tool_tip="Change the volume using this slider"/> <text name="wait_text"> diff --git a/indra/newview/skins/default/xui/zh/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/zh/panel_prim_media_controls.xml index 71de9f861a..8d0e2a6355 100644 --- a/indra/newview/skins/default/xui/zh/panel_prim_media_controls.xml +++ b/indra/newview/skins/default/xui/zh/panel_prim_media_controls.xml @@ -40,7 +40,7 @@ <button name="home_btn" tool_tip="Home page"/> </layout_panel> <layout_panel name="media_stop"> - <button name="media_stop_btn" tool_tip="Stop media"/> + <button name="media_stop_btn" tool_tip="停止媒體"/> </layout_panel> <layout_panel name="reload"> <button name="reload_btn" tool_tip="Reload"/> diff --git a/indra/newview/skins/default/xui/zh/panel_profile.xml b/indra/newview/skins/default/xui/zh/panel_profile.xml index 7536311daf..fcf7bb64db 100644 --- a/indra/newview/skins/default/xui/zh/panel_profile.xml +++ b/indra/newview/skins/default/xui/zh/panel_profile.xml @@ -32,7 +32,7 @@ <panel name="first_life_image_panel"> <text name="title_rw_descr_text" value="真實世界:"/> </panel> - <text name="title_member_text" value="Resident Since:"/> + <text name="title_member_text" value="成為居民自:"/> <text name="title_acc_status_text" value="帳戶狀態:"/> <text name="title_partner_text" value="配偶:"/> <panel name="partner_data_panel"> @@ -59,7 +59,7 @@ <button label="瞬間傳送" name="teleport" tool_tip="Offer teleport"/> </layout_panel> <layout_panel name="overflow_btn_lp"> - <menu_button label="▼" name="overflow_btn" tool_tip="Pay money to or share inventory with the Resident"/> + <menu_button label="▼" name="overflow_btn" tool_tip="支付金錢,或分享收納區給居民"/> </layout_panel> </layout_stack> </layout_panel> diff --git a/indra/newview/skins/default/xui/zh/panel_profile_view.xml b/indra/newview/skins/default/xui/zh/panel_profile_view.xml index ac8c7cad3d..12fe776e45 100644 --- a/indra/newview/skins/default/xui/zh/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/zh/panel_profile_view.xml @@ -14,7 +14,7 @@ <text name="user_label" value="使用者名稱:"/> <tab_container name="tabs"> <panel label="檔案" name="panel_profile"/> - <panel label="PICKS" name="panel_picks"/> + <panel label="精選地點" name="panel_picks"/> <panel label="NOTES & PRIVACY" name="panel_notes"/> </tab_container> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_region_covenant.xml b/indra/newview/skins/default/xui/zh/panel_region_covenant.xml index 2e52efb804..315bc0ac8e 100644 --- a/indra/newview/skins/default/xui/zh/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_covenant.xml @@ -62,18 +62,18 @@ 分級: </text> <text name="region_maturity_text"> - Adult + 成人 </text> <text name="resellable_lbl"> - Resale: + 轉售: </text> <text name="resellable_clause"> - Land in this region may not be resold. + 這地區的土地不能轉售。 </text> <text name="changeable_lbl"> - Subdivide: + 分割: </text> <text name="changeable_clause"> - Land in this region may not be joined/subdivided. + 這地區的土地不能合併或分割。 </text> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_region_debug.xml b/indra/newview/skins/default/xui/zh/panel_region_debug.xml index 798831bc84..1ffbcbf8fd 100644 --- a/indra/newview/skins/default/xui/zh/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_debug.xml @@ -11,24 +11,24 @@ <check_box label="Disable Physics" name="disable_physics_check" tool_tip="Disable all physics in this region"/> <button label="套用" name="apply_btn"/> <text name="objret_text_lbl"> - Object Return + 物件退回 </text> <text name="resident_text_lbl"> - Resident: + 居民: </text> <line_editor name="target_avatar_name"> (無) </line_editor> - <button label="Choose" name="choose_avatar_btn"/> + <button label="選擇" name="choose_avatar_btn"/> <text name="options_text_lbl"> 選項: </text> - <check_box label="With scripts" name="return_scripts" tool_tip="Return only objects which have scripts"/> + <check_box label="With scripts" name="return_scripts" tool_tip="只退回R包含腳本的物件"/> <check_box label="On someone else's land" name="return_other_land" tool_tip="Return only objects which are on land belonging to someone else"/> <check_box label="In every region of this estate" name="return_estate_wide" tool_tip="Return objects in all of the regions that make up this estate"/> - <button label="Return" name="return_btn"/> + <button label="退回" name="return_btn"/> <button label="Get Top Colliders..." name="top_colliders_btn" tool_tip="List of objects experiencing the most potential collisions"/> <button label="Get Top Scripts..." name="top_scripts_btn" tool_tip="List of objects spending the most time running scripts"/> - <button label="Restart Region" name="restart_btn" tool_tip="Give 2 minute countdown and restart region"/> - <button label="Delay Restart" name="cancel_restart_btn" tool_tip="Delay region restart by one hour"/> + <button label="地區重新啟動" name="restart_btn" tool_tip="給予兩分鐘倒數計時並重新啟動"/> + <button label="延遲重新啟動" name="cancel_restart_btn" tool_tip="延遲地區重新啟動一小時"/> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_region_estate.xml b/indra/newview/skins/default/xui/zh/panel_region_estate.xml index 899191c3f0..1f1676167b 100644 --- a/indra/newview/skins/default/xui/zh/panel_region_estate.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_estate.xml @@ -27,7 +27,7 @@ <check_box label="允許語音聊天" name="voice_chat_check"/> <check_box label="允許直接瞬間傳送" name="allow_direct_teleport"/> <button label="套用" name="apply_btn"/> - <button label="瞬間傳送訊息到領地..." name="message_estate_btn"/> + <button label="送出訊息到領地..." name="message_estate_btn"/> <button label="由領地將居民踢出..." name="kick_user_from_estate_btn"/> <text name="estate_manager_label"> 領地管理員: diff --git a/indra/newview/skins/default/xui/zh/panel_region_general.xml b/indra/newview/skins/default/xui/zh/panel_region_general.xml index 71caaf1144..dce75c997d 100644 --- a/indra/newview/skins/default/xui/zh/panel_region_general.xml +++ b/indra/newview/skins/default/xui/zh/panel_region_general.xml @@ -7,7 +7,7 @@ 未知 </text> <text name="version_channel_text_lbl"> - Version: + 版本: </text> <text name="version_channel_text"> 未知 @@ -22,22 +22,22 @@ <check_box label="Block Fly" name="block_fly_check"/> <check_box label="Allow Damage" name="allow_damage_check"/> <check_box label="Restrict Pushing" name="restrict_pushobject"/> - <check_box label="Allow Land Resell" name="allow_land_resell_check"/> - <check_box label="Allow Land Join/Divide" name="allow_parcel_changes_check"/> + <check_box label="允許土地轉售" name="allow_land_resell_check"/> + <check_box label="允許土地 合併/分割" name="allow_parcel_changes_check"/> <check_box label="阻擋土地顯示於搜尋中" name="block_parcel_search_check" tool_tip="Let people see this region and its parcels in search results"/> - <spinner label="Agent Limit" name="agent_limit_spin"/> + <spinner label="人數上限" name="agent_limit_spin"/> <spinner label="Object Bonus" name="object_bonus_spin"/> <text label="Maturity" name="access_text"> 分級: </text> <icons_combo_box label="Moderate" name="access_combo"> - <icons_combo_box.item label="Adult" name="Adult" value="42"/> + <icons_combo_box.item label="成人" name="Adult" value="42"/> <icons_combo_box.item label="Moderate" name="Mature" value="21"/> <icons_combo_box.item label="一般" name="PG" value="13"/> </icons_combo_box> <button label="套用" name="apply_btn"/> <button label="強制瞬間傳送一位居民回家..." name="kick_btn"/> <button label="強制瞬間傳送所有居民回家..." name="kick_all_btn"/> - <button label="傳送訊息到地區..." name="im_btn"/> + <button label="送出訊息到地區..." name="im_btn"/> <button label="管理瞬間傳送中心..." name="manage_telehub_btn"/> </panel> diff --git a/indra/newview/skins/default/xui/zh/panel_side_tray.xml b/indra/newview/skins/default/xui/zh/panel_side_tray.xml index 85ac4613dd..625213e376 100644 --- a/indra/newview/skins/default/xui/zh/panel_side_tray.xml +++ b/indra/newview/skins/default/xui/zh/panel_side_tray.xml @@ -6,7 +6,7 @@ <sidetray_tab description="首頁。" name="sidebar_home" tab_title="首頁"> <panel label="首頁" name="panel_home"/> </sidetray_tab> - <sidetray_tab description="編輯你的公開檔案及精選。" name="sidebar_me" tab_title="我的檔案"> + <sidetray_tab description="編輯你的公開檔案及精選地點。" name="sidebar_me" tab_title="我的檔案"> <panel_container name="panel_container"> <panel label="自己" name="panel_me"/> </panel_container> diff --git a/indra/newview/skins/default/xui/zh/panel_teleport_history.xml b/indra/newview/skins/default/xui/zh/panel_teleport_history.xml index 6c81ede76c..a2a63db000 100644 --- a/indra/newview/skins/default/xui/zh/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/zh/panel_teleport_history.xml @@ -2,7 +2,7 @@ <panel name="Teleport History"> <accordion name="history_accordion"> <no_matched_tabs_text name="no_matched_teleports_msg" value="沒有發現你要找的嗎?試試 [secondlife:///app/search/places/[SEARCH_TERM] 搜尋]。"/> - <no_visible_tabs_text name="no_teleports_msg" value="瞬間傳送紀錄是空白的。試試 [secondlife:///app/search/places/ 搜尋]。"/> + <no_visible_tabs_text name="no_teleports_msg" value="瞬間傳送紀錄是空白的。試試 [secondlife:///app/search/places/ Search]。"/> <accordion_tab name="today" title="今天"/> <accordion_tab name="yesterday" title="昨天"/> <accordion_tab name="2_days_ago" title="前天"/> diff --git a/indra/newview/skins/default/xui/zh/sidepanel_appearance.xml b/indra/newview/skins/default/xui/zh/sidepanel_appearance.xml index 6f8f19b26d..7d8a502594 100644 --- a/indra/newview/skins/default/xui/zh/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/zh/sidepanel_appearance.xml @@ -8,7 +8,7 @@ <button label="E" name="editappearance_btn"/> <button label="O" name="openoutfit_btn"/> <text name="currentlook_status"> - (Status) + (狀態) </text> <text name="currentlook_name"> MyOutfit With a really Long Name like MOOSE diff --git a/indra/newview/skins/default/xui/zh/sidepanel_task_info.xml b/indra/newview/skins/default/xui/zh/sidepanel_task_info.xml index de5a10ba51..f308f2d4d0 100644 --- a/indra/newview/skins/default/xui/zh/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/zh/sidepanel_task_info.xml @@ -58,18 +58,18 @@ <name_box initial_value="載入中..." name="Group Name Proxy"/> <button label="Deed" label_selected="Deed" name="button deed" tool_tip="Deeding gives this item away with next owner permissions. Group shared objects can be deeded by a group officer."/> <text name="label click action"> - Click to: + 點擊以: </text> <combo_box name="clickaction"> - <combo_box.item label="Touch (default)" name="Touch/grab(default)"/> - <combo_box.item label="Sit on object" name="Sitonobject"/> - <combo_box.item label="Buy object" name="Buyobject"/> - <combo_box.item label="Pay object" name="Payobject"/> - <combo_box.item label="Open" name="Open"/> + <combo_box.item label="觸碰(預設)" name="Touch/grab(default)"/> + <combo_box.item label="坐在物件上" name="Sitonobject"/> + <combo_box.item label="購買物件" name="Buyobject"/> + <combo_box.item label="支付物件" name="Payobject"/> + <combo_box.item label="開啟" name="Open"/> </combo_box> <panel name="perms_inv"> <text name="perm_modify"> - You can modify this object + 你能修改這個物件 </text> <text name="Anyone can:"> 任何人: @@ -115,9 +115,9 @@ </text> </panel> <panel name="button_panel"> - <button label="Open" name="open_btn"/> - <button label="Pay" name="pay_btn"/> + <button label="開啟" name="open_btn"/> + <button label="支付" name="pay_btn"/> <button label="購買" name="buy_btn"/> - <button label="Details" name="details_btn"/> + <button label="細節" name="details_btn"/> </panel> </panel> diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml index 211d91a707..986ab82523 100644 --- a/indra/newview/skins/default/xui/zh/strings.xml +++ b/indra/newview/skins/default/xui/zh/strings.xml @@ -5,19 +5,19 @@ that are returned from one component and may appear in many places--> <strings> <string name="SECOND_LIFE"> - Second Life + 第二人生 </string> <string name="APP_NAME"> - Second Life + 第二人生 </string> <string name="CAPITALIZED_APP_NAME"> - SECOND LIFE + 第二人生 </string> <string name="SECOND_LIFE_GRID"> - Second Life Grid + 第二人生網格 </string> <string name="SUPPORT_SITE"> - Second Life Support Portal + 第二人生支援入口 </string> <string name="StartupDetectingHardware"> 硬體偵測中... @@ -131,10 +131,10 @@ http://join.secondlife.com/ </string> <string name="AgentLostConnection"> - This region may be experiencing trouble. Please check your connection to the Internet. + 這個地區可能遭遇問題,請檢查你的網路連線。 </string> <string name="SavingSettings"> - Saving your settings... + 你的設定儲存中... </string> <string name="LoggingOut"> 登出中... @@ -149,10 +149,10 @@ You were sent to an invalid region. </string> <string name="TestingDisconnect"> - Testing viewer disconnect + 測試瀏覽器斷線 </string> <string name="TooltipPerson"> - Person + 人 </string> <string name="TooltipNoName"> (no name) @@ -173,41 +173,41 @@ Group Build </string> <string name="TooltipFlagNoBuild"> - No Build + 禁止建造 </string> <string name="TooltipFlagNoEdit"> - Group Build + 社團建造 </string> <string name="TooltipFlagNotSafe"> - Not Safe + 非安全 </string> <string name="TooltipFlagNoFly"> 禁止飛行 </string> <string name="TooltipFlagGroupScripts"> - Group Scripts + 社團腳本 </string> <string name="TooltipFlagNoScripts"> - No Scripts + 禁止腳本 </string> <string name="TooltipLand"> 土地: </string> <string name="TooltipMustSingleDrop"> - Only a single item can be dragged here + 只有一個物品可以被拖曳到此處 </string> <string name="TooltipPrice" value="L$[AMOUNT]:"/> <string name="TooltipHttpUrl"> 點擊以察看這個網頁 </string> <string name="TooltipSLURL"> - Click to view this location's information + 點擊以察看這個位置資訊 </string> <string name="TooltipAgentUrl"> - Click to view this Resident's profile + 點擊以察看這個居民檔案 </string> <string name="TooltipAgentInspect"> - Learn more about this Resident + 瞭解更多有關這個居民 </string> <string name="TooltipAgentMute"> Click to mute this Resident @@ -219,7 +219,7 @@ 點擊開始 IM 這位居民 </string> <string name="TooltipAgentPay"> - Click to Pay this Resident + 點擊以支付這位居民 </string> <string name="TooltipAgentOfferTeleport"> Click to offer a teleport request to this Resident @@ -268,7 +268,7 @@ IM </string> <string name="SLappAgentPay"> - Pay + 支付 </string> <string name="SLappAgentOfferTeleport"> Offer Teleport to @@ -286,7 +286,7 @@ 關閉 </string> <string name="BUTTON_RESTORE"> - Restore + 還原 </string> <string name="BUTTON_MINIMIZE"> 最小化 @@ -331,7 +331,7 @@ Avaline Caller [ORDER] </string> <string name="AssetErrorNone"> - No error + 無錯誤 </string> <string name="AssetErrorRequestFailed"> Asset request: failed @@ -361,13 +361,13 @@ Viewer and server do not agree on price </string> <string name="AssetErrorUnknownStatus"> - Unknown status + 未知狀態 </string> <string name="texture"> 材質 </string> <string name="sound"> - sound + 聲音 </string> <string name="calling card"> calling card @@ -661,13 +661,13 @@ 載入中... </string> <string name="worldmap_offline"> - Offline + 離線 </string> <string name="worldmap_item_tooltip_format"> [AREA] m² L$[PRICE] </string> <string name="worldmap_results_none_found"> - None found. + 沒有發現。 </string> <string name="Ok"> 確定 @@ -748,10 +748,10 @@ Moderate </string> <string name="SIM_ACCESS_ADULT"> - Adult + 成人 </string> <string name="SIM_ACCESS_DOWN"> - Offline + 離線 </string> <string name="SIM_ACCESS_MIN"> 未知 @@ -760,34 +760,34 @@ (未知) </string> <string name="Estate / Full Region"> - Estate / Full Region + 領地 / 完整地區 </string> <string name="Estate / Homestead"> - Estate / Homestead + 領地 / 家園 </string> <string name="Mainland / Homestead"> - Mainland / Homestead + 大陸 / 家園 </string> <string name="Mainland / Full Region"> - Mainland / Full Region + 大陸 / 完整地區 </string> <string name="all_files"> 全部檔案 </string> <string name="sound_files"> - Sounds + 聲音 </string> <string name="animation_files"> - Animations + 動作 </string> <string name="image_files"> 圖像 </string> <string name="save_file_verb"> - Save + 儲存 </string> <string name="load_file_verb"> - Load + 載入 </string> <string name="targa_image_files"> Targa 圖像 @@ -808,34 +808,34 @@ RAW File </string> <string name="compressed_image_files"> - Compressed Images + 壓縮的圖像 </string> <string name="load_files"> - Load Files + 載入檔案 </string> <string name="choose_the_directory"> - Choose Directory + 選擇目錄 </string> <string name="AvatarSetNotAway"> - Not Away + 非離開 </string> <string name="AvatarSetAway"> - Away + 離開 </string> <string name="AvatarSetNotBusy"> - Not Busy + 非忙碌 </string> <string name="AvatarSetBusy"> - Busy + 忙碌 </string> <string name="shape"> - Shape + 體形 </string> <string name="skin"> - Skin + 皮膚 </string> <string name="hair"> - Hair + 頭髮 </string> <string name="eyes"> 眼睛 @@ -877,49 +877,49 @@ Physics </string> <string name="invalid"> - invalid + 無效 </string> <string name="none"> 無 </string> <string name="shirt_not_worn"> - Shirt not worn + 襯衫未穿 </string> <string name="pants_not_worn"> - Pants not worn + 褲子未穿 </string> <string name="shoes_not_worn"> - Shoes not worn + 鞋子未穿 </string> <string name="socks_not_worn"> - Socks not worn + 襪子未穿 </string> <string name="jacket_not_worn"> - Jacket not worn + 夾克未穿 </string> <string name="gloves_not_worn"> - Gloves not worn + 手套未穿 </string> <string name="undershirt_not_worn"> - Undershirt not worn + 內衣未穿 </string> <string name="underpants_not_worn"> - Underpants not worn + 內褲未穿 </string> <string name="skirt_not_worn"> - Skirt not worn + 裙子未穿 </string> <string name="alpha_not_worn"> Alpha not worn </string> <string name="tattoo_not_worn"> - Tattoo not worn + 刺青未穿 </string> <string name="physics_not_worn"> Physics not worn </string> <string name="invalid_not_worn"> - invalid + 無效 </string> <string name="create_new_shape"> 創造新體形 @@ -931,34 +931,34 @@ 創造新頭髮 </string> <string name="create_new_eyes"> - 創耖新眼睛 + 創造新眼睛 </string> <string name="create_new_shirt"> - Create new shirt + 創造新襯衫 </string> <string name="create_new_pants"> - Create new pants + 創造新褲子 </string> <string name="create_new_shoes"> - Create new shoes + 創造新鞋子 </string> <string name="create_new_socks"> - Create new socks + 創造新襪子 </string> <string name="create_new_jacket"> - Create new jacket + 創造新夾克 </string> <string name="create_new_gloves"> - Create new gloves + 創造新手套 </string> <string name="create_new_undershirt"> - Create new undershirt + 創造新內衣 </string> <string name="create_new_underpants"> - Create new underpants + 創造新內褲 </string> <string name="create_new_skirt"> - Create new skirt + 創造新裙子 </string> <string name="create_new_alpha"> Create new alpha @@ -970,13 +970,13 @@ Create new physics </string> <string name="create_new_invalid"> - invalid + 無效 </string> <string name="NewWearable"> - New [WEARABLE_ITEM] + 新 [WEARABLE_ITEM] </string> <string name="next"> - Next + 下一個 </string> <string name="ok"> 確定 @@ -988,7 +988,7 @@ 社團通知 </string> <string name="GroupNotifySentBy"> - Sent by + 送出由 </string> <string name="GroupNotifyAttached"> Attached: @@ -1006,16 +1006,16 @@ Teleport offering </string> <string name="StartUpNotifications"> - New notifications arrived while you were away. + 當你離開時有新的通知送達。 </string> <string name="OverflowInfoChannelString"> - You have %d more notification + 你有約 %d 通知 </string> <string name="BodyPartsRightArm"> Right Arm </string> <string name="BodyPartsHead"> - Head + 頭部 </string> <string name="BodyPartsLeftArm"> Left Arm @@ -1024,7 +1024,7 @@ Left Leg </string> <string name="BodyPartsTorso"> - Torso + 軀幹 </string> <string name="BodyPartsRightLeg"> Right Leg @@ -1175,7 +1175,7 @@ 我的裝扮 </string> <string name="InvFolder Accessories"> - Accessories + 配件 </string> <string name="InvFolder Friends"> 朋友 @@ -1253,7 +1253,7 @@ 嘴 </string> <string name="Chin"> - Chin + 下巴 </string> <string name="Left Ear"> 左耳 @@ -1328,7 +1328,7 @@ [AGEDAYS] old </string> <string name="TodayOld"> - 今日剛加入 + 高日剛加入 </string> <string name="AgeYearsA"> [COUNT] 年 @@ -1469,7 +1469,7 @@ 設為非執行中 </string> <string name="CompileSuccessful"> - 編譯成功! + 編譯成功!! </string> <string name="CompileSuccessfulSaving"> 編譯成功,儲存中... @@ -1579,7 +1579,7 @@ Chest </string> <string name="ATTACH_HEAD"> - Head + 頭部 </string> <string name="ATTACH_LSHOULDER"> Left Shoulder @@ -1609,7 +1609,7 @@ Mouth </string> <string name="ATTACH_CHIN"> - Chin + 下巴 </string> <string name="ATTACH_LEAR"> Left Ear @@ -1750,7 +1750,7 @@ You haven't created any Picks or Classifieds. Click the Plus button below to create a Pick or Classified. </string> <string name="NoAvatarPicksClassifiedsText"> - User has no picks or classifieds + 使用者無精選地點或個人廣告 </string> <string name="PicksClassifiedsLoadingText"> 載入中... @@ -1955,7 +1955,7 @@ Linden Location </string> <string name="Adult"> - Adult + 成人 </string> <string name="Arts&Culture"> Arts & Culture @@ -2392,7 +2392,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Chest Size </string> <string name="Chin Angle"> - Chin Angle + 下巴角度 </string> <string name="Chin Cleft"> Chin Cleft @@ -2629,7 +2629,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Glove Length </string> <string name="Hair"> - Hair + 頭髮 </string> <string name="Hair Back"> Hair: Back @@ -3577,13 +3577,13 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Health </string> <string name="LocationCtrlAdultIconTooltip"> - Adult Region + 成人地區 </string> <string name="LocationCtrlModerateIconTooltip"> Moderate Region </string> <string name="LocationCtrlGeneralIconTooltip"> - General Region + 一般地區 </string> <string name="UpdaterWindowTitle"> [APP_NAME] 更新 diff --git a/indra/newview/skins/default/xui/zh/teleport_strings.xml b/indra/newview/skins/default/xui/zh/teleport_strings.xml index 9702832f44..b18eb4a390 100644 --- a/indra/newview/skins/default/xui/zh/teleport_strings.xml +++ b/indra/newview/skins/default/xui/zh/teleport_strings.xml @@ -53,7 +53,7 @@ Try again in a moment. Relaying to destination. </message> <message name="sending_home"> - 傳送家位置的要求。 + 送出家位置的要求。 </message> <message name="sending_landmark"> 地標位置要求瞬間傳送中。 diff --git a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml b/indra/newview/skins/minimal/xui/da/floater_media_browser.xml index d3028c32f9..42fbdeaa9e 100644 --- a/indra/newview/skins/minimal/xui/da/floater_media_browser.xml +++ b/indra/newview/skins/minimal/xui/da/floater_media_browser.xml @@ -1,18 +1,29 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_about" title="MEDIE VÆLGER"> +<floater name="floater_about" title="MEDIA BROWSER"> + <floater.string name="home_page_url"> + http://www.secondlife.com + </floater.string> + <floater.string name="support_page_url"> + http://support.secondlife.com + </floater.string> <layout_stack name="stack1"> <layout_panel name="nav_controls"> <button label="Tilbage" name="back"/> <button label="Frem" name="forward"/> - <button label="Opdater" name="reload"/> - <button label="Gå til" name="go"/> + <button label="Genlæs" name="reload"/> + <button label="Go" name="go"/> + </layout_panel> + <layout_panel name="time_controls"> + <button label="tilbage" name="rewind"/> + <button label="stop" name="stop"/> + <button label="fremad" name="seek"/> </layout_panel> <layout_panel name="parcel_owner_controls"> <button label="Send denne side til parcel" name="assign"/> </layout_panel> <layout_panel name="external_controls"> - <button label="Åben i min browser" name="open_browser"/> - <check_box label="Åben altid i min browser" name="open_always"/> + <button label="Åben i min internetbrowser" name="open_browser"/> + <check_box label="Åben altid i min internetbrowser" name="open_always"/> <button label="Luk" name="close"/> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/minimal/xui/da/floater_web_content.xml b/indra/newview/skins/minimal/xui/da/floater_web_content.xml index 74092e88ec..0410f74324 100644 --- a/indra/newview/skins/minimal/xui/da/floater_web_content.xml +++ b/indra/newview/skins/minimal/xui/da/floater_web_content.xml @@ -2,13 +2,13 @@ <floater name="floater_web_content" title=""> <layout_stack name="stack1"> <layout_panel name="nav_controls"> - <button name="back" tool_tip="Navigér tilbage"/> - <button name="forward" tool_tip="Navigér frem"/> - <button name="stop" tool_tip="Stop navigering"/> + <button name="back" tool_tip="Gå bagud"/> + <button name="forward" tool_tip="Gå frem"/> + <button name="stop" tool_tip="Stop"/> <button name="reload" tool_tip="Genindlæs side"/> <combo_box name="address" tool_tip="Indtast URL her"/> <icon name="media_secure_lock_flag" tool_tip="Sikker browsing"/> - <button name="popexternal" tool_tip="Åben denne URL i din normale browser"/> + <button name="popexternal" tool_tip="Åben denne URL i din normale internet browser"/> </layout_panel> </layout_stack> </floater> diff --git a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml b/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml index 5470c32761..220ab8724f 100644 --- a/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml +++ b/indra/newview/skins/minimal/xui/da/menu_people_nearby.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <context_menu name="Avatar Context Menu"> - <menu_item_call label="Profil" name="View Profile"/> - <menu_item_call label="Tilføj ven" name="Add Friend"/> - <menu_item_call label="Fjern ven" name="Remove Friend"/> - <menu_item_call label="Besked" name="IM"/> + <menu_item_call label="Vis profil" name="View Profile"/> + <menu_item_call label="Tilføj som ven" name="Add Friend"/> + <menu_item_call label="Fjern venskab" name="Remove Friend"/> + <menu_item_call label="IM" name="IM"/> <menu_item_call label="Opkald" name="Call"/> <menu_item_call label="Kort" name="Map"/> <menu_item_call label="Del" name="Share"/> diff --git a/indra/newview/skins/minimal/xui/da/notifications.xml b/indra/newview/skins/minimal/xui/da/notifications.xml index 0d2aaf45ce..e77eeee8df 100644 --- a/indra/newview/skins/minimal/xui/da/notifications.xml +++ b/indra/newview/skins/minimal/xui/da/notifications.xml @@ -1327,21 +1327,19 @@ Prøv igen om lidt. No valid parcel could be found. </notification> <notification name="ObjectGiveItem"> - Et object med navnet <nolink>[OBJECTFROMNAME]</nolink> ejet af [NAME_SLURL] har givet dig denne [OBJECTTYPE]: -[ITEM_SLURL] + Et objekt ved navn <nolink>[OBJECTFROMNAME]</nolink> ejet af [NAME_SLURL] tilbyder dig [ITEM_SLURL]. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes på login skærmbilledet. <form name="form"> - <button name="Keep" text="Behold"/> - <button name="Discard" text="Smid væk"/> - <button name="Mute" text="Blokér"/> + <button name="Keep" text="Behold genstand"/> + <button name="Discard" text="Afvis genstand"/> + <button name="Mute" text="Blokér objekt"/> </form> </notification> <notification name="UserGiveItem"> - [NAME_SLURL] har givet dig denne/dette [OBJECTTYPE]: -[ITEM_SLURL] + [NAME_SLURL] tilbyder dig [ITEM_SLURL]. For at bruge denne genstand skal du skifte til avanceret tilstand, hvor du kan finde genstanden i din beholdning. Ønsker du at logge ud for at skifte tilstand? Valg af tilstand findes på login skærmbilledet. <form name="form"> - <button name="Show" text="Vis"/> - <button name="Discard" text="Smid væk"/> - <button name="Mute" text="Blokér"/> + <button name="Show" text="Behold genstand"/> + <button name="Discard" text="Afvis genstand"/> + <button name="Mute" text="Blokér bruger"/> </form> </notification> <notification name="GodMessage"> diff --git a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml index 1953fad31f..14250453eb 100644 --- a/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml +++ b/indra/newview/skins/minimal/xui/da/panel_adhoc_control_panel.xml @@ -5,7 +5,7 @@ <button label="Opkald" name="call_btn"/> </layout_panel> <layout_panel name="end_call_btn_panel"> - <button label="Forlad opkald" name="end_call_btn"/> + <button label="Forlad samtale" name="end_call_btn"/> </layout_panel> <layout_panel name="voice_ctrls_btn_panel"> <button label="Stemmekontroller" name="voice_ctrls_btn"/> diff --git a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml index 53a30136ae..bd20ece764 100644 --- a/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/da/panel_bottomtray.xml @@ -4,26 +4,32 @@ <string name="SpeakBtnToolTip" value="Slå mikrofon til/fra"/> <string name="VoiceControlBtnToolTip" value="Vis/skjul stemme kontrolpanel"/> <layout_stack name="toolbar_stack"> + <layout_panel name="speak_panel"> + <button label="Tal" name="speak_btn" tool_tip="Tænd og sluk for mikrofon"/> + </layout_panel> + <layout_panel name="speak_flyout_panel"> + <button label="" name="flyout_btn" tool_tip="Ændring af opsætning for lyd"/> + </layout_panel> <layout_panel name="gesture_panel"> - <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Skjuler/viser bevægelser"/> + <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Lad din avatar gøre ting"/> </layout_panel> <layout_panel name="cam_panel"> - <bottomtray_button label="Vis" name="camera_btn" tool_tip="Vis/Skjul kamerakontroller"/> + <bottomtray_button label="Vis" name="camera_btn" tool_tip="Kontrollér kameravinkel"/> + </layout_panel> + <layout_panel name="destinations_panel"> + <bottomtray_button label="Destinationer" name="destination_btn" tool_tip="Rejs i Second Life"/> </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <radio_group name="avatar_and_destination_btns"> - <radio_item name="destination_btn" value="0"/> - <radio_item name="avatar_btn" value="1"/> - </radio_group> + <layout_panel name="avatar_panel"> + <bottomtray_button label="Min avatar" name="avatar_btn" tool_tip="Ændre dit udseende"/> </layout_panel> <layout_panel name="people_panel"> - <bottomtray_button label="Personer" name="show_people_button" tool_tip="Vis person-vindue"/> + <bottomtray_button label="Personer" name="show_people_button" tool_tip="Find personer i Second Life"/> </layout_panel> <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Vis profil vindue"/> + <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Se og rediger din profil"/> </layout_panel> <layout_panel name="howto_panel"> - <bottomtray_button label="Hvordan" name="show_help_btn" tool_tip="Åben Second Life "How To topics""/> + <bottomtray_button label="Hvordan" name="show_help_btn" tool_tip="Vis hjælpeinformation for Second Life"/> </layout_panel> <layout_panel name="im_well_panel"> <chiclet_im_well name="im_well"> diff --git a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml index 26fe4f6ebe..23a5e79e22 100644 --- a/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml +++ b/indra/newview/skins/minimal/xui/da/panel_group_control_panel.xml @@ -8,10 +8,10 @@ <button label="Opkald gruppe" name="call_btn"/> </layout_panel> <layout_panel name="end_call_btn_panel"> - <button label="Forlad opkald" name="end_call_btn"/> + <button label="Forlad samtale" name="end_call_btn"/> </layout_panel> <layout_panel name="voice_ctrls_btn_panel"> - <button label="Åben stemmekontroller" name="voice_ctrls_btn"/> + <button label="Åben stemme indstillinger" name="voice_ctrls_btn"/> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml index 5cecb93d40..b8a7ec0b34 100644 --- a/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml +++ b/indra/newview/skins/minimal/xui/da/panel_im_control_panel.xml @@ -20,7 +20,7 @@ <button label="Opkald" name="call_btn"/> </layout_panel> <layout_panel name="end_call_btn_panel"> - <button label="Afslut kald" name="end_call_btn"/> + <button label="Afslut samtale" name="end_call_btn"/> </layout_panel> <layout_panel name="voice_ctrls_btn_panel"> <button label="Stemme kontroller" name="voice_ctrls_btn"/> diff --git a/indra/newview/skins/minimal/xui/da/panel_login.xml b/indra/newview/skins/minimal/xui/da/panel_login.xml index fdcc550d82..2e0f726e1a 100644 --- a/indra/newview/skins/minimal/xui/da/panel_login.xml +++ b/indra/newview/skins/minimal/xui/da/panel_login.xml @@ -21,7 +21,7 @@ Tilstand: </text> <combo_box name="mode_combo" tool_tip="Vælg ønsket tilstand. Vælg basis for hurtig og nem udforskning og chat. Vælg avanceret for at få adgang til flere muligheder."> - <combo_box.item label="Basis (Standard)" name="Basic"/> + <combo_box.item label="Basis" name="Basic"/> <combo_box.item label="Avanceret" name="Advanced"/> </combo_box> <text name="start_location_text"> diff --git a/indra/newview/skins/minimal/xui/da/panel_people.xml b/indra/newview/skins/minimal/xui/da/panel_people.xml index a540025343..49cd2c71f2 100644 --- a/indra/newview/skins/minimal/xui/da/panel_people.xml +++ b/indra/newview/skins/minimal/xui/da/panel_people.xml @@ -70,7 +70,7 @@ Leder du efter personer at være sammen med? Prøv destinationsknappen nedenfor. <button label="IM" name="im_btn" tool_tip="Åben session med privat besked (IM)"/> </layout_panel> <layout_panel name="chat_btn_lp"> - <button label="Kald" name="call_btn" tool_tip="Opkald til denne beboer"/> + <button label="Opkald" name="call_btn" tool_tip="Kald til denne beboer"/> </layout_panel> <layout_panel name="chat_btn_lp"> <button label="Del" name="share_btn" tool_tip="Del en genstand fra beholdning"/> diff --git a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml index fbc119c483..72ba7fe41d 100644 --- a/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml +++ b/indra/newview/skins/minimal/xui/de/menu_inspect_avatar_gear.xml @@ -3,6 +3,7 @@ <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"/> + <menu_item_call label="Anrufen" name="call"/> <menu_item_call label="Teleportieren" name="teleport"/> <menu_item_call label="Ignorieren" name="block"/> <menu_item_call label="Freischalten" name="unblock"/> diff --git a/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml new file mode 100644 index 0000000000..cc45f42169 --- /dev/null +++ b/indra/newview/skins/minimal/xui/de/panel_adhoc_control_panel.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="panel_im_control_panel"> + <layout_stack name="vertical_stack"> + <layout_panel name="call_btn_panel"> + <button label="Anrufen" name="call_btn"/> + </layout_panel> + <layout_panel name="end_call_btn_panel"> + <button label="Anruf beenden" name="end_call_btn"/> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml b/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml index a4d80921ec..2278bfb699 100644 --- a/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml +++ b/indra/newview/skins/minimal/xui/de/panel_bottomtray.xml @@ -4,26 +4,32 @@ <string name="SpeakBtnToolTip" value="Schaltet Mikrofon ein/aus"/> <string name="VoiceControlBtnToolTip" value="Voice-Chat-Steuerung anzeigen/ausblenden"/> <layout_stack name="toolbar_stack"> + <layout_panel name="speak_panel"> + <button label="Sprechen" name="speak_btn" tool_tip="Mikrofon ein- und ausschalten"/> + </layout_panel> + <layout_panel name="speak_flyout_panel"> + <button label="" name="flyout_btn" tool_tip="Soundeinstellungen ändern"/> + </layout_panel> <layout_panel name="gesture_panel"> - <gesture_combo_list label="Gesten" name="Gesture" tool_tip="Gesten anzeigen/ausblenden"/> + <gesture_combo_list label="Gesten" name="Gesture" tool_tip="Ihren Avatar bestimmte Aktionen durchführen lassen"/> </layout_panel> <layout_panel name="cam_panel"> - <bottomtray_button label="Ansicht" name="camera_btn" tool_tip="Kamerasteuerung anzeigen/ausblenden"/> + <bottomtray_button label="Ansicht" name="camera_btn" tool_tip="Kamerawinkel steuern"/> </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Ziele" name="destination_btn" tool_tip="Zeigt Leutefenster an"/> + <layout_panel name="destinations_panel"> + <bottomtray_button label="Ziele" name="destination_btn" tool_tip="Durch Second Life reisen"/> </layout_panel> - <layout_panel name="avatar_and_destinations_panel"> - <bottomtray_button label="Mein Avatar" name="avatar_btn"/> + <layout_panel name="avatar_panel"> + <bottomtray_button label="Mein Avatar" name="avatar_btn" tool_tip="Eigenes Aussehen verändern"/> </layout_panel> <layout_panel name="people_panel"> - <bottomtray_button label="Leute" name="show_people_button" tool_tip="Zeigt Leutefenster an"/> + <bottomtray_button label="Leute" name="show_people_button" tool_tip="Personen in Second Life suchen"/> </layout_panel> <layout_panel name="profile_panel"> - <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Zeigt Profilfenster an"/> + <bottomtray_button label="Profil" name="show_profile_btn" tool_tip="Eigenes Profil anzeigen und bearbeiten"/> </layout_panel> <layout_panel name="howto_panel"> - <bottomtray_button label="Anweisungen" name="show_help_btn" tool_tip="Second Life-Anweisungsthemen öffnen"/> + <bottomtray_button label="Anweisungen" name="show_help_btn" tool_tip="Hilfeinfos zu Second Life anzeigen"/> </layout_panel> <layout_panel name="im_well_panel"> <chiclet_im_well name="im_well"> diff --git a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml b/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml index abf8011d9d..0ef2234fec 100644 --- a/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml +++ b/indra/newview/skins/minimal/xui/de/panel_im_control_panel.xml @@ -9,7 +9,7 @@ <button label="Freund hinzufügen" name="add_friend_btn"/> </layout_panel> <layout_panel name="teleport_btn_panel"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Dieser Person einen Teleport anbieten."/> + <button label="Teleportieren" name="teleport_btn" tool_tip="Dieser Person einen Teleport anbieten"/> </layout_panel> <layout_panel name="share_btn_panel"> <button label="Teilen" name="share_btn"/> diff --git a/indra/newview/skins/minimal/xui/de/panel_people.xml b/indra/newview/skins/minimal/xui/de/panel_people.xml index c6253e17de..4f8f70ad17 100644 --- a/indra/newview/skins/minimal/xui/de/panel_people.xml +++ b/indra/newview/skins/minimal/xui/de/panel_people.xml @@ -52,6 +52,9 @@ <button label="IM" name="im_btn" tool_tip="Instant Messenger öffnen"/> </layout_panel> <layout_panel name="chat_btn_lp"> + <button label="Anrufen" name="call_btn" tool_tip="Diesen Einwohner anrufen"/> + </layout_panel> + <layout_panel name="chat_btn_lp"> <button label="Teleportieren" name="teleport_btn" tool_tip="Teleport anbieten"/> </layout_panel> </layout_stack> |