diff options
Diffstat (limited to 'indra')
699 files changed, 7811 insertions, 13944 deletions
diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake index 92045f7b58..869d5805f2 100644 --- a/indra/cmake/LLCommon.cmake +++ b/indra/cmake/LLCommon.cmake @@ -4,6 +4,7 @@ include(APR) include(Boost) include(EXPAT) include(Tracy) +include(xxHash) include(ZLIBNG) include(JsonCpp) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 653db2069a..e6285ab48b 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -63,7 +63,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") -set(TEMPLATE_VERIFIER_MASTER_URL "https://bitbucket.org/lindenlab/master-message-template-git/raw/master/message_template.msg" CACHE STRING "Location of the master message template") +set(TEMPLATE_VERIFIER_MASTER_URL "https://github.com/secondlife/master-message-template/raw/master/message_template.msg" CACHE STRING "Location of the master message template") if (NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING @@ -191,9 +191,15 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # development must be done after the build as we do in viewer_manifest.py for # released builds # https://stackoverflow.com/a/54296008 + # With Xcode 14.1, apparently you must take drastic steps to prevent + # implicit signing. + set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED NO) + set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED NO) # "-" represents "Sign to Run Locally" and empty string represents "Do Not Sign" set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "") - + set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "") + set(CMAKE_XCODE_ATTRIBUTE_DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING YES) + set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION NO) set(CMAKE_OSX_ARCHITECTURES "${ARCH}") string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") string(REPLACE "AMD64" "x86_64" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") diff --git a/indra/cmake/xxHash.cmake b/indra/cmake/xxHash.cmake new file mode 100644 index 0000000000..a7c1cba62c --- /dev/null +++ b/indra/cmake/xxHash.cmake @@ -0,0 +1,8 @@ +# -*- cmake -*- +if (XXHASH_CMAKE_INCLUDED) + return() +endif (XXHASH_CMAKE_INCLUDED) +set (XXHASH_CMAKE_INCLUDED TRUE) + +include(Prebuilt) +use_prebuilt_binary(xxhash) diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index c1336fd612..7946a3e705 100644 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -214,12 +214,10 @@ void LLAvatarAppearance::initInstance() mRoot = createAvatarJoint(); mRoot->setName( "mRoot" ); - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator iter = sAvatarDictionary->getMeshEntries().begin(); - iter != sAvatarDictionary->getMeshEntries().end(); - ++iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; LLAvatarJoint* joint = createAvatarJoint(); joint->setName(mesh_dict->mName); joint->setMeshID(mesh_index); @@ -260,21 +258,16 @@ void LLAvatarAppearance::initInstance() //------------------------------------------------------------------------- // associate baked textures with meshes //------------------------------------------------------------------------- - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator iter = sAvatarDictionary->getMeshEntries().begin(); - iter != sAvatarDictionary->getMeshEntries().end(); - ++iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; const EBakedTextureIndex baked_texture_index = mesh_dict->mBakedID; // Skip it if there's no associated baked texture. if (baked_texture_index == BAKED_NUM_INDICES) continue; - for (avatar_joint_mesh_list_t::iterator iter = mMeshLOD[mesh_index]->mMeshParts.begin(); - iter != mMeshLOD[mesh_index]->mMeshParts.end(); - ++iter) + for (LLAvatarJointMesh* mesh : mMeshLOD[mesh_index]->mMeshParts) { - LLAvatarJointMesh* mesh = (*iter); mBakedTextureDatas[(S32)baked_texture_index].mJointMeshes.push_back(mesh); } } @@ -297,10 +290,8 @@ LLAvatarAppearance::~LLAvatarAppearance() delete_and_clear(mBakedTextureDatas[i].mTexLayerSet); mBakedTextureDatas[i].mJointMeshes.clear(); - for (morph_list_t::iterator iter2 = mBakedTextureDatas[i].mMaskedMorphs.begin(); - iter2 != mBakedTextureDatas[i].mMaskedMorphs.end(); iter2++) + for (LLMaskedMorph* masked_morph : mBakedTextureDatas[i].mMaskedMorphs) { - LLMaskedMorph* masked_morph = (*iter2); delete masked_morph; } } @@ -319,11 +310,8 @@ LLAvatarAppearance::~LLAvatarAppearance() std::for_each(mPolyMeshes.begin(), mPolyMeshes.end(), DeletePairedPointer()); mPolyMeshes.clear(); - for (avatar_joint_list_t::iterator jointIter = mMeshLOD.begin(); - jointIter != mMeshLOD.end(); - ++jointIter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint* joint = *jointIter; std::for_each(joint->mMeshParts.begin(), joint->mMeshParts.end(), DeletePointer()); joint->mMeshParts.clear(); } @@ -477,10 +465,9 @@ void LLAvatarAppearance::compareJointStateMaps(joint_state_map_t& last_state, if (!last_state.empty() && (last_state != curr_state)) { S32 diff_count = 0; - joint_state_map_t::iterator it; - for (it=last_state.begin(); it != last_state.end(); ++it) + for (joint_state_map_t::value_type& pair : last_state) { - const std::string& key = it->first; + const std::string& key = pair.first; if (last_state[key] != curr_state[key]) { LL_DEBUGS("AvatarBodySize") << "BodySize change " << key << " " << last_state[key] << "->" << curr_state[key] << LL_ENDL; @@ -690,10 +677,8 @@ BOOL LLAvatarAppearance::setupBone(const LLAvatarBoneInfo* info, LLJoint* parent // setup children - LLAvatarBoneInfo::bones_t::const_iterator iter; - for (iter = info->mChildren.begin(); iter != info->mChildren.end(); ++iter) + for (LLAvatarBoneInfo* child_info : info->mChildren) { - LLAvatarBoneInfo *child_info = *iter; if (!setupBone(child_info, joint, volume_num, joint_num)) { return FALSE; @@ -745,10 +730,8 @@ BOOL LLAvatarAppearance::buildSkeleton(const LLAvatarSkeletonInfo *info) S32 current_joint_num = 0; S32 current_volume_num = 0; - LLAvatarSkeletonInfo::bone_info_list_t::const_iterator iter; - for (iter = info->mBoneInfoList.begin(); iter != info->mBoneInfoList.end(); ++iter) + for (LLAvatarBoneInfo* bone_info : info->mBoneInfoList) { - LLAvatarBoneInfo *bone_info = *iter; if (!setupBone(bone_info, NULL, current_volume_num, current_joint_num)) { LL_ERRS() << "Error parsing bone in skeleton file" << LL_ENDL; @@ -826,14 +809,10 @@ void LLAvatarAppearance::buildCharacter() //------------------------------------------------------------------------- // clear mesh data //------------------------------------------------------------------------- - for (avatar_joint_list_t::iterator jointIter = mMeshLOD.begin(); - jointIter != mMeshLOD.end(); ++jointIter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint* joint = *jointIter; - for (avatar_joint_mesh_list_t::iterator meshIter = joint->mMeshParts.begin(); - meshIter != joint->mMeshParts.end(); ++meshIter) + for (LLAvatarJointMesh* mesh : joint->mMeshParts) { - LLAvatarJointMesh * mesh = *meshIter; mesh->setMesh(NULL); } } @@ -1007,12 +986,8 @@ BOOL LLAvatarAppearance::loadAvatar() } // avatar_lad.xml : <morph_masks> - for (LLAvatarXmlInfo::morph_info_list_t::iterator iter = sAvatarXmlInfo->mMorphMaskInfoList.begin(); - iter != sAvatarXmlInfo->mMorphMaskInfoList.end(); - ++iter) + for (LLAvatarXmlInfo::LLAvatarMorphInfo* info : sAvatarXmlInfo->mMorphMaskInfoList) { - LLAvatarXmlInfo::LLAvatarMorphInfo *info = *iter; - EBakedTextureIndex baked = sAvatarDictionary->findBakedByRegionName(info->mRegion); if (baked != BAKED_NUM_INDICES) { @@ -1031,11 +1006,8 @@ BOOL LLAvatarAppearance::loadAvatar() loadLayersets(); // avatar_lad.xml : <driver_parameters> - for (LLAvatarXmlInfo::driver_info_list_t::iterator iter = sAvatarXmlInfo->mDriverInfoList.begin(); - iter != sAvatarXmlInfo->mDriverInfoList.end(); - ++iter) + for (LLDriverParamInfo* info : sAvatarXmlInfo->mDriverInfoList) { - LLDriverParamInfo *info = *iter; LLDriverParam* driver_param = new LLDriverParam( this ); if (driver_param->setInfo(info)) { @@ -1067,11 +1039,8 @@ BOOL LLAvatarAppearance::loadSkeletonNode () mRoot->addChild( mSkeleton[0] ); // make meshes children before calling parent version of the function - for (avatar_joint_list_t::iterator iter = mMeshLOD.begin(); - iter != mMeshLOD.end(); - ++iter) + for (LLAvatarJoint* joint : mMeshLOD) { - LLAvatarJoint *joint = *iter; joint->mUpdateXform = FALSE; joint->setMeshesToChildren(); } @@ -1103,12 +1072,9 @@ BOOL LLAvatarAppearance::loadSkeletonNode () // SKELETAL DISTORTIONS { - LLAvatarXmlInfo::skeletal_distortion_info_list_t::iterator iter; - for (iter = sAvatarXmlInfo->mSkeletalDistortionInfoList.begin(); - iter != sAvatarXmlInfo->mSkeletalDistortionInfoList.end(); - ++iter) + for (LLViewerVisualParamInfo* visual_param_info : sAvatarXmlInfo->mSkeletalDistortionInfoList) { - LLPolySkeletalDistortionInfo *info = (LLPolySkeletalDistortionInfo*)*iter; + LLPolySkeletalDistortionInfo *info = (LLPolySkeletalDistortionInfo*)visual_param_info; LLPolySkeletalDistortion *param = new LLPolySkeletalDistortion(this); if (!param->setInfo(info)) { @@ -1132,11 +1098,8 @@ BOOL LLAvatarAppearance::loadSkeletonNode () //----------------------------------------------------------------------------- BOOL LLAvatarAppearance::loadMeshNodes() { - for (LLAvatarXmlInfo::mesh_info_list_t::const_iterator meshinfo_iter = sAvatarXmlInfo->mMeshInfoList.begin(); - meshinfo_iter != sAvatarXmlInfo->mMeshInfoList.end(); - ++meshinfo_iter) + for (const LLAvatarXmlInfo::LLAvatarMeshInfo* info : sAvatarXmlInfo->mMeshInfoList) { - const LLAvatarXmlInfo::LLAvatarMeshInfo *info = *meshinfo_iter; const std::string &type = info->mType; S32 lod = info->mLOD; @@ -1148,12 +1111,10 @@ BOOL LLAvatarAppearance::loadMeshNodes() switch(lod) case 0: mesh = &mHairMesh0; */ - for (LLAvatarAppearanceDictionary::MeshEntries::const_iterator mesh_iter = sAvatarDictionary->getMeshEntries().begin(); - mesh_iter != sAvatarDictionary->getMeshEntries().end(); - ++mesh_iter) + for (const LLAvatarAppearanceDictionary::MeshEntries::value_type& mesh_pair : sAvatarDictionary->getMeshEntries()) { - const EMeshIndex mesh_index = mesh_iter->first; - const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_iter->second; + const EMeshIndex mesh_index = mesh_pair.first; + const LLAvatarAppearanceDictionary::MeshEntry *mesh_dict = mesh_pair.second; if (type.compare(mesh_dict->mName) == 0) { mesh_id = mesh_index; @@ -1221,20 +1182,17 @@ BOOL LLAvatarAppearance::loadMeshNodes() mesh->setMesh( poly_mesh ); mesh->setLOD( info->mMinPixelArea ); - for (LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_list_t::const_iterator xmlinfo_iter = info->mPolyMorphTargetInfoList.begin(); - xmlinfo_iter != info->mPolyMorphTargetInfoList.end(); - ++xmlinfo_iter) + for (const LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_pair_t& info_pair : info->mPolyMorphTargetInfoList) { - const LLAvatarXmlInfo::LLAvatarMeshInfo::morph_info_pair_t *info_pair = &(*xmlinfo_iter); LLPolyMorphTarget *param = new LLPolyMorphTarget(mesh->getMesh()); - if (!param->setInfo((LLPolyMorphTargetInfo*)info_pair->first)) + if (!param->setInfo((LLPolyMorphTargetInfo*)info_pair.first)) { delete param; return FALSE; } else { - if (info_pair->second) + if (info_pair.second) { addSharedVisualParam(param); param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER); @@ -1257,11 +1215,8 @@ BOOL LLAvatarAppearance::loadMeshNodes() BOOL LLAvatarAppearance::loadLayersets() { BOOL success = TRUE; - for (LLAvatarXmlInfo::layer_info_list_t::const_iterator layerset_iter = sAvatarXmlInfo->mLayerInfoList.begin(); - layerset_iter != sAvatarXmlInfo->mLayerInfoList.end(); - ++layerset_iter) + for (LLTexLayerSetInfo* layerset_info : sAvatarXmlInfo->mLayerInfoList) { - LLTexLayerSetInfo *layerset_info = *layerset_iter; if (isSelf()) { // Construct a layerset for each one specified in avatar_lad.xml and initialize it as such. @@ -1277,14 +1232,12 @@ BOOL LLAvatarAppearance::loadLayersets() // scan baked textures and associate the layerset with the appropriate one EBakedTextureIndex baked_index = BAKED_NUM_INDICES; - for (LLAvatarAppearanceDictionary::BakedTextures::const_iterator baked_iter = sAvatarDictionary->getBakedTextures().begin(); - baked_iter != sAvatarDictionary->getBakedTextures().end(); - ++baked_iter) + for (const LLAvatarAppearanceDictionary::BakedTextures::value_type& baked_pair : sAvatarDictionary->getBakedTextures()) { - const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = baked_iter->second; + const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = baked_pair.second; if (layer_set->isBodyRegion(baked_dict->mName)) { - baked_index = baked_iter->first; + baked_index = baked_pair.first; // ensure both structures are aware of each other mBakedTextureDatas[baked_index].mTexLayerSet = layer_set; layer_set->setBakedTexIndex(baked_index); @@ -1300,11 +1253,8 @@ BOOL LLAvatarAppearance::loadLayersets() } // scan morph masks and let any affected layers know they have an associated morph - for (LLAvatarAppearance::morph_list_t::const_iterator morph_iter = mBakedTextureDatas[baked_index].mMaskedMorphs.begin(); - morph_iter != mBakedTextureDatas[baked_index].mMaskedMorphs.end(); - ++morph_iter) + for (LLMaskedMorph* morph : mBakedTextureDatas[baked_index].mMaskedMorphs) { - LLMaskedMorph *morph = *morph_iter; LLTexLayerInterface* layer = layer_set->findLayerByName(morph->mLayer); if (layer) { @@ -1320,7 +1270,6 @@ BOOL LLAvatarAppearance::loadLayersets() else // !isSelf() { // Construct a layerset for each one specified in avatar_lad.xml and initialize it as such. - LLTexLayerSetInfo *layerset_info = *layerset_iter; layerset_info->createVisualParams(this); } } @@ -1747,13 +1696,13 @@ void LLAvatarAppearance::makeJointAliases(LLAvatarBoneInfo *bone_info) boost::char_separator<char> sep(" "); boost::tokenizer<boost::char_separator<char> > tok(aliases, sep); - for(boost::tokenizer<boost::char_separator<char> >::iterator i = tok.begin(); i != tok.end(); ++i) + for(const std::string& i : tok) { - if ( mJointAliasMap.find(*i) != mJointAliasMap.end() ) + if ( mJointAliasMap.find(i) != mJointAliasMap.end() ) { - LL_WARNS() << "avatar skeleton: Joint alias \"" << *i << "\" remapped from " << mJointAliasMap[*i] << " to " << bone_name << LL_ENDL; + LL_WARNS() << "avatar skeleton: Joint alias \"" << i << "\" remapped from " << mJointAliasMap[i] << " to " << bone_name << LL_ENDL; } - mJointAliasMap[*i] = bone_name; + mJointAliasMap[i] = bone_name; } for (LLAvatarBoneInfo* bone : bone_info->mChildren) @@ -1768,21 +1717,14 @@ const LLAvatarAppearance::joint_alias_map_t& LLAvatarAppearance::getJointAliases if (mJointAliasMap.empty()) { - LLAvatarSkeletonInfo::bone_info_list_t::const_iterator iter; - for (iter = sAvatarSkeletonInfo->mBoneInfoList.begin(); - iter != sAvatarSkeletonInfo->mBoneInfoList.end(); - ++iter) + for (LLAvatarBoneInfo* bone_info : sAvatarSkeletonInfo->mBoneInfoList) { //LLAvatarBoneInfo *bone_info = *iter; - makeJointAliases( *iter ); + makeJointAliases(bone_info); } - LLAvatarXmlInfo::attachment_info_list_t::iterator attach_iter; - for (attach_iter = sAvatarXmlInfo->mAttachmentInfoList.begin(); - attach_iter != sAvatarXmlInfo->mAttachmentInfoList.end(); - ++attach_iter) + for (LLAvatarXmlInfo::LLAvatarAttachmentInfo* info : sAvatarXmlInfo->mAttachmentInfoList) { - LLAvatarXmlInfo::LLAvatarAttachmentInfo *info = *attach_iter; std::string bone_name = info->mName; // Also accept the name with spaces substituted with diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h index b1c70f9064..e3444efcf6 100644 --- a/indra/llappearance/llavatarappearance.h +++ b/indra/llappearance/llavatarappearance.h @@ -387,10 +387,9 @@ protected: LLAvatarMeshInfo() : mLOD(0), mMinPixelArea(.1f) {} ~LLAvatarMeshInfo() { - morph_info_list_t::iterator iter; - for (iter = mPolyMorphTargetInfoList.begin(); iter != mPolyMorphTargetInfoList.end(); iter++) + for (morph_info_list_t::value_type& pair : mPolyMorphTargetInfoList) { - delete iter->first; + delete pair.first; } mPolyMorphTargetInfoList.clear(); } diff --git a/indra/llappearance/llavatarappearancedefines.cpp b/indra/llappearance/llavatarappearancedefines.cpp index 2bcfd06c40..8759c387e8 100644 --- a/indra/llappearance/llavatarappearancedefines.cpp +++ b/indra/llappearance/llavatarappearancedefines.cpp @@ -183,18 +183,15 @@ LLAvatarAppearanceDictionary::~LLAvatarAppearanceDictionary() // map it to the baked texture. void LLAvatarAppearanceDictionary::createAssociations() { - for (BakedTextures::const_iterator iter = mBakedTextures.begin(); iter != mBakedTextures.end(); iter++) + for (BakedTextures::value_type& baked_pair : mBakedTextures) { - const EBakedTextureIndex baked_index = (iter->first); - const BakedEntry *dict = (iter->second); + const EBakedTextureIndex baked_index = baked_pair.first; + const BakedEntry *dict = baked_pair.second; // For each texture that this baked texture index affects, associate those textures // with this baked texture index. - for (texture_vec_t::const_iterator local_texture_iter = dict->mLocalTextures.begin(); - local_texture_iter != dict->mLocalTextures.end(); - local_texture_iter++) + for (const ETextureIndex local_texture_index : dict->mLocalTextures) { - const ETextureIndex local_texture_index = (ETextureIndex) *local_texture_iter; mTextures[local_texture_index]->mIsUsedByBakedTexture = true; mTextures[local_texture_index]->mBakedTextureIndex = baked_index; } diff --git a/indra/llappearance/llavatarjoint.cpp b/indra/llappearance/llavatarjoint.cpp index a1d4fe6423..9300b08b7b 100644 --- a/indra/llappearance/llavatarjoint.cpp +++ b/indra/llappearance/llavatarjoint.cpp @@ -100,10 +100,9 @@ void LLAvatarJoint::setValid( BOOL valid, BOOL recursive ) //---------------------------------------------------------------- if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setValid(valid, TRUE); } } @@ -118,10 +117,9 @@ void LLAvatarJoint::setSkeletonComponents( U32 comp, BOOL recursive ) mComponents = comp; if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (auto child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setSkeletonComponents(comp, recursive); } } @@ -133,10 +131,9 @@ void LLAvatarJoint::setVisible(BOOL visible, BOOL recursive) if (recursive) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->setVisible(visible, recursive); } } @@ -144,30 +141,27 @@ void LLAvatarJoint::setVisible(BOOL visible, BOOL recursive) void LLAvatarJoint::updateFaceSizes(U32 &num_vertices, U32& num_indices, F32 pixel_area) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateFaceSizes(num_vertices, num_indices, pixel_area); } } void LLAvatarJoint::updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_wind, bool terse_update) { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateFaceData(face, pixel_area, damp_wind, terse_update); } } void LLAvatarJoint::updateJointGeometry() { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->updateJointGeometry(); } } @@ -178,10 +172,9 @@ BOOL LLAvatarJoint::updateLOD(F32 pixel_area, BOOL activate) BOOL lod_changed = FALSE; BOOL found_lod = FALSE; - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); F32 jointLOD = joint->getLOD(); if (found_lod || jointLOD == DEFAULT_AVATAR_JOINT_LOD) @@ -207,10 +200,9 @@ BOOL LLAvatarJoint::updateLOD(F32 pixel_area, BOOL activate) void LLAvatarJoint::dump() { - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* child : mChildren) { - LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(*iter); + LLAvatarJoint* joint = static_cast<LLAvatarJoint*>(child); joint->dump(); } } @@ -219,10 +211,9 @@ void LLAvatarJoint::dump() void LLAvatarJoint::setMeshesToChildren() { removeAllChildren(); - for (avatar_joint_mesh_list_t::iterator iter = mMeshParts.begin(); - iter != mMeshParts.end(); iter++) + for (LLAvatarJointMesh* mesh : mMeshParts) { - addChild((*iter)); + addChild(mesh); } } //----------------------------------------------------------------------------- diff --git a/indra/llappearance/llavatarjointmesh.cpp b/indra/llappearance/llavatarjointmesh.cpp index 0a23b1fda3..ed39f78d28 100644 --- a/indra/llappearance/llavatarjointmesh.cpp +++ b/indra/llappearance/llavatarjointmesh.cpp @@ -379,10 +379,9 @@ void LLAvatarJointMesh::setupJoint(LLAvatarJoint* current_joint) } // depth-first traversal - for (LLJoint::joints_t::iterator iter = current_joint->mChildren.begin(); - iter != current_joint->mChildren.end(); ++iter) + for (LLJoint* joint : current_joint->mChildren) { - LLAvatarJoint* child_joint = (LLAvatarJoint*)(*iter); + LLAvatarJoint* child_joint = (LLAvatarJoint*)joint; setupJoint(child_joint); } } diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp index 05d26fbe7a..f46d0324a5 100644 --- a/indra/llappearance/lldriverparam.cpp +++ b/indra/llappearance/lldriverparam.cpp @@ -102,9 +102,8 @@ void LLDriverParamInfo::toStream(std::ostream &out) LLViewerVisualParamInfo::toStream(out); out << "driver" << "\t"; out << mDrivenInfoList.size() << "\t"; - for (entry_info_list_t::iterator iter = mDrivenInfoList.begin(); iter != mDrivenInfoList.end(); iter++) + for (LLDrivenEntryInfo& driven : mDrivenInfoList) { - LLDrivenEntryInfo driven = *iter; out << driven.mDrivenID << "\t"; } @@ -121,9 +120,8 @@ void LLDriverParamInfo::toStream(std::ostream &out) if(mDriverParam && mDriverParam->getAvatarAppearance()->isSelf() && mDriverParam->getAvatarAppearance()->isValid()) { - for (entry_info_list_t::iterator iter = mDrivenInfoList.begin(); iter != mDrivenInfoList.end(); iter++) + for (LLDrivenEntryInfo& driven : mDrivenInfoList) { - LLDrivenEntryInfo driven = *iter; LLViewerVisualParam *param = (LLViewerVisualParam*)mDriverParam->getAvatarAppearance()->getVisualParam(driven.mDrivenID); if (param) @@ -232,19 +230,19 @@ void LLDriverParam::setWeight(F32 weight) //-------|----|-------|----|-------> driver // | min1 max1 max2 min2 - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - LLDrivenEntryInfo* info = driven->mInfo; + LLDrivenEntry* drivenp = &driven; + LLDrivenEntryInfo* info = drivenp->mInfo; F32 driven_weight = 0.f; - F32 driven_min = driven->mParam->getMinWeight(); - F32 driven_max = driven->mParam->getMaxWeight(); + F32 driven_min = drivenp->mParam->getMinWeight(); + F32 driven_max = drivenp->mParam->getMaxWeight(); if (mIsAnimating) { // driven param doesn't interpolate (textures, for example) - if (!driven->mParam->getAnimating()) + if (!drivenp->mParam->getAnimating()) { continue; } @@ -268,7 +266,7 @@ void LLDriverParam::setWeight(F32 weight) driven_weight = driven_min; } - setDrivenWeight(driven,driven_weight); + setDrivenWeight(drivenp,driven_weight); continue; } else @@ -292,23 +290,22 @@ void LLDriverParam::setWeight(F32 weight) driven_weight = driven_min; } - setDrivenWeight(driven,driven_weight); + setDrivenWeight(drivenp,driven_weight); continue; } } - driven_weight = getDrivenWeight(driven, mCurWeight); - setDrivenWeight(driven,driven_weight); + driven_weight = getDrivenWeight(drivenp, mCurWeight); + setDrivenWeight(drivenp,driven_weight); } } F32 LLDriverParam::getTotalDistortion() { F32 sum = 0.f; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum += driven->mParam->getTotalDistortion(); + sum += driven.mParam->getTotalDistortion(); } return sum; @@ -320,10 +317,9 @@ const LLVector4a &LLDriverParam::getAvgDistortion() LLVector4a sum; sum.clear(); S32 count = 0; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum.add(driven->mParam->getAvgDistortion()); + sum.add(driven.mParam->getAvgDistortion()); count++; } sum.mul( 1.f/(F32)count); @@ -335,10 +331,9 @@ const LLVector4a &LLDriverParam::getAvgDistortion() F32 LLDriverParam::getMaxDistortion() { F32 max = 0.f; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - F32 param_max = driven->mParam->getMaxDistortion(); + F32 param_max = driven.mParam->getMaxDistortion(); if( param_max > max ) { max = param_max; @@ -353,10 +348,9 @@ LLVector4a LLDriverParam::getVertexDistortion(S32 index, LLPolyMesh *poly_mesh) { LLVector4a sum; sum.clear(); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - sum.add(driven->mParam->getVertexDistortion( index, poly_mesh )); + sum.add(driven.mParam->getVertexDistortion(index, poly_mesh)); } return sum; } @@ -365,13 +359,12 @@ const LLVector4a* LLDriverParam::getFirstDistortion(U32 *index, LLPolyMesh **pol { mCurrentDistortionParam = NULL; const LLVector4a* v = NULL; - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - v = driven->mParam->getFirstDistortion( index, poly_mesh ); + v = driven.mParam->getFirstDistortion(index, poly_mesh); if( v ) { - mCurrentDistortionParam = driven->mParam; + mCurrentDistortionParam = driven.mParam; break; } } @@ -415,7 +408,7 @@ const LLVector4a* LLDriverParam::getNextDistortion(U32 *index, LLPolyMesh **poly for( iter++; iter != mDriven.end(); iter++ ) { driven = &(*iter); - v = driven->mParam->getFirstDistortion( index, poly_mesh ); + v = driven->mParam->getFirstDistortion(index, poly_mesh); if( v ) { mCurrentDistortionParam = driven->mParam; @@ -448,14 +441,14 @@ void LLDriverParam::setAnimationTarget( F32 target_value) { LLVisualParam::setAnimationTarget(target_value); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - F32 driven_weight = getDrivenWeight(driven, mTargetWeight); + LLDrivenEntry* drivenp = &driven; + F32 driven_weight = getDrivenWeight(drivenp, mTargetWeight); // this isn't normally necessary, as driver params handle interpolation of their driven params // but texture params need to know to assume their final value at beginning of interpolation - driven->mParam->setAnimationTarget(driven_weight); + drivenp->mParam->setAnimationTarget(driven_weight); } } @@ -466,10 +459,9 @@ void LLDriverParam::stopAnimating() { LLVisualParam::stopAnimating(); - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - driven->mParam->setAnimating(FALSE); + driven.mParam->setAnimating(FALSE); } } @@ -477,17 +469,15 @@ void LLDriverParam::stopAnimating() BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params) { BOOL success = TRUE; - LLDriverParamInfo::entry_info_list_t::iterator iter; - for (iter = getInfo()->mDrivenInfoList.begin(); iter != getInfo()->mDrivenInfoList.end(); ++iter) + for (LLDrivenEntryInfo& driven_info : getInfo()->mDrivenInfoList) { - LLDrivenEntryInfo *driven_info = &(*iter); - S32 driven_id = driven_info->mDrivenID; + S32 driven_id = driven_info.mDrivenID; // check for already existing links. Do not overwrite. BOOL found = FALSE; - for (entry_list_t::iterator driven_iter = mDriven.begin(); driven_iter != mDriven.end() && !found; ++driven_iter) + for (auto& driven : mDriven) { - if (driven_iter->mInfo->mDrivenID == driven_id) + if (driven.mInfo->mDrivenID == driven_id) { found = TRUE; } @@ -500,7 +490,7 @@ BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross bool push = param && (!only_cross_params || param->getCrossWearable()); if (push) { - mDriven.push_back(LLDrivenEntry( param, driven_info )); + mDriven.push_back(LLDrivenEntry( param, &driven_info )); } else { @@ -523,10 +513,9 @@ void LLDriverParam::updateCrossDrivenParams(LLWearableType::EType driven_type) bool needs_update = (getWearableType()==driven_type); // if the driver has a driven entry for the passed-in wearable type, we need to refresh the value - for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ ) + for(LLDrivenEntry& driven : mDriven) { - LLDrivenEntry* driven = &(*iter); - if (driven && driven->mParam && driven->mParam->getCrossWearable() && driven->mParam->getWearableType() == driven_type) + if (driven.mParam && driven.mParam->getCrossWearable() && driven.mParam->getWearableType() == driven_type) { needs_update = true; } diff --git a/indra/llappearance/lllocaltextureobject.cpp b/indra/llappearance/lllocaltextureobject.cpp index 0481326e9e..ab50db3a5a 100644 --- a/indra/llappearance/lllocaltextureobject.cpp +++ b/indra/llappearance/lllocaltextureobject.cpp @@ -96,9 +96,8 @@ LLTexLayer* LLLocalTextureObject::getTexLayer(U32 index) const LLTexLayer* LLLocalTextureObject::getTexLayer(const std::string &name) { - for( tex_layer_vec_t::iterator iter = mTexLayers.begin(); iter != mTexLayers.end(); iter++) + for(LLTexLayer* layer : mTexLayers) { - LLTexLayer *layer = *iter; if (layer->getName().compare(name) == 0) { return layer; diff --git a/indra/llappearance/llpolymesh.cpp b/indra/llappearance/llpolymesh.cpp index 3892e4ce43..dab14851c8 100644 --- a/indra/llappearance/llpolymesh.cpp +++ b/indra/llappearance/llpolymesh.cpp @@ -890,11 +890,10 @@ void LLPolyMesh::dumpDiagInfo() LL_INFOS() << "-----------------------------------------------------" << LL_ENDL; // print each loaded mesh, and it's memory usage - for(LLPolyMeshSharedDataTable::iterator iter = sGlobalSharedMeshList.begin(); - iter != sGlobalSharedMeshList.end(); ++iter) + for(const LLPolyMeshSharedDataTable::value_type& mesh_pair : sGlobalSharedMeshList) { - const std::string& mesh_name = iter->first; - LLPolyMeshSharedData* mesh = iter->second; + const std::string& mesh_name = mesh_pair.first; + LLPolyMeshSharedData* mesh = mesh_pair.second; S32 num_verts = mesh->mNumVertices; S32 num_faces = mesh->mNumFaces; @@ -997,14 +996,12 @@ LLPolyMorphData* LLPolyMesh::getMorphData(const std::string& morph_name) { if (!mSharedData) return NULL; - for (LLPolyMeshSharedData::morphdata_list_t::iterator iter = mSharedData->mMorphData.begin(); - iter != mSharedData->mMorphData.end(); ++iter) + for (LLPolyMorphData* morph_data : mSharedData->mMorphData) { - LLPolyMorphData *morph_data = *iter; - if (morph_data->getName() == morph_name) - { - return morph_data; - } + if (morph_data->getName() == morph_name) + { + return morph_data; + } } return NULL; } diff --git a/indra/llappearance/llpolymorph.cpp b/indra/llappearance/llpolymorph.cpp index 84dd6156a9..965b999bd4 100644 --- a/indra/llappearance/llpolymorph.cpp +++ b/indra/llappearance/llpolymorph.cpp @@ -363,18 +363,16 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info) setWeight(getDefaultWeight()); LLAvatarAppearance* avatarp = mMesh->getAvatar(); - LLPolyMorphTargetInfo::volume_info_list_t::iterator iter; - for (iter = getInfo()->mVolumeInfoList.begin(); iter != getInfo()->mVolumeInfoList.end(); iter++) + for (LLPolyVolumeMorphInfo& volume_info : getInfo()->mVolumeInfoList) { - LLPolyVolumeMorphInfo *volume_info = &(*iter); for (S32 i = 0; i < avatarp->mNumCollisionVolumes; i++) { - if (avatarp->mCollisionVolumes[i].getName() == volume_info->mName) + if (avatarp->mCollisionVolumes[i].getName() == volume_info.mName) { mVolumeMorphs.push_back( LLPolyVolumeMorph(&avatarp->mCollisionVolumes[i], - volume_info->mScale, - volume_info->mPos)); + volume_info.mScale, + volume_info.mPos)); break; } } @@ -641,15 +639,14 @@ void LLPolyMorphTarget::apply( ESex avatar_sex ) } // now apply volume changes - for( volume_list_t::iterator iter = mVolumeMorphs.begin(); iter != mVolumeMorphs.end(); iter++ ) + for(LLPolyVolumeMorph& volume_morph : mVolumeMorphs) { - LLPolyVolumeMorph* volume_morph = &(*iter); - LLVector3 scale_delta = volume_morph->mScale * delta_weight; - LLVector3 pos_delta = volume_morph->mPos * delta_weight; + LLVector3 scale_delta = volume_morph.mScale * delta_weight; + LLVector3 pos_delta = volume_morph.mPos * delta_weight; - volume_morph->mVolume->setScale(volume_morph->mVolume->getScale() + scale_delta); + volume_morph.mVolume->setScale(volume_morph.mVolume->getScale() + scale_delta); // SL-315 - volume_morph->mVolume->setPosition(volume_morph->mVolume->getPosition() + pos_delta); + volume_morph.mVolume->setPosition(volume_morph.mVolume->getPosition() + pos_delta); } } @@ -735,15 +732,14 @@ void LLPolyMorphTarget::applyMask(U8 *maskTextureData, S32 width, S32 height, S3 void LLPolyMorphTarget::applyVolumeChanges(F32 delta_weight) { // now apply volume changes - for( volume_list_t::iterator iter = mVolumeMorphs.begin(); iter != mVolumeMorphs.end(); iter++ ) + for(LLPolyVolumeMorph& volume_morph : mVolumeMorphs) { - LLPolyVolumeMorph* volume_morph = &(*iter); - LLVector3 scale_delta = volume_morph->mScale * delta_weight; - LLVector3 pos_delta = volume_morph->mPos * delta_weight; + LLVector3 scale_delta = volume_morph.mScale * delta_weight; + LLVector3 pos_delta = volume_morph.mPos * delta_weight; - volume_morph->mVolume->setScale(volume_morph->mVolume->getScale() + scale_delta); + volume_morph.mVolume->setScale(volume_morph.mVolume->getScale() + scale_delta); // SL-315 - volume_morph->mVolume->setPosition(volume_morph->mVolume->getPosition() + pos_delta); + volume_morph.mVolume->setPosition(volume_morph.mVolume->getPosition() + pos_delta); } } diff --git a/indra/llappearance/llpolyskeletaldistortion.cpp b/indra/llappearance/llpolyskeletaldistortion.cpp index 360f17508f..586e631ded 100644 --- a/indra/llappearance/llpolyskeletaldistortion.cpp +++ b/indra/llappearance/llpolyskeletaldistortion.cpp @@ -143,38 +143,35 @@ BOOL LLPolySkeletalDistortion::setInfo(LLPolySkeletalDistortionInfo *info) mID = info->mID; setWeight(getDefaultWeight()); - LLPolySkeletalDistortionInfo::bone_info_list_t::iterator iter; - for (iter = getInfo()->mBoneInfoList.begin(); iter != getInfo()->mBoneInfoList.end(); iter++) + for (LLPolySkeletalBoneInfo& bone_info : getInfo()->mBoneInfoList) { - LLPolySkeletalBoneInfo *bone_info = &(*iter); - LLJoint* joint = mAvatar->getJoint(bone_info->mBoneName); + LLJoint* joint = mAvatar->getJoint(bone_info.mBoneName); if (!joint) { // There's no point continuing after this error - means // that either the skeleton or lad file is broken. - LL_WARNS() << "Joint " << bone_info->mBoneName << " not found." << LL_ENDL; + LL_WARNS() << "Joint " << bone_info.mBoneName << " not found." << LL_ENDL; return FALSE; } // store it - mJointScales[joint] = bone_info->mScaleDeformation; + mJointScales[joint] = bone_info.mScaleDeformation; // apply to children that need to inherit it - for (LLJoint::joints_t::iterator iter = joint->mChildren.begin(); - iter != joint->mChildren.end(); ++iter) + for (LLJoint* joint : joint->mChildren) { - LLAvatarJoint* child_joint = (LLAvatarJoint*)(*iter); + LLAvatarJoint* child_joint = (LLAvatarJoint*)joint; if (child_joint->inheritScale()) { LLVector3 childDeformation = LLVector3(child_joint->getScale()); - childDeformation.scaleVec(bone_info->mScaleDeformation); + childDeformation.scaleVec(bone_info.mScaleDeformation); mJointScales[child_joint] = childDeformation; } } - if (bone_info->mHasPositionDeformation) + if (bone_info.mHasPositionDeformation) { - mJointOffsets[joint] = bone_info->mPositionDeformation; + mJointOffsets[joint] = bone_info.mPositionDeformation; } } return TRUE; @@ -195,15 +192,12 @@ void LLPolySkeletalDistortion::apply( ESex avatar_sex ) F32 effective_weight = ( getSex() & avatar_sex ) ? mCurWeight : getDefaultWeight(); LLJoint* joint; - joint_vec_map_t::iterator iter; - for (iter = mJointScales.begin(); - iter != mJointScales.end(); - iter++) + for (joint_vec_map_t::value_type& scale_pair : mJointScales) { - joint = iter->first; + joint = scale_pair.first; LLVector3 newScale = joint->getScale(); - LLVector3 scaleDelta = iter->second; + LLVector3 scaleDelta = scale_pair.second; LLVector3 offset = (effective_weight - mLastWeight) * scaleDelta; newScale = newScale + offset; //An aspect of attached mesh objects (which contain joint offsets) that need to be cleaned up when detached @@ -218,13 +212,11 @@ void LLPolySkeletalDistortion::apply( ESex avatar_sex ) joint->setScale(newScale, true); } - for (iter = mJointOffsets.begin(); - iter != mJointOffsets.end(); - iter++) + for (joint_vec_map_t::value_type& offset_pair : mJointOffsets) { - joint = iter->first; + joint = offset_pair.first; LLVector3 newPosition = joint->getPosition(); - LLVector3 positionDelta = iter->second; + LLVector3 positionDelta = offset_pair.second; newPosition = newPosition + (effective_weight * positionDelta) - (mLastWeight * positionDelta); // SL-315 bool allow_attachment_pos_overrides = true; diff --git a/indra/llappearance/lltexglobalcolor.cpp b/indra/llappearance/lltexglobalcolor.cpp index 3df2254b14..75815482c9 100644 --- a/indra/llappearance/lltexglobalcolor.cpp +++ b/indra/llappearance/lltexglobalcolor.cpp @@ -55,12 +55,10 @@ BOOL LLTexGlobalColor::setInfo(LLTexGlobalColorInfo *info) //mID = info->mID; // No ID mParamGlobalColorList.reserve(mInfo->mParamColorInfoList.size()); - for (param_color_info_list_t::iterator iter = mInfo->mParamColorInfoList.begin(); - iter != mInfo->mParamColorInfoList.end(); - iter++) + for (LLTexLayerParamColorInfo* color_info : mInfo->mParamColorInfoList) { LLTexParamGlobalColor* param_color = new LLTexParamGlobalColor(this); - if (!param_color->setInfo(*iter, TRUE)) + if (!param_color->setInfo(color_info, TRUE)) { mInfo = NULL; return FALSE; diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index 3430a25536..6f23b2e04c 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -241,11 +241,8 @@ BOOL LLTexLayerSetInfo::parseXml(LLXmlTreeNode* node) void LLTexLayerSetInfo::createVisualParams(LLAvatarAppearance *appearance) { //layer_info_list_t mLayerInfoList; - for (layer_info_list_t::iterator layer_iter = mLayerInfoList.begin(); - layer_iter != mLayerInfoList.end(); - layer_iter++) + for (LLTexLayerInfo* layer_info : mLayerInfoList) { - LLTexLayerInfo *layer_info = *layer_iter; layer_info->createVisualParams(appearance); } } @@ -287,12 +284,10 @@ BOOL LLTexLayerSet::setInfo(const LLTexLayerSetInfo *info) //mID = info->mID; // No ID mLayerList.reserve(info->mLayerInfoList.size()); - for (LLTexLayerSetInfo::layer_info_list_t::const_iterator iter = info->mLayerInfoList.begin(); - iter != info->mLayerInfoList.end(); - iter++) + for (LLTexLayerInfo* layer_info : info->mLayerInfoList) { LLTexLayerInterface *layer = NULL; - if ( (*iter)->isUserSettable() ) + if (layer_info->isUserSettable()) { layer = new LLTexLayerTemplate( this, getAvatarAppearance() ); } @@ -301,7 +296,7 @@ BOOL LLTexLayerSet::setInfo(const LLTexLayerSetInfo *info) layer = new LLTexLayer(this); } // this is the first time this layer (of either type) is being created - make sure you add the parameters to the avatar appearance - if (!layer->setInfo(*iter, NULL)) + if (!layer->setInfo(layer_info, NULL)) { mInfo = NULL; return FALSE; @@ -348,14 +343,12 @@ BOOL LLTexLayerSet::parseData(LLXmlTreeNode* node) void LLTexLayerSet::deleteCaches() { - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; layer->deleteCaches(); } - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; layer->deleteCaches(); } } @@ -368,9 +361,8 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget* if (mMaskLayerList.size() > 0) { - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->isInvisibleAlphaMask()) { mIsVisible = FALSE; @@ -399,9 +391,8 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget* if (mIsVisible) { // composite color layers - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getRenderPass() == LLTexLayer::RP_COLOR) { gGL.flush(); @@ -473,9 +464,8 @@ void LLTexLayerSet::gatherMorphMaskAlpha(U8 *data, S32 origin_x, S32 origin_y, S LL_PROFILE_ZONE_SCOPED; memset(data, 255, width * height); - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; layer->gatherAlphaMasks(data, origin_x, origin_y, width, height, bound_target); } @@ -526,9 +516,8 @@ void LLTexLayerSet::renderAlphaMaskTextures(S32 x, S32 y, S32 width, S32 height, if (mMaskLayerList.size() > 0) { gGL.setSceneBlendType(LLRender::BT_MULT_ALPHA); - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; gGL.flush(); layer->blendAlphaTexture(x,y,width, height); gGL.flush(); @@ -549,9 +538,8 @@ void LLTexLayerSet::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_ BOOL LLTexLayerSet::isMorphValid() const { - for(layer_list_t::const_iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(const LLTexLayerInterface* layer : mLayerList) { - const LLTexLayerInterface* layer = *iter; if (layer && !layer->isMorphValid()) { return FALSE; @@ -562,9 +550,8 @@ BOOL LLTexLayerSet::isMorphValid() const void LLTexLayerSet::invalidateMorphMasks() { - for( layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer) { layer->invalidateMorphMasks(); @@ -661,14 +648,12 @@ BOOL LLTexLayerInfo::parseXml(LLXmlTreeNode* node) /* if ("upper_shirt" == local_texture_name) mLocalTexture = TEX_UPPER_SHIRT; */ mLocalTexture = TEX_NUM_INDICES; - for (LLAvatarAppearanceDictionary::Textures::const_iterator iter = LLAvatarAppearance::getDictionary()->getTextures().begin(); - iter != LLAvatarAppearance::getDictionary()->getTextures().end(); - iter++) + for (const LLAvatarAppearanceDictionary::Textures::value_type& dict_pair : LLAvatarAppearance::getDictionary()->getTextures()) { - const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = iter->second; + const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = dict_pair.second; if (local_texture_name == texture_dict->mName) { - mLocalTexture = iter->first; + mLocalTexture = dict_pair.first; break; } } @@ -735,11 +720,8 @@ BOOL LLTexLayerInfo::parseXml(LLXmlTreeNode* node) BOOL LLTexLayerInfo::createVisualParams(LLAvatarAppearance *appearance) { BOOL success = TRUE; - for (param_color_info_list_t::iterator color_info_iter = mParamColorInfoList.begin(); - color_info_iter != mParamColorInfoList.end(); - color_info_iter++) + for (LLTexLayerParamColorInfo* color_info : mParamColorInfoList) { - LLTexLayerParamColorInfo * color_info = *color_info_iter; LLTexLayerParamColor* param_color = new LLTexLayerParamColor(appearance); if (!param_color->setInfo(color_info, TRUE)) { @@ -749,11 +731,8 @@ BOOL LLTexLayerInfo::createVisualParams(LLAvatarAppearance *appearance) } } - for (param_alpha_info_list_t::iterator alpha_info_iter = mParamAlphaInfoList.begin(); - alpha_info_iter != mParamAlphaInfoList.end(); - alpha_info_iter++) + for (LLTexLayerParamAlphaInfo* alpha_info : mParamAlphaInfoList) { - LLTexLayerParamAlphaInfo * alpha_info = *alpha_info_iter; LLTexLayerParamAlpha* param_alpha = new LLTexLayerParamAlpha(appearance); if (!param_alpha->setInfo(alpha_info, TRUE)) { @@ -796,15 +775,13 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab //mID = info->mID; // No ID mParamColorList.reserve(mInfo->mParamColorInfoList.size()); - for (param_color_info_list_t::const_iterator iter = mInfo->mParamColorInfoList.begin(); - iter != mInfo->mParamColorInfoList.end(); - iter++) + for (LLTexLayerParamColorInfo* color_info : mInfo->mParamColorInfoList) { LLTexLayerParamColor* param_color; if (!wearable) { param_color = new LLTexLayerParamColor(this); - if (!param_color->setInfo(*iter, TRUE)) + if (!param_color->setInfo(color_info, TRUE)) { mInfo = NULL; return FALSE; @@ -812,7 +789,7 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } else { - param_color = (LLTexLayerParamColor*)wearable->getVisualParam((*iter)->getID()); + param_color = (LLTexLayerParamColor*)wearable->getVisualParam(color_info->getID()); if (!param_color) { mInfo = NULL; @@ -823,15 +800,13 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } mParamAlphaList.reserve(mInfo->mParamAlphaInfoList.size()); - for (param_alpha_info_list_t::const_iterator iter = mInfo->mParamAlphaInfoList.begin(); - iter != mInfo->mParamAlphaInfoList.end(); - iter++) + for (LLTexLayerParamAlphaInfo* alpha_info : mInfo->mParamAlphaInfoList) { LLTexLayerParamAlpha* param_alpha; if (!wearable) { param_alpha = new LLTexLayerParamAlpha( this ); - if (!param_alpha->setInfo(*iter, TRUE)) + if (!param_alpha->setInfo(alpha_info, TRUE)) { mInfo = NULL; return FALSE; @@ -839,7 +814,7 @@ BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearab } else { - param_alpha = (LLTexLayerParamAlpha*) wearable->getVisualParam((*iter)->getID()); + param_alpha = (LLTexLayerParamAlpha*) wearable->getVisualParam(alpha_info->getID()); if (!param_alpha) { mInfo = NULL; @@ -873,12 +848,9 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const if (TEX_INVALID == te) { LLWearableType::EType type = LLWearableType::WT_INVALID; - param_color_list_t::const_iterator color_iter = mParamColorList.begin(); - param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); - for (; color_iter != mParamColorList.end(); color_iter++) + for (LLTexLayerParamColor* param : mParamColorList) { - LLTexLayerParamColor* param = *color_iter; if (param) { LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); @@ -893,9 +865,8 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const } } - for (; alpha_iter != mParamAlphaList.end(); alpha_iter++) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *alpha_iter; if (param) { LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); @@ -938,18 +909,18 @@ void LLTexLayerInterface::invalidateMorphMasks() LLViewerVisualParam* LLTexLayerInterface::getVisualParamPtr(S32 index) const { LLViewerVisualParam *result = NULL; - for (param_color_list_t::const_iterator color_iter = mParamColorList.begin(); color_iter != mParamColorList.end() && !result; ++color_iter) + for (LLTexLayerParamColor* param : mParamColorList) { - if ((*color_iter)->getID() == index) + if (param->getID() == index) { - result = *color_iter; + result = param; } } - for (param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); alpha_iter != mParamAlphaList.end() && !result; ++alpha_iter) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - if ((*alpha_iter)->getID() == index) + if (param->getID() == index) { - result = *alpha_iter; + result = param; } } @@ -994,10 +965,9 @@ LLTexLayer::~LLTexLayer() //std::for_each(mParamAlphaList.begin(), mParamAlphaList.end(), DeletePointer()); //std::for_each(mParamColorList.begin(), mParamColorList.end(), DeletePointer()); - for( alpha_cache_t::iterator iter = mAlphaCache.begin(); - iter != mAlphaCache.end(); iter++ ) + for (alpha_cache_t::value_type& alpha_pair : mAlphaCache) { - U8* alpha_data = iter->second; + U8* alpha_data = alpha_pair.second; ll_aligned_free_32(alpha_data); } @@ -1021,10 +991,8 @@ BOOL LLTexLayer::setInfo(const LLTexLayerInfo* info, LLWearable* wearable ) //static void LLTexLayer::calculateTexLayerColor(const param_color_list_t ¶m_list, LLColor4 &net_color) { - for (param_color_list_t::const_iterator iter = param_list.begin(); - iter != param_list.end(); iter++) + for (const LLTexLayerParamColor* param : param_list) { - const LLTexLayerParamColor* param = *iter; LLColor4 param_net = param->getNetColor(); const LLTexLayerParamColorInfo *info = (LLTexLayerParamColorInfo *)param->getInfo(); switch(info->getOperation()) @@ -1049,10 +1017,8 @@ void LLTexLayer::calculateTexLayerColor(const param_color_list_t ¶m_list, LL /*virtual*/ void LLTexLayer::deleteCaches() { // Only need to delete caches for alpha params. Color params don't hold extra memory - for (param_alpha_list_t::iterator iter = mParamAlphaList.begin(); - iter != mParamAlphaList.end(); iter++ ) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *iter; param->deleteCaches(); } } @@ -1226,9 +1192,8 @@ const U8* LLTexLayer::getAlphaData() const const LLUUID& uuid = getUUID(); alpha_mask_crc.update((U8*)(&uuid.mData), UUID_BYTES); - for (param_alpha_list_t::const_iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (const LLTexLayerParamAlpha* param : mParamAlphaList) { - const LLTexLayerParamAlpha* param = *iter; // MULTI-WEARABLE: verify visual parameters used here F32 param_weight = param->getWeight(); alpha_mask_crc.update((U8*)¶m_weight, sizeof(F32)); @@ -1365,9 +1330,8 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC // Accumulate alphas LLGLSNoAlphaTest gls_no_alpha_test; gGL.color4f( 1.f, 1.f, 1.f, 1.f ); - for (param_alpha_list_t::iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (LLTexLayerParamAlpha* param : mParamAlphaList) { - LLTexLayerParamAlpha* param = *iter; success &= param->render( x, y, width, height ); if (!success && !force_render) { @@ -1441,9 +1405,8 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC const LLUUID& uuid = getUUID(); alpha_mask_crc.update((U8*)(&uuid.mData), UUID_BYTES); - for (param_alpha_list_t::const_iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++) + for (const LLTexLayerParamAlpha* param : mParamAlphaList) { - const LLTexLayerParamAlpha* param = *iter; F32 param_weight = param->getWeight(); alpha_mask_crc.update((U8*)¶m_weight, sizeof(F32)); } @@ -1683,12 +1646,10 @@ LLTexLayer* LLTexLayerTemplate::getLayer(U32 i) const BOOL success = TRUE; updateWearableCache(); - for (wearable_cache_t::const_iterator iter = mWearableCache.begin(); iter!= mWearableCache.end(); iter++) + for (LLWearable* wearable : mWearableCache) { - LLWearable* wearable = NULL; LLLocalTextureObject *lto = NULL; LLTexLayer *layer = NULL; - wearable = *iter; if (wearable) { lto = wearable->getLocalTextureObject(mInfo->mLocalTexture); @@ -1785,17 +1746,15 @@ LLTexLayer* LLTexLayerTemplate::getLayer(U32 i) const //----------------------------------------------------------------------------- LLTexLayerInterface* LLTexLayerSet::findLayerByName(const std::string& name) { - for (layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for (LLTexLayerInterface* layer : mLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getName() == name) { return layer; } } - for (layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++ ) + for (LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerInterface* layer = *iter; if (layer->getName() == name) { return layer; @@ -1807,20 +1766,20 @@ LLTexLayerInterface* LLTexLayerSet::findLayerByName(const std::string& name) void LLTexLayerSet::cloneTemplates(LLLocalTextureObject *lto, LLAvatarAppearanceDefines::ETextureIndex tex_index, LLWearable *wearable) { // initialize all texlayers with this texture type for this LTO - for( LLTexLayerSet::layer_list_t::iterator iter = mLayerList.begin(); iter != mLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mLayerList) { - LLTexLayerTemplate* layer = (LLTexLayerTemplate*)*iter; - if (layer->getInfo()->getLocalTexture() == (S32) tex_index) + LLTexLayerTemplate* layer_template = (LLTexLayerTemplate*)layer; + if (layer_template->getInfo()->getLocalTexture() == (S32)tex_index) { - lto->addTexLayer(layer, wearable); + lto->addTexLayer(layer_template, wearable); } } - for( LLTexLayerSet::layer_list_t::iterator iter = mMaskLayerList.begin(); iter != mMaskLayerList.end(); iter++ ) + for(LLTexLayerInterface* layer : mMaskLayerList) { - LLTexLayerTemplate* layer = (LLTexLayerTemplate*)*iter; - if (layer->getInfo()->getLocalTexture() == (S32) tex_index) + LLTexLayerTemplate* layer_template = (LLTexLayerTemplate*)layer; + if (layer_template->getInfo()->getLocalTexture() == (S32)tex_index) { - lto->addTexLayer(layer, wearable); + lto->addTexLayer(layer_template, wearable); } } } diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp index ce5c7142d5..a288c8955a 100644 --- a/indra/llappearance/lltexlayerparams.cpp +++ b/indra/llappearance/lltexlayerparams.cpp @@ -103,10 +103,8 @@ void LLTexLayerParamAlpha::getCacheByteCount(S32* gl_bytes) { *gl_bytes = 0; - for (param_alpha_ptr_list_t::iterator iter = sInstances.begin(); - iter != sInstances.end(); iter++) + for (LLTexLayerParamAlpha* instance : sInstances) { - LLTexLayerParamAlpha* instance = *iter; LLGLTexture* tex = instance->mCachedProcessedTexture; if (tex) { diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index e4bc8ff427..10d668d0af 100644 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -60,12 +60,12 @@ LLWearable::LLWearable() // virtual LLWearable::~LLWearable() { - for (visual_param_index_map_t::iterator vpIter = mVisualParamIndexMap.begin(); vpIter != mVisualParamIndexMap.end(); ++vpIter) + for (visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - LLVisualParam* vp = vpIter->second; + LLVisualParam* vp = vp_pair.second; vp->clearNextParam(); delete vp; - vpIter->second = NULL; + vp_pair.second = NULL; } destroyTextures(); @@ -122,12 +122,10 @@ BOOL LLWearable::exportStream( std::ostream& output_stream ) const // parameters output_stream << "parameters " << mVisualParamIndexMap.size() << "\n"; - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - ++iter) + for (const visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - S32 param_id = iter->first; - const LLVisualParam* param = iter->second; + S32 param_id = vp_pair.first; + const LLVisualParam* param = vp_pair.second; F32 param_weight = param->getWeight(); output_stream << param_id << " " << terse_F32_to_string( param_weight ) << "\n"; } @@ -135,11 +133,11 @@ BOOL LLWearable::exportStream( std::ostream& output_stream ) const // texture entries output_stream << "textures " << mTEMap.size() << "\n"; - for (te_map_t::const_iterator iter = mTEMap.begin(); iter != mTEMap.end(); ++iter) + for (const te_map_t::value_type& te_pair : mTEMap) { - S32 te = iter->first; - const LLUUID& image_id = iter->second->getID(); - output_stream << te << " " << image_id << "\n"; + S32 te = te_pair.first; + const LLUUID& image_id = te_pair.second->getID(); + output_stream << te << " " << image_id << "\n"; } return TRUE; } @@ -160,11 +158,9 @@ void LLWearable::createVisualParams(LLAvatarAppearance *avatarp) } // resync driver parameters to point to the newly cloned driven parameters - for (visual_param_index_map_t::iterator param_iter = mVisualParamIndexMap.begin(); - param_iter != mVisualParamIndexMap.end(); - ++param_iter) + for (visual_param_index_map_t::value_type& param_pair : mVisualParamIndexMap) { - LLVisualParam* param = param_iter->second; + LLVisualParam* param = param_pair.second; LLVisualParam*(LLWearable::*wearable_function)(S32)const = &LLWearable::getVisualParam; // need this line to disambiguate between versions of LLCharacter::getVisualParam() LLVisualParam*(LLAvatarAppearance::*param_function)(S32)const = &LLAvatarAppearance::getVisualParam; @@ -523,10 +519,9 @@ std::vector<LLLocalTextureObject*> LLWearable::getLocalTextureListSeq() { std::vector<LLLocalTextureObject*> result; - for(te_map_t::const_iterator iter = mTEMap.begin(); - iter != mTEMap.end(); iter++) + for(te_map_t::value_type& te_pair : mTEMap) { - LLLocalTextureObject* lto = iter->second; + LLLocalTextureObject* lto = te_pair.second; result.push_back(lto); } @@ -547,37 +542,15 @@ void LLWearable::revertValues() // FIXME DRANO - this triggers changes to driven params on avatar, potentially clobbering baked appearance. //update saved settings so wearable is no longer dirty - // non-driver params first - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) - { - S32 id = iter->first; - F32 value = iter->second; - LLVisualParam *param = getVisualParam(id); - if(param && !dynamic_cast<LLDriverParam*>(param) ) - { - setVisualParamWeight(id, value); - } - } - - //then driver params - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) + // One loop should be necessary here + for (param_map_t::value_type& vp_pair : mSavedVisualParamMap) { - S32 id = iter->first; - F32 value = iter->second; + S32 id = vp_pair.first; LLVisualParam *param = getVisualParam(id); - if(param && dynamic_cast<LLDriverParam*>(param) ) + if(param) { + F32 value = vp_pair.second; setVisualParamWeight(id, value); - } - } - - // make sure that saved values are sane - for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++) - { - S32 id = iter->first; - LLVisualParam *param = getVisualParam(id); - if( param ) - { mSavedVisualParamMap[id] = param->getWeight(); } } @@ -589,10 +562,10 @@ void LLWearable::saveValues() { //update saved settings so wearable is no longer dirty mSavedVisualParamMap.clear(); - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); iter != mVisualParamIndexMap.end(); ++iter) + for (const visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - S32 id = iter->first; - LLVisualParam *wearable_param = iter->second; + S32 id = vp_pair.first; + LLVisualParam *wearable_param = vp_pair.second; F32 value = wearable_param->getWeight(); mSavedVisualParamMap[id] = value; } @@ -706,23 +679,18 @@ LLVisualParam* LLWearable::getVisualParam(S32 index) const void LLWearable::getVisualParams(visual_param_vec_t &list) { - visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin(); - visual_param_index_map_t::iterator end = mVisualParamIndexMap.end(); - // add all visual params to the passed-in vector - for( ; iter != end; ++iter ) + for(visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - list.push_back(iter->second); + list.push_back(vp_pair.second); } } void LLWearable::animateParams(F32 delta) { - for(visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - ++iter) + for(visual_param_index_map_t::value_type& vp_pair : mVisualParamIndexMap) { - LLVisualParam *param = (LLVisualParam*) iter->second; + LLVisualParam *param = (LLVisualParam*)vp_pair.second; param->animate(delta); } } diff --git a/indra/llappearance/llwearable.h b/indra/llappearance/llwearable.h index 875c2932f1..d86db236a3 100644 --- a/indra/llappearance/llwearable.h +++ b/indra/llappearance/llwearable.h @@ -32,7 +32,6 @@ #include "llsaleinfo.h" #include "llwearabletype.h" -class LLMD5; class LLVisualParam; class LLTexGlobalColorInfo; class LLTexGlobalColor; @@ -110,9 +109,6 @@ public: // Something happened that requires the wearable to be updated (e.g. worn/unworn). virtual void setUpdated() const = 0; - // Update the baked texture hash. - virtual void addToBakedTextureHash(LLMD5& hash) const = 0; - typedef std::map<S32, LLVisualParam *> visual_param_index_map_t; visual_param_index_map_t mVisualParamIndexMap; diff --git a/indra/llappearance/llwearabledata.cpp b/indra/llappearance/llwearabledata.cpp index 0eaeedb6ee..9fbbc57c87 100644 --- a/indra/llappearance/llwearabledata.cpp +++ b/indra/llappearance/llwearabledata.cpp @@ -31,7 +31,6 @@ #include "llavatarappearance.h" #include "llavatarappearancedefines.h" #include "lldriverparam.h" -#include "llmd5.h" LLWearableData::LLWearableData() : mAvatarAppearance(NULL) @@ -343,42 +342,3 @@ U32 LLWearableData::getWearableCount(const U32 tex_index) const const LLWearableType::EType wearable_type = LLAvatarAppearance::getDictionary()->getTEWearableType((LLAvatarAppearanceDefines::ETextureIndex)tex_index); return getWearableCount(wearable_type); } - -LLUUID LLWearableData::computeBakedTextureHash(LLAvatarAppearanceDefines::EBakedTextureIndex baked_index, - BOOL generate_valid_hash) // Set to false if you want to upload the baked texture w/o putting it in the cache -{ - LLUUID hash_id; - bool hash_computed = false; - LLMD5 hash; - const LLAvatarAppearanceDictionary::BakedEntry *baked_dict = LLAvatarAppearance::getDictionary()->getBakedTexture(baked_index); - - for (U8 i=0; i < baked_dict->mWearables.size(); i++) - { - const LLWearableType::EType baked_type = baked_dict->mWearables[i]; - const U32 num_wearables = getWearableCount(baked_type); - for (U32 index = 0; index < num_wearables; ++index) - { - const LLWearable* wearable = getWearable(baked_type,index); - if (wearable) - { - wearable->addToBakedTextureHash(hash); - hash_computed = true; - } - } - } - if (hash_computed) - { - hash.update((const unsigned char*)baked_dict->mWearablesHashID.mData, UUID_BYTES); - - if (!generate_valid_hash) - { - invalidateBakedTextureHash(hash); - } - hash.finalize(); - hash.raw_digest(hash_id.mData); - } - - return hash_id; -} - - diff --git a/indra/llappearance/llwearabledata.h b/indra/llappearance/llwearabledata.h index a0c446ea9e..b8e0bf8bd1 100644 --- a/indra/llappearance/llwearabledata.h +++ b/indra/llappearance/llwearabledata.h @@ -86,15 +86,6 @@ private: void pullCrossWearableValues(const LLWearableType::EType type); //-------------------------------------------------------------------- - // Server Communication - //-------------------------------------------------------------------- -public: - LLUUID computeBakedTextureHash(LLAvatarAppearanceDefines::EBakedTextureIndex baked_index, - BOOL generate_valid_hash = TRUE); -protected: - virtual void invalidateBakedTextureHash(LLMD5& hash) const {} - - //-------------------------------------------------------------------- // Member variables //-------------------------------------------------------------------- protected: diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 008e1827c5..a387bb23cd 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -123,18 +123,16 @@ void LLAudioEngine::shutdown() cleanupWind(); // Clean up audio sources - source_map::iterator iter_src; - for (iter_src = mAllSources.begin(); iter_src != mAllSources.end(); iter_src++) + for (source_map::value_type& src_pair : mAllSources) { - delete iter_src->second; + delete src_pair.second; } // Clean up audio data - data_map::iterator iter_data; - for (iter_data = mAllData.begin(); iter_data != mAllData.end(); iter_data++) + for (data_map::value_type& data_pair : mAllData) { - delete iter_data->second; + delete data_pair.second; } @@ -206,7 +204,8 @@ std::string LLAudioEngine::getInternetStreamURL() { if (mStreamingAudioImpl) return mStreamingAudioImpl->getURL(); - else return std::string(); + + return std::string(); } @@ -310,12 +309,12 @@ void LLAudioEngine::idle() updateChannels(); // Update queued sounds (switch to next queued data if the current has finished playing) - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { // This is lame, instead of this I could actually iterate through all the sources // attached to each channel, since only those with active channels // can have anything interesting happen with their queue? (Maybe not true) - LLAudioSource *sourcep = iter->second; + LLAudioSource *sourcep = src_pair.second; if (!sourcep->mQueuedDatap || sourcep->isMuted()) { // Muted, or nothing queued, so we don't care. @@ -347,42 +346,43 @@ void LLAudioEngine::idle() } continue; } - else + + // Check to see if the current sound is done playing. + if (!channelp->isPlaying()) { - // Check to see if the current sound is done playing, or looped. - if (!channelp->isPlaying()) + sourcep->mCurrentDatap = sourcep->mQueuedDatap; + sourcep->mQueuedDatap = NULL; + + // Reset the timer so the source doesn't die. + sourcep->mAgeTimer.reset(); + + // Make sure we have the buffer set up if we just decoded the data + if (sourcep->mCurrentDatap) { - sourcep->mCurrentDatap = sourcep->mQueuedDatap; - sourcep->mQueuedDatap = NULL; + updateBufferForData(sourcep->mCurrentDatap); + } - // Reset the timer so the source doesn't die. - sourcep->mAgeTimer.reset(); + // Actually play the associated data. + sourcep->setupChannel(); + channelp->updateBuffer(); + sourcep->getChannel()->play(); + continue; + } - // Make sure we have the buffer set up if we just decoded the data - if (sourcep->mCurrentDatap) - { - updateBufferForData(sourcep->mCurrentDatap); - } + // Check to see if the current sound is looped. + if (sourcep->isLoop()) + { + // It's a loop, we need to check and see if we're done with it. + if (channelp->mLoopedThisFrame) + { + sourcep->mCurrentDatap = sourcep->mQueuedDatap; + sourcep->mQueuedDatap = NULL; - // Actually play the associated data. + // Actually, should do a time sync so if we're a loop master/slave + // we don't drift away. sourcep->setupChannel(); - channelp->updateBuffer(); sourcep->getChannel()->play(); } - else if (sourcep->isLoop()) - { - // It's a loop, we need to check and see if we're done with it. - if (channelp->mLoopedThisFrame) - { - sourcep->mCurrentDatap = sourcep->mQueuedDatap; - sourcep->mQueuedDatap = NULL; - - // Actually, should do a time sync so if we're a loop master/slave - // we don't drift away. - sourcep->setupChannel(); - sourcep->getChannel()->play(); - } - } } } @@ -395,21 +395,14 @@ void LLAudioEngine::idle() LLAudioSource *sync_masterp = NULL; LLAudioChannel *master_channelp = NULL; F32 max_sm_priority = -1.f; - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { - LLAudioSource *sourcep = iter->second; - if (sourcep->isMuted()) + LLAudioSource *sourcep = src_pair.second; + if (sourcep->isMuted() && sourcep->isSyncMaster() && sourcep->getPriority() > max_sm_priority) { - continue; - } - if (sourcep->isSyncMaster()) - { - if (sourcep->getPriority() > max_sm_priority) - { - sync_masterp = sourcep; - master_channelp = sync_masterp->getChannel(); - max_sm_priority = sourcep->getPriority(); - } + sync_masterp = sourcep; + master_channelp = sync_masterp->getChannel(); + max_sm_priority = sourcep->getPriority(); } } @@ -417,9 +410,9 @@ void LLAudioEngine::idle() { // Synchronize loop slaves with their masters // Update queued sounds (switch to next queued data if the current has finished playing) - for (iter = mAllSources.begin(); iter != mAllSources.end(); ++iter) + for (source_map::value_type& src_pair : mAllSources) { - LLAudioSource *sourcep = iter->second; + LLAudioSource *sourcep = src_pair.second; if (!sourcep->isSyncSlave()) { @@ -739,7 +732,7 @@ F64 LLAudioEngine::mapWindVecToGain(LLVector3 wind_vec) } return (gain); -} +} F64 LLAudioEngine::mapWindVecToPitch(LLVector3 wind_vec) @@ -966,12 +959,11 @@ void LLAudioEngine::cleanupAudioSource(LLAudioSource *asp) else { LL_DEBUGS("AudioEngine") << "Cleaning up audio sources for "<< asp->getID() <<LL_ENDL; - delete asp; - mAllSources.erase(iter); -} + delete asp; + mAllSources.erase(iter); + } } - bool LLAudioEngine::hasDecodedFile(const LLUUID &uuid) { std::string uuid_str; @@ -1115,9 +1107,9 @@ void LLAudioEngine::startNextTransfer() } - for (data_iter = asp->mPreloadMap.begin(); data_iter != asp->mPreloadMap.end(); data_iter++) + for (data_map::value_type& preload_pair : asp->mPreloadMap) { - LLAudioData *adp = data_iter->second; + LLAudioData *adp = preload_pair.second; if (!adp) { continue; @@ -1137,9 +1129,9 @@ void LLAudioEngine::startNextTransfer() { max_pri = -1.f; source_map::iterator source_iter; - for (source_iter = mAllSources.begin(); source_iter != mAllSources.end(); source_iter++) + for (source_map::value_type& source_pair : mAllSources) { - asp = source_iter->second; + asp = source_pair.second; if (!asp) { continue; @@ -1166,9 +1158,9 @@ void LLAudioEngine::startNextTransfer() continue; } - for (data_iter = asp->mPreloadMap.begin(); data_iter != asp->mPreloadMap.end(); data_iter++) + for (data_map::value_type& preload_pair : asp->mPreloadMap) { - LLAudioData *adp = data_iter->second; + LLAudioData *adp = preload_pair.second; if (!adp) { continue; @@ -1603,10 +1595,9 @@ void LLAudioSource::addAudioData(LLAudioData *adp, const bool set_current) bool LLAudioSource::hasPendingPreloads() const { // Check to see if we've got any preloads on deck for this source - data_map::const_iterator iter; - for (iter = mPreloadMap.begin(); iter != mPreloadMap.end(); iter++) + for (const data_map::value_type& preload_pair : mPreloadMap) { - LLAudioData *adp = iter->second; + LLAudioData *adp = preload_pair.second; // note: a bad UUID will forever be !hasDecodedData() // but also hasDecodeFailed(), hence the check for hasDecodeFailed() if (!adp) @@ -1690,20 +1681,19 @@ void LLAudioChannel::setSource(LLAudioSource *sourcep) { LL_DEBUGS("AudioEngine") << "( id: " << sourcep->getID() << ")" << LL_ENDL; - if (sourcep == mCurrentSourcep) - { - // Don't reallocate the channel, this will make FMOD goofy. - //LL_INFOS() << "Calling setSource with same source!" << LL_ENDL; - } + if (sourcep == mCurrentSourcep) + { + // Don't reallocate the channel, this will make FMOD goofy. + //LL_INFOS() << "Calling setSource with same source!" << LL_ENDL; + } - mCurrentSourcep = sourcep; + mCurrentSourcep = sourcep; - updateBuffer(); - update3DPosition(); -} + updateBuffer(); + update3DPosition(); + } } - bool LLAudioChannel::updateBuffer() { if (!gAudiop) diff --git a/indra/llaudio/llaudioengine.h b/indra/llaudio/llaudioengine.h index 0fe8b3d756..a133898969 100755 --- a/indra/llaudio/llaudioengine.h +++ b/indra/llaudio/llaudioengine.h @@ -90,6 +90,7 @@ public: // initialization/startup/shutdown virtual bool init(void *userdata, const std::string &app_title); virtual std::string getDriverName(bool verbose) = 0; + virtual LLStreamingAudioInterface *createDefaultStreamingAudioImpl() const = 0; virtual void shutdown(); // Used by the mechanics of the engine @@ -468,13 +469,13 @@ struct SoundData const LLUUID& owner_id, const F32 gain, const S32 type = LLAudioEngine::AUDIO_TYPE_NONE, - const LLVector3d &pos_global = LLVector3d::zero) + const LLVector3d &pos_global = LLVector3d::zero) : + audio_uuid(audio_uuid), + owner_id(owner_id), + gain(gain), + type(type), + pos_global(pos_global) { - this->audio_uuid = audio_uuid; - this->owner_id = owner_id; - this->gain = gain; - this->type = type; - this->pos_global = pos_global; } }; diff --git a/indra/llaudio/llaudioengine_fmodstudio.cpp b/indra/llaudio/llaudioengine_fmodstudio.cpp index ba743020b5..c6313ea289 100644 --- a/indra/llaudio/llaudioengine_fmodstudio.cpp +++ b/indra/llaudio/llaudioengine_fmodstudio.cpp @@ -208,10 +208,6 @@ bool LLAudioEngine_FMODSTUDIO::init(void* userdata, const std::string &app_title } #endif - // set up our favourite FMOD-native streaming audio implementation if none has already been added - if (!getStreamingAudioImpl()) // no existing implementation added - setStreamingAudioImpl(new LLStreamingAudio_FMODSTUDIO(mSystem)); - LL_INFOS("AppInit") << "LLAudioEngine_FMODSTUDIO::init() FMOD Studio initialized correctly" << LL_ENDL; int r_numbuffers, r_samplerate, r_channels; @@ -253,6 +249,13 @@ std::string LLAudioEngine_FMODSTUDIO::getDriverName(bool verbose) } +// create our favourite FMOD-native streaming audio implementation +LLStreamingAudioInterface *LLAudioEngine_FMODSTUDIO::createDefaultStreamingAudioImpl() const +{ + return new LLStreamingAudio_FMODSTUDIO(mSystem); +} + + void LLAudioEngine_FMODSTUDIO::allocateListener(void) { mListenerp = (LLListener *) new LLListener_FMODSTUDIO(mSystem); diff --git a/indra/llaudio/llaudioengine_fmodstudio.h b/indra/llaudio/llaudioengine_fmodstudio.h index d3d6d69685..29e7bc6bf0 100644 --- a/indra/llaudio/llaudioengine_fmodstudio.h +++ b/indra/llaudio/llaudioengine_fmodstudio.h @@ -53,6 +53,7 @@ public: // initialization/startup/shutdown virtual bool init(void *user_data, const std::string &app_title); virtual std::string getDriverName(bool verbose); + virtual LLStreamingAudioInterface* createDefaultStreamingAudioImpl() const; virtual void allocateListener(); virtual void shutdown(); diff --git a/indra/llcharacter/llanimationstates.cpp b/indra/llcharacter/llanimationstates.cpp index c16cae1bbc..2e78e30405 100644 --- a/indra/llcharacter/llanimationstates.cpp +++ b/indra/llcharacter/llanimationstates.cpp @@ -379,12 +379,11 @@ LLUUID LLAnimationLibrary::stringToAnimState( const std::string& name, BOOL allo if (true_name) { - for (anim_map_t::iterator iter = mAnimMap.begin(); - iter != mAnimMap.end(); iter++) + for (anim_map_t::value_type& anim_pair : mAnimMap) { - if (iter->second == true_name) + if (anim_pair.second == true_name) { - id = iter->first; + id = anim_pair.first; break; } } diff --git a/indra/llcharacter/llbvhloader.cpp b/indra/llcharacter/llbvhloader.cpp index c38614b0b4..117d408b21 100644 --- a/indra/llcharacter/llbvhloader.cpp +++ b/indra/llcharacter/llbvhloader.cpp @@ -156,10 +156,9 @@ LLBVHLoader::LLBVHLoader(const char* buffer, ELoadStatus &loadStatus, S32 &error } // Recognize all names we've been told are legal. - std::map<std::string, std::string>::iterator iter; - for (iter = joint_alias_map.begin(); iter != joint_alias_map.end(); iter++) + for (std::map<std::string, std::string>::value_type& alias_pair : joint_alias_map) { - makeTranslation( iter->first , iter->second ); + makeTranslation( alias_pair.first , alias_pair.second ); } char error_text[128]; /* Flawfinder: ignore */ @@ -950,10 +949,8 @@ ELoadStatus LLBVHLoader::loadBVHFile(const char *buffer, char* error_text, S32 & //------------------------------------------------------------------------ void LLBVHLoader::applyTranslations() { - JointVector::iterator ji; - for (ji = mJoints.begin(); ji != mJoints.end(); ++ji ) + for (Joint* joint : mJoints) { - Joint *joint = *ji; //---------------------------------------------------------------- // Look for a translation for this joint. // If none, skip to next joint @@ -1066,10 +1063,8 @@ void LLBVHLoader::optimize() mEaseOut *= factor; } - JointVector::iterator ji; - for (ji = mJoints.begin(); ji != mJoints.end(); ++ji) + for (Joint* joint : mJoints) { - Joint *joint = *ji; BOOL pos_changed = FALSE; BOOL rot_changed = FALSE; @@ -1294,15 +1289,12 @@ U32 LLBVHLoader::getOutputSize() // writes contents to datapacker BOOL LLBVHLoader::serialize(LLDataPacker& dp) { - JointVector::iterator ji; - KeyVector::iterator ki; F32 time; // count number of non-ignored joints S32 numJoints = 0; - for (ji=mJoints.begin(); ji!=mJoints.end(); ++ji) + for (Joint* joint : mJoints) { - Joint *joint = *ji; if ( ! joint->mIgnore ) numJoints++; } @@ -1321,11 +1313,8 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) dp.packU32(mHand, "hand_pose"); dp.packU32(numJoints, "num_joints"); - for ( ji = mJoints.begin(); - ji != mJoints.end(); - ++ji ) + for (Joint* joint : mJoints) { - Joint *joint = *ji; // if ignored, skip it if ( joint->mIgnore ) continue; @@ -1348,17 +1337,15 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) Joint *mergeParent = NULL; Joint *mergeChild = NULL; - JointVector::iterator mji; - for (mji=mJoints.begin(); mji!=mJoints.end(); ++mji) + for (Joint* mjoint : mJoints) { - Joint *mjoint = *mji; if ( !joint->mMergeParentName.empty() && (mjoint->mName == joint->mMergeParentName) ) { - mergeParent = *mji; + mergeParent = mjoint; } if ( !joint->mMergeChildName.empty() && (mjoint->mName == joint->mMergeChildName) ) { - mergeChild = *mji; + mergeChild = mjoint; } } @@ -1367,19 +1354,17 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) LLQuaternion::Order order = bvhStringToOrder( joint->mOrder ); S32 outcount = 0; S32 frame = 0; - for ( ki = joint->mKeys.begin(); - ki != joint->mKeys.end(); - ++ki ) + for (Key& key : joint->mKeys) { if ((frame == 0) && joint->mRelativeRotationKey) { - first_frame_rot = mayaQ( ki->mRot[0], ki->mRot[1], ki->mRot[2], order); + first_frame_rot = mayaQ( key.mRot[0], key.mRot[1], key.mRot[2], order); fixup_rot.shortestArc(LLVector3::z_axis * first_frame_rot * frameRot, LLVector3::z_axis); } - if (ki->mIgnoreRot) + if (key.mIgnoreRot) { frame++; continue; @@ -1418,7 +1403,7 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) mergeChildRot.loadIdentity(); } - LLQuaternion inRot = mayaQ( ki->mRot[0], ki->mRot[1], ki->mRot[2], order); + LLQuaternion inRot = mayaQ( key.mRot[0], key.mRot[1], key.mRot[2], order); LLQuaternion outRot = frameRotInv* mergeChildRot * inRot * mergeParentRot * ~first_frame_rot * frameRot * offsetRot; @@ -1446,16 +1431,14 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) LLVector3 relKey; frame = 0; - for ( ki = joint->mKeys.begin(); - ki != joint->mKeys.end(); - ++ki ) + for (Key& key : joint->mKeys) { if ((frame == 0) && joint->mRelativePositionKey) { - relKey.setVec(ki->mPos); + relKey.setVec(key.mPos); } - if (ki->mIgnorePos) + if (key.mIgnorePos) { frame++; continue; @@ -1463,7 +1446,7 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) time = llmax((F32)(frame - NUMBER_OF_IGNORED_FRAMES_AT_START), 0.0f) * mFrameTime; // Time elapsed before this frame starts. - LLVector3 inPos = (LLVector3(ki->mPos) - relKey) * ~first_frame_rot;// * fixup_rot; + LLVector3 inPos = (LLVector3(key.mPos) - relKey) * ~first_frame_rot;// * fixup_rot; LLVector3 outPos = inPos * frameRot * offsetRot; outPos *= INCHES_TO_METERS; @@ -1496,24 +1479,22 @@ BOOL LLBVHLoader::serialize(LLDataPacker& dp) S32 num_constraints = (S32)mConstraints.size(); dp.packS32(num_constraints, "num_constraints"); - for (ConstraintVector::iterator constraint_it = mConstraints.begin(); - constraint_it != mConstraints.end(); - constraint_it++) + for (Constraint& constraint : mConstraints) { - U8 byte = constraint_it->mChainLength; + U8 byte = constraint.mChainLength; dp.packU8(byte, "chain_length"); - byte = constraint_it->mConstraintType; + byte = constraint.mConstraintType; dp.packU8(byte, "constraint_type"); - dp.packBinaryDataFixed((U8*)constraint_it->mSourceJointName, 16, "source_volume"); - dp.packVector3(constraint_it->mSourceOffset, "source_offset"); - dp.packBinaryDataFixed((U8*)constraint_it->mTargetJointName, 16, "target_volume"); - dp.packVector3(constraint_it->mTargetOffset, "target_offset"); - dp.packVector3(constraint_it->mTargetDir, "target_dir"); - dp.packF32(constraint_it->mEaseInStart, "ease_in_start"); - dp.packF32(constraint_it->mEaseInStop, "ease_in_stop"); - dp.packF32(constraint_it->mEaseOutStart, "ease_out_start"); - dp.packF32(constraint_it->mEaseOutStop, "ease_out_stop"); + dp.packBinaryDataFixed((U8*)constraint.mSourceJointName, 16, "source_volume"); + dp.packVector3(constraint.mSourceOffset, "source_offset"); + dp.packBinaryDataFixed((U8*)constraint.mTargetJointName, 16, "target_volume"); + dp.packVector3(constraint.mTargetOffset, "target_offset"); + dp.packVector3(constraint.mTargetDir, "target_dir"); + dp.packF32(constraint.mEaseInStart, "ease_in_start"); + dp.packF32(constraint.mEaseInStop, "ease_in_stop"); + dp.packF32(constraint.mEaseOutStart, "ease_out_start"); + dp.packF32(constraint.mEaseOutStop, "ease_out_stop"); } diff --git a/indra/llcharacter/llcharacter.cpp b/indra/llcharacter/llcharacter.cpp index 376f096642..cf6be8daf0 100644 --- a/indra/llcharacter/llcharacter.cpp +++ b/indra/llcharacter/llcharacter.cpp @@ -246,10 +246,8 @@ void LLCharacter::dumpCharacter( LLJoint* joint ) LL_INFOS() << "DEBUG: " << joint->getName() << " (" << (joint->getParent()?joint->getParent()->getName():std::string("ROOT")) << ")" << LL_ENDL; // recurse - for (LLJoint::joints_t::iterator iter = joint->mChildren.begin(); - iter != joint->mChildren.end(); ++iter) + for (LLJoint* child_joint : joint->mChildren) { - LLJoint* child_joint = *iter; dumpCharacter(child_joint); } } diff --git a/indra/llcharacter/llcharacter.h b/indra/llcharacter/llcharacter.h index 2fac5f53a6..6d56d59e8c 100644 --- a/indra/llcharacter/llcharacter.h +++ b/indra/llcharacter/llcharacter.h @@ -218,11 +218,9 @@ public: S32 getVisualParamCountInGroup(const EVisualParamGroup group) const { S32 rtn = 0; - for (visual_param_index_map_t::const_iterator iter = mVisualParamIndexMap.begin(); - iter != mVisualParamIndexMap.end(); - /**/ ) + for (const visual_param_index_map_t::value_type& index_pair : mVisualParamIndexMap) { - if ((iter++)->second->getGroup() == group) + if (index_pair.second->getGroup() == group) { ++rtn; } @@ -237,11 +235,10 @@ public: } S32 getVisualParamID(LLVisualParam *id) { - visual_param_index_map_t::iterator iter; - for (iter = mVisualParamIndexMap.begin(); iter != mVisualParamIndexMap.end(); iter++) + for (visual_param_index_map_t::value_type& index_pair : mVisualParamIndexMap) { - if (iter->second == id) - return iter->first; + if (index_pair.second == id) + return index_pair.first; } return 0; } diff --git a/indra/llcharacter/llgesture.cpp b/indra/llcharacter/llgesture.cpp index 37904936d8..80717d8d26 100644 --- a/indra/llcharacter/llgesture.cpp +++ b/indra/llcharacter/llgesture.cpp @@ -199,15 +199,14 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin typedef boost::tokenizer<boost::char_separator<char> > tokenizer; boost::char_separator<char> sep(" "); tokenizer tokens(string, sep); - tokenizer::iterator token_iter; - for( token_iter = tokens.begin(); token_iter != tokens.end(); ++token_iter) + for(const std::string& cur_token : tokens) { LLGesture* gesture = NULL; if( !found_gestures ) // Only pay attention to the first gesture in the string. { - std::string cur_token_lower = *token_iter; + std::string cur_token_lower = cur_token; LLStringUtil::toLower(cur_token_lower); for (U32 i = 0; i < mList.size(); i++) @@ -228,7 +227,7 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin LLStringUtil::toLower(output_lower); if( cur_token_lower == output_lower ) { - revised_string->append(*token_iter); + revised_string->append(cur_token); } else { @@ -249,7 +248,7 @@ BOOL LLGestureList::triggerAndReviseString(const std::string &string, std::strin { revised_string->append( " " ); } - revised_string->append( *token_iter ); + revised_string->append( cur_token ); } first_token = FALSE; diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp index d72282ab42..06f3bedf85 100644 --- a/indra/llcharacter/lljoint.cpp +++ b/indra/llcharacter/lljoint.cpp @@ -67,11 +67,10 @@ void LLVector3OverrideMap::showJointVector3Overrides( std::ostringstream& os ) c map_type::const_iterator max_it = std::max_element(m_map.begin(), m_map.end(), attachment_map_iter_compare_key<map_type::value_type>); - for (map_type::const_iterator it = m_map.begin(); - it != m_map.end(); ++it) + for (const map_type::value_type& pos_pair : m_map) { - const LLVector3& pos = it->second; - os << " " << "[" << it->first <<": " << pos << "]" << ((it==max_it) ? "*" : ""); + const LLVector3& pos = pos_pair.second; + os << " " << "[" << pos_pair.first <<": " << pos << "]" << ((pos_pair==(*max_it)) ? "*" : ""); } } @@ -209,10 +208,8 @@ void LLJoint::touch(U32 flags) child_flags |= POSITION_DIRTY; } - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; joint->touch(child_flags); } } @@ -251,10 +248,8 @@ LLJoint *LLJoint::findJoint( const std::string &name ) if (name == getName()) return this; - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; LLJoint *found = joint->findJoint(name); if (found) { @@ -514,10 +509,9 @@ void LLJoint::getAllAttachmentPosOverrides(S32& num_pos_overrides, std::set<LLVector3>& distinct_pos_overrides) const { num_pos_overrides = m_attachmentPosOverrides.count(); - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentPosOverrides.getMap().begin(); - for (; it != m_attachmentPosOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& pos_override_pair : m_attachmentPosOverrides.getMap()) { - distinct_pos_overrides.insert(it->second); + distinct_pos_overrides.insert(pos_override_pair.second); } } @@ -528,10 +522,9 @@ void LLJoint::getAllAttachmentScaleOverrides(S32& num_scale_overrides, std::set<LLVector3>& distinct_scale_overrides) const { num_scale_overrides = m_attachmentScaleOverrides.count(); - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentScaleOverrides.getMap().begin(); - for (; it != m_attachmentScaleOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& scale_override_pair : m_attachmentScaleOverrides.getMap()) { - distinct_scale_overrides.insert(it->second); + distinct_scale_overrides.insert(scale_override_pair.second); } } @@ -556,10 +549,9 @@ void LLJoint::showAttachmentPosOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " has " << count << " attachment pos overrides" << LL_ENDL; std::set<LLVector3> distinct_offsets; - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentPosOverrides.getMap().begin(); - for (; it != m_attachmentPosOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& pos_override_pair : m_attachmentPosOverrides.getMap()) { - distinct_offsets.insert(it->second); + distinct_offsets.insert(pos_override_pair.second); } if (distinct_offsets.size()>1) { @@ -569,11 +561,10 @@ void LLJoint::showAttachmentPosOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "no conflicts" << LL_ENDL; } - std::set<LLVector3>::iterator dit = distinct_offsets.begin(); - for ( ; dit != distinct_offsets.end(); ++dit) + for (const LLVector3& offset : distinct_offsets) { - std::string highlight = (has_active_override && *dit == active_override) ? "*" : ""; - LL_DEBUGS("Avatar") << " POS " << highlight << "" << (*dit) << " default " << mDefaultPosition << LL_ENDL; + std::string highlight = (has_active_override && offset == active_override) ? "*" : ""; + LL_DEBUGS("Avatar") << " POS " << highlight << "" << offset << " default " << mDefaultPosition << LL_ENDL; } } } @@ -717,10 +708,9 @@ void LLJoint::showAttachmentScaleOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "av " << av_info << " joint " << getName() << " has " << count << " attachment scale overrides" << LL_ENDL; std::set<LLVector3> distinct_offsets; - LLVector3OverrideMap::map_type::const_iterator it = m_attachmentScaleOverrides.getMap().begin(); - for (; it != m_attachmentScaleOverrides.getMap().end(); ++it) + for (const LLVector3OverrideMap::map_type::value_type& scale_override_pair : m_attachmentScaleOverrides.getMap()) { - distinct_offsets.insert(it->second); + distinct_offsets.insert(scale_override_pair.second); } if (distinct_offsets.size()>1) { @@ -730,11 +720,10 @@ void LLJoint::showAttachmentScaleOverrides(const std::string& av_info) const { LL_DEBUGS("Avatar") << "no conflicts" << LL_ENDL; } - std::set<LLVector3>::iterator dit = distinct_offsets.begin(); - for ( ; dit != distinct_offsets.end(); ++dit) + for (const LLVector3& offset : distinct_offsets) { - std::string highlight = (has_active_override && *dit == active_override) ? "*" : ""; - LL_DEBUGS("Avatar") << " POS " << highlight << "" << (*dit) << " default " << mDefaultScale << LL_ENDL; + std::string highlight = (has_active_override && offset == active_override) ? "*" : ""; + LL_DEBUGS("Avatar") << " POS " << highlight << "" << offset << " default " << mDefaultScale << LL_ENDL; } } } @@ -993,10 +982,8 @@ void LLJoint::updateWorldMatrixChildren() { updateWorldMatrix(); } - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; joint->updateWorldMatrixChildren(); } } @@ -1040,10 +1027,8 @@ void LLJoint::clampRotation(LLQuaternion old_rot, LLQuaternion new_rot) { LLVector3 main_axis(1.f, 0.f, 0.f); - for (joints_t::iterator iter = mChildren.begin(); - iter != mChildren.end(); ++iter) + for (LLJoint* joint : mChildren) { - LLJoint* joint = *iter; if (joint->isAnimatable()) { main_axis = joint->getPosition(); diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 403d5bcf49..6720f902bd 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -626,10 +626,8 @@ BOOL LLKeyframeMotion::setupPose() } // initialize joint constraints - for (JointMotionList::constraint_list_t::iterator iter = mJointMotionList->mConstraints.begin(); - iter != mJointMotionList->mConstraints.end(); ++iter) + for (JointConstraintSharedData* shared_constraintp : mJointMotionList->mConstraints) { - JointConstraintSharedData* shared_constraintp = *iter; JointConstraint* constraintp = new JointConstraint(shared_constraintp); initializeConstraint(constraintp); mConstraints.push_front(constraintp); @@ -764,19 +762,15 @@ void LLKeyframeMotion::applyConstraints(F32 time, U8* joint_mask) if (mCharacter->getSkeletonSerialNum() != mLastSkeletonSerialNum) { mLastSkeletonSerialNum = mCharacter->getSkeletonSerialNum(); - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; initializeConstraint(constraintp); } } // apply constraints - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; applyConstraint(constraintp, time, joint_mask); } } @@ -786,10 +780,8 @@ void LLKeyframeMotion::applyConstraints(F32 time, U8* joint_mask) //----------------------------------------------------------------------------- void LLKeyframeMotion::onDeactivate() { - for (constraint_list_t::iterator iter = mConstraints.begin(); - iter != mConstraints.end(); ++iter) + for (JointConstraint* constraintp : mConstraints) { - JointConstraint* constraintp = *iter; deactivateConstraint(constraintp); } } @@ -2016,10 +2008,9 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const success &= dp.packS32(joint_motionp->mRotationCurve.mNumKeys, "num_rot_keys"); LL_DEBUGS("BVH") << "Joint " << joint_motionp->mJointName << LL_ENDL; - for (RotationCurve::key_map_t::iterator iter = joint_motionp->mRotationCurve.mKeys.begin(); - iter != joint_motionp->mRotationCurve.mKeys.end(); ++iter) + for (RotationCurve::key_map_t::value_type& rot_pair : joint_motionp->mRotationCurve.mKeys) { - RotationKey& rot_key = iter->second; + RotationKey& rot_key = rot_pair.second; U16 time_short = F32_to_U16(rot_key.mTime, 0.f, mJointMotionList->mDuration); success &= dp.packU16(time_short, "time"); @@ -2038,10 +2029,9 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const } success &= dp.packS32(joint_motionp->mPositionCurve.mNumKeys, "num_pos_keys"); - for (PositionCurve::key_map_t::iterator iter = joint_motionp->mPositionCurve.mKeys.begin(); - iter != joint_motionp->mPositionCurve.mKeys.end(); ++iter) + for (PositionCurve::key_map_t::value_type& pos_pair : joint_motionp->mPositionCurve.mKeys) { - PositionKey& pos_key = iter->second; + PositionKey& pos_key = pos_pair.second; U16 time_short = F32_to_U16(pos_key.mTime, 0.f, mJointMotionList->mDuration); success &= dp.packU16(time_short, "time"); @@ -2060,10 +2050,8 @@ BOOL LLKeyframeMotion::serialize(LLDataPacker& dp) const success &= dp.packS32(mJointMotionList->mConstraints.size(), "num_constraints"); LL_DEBUGS("BVH") << "num_constraints " << mJointMotionList->mConstraints.size() << LL_ENDL; - for (JointMotionList::constraint_list_t::const_iterator iter = mJointMotionList->mConstraints.begin(); - iter != mJointMotionList->mConstraints.end(); ++iter) + for (JointConstraintSharedData* shared_constraintp : mJointMotionList->mConstraints) { - JointConstraintSharedData* shared_constraintp = *iter; success &= dp.packU8(shared_constraintp->mChainLength, "chain_length"); success &= dp.packU8(shared_constraintp->mConstraintType, "constraint_type"); char source_volume[16]; /* Flawfinder: ignore */ @@ -2415,14 +2403,13 @@ void LLKeyframeDataCache::dumpDiagInfo() LL_INFOS() << "-----------------------------------------------------" << LL_ENDL; // print each loaded mesh, and it's memory usage - for (keyframe_data_map_t::iterator map_it = sKeyframeDataMap.begin(); - map_it != sKeyframeDataMap.end(); ++map_it) + for (keyframe_data_map_t::value_type& data_pair : sKeyframeDataMap) { U32 joint_motion_kb; - LLKeyframeMotion::JointMotionList *motion_list_p = map_it->second; + LLKeyframeMotion::JointMotionList *motion_list_p = data_pair.second; - LL_INFOS() << "Motion: " << map_it->first << LL_ENDL; + LL_INFOS() << "Motion: " << data_pair.first << LL_ENDL; joint_motion_kb = motion_list_p->dumpDiagInfo(); diff --git a/indra/llcharacter/llkeyframemotionparam.cpp b/indra/llcharacter/llkeyframemotionparam.cpp index aba1c5db39..c80aabe294 100644 --- a/indra/llcharacter/llkeyframemotionparam.cpp +++ b/indra/llcharacter/llkeyframemotionparam.cpp @@ -64,13 +64,11 @@ LLKeyframeMotionParam::LLKeyframeMotionParam( const LLUUID &id) : LLMotion(id) //----------------------------------------------------------------------------- LLKeyframeMotionParam::~LLKeyframeMotionParam() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; delete paramMotion.mMotion; } motionList.clear(); @@ -90,13 +88,11 @@ LLMotion::LLMotionInitStatus LLKeyframeMotionParam::onInitialize(LLCharacter *ch return STATUS_FAILURE; } - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; LLMotion* motion = paramMotion.mMotion; motion->onInitialize(character); @@ -139,13 +135,11 @@ LLMotion::LLMotionInitStatus LLKeyframeMotionParam::onInitialize(LLCharacter *ch //----------------------------------------------------------------------------- BOOL LLKeyframeMotionParam::onActivate() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->activate(mActivationTimestamp); } } @@ -162,23 +156,20 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) F32 weightFactor = 1.f / (F32)mParameterizedMotions.size(); // zero out all pose weights - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; // LL_INFOS() << "Weight for pose " << paramMotion.mMotion->getName() << " is " << paramMotion.mMotion->getPose()->getWeight() << LL_ENDL; paramMotion.mMotion->getPose()->setWeight(0.f); } } - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - const std::string& paramName = iter->first; + const std::string& paramName = motion_pair.first; F32* paramValue = (F32 *)mCharacter->getAnimationData(paramName); if (NULL == paramValue) // unexpected, but... { @@ -190,10 +181,9 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) const ParameterizedMotion* firstMotion = NULL; const ParameterizedMotion* secondMotion = NULL; - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->onUpdate(time, joint_mask); F32 distToParam = paramMotion.mParam - *paramValue; @@ -280,13 +270,11 @@ BOOL LLKeyframeMotionParam::onUpdate(F32 time, U8* joint_mask) //----------------------------------------------------------------------------- void LLKeyframeMotionParam::onDeactivate() { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; paramMotion.mMotion->onDeactivate(); } } @@ -318,13 +306,11 @@ BOOL LLKeyframeMotionParam::addKeyframeMotion(char *name, const LLUUID &id, char //----------------------------------------------------------------------------- void LLKeyframeMotionParam::setDefaultKeyframeMotion(char *name) { - for (motion_map_t::iterator iter = mParameterizedMotions.begin(); - iter != mParameterizedMotions.end(); ++iter) + for (motion_map_t::value_type& motion_pair : mParameterizedMotions) { - motion_list_t& motionList = iter->second; - for (motion_list_t::iterator iter2 = motionList.begin(); iter2 != motionList.end(); ++iter2) + motion_list_t& motionList = motion_pair.second; + for (const ParameterizedMotion& paramMotion : motionList) { - const ParameterizedMotion& paramMotion = *iter2; if (paramMotion.mMotion->getName() == name) { mDefaultKeyframeMotion = paramMotion.mMotion; diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp index e66714388a..96e0d5e8d7 100644 --- a/indra/llcharacter/llmotioncontroller.cpp +++ b/indra/llcharacter/llmotioncontroller.cpp @@ -211,11 +211,8 @@ void LLMotionController::purgeExcessMotions() { // too many motions active this frame, kill all blenders mPoseBlender.clearBlenders(); - for (motion_set_t::iterator loaded_motion_it = mLoadedMotions.begin(); - loaded_motion_it != mLoadedMotions.end(); - ++loaded_motion_it) + for (LLMotion* cur_motionp : mLoadedMotions) { - LLMotion* cur_motionp = *loaded_motion_it; // motion isn't playing, delete it if (!isMotionActive(cur_motionp)) { @@ -225,13 +222,10 @@ void LLMotionController::purgeExcessMotions() } // clean up all inactive, loaded motions - for (std::set<LLUUID>::iterator motion_it = motions_to_kill.begin(); - motion_it != motions_to_kill.end(); - ++motion_it) + for (LLUUID motion_id : motions_to_kill) { // look up the motion again by ID to get canonical instance // and kill it only if that one is inactive - LLUUID motion_id = *motion_it; LLMotion* motionp = findMotion(motion_id); if (motionp && !isMotionActive(motionp)) { @@ -1059,12 +1053,11 @@ LLMotion* LLMotionController::findMotion(const LLUUID& id) const void LLMotionController::dumpMotions() { LL_INFOS() << "=====================================" << LL_ENDL; - for (motion_map_t::iterator iter = mAllMotions.begin(); - iter != mAllMotions.end(); iter++) + for (motion_map_t::value_type& motion_pair : mAllMotions) { - LLUUID id = iter->first; + LLUUID id = motion_pair.first; std::string state_string; - LLMotion *motion = iter->second; + LLMotion *motion = motion_pair.second; if (mLoadingMotions.find(motion) != mLoadingMotions.end()) state_string += std::string("l"); if (mLoadedMotions.find(motion) != mLoadedMotions.end()) @@ -1083,10 +1076,9 @@ void LLMotionController::dumpMotions() //----------------------------------------------------------------------------- void LLMotionController::deactivateAllMotions() { - for (motion_map_t::iterator iter = mAllMotions.begin(); - iter != mAllMotions.end(); iter++) + for (motion_map_t::value_type& motion_pair : mAllMotions) { - LLMotion* motionp = iter->second; + LLMotion* motionp = motion_pair.second; deactivateMotionInstance(motionp); } } @@ -1118,10 +1110,9 @@ void LLMotionController::flushAllMotions() mCharacter->removeAnimationData("Hand Pose"); // restart motions - for (std::vector<std::pair<LLUUID,F32> >::iterator iter = active_motions.begin(); - iter != active_motions.end(); ++iter) + for (std::vector<std::pair<LLUUID,F32> >::value_type& motion_pair : active_motions) { - startMotion(iter->first, iter->second); + startMotion(motion_pair.first, motion_pair.second); } } diff --git a/indra/llcharacter/llmultigesture.cpp b/indra/llcharacter/llmultigesture.cpp index 2045739c7f..7ed242f90a 100644 --- a/indra/llcharacter/llmultigesture.cpp +++ b/indra/llcharacter/llmultigesture.cpp @@ -88,10 +88,8 @@ S32 LLMultiGesture::getMaxSerialSize() const max_size += 64; // step count S32 - std::vector<LLGestureStep*>::const_iterator it; - for (it = mSteps.begin(); it != mSteps.end(); ++it) + for (LLGestureStep* step : mSteps) { - LLGestureStep* step = *it; max_size += 64; // type S32 max_size += step->getMaxSerialSize(); } diff --git a/indra/llcharacter/llpose.cpp b/indra/llcharacter/llpose.cpp index fc95fafd61..6f41a0e747 100644 --- a/indra/llcharacter/llpose.cpp +++ b/indra/llcharacter/llpose.cpp @@ -148,11 +148,9 @@ LLJointState* LLPose::findJointState(const std::string &name) void LLPose::setWeight(F32 weight) { joint_map_iterator iter; - for(iter = mJointMap.begin(); - iter != mJointMap.end(); - ++iter) + for (joint_map_value_type& joint_pair : mJointMap) { - iter->second->setWeight(weight); + joint_pair.second->setWeight(weight); } mWeight = weight; } diff --git a/indra/llcharacter/llstatemachine.cpp b/indra/llcharacter/llstatemachine.cpp index b917db3117..2e8214ffaf 100644 --- a/indra/llcharacter/llstatemachine.cpp +++ b/indra/llcharacter/llstatemachine.cpp @@ -169,10 +169,9 @@ void LLStateDiagram::setDefaultState(LLFSMState& default_state) S32 LLStateDiagram::numDeadendStates() { S32 numDeadends = 0; - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - if (state_it->second.size() == 0) + if (state_pair.second.size() == 0) { numDeadends++; } @@ -191,12 +190,11 @@ BOOL LLStateDiagram::stateIsValid(LLFSMState& state) LLFSMState* LLStateDiagram::getState(U32 state_id) { - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - if (state_it->first->getID() == state_id) + if (state_pair.first->getID() == state_id) { - return state_it->first; + return state_pair.first; } } return NULL; @@ -215,18 +213,16 @@ BOOL LLStateDiagram::saveDotFile(const std::string& filename) } apr_file_printf(dot_file, "digraph StateMachine {\n\tsize=\"100,100\";\n\tfontsize=40;\n\tlabel=\"Finite State Machine\";\n\torientation=landscape\n\tratio=.77\n"); - StateMap::iterator state_it; - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - apr_file_printf(dot_file, "\t\"%s\" [fontsize=28,shape=box]\n", state_it->first->getName().c_str()); + apr_file_printf(dot_file, "\t\"%s\" [fontsize=28,shape=box]\n", state_pair.first->getName().c_str()); } apr_file_printf(dot_file, "\t\"All States\" [fontsize=30,style=bold,shape=box]\n"); - Transitions::iterator transitions_it; - for(transitions_it = mDefaultTransitions.begin(); transitions_it != mDefaultTransitions.end(); ++transitions_it) + for (Transitions::value_type& transition_pair : mDefaultTransitions) { - apr_file_printf(dot_file, "\t\"All States\" -> \"%s\" [label = \"%s\",fontsize=24];\n", transitions_it->second->getName().c_str(), - transitions_it->second->getName().c_str()); + apr_file_printf(dot_file, "\t\"All States\" -> \"%s\" [label = \"%s\",fontsize=24];\n", transition_pair.second->getName().c_str(), + transition_pair.second->getName().c_str()); } if (mDefaultState) @@ -235,18 +231,15 @@ BOOL LLStateDiagram::saveDotFile(const std::string& filename) } - for(state_it = mStates.begin(); state_it != mStates.end(); ++state_it) + for (StateMap::value_type& state_pair : mStates) { - LLFSMState *state = state_it->first; + LLFSMState *state = state_pair.first; - Transitions::iterator transitions_it; - for(transitions_it = state_it->second.begin(); - transitions_it != state_it->second.end(); - ++transitions_it) + for (Transitions::value_type& transition_pair : state_pair.second) { std::string state_name = state->getName(); - std::string target_name = transitions_it->second->getName(); - std::string transition_name = transitions_it->first->getName(); + std::string target_name = transition_pair.second->getName(); + std::string transition_name = transition_pair.first->getName(); apr_file_printf(dot_file, "\t\"%s\" -> \"%s\" [label = \"%s\",fontsize=24];\n", state->getName().c_str(), target_name.c_str(), transition_name.c_str()); @@ -265,25 +258,18 @@ std::ostream& operator<<(std::ostream &s, LLStateDiagram &FSM) s << "Default State: " << FSM.mDefaultState->getName() << "\n"; } - LLStateDiagram::Transitions::iterator transitions_it; - for(transitions_it = FSM.mDefaultTransitions.begin(); - transitions_it != FSM.mDefaultTransitions.end(); - ++transitions_it) + for (LLStateDiagram::Transitions::value_type& transition_pair : FSM.mDefaultTransitions) { - s << "Any State -- " << transitions_it->first->getName() - << " --> " << transitions_it->second->getName() << "\n"; + s << "Any State -- " << transition_pair.first->getName() + << " --> " << transition_pair.second->getName() << "\n"; } - LLStateDiagram::StateMap::iterator state_it; - for(state_it = FSM.mStates.begin(); state_it != FSM.mStates.end(); ++state_it) + for (LLStateDiagram::StateMap::value_type& state_pair : FSM.mStates) { - LLStateDiagram::Transitions::iterator transitions_it; - for(transitions_it = state_it->second.begin(); - transitions_it != state_it->second.end(); - ++transitions_it) + for (LLStateDiagram::Transitions::value_type& transition_pair : state_pair.second) { - s << state_it->first->getName() << " -- " << transitions_it->first->getName() - << " --> " << transitions_it->second->getName() << "\n"; + s << state_pair.first->getName() << " -- " << transition_pair.first->getName() + << " --> " << transition_pair.second->getName() << "\n"; } s << "\n"; } diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 3d073b009c..54020a4231 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -105,6 +105,7 @@ set(llcommon_SOURCE_FILES lluriparser.cpp lluuid.cpp llworkerthread.cpp + hbxxh.cpp u64.cpp threadpool.cpp workqueue.cpp @@ -241,6 +242,7 @@ set(llcommon_HEADER_FILES llwin32headers.h llwin32headerslean.h llworkerthread.h + hbxxh.h lockstatic.h stdtypes.h stringize.h diff --git a/indra/llcommon/hbxxh.cpp b/indra/llcommon/hbxxh.cpp new file mode 100644 index 0000000000..388269d6c8 --- /dev/null +++ b/indra/llcommon/hbxxh.cpp @@ -0,0 +1,377 @@ +/** + * @file hbxxh.cpp + * @brief High performances vectorized hashing based on xxHash. + * + * $LicenseInfo:firstyear=2023&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (c) 2023, Henri Beauchamp. + * + * 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" + +// This define ensures that xxHash will be compiled within this module, with +// vectorized (*) and inlined functions (with no exported API symbol); our +// xxhash "pre-built library" package actually only contains the xxhash.h +// header (no library needed at link time). +// (*) SSE2 is normally used for x86(_64) builds, unless you enabled AVX2 +// in your build, in which case the latter would be used instead. For ARM64 +// builds, this would also automatically enable NEON vectorization. +#define XXH_INLINE_ALL +#include "xxhash/xxhash.h" + +#include "hbxxh.h" + +// How many bytes to grab at a time when hashing files or streams +constexpr size_t BLOCK_LEN = 4096; + +/////////////////////////////////////////////////////////////////////////////// +// HBXXH64 class +/////////////////////////////////////////////////////////////////////////////// + +//static +U64 HBXXH64::digest(const void* buffer, size_t len) +{ + return XXH3_64bits(buffer, len); +} + +//static +U64 HBXXH64::digest(const char* str) +{ + return XXH3_64bits((const void*)str, strlen(str)); +} + +//static +U64 HBXXH64::digest(const std::string& str) +{ + return XXH3_64bits((const void*)str.c_str(), str.size()); +} + +// Must be called by all constructors. +void HBXXH64::init() +{ + mDigest = 0; + mState = (void*)XXH3_createState(); + if (!mState || XXH3_64bits_reset((XXH3_state_t*)mState) != XXH_OK) + { + LL_WARNS() << "Failed to initialize state !" << LL_ENDL; + } +} + +HBXXH64::~HBXXH64() +{ + if (mState) + { + XXH3_freeState((XXH3_state_t*)mState); + } +} + +void HBXXH64::update(const void* buffer, size_t len) +{ + if (mState) + { + XXH3_64bits_update((XXH3_state_t*)mState, buffer, len); + } + else + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + } +} + +void HBXXH64::update(const std::string& str) +{ + if (mState) + { + XXH3_64bits_update((XXH3_state_t*)mState, (const void*)str.c_str(), + str.length()); + } + else + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + } +} + +void HBXXH64::update(std::istream& stream) +{ + if (!mState) + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + return; + } + + char buffer[BLOCK_LEN]; + size_t len; + while (stream.good()) + { + stream.read(buffer, BLOCK_LEN); + len = stream.gcount(); + XXH3_64bits_update((XXH3_state_t*)mState, (const void*)buffer, len); + } +} + +void HBXXH64::update(FILE* file) +{ + if (!mState) + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + return; + } + + char buffer[BLOCK_LEN]; + size_t len; + while ((len = fread((void*)buffer, 1, BLOCK_LEN, file))) + { + XXH3_64bits_update((XXH3_state_t*)mState, (const void*)buffer, len); + } + fclose(file); +} + +void HBXXH64::finalize() +{ + if (!mState) + { + LL_WARNS() << "Already finalized !" << LL_ENDL; + return; + } + mDigest = XXH3_64bits_digest((XXH3_state_t*)mState); + XXH3_freeState((XXH3_state_t*)mState); + mState = NULL; +} + +U64 HBXXH64::digest() const +{ + return mState ? XXH3_64bits_digest((XXH3_state_t*)mState) : mDigest; +} + +std::ostream& operator<<(std::ostream& stream, HBXXH64 context) +{ + stream << context.digest(); + return stream; +} + +/////////////////////////////////////////////////////////////////////////////// +// HBXXH128 class +/////////////////////////////////////////////////////////////////////////////// + +//static +LLUUID HBXXH128::digest(const void* buffer, size_t len) +{ + XXH128_hash_t hash = XXH3_128bits(buffer, len); + LLUUID id; + U64* data = (U64*)id.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; + return id; +} + +//static +LLUUID HBXXH128::digest(const char* str) +{ + XXH128_hash_t hash = XXH3_128bits((const void*)str, strlen(str)); + LLUUID id; + U64* data = (U64*)id.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; + return id; +} + +//static +LLUUID HBXXH128::digest(const std::string& str) +{ + XXH128_hash_t hash = XXH3_128bits((const void*)str.c_str(), str.size()); + LLUUID id; + U64* data = (U64*)id.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; + return id; +} + +//static +void HBXXH128::digest(LLUUID& result, const void* buffer, size_t len) +{ + XXH128_hash_t hash = XXH3_128bits(buffer, len); + U64* data = (U64*)result.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; +} + +//static +void HBXXH128::digest(LLUUID& result, const char* str) +{ + XXH128_hash_t hash = XXH3_128bits((const void*)str, strlen(str)); + U64* data = (U64*)result.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; +} + +//static +void HBXXH128::digest(LLUUID& result, const std::string& str) +{ + XXH128_hash_t hash = XXH3_128bits((const void*)str.c_str(), str.size()); + U64* data = (U64*)result.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; +} + +// Must be called by all constructors. +void HBXXH128::init() +{ + mState = (void*)XXH3_createState(); + if (!mState || XXH3_128bits_reset((XXH3_state_t*)mState) != XXH_OK) + { + LL_WARNS() << "Failed to initialize state !" << LL_ENDL; + } +} + +HBXXH128::~HBXXH128() +{ + if (mState) + { + XXH3_freeState((XXH3_state_t*)mState); + } +} + +void HBXXH128::update(const void* buffer, size_t len) +{ + if (mState) + { + XXH3_128bits_update((XXH3_state_t*)mState, buffer, len); + } + else + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + } +} + +void HBXXH128::update(const std::string& str) +{ + if (mState) + { + XXH3_128bits_update((XXH3_state_t*)mState, (const void*)str.c_str(), + str.length()); + } + else + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + } +} + +void HBXXH128::update(std::istream& stream) +{ + if (!mState) + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + return; + } + + char buffer[BLOCK_LEN]; + size_t len; + while (stream.good()) + { + stream.read(buffer, BLOCK_LEN); + len = stream.gcount(); + XXH3_128bits_update((XXH3_state_t*)mState, (const void*)buffer, len); + } +} + +void HBXXH128::update(FILE* file) +{ + if (!mState) + { + LL_WARNS() << "Cannot update a finalized digest !" << LL_ENDL; + return; + } + + char buffer[BLOCK_LEN]; + size_t len; + while ((len = fread((void*)buffer, 1, BLOCK_LEN, file))) + { + XXH3_128bits_update((XXH3_state_t*)mState, (const void*)buffer, len); + } + fclose(file); +} + +void HBXXH128::finalize() +{ + if (!mState) + { + LL_WARNS() << "Already finalized !" << LL_ENDL; + return; + } + XXH128_hash_t hash = XXH3_128bits_digest((XXH3_state_t*)mState); + U64* data = (U64*)mDigest.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; + XXH3_freeState((XXH3_state_t*)mState); + mState = NULL; +} + +const LLUUID& HBXXH128::digest() const +{ + if (mState) + { + XXH128_hash_t hash = XXH3_128bits_digest((XXH3_state_t*)mState); + // We cheat the const-ness of the method here, but this is OK, since + // mDigest is private and cannot be accessed indirectly by other + // methods than digest() ones, that do check for mState to decide + // wether mDigest's current value may be provided as is or not. This + // cheat saves us a temporary LLLUID copy. + U64* data = (U64*)mDigest.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; + } + return mDigest; +} + +void HBXXH128::digest(LLUUID& result) const +{ + if (!mState) + { + result = mDigest; + return; + } + XXH128_hash_t hash = XXH3_128bits_digest((XXH3_state_t*)mState); + U64* data = (U64*)result.mData; + // Note: we do not check endianness here and we just store in the same + // order as XXH128_hash_t, that is low word "first". + data[0] = hash.low64; + data[1] = hash.high64; +} + +std::ostream& operator<<(std::ostream& stream, HBXXH128 context) +{ + stream << context.digest(); + return stream; +} diff --git a/indra/llcommon/hbxxh.h b/indra/llcommon/hbxxh.h new file mode 100644 index 0000000000..9c0e9cf172 --- /dev/null +++ b/indra/llcommon/hbxxh.h @@ -0,0 +1,277 @@ +/** + * @file hbxxh.h + * @brief High performances vectorized hashing based on xxHash. + * + * $LicenseInfo:firstyear=2023&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (c) 2023, Henri Beauchamp. + * + * 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_HBXXH_H +#define LL_HBXXH_H + +#include "lluuid.h" + +// HBXXH* classes are to be used where speed matters and cryptographic quality +// is not required (no "one-way" guarantee, though they are likely not worst in +// this respect than MD5 which got busted and is now considered too weak). The +// xxHash code they are built upon is vectorized and about 50 times faster than +// MD5. A 64 bits hash class is also provided for when 128 bits of entropy are +// not needed. The hashes collision rate is similar to MD5's. +// See https://github.com/Cyan4973/xxHash#readme for details. + +// 64 bits hashing class + +class HBXXH64 +{ + friend std::ostream& operator<<(std::ostream&, HBXXH64); + +protected: + LOG_CLASS(HBXXH64); + +public: + inline HBXXH64() { init(); } + + // Constructors for special circumstances; they all digest the first passed + // parameter. Set 'do_finalize' to false if you do not want to finalize the + // context, which is useful/needed when you want to update() it afterwards. + // Ideally, the compiler should be smart enough to get our clue and + // optimize out the const bool test during inlining... + + inline HBXXH64(const void* buffer, size_t len, + const bool do_finalize = true) + { + init(); + update(buffer, len); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH64(const std::string& str, const bool do_finalize = true) + { + init(); + update(str); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH64(std::istream& s, const bool do_finalize = true) + { + init(); + update(s); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH64(FILE* file, const bool do_finalize = true) + { + init(); + update(file); + if (do_finalize) + { + finalize(); + } + } + + // Make this class no-copy (it would be possible, with custom copy + // operators, but it is not trivially copyable, because of the mState + // pointer): it does not really make sense to allow copying it anyway, + // since all we care about is the resulting digest (so you should only + // need and care about storing/copying the digest and not a class + // instance). + HBXXH64(const HBXXH64&) noexcept = delete; + HBXXH64& operator=(const HBXXH64&) noexcept = delete; + + ~HBXXH64(); + + void update(const void* buffer, size_t len); + void update(const std::string& str); + void update(std::istream& s); + void update(FILE* file); + + // Note that unlike what happens with LLMD5, you do not need to finalize() + // HBXXH64 before using digest(), and you may keep updating() it even after + // you got a first digest() (the next digest would of course change after + // any update). It is still useful to use finalize() when you do not want + // to store a final digest() result in a separate U64; after this method + // has been called, digest() simply returns mDigest value. + void finalize(); + + U64 digest() const; + + // Fast static methods. Use them when hashing just one contiguous block of + // data. + static U64 digest(const void* buffer, size_t len); + static U64 digest(const char* str); // str must be NUL-terminated + static U64 digest(const std::string& str); + +private: + void init(); + +private: + // We use a void pointer to avoid including xxhash.h here for XXH3_state_t + // (which cannot either be trivially forward-declared, due to complex API + // related pre-processor macros in xxhash.h). + void* mState; + U64 mDigest; +}; + +inline bool operator==(const HBXXH64& a, const HBXXH64& b) +{ + return a.digest() == b.digest(); +} + +inline bool operator!=(const HBXXH64& a, const HBXXH64& b) +{ + return a.digest() != b.digest(); +} + +// 128 bits hashing class + +class HBXXH128 +{ + friend std::ostream& operator<<(std::ostream&, HBXXH128); + +protected: + LOG_CLASS(HBXXH128); + +public: + inline HBXXH128() { init(); } + + // Constructors for special circumstances; they all digest the first passed + // parameter. Set 'do_finalize' to false if you do not want to finalize the + // context, which is useful/needed when you want to update() it afterwards. + // Ideally, the compiler should be smart enough to get our clue and + // optimize out the const bool test during inlining... + + inline HBXXH128(const void* buffer, size_t len, + const bool do_finalize = true) + { + init(); + update(buffer, len); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH128(const std::string& str, const bool do_finalize = true) + { + init(); + update(str); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH128(std::istream& s, const bool do_finalize = true) + { + init(); + update(s); + if (do_finalize) + { + finalize(); + } + } + + inline HBXXH128(FILE* file, const bool do_finalize = true) + { + init(); + update(file); + if (do_finalize) + { + finalize(); + } + } + + // Make this class no-copy (it would be possible, with custom copy + // operators, but it is not trivially copyable, because of the mState + // pointer): it does not really make sense to allow copying it anyway, + // since all we care about is the resulting digest (so you should only + // need and care about storing/copying the digest and not a class + // instance). + HBXXH128(const HBXXH128&) noexcept = delete; + HBXXH128& operator=(const HBXXH128&) noexcept = delete; + + ~HBXXH128(); + + void update(const void* buffer, size_t len); + void update(const std::string& str); + void update(std::istream& s); + void update(FILE* file); + + // Note that unlike what happens with LLMD5, you do not need to finalize() + // HBXXH128 before using digest(), and you may keep updating() it even + // after you got a first digest() (the next digest would of course change + // after any update). It is still useful to use finalize() when you do not + // want to store a final digest() result in a separate LLUUID; after this + // method has been called, digest() simply returns a reference on mDigest. + void finalize(); + + // We use an LLUUID for the digest, since this is a 128 bits wide native + // type available in the viewer code, making it easy to manipulate. It also + // allows to use HBXXH128 efficiently in LLUUID generate() and combine() + // methods. + const LLUUID& digest() const; + + // Here, we avoid an LLUUID copy whenever we already got one to store the + // result *and* we did not yet call finalize(). + void digest(LLUUID& result) const; + + // Fast static methods. Use them when hashing just one contiguous block of + // data. + static LLUUID digest(const void* buffer, size_t len); + static LLUUID digest(const char* str); // str must be NUL-terminated + static LLUUID digest(const std::string& str); + // Same as above, but saves you from an LLUUID copy when you already got + // one for storage use. + static void digest(LLUUID& result, const void* buffer, size_t len); + static void digest(LLUUID& result, const char* str); // str NUL-terminated + static void digest(LLUUID& result, const std::string& str); + +private: + void init(); + +private: + // We use a void pointer to avoid including xxhash.h here for XXH3_state_t + // (which cannot either be trivially forward-declared, due to complex API + // related pre-processor macros in xxhash.h). + void* mState; + LLUUID mDigest; +}; + +inline bool operator==(const HBXXH128& a, const HBXXH128& b) +{ + return a.digest() == b.digest(); +} + +inline bool operator!=(const HBXXH128& a, const HBXXH128& b) +{ + return a.digest() != b.digest(); +} + +#endif // LL_HBXXH_H diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp index b2eafde1aa..c6d9542b42 100644 --- a/indra/llcommon/llallocator_heap_profile.cpp +++ b/indra/llcommon/llallocator_heap_profile.cpp @@ -130,15 +130,13 @@ void LLAllocatorHeapProfile::parse(std::string const & prof_text) void LLAllocatorHeapProfile::dump(std::ostream & out) const { - lines_t::const_iterator i; - for(i = mLines.begin(); i != mLines.end(); ++i) + for (const LLAllocatorHeapProfile::line& line : mLines) { - out << i->mLiveCount << ": " << i->mLiveSize << '[' << i->mTotalCount << ": " << i->mTotalSize << "] @"; + out << line.mLiveCount << ": " << line.mLiveSize << '[' << line.mTotalCount << ": " << line.mTotalSize << "] @"; - stack_trace::const_iterator j; - for(j = i->mTrace.begin(); j != i->mTrace.end(); ++j) + for (const stack_marker marker : line.mTrace) { - out << ' ' << *j; + out << ' ' << marker; } out << '\n'; } diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index 3ff8d16bbb..d839b19c99 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -862,14 +862,14 @@ bool unix_post_minidump_callback(const char *dump_dir, // heap allocations in a crash handler. // path format: <dump_dir>/<minidump_id>.dmp - int dirPathLength = strlen(dump_dir); - int idLength = strlen(minidump_id); + auto dirPathLength = strlen(dump_dir); + auto idLength = strlen(minidump_id); // The path must not be truncated. llassert((dirPathLength + idLength + 5) <= LLApp::MAX_MINDUMP_PATH_LENGTH); char * path = LLApp::instance()->getMiniDumpFilename(); - S32 remaining = LLApp::MAX_MINDUMP_PATH_LENGTH; + auto remaining = LLApp::MAX_MINDUMP_PATH_LENGTH; strncpy(path, dump_dir, remaining); remaining -= dirPathLength; path += dirPathLength; diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp index e6cc06e8d0..4c84223dad 100644 --- a/indra/llcommon/llassettype.cpp +++ b/indra/llcommon/llassettype.cpp @@ -150,14 +150,12 @@ LLAssetType::EType LLAssetType::lookup(const char* name) LLAssetType::EType LLAssetType::lookup(const std::string& type_name) { const LLAssetDictionary *dict = LLAssetDictionary::getInstance(); - for (LLAssetDictionary::const_iterator iter = dict->begin(); - iter != dict->end(); - iter++) + for (const LLAssetDictionary::value_type& pair : *dict) { - const AssetEntry *entry = iter->second; + const AssetEntry *entry = pair.second; if (type_name == entry->mTypeName) { - return iter->first; + return pair.first; } } return AT_UNKNOWN; @@ -188,14 +186,12 @@ LLAssetType::EType LLAssetType::lookupHumanReadable(const char* name) LLAssetType::EType LLAssetType::lookupHumanReadable(const std::string& readable_name) { const LLAssetDictionary *dict = LLAssetDictionary::getInstance(); - for (LLAssetDictionary::const_iterator iter = dict->begin(); - iter != dict->end(); - iter++) + for (const LLAssetDictionary::value_type& pair : *dict) { - const AssetEntry *entry = iter->second; + const AssetEntry *entry = pair.second; if (entry->mHumanName && (readable_name == entry->mHumanName)) { - return iter->first; + return pair.first; } } return AT_NONE; diff --git a/indra/llcommon/llbase64.cpp b/indra/llcommon/llbase64.cpp index 4e82cf7f20..bb85fe32a3 100644 --- a/indra/llcommon/llbase64.cpp +++ b/indra/llcommon/llbase64.cpp @@ -42,7 +42,7 @@ std::string LLBase64::encode(const U8* input, size_t input_size) && input_size > 0) { // Yes, it returns int. - int b64_buffer_length = apr_base64_encode_len(input_size); + int b64_buffer_length = apr_base64_encode_len(narrow(input_size)); char* b64_buffer = new char[b64_buffer_length]; // This is faster than apr_base64_encode() if you know @@ -52,7 +52,7 @@ std::string LLBase64::encode(const U8* input, size_t input_size) b64_buffer_length = apr_base64_encode_binary( b64_buffer, input, - input_size); + narrow(input_size)); output.assign(b64_buffer); delete[] b64_buffer; } diff --git a/indra/llcommon/llcallbacklist.cpp b/indra/llcommon/llcallbacklist.cpp index 541ff75ee4..93d0a035da 100644 --- a/indra/llcommon/llcallbacklist.cpp +++ b/indra/llcommon/llcallbacklist.cpp @@ -109,7 +109,7 @@ void LLCallbackList::deleteAllFunctions() void LLCallbackList::callFunctions() { - for (callback_list_t::iterator iter = mCallbackList.begin(); iter != mCallbackList.end(); ) + for (callback_list_t::iterator iter = mCallbackList.begin(); iter != mCallbackList.end(); ) { callback_list_t::iterator curiter = iter++; curiter->first(curiter->second); diff --git a/indra/llcommon/llcallstack.cpp b/indra/llcommon/llcallstack.cpp index 8db291eed1..83d5ae2a63 100644 --- a/indra/llcommon/llcallstack.cpp +++ b/indra/llcommon/llcallstack.cpp @@ -91,10 +91,9 @@ LLCallStack::LLCallStack(S32 skip_count, bool verbose): bool LLCallStack::contains(const std::string& str) { - for (std::vector<std::string>::const_iterator it = m_strings.begin(); - it != m_strings.end(); ++it) + for (const std::string& src_str : m_strings) { - if (it->find(str) != std::string::npos) + if (src_str.find(str) != std::string::npos) { return true; } @@ -105,10 +104,9 @@ bool LLCallStack::contains(const std::string& str) std::ostream& operator<<(std::ostream& s, const LLCallStack& call_stack) { #ifndef LL_RELEASE_FOR_DOWNLOAD - std::vector<std::string>::const_iterator it; - for (it=call_stack.m_strings.begin(); it!=call_stack.m_strings.end(); ++it) + for (const std::string& str : call_stack.m_strings) { - s << *it; + s << str; } #else s << "UNAVAILABLE IN RELEASE"; @@ -156,9 +154,9 @@ bool LLContextStrings::contains(const std::string& str) { const std::map<std::string,S32>& strings = LLThreadLocalSingletonPointer<LLContextStrings>::getInstance()->m_contextStrings; - for (std::map<std::string,S32>::const_iterator it = strings.begin(); it!=strings.end(); ++it) + for (const std::map<std::string,S32>::value_type& str_pair : strings) { - if (it->first.find(str) != std::string::npos) + if (str_pair.first.find(str) != std::string::npos) { return true; } @@ -171,9 +169,9 @@ void LLContextStrings::output(std::ostream& os) { const std::map<std::string,S32>& strings = LLThreadLocalSingletonPointer<LLContextStrings>::getInstance()->m_contextStrings; - for (std::map<std::string,S32>::const_iterator it = strings.begin(); it!=strings.end(); ++it) + for (const std::map<std::string,S32>::value_type& str_pair : strings) { - os << it->first << "[" << it->second << "]" << "\n"; + os << str_pair.first << "[" << str_pair.second << "]" << "\n"; } } diff --git a/indra/llcommon/lldefs.h b/indra/llcommon/lldefs.h index 5a4b8325f4..4e25001fff 100644 --- a/indra/llcommon/lldefs.h +++ b/indra/llcommon/lldefs.h @@ -28,6 +28,7 @@ #define LL_LLDEFS_H #include "stdtypes.h" +#include <type_traits> // Often used array indices const U32 VX = 0; @@ -166,82 +167,67 @@ const U32 MAXADDRSTR = 17; // 123.567.901.345 = 15 chars + \0 + 1 for good luc // // defined for U16, U32, U64, S16, S32, S64, : // llclampb(a) // clamps a to [0 .. 255] -// - -template <class LLDATATYPE> -inline LLDATATYPE llmax(const LLDATATYPE& d1, const LLDATATYPE& d2) -{ - return (d1 > d2) ? d1 : d2; -} - -template <class LLDATATYPE> -inline LLDATATYPE llmax(const LLDATATYPE& d1, const LLDATATYPE& d2, const LLDATATYPE& d3) -{ - LLDATATYPE r = llmax(d1,d2); - return llmax(r, d3); -} +// -template <class LLDATATYPE> -inline LLDATATYPE llmax(const LLDATATYPE& d1, const LLDATATYPE& d2, const LLDATATYPE& d3, const LLDATATYPE& d4) +// recursion tail +template <typename T> +inline auto llmax(T data) { - LLDATATYPE r1 = llmax(d1,d2); - LLDATATYPE r2 = llmax(d3,d4); - return llmax(r1, r2); + return data; } -template <class LLDATATYPE> -inline LLDATATYPE llmin(const LLDATATYPE& d1, const LLDATATYPE& d2) +template <typename T0, typename T1, typename... Ts> +inline auto llmax(T0 d0, T1 d1, Ts... rest) { - return (d1 < d2) ? d1 : d2; + auto maxrest = llmax(d1, rest...); + return (d0 > maxrest)? d0 : maxrest; } -template <class LLDATATYPE> -inline LLDATATYPE llmin(const LLDATATYPE& d1, const LLDATATYPE& d2, const LLDATATYPE& d3) +// recursion tail +template <typename T> +inline auto llmin(T data) { - LLDATATYPE r = llmin(d1,d2); - return (r < d3 ? r : d3); + return data; } -template <class LLDATATYPE> -inline LLDATATYPE llmin(const LLDATATYPE& d1, const LLDATATYPE& d2, const LLDATATYPE& d3, const LLDATATYPE& d4) +template <typename T0, typename T1, typename... Ts> +inline auto llmin(T0 d0, T1 d1, Ts... rest) { - LLDATATYPE r1 = llmin(d1,d2); - LLDATATYPE r2 = llmin(d3,d4); - return llmin(r1, r2); + auto minrest = llmin(d1, rest...); + return (d0 < minrest) ? d0 : minrest; } -template <class LLDATATYPE> -inline LLDATATYPE llclamp(const LLDATATYPE& a, const LLDATATYPE& minval, const LLDATATYPE& maxval) +template <typename A, typename MIN, typename MAX> +inline A llclamp(A a, MIN minval, MAX maxval) { - if ( a < minval ) + A aminval{ static_cast<A>(minval) }, amaxval{ static_cast<A>(maxval) }; + if ( a < aminval ) { - return minval; + return aminval; } - else if ( a > maxval ) + else if ( a > amaxval ) { - return maxval; + return amaxval; } return a; } template <class LLDATATYPE> -inline LLDATATYPE llclampf(const LLDATATYPE& a) +inline LLDATATYPE llclampf(LLDATATYPE a) { - return llmin(llmax(a, (LLDATATYPE)0), (LLDATATYPE)1); + return llmin(llmax(a, LLDATATYPE(0)), LLDATATYPE(1)); } template <class LLDATATYPE> -inline LLDATATYPE llclampb(const LLDATATYPE& a) +inline LLDATATYPE llclampb(LLDATATYPE a) { - return llmin(llmax(a, (LLDATATYPE)0), (LLDATATYPE)255); + return llmin(llmax(a, LLDATATYPE(0)), LLDATATYPE(255)); } template <class LLDATATYPE> inline void llswap(LLDATATYPE& lhs, LLDATATYPE& rhs) { - LLDATATYPE tmp = lhs; - lhs = rhs; - rhs = tmp; + std::swap(lhs, rhs); } #endif // LL_LLDEFS_H diff --git a/indra/llcommon/lldependencies.cpp b/indra/llcommon/lldependencies.cpp index 0d5757effd..db546c5c3b 100644 --- a/indra/llcommon/lldependencies.cpp +++ b/indra/llcommon/lldependencies.cpp @@ -42,7 +42,7 @@ // other Linden headers #include "llexception.h" -LLDependenciesBase::VertexList LLDependenciesBase::topo_sort(int vertices, const EdgeList& edges) const +LLDependenciesBase::VertexList LLDependenciesBase::topo_sort(size_t vertices, const EdgeList& edges) const { // Construct a Boost Graph Library graph according to the constraints // we've collected. It seems as though we ought to be able to capture diff --git a/indra/llcommon/lldependencies.h b/indra/llcommon/lldependencies.h index db2bbab8b0..950af4a4ad 100644 --- a/indra/llcommon/lldependencies.h +++ b/indra/llcommon/lldependencies.h @@ -126,7 +126,7 @@ public: protected: typedef std::vector< std::pair<std::size_t, std::size_t> > EdgeList; typedef std::vector<std::size_t> VertexList; - VertexList topo_sort(int vertices, const EdgeList& edges) const; + VertexList topo_sort(size_t vertices, const EdgeList& edges) const; /** * refpair is specifically intended to capture a pair of references. This @@ -539,7 +539,7 @@ public: for (typename DepNodeMap::const_iterator nmi = mNodes.begin(), nmend = mNodes.end(); nmi != nmend; ++nmi) { - int thisnode = vmap[nmi->first]; + auto thisnode = vmap[nmi->first]; // after dependencies: build edges from the named node to this one for (typename DepNode::dep_set::const_iterator ai = nmi->second.after.begin(), aend = nmi->second.after.end(); diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 56fb7c21ca..02cb186275 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -586,11 +586,9 @@ namespace void Globals::invalidateCallSites() { - for (CallSiteVector::const_iterator i = callSites.begin(); - i != callSites.end(); - ++i) + for (LLError::CallSite* site : callSites) { - (*i)->invalidate(); + site->invalidate(); } callSites.clear(); @@ -1224,12 +1222,8 @@ namespace std::string escaped_message; LLMutexLock lock(&s->mRecorderMutex); - for (Recorders::const_iterator i = s->mRecorders.begin(); - i != s->mRecorders.end(); - ++i) + for (LLError::RecorderPtr& r : s->mRecorders) { - LLError::RecorderPtr r = *i; - if (!r->enabled()) { continue; @@ -1514,7 +1508,7 @@ namespace LLError const size_t BUF_SIZE = 64; char time_str[BUF_SIZE]; /* Flawfinder: ignore */ - int chars = strftime(time_str, BUF_SIZE, + auto chars = strftime(time_str, BUF_SIZE, "%Y-%m-%dT%H:%M:%SZ", gmtime(&now)); diff --git a/indra/llcommon/llevent.cpp b/indra/llcommon/llevent.cpp index 633df01588..501d06e3cd 100644 --- a/indra/llcommon/llevent.cpp +++ b/indra/llcommon/llevent.cpp @@ -203,10 +203,9 @@ void LLSimpleDispatcher::removeListener(LLEventListener* listener) std::vector<LLListenerEntry> LLSimpleDispatcher::getListeners() const { std::vector<LLListenerEntry> ret; - std::vector<LLListenerEntry>::const_iterator itor; - for (itor=mListeners.begin(); itor!=mListeners.end(); ++itor) + for (const LLListenerEntry& entry : mListeners) { - ret.push_back(*itor); + ret.push_back(entry); } return ret; @@ -215,14 +214,12 @@ std::vector<LLListenerEntry> LLSimpleDispatcher::getListeners() const // virtual bool LLSimpleDispatcher::fireEvent(LLPointer<LLEvent> event, LLSD filter) { - std::vector<LLListenerEntry>::iterator itor; std::string filter_string = filter.asString(); - for (itor=mListeners.begin(); itor!=mListeners.end(); ++itor) + for (LLListenerEntry& entry : mListeners) { - LLListenerEntry& entry = *itor; if (filter_string == "" || entry.filter.asString() == filter_string) { - (entry.listener)->handleEvent(event, (*itor).userdata); + (entry.listener)->handleEvent(event, entry.userdata); } } return true; @@ -276,10 +273,9 @@ void LLSimpleListener::clearDispatchers() bool LLSimpleListener::handleAttach(LLEventDispatcher *dispatcher) { // Add dispatcher if it doesn't already exist - std::vector<LLEventDispatcher *>::iterator itor; - for (itor = mDispatchers.begin(); itor != mDispatchers.end(); ++itor) + for (LLEventDispatcher* disp : mDispatchers) { - if ((*itor) == dispatcher) return true; + if (disp == dispatcher) return true; } mDispatchers.push_back(dispatcher); return true; diff --git a/indra/llcommon/lleventdispatcher.cpp b/indra/llcommon/lleventdispatcher.cpp index 5b6d4efbe9..cd0ab6bc29 100644 --- a/indra/llcommon/lleventdispatcher.cpp +++ b/indra/llcommon/lleventdispatcher.cpp @@ -178,7 +178,7 @@ private: // store it as a map from name string to position index. Of course that's // easy to generate from the incoming names array, but why do it more than // once? - typedef std::map<LLSD::String, LLSD::Integer> IndexMap; + typedef std::map<LLSD::String, size_t> IndexMap; IndexMap _indexes; // Generated array of default values, aligned with the array of param names. LLSD _defaults; @@ -197,9 +197,9 @@ LLSDArgsMapper::LLSDArgsMapper(const std::string& function, { LL_ERRS("LLSDArgsMapper") << function << " names must be an array, not " << names << LL_ENDL; } - LLSD::Integer nparams(_names.size()); + auto nparams(_names.size()); // From _names generate _indexes. - for (LLSD::Integer ni = 0, nend = _names.size(); ni < nend; ++ni) + for (size_t ni = 0, nend = _names.size(); ni < nend; ++ni) { _indexes[_names[ni]] = ni; } @@ -214,7 +214,7 @@ LLSDArgsMapper::LLSDArgsMapper(const std::string& function, if (defaults.isUndefined() || defaults.isArray()) { - LLSD::Integer ndefaults = defaults.size(); + auto ndefaults = defaults.size(); // defaults is a (possibly empty) array. Right-align it with names. if (ndefaults > nparams) { @@ -224,10 +224,10 @@ LLSDArgsMapper::LLSDArgsMapper(const std::string& function, // Offset by which we slide defaults array right to right-align with // _names array - LLSD::Integer offset = nparams - ndefaults; + auto offset = nparams - ndefaults; // Fill rightmost _defaults entries from defaults, and mark them as // filled - for (LLSD::Integer i = 0, iend = ndefaults; i < iend; ++i) + for (size_t i = 0, iend = ndefaults; i < iend; ++i) { _defaults[i + offset] = defaults[i]; _has_dft[i + offset] = 1; @@ -247,7 +247,7 @@ LLSDArgsMapper::LLSDArgsMapper(const std::string& function, continue; } - LLSD::Integer pos = ixit->second; + auto pos = ixit->second; // Store default value at that position in the _defaults array. _defaults[pos] = mi->second; // Don't forget to record the fact that we've filled this @@ -301,7 +301,7 @@ LLSD LLSDArgsMapper::map(const LLSD& argsmap) const { // Fill args from array. If there are too many args in passed array, // ignore the rest. - LLSD::Integer size(argsmap.size()); + auto size(argsmap.size()); if (size > args.size()) { // We don't just use std::min() because we want to sneak in this @@ -338,7 +338,7 @@ LLSD LLSDArgsMapper::map(const LLSD& argsmap) const << mi->first << "=" << mi->second << LL_ENDL; continue; } - LLSD::Integer pos = ixit->second; + auto pos = ixit->second; // Store the value at that position in the args array. args[pos] = mi->second; // Don't forget to record the fact that we've filled this @@ -349,7 +349,7 @@ LLSD LLSDArgsMapper::map(const LLSD& argsmap) const // Fill any remaining holes from _defaults. LLSD unfilled(LLSD::emptyArray()); - for (LLSD::Integer i = 0, iend = args.size(); i < iend; ++i) + for (size_t i = 0, iend = args.size(); i < iend; ++i) { if (! filled[i]) { @@ -503,9 +503,9 @@ struct LLEventDispatcher::MapParamsDispatchEntry: public LLEventDispatcher::Para if (defaults.isArray() || defaults.isUndefined()) { // Right-align the params and defaults arrays. - LLSD::Integer offset = params.size() - defaults.size(); + auto offset = params.size() - defaults.size(); // Now the name of every defaults[i] is at params[i + offset]. - for (LLSD::Integer i(0), iend(defaults.size()); i < iend; ++i) + for (size_t i(0), iend(defaults.size()); i < iend; ++i) { // Erase this optional param from mRequired. mRequired.erase(params[i + offset].asString()); diff --git a/indra/llcommon/llheteromap.cpp b/indra/llcommon/llheteromap.cpp index 7c19196e0c..c84e49d085 100644 --- a/indra/llcommon/llheteromap.cpp +++ b/indra/llcommon/llheteromap.cpp @@ -22,11 +22,11 @@ LLHeteroMap::~LLHeteroMap() { // For each entry in our map, we must call its deleter, which is the only // record we have of its original type. - for (TypeMap::iterator mi(mMap.begin()), me(mMap.end()); mi != me; ++mi) + for (TypeMap::value_type& pair : mMap) { - // mi->second is the std::pair; mi->second.first is the void*; - // mi->second.second points to the deleter function - (mi->second.second)(mi->second.first); - mi->second.first = NULL; + // pair.second is the std::pair; pair.second.first is the void*; + // pair.second.second points to the deleter function + (pair.second.second)(pair.second.first); + pair.second.first = NULL; } } diff --git a/indra/llcommon/llinitdestroyclass.cpp b/indra/llcommon/llinitdestroyclass.cpp index e6382a7924..e3b9e6d099 100644 --- a/indra/llcommon/llinitdestroyclass.cpp +++ b/indra/llcommon/llinitdestroyclass.cpp @@ -21,10 +21,9 @@ void LLCallbackRegistry::fireCallbacks() const { - for (FuncList::const_iterator fi = mCallbacks.begin(), fe = mCallbacks.end(); - fi != fe; ++fi) + for (FuncList::value_type pair : mCallbacks) { - LL_INFOS("LLInitDestroyClass") << "calling " << fi->first << "()" << LL_ENDL; - fi->second(); + LL_INFOS("LLInitDestroyClass") << "calling " << pair.first << "()" << LL_ENDL; + pair.second(); } } diff --git a/indra/llcommon/llinitparam.cpp b/indra/llcommon/llinitparam.cpp index aa2f4eb289..d15bd2f619 100644 --- a/indra/llcommon/llinitparam.cpp +++ b/indra/llcommon/llinitparam.cpp @@ -207,10 +207,10 @@ namespace LLInitParam if (!mValidated) { const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_validation_list_t::const_iterator it = block_data.mValidationList.begin(); it != block_data.mValidationList.end(); ++it) + for (const BlockDescriptor::param_validation_list_t::value_type& pair : block_data.mValidationList) { - const Param* param = getParamFromHandle(it->first); - if (!it->second(param)) + const Param* param = getParamFromHandle(pair.first); + if (!pair.second(param)) { if (emit_errors) { @@ -235,13 +235,11 @@ namespace LLInitParam // unnamed param is like LLView::Params::rect - implicit const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_list_t::const_iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - param_handle_t param_handle = (*it)->mParamHandle; + param_handle_t param_handle = ptr->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::serialize_func_t serialize_func = (*it)->mSerializeFunc; + ParamDescriptor::serialize_func_t serialize_func = ptr->mSerializeFunc; if (serialize_func && predicate_rule.check(ll_make_predicate(PROVIDED, param->anyProvided()))) { const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; @@ -249,23 +247,19 @@ namespace LLInitParam } } - for(BlockDescriptor::param_map_t::const_iterator it = block_data.mNamedParams.begin(); - it != block_data.mNamedParams.end(); - ++it) + for (const BlockDescriptor::param_map_t::value_type& pair : block_data.mNamedParams) { - param_handle_t param_handle = it->second->mParamHandle; + param_handle_t param_handle = pair.second->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::serialize_func_t serialize_func = it->second->mSerializeFunc; + ParamDescriptor::serialize_func_t serialize_func = pair.second->mSerializeFunc; if (serialize_func && predicate_rule.check(ll_make_predicate(PROVIDED, param->anyProvided()))) { // Ensure this param has not already been serialized // Prevents <rect> from being serialized as its own tag. bool duplicate = false; - for (BlockDescriptor::param_list_t::const_iterator it2 = block_data.mUnnamedParams.begin(); - it2 != block_data.mUnnamedParams.end(); - ++it2) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - if (param_handle == (*it2)->mParamHandle) + if (param_handle == ptr->mParamHandle) { duplicate = true; break; @@ -279,7 +273,7 @@ namespace LLInitParam continue; } - name_stack.push_back(std::make_pair(it->first, !duplicate)); + name_stack.push_back(std::make_pair(pair.first, !duplicate)); const Param* diff_param = diff_block ? diff_block->getParamFromHandle(param_handle) : NULL; serialized |= serialize_func(*param, parser, name_stack, predicate_rule, diff_param); name_stack.pop_back(); @@ -300,45 +294,39 @@ namespace LLInitParam // unnamed param is like LLView::Params::rect - implicit const BlockDescriptor& block_data = mostDerivedBlockDescriptor(); - for (BlockDescriptor::param_list_t::const_iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - param_handle_t param_handle = (*it)->mParamHandle; + param_handle_t param_handle = ptr->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::inspect_func_t inspect_func = (*it)->mInspectFunc; + ParamDescriptor::inspect_func_t inspect_func = ptr->mInspectFunc; if (inspect_func) { name_stack.push_back(std::make_pair("", true)); - inspect_func(*param, parser, name_stack, (*it)->mMinCount, (*it)->mMaxCount); + inspect_func(*param, parser, name_stack, ptr->mMinCount, ptr->mMaxCount); name_stack.pop_back(); } } - for(BlockDescriptor::param_map_t::const_iterator it = block_data.mNamedParams.begin(); - it != block_data.mNamedParams.end(); - ++it) + for(const BlockDescriptor::param_map_t::value_type& pair : block_data.mNamedParams) { - param_handle_t param_handle = it->second->mParamHandle; + param_handle_t param_handle = pair.second->mParamHandle; const Param* param = getParamFromHandle(param_handle); - ParamDescriptor::inspect_func_t inspect_func = it->second->mInspectFunc; + ParamDescriptor::inspect_func_t inspect_func = pair.second->mInspectFunc; if (inspect_func) { // Ensure this param has not already been inspected bool duplicate = false; - for (BlockDescriptor::param_list_t::const_iterator it2 = block_data.mUnnamedParams.begin(); - it2 != block_data.mUnnamedParams.end(); - ++it2) + for (const ParamDescriptorPtr &ptr : block_data.mUnnamedParams) { - if (param_handle == (*it2)->mParamHandle) + if (param_handle == ptr->mParamHandle) { duplicate = true; break; } } - name_stack.push_back(std::make_pair(it->first, !duplicate)); - inspect_func(*param, parser, name_stack, it->second->mMinCount, it->second->mMaxCount); + name_stack.push_back(std::make_pair(pair.first, !duplicate)); + inspect_func(*param, parser, name_stack, pair.second->mMinCount, pair.second->mMaxCount); name_stack.pop_back(); } } @@ -382,12 +370,10 @@ namespace LLInitParam } // try to parse unnamed parameters, in declaration order - for ( BlockDescriptor::param_list_t::iterator it = block_data.mUnnamedParams.begin(); - it != block_data.mUnnamedParams.end(); - ++it) + for (ParamDescriptorPtr& ptr : block_data.mUnnamedParams) { - Param* paramp = getParamFromHandle((*it)->mParamHandle); - ParamDescriptor::deserialize_func_t deserialize_func = (*it)->mDeserializeFunc; + Param* paramp = getParamFromHandle(ptr->mParamHandle); + ParamDescriptor::deserialize_func_t deserialize_func = ptr->mDeserializeFunc; if (deserialize_func && deserialize_func(*paramp, p, name_stack_range, new_name)) { @@ -453,12 +439,9 @@ namespace LLInitParam { param_handle_t handle = getHandleFromParam(¶m); BlockDescriptor& descriptor = mostDerivedBlockDescriptor(); - BlockDescriptor::all_params_list_t::iterator end_it = descriptor.mAllParams.end(); - for (BlockDescriptor::all_params_list_t::iterator it = descriptor.mAllParams.begin(); - it != end_it; - ++it) + for (ParamDescriptorPtr& ptr : descriptor.mAllParams) { - if ((*it)->mParamHandle == handle) return *it; + if (ptr->mParamHandle == handle) return ptr; } return ParamDescriptorPtr(); } @@ -468,17 +451,14 @@ namespace LLInitParam bool BaseBlock::mergeBlock(BlockDescriptor& block_data, const BaseBlock& other, bool overwrite) { bool some_param_changed = false; - BlockDescriptor::all_params_list_t::const_iterator end_it = block_data.mAllParams.end(); - for (BlockDescriptor::all_params_list_t::const_iterator it = block_data.mAllParams.begin(); - it != end_it; - ++it) + for (const ParamDescriptorPtr& ptr : block_data.mAllParams) { - const Param* other_paramp = other.getParamFromHandle((*it)->mParamHandle); - ParamDescriptor::merge_func_t merge_func = (*it)->mMergeFunc; + const Param* other_paramp = other.getParamFromHandle(ptr->mParamHandle); + ParamDescriptor::merge_func_t merge_func = ptr->mMergeFunc; if (merge_func) { - Param* paramp = getParamFromHandle((*it)->mParamHandle); - llassert(paramp->getEnclosingBlockOffset() == (*it)->mParamHandle); + Param* paramp = getParamFromHandle(ptr->mParamHandle); + llassert(paramp->getEnclosingBlockOffset() == ptr->mParamHandle); some_param_changed |= merge_func(*paramp, *other_paramp, overwrite); } } diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h index 7f5b9b4ac2..9edc7e40f3 100644 --- a/indra/llcommon/llinitparam.h +++ b/indra/llcommon/llinitparam.h @@ -325,13 +325,11 @@ namespace LLInitParam std::string calcValueName(const value_t& value) const { value_name_map_t* map = getValueNames(); - for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); - it != end_it; - ++it) + for (typename value_name_map_t::value_type& map_pair : *map) { - if (ParamCompare<T>::equals(it->second, value)) + if (ParamCompare<T>::equals(map_pair.second, value)) { - return it->first; + return map_pair.first; } } @@ -376,11 +374,9 @@ namespace LLInitParam static std::vector<std::string> sValues; value_name_map_t* map = getValueNames(); - for (typename value_name_map_t::iterator it = map->begin(), end_it = map->end(); - it != end_it; - ++it) + for (typename value_name_map_t::value_type& map_pair : *map) { - sValues.push_back(it->first); + sValues.push_back(map_pair.first); } return &sValues; } diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h index 02535a59e7..34f2a5985a 100644 --- a/indra/llcommon/llinstancetracker.h +++ b/indra/llcommon/llinstancetracker.h @@ -99,7 +99,7 @@ public: return mSelf; } - static S32 instanceCount() + static size_t instanceCount() { return LockStatic()->mMap.size(); } @@ -363,7 +363,7 @@ public: return mSelf; } - static S32 instanceCount() + static size_t instanceCount() { return LockStatic()->mSet.size(); } diff --git a/indra/llcommon/llkeybind.cpp b/indra/llcommon/llkeybind.cpp index 38696c2258..b89160cc55 100644 --- a/indra/llcommon/llkeybind.cpp +++ b/indra/llcommon/llkeybind.cpp @@ -30,6 +30,7 @@ #include "llsd.h" #include "llsdutil.h" +#include <algorithm> LLKeyData::LLKeyData() : @@ -180,10 +181,10 @@ LLKeyBind::LLKeyBind(const LLSD &key_bind) bool LLKeyBind::operator==(const LLKeyBind& rhs) { - U32 size = mData.size(); + auto size = mData.size(); if (size != rhs.mData.size()) return false; - for (U32 i = 0; i < size; i++) + for (size_t i = 0; i < size; i++) { if (mData[i] != rhs.mData[i]) return false; } @@ -193,7 +194,7 @@ bool LLKeyBind::operator==(const LLKeyBind& rhs) bool LLKeyBind::operator!=(const LLKeyBind& rhs) { - U32 size = mData.size(); + auto size = mData.size(); if (size != rhs.mData.size()) return true; for (U32 i = 0; i < size; i++) @@ -206,26 +207,29 @@ bool LLKeyBind::operator!=(const LLKeyBind& rhs) bool LLKeyBind::isEmpty() const { - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (!iter->isEmpty()) return false; + if (!key_data.isEmpty()) return false; } return true; } -LLSD LLKeyBind::asLLSD() const +LLKeyBind::data_vector_t::const_iterator LLKeyBind::endNonEmpty() const { - S32 last = mData.size() - 1; - while (mData[last].empty()) - { - last--; - } + // search backwards for last non-empty entry, then turn back into forwards + // iterator (.base() call) + return std::find_if_not(mData.rbegin(), mData.rend(), + [](const auto& kdata){ return kdata.empty(); }).base(); +} +LLSD LLKeyBind::asLLSD() const +{ LLSD data; - for (S32 i = 0; i <= last; ++i) + for (const LLKeyData& key_data : mData) { - // append even if empty to not affect visual representation - data.append(mData[i].asLLSD()); + // append intermediate entries even if empty to not affect visual + // representation + data.append(key_data.asLLSD()); } return data; } @@ -238,9 +242,9 @@ bool LLKeyBind::canHandle(EMouseClickType mouse, KEY key, MASK mask) const return false; } - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (iter->canHandle(mouse, key, mask)) + if (key_data.canHandle(mouse, key, mask)) { return true; } @@ -262,12 +266,12 @@ bool LLKeyBind::hasKeyData(EMouseClickType mouse, KEY key, MASK mask, bool ignor { if (mouse != CLICK_NONE || key != KEY_NONE) { - for (data_vector_t::const_iterator iter = mData.begin(); iter != mData.end(); iter++) + for (const LLKeyData& key_data : mData) { - if (iter->mKey == key - && iter->mMask == mask - && iter->mMouse == mouse - && iter->mIgnoreMasks == ignore) + if (key_data.mKey == key + && key_data.mMask == mask + && key_data.mMouse == mouse + && key_data.mIgnoreMasks == ignore) { return true; } @@ -349,16 +353,16 @@ void LLKeyBind::replaceKeyData(const LLKeyData& data, U32 index) { // if both click and key are none (isEmpty()), we are inserting a placeholder, we don't want to reset anything // otherwise reset identical key - for (data_vector_t::iterator iter = mData.begin(); iter != mData.end(); iter++) + for (LLKeyData& key_data : mData) { - if (iter->mKey == data.mKey - && iter->mMouse == data.mMouse - && iter->mIgnoreMasks == data.mIgnoreMasks - && iter->mMask == data.mMask) + if (key_data.mKey == data.mKey + && key_data.mMouse == data.mMouse + && key_data.mIgnoreMasks == data.mIgnoreMasks + && key_data.mMask == data.mMask) { // Replacing only fully equal combinations even in case 'ignore' is set // Reason: Simplicity and user might decide to do a 'move' command as W and Shift+Ctrl+W, and 'run' as Shift+W - iter->reset(); + key_data.reset(); break; } } @@ -380,16 +384,10 @@ void LLKeyBind::resetKeyData(S32 index) void LLKeyBind::trimEmpty() { - S32 last = mData.size() - 1; - while (last >= 0 && mData[last].empty()) - { - mData.erase(mData.begin() + last); - last--; - } + mData.erase(endNonEmpty(), mData.end()); } -U32 LLKeyBind::getDataCount() +size_t LLKeyBind::getDataCount() { return mData.size(); } - diff --git a/indra/llcommon/llkeybind.h b/indra/llcommon/llkeybind.h index c6b4bd970f..488f509411 100644 --- a/indra/llcommon/llkeybind.h +++ b/indra/llcommon/llkeybind.h @@ -95,11 +95,13 @@ public: void clear() { mData.clear(); } // if there any empty LLKeyData in the end of the array, remove them void trimEmpty(); - U32 getDataCount(); + size_t getDataCount(); private: typedef std::vector<LLKeyData> data_vector_t; data_vector_t mData; + + data_vector_t::const_iterator endNonEmpty() const; }; diff --git a/indra/llcommon/llleap.cpp b/indra/llcommon/llleap.cpp index 2704f8b6de..259f5bc505 100644 --- a/indra/llcommon/llleap.cpp +++ b/indra/llcommon/llleap.cpp @@ -204,34 +204,40 @@ public: LLSD packet(LLSDMap("pump", pump)("data", data)); std::ostringstream buffer; - buffer << LLSDNotationStreamer(packet); + // SL-18330: for large data blocks, it's much faster to parse binary + // LLSD than notation LLSD. Use serialize(LLSD_BINARY) rather than + // directly calling LLSDBinaryFormatter because, unlike the latter, + // serialize() prepends the relevant header, needed by a general- + // purpose LLSD parser to distinguish binary from notation. + LLSDSerialize::serialize(packet, buffer, LLSDSerialize::LLSD_BINARY, + LLSDFormatter::OPTIONS_NONE); /*==========================================================================*| // DEBUGGING ONLY: don't copy str() if we can avoid it. std::string strdata(buffer.str()); if (std::size_t(buffer.tellp()) != strdata.length()) { - LL_ERRS("LLLeap") << "tellp() -> " << buffer.tellp() << " != " + LL_ERRS("LLLeap") << "tellp() -> " << static_cast<U64>(buffer.tellp()) << " != " << "str().length() -> " << strdata.length() << LL_ENDL; } // DEBUGGING ONLY: reading back is terribly inefficient. std::istringstream readback(strdata); LLSD echo; - LLPointer<LLSDParser> parser(new LLSDNotationParser()); - S32 parse_status(parser->parse(readback, echo, strdata.length())); - if (parse_status == LLSDParser::PARSE_FAILURE) + bool parse_status(LLSDSerialize::deserialize(echo, readback, strdata.length())); + if (! parse_status) { - LL_ERRS("LLLeap") << "LLSDNotationParser() cannot parse output of " - << "LLSDNotationStreamer()" << LL_ENDL; + LL_ERRS("LLLeap") << "LLSDSerialize::deserialize() cannot parse output of " + << "LLSDSerialize::serialize(LLSD_BINARY)" << LL_ENDL; } if (! llsd_equals(echo, packet)) { - LL_ERRS("LLLeap") << "LLSDNotationParser() produced different LLSD " - << "than passed to LLSDNotationStreamer()" << LL_ENDL; + LL_ERRS("LLLeap") << "LLSDSerialize::deserialize() returned different LLSD " + << "than passed to LLSDSerialize::serialize()" << LL_ENDL; } |*==========================================================================*/ - LL_DEBUGS("EventHost") << "Sending: " << buffer.tellp() << ':'; + LL_DEBUGS("EventHost") << "Sending: " + << static_cast<U64>(buffer.tellp()) << ':'; std::string::size_type truncate(80); if (buffer.tellp() <= truncate) { @@ -244,7 +250,8 @@ public: LL_CONT << LL_ENDL; LLProcess::WritePipe& childin(mChild->getWritePipe(LLProcess::STDIN)); - childin.get_ostream() << buffer.tellp() << ':' << buffer.str() << std::flush; + childin.get_ostream() << static_cast<U64>(buffer.tellp()) + << ':' << buffer.str() << std::flush; return false; } @@ -312,9 +319,17 @@ public: LL_DEBUGS("LLLeap") << "needed " << mExpect << " bytes, got " << childout.size() << ", parsing LLSD" << LL_ENDL; LLSD data; +#if 1 + // specifically require notation LLSD from child LLPointer<LLSDParser> parser(new LLSDNotationParser()); S32 parse_status(parser->parse(childout.get_istream(), data, mExpect)); if (parse_status == LLSDParser::PARSE_FAILURE) +#else + // SL-18330: accept any valid LLSD serialization format from child + // Unfortunately this runs into trouble we have not yet debugged. + bool parse_status(LLSDSerialize::deserialize(data, childout.get_istream(), mExpect)); + if (! parse_status) +#endif { bad_protocol("unparseable LLSD data"); } diff --git a/indra/llcommon/llmd5.cpp b/indra/llcommon/llmd5.cpp index f942a976b7..0abe817f1d 100644 --- a/indra/llcommon/llmd5.cpp +++ b/indra/llcommon/llmd5.cpp @@ -96,10 +96,10 @@ LLMD5::LLMD5() // operation, processing another message block, and updating the // context. -void LLMD5::update (const uint1 *input, const uint4 input_length) { +void LLMD5::update (const uint8_t *input, const size_t input_length) { - uint4 input_index, buffer_index; - uint4 buffer_space; // how much space is left in buffer + size_t input_index, buffer_index; + size_t buffer_space; // how much space is left in buffer if (finalized){ // so we can't update! std::cerr << "LLMD5::update: Can't update a finalized digest!" << std::endl; @@ -107,14 +107,10 @@ void LLMD5::update (const uint1 *input, const uint4 input_length) { } // Compute number of bytes mod 64 - buffer_index = (unsigned int)((count[0] >> 3) & 0x3F); + buffer_index = size_t((count >> 3) & 0x3F); // Update number of bits - if ( (count[0] += ((uint4) input_length << 3))<((uint4) input_length << 3) ) - count[1]++; - - count[1] += ((uint4)input_length >> 29); - + count += input_length << 3; buffer_space = 64 - buffer_index; // how much space is left in buffer @@ -192,8 +188,8 @@ void LLMD5::update(const std::string& s) void LLMD5::finalize (){ unsigned char bits[8]; /* Flawfinder: ignore */ - unsigned int index, padLen; - static uint1 PADDING[64]={ + size_t index, padLen; + static uint8_t PADDING[64]={ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 @@ -204,11 +200,12 @@ void LLMD5::finalize (){ return; } - // Save number of bits - encode (bits, count, 8); + // Save number of bits. + // Treat count, a uint64_t, as uint32_t[2]. + encode (bits, reinterpret_cast<uint32_t*>(&count), 8); // Pad out to 56 mod 64. - index = (uint4) ((count[0] >> 3) & 0x3f); + index = size_t((count >> 3) & 0x3f); padLen = (index < 56) ? (56 - index) : (120 - index); update (PADDING, padLen); @@ -340,8 +337,7 @@ void LLMD5::init(){ finalized=0; // we just started! // Nothing counted, so count=0 - count[0] = 0; - count[1] = 0; + count = 0; // Load magic initialization constants. state[0] = 0x67452301; @@ -416,7 +412,7 @@ Rotation is separate from addition to prevent recomputation. // LLMD5 basic transformation. Transforms state based on block. void LLMD5::transform (const U8 block[64]){ - uint4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; + uint32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16]; decode (x, block, 64); @@ -500,38 +496,38 @@ void LLMD5::transform (const U8 block[64]){ state[3] += d; // Zeroize sensitive information. - memset ( (uint1 *) x, 0, sizeof(x)); + memset ( (uint8_t *) x, 0, sizeof(x)); } -// Encodes input (UINT4) into output (unsigned char). Assumes len is +// Encodes input (uint32_t) into output (unsigned char). Assumes len is // a multiple of 4. -void LLMD5::encode (uint1 *output, const uint4 *input, const uint4 len) { +void LLMD5::encode (uint8_t *output, const uint32_t *input, const size_t len) { - unsigned int i, j; + size_t i, j; for (i = 0, j = 0; j < len; i++, j += 4) { - output[j] = (uint1) (input[i] & 0xff); - output[j+1] = (uint1) ((input[i] >> 8) & 0xff); - output[j+2] = (uint1) ((input[i] >> 16) & 0xff); - output[j+3] = (uint1) ((input[i] >> 24) & 0xff); + output[j] = (uint8_t) (input[i] & 0xff); + output[j+1] = (uint8_t) ((input[i] >> 8) & 0xff); + output[j+2] = (uint8_t) ((input[i] >> 16) & 0xff); + output[j+3] = (uint8_t) ((input[i] >> 24) & 0xff); } } -// Decodes input (unsigned char) into output (UINT4). Assumes len is +// Decodes input (unsigned char) into output (uint32_t). Assumes len is // a multiple of 4. -void LLMD5::decode (uint4 *output, const uint1 *input, const uint4 len){ +void LLMD5::decode (uint32_t *output, const uint8_t *input, const size_t len){ - unsigned int i, j; + size_t i, j; for (i = 0, j = 0; j < len; i++, j += 4) - output[i] = ((uint4)input[j]) | (((uint4)input[j+1]) << 8) | - (((uint4)input[j+2]) << 16) | (((uint4)input[j+3]) << 24); + output[i] = ((uint32_t)input[j]) | (((uint32_t)input[j+1]) << 8) | + (((uint32_t)input[j+2]) << 16) | (((uint32_t)input[j+3]) << 24); } diff --git a/indra/llcommon/llmd5.h b/indra/llcommon/llmd5.h index 1526e6ac3c..7d6373c20c 100644 --- a/indra/llcommon/llmd5.h +++ b/indra/llcommon/llmd5.h @@ -67,6 +67,8 @@ documentation and/or software. */ +#include <cstdint> // uint32_t et al. + // use for the raw digest output const int MD5RAW_BYTES = 16; @@ -75,18 +77,13 @@ const int MD5HEX_STR_SIZE = 33; // char hex[MD5HEX_STR_SIZE]; with null const int MD5HEX_STR_BYTES = 32; // message system fixed size class LL_COMMON_API LLMD5 { -// first, some types: - typedef unsigned int uint4; // assumes integer is 4 words long - typedef unsigned short int uint2; // assumes short integer is 2 words long - typedef unsigned char uint1; // assumes char is 1 word long - // how many bytes to grab at a time when checking files static const int BLOCK_LEN; public: // methods for controlled operation: LLMD5 (); // simple initializer - void update (const uint1 *input, const uint4 input_length); + void update (const uint8_t *input, const size_t input_length); void update (std::istream& stream); void update (FILE *file); void update (const std::string& str); @@ -109,19 +106,19 @@ private: // next, the private data: - uint4 state[4]; - uint4 count[2]; // number of *bits*, mod 2^64 - uint1 buffer[64]; // input buffer - uint1 digest[16]; - uint1 finalized; + uint32_t state[4]; + uint64_t count; // number of *bits*, mod 2^64 + uint8_t buffer[64]; // input buffer + uint8_t digest[16]; + uint8_t finalized; // last, the private methods, mostly static: void init (); // called by all constructors - void transform (const uint1 *buffer); // does the real update work. Note + void transform (const uint8_t *buffer); // does the real update work. Note // that length is implied to be 64. - static void encode (uint1 *dest, const uint4 *src, const uint4 length); - static void decode (uint4 *dest, const uint1 *src, const uint4 length); + static void encode (uint8_t *dest, const uint32_t *src, const size_t length); + static void decode (uint32_t *dest, const uint8_t *src, const size_t length); }; diff --git a/indra/llcommon/llmetricperformancetester.cpp b/indra/llcommon/llmetricperformancetester.cpp index 100eb57555..ab509b46eb 100644 --- a/indra/llcommon/llmetricperformancetester.cpp +++ b/indra/llcommon/llmetricperformancetester.cpp @@ -42,9 +42,9 @@ LLMetricPerformanceTesterBasic::name_tester_map_t LLMetricPerformanceTesterBasic /*static*/ void LLMetricPerformanceTesterBasic::cleanupClass() { - for (name_tester_map_t::iterator iter = sTesterMap.begin() ; iter != sTesterMap.end() ; ++iter) + for (name_tester_map_t::value_type& pair : sTesterMap) { - delete iter->second ; + delete pair.second; } sTesterMap.clear() ; } @@ -111,8 +111,8 @@ LLSD LLMetricPerformanceTesterBasic::analyzeMetricPerformanceLog(std::istream& i { ret[label]["Name"] = iter->second["Name"] ; - S32 num_of_metrics = tester->getNumberOfMetrics() ; - for(S32 index = 0 ; index < num_of_metrics ; index++) + auto num_of_metrics = tester->getNumberOfMetrics() ; + for(size_t index = 0 ; index < num_of_metrics ; index++) { ret[label][ tester->getMetricName(index) ] = iter->second[ tester->getMetricName(index) ] ; } @@ -154,10 +154,9 @@ void LLMetricPerformanceTesterBasic::doAnalysisMetrics(std::string baseline, std llofstream os(output.c_str()); os << "Label, Metric, Base(B), Target(T), Diff(T-B), Percentage(100*T/B)\n"; - for(LLMetricPerformanceTesterBasic::name_tester_map_t::iterator iter = LLMetricPerformanceTesterBasic::sTesterMap.begin() ; - iter != LLMetricPerformanceTesterBasic::sTesterMap.end() ; ++iter) + for (LLMetricPerformanceTesterBasic::name_tester_map_t::value_type& pair : LLMetricPerformanceTesterBasic::sTesterMap) { - LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)iter->second) ; + LLMetricPerformanceTesterBasic* tester = ((LLMetricPerformanceTesterBasic*)pair.second); tester->analyzePerformance(&os, &base, ¤t) ; } diff --git a/indra/llcommon/llmetricperformancetester.h b/indra/llcommon/llmetricperformancetester.h index 2e99ed979d..6561a78f03 100644 --- a/indra/llcommon/llmetricperformancetester.h +++ b/indra/llcommon/llmetricperformancetester.h @@ -67,12 +67,12 @@ public: /** * @return Returns the number of the test metrics in this tester instance. */ - S32 getNumberOfMetrics() const { return mMetricStrings.size() ;} + auto getNumberOfMetrics() const { return mMetricStrings.size() ;} /** * @return Returns the metric name at index * @param[in] index - Index on the list of metrics managed by this tester instance. */ - std::string getMetricName(S32 index) const { return mMetricStrings[index] ;} + std::string getMetricName(size_t index) const { return mMetricStrings[index] ;} protected: /** diff --git a/indra/llcommon/llmortician.cpp b/indra/llcommon/llmortician.cpp index 93c7d520f2..b6ad40c2af 100644 --- a/indra/llcommon/llmortician.cpp +++ b/indra/llcommon/llmortician.cpp @@ -37,9 +37,9 @@ LLMortician::~LLMortician() sGraveyard.remove(this); } -U32 LLMortician::logClass(std::stringstream &str) +size_t LLMortician::logClass(std::stringstream &str) { - U32 size = sGraveyard.size(); + auto size = sGraveyard.size(); str << "Mortician graveyard count: " << size; str << " Zealous: " << (sDestroyImmediate ? "True" : "False"); if (size == 0) diff --git a/indra/llcommon/llmortician.h b/indra/llcommon/llmortician.h index 41cb49fab1..f92c5a11db 100644 --- a/indra/llcommon/llmortician.h +++ b/indra/llcommon/llmortician.h @@ -34,8 +34,8 @@ class LL_COMMON_API LLMortician { public: LLMortician() { mIsDead = FALSE; } - static U32 graveyardCount() { return sGraveyard.size(); }; - static U32 logClass(std::stringstream &str); + static auto graveyardCount() { return sGraveyard.size(); }; + static size_t logClass(std::stringstream &str); static void updateClass(); virtual ~LLMortician(); void die(); diff --git a/indra/llcommon/llnametable.h b/indra/llcommon/llnametable.h index d3283543f3..2c8e71263e 100644 --- a/indra/llcommon/llnametable.h +++ b/indra/llcommon/llnametable.h @@ -86,12 +86,10 @@ public: // O(N)! (currently only used in one place... (newsim/llstate.cpp)) const char *resolveData(const DATA &data) const { - const_iter_t iter = mNameMap.begin(); - const_iter_t end = mNameMap.end(); - for (; iter != end; ++iter) + for (const name_map_t::value_type& pair : mNameMap) { - if (iter->second == data) - return iter->first; + if (pair.second == data) + return pair.first; } return NULL; } diff --git a/indra/llcommon/llpriqueuemap.h b/indra/llcommon/llpriqueuemap.h index d8d3edd48a..030e2e0f21 100644 --- a/indra/llcommon/llpriqueuemap.h +++ b/indra/llcommon/llpriqueuemap.h @@ -115,9 +115,9 @@ public: LL_WARNS() << "Data not on priority queue!" << LL_ENDL; // OK, try iterating through all of the data and seeing if we just screwed up the priority // somehow. - for (iter = mMap.begin(); iter != mMap.end(); iter++) + for (pqm_pair pair : mMap) { - if ((*(iter)).second == data) + if (pair.second == data) { LL_ERRS() << "Data on priority queue but priority not matched!" << LL_ENDL; } diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp index 8cef4293cd..b06fee0ec2 100644 --- a/indra/llcommon/llqueuedthread.cpp +++ b/indra/llcommon/llqueuedthread.cpp @@ -110,7 +110,7 @@ void LLQueuedThread::shutdown() // MAIN THREAD // virtual -S32 LLQueuedThread::update(F32 max_time_ms) +size_t LLQueuedThread::update(F32 max_time_ms) { if (!mStarted) { @@ -123,11 +123,11 @@ S32 LLQueuedThread::update(F32 max_time_ms) return updateQueue(max_time_ms); } -S32 LLQueuedThread::updateQueue(F32 max_time_ms) +size_t LLQueuedThread::updateQueue(F32 max_time_ms) { F64 max_time = (F64)max_time_ms * .001; LLTimer timer; - S32 pending = 1; + size_t pending = 1; // Frame Update if (mThreaded) @@ -164,9 +164,9 @@ void LLQueuedThread::incQueue() //virtual // May be called from any thread -S32 LLQueuedThread::getPending() +size_t LLQueuedThread::getPending() { - S32 res; + size_t res; lockData(); res = mRequestQueue.size(); unlockData(); @@ -399,7 +399,7 @@ bool LLQueuedThread::check() //============================================================================ // Runs on its OWN thread -S32 LLQueuedThread::processNextRequest() +size_t LLQueuedThread::processNextRequest() { QueuedRequest *req; // Get next request from pool @@ -473,8 +473,7 @@ S32 LLQueuedThread::processNextRequest() LLTrace::get_thread_recorder()->pushToParent(); } - S32 pending = getPending(); - return pending; + return getPending(); } // virtual @@ -511,7 +510,7 @@ void LLQueuedThread::run() threadedUpdate(); - int pending_work = processNextRequest(); + auto pending_work = processNextRequest(); if (pending_work == 0) { diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h index 5d3f873646..90fce3dc5d 100644 --- a/indra/llcommon/llqueuedthread.h +++ b/indra/llcommon/llqueuedthread.h @@ -167,19 +167,19 @@ private: protected: handle_t generateHandle(); bool addRequest(QueuedRequest* req); - S32 processNextRequest(void); + size_t processNextRequest(void); void incQueue(); public: bool waitForResult(handle_t handle, bool auto_complete = true); - virtual S32 update(F32 max_time_ms); - S32 updateQueue(F32 max_time_ms); - + virtual size_t update(F32 max_time_ms); + size_t updateQueue(F32 max_time_ms); + void waitOnPending(); void printQueueStats(); - virtual S32 getPending(); + virtual size_t getPending(); bool getThreaded() { return mThreaded ? true : false; } // Request accessors diff --git a/indra/llcommon/llregistry.h b/indra/llcommon/llregistry.h index 750fe9fdc8..e272d7a9b8 100644 --- a/indra/llcommon/llregistry.h +++ b/indra/llcommon/llregistry.h @@ -141,11 +141,9 @@ public: ptr_value_t getValue(ref_const_key_t key) { - for(scope_list_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(Registrar* scope : mActiveScopes) { - ptr_value_t valuep = (*it)->getValue(key); + ptr_value_t valuep = scope->getValue(key); if (valuep != NULL) return valuep; } return mDefaultRegistrar.getValue(key); @@ -153,11 +151,9 @@ public: ptr_const_value_t getValue(ref_const_key_t key) const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - ptr_value_t valuep = (*it)->getValue(key); + ptr_const_value_t valuep = scope->getValue(key); if (valuep != NULL) return valuep; } return mDefaultRegistrar.getValue(key); @@ -165,11 +161,9 @@ public: bool exists(ref_const_key_t key) const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - if ((*it)->exists(key)) return true; + if (scope->exists(key)) return true; } return mDefaultRegistrar.exists(key); @@ -177,11 +171,9 @@ public: bool empty() const { - for(scope_list_const_iterator_t it = mActiveScopes.begin(); - it != mActiveScopes.end(); - ++it) + for(const Registrar* scope : mActiveScopes) { - if (!(*it)->empty()) return false; + if (!scope->empty()) return false; } return mDefaultRegistrar.empty(); diff --git a/indra/llcommon/llrun.cpp b/indra/llcommon/llrun.cpp index f5d3f302fa..a3b3fccf4b 100644 --- a/indra/llcommon/llrun.cpp +++ b/indra/llcommon/llrun.cpp @@ -47,7 +47,7 @@ LLRunner::~LLRunner() mRunEvery.clear(); } -S32 LLRunner::run() +size_t LLRunner::run() { // We collect all of the runnables which should be run. Since the // runnables are allowed to adjust the run list, we need to copy diff --git a/indra/llcommon/llrun.h b/indra/llcommon/llrun.h index a117405366..d610f86234 100644 --- a/indra/llcommon/llrun.h +++ b/indra/llcommon/llrun.h @@ -85,7 +85,7 @@ public: * * @return Returns the number of runnables run. */ - S32 run(); + size_t run(); /** * @brief Add a runnable to the run list. diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp index 807b3d13f8..a645e624f8 100644 --- a/indra/llcommon/llsd.cpp +++ b/indra/llcommon/llsd.cpp @@ -36,6 +36,18 @@ #include "llsdserialize.h" #include "stringize.h" +#include <limits> + +// Defend against a caller forcibly passing a negative number into an unsigned +// size_t index param +inline +bool was_negative(size_t i) +{ + return (i > std::numeric_limits<int>::max()); +} +#define NEGATIVE_EXIT(i) if (was_negative(i)) return +#define NEGATIVE_RETURN(i, result) NEGATIVE_EXIT(i) (result) + #ifndef LL_RELEASE_FOR_DOWNLOAD #define NAME_UNNAMED_NAMESPACE #endif @@ -136,10 +148,10 @@ public: virtual void erase(const String&) { } virtual const LLSD& ref(const String&) const{ return undef(); } - virtual int size() const { return 0; } - virtual LLSD get(Integer) const { return LLSD(); } - virtual void erase(Integer) { } - virtual const LLSD& ref(Integer) const { return undef(); } + virtual size_t size() const { return 0; } + virtual LLSD get(size_t) const { return LLSD(); } + virtual void erase(size_t) { } + virtual const LLSD& ref(size_t) const { return undef(); } virtual LLSD::map_const_iterator beginMap() const { return endMap(); } virtual LLSD::map_const_iterator endMap() const { static const std::map<String, LLSD> empty; return empty.end(); } @@ -272,7 +284,7 @@ namespace virtual LLSD::UUID asUUID() const { return LLUUID(mValue); } virtual LLSD::Date asDate() const { return LLDate(mValue); } virtual LLSD::URI asURI() const { return LLURI(mValue); } - virtual int size() const { return mValue.size(); } + virtual size_t size() const { return mValue.size(); } virtual const LLSD::String& asStringRef() const { return mValue; } }; @@ -377,9 +389,9 @@ namespace virtual bool has(const LLSD::String&) const; - using LLSD::Impl::get; // Unhiding get(LLSD::Integer) - using LLSD::Impl::erase; // Unhiding erase(LLSD::Integer) - using LLSD::Impl::ref; // Unhiding ref(LLSD::Integer) + using LLSD::Impl::get; // Unhiding get(size_t) + using LLSD::Impl::erase; // Unhiding erase(size_t) + using LLSD::Impl::ref; // Unhiding ref(size_t) virtual LLSD get(const LLSD::String&) const; virtual LLSD getKeys() const; void insert(const LLSD::String& k, const LLSD& v); @@ -387,7 +399,7 @@ namespace LLSD& ref(const LLSD::String&); virtual const LLSD& ref(const LLSD::String&) const; - virtual int size() const { return mData.size(); } + virtual size_t size() const { return mData.size(); } LLSD::map_iterator beginMap() { return mData.begin(); } LLSD::map_iterator endMap() { return mData.end(); } @@ -518,14 +530,14 @@ namespace using LLSD::Impl::get; // Unhiding get(LLSD::String) using LLSD::Impl::erase; // Unhiding erase(LLSD::String) using LLSD::Impl::ref; // Unhiding ref(LLSD::String) - virtual int size() const; - virtual LLSD get(LLSD::Integer) const; - void set(LLSD::Integer, const LLSD&); - void insert(LLSD::Integer, const LLSD&); + virtual size_t size() const; + virtual LLSD get(size_t) const; + void set(size_t, const LLSD&); + void insert(size_t, const LLSD&); LLSD& append(const LLSD&); - virtual void erase(LLSD::Integer); - LLSD& ref(LLSD::Integer); - virtual const LLSD& ref(LLSD::Integer) const; + virtual void erase(size_t); + LLSD& ref(size_t); + virtual const LLSD& ref(size_t) const; LLSD::array_iterator beginArray() { return mData.begin(); } LLSD::array_iterator endArray() { return mData.end(); } @@ -550,85 +562,82 @@ namespace return *this; } } - - int ImplArray::size() const { return mData.size(); } - - LLSD ImplArray::get(LLSD::Integer i) const + + size_t ImplArray::size() const { return mData.size(); } + + LLSD ImplArray::get(size_t i) const { - if (i < 0) { return LLSD(); } + NEGATIVE_RETURN(i, LLSD()); DataVector::size_type index = i; - + return (index < mData.size()) ? mData[index] : LLSD(); } - - void ImplArray::set(LLSD::Integer i, const LLSD& v) + + void ImplArray::set(size_t i, const LLSD& v) { - if (i < 0) { return; } + NEGATIVE_EXIT(i); DataVector::size_type index = i; - + if (index >= mData.size()) { mData.resize(index + 1); } - + mData[index] = v; } - - void ImplArray::insert(LLSD::Integer i, const LLSD& v) + + void ImplArray::insert(size_t i, const LLSD& v) { - if (i < 0) - { - return; - } + NEGATIVE_EXIT(i); DataVector::size_type index = i; - + if (index >= mData.size()) // tbd - sanity check limit for index ? { mData.resize(index + 1); } - + mData.insert(mData.begin() + index, v); } - + LLSD& ImplArray::append(const LLSD& v) { mData.push_back(v); return mData.back(); } - - void ImplArray::erase(LLSD::Integer i) + + void ImplArray::erase(size_t i) { - if (i < 0) { return; } + NEGATIVE_EXIT(i); DataVector::size_type index = i; - + if (index < mData.size()) { mData.erase(mData.begin() + index); } } - - LLSD& ImplArray::ref(LLSD::Integer i) + + LLSD& ImplArray::ref(size_t i) { - DataVector::size_type index = i >= 0 ? i : 0; - + DataVector::size_type index = was_negative(i)? 0 : i; + if (index >= mData.size()) { mData.resize(i + 1); } - + return mData[index]; } - const LLSD& ImplArray::ref(LLSD::Integer i) const + const LLSD& ImplArray::ref(size_t i) const { - if (i < 0) { return undef(); } + NEGATIVE_RETURN(i, undef()); DataVector::size_type index = i; - + if (index >= mData.size()) { return undef(); } - + return mData[index]; } @@ -841,9 +850,6 @@ LLSD::LLSD(const Date& v) : impl(0) { ALLOC_LLSD_OBJECT; assign(v); } LLSD::LLSD(const URI& v) : impl(0) { ALLOC_LLSD_OBJECT; assign(v); } LLSD::LLSD(const Binary& v) : impl(0) { ALLOC_LLSD_OBJECT; assign(v); } -// Convenience Constructors -LLSD::LLSD(F32 v) : impl(0) { ALLOC_LLSD_OBJECT; assign((Real)v); } - // Scalar Assignment void LLSD::assign(Boolean v) { safe(impl).assign(impl, v); } void LLSD::assign(Integer v) { safe(impl).assign(impl, v); } @@ -912,7 +918,7 @@ LLSD LLSD::emptyArray() return v; } -int LLSD::size() const { return safe(impl).size(); } +size_t LLSD::size() const { return safe(impl).size(); } LLSD LLSD::get(Integer i) const { return safe(impl).get(i); } void LLSD::set(Integer i, const LLSD& v){ makeArray(impl).set(i, v); } @@ -926,12 +932,12 @@ LLSD& LLSD::with(Integer i, const LLSD& v) LLSD& LLSD::append(const LLSD& v) { return makeArray(impl).append(v); } void LLSD::erase(Integer i) { makeArray(impl).erase(i); } -LLSD& LLSD::operator[](Integer i) +LLSD& LLSD::operator[](size_t i) { LL_PROFILE_ZONE_SCOPED_CATEGORY_LLSD; return makeArray(impl).ref(i); } -const LLSD& LLSD::operator[](Integer i) const +const LLSD& LLSD::operator[](size_t i) const { LL_PROFILE_ZONE_SCOPED_CATEGORY_LLSD; return safe(impl).ref(i); @@ -956,7 +962,7 @@ static const char *llsd_dump(const LLSD &llsd, bool useXMLFormat) out << LLSDNotationStreamer(llsd); out_string = out.str(); } - int len = out_string.length(); + auto len = out_string.length(); sStorage = new char[len + 1]; memcpy(sStorage, out_string.c_str(), len); sStorage[len] = '\0'; diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h index 3daaef44fc..4e9fcc77ee 100644 --- a/indra/llcommon/llsd.h +++ b/indra/llcommon/llsd.h @@ -30,6 +30,7 @@ #include <map> #include <string> #include <vector> +#include <type_traits> #include "stdtypes.h" @@ -192,7 +193,17 @@ public: /** @name Convenience Constructors */ //@{ - LLSD(F32); // F32 -> Real + // support construction from size_t et al. + template <typename VALUE, + typename std::enable_if<std::is_integral<VALUE>::value && + ! std::is_same<VALUE, Boolean>::value, + bool>::type = true> + LLSD(VALUE v): LLSD(Integer(narrow(v))) {} + // support construction from F32 et al. + template <typename VALUE, + typename std::enable_if<std::is_floating_point<VALUE>::value, + bool>::type = true> + LLSD(VALUE v): LLSD(Real(narrow(v))) {} //@} /** @name Scalar Assignment */ @@ -205,15 +216,21 @@ public: void assign(const Date&); void assign(const URI&); void assign(const Binary&); - - LLSD& operator=(Boolean v) { assign(v); return *this; } - LLSD& operator=(Integer v) { assign(v); return *this; } - LLSD& operator=(Real v) { assign(v); return *this; } - LLSD& operator=(const String& v) { assign(v); return *this; } - LLSD& operator=(const UUID& v) { assign(v); return *this; } - LLSD& operator=(const Date& v) { assign(v); return *this; } - LLSD& operator=(const URI& v) { assign(v); return *this; } - LLSD& operator=(const Binary& v) { assign(v); return *this; } + + // support assignment from size_t et al. + template <typename VALUE, + typename std::enable_if<std::is_integral<VALUE>::value && + ! std::is_same<VALUE, Boolean>::value, + bool>::type = true> + void assign(VALUE v) { assign(Integer(narrow(v))); } + // support assignment from F32 et al. + template <typename VALUE, + typename std::enable_if<std::is_floating_point<VALUE>::value, + bool>::type = true> + void assign(VALUE v) { assign(Real(narrow(v))); } + + template <typename VALUE> + LLSD& operator=(VALUE v) { assign(v); return *this; } //@} /** @@ -275,7 +292,6 @@ public: //@{ LLSD(const char*); void assign(const char*); - LLSD& operator=(const char* v) { assign(v); return *this; } //@} /** @name Map Values */ @@ -313,14 +329,24 @@ public: LLSD& append(const LLSD&); void erase(Integer); LLSD& with(Integer, const LLSD&); - - const LLSD& operator[](Integer) const; - LLSD& operator[](Integer); + + // accept size_t so we can index relative to size() + const LLSD& operator[](size_t) const; + LLSD& operator[](size_t); + // template overloads to support int literals, U32 et al. + template <typename IDX, + typename std::enable_if<std::is_convertible<IDX, size_t>::value, + bool>::type = true> + const LLSD& operator[](IDX i) const { return (*this)[size_t(i)]; } + template <typename IDX, + typename std::enable_if<std::is_convertible<IDX, size_t>::value, + bool>::type = true> + LLSD& operator[](IDX i) { return (*this)[size_t(i)]; } //@} /** @name Iterators */ //@{ - int size() const; + size_t size() const; typedef std::map<String, LLSD>::iterator map_iterator; typedef std::map<String, LLSD>::const_iterator map_const_iterator; diff --git a/indra/llcommon/llsdparam.cpp b/indra/llcommon/llsdparam.cpp index af4ccf25fd..30f49b27ea 100644 --- a/indra/llcommon/llsdparam.cpp +++ b/indra/llcommon/llsdparam.cpp @@ -113,11 +113,9 @@ void LLParamSDParser::writeSDImpl(LLSD& sd, const LLInitParam::BaseBlock& block, /*virtual*/ std::string LLParamSDParser::getCurrentElementName() { std::string full_name = "sd"; - for (name_stack_t::iterator it = mNameStack.begin(); - it != mNameStack.end(); - ++it) + for (name_stack_t::value_type& stack_pair : mNameStack) { - full_name += llformat("[%s]", it->first.c_str()); + full_name += llformat("[%s]", stack_pair.first.c_str()); } return full_name; diff --git a/indra/llcommon/llsdserialize.cpp b/indra/llcommon/llsdserialize.cpp index a510b73096..e7482b601d 100644 --- a/indra/llcommon/llsdserialize.cpp +++ b/indra/llcommon/llsdserialize.cpp @@ -48,12 +48,13 @@ #endif #include "lldate.h" +#include "llmemorystream.h" #include "llsd.h" #include "llstring.h" #include "lluri.h" // File constants -static const int MAX_HDR_LEN = 20; +static const size_t MAX_HDR_LEN = 20; static const S32 UNZIP_LLSD_MAX_DEPTH = 96; static const char LEGACY_NON_HEADER[] = "<llsd>"; const std::string LLSD_BINARY_HEADER("LLSD/Binary"); @@ -64,6 +65,23 @@ const std::string LLSD_NOTATION_HEADER("llsd/notation"); #define windowBits 15 #define ENABLE_ZLIB_GZIP 32 +// If we published this in llsdserialize.h, we could use it in the +// implementation of LLSDOStreamer's operator<<(). +template <class Formatter> +void format_using(const LLSD& data, std::ostream& ostr, + LLSDFormatter::EFormatterOptions options=LLSDFormatter::OPTIONS_PRETTY_BINARY) +{ + LLPointer<Formatter> f{ new Formatter }; + f->format(data, ostr, options); +} + +template <class Parser> +S32 parse_using(std::istream& istr, LLSD& data, size_t max_bytes, S32 max_depth=-1) +{ + LLPointer<Parser> p{ new Parser }; + return p->parse(istr, data, max_bytes, max_depth); +} + /** * LLSDSerialize */ @@ -86,10 +104,10 @@ void LLSDSerialize::serialize(const LLSD& sd, std::ostream& str, ELLSD_Serialize f = new LLSDXMLFormatter; break; - case LLSD_NOTATION: - str << "<? " << LLSD_NOTATION_HEADER << " ?>\n"; - f = new LLSDNotationFormatter; - break; + case LLSD_NOTATION: + str << "<? " << LLSD_NOTATION_HEADER << " ?>\n"; + f = new LLSDNotationFormatter; + break; default: LL_WARNS() << "serialize request for unknown ELLSD_Serialize" << LL_ENDL; @@ -102,20 +120,33 @@ void LLSDSerialize::serialize(const LLSD& sd, std::ostream& str, ELLSD_Serialize } // static -bool LLSDSerialize::deserialize(LLSD& sd, std::istream& str, S32 max_bytes) +bool LLSDSerialize::deserialize(LLSD& sd, std::istream& str, llssize max_bytes) { - LLPointer<LLSDParser> p = NULL; char hdr_buf[MAX_HDR_LEN + 1] = ""; /* Flawfinder: ignore */ - int i; - int inbuf = 0; - bool legacy_no_header = false; bool fail_if_not_legacy = false; - std::string header; /* - * Get the first line before anything. + * Get the first line before anything. Don't read more than max_bytes: + * this get() overload reads no more than (count-1) bytes into the + * specified buffer. In the usual case when max_bytes exceeds + * sizeof(hdr_buf), get() will read no more than sizeof(hdr_buf)-2. */ - str.get(hdr_buf, MAX_HDR_LEN, '\n'); + str.get(hdr_buf, llmin(max_bytes+1, sizeof(hdr_buf)-1), '\n'); + auto inbuf = str.gcount(); + // https://en.cppreference.com/w/cpp/io/basic_istream/get + // When the get() above sees the specified delimiter '\n', it stops there + // without pulling it from the stream. If it turns out that the stream + // does NOT contain a header, and the content includes meaningful '\n', + // it's important to pull that into hdr_buf too. + if (inbuf < max_bytes && str.get(hdr_buf[inbuf])) + { + // got the delimiting '\n' + ++inbuf; + // None of the following requires that hdr_buf contain a final '\0' + // byte. We could store one if needed, since even the incremented + // inbuf won't exceed sizeof(hdr_buf)-1, but there's no need. + } + std::string header{ hdr_buf, static_cast<std::string::size_type>(inbuf) }; if (str.fail()) { str.clear(); @@ -123,79 +154,97 @@ bool LLSDSerialize::deserialize(LLSD& sd, std::istream& str, S32 max_bytes) } if (!strncasecmp(LEGACY_NON_HEADER, hdr_buf, strlen(LEGACY_NON_HEADER))) /* Flawfinder: ignore */ + { // Create a LLSD XML parser, and parse the first chunk read above. + LLSDXMLParser x; + x.parsePart(hdr_buf, inbuf); // Parse the first part that was already read + auto parsed = x.parse(str, sd, max_bytes - inbuf); // Parse the rest of it + // Formally we should probably check (parsed != PARSE_FAILURE && + // parsed > 0), but since PARSE_FAILURE is -1, this suffices. + return (parsed > 0); + } + + if (fail_if_not_legacy) { - legacy_no_header = true; - inbuf = (int)str.gcount(); + LL_WARNS() << "deserialize LLSD parse failure" << LL_ENDL; + return false; } - else + + /* + * Remove the newline chars + */ + std::string::size_type lastchar = header.find_last_not_of("\r\n"); + if (lastchar != std::string::npos) { - if (fail_if_not_legacy) - goto fail; - /* - * Remove the newline chars - */ - for (i = 0; i < MAX_HDR_LEN; i++) - { - if (hdr_buf[i] == 0 || hdr_buf[i] == '\r' || - hdr_buf[i] == '\n') - { - hdr_buf[i] = 0; - break; - } - } - header = hdr_buf; + // It's important that find_last_not_of() returns size_type, which is + // why lastchar explicitly declares the type above. erase(size_type) + // erases from that offset to the end of the string, whereas + // erase(iterator) erases only a single character. + header.erase(lastchar+1); + } - std::string::size_type start = std::string::npos; - std::string::size_type end = std::string::npos; - start = header.find_first_not_of("<? "); - if (start != std::string::npos) + // trim off the <? ... ?> header syntax + auto start = header.find_first_not_of("<? "); + if (start != std::string::npos) + { + auto end = header.find_first_of(" ?", start); + if (end != std::string::npos) { - end = header.find_first_of(" ?", start); + header = header.substr(start, end - start); + ws(str); } - if ((start == std::string::npos) || (end == std::string::npos)) - goto fail; - - header = header.substr(start, end - start); - ws(str); } /* * Create the parser as appropriate */ - if (legacy_no_header) - { // Create a LLSD XML parser, and parse the first chunk read above - LLSDXMLParser* x = new LLSDXMLParser(); - x->parsePart(hdr_buf, inbuf); // Parse the first part that was already read - x->parseLines(str, sd); // Parse the rest of it - delete x; - return true; - } - - if (header == LLSD_BINARY_HEADER) + if (0 == LLStringUtil::compareInsensitive(header, LLSD_BINARY_HEADER)) { - p = new LLSDBinaryParser; + return (parse_using<LLSDBinaryParser>(str, sd, max_bytes-inbuf) > 0); } - else if (header == LLSD_XML_HEADER) + else if (0 == LLStringUtil::compareInsensitive(header, LLSD_XML_HEADER)) { - p = new LLSDXMLParser; + return (parse_using<LLSDXMLParser>(str, sd, max_bytes-inbuf) > 0); } - else if (header == LLSD_NOTATION_HEADER) + else if (0 == LLStringUtil::compareInsensitive(header, LLSD_NOTATION_HEADER)) { - p = new LLSDNotationParser; + return (parse_using<LLSDNotationParser>(str, sd, max_bytes-inbuf) > 0); } - else + else // no header we recognize { - LL_WARNS() << "deserialize request for unknown ELLSD_Serialize" << LL_ENDL; - } - - if (p.notNull()) - { - p->parse(str, sd, max_bytes); - return true; + LLPointer<LLSDParser> p; + if (inbuf && hdr_buf[0] == '<') + { + // looks like XML + LL_DEBUGS() << "deserialize request with no header, assuming XML" << LL_ENDL; + p = new LLSDXMLParser; + } + else + { + // assume notation + LL_DEBUGS() << "deserialize request with no header, assuming notation" << LL_ENDL; + p = new LLSDNotationParser; + } + // Since we've already read 'inbuf' bytes into 'hdr_buf', prepend that + // data to whatever remains in 'str'. + LLMemoryStreamBuf already(reinterpret_cast<const U8*>(hdr_buf), inbuf); + cat_streambuf prebuff(&already, str.rdbuf()); + std::istream prepend(&prebuff); +#if 1 + return (p->parse(prepend, sd, max_bytes) > 0); +#else + // debugging the reconstituted 'prepend' stream + // allocate a buffer that we hope is big enough for the whole thing + std::vector<char> wholemsg((max_bytes == size_t(SIZE_UNLIMITED))? 1024 : max_bytes); + prepend.read(wholemsg.data(), std::min(max_bytes, wholemsg.size())); + LLMemoryStream replay(reinterpret_cast<const U8*>(wholemsg.data()), prepend.gcount()); + auto success{ p->parse(replay, sd, prepend.gcount()) > 0 }; + { + LL_DEBUGS() << (success? "parsed: $$" : "failed: '") + << std::string(wholemsg.data(), llmin(prepend.gcount(), 100)) << "$$" + << LL_ENDL; + } + return success; +#endif } - -fail: - LL_WARNS() << "deserialize LLSD parse failure" << LL_ENDL; - return false; } /** @@ -255,7 +304,7 @@ F64 ll_ntohd(F64 netdouble) * @return Returns number of bytes read off of the stream. Returns * PARSE_FAILURE (-1) on failure. */ -int deserialize_string(std::istream& istr, std::string& value, S32 max_bytes); +llssize deserialize_string(std::istream& istr, std::string& value, llssize max_bytes); /** * @brief Parse a delimited string. @@ -266,7 +315,7 @@ int deserialize_string(std::istream& istr, std::string& value, S32 max_bytes); * @return Returns number of bytes read off of the stream. Returns * PARSE_FAILURE (-1) on failure. */ -int deserialize_string_delim(std::istream& istr, std::string& value, char d); +llssize deserialize_string_delim(std::istream& istr, std::string& value, char d); /** * @brief Read a raw string off the stream. @@ -280,10 +329,10 @@ int deserialize_string_delim(std::istream& istr, std::string& value, char d); * @return Returns number of bytes read off of the stream. Returns * PARSE_FAILURE (-1) on failure. */ -int deserialize_string_raw( +llssize deserialize_string_raw( std::istream& istr, std::string& value, - S32 max_bytes); + llssize max_bytes); /** * @brief helper method for dealing with the different notation boolean format. @@ -295,7 +344,7 @@ int deserialize_string_raw( * @return Returns number of bytes read off of the stream. Returns * PARSE_FAILURE (-1) on failure. */ -int deserialize_boolean( +llssize deserialize_boolean( std::istream& istr, LLSD& data, const std::string& compare, @@ -332,7 +381,7 @@ LLSDParser::LLSDParser() LLSDParser::~LLSDParser() { } -S32 LLSDParser::parse(std::istream& istr, LLSD& data, S32 max_bytes, S32 max_depth) +S32 LLSDParser::parse(std::istream& istr, LLSD& data, llssize max_bytes, S32 max_depth) { mCheckLimits = (LLSDSerialize::SIZE_UNLIMITED == max_bytes) ? false : true; mMaxBytesLeft = max_bytes; @@ -362,7 +411,7 @@ std::istream& LLSDParser::get( char delim) const { istr.get(s, n, delim); - if(mCheckLimits) mMaxBytesLeft -= (int)istr.gcount(); + if(mCheckLimits) mMaxBytesLeft -= istr.gcount(); return istr; } @@ -372,7 +421,7 @@ std::istream& LLSDParser::get( char delim) const { istr.get(sb, delim); - if(mCheckLimits) mMaxBytesLeft -= (int)istr.gcount(); + if(mCheckLimits) mMaxBytesLeft -= istr.gcount(); return istr; } @@ -396,11 +445,11 @@ std::istream& LLSDParser::read( std::streamsize n) const { istr.read(s, n); - if(mCheckLimits) mMaxBytesLeft -= (int)istr.gcount(); + if(mCheckLimits) mMaxBytesLeft -= istr.gcount(); return istr; } -void LLSDParser::account(S32 bytes) const +void LLSDParser::account(llssize bytes) const { if(mCheckLimits) mMaxBytesLeft -= bytes; } @@ -505,7 +554,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) c c = istr.peek(); if(isalpha(c)) { - int cnt = deserialize_boolean( + auto cnt = deserialize_boolean( istr, data, NOTATION_FALSE_SERIAL, @@ -535,7 +584,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) c c = istr.peek(); if(isalpha(c)) { - int cnt = deserialize_boolean(istr,data,NOTATION_TRUE_SERIAL,true); + auto cnt = deserialize_boolean(istr,data,NOTATION_TRUE_SERIAL,true); if(PARSE_FAILURE == cnt) parse_count = cnt; else account(cnt); } @@ -611,7 +660,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) c c = get(istr); // pop the 'l' c = get(istr); // pop the delimiter std::string str; - int cnt = deserialize_string_delim(istr, str, c); + auto cnt = deserialize_string_delim(istr, str, c); if(PARSE_FAILURE == cnt) { parse_count = PARSE_FAILURE; @@ -634,7 +683,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) c c = get(istr); // pop the 'd' c = get(istr); // pop the delimiter std::string str; - int cnt = deserialize_string_delim(istr, str, c); + auto cnt = deserialize_string_delim(istr, str, c); if(PARSE_FAILURE == cnt) { parse_count = PARSE_FAILURE; @@ -666,7 +715,7 @@ S32 LLSDNotationParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) c default: parse_count = PARSE_FAILURE; - LL_INFOS() << "Unrecognized character while parsing: int(" << (int)c + LL_INFOS() << "Unrecognized character while parsing: int(" << int(c) << ")" << LL_ENDL; break; } @@ -697,7 +746,7 @@ S32 LLSDNotationParser::parseMap(std::istream& istr, LLSD& map, S32 max_depth) c { putback(istr, c); found_name = true; - int count = deserialize_string(istr, name, mMaxBytesLeft); + auto count = deserialize_string(istr, name, mMaxBytesLeft); if(PARSE_FAILURE == count) return PARSE_FAILURE; account(count); } @@ -779,7 +828,7 @@ S32 LLSDNotationParser::parseArray(std::istream& istr, LLSD& array, S32 max_dept bool LLSDNotationParser::parseString(std::istream& istr, LLSD& data) const { std::string value; - int count = deserialize_string(istr, value, mMaxBytesLeft); + auto count = deserialize_string(istr, value, mMaxBytesLeft); if(PARSE_FAILURE == count) return false; account(count); data = value; @@ -806,13 +855,13 @@ bool LLSDNotationParser::parseBinary(std::istream& istr, LLSD& data) const { // We probably have a valid raw binary stream. determine // the size, and read it. - S32 len = strtol(buf + 2, NULL, 0); + auto len = strtol(buf + 2, NULL, 0); if(mCheckLimits && (len > mMaxBytesLeft)) return false; std::vector<U8> value; if(len) { value.resize(len); - account((int)fullread(istr, (char *)&value[0], len)); + account(fullread(istr, (char *)&value[0], len)); } c = get(istr); // strip off the trailing double-quote data = value; @@ -1009,7 +1058,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) con case '"': { std::string value; - int cnt = deserialize_string_delim(istr, value, c); + auto cnt = deserialize_string_delim(istr, value, c); if(PARSE_FAILURE == cnt) { parse_count = PARSE_FAILURE; @@ -1096,7 +1145,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) con if(size > 0) { value.resize(size); - account((int)fullread(istr, (char*)&value[0], size)); + account(fullread(istr, (char*)&value[0], size)); } data = value; } @@ -1110,7 +1159,7 @@ S32 LLSDBinaryParser::doParse(std::istream& istr, LLSD& data, S32 max_depth) con default: parse_count = PARSE_FAILURE; - LL_INFOS() << "Unrecognized character while parsing: int(" << (int)c + LL_INFOS() << "Unrecognized character while parsing: int(" << int(c) << ")" << LL_ENDL; break; } @@ -1144,7 +1193,7 @@ S32 LLSDBinaryParser::parseMap(std::istream& istr, LLSD& map, S32 max_depth) con case '\'': case '"': { - int cnt = deserialize_string_delim(istr, name, c); + auto cnt = deserialize_string_delim(istr, name, c); if(PARSE_FAILURE == cnt) return PARSE_FAILURE; account(cnt); break; @@ -1228,7 +1277,7 @@ bool LLSDBinaryParser::parseString( if(size) { buf.resize(size); - account((int)fullread(istr, &buf[0], size)); + account(fullread(istr, &buf[0], size)); value.assign(buf.begin(), buf.end()); } return true; @@ -1432,7 +1481,7 @@ S32 LLSDNotationFormatter::format_impl(const LLSD& data, std::ostream& ostr, ostr << std::uppercase; auto oldfill(ostr.fill('0')); auto oldwidth(ostr.width()); - for (int i = 0; i < buffer.size(); i++) + for (size_t i = 0; i < buffer.size(); i++) { // have to restate setw() before every conversion ostr << std::setw(2) << (int) buffer[i]; @@ -1595,7 +1644,7 @@ void LLSDBinaryFormatter::formatString( /** * local functions */ -int deserialize_string(std::istream& istr, std::string& value, S32 max_bytes) +llssize deserialize_string(std::istream& istr, std::string& value, llssize max_bytes) { int c = istr.get(); if(istr.fail()) @@ -1605,7 +1654,7 @@ int deserialize_string(std::istream& istr, std::string& value, S32 max_bytes) return LLSDParser::PARSE_FAILURE; } - int rv = LLSDParser::PARSE_FAILURE; + llssize rv = LLSDParser::PARSE_FAILURE; switch(c) { case '\'': @@ -1625,7 +1674,7 @@ int deserialize_string(std::istream& istr, std::string& value, S32 max_bytes) return rv + 1; // account for the character grabbed at the top. } -int deserialize_string_delim( +llssize deserialize_string_delim( std::istream& istr, std::string& value, char delim) @@ -1635,7 +1684,7 @@ int deserialize_string_delim( bool found_hex = false; bool found_digit = false; U8 byte = 0; - int count = 0; + llssize count = 0; while (true) { @@ -1650,7 +1699,7 @@ int deserialize_string_delim( } char next_char = (char)next_byte; // Now that we know it's not EOF - + if(found_escape) { // next character(s) is a special sequence. @@ -1728,16 +1777,16 @@ int deserialize_string_delim( return count; } -int deserialize_string_raw( +llssize deserialize_string_raw( std::istream& istr, std::string& value, - S32 max_bytes) + llssize max_bytes) { - int count = 0; + llssize count = 0; const S32 BUF_LEN = 20; char buf[BUF_LEN]; /* Flawfinder: ignore */ istr.get(buf, BUF_LEN - 1, ')'); - count += (int)istr.gcount(); + count += istr.gcount(); int c = istr.get(); c = istr.get(); count += 2; @@ -1746,13 +1795,13 @@ int deserialize_string_raw( // We probably have a valid raw string. determine // the size, and read it. // *FIX: This is memory inefficient. - S32 len = strtol(buf + 1, NULL, 0); + auto len = strtol(buf + 1, NULL, 0); if((max_bytes>0)&&(len>max_bytes)) return LLSDParser::PARSE_FAILURE; std::vector<char> buf; if(len) { buf.resize(len); - count += (int)fullread(istr, (char *)&buf[0], len); + count += fullread(istr, (char *)&buf[0], len); value.assign(buf.begin(), buf.end()); } c = istr.get(); @@ -2041,7 +2090,7 @@ void serialize_string(const std::string& value, std::ostream& str) } } -int deserialize_boolean( +llssize deserialize_boolean( std::istream& istr, LLSD& data, const std::string& compare, @@ -2058,7 +2107,7 @@ int deserialize_boolean( // * set data to LLSD::null // * return LLSDParser::PARSE_FAILURE (-1) // - int bytes_read = 0; + llssize bytes_read = 0; std::string::size_type ii = 0; char c = istr.peek(); while((++ii < compare.size()) @@ -2113,7 +2162,7 @@ std::string zip_llsd(LLSD& data) U8 out[CHUNK]; - strm.avail_in = source.size(); + strm.avail_in = narrow(source.size()); strm.next_in = (U8*) source.data(); U8* output = NULL; @@ -2287,7 +2336,7 @@ LLUZipHelper::EZipRresult LLUZipHelper::unzip_llsd(LLSD& data, const U8* in, S32 //This unzip function will only work with a gzip header and trailer - while the contents //of the actual compressed data is the same for either format (gzip vs zlib ), the headers //and trailers are different for the formats. -U8* unzip_llsdNavMesh( bool& valid, unsigned int& outsize, std::istream& is, S32 size ) +U8* unzip_llsdNavMesh( bool& valid, size_t& outsize, std::istream& is, S32 size ) { if (size == 0) { diff --git a/indra/llcommon/llsdserialize.h b/indra/llcommon/llsdserialize.h index d33d2b6f34..2f12c6d1ff 100644 --- a/indra/llcommon/llsdserialize.h +++ b/indra/llcommon/llsdserialize.h @@ -77,7 +77,7 @@ public: * @return Returns the number of LLSD objects parsed into * data. Returns PARSE_FAILURE (-1) on parse failure. */ - S32 parse(std::istream& istr, LLSD& data, S32 max_bytes, S32 max_depth = -1); + S32 parse(std::istream& istr, LLSD& data, llssize max_bytes, S32 max_depth = -1); /** Like parse(), but uses a different call (istream.getline()) to read by lines * This API is better suited for XML, where the parse cannot tell @@ -194,7 +194,7 @@ protected: * Conceptually const since it only modifies mutable members. * @param bytes The number of bytes read. */ - void account(S32 bytes) const; + void account(llssize bytes) const; protected: /** @@ -205,7 +205,7 @@ protected: /** * @brief The maximum number of bytes left to be parsed. */ - mutable S32 mMaxBytesLeft; + mutable llssize mMaxBytesLeft; /** * @brief Use line-based reading to get text @@ -336,7 +336,7 @@ private: class Impl; Impl& impl; - void parsePart(const char* buf, int len); + void parsePart(const char* buf, llssize len); friend class LLSDSerialize; }; @@ -756,7 +756,7 @@ public: * @param max_bytes the maximum number of bytes to parse * @return Returns true if the stream appears to contain valid data */ - static bool deserialize(LLSD& sd, std::istream& str, S32 max_bytes); + static bool deserialize(LLSD& sd, std::istream& str, llssize max_bytes); /* * Notation Methods @@ -778,12 +778,12 @@ public: LLSDFormatter::EFormatterOptions(LLSDFormatter::OPTIONS_PRETTY | LLSDFormatter::OPTIONS_PRETTY_BINARY)); } - static S32 fromNotation(LLSD& sd, std::istream& str, S32 max_bytes) + static S32 fromNotation(LLSD& sd, std::istream& str, llssize max_bytes) { LLPointer<LLSDNotationParser> p = new LLSDNotationParser; return p->parse(str, sd, max_bytes); } - static LLSD fromNotation(std::istream& str, S32 max_bytes) + static LLSD fromNotation(std::istream& str, llssize max_bytes) { LLPointer<LLSDNotationParser> p = new LLSDNotationParser; LLSD sd; @@ -834,12 +834,12 @@ public: LLPointer<LLSDBinaryFormatter> f = new LLSDBinaryFormatter; return f->format(sd, str, LLSDFormatter::OPTIONS_NONE); } - static S32 fromBinary(LLSD& sd, std::istream& str, S32 max_bytes, S32 max_depth = -1) + static S32 fromBinary(LLSD& sd, std::istream& str, llssize max_bytes, S32 max_depth = -1) { LLPointer<LLSDBinaryParser> p = new LLSDBinaryParser; return p->parse(str, sd, max_bytes, max_depth); } - static LLSD fromBinary(std::istream& str, S32 max_bytes, S32 max_depth = -1) + static LLSD fromBinary(std::istream& str, llssize max_bytes, S32 max_depth = -1) { LLPointer<LLSDBinaryParser> p = new LLSDBinaryParser; LLSD sd; @@ -870,7 +870,7 @@ public: LL_COMMON_API std::string zip_llsd(LLSD& data); -LL_COMMON_API U8* unzip_llsdNavMesh( bool& valid, unsigned int& outsize,std::istream& is, S32 size); +LL_COMMON_API U8* unzip_llsdNavMesh( bool& valid, size_t& outsize,std::istream& is, S32 size); // returns a pointer to the array or past the array if the deprecated header exists LL_COMMON_API char* strip_deprecated_header(char* in, U32& cur_size, U32* header_size = nullptr); diff --git a/indra/llcommon/llsdserialize_xml.cpp b/indra/llcommon/llsdserialize_xml.cpp index 0da824d694..ac128c9f86 100644 --- a/indra/llcommon/llsdserialize_xml.cpp +++ b/indra/llcommon/llsdserialize_xml.cpp @@ -196,12 +196,12 @@ S32 LLSDXMLFormatter::format_impl(const LLSD& data, std::ostream& ostr, // *FIX: memory inefficient. // *TODO: convert to use LLBase64 ostr << pre << "<binary encoding=\"base64\">"; - int b64_buffer_length = apr_base64_encode_len(buffer.size()); + int b64_buffer_length = apr_base64_encode_len(narrow(buffer.size())); char* b64_buffer = new char[b64_buffer_length]; b64_buffer_length = apr_base64_encode_binary( b64_buffer, &buffer[0], - buffer.size()); + narrow(buffer.size())); ostr.write(b64_buffer, b64_buffer_length - 1); delete[] b64_buffer; ostr << "</binary>" << post; @@ -260,7 +260,7 @@ public: S32 parse(std::istream& input, LLSD& data); S32 parseLines(std::istream& input, LLSD& data); - void parsePart(const char *buf, int len); + void parsePart(const char *buf, llssize len); void reset(); @@ -542,7 +542,7 @@ LLSDXMLParser::Impl::findAttribute(const XML_Char* name, const XML_Char** pairs) return NULL; } -void LLSDXMLParser::Impl::parsePart(const char* buf, int len) +void LLSDXMLParser::Impl::parsePart(const char* buf, llssize len) { if ( buf != NULL && len > 0 ) @@ -915,7 +915,7 @@ LLSDXMLParser::~LLSDXMLParser() delete &impl; } -void LLSDXMLParser::parsePart(const char *buf, int len) +void LLSDXMLParser::parsePart(const char *buf, llssize len) { impl.parsePart(buf, len); } diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 8e90d1e8b8..f70bee9903 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -148,10 +148,9 @@ LLSD ll_binary_from_string(const LLSD& sd) std::vector<U8> binary_value; std::string string_value = sd.asString(); - for (std::string::iterator iter = string_value.begin(); - iter != string_value.end(); ++iter) + for (const U8 c : string_value) { - binary_value.push_back(*iter); + binary_value.push_back(c); } binary_value.push_back('\0'); diff --git a/indra/llcommon/llstreamtools.cpp b/indra/llcommon/llstreamtools.cpp index d7a6f47932..bc32b6fd9e 100644 --- a/indra/llcommon/llstreamtools.cpp +++ b/indra/llcommon/llstreamtools.cpp @@ -118,7 +118,7 @@ bool skip_to_next_word(std::istream& input_stream) bool skip_to_end_of_next_keyword(const char* keyword, std::istream& input_stream) { - int key_length = strlen(keyword); /*Flawfinder: ignore*/ + auto key_length = strlen(keyword); /*Flawfinder: ignore*/ if (0 == key_length) { return false; @@ -315,7 +315,7 @@ bool unget_line(const std::string& line, std::istream& input_stream) // returns true if removed last char bool remove_last_char(char c, std::string& line) { - int line_size = line.size(); + auto line_size = line.size(); if (line_size > 1 && c == line[line_size - 1]) { @@ -330,9 +330,8 @@ bool remove_last_char(char c, std::string& line) // "\\n" ---> '\n' (backslash n becomes carriage return) void unescape_string(std::string& line) { - int line_size = line.size(); - int index = 0; - while (index < line_size - 1) + auto line_size = line.size(); + for (size_t index = 0; line_size >= 1 && index < line_size - 1; ++index) { if ('\\' == line[index]) { @@ -347,7 +346,6 @@ void unescape_string(std::string& line) line_size--; } } - index++; } } @@ -356,9 +354,8 @@ void unescape_string(std::string& line) // '\n' ---> "\\n" (carriage return becomes backslash n) void escape_string(std::string& line) { - int line_size = line.size(); - int index = 0; - while (index < line_size) + auto line_size = line.size(); + for (size_t index = 0; index < line_size; ++index) { if ('\\' == line[index]) { @@ -372,31 +369,27 @@ void escape_string(std::string& line) line_size++; index++; } - index++; } } // removes '\n' characters void replace_newlines_with_whitespace(std::string& line) { - int line_size = line.size(); - int index = 0; - while (index < line_size) + auto line_size = line.size(); + for (size_t index = 0; index < line_size; ++index) { if ('\n' == line[index]) { line.replace(index, 1, " "); } - index++; } } // erases any double-quote characters in 'line' void remove_double_quotes(std::string& line) { - int index = 0; - int line_size = line.size(); - while (index < line_size) + auto line_size = line.size(); + for (size_t index = 0; index < line_size; ) { if ('"' == line[index]) { @@ -424,22 +417,21 @@ void get_keyword_and_value(std::string& keyword, const std::string& line) { // skip initial whitespace - int line_size = line.size(); - int line_index = 0; + auto line_size = line.size(); + size_t line_index = 0; char c; - while (line_index < line_size) + for ( ; line_index < line_size; ++line_index) { c = line[line_index]; if (!LLStringOps::isSpace(c)) { break; } - line_index++; } // get the keyword keyword.clear(); - while (line_index < line_size) + for ( ; line_index < line_size; ++line_index) { c = line[line_index]; if (LLStringOps::isSpace(c) || '\r' == c || '\n' == c) @@ -447,7 +439,6 @@ void get_keyword_and_value(std::string& keyword, break; } keyword += c; - line_index++; } // get the value @@ -465,7 +456,7 @@ void get_keyword_and_value(std::string& keyword, line_index++; } - while (line_index < line_size) + for ( ; line_index < line_size; ++line_index) { c = line[line_index]; if ('\r' == c || '\n' == c) @@ -473,7 +464,6 @@ void get_keyword_and_value(std::string& keyword, break; } value += c; - line_index++; } } } @@ -523,3 +513,29 @@ std::istream& operator>>(std::istream& str, const char *tocheck) } return str; } + +int cat_streambuf::underflow() +{ + if (gptr() == egptr()) + { + // here because our buffer is empty + std::streamsize size = 0; + // Until we've run out of mInputs, try reading the first of them + // into mBuffer. If that fetches some characters, break the loop. + while (! mInputs.empty() + && ! (size = mInputs.front()->sgetn(mBuffer.data(), mBuffer.size()))) + { + // We tried to read mInputs.front() but got zero characters. + // Discard the first streambuf and try the next one. + mInputs.pop_front(); + } + // Either we ran out of mInputs or we succeeded in reading some + // characters, that is, size != 0. Tell base class what we have. + setg(mBuffer.data(), mBuffer.data(), mBuffer.data() + size); + } + // If we fell out of the above loop with mBuffer still empty, return + // eof(), otherwise return the next character. + return (gptr() == egptr()) + ? std::char_traits<char>::eof() + : std::char_traits<char>::to_int_type(*gptr()); +} diff --git a/indra/llcommon/llstreamtools.h b/indra/llcommon/llstreamtools.h index 1b04bf91d7..bb7bc20327 100644 --- a/indra/llcommon/llstreamtools.h +++ b/indra/llcommon/llstreamtools.h @@ -27,8 +27,10 @@ #ifndef LL_STREAM_TOOLS_H #define LL_STREAM_TOOLS_H +#include <deque> #include <iostream> #include <string> +#include <vector> // unless specifed otherwise these all return input_stream.good() @@ -113,6 +115,27 @@ LL_COMMON_API std::streamsize fullread( LL_COMMON_API std::istream& operator>>(std::istream& str, const char *tocheck); -#endif - +/** + * cat_streambuf is a std::streambuf subclass that accepts a variadic number + * of std::streambuf* (e.g. some_istream.rdbuf()) and virtually concatenates + * their contents. + */ +// derived from https://stackoverflow.com/a/49441066/5533635 +class cat_streambuf: public std::streambuf +{ +private: + std::deque<std::streambuf*> mInputs; + std::vector<char> mBuffer; + +public: + // only valid for std::streambuf* arguments + template <typename... Inputs> + cat_streambuf(Inputs... inputs): + mInputs{inputs...}, + mBuffer(1024) + {} + + int underflow() override; +}; +#endif diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index 7f501f2e77..f6629803ee 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -141,7 +141,7 @@ std::string rawstr_to_utf8(const std::string& raw) return wstring_to_utf8str(wstr); } -S32 wchar_to_utf8chars(llwchar in_char, char* outchars) +std::ptrdiff_t wchar_to_utf8chars(llwchar in_char, char* outchars) { U32 cur_char = (U32)in_char; char* base = outchars; @@ -192,7 +192,7 @@ S32 wchar_to_utf8chars(llwchar in_char, char* outchars) return outchars - base; } -S32 utf16chars_to_wchar(const U16* inchars, llwchar* outchar) +auto utf16chars_to_wchar(const U16* inchars, llwchar* outchar) { const U16* base = inchars; U16 cur_char = *inchars++; @@ -310,7 +310,7 @@ S32 wstring_utf16_length(const LLWString &wstr, const S32 woffset, const S32 wle // and whose equivalent utf-16 string does not exceeds the given utf16_length. S32 wstring_wstring_length_from_utf16_length(const LLWString & wstr, const S32 woffset, const S32 utf16_length, BOOL *unaligned) { - const S32 end = wstr.length(); + const auto end = wstr.length(); BOOL u = FALSE; S32 n = woffset + utf16_length; S32 i = woffset; @@ -426,7 +426,7 @@ LLWString utf8str_to_wstring(const char* utf8str, size_t len) } // Check that this character doesn't go past the end of the string - S32 end = (len < (i + cont_bytes)) ? len : (i + cont_bytes); + auto end = (len < (i + cont_bytes)) ? len : (i + cont_bytes); do { ++i; @@ -471,7 +471,7 @@ std::string wstring_to_utf8str(const llwchar* utf32str, size_t len) while (i < len) { char tchars[8]; /* Flawfinder: ignore */ - S32 n = wchar_to_utf8chars(utf32str[i], tchars); + auto n = wchar_to_utf8chars(utf32str[i], tchars); tchars[n] = 0; out += tchars; i++; diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index d94f549480..1fd6cac14a 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -664,7 +664,7 @@ ll_convert_forms(ll_convert_alias, LLWString, std::string, utf8str_to_ // Same function, better name. JC inline LLWString utf8string_to_wstring(const std::string& utf8_string) { return utf8str_to_wstring(utf8_string); } -LL_COMMON_API S32 wchar_to_utf8chars(llwchar inchar, char* outchars); +LL_COMMON_API std::ptrdiff_t wchar_to_utf8chars(llwchar inchar, char* outchars); ll_convert_forms(ll_convert_alias, std::string, LLWString, wstring_to_utf8str); ll_convert_forms(ll_convert_u16_alias, std::string, llutf16string, utf16str_to_utf8str); diff --git a/indra/llcommon/llstringtable.cpp b/indra/llcommon/llstringtable.cpp index f288999964..92a5e777a6 100644 --- a/indra/llcommon/llstringtable.cpp +++ b/indra/llcommon/llstringtable.cpp @@ -89,9 +89,8 @@ LLStringTable::~LLStringTable() { if (mStringList[i]) { - string_list_t::iterator iter; - for (iter = mStringList[i]->begin(); iter != mStringList[i]->end(); iter++) - delete *iter; // *iter = (LLStringTableEntry*) + for (LLStringTableEntry* entry : *mStringList[i]) + delete entry; } delete mStringList[i]; } @@ -156,9 +155,9 @@ LLStringTableEntry* LLStringTable::checkStringEntry(const char *str) if (str) { char *ret_val; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -180,10 +179,8 @@ LLStringTableEntry* LLStringTable::checkStringEntry(const char *str) string_list_t *strlist = mStringList[hash_value]; if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { @@ -226,9 +223,9 @@ LLStringTableEntry* LLStringTable::addStringEntry(const char *str) if (str) { char *ret_val = NULL; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -257,10 +254,8 @@ LLStringTableEntry* LLStringTable::addStringEntry(const char *str) if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { @@ -294,10 +289,10 @@ void LLStringTable::removeString(const char *str) if (str) { char *ret_val; - LLStringTableEntry *entry; U32 hash_value = hash_my_string(str, mMaxEntries); #if STRING_TABLE_HASH_MAP { + LLStringTableEntry *entry; #if 1 // Microsoft string_hash_t::iterator lower = mStringHash.lower_bound(hash_value); string_hash_t::iterator upper = mStringHash.upper_bound(hash_value); @@ -331,10 +326,8 @@ void LLStringTable::removeString(const char *str) if (strlist) { - string_list_t::iterator iter; - for (iter = strlist->begin(); iter != strlist->end(); iter++) + for (LLStringTableEntry* entry : *strlist) { - entry = *iter; ret_val = entry->mString; if (!strncmp(ret_val, str, MAX_STRINGS_LENGTH)) { diff --git a/indra/llcommon/llstringtable.h b/indra/llcommon/llstringtable.h index ff09e71677..0a292c8bac 100644 --- a/indra/llcommon/llstringtable.h +++ b/indra/llcommon/llstringtable.h @@ -136,9 +136,9 @@ public: for (S32 i = 0; i<mTableSize; i++) { string_set_t& stringset = mStringList[i]; - for (string_set_t::iterator iter = stringset.begin(); iter != stringset.end(); iter++) + for (LLStdStringHandle str : stringset) { - delete *iter; + delete str; } stringset.clear(); } diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index a8b5c7b3a8..91cb65b815 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -273,7 +273,7 @@ LLOSInfo::LLOSInfo() : { const char * DARWIN_PRODUCT_NAME = "Mac OS X"; - S32 major_version, minor_version, bugfix_version = 0; + int64_t major_version, minor_version, bugfix_version = 0; if (LLGetDarwinOSInfo(major_version, minor_version, bugfix_version)) { @@ -454,14 +454,14 @@ LLOSInfo::LLOSInfo() : #ifndef LL_WINDOWS // static -S32 LLOSInfo::getMaxOpenFiles() +long LLOSInfo::getMaxOpenFiles() { - const S32 OPEN_MAX_GUESS = 256; + const long OPEN_MAX_GUESS = 256; #ifdef OPEN_MAX - static S32 open_max = OPEN_MAX; + static long open_max = OPEN_MAX; #else - static S32 open_max = 0; + static long open_max = 0; #endif if (0 == open_max) @@ -909,7 +909,7 @@ void LLMemoryInfo::stream(std::ostream& s) const // Now stream stats BOOST_FOREACH(const MapEntry& pair, inMap(mStatsMap)) { - s << pfx << std::setw(key_width+1) << (pair.first + ':') << ' '; + s << pfx << std::setw(narrow(key_width+1)) << (pair.first + ':') << ' '; LLSD value(pair.second); if (value.isInteger()) s << std::setw(12) << value.asInteger(); @@ -1280,7 +1280,7 @@ public: << " seconds "; } - S32 precision = LL_CONT.precision(); + auto precision = LL_CONT.precision(); LL_CONT << std::fixed << std::setprecision(1) << framerate << '\n' << LLMemoryInfo(); diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h index 5ffbf5a732..70a03810c5 100644 --- a/indra/llcommon/llsys.h +++ b/indra/llcommon/llsys.h @@ -59,7 +59,7 @@ public: S32 mBuild; #ifndef LL_WINDOWS - static S32 getMaxOpenFiles(); + static long getMaxOpenFiles(); #endif static bool is64Bit(); diff --git a/indra/llcommon/llsys_objc.h b/indra/llcommon/llsys_objc.h index 35599a574b..b48ff97bdb 100644 --- a/indra/llcommon/llsys_objc.h +++ b/indra/llcommon/llsys_objc.h @@ -27,7 +27,11 @@ #ifndef LL_LLSYS_OBJC_H #define LL_LLSYS_OBJC_H -bool LLGetDarwinOSInfo(int &major, int &minor, int &patch); +#include <cstdint> + +// C++ land doesn't define NSInteger, and we don't want to introduce that for +// this one case, so use int64_t instead (which is equivalent). +bool LLGetDarwinOSInfo(int64_t &major, int64_t &minor, int64_t &patch); #endif // LL_LLSYS_OBJC_H diff --git a/indra/llcommon/llsys_objc.mm b/indra/llcommon/llsys_objc.mm index cdb1e320d5..3fd85fb1c9 100644 --- a/indra/llcommon/llsys_objc.mm +++ b/indra/llcommon/llsys_objc.mm @@ -27,12 +27,12 @@ #import "llsys_objc.h" #import <AppKit/AppKit.h> -static int intAtStringIndex(NSArray *array, int index) +static auto intAtStringIndex(NSArray *array, int index) { return [(NSString *)[array objectAtIndex:index] integerValue]; } -bool LLGetDarwinOSInfo(int &major, int &minor, int &patch) +bool LLGetDarwinOSInfo(int64_t &major, int64_t &minor, int64_t &patch) { if (NSAppKitVersionNumber > NSAppKitVersionNumber10_8) { diff --git a/indra/llcommon/llthreadsafequeue.h b/indra/llcommon/llthreadsafequeue.h index 68d79cdd12..f396a71e6f 100644 --- a/indra/llcommon/llthreadsafequeue.h +++ b/indra/llcommon/llthreadsafequeue.h @@ -82,7 +82,7 @@ public: // Limiting the number of pending items prevents unbounded growth of the // underlying queue. - LLThreadSafeQueue(U32 capacity = 1024); + LLThreadSafeQueue(size_t capacity = 1024); virtual ~LLThreadSafeQueue() {} // Add an element to the queue (will block if the queue has reached @@ -179,7 +179,7 @@ public: protected: typedef QueueT queue_type; QueueT mStorage; - U32 mCapacity; + size_t mCapacity; bool mClosed; boost::fibers::timed_mutex mLock; @@ -262,7 +262,7 @@ namespace LL * LLThreadSafeQueue implementation *****************************************************************************/ template<typename ElementT, typename QueueT> -LLThreadSafeQueue<ElementT, QueueT>::LLThreadSafeQueue(U32 capacity) : +LLThreadSafeQueue<ElementT, QueueT>::LLThreadSafeQueue(size_t capacity) : mCapacity(capacity), mClosed(false) { diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp index aaa6df325c..74ec62d347 100644 --- a/indra/llcommon/lltimer.cpp +++ b/indra/llcommon/lltimer.cpp @@ -123,7 +123,7 @@ U32 micro_sleep(U64 us, U32 max_yields) // interrupts at 250 Hz (every 4,000 microseconds). const U64 KERNEL_SLEEP_INTERVAL_US = 4000; - S32 num_sleep_intervals = (us - (KERNEL_SLEEP_INTERVAL_US >> 1)) / KERNEL_SLEEP_INTERVAL_US; + auto num_sleep_intervals = (us - (KERNEL_SLEEP_INTERVAL_US >> 1)) / KERNEL_SLEEP_INTERVAL_US; if (num_sleep_intervals > 0) { U64 sleep_time = (num_sleep_intervals * KERNEL_SLEEP_INTERVAL_US) - (KERNEL_SLEEP_INTERVAL_US >> 1); diff --git a/indra/llcommon/lltrace.cpp b/indra/llcommon/lltrace.cpp index acdda5fe1e..ff671a8370 100644 --- a/indra/llcommon/lltrace.cpp +++ b/indra/llcommon/lltrace.cpp @@ -65,7 +65,7 @@ void TimeBlockTreeNode::setParent( BlockTimerStatHandle* parent ) llassert_always(parent != mBlock); llassert_always(parent != NULL); - TimeBlockTreeNode* parent_tree_node = get_thread_recorder()->getTimeBlockTreeNode(parent->getIndex()); + TimeBlockTreeNode* parent_tree_node = get_thread_recorder()->getTimeBlockTreeNode(narrow(parent->getIndex())); if (!parent_tree_node) return; if (mParent) diff --git a/indra/llcommon/lltrace.h b/indra/llcommon/lltrace.h index fcd8753f75..580cf0a5fd 100644 --- a/indra/llcommon/lltrace.h +++ b/indra/llcommon/lltrace.h @@ -340,7 +340,7 @@ inline void claim_alloc(MemStatHandle& measurement, const T& value) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; #if LL_TRACE_ENABLED - S32 size = MeasureMem<T>::measureFootprint(value); + auto size = MeasureMem<T>::measureFootprint(value); if(size == 0) return; MemAccumulator& accumulator = measurement.getCurrentAccumulator(); accumulator.mSize.sample(accumulator.mSize.hasValue() ? accumulator.mSize.getLastValue() + (F64)size : (F64)size); @@ -353,7 +353,7 @@ inline void disclaim_alloc(MemStatHandle& measurement, const T& value) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; #if LL_TRACE_ENABLED - S32 size = MeasureMem<T>::measureFootprint(value); + auto size = MeasureMem<T>::measureFootprint(value); if(size == 0) return; MemAccumulator& accumulator = measurement.getCurrentAccumulator(); accumulator.mSize.sample(accumulator.mSize.hasValue() ? accumulator.mSize.getLastValue() - (F64)size : -(F64)size); diff --git a/indra/llcommon/lltraceaccumulators.cpp b/indra/llcommon/lltraceaccumulators.cpp index fe447d5319..6bd886ae98 100644 --- a/indra/llcommon/lltraceaccumulators.cpp +++ b/indra/llcommon/lltraceaccumulators.cpp @@ -96,9 +96,9 @@ void AccumulatorBufferGroup::makeCurrent() ThreadRecorder* thread_recorder = get_thread_recorder(); AccumulatorBuffer<TimeBlockAccumulator>& timer_accumulator_buffer = mStackTimers; // update stacktimer parent pointers - for (S32 i = 0, end_i = mStackTimers.size(); i < end_i; i++) + for (size_t i = 0, end_i = mStackTimers.size(); i < end_i; i++) { - TimeBlockTreeNode* tree_node = thread_recorder->getTimeBlockTreeNode(i); + TimeBlockTreeNode* tree_node = thread_recorder->getTimeBlockTreeNode(narrow(i)); if (tree_node) { timer_accumulator_buffer[i].mParent = tree_node->mParent; diff --git a/indra/llcommon/lltracerecording.cpp b/indra/llcommon/lltracerecording.cpp index 8cbb0db135..bb3d667a42 100644 --- a/indra/llcommon/lltracerecording.cpp +++ b/indra/llcommon/lltracerecording.cpp @@ -577,10 +577,12 @@ S32 Recording::getSampleCount( const StatType<EventAccumulator>& stat ) // PeriodicRecording /////////////////////////////////////////////////////////////////////// -PeriodicRecording::PeriodicRecording( S32 num_periods, EPlayState state) +PeriodicRecording::PeriodicRecording( size_t num_periods, EPlayState state) : mAutoResize(num_periods == 0), mCurPeriod(0), mNumRecordedPeriods(0), + // This guarantee that mRecordingPeriods cannot be empty is essential for + // code in several methods. mRecordingPeriods(num_periods ? num_periods : 1) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; @@ -596,17 +598,19 @@ PeriodicRecording::~PeriodicRecording() void PeriodicRecording::nextPeriod() { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; if (mAutoResize) { mRecordingPeriods.push_back(Recording()); } Recording& old_recording = getCurRecording(); - mCurPeriod = (mCurPeriod + 1) % mRecordingPeriods.size(); + inci(mCurPeriod); old_recording.splitTo(getCurRecording()); - mNumRecordedPeriods = llmin((S32)mRecordingPeriods.size() - 1, mNumRecordedPeriods + 1); + // Since mRecordingPeriods always has at least one entry, we can always + // safely subtract 1 from its size(). + mNumRecordedPeriods = llmin(mRecordingPeriods.size() - 1, mNumRecordedPeriods + 1); } void PeriodicRecording::appendRecording(Recording& recording) @@ -619,31 +623,29 @@ void PeriodicRecording::appendRecording(Recording& recording) void PeriodicRecording::appendPeriodicRecording( PeriodicRecording& other ) { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; if (other.mRecordingPeriods.empty()) return; getCurRecording().update(); other.getCurRecording().update(); - - const S32 other_recording_slots = other.mRecordingPeriods.size(); - const S32 other_num_recordings = other.getNumRecordedPeriods(); - const S32 other_current_recording_index = other.mCurPeriod; - const S32 other_oldest_recording_index = (other_current_recording_index + other_recording_slots - other_num_recordings) % other_recording_slots; + + const auto other_num_recordings = other.getNumRecordedPeriods(); + const auto other_current_recording_index = other.mCurPeriod; + const auto other_oldest_recording_index = other.previ(other_current_recording_index, other_num_recordings); // append first recording into our current slot getCurRecording().appendRecording(other.mRecordingPeriods[other_oldest_recording_index]); // from now on, add new recordings for everything after the first - S32 other_index = (other_oldest_recording_index + 1) % other_recording_slots; + auto other_index = other.nexti(other_oldest_recording_index); if (mAutoResize) { // push back recordings for everything in the middle - S32 other_index = (other_oldest_recording_index + 1) % other_recording_slots; while (other_index != other_current_recording_index) { mRecordingPeriods.push_back(other.mRecordingPeriods[other_index]); - other_index = (other_index + 1) % other_recording_slots; + other.inci(other_index); } // add final recording, if it wasn't already added as the first @@ -652,37 +654,26 @@ void PeriodicRecording::appendPeriodicRecording( PeriodicRecording& other ) mRecordingPeriods.push_back(other.mRecordingPeriods[other_current_recording_index]); } + // mRecordingPeriods is never empty() mCurPeriod = mRecordingPeriods.size() - 1; - mNumRecordedPeriods = mRecordingPeriods.size() - 1; + mNumRecordedPeriods = mCurPeriod; } else { - S32 num_to_copy = llmin((S32)mRecordingPeriods.size(), (S32)other_num_recordings); - - std::vector<Recording>::iterator src_it = other.mRecordingPeriods.begin() + other_index ; - std::vector<Recording>::iterator dest_it = mRecordingPeriods.begin() + mCurPeriod; - + auto num_to_copy = llmin(mRecordingPeriods.size(), other_num_recordings); // already consumed the first recording from other, so start counting at 1 - for(S32 i = 1; i < num_to_copy; i++) + for (size_t n = 1, srci = other_index, dsti = mCurPeriod; + n < num_to_copy; + ++n, other.inci(srci), inci(dsti)) { - *dest_it = *src_it; - - if (++src_it == other.mRecordingPeriods.end()) - { - src_it = other.mRecordingPeriods.begin(); - } - - if (++dest_it == mRecordingPeriods.end()) - { - dest_it = mRecordingPeriods.begin(); - } + mRecordingPeriods[dsti] = other.mRecordingPeriods[srci]; } - + // want argument to % to be positive, otherwise result could be negative and thus out of bounds llassert(num_to_copy >= 1); // advance to last recording period copied, and make that our current period - mCurPeriod = (mCurPeriod + num_to_copy - 1) % mRecordingPeriods.size(); - mNumRecordedPeriods = llmin((S32)mRecordingPeriods.size() - 1, mNumRecordedPeriods + num_to_copy - 1); + inci(mCurPeriod, num_to_copy - 1); + mNumRecordedPeriods = llmin(mRecordingPeriods.size() - 1, mNumRecordedPeriods + num_to_copy - 1); } // end with fresh period, otherwise next appendPeriodicRecording() will merge the first @@ -693,13 +684,11 @@ void PeriodicRecording::appendPeriodicRecording( PeriodicRecording& other ) F64Seconds PeriodicRecording::getDuration() const { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; F64Seconds duration; - S32 num_periods = mRecordingPeriods.size(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t n = 0; n < mRecordingPeriods.size(); ++n) { - S32 index = (mCurPeriod + num_periods - i) % num_periods; - duration += mRecordingPeriods[index].getDuration(); + duration += mRecordingPeriods[nexti(mCurPeriod, n)].getDuration(); } return duration; } @@ -734,18 +723,16 @@ const Recording& PeriodicRecording::getCurRecording() const return mRecordingPeriods[mCurPeriod]; } -Recording& PeriodicRecording::getPrevRecording( S32 offset ) +Recording& PeriodicRecording::getPrevRecording( size_t offset ) { - S32 num_periods = mRecordingPeriods.size(); - offset = llclamp(offset, 0, num_periods - 1); - return mRecordingPeriods[(mCurPeriod + num_periods - offset) % num_periods]; + // reuse const implementation, but return non-const reference + return const_cast<Recording&>( + const_cast<const PeriodicRecording*>(this)->getPrevRecording(offset)); } -const Recording& PeriodicRecording::getPrevRecording( S32 offset ) const +const Recording& PeriodicRecording::getPrevRecording( size_t offset ) const { - S32 num_periods = mRecordingPeriods.size(); - offset = llclamp(offset, 0, num_periods - 1); - return mRecordingPeriods[(mCurPeriod + num_periods - offset) % num_periods]; + return mRecordingPeriods[previ(mCurPeriod, offset)]; } void PeriodicRecording::handleStart() @@ -772,11 +759,9 @@ void PeriodicRecording::handleReset() } else { - for (std::vector<Recording>::iterator it = mRecordingPeriods.begin(), end_it = mRecordingPeriods.end(); - it != end_it; - ++it) + for (Recording& rec : mRecordingPeriods) { - it->reset(); + rec.reset(); } } mCurPeriod = 0; @@ -790,14 +775,14 @@ void PeriodicRecording::handleSplitTo(PeriodicRecording& other) getCurRecording().splitTo(other.getCurRecording()); } -F64 PeriodicRecording::getPeriodMin( const StatType<EventAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMin( const StatType<EventAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; F64 min_val = std::numeric_limits<F64>::max(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -812,14 +797,14 @@ F64 PeriodicRecording::getPeriodMin( const StatType<EventAccumulator>& stat, S32 : NaN; } -F64 PeriodicRecording::getPeriodMax( const StatType<EventAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMax( const StatType<EventAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; F64 max_val = std::numeric_limits<F64>::min(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -835,7 +820,7 @@ F64 PeriodicRecording::getPeriodMax( const StatType<EventAccumulator>& stat, S32 } // calculates means using aggregates per period -F64 PeriodicRecording::getPeriodMean( const StatType<EventAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMean( const StatType<EventAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); @@ -843,7 +828,7 @@ F64 PeriodicRecording::getPeriodMean( const StatType<EventAccumulator>& stat, S3 F64 mean = 0; S32 valid_period_count = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -858,7 +843,7 @@ F64 PeriodicRecording::getPeriodMean( const StatType<EventAccumulator>& stat, S3 : NaN; } -F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<EventAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<EventAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); @@ -867,7 +852,7 @@ F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<EventAccumulat F64 sum_of_squares = 0; S32 valid_period_count = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -883,14 +868,14 @@ F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<EventAccumulat : NaN; } -F64 PeriodicRecording::getPeriodMin( const StatType<SampleAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMin( const StatType<SampleAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; F64 min_val = std::numeric_limits<F64>::max(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -905,14 +890,14 @@ F64 PeriodicRecording::getPeriodMin( const StatType<SampleAccumulator>& stat, S3 : NaN; } -F64 PeriodicRecording::getPeriodMax(const StatType<SampleAccumulator>& stat, S32 num_periods /*= S32_MAX*/) +F64 PeriodicRecording::getPeriodMax(const StatType<SampleAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; F64 max_val = std::numeric_limits<F64>::min(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -928,7 +913,7 @@ F64 PeriodicRecording::getPeriodMax(const StatType<SampleAccumulator>& stat, S32 } -F64 PeriodicRecording::getPeriodMean( const StatType<SampleAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMean( const StatType<SampleAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); @@ -936,7 +921,7 @@ F64 PeriodicRecording::getPeriodMean( const StatType<SampleAccumulator>& stat, S S32 valid_period_count = 0; F64 mean = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -951,13 +936,13 @@ F64 PeriodicRecording::getPeriodMean( const StatType<SampleAccumulator>& stat, S : NaN; } -F64 PeriodicRecording::getPeriodMedian( const StatType<SampleAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodMedian( const StatType<SampleAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); std::vector<F64> buf; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.getDuration() > (F32Seconds)0.f) @@ -977,7 +962,7 @@ F64 PeriodicRecording::getPeriodMedian( const StatType<SampleAccumulator>& stat, return F64((buf.size() % 2 == 0) ? (buf[buf.size() / 2 - 1] + buf[buf.size() / 2]) / 2 : buf[buf.size() / 2]); } -F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<SampleAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<SampleAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); @@ -986,7 +971,7 @@ F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<SampleAccumula S32 valid_period_count = 0; F64 sum_of_squares = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -1003,13 +988,13 @@ F64 PeriodicRecording::getPeriodStandardDeviation( const StatType<SampleAccumula } -F64Kilobytes PeriodicRecording::getPeriodMin( const StatType<MemAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64Kilobytes PeriodicRecording::getPeriodMin( const StatType<MemAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); F64Kilobytes min_val(std::numeric_limits<F64>::max()); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); min_val = llmin(min_val, recording.getMin(stat)); @@ -1018,18 +1003,18 @@ F64Kilobytes PeriodicRecording::getPeriodMin( const StatType<MemAccumulator>& st return min_val; } -F64Kilobytes PeriodicRecording::getPeriodMin(const MemStatHandle& stat, S32 num_periods) +F64Kilobytes PeriodicRecording::getPeriodMin(const MemStatHandle& stat, size_t num_periods) { return getPeriodMin(static_cast<const StatType<MemAccumulator>&>(stat), num_periods); } -F64Kilobytes PeriodicRecording::getPeriodMax(const StatType<MemAccumulator>& stat, S32 num_periods /*= S32_MAX*/) +F64Kilobytes PeriodicRecording::getPeriodMax(const StatType<MemAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); F64Kilobytes max_val(0.0); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); max_val = llmax(max_val, recording.getMax(stat)); @@ -1038,19 +1023,19 @@ F64Kilobytes PeriodicRecording::getPeriodMax(const StatType<MemAccumulator>& sta return max_val; } -F64Kilobytes PeriodicRecording::getPeriodMax(const MemStatHandle& stat, S32 num_periods) +F64Kilobytes PeriodicRecording::getPeriodMax(const MemStatHandle& stat, size_t num_periods) { return getPeriodMax(static_cast<const StatType<MemAccumulator>&>(stat), num_periods); } -F64Kilobytes PeriodicRecording::getPeriodMean( const StatType<MemAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64Kilobytes PeriodicRecording::getPeriodMean( const StatType<MemAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); F64Kilobytes mean(0); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); mean += recording.getMean(stat); @@ -1059,12 +1044,12 @@ F64Kilobytes PeriodicRecording::getPeriodMean( const StatType<MemAccumulator>& s return mean / F64(num_periods); } -F64Kilobytes PeriodicRecording::getPeriodMean(const MemStatHandle& stat, S32 num_periods) +F64Kilobytes PeriodicRecording::getPeriodMean(const MemStatHandle& stat, size_t num_periods) { return getPeriodMean(static_cast<const StatType<MemAccumulator>&>(stat), num_periods); } -F64Kilobytes PeriodicRecording::getPeriodStandardDeviation( const StatType<MemAccumulator>& stat, S32 num_periods /*= S32_MAX*/ ) +F64Kilobytes PeriodicRecording::getPeriodStandardDeviation( const StatType<MemAccumulator>& stat, size_t num_periods /*= std::numeric_limits<size_t>::max()*/ ) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); @@ -1073,7 +1058,7 @@ F64Kilobytes PeriodicRecording::getPeriodStandardDeviation( const StatType<MemAc S32 valid_period_count = 0; F64 sum_of_squares = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -1089,7 +1074,7 @@ F64Kilobytes PeriodicRecording::getPeriodStandardDeviation( const StatType<MemAc : NaN); } -F64Kilobytes PeriodicRecording::getPeriodStandardDeviation(const MemStatHandle& stat, S32 num_periods) +F64Kilobytes PeriodicRecording::getPeriodStandardDeviation(const MemStatHandle& stat, size_t num_periods) { return getPeriodStandardDeviation(static_cast<const StatType<MemAccumulator>&>(stat), num_periods); } diff --git a/indra/llcommon/lltracerecording.h b/indra/llcommon/lltracerecording.h index 556b7470cf..a6b1a67d02 100644 --- a/indra/llcommon/lltracerecording.h +++ b/indra/llcommon/lltracerecording.h @@ -33,6 +33,7 @@ #include "lltimer.h" #include "lltraceaccumulators.h" #include "llpointer.h" +#include <limits> class LLStopWatchControlsMixinCommon { @@ -330,11 +331,11 @@ namespace LLTrace : public LLStopWatchControlsMixin<PeriodicRecording> { public: - PeriodicRecording(S32 num_periods, EPlayState state = STOPPED); + PeriodicRecording(size_t num_periods, EPlayState state = STOPPED); ~PeriodicRecording(); void nextPeriod(); - S32 getNumRecordedPeriods() + auto getNumRecordedPeriods() { // current period counts if not active return mNumRecordedPeriods + (isStarted() ? 0 : 1); @@ -348,24 +349,24 @@ namespace LLTrace const Recording& getLastRecording() const; Recording& getCurRecording(); const Recording& getCurRecording() const; - Recording& getPrevRecording(S32 offset); - const Recording& getPrevRecording(S32 offset) const; + Recording& getPrevRecording(size_t offset); + const Recording& getPrevRecording(size_t offset) const; Recording snapshotCurRecording() const; template <typename T> - S32 getSampleCount(const StatType<T>& stat, S32 num_periods = S32_MAX) - { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + auto getSampleCount(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) + { + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); - S32 num_samples = 0; - for (S32 i = 1; i <= num_periods; i++) + size_t num_samples = 0; + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); num_samples += recording.getSampleCount(stat); } return num_samples; - } + } // // PERIODIC MIN @@ -373,14 +374,14 @@ namespace LLTrace // catch all for stats that have a defined sum template <typename T> - typename T::value_t getPeriodMin(const StatType<T>& stat, S32 num_periods = S32_MAX) + typename T::value_t getPeriodMin(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; typename T::value_t min_val(std::numeric_limits<typename T::value_t>::max()); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -396,39 +397,39 @@ namespace LLTrace } template<typename T> - T getPeriodMin(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMin(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMin(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); } - F64 getPeriodMin(const StatType<SampleAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMin(const StatType<SampleAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - T getPeriodMin(const SampleStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMin(const SampleStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMin(static_cast<const StatType<SampleAccumulator>&>(stat), num_periods)); } - F64 getPeriodMin(const StatType<EventAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMin(const StatType<EventAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - T getPeriodMin(const EventStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMin(const EventStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMin(static_cast<const StatType<EventAccumulator>&>(stat), num_periods)); } - F64Kilobytes getPeriodMin(const StatType<MemAccumulator>& stat, S32 num_periods = S32_MAX); - F64Kilobytes getPeriodMin(const MemStatHandle& stat, S32 num_periods = S32_MAX); + F64Kilobytes getPeriodMin(const StatType<MemAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); + F64Kilobytes getPeriodMin(const MemStatHandle& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template <typename T> - typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMinPerSec(const StatType<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMinPerSec(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); typename RelatedTypes<typename T::value_t>::fractional_t min_val(std::numeric_limits<F64>::max()); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); min_val = llmin(min_val, recording.getPerSec(stat)); @@ -437,7 +438,7 @@ namespace LLTrace } template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMinPerSec(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMinPerSec(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMinPerSec(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); @@ -449,14 +450,14 @@ namespace LLTrace // catch all for stats that have a defined sum template <typename T> - typename T::value_t getPeriodMax(const StatType<T>& stat, S32 num_periods = S32_MAX) + typename T::value_t getPeriodMax(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); bool has_value = false; typename T::value_t max_val(std::numeric_limits<typename T::value_t>::min()); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.hasValue(stat)) @@ -472,39 +473,39 @@ namespace LLTrace } template<typename T> - T getPeriodMax(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMax(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMax(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); } - F64 getPeriodMax(const StatType<SampleAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMax(const StatType<SampleAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - T getPeriodMax(const SampleStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMax(const SampleStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMax(static_cast<const StatType<SampleAccumulator>&>(stat), num_periods)); } - F64 getPeriodMax(const StatType<EventAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMax(const StatType<EventAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - T getPeriodMax(const EventStatHandle<T>& stat, S32 num_periods = S32_MAX) + T getPeriodMax(const EventStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return T(getPeriodMax(static_cast<const StatType<EventAccumulator>&>(stat), num_periods)); } - F64Kilobytes getPeriodMax(const StatType<MemAccumulator>& stat, S32 num_periods = S32_MAX); - F64Kilobytes getPeriodMax(const MemStatHandle& stat, S32 num_periods = S32_MAX); + F64Kilobytes getPeriodMax(const StatType<MemAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); + F64Kilobytes getPeriodMax(const MemStatHandle& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template <typename T> - typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMaxPerSec(const StatType<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMaxPerSec(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); F64 max_val = std::numeric_limits<F64>::min(); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); max_val = llmax(max_val, recording.getPerSec(stat)); @@ -513,7 +514,7 @@ namespace LLTrace } template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMaxPerSec(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMaxPerSec(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMaxPerSec(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); @@ -525,14 +526,14 @@ namespace LLTrace // catch all for stats that have a defined sum template <typename T> - typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMean(const StatType<T >& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMean(const StatType<T >& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); typename RelatedTypes<typename T::value_t>::fractional_t mean(0); - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.getDuration() > (F32Seconds)0.f) @@ -546,39 +547,39 @@ namespace LLTrace } template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMean(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMean(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMean(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); } - F64 getPeriodMean(const StatType<SampleAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMean(const StatType<SampleAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMean(const SampleStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMean(const SampleStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMean(static_cast<const StatType<SampleAccumulator>&>(stat), num_periods)); } - F64 getPeriodMean(const StatType<EventAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMean(const StatType<EventAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMean(const EventStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMean(const EventStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMean(static_cast<const StatType<EventAccumulator>&>(stat), num_periods)); } - F64Kilobytes getPeriodMean(const StatType<MemAccumulator>& stat, S32 num_periods = S32_MAX); - F64Kilobytes getPeriodMean(const MemStatHandle& stat, S32 num_periods = S32_MAX); + F64Kilobytes getPeriodMean(const StatType<MemAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); + F64Kilobytes getPeriodMean(const MemStatHandle& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template <typename T> - typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMeanPerSec(const StatType<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMeanPerSec(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; num_periods = llmin(num_periods, getNumRecordedPeriods()); typename RelatedTypes<typename T::value_t>::fractional_t mean = 0; - for (S32 i = 1; i <= num_periods; i++) + for (size_t i = 1; i <= num_periods; i++) { Recording& recording = getPrevRecording(i); if (recording.getDuration() > (F32Seconds)0.f) @@ -593,64 +594,64 @@ namespace LLTrace } template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMeanPerSec(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodMeanPerSec(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodMeanPerSec(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); } - F64 getPeriodMedian( const StatType<SampleAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodMedian( const StatType<SampleAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); - template <typename T> - typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMedianPerSec(const StatType<T>& stat, S32 num_periods = S32_MAX) - { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; - num_periods = llmin(num_periods, getNumRecordedPeriods()); - - std::vector <typename RelatedTypes<typename T::value_t>::fractional_t> buf; - for (S32 i = 1; i <= num_periods; i++) - { - Recording& recording = getPrevRecording(i); - if (recording.getDuration() > (F32Seconds)0.f) - { - buf.push_back(recording.getPerSec(stat)); - } - } - std::sort(buf.begin(), buf.end()); - - return typename RelatedTypes<T>::fractional_t((buf.size() % 2 == 0) ? (buf[buf.size() / 2 - 1] + buf[buf.size() / 2]) / 2 : buf[buf.size() / 2]); - } - - template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodMedianPerSec(const CountStatHandle<T>& stat, S32 num_periods = S32_MAX) - { - LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; - return typename RelatedTypes<T>::fractional_t(getPeriodMedianPerSec(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); - } + template <typename T> + typename RelatedTypes<typename T::value_t>::fractional_t getPeriodMedianPerSec(const StatType<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) + { + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + num_periods = llmin(num_periods, getNumRecordedPeriods()); + + std::vector <typename RelatedTypes<typename T::value_t>::fractional_t> buf; + for (size_t i = 1; i <= num_periods; i++) + { + Recording& recording = getPrevRecording(i); + if (recording.getDuration() > (F32Seconds)0.f) + { + buf.push_back(recording.getPerSec(stat)); + } + } + std::sort(buf.begin(), buf.end()); + + return typename RelatedTypes<T>::fractional_t((buf.size() % 2 == 0) ? (buf[buf.size() / 2 - 1] + buf[buf.size() / 2]) / 2 : buf[buf.size() / 2]); + } + + template<typename T> + typename RelatedTypes<T>::fractional_t getPeriodMedianPerSec(const CountStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) + { + LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; + return typename RelatedTypes<T>::fractional_t(getPeriodMedianPerSec(static_cast<const StatType<CountAccumulator>&>(stat), num_periods)); + } // // PERIODIC STANDARD DEVIATION // - F64 getPeriodStandardDeviation(const StatType<SampleAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodStandardDeviation(const StatType<SampleAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodStandardDeviation(const SampleStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodStandardDeviation(const SampleStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodStandardDeviation(static_cast<const StatType<SampleAccumulator>&>(stat), num_periods)); } - F64 getPeriodStandardDeviation(const StatType<EventAccumulator>& stat, S32 num_periods = S32_MAX); + F64 getPeriodStandardDeviation(const StatType<EventAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); template<typename T> - typename RelatedTypes<T>::fractional_t getPeriodStandardDeviation(const EventStatHandle<T>& stat, S32 num_periods = S32_MAX) + typename RelatedTypes<T>::fractional_t getPeriodStandardDeviation(const EventStatHandle<T>& stat, size_t num_periods = std::numeric_limits<size_t>::max()) { LL_PROFILE_ZONE_SCOPED_CATEGORY_STATS; return typename RelatedTypes<T>::fractional_t(getPeriodStandardDeviation(static_cast<const StatType<EventAccumulator>&>(stat), num_periods)); } - F64Kilobytes getPeriodStandardDeviation(const StatType<MemAccumulator>& stat, S32 num_periods = S32_MAX); - F64Kilobytes getPeriodStandardDeviation(const MemStatHandle& stat, S32 num_periods = S32_MAX); + F64Kilobytes getPeriodStandardDeviation(const StatType<MemAccumulator>& stat, size_t num_periods = std::numeric_limits<size_t>::max()); + F64Kilobytes getPeriodStandardDeviation(const MemStatHandle& stat, size_t num_periods = std::numeric_limits<size_t>::max()); private: // implementation for LLStopWatchControlsMixin @@ -659,11 +660,40 @@ namespace LLTrace /*virtual*/ void handleReset(); /*virtual*/ void handleSplitTo(PeriodicRecording& other); + // helper methods for wraparound ring-buffer arithmetic + inline + size_t wrapi(size_t i) const + { + return i % mRecordingPeriods.size(); + } + + inline + size_t nexti(size_t i, size_t offset=1) const + { + return wrapi(i + offset); + } + + inline + size_t previ(size_t i, size_t offset=1) const + { + auto num_periods = mRecordingPeriods.size(); + // constrain offset + offset = llclamp(offset, 0, num_periods - 1); + // add size() so expression can't go (unsigned) "negative" + return wrapi(i + num_periods - offset); + } + + inline + void inci(size_t& i, size_t offset=1) const + { + i = nexti(i, offset); + } + private: std::vector<Recording> mRecordingPeriods; const bool mAutoResize; - S32 mCurPeriod; - S32 mNumRecordedPeriods; + size_t mCurPeriod; + size_t mNumRecordedPeriods; }; PeriodicRecording& get_frame_recording(); diff --git a/indra/llcommon/lltracethreadrecorder.cpp b/indra/llcommon/lltracethreadrecorder.cpp index 26db15eaa0..282c454a2a 100644 --- a/indra/llcommon/lltracethreadrecorder.cpp +++ b/indra/llcommon/lltracethreadrecorder.cpp @@ -125,7 +125,7 @@ ThreadRecorder::~ThreadRecorder() #endif } -TimeBlockTreeNode* ThreadRecorder::getTimeBlockTreeNode( S32 index ) +TimeBlockTreeNode* ThreadRecorder::getTimeBlockTreeNode( size_t index ) { #if LL_TRACE_ENABLED if (0 <= index && index < mNumTimeBlockTreeNodes) @@ -284,13 +284,11 @@ void ThreadRecorder::pullFromChildren() AccumulatorBufferGroup& target_recording_buffers = mActiveRecordings.back()->mPartialRecording; target_recording_buffers.sync(); - for (child_thread_recorder_list_t::iterator it = mChildThreadRecorders.begin(), end_it = mChildThreadRecorders.end(); - it != end_it; - ++it) - { LLMutexLock lock(&(*it)->mSharedRecordingMutex); + for (LLTrace::ThreadRecorder* rec : mChildThreadRecorders) + { LLMutexLock lock(&(rec->mSharedRecordingMutex)); - target_recording_buffers.merge((*it)->mSharedRecordingBuffers); - (*it)->mSharedRecordingBuffers.reset(); + target_recording_buffers.merge(rec->mSharedRecordingBuffers); + rec->mSharedRecordingBuffers.reset(); } } #endif diff --git a/indra/llcommon/lltracethreadrecorder.h b/indra/llcommon/lltracethreadrecorder.h index 8fd1e5ef58..8ee6729ac6 100644 --- a/indra/llcommon/lltracethreadrecorder.h +++ b/indra/llcommon/lltracethreadrecorder.h @@ -57,7 +57,7 @@ namespace LLTrace void pullFromChildren(); void pushToParent(); - TimeBlockTreeNode* getTimeBlockTreeNode(S32 index); + TimeBlockTreeNode* getTimeBlockTreeNode(size_t index); protected: void init(); diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp index 22711a83d2..4fb92a8f3e 100644 --- a/indra/llcommon/lluri.cpp +++ b/indra/llcommon/lluri.cpp @@ -663,9 +663,9 @@ LLSD LLURI::pathArray() const tokenizer::iterator end = tokens.end(); LLSD params; - for ( ; it != end; ++it) + for (const std::string& str : tokens) { - params.append(*it); + params.append(str); } return params; } diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp index 6f9e09a587..5655e8e2f2 100644 --- a/indra/llcommon/lluuid.cpp +++ b/indra/llcommon/lluuid.cpp @@ -40,11 +40,12 @@ #include "lluuid.h" #include "llerror.h" #include "llrand.h" -#include "llmd5.h" #include "llstring.h" #include "lltimer.h" #include "llthread.h" #include "llmutex.h" +#include "llmd5.h" +#include "hbxxh.h" const LLUUID LLUUID::null; const LLTransactionID LLTransactionID::tnull; @@ -400,6 +401,9 @@ LLUUID LLUUID::operator^(const LLUUID& rhs) const return id; } +// WARNING: this algorithm SHALL NOT be changed. It is also used by the server +// and plays a role in some assets validation (e.g. clothing items). Changing +// it would cause invalid assets. void LLUUID::combine(const LLUUID& other, LLUUID& result) const { LLMD5 md5_uuid; @@ -857,17 +861,12 @@ void LLUUID::generate() tmp >>= 8; mData[8] = (unsigned char) tmp; - LLMD5 md5_uuid; - - md5_uuid.update(mData,16); - md5_uuid.finalize(); - md5_uuid.raw_digest(mData); + HBXXH128::digest(*this, (const void*)mData, 16); } void LLUUID::generate(const std::string& hash_string) { - LLMD5 md5_uuid((U8*)hash_string.c_str()); - md5_uuid.raw_digest(mData); + HBXXH128::digest(*this, hash_string); } U32 LLUUID::getRandomSeed() @@ -885,13 +884,8 @@ U32 LLUUID::getRandomSeed() seed[7]=(unsigned char)(pid); getSystemTime((uuid_time_t *)(&seed[8])); - LLMD5 md5_seed; - - md5_seed.update(seed,16); - md5_seed.finalize(); - md5_seed.raw_digest(seed); - - return(*(U32 *)seed); + U64 seed64 = HBXXH64::digest((const void*)seed, 16); + return U32(seed64) ^ U32(seed64 >> 32); } BOOL LLUUID::parseUUID(const std::string& buf, LLUUID* value) diff --git a/indra/llcommon/lluuid.h b/indra/llcommon/lluuid.h index c139c4eb4e..80597fa186 100644 --- a/indra/llcommon/lluuid.h +++ b/indra/llcommon/lluuid.h @@ -116,6 +116,14 @@ public: U16 getCRC16() const; U32 getCRC32() const; + // Returns a 64 bits digest of the UUID, by XORing its two 64 bits long + // words. HB + inline U64 getDigest64() const + { + U64* tmp = (U64*)mData; + return tmp[0] ^ tmp[1]; + } + static BOOL validate(const std::string& in_string); // Validate that the UUID string is legal. static const LLUUID null; @@ -165,36 +173,22 @@ public: LLAssetID makeAssetID(const LLUUID& session) const; }; -// Generate a hash of an LLUUID object using the boost hash templates. -template <> -struct boost::hash<LLUUID> -{ - typedef LLUUID argument_type; - typedef std::size_t result_type; - result_type operator()(argument_type const& s) const - { - result_type seed(0); - - for (S32 i = 0; i < UUID_BYTES; ++i) - { - boost::hash_combine(seed, s.mData[i]); - } - - return seed; - } -}; - -// Adapt boost hash to std hash +// std::hash implementation for LLUUID namespace std { - template<> struct hash<LLUUID> - { - std::size_t operator()(LLUUID const& s) const noexcept - { - return boost::hash<LLUUID>()(s); - } - }; + template<> struct hash<LLUUID> + { + inline size_t operator()(const LLUUID& id) const noexcept + { + return (size_t)id.getDigest64(); + } + }; } -#endif +// For use with boost containers. +inline size_t hash_value(const LLUUID& id) noexcept +{ + return (size_t)id.getDigest64(); +} +#endif // LL_LLUUID_H diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp index 4b91b2caca..e5eda1eac7 100644 --- a/indra/llcommon/llworkerthread.cpp +++ b/indra/llcommon/llworkerthread.cpp @@ -69,11 +69,11 @@ void LLWorkerThread::clearDeleteList() << " entries in delete list." << LL_ENDL; mDeleteMutex->lock(); - for (delete_list_t::iterator iter = mDeleteList.begin(); iter != mDeleteList.end(); ++iter) + for (LLWorkerClass* worker : mDeleteList) { - (*iter)->mRequestHandle = LLWorkerThread::nullHandle(); - (*iter)->clearFlags(LLWorkerClass::WCF_HAVE_WORK); - delete *iter ; + worker->mRequestHandle = LLWorkerThread::nullHandle(); + worker->clearFlags(LLWorkerClass::WCF_HAVE_WORK); + delete worker; } mDeleteList.clear() ; mDeleteMutex->unlock() ; @@ -81,9 +81,9 @@ void LLWorkerThread::clearDeleteList() } // virtual -S32 LLWorkerThread::update(F32 max_time_ms) +size_t LLWorkerThread::update(F32 max_time_ms) { - S32 res = LLQueuedThread::update(max_time_ms); + auto res = LLQueuedThread::update(max_time_ms); // Delete scheduled workers std::vector<LLWorkerClass*> delete_list; std::vector<LLWorkerClass*> abort_list; @@ -108,15 +108,12 @@ S32 LLWorkerThread::update(F32 max_time_ms) } mDeleteMutex->unlock(); // abort and delete after releasing mutex - for (std::vector<LLWorkerClass*>::iterator iter = abort_list.begin(); - iter != abort_list.end(); ++iter) + for (LLWorkerClass* worker : abort_list) { - (*iter)->abortWork(false); + worker->abortWork(false); } - for (std::vector<LLWorkerClass*>::iterator iter = delete_list.begin(); - iter != delete_list.end(); ++iter) + for (LLWorkerClass* worker : delete_list) { - LLWorkerClass* worker = *iter; if (worker->mRequestHandle) { // Finished but not completed @@ -124,7 +121,7 @@ S32 LLWorkerThread::update(F32 max_time_ms) worker->mRequestHandle = LLWorkerThread::nullHandle(); worker->clearFlags(LLWorkerClass::WCF_HAVE_WORK); } - delete *iter; + delete worker; } // delete and aborted entries mean there's still work to do res += delete_list.size() + abort_list.size(); diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h index 0387e75c65..e3004d7242 100644 --- a/indra/llcommon/llworkerthread.h +++ b/indra/llcommon/llworkerthread.h @@ -88,7 +88,7 @@ public: LLWorkerThread(const std::string& name, bool threaded = true, bool should_pause = false); ~LLWorkerThread(); - /*virtual*/ S32 update(F32 max_time_ms); + /*virtual*/ size_t update(F32 max_time_ms); handle_t addWorkRequest(LLWorkerClass* workerclass, S32 param, U32 priority = PRIORITY_NORMAL); diff --git a/indra/llcommon/stdtypes.h b/indra/llcommon/stdtypes.h index b07805b628..da8512169c 100644 --- a/indra/llcommon/stdtypes.h +++ b/indra/llcommon/stdtypes.h @@ -26,16 +26,23 @@ #ifndef LL_STDTYPES_H #define LL_STDTYPES_H +#include <cassert> #include <cfloat> #include <climits> +#include <limits> +#include <type_traits> -typedef signed char S8; +typedef signed char S8; typedef unsigned char U8; typedef signed short S16; typedef unsigned short U16; -typedef signed int S32; +typedef signed int S32; typedef unsigned int U32; +// to express an index that might go negative +// (ssize_t is provided by SOME compilers, don't collide) +typedef typename std::make_signed<size_t>::type llssize; + #if LL_WINDOWS // https://docs.microsoft.com/en-us/cpp/build/reference/zc-wchar-t-wchar-t-is-native-type // https://docs.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp @@ -45,7 +52,7 @@ typedef unsigned int U32; // The version of clang available with VS 2019 also defines wchar_t as __wchar_t // which is also 16 bits. // In any case, llwchar should be a UTF-32 type. -typedef U32 llwchar; +typedef U32 llwchar; #else typedef wchar_t llwchar; // What we'd actually want is a simple module-scope 'if constexpr' to test @@ -76,7 +83,7 @@ typedef double F64; typedef S32 BOOL; typedef U8 KEY; typedef U32 MASK; -typedef U32 TPACKETID; +typedef U32 TPACKETID; // Use #define instead of consts to avoid conversion headaches #define S8_MAX (SCHAR_MAX) @@ -118,4 +125,95 @@ typedef U8 LLPCode; typedef int intptr_t; #endif +/***************************************************************************** +* Narrowing +*****************************************************************************/ +/** + * narrow() is used to cast a wider type to a narrower type with validation. + * + * In many cases we take the size() of a container and try to pass it to an + * S32 or a U32 parameter. We used to be able to assume that the size of + * anything we could fit into memory could be expressed as a 32-bit int. With + * 64-bit viewers, though, size_t as returned by size() and length() and so + * forth is 64 bits, and the compiler is unhappy about stuffing such values + * into 32-bit types. + * + * It works to force the compiler to truncate, e.g. static_cast<S32>(len) or + * S32(len) or (S32)len, but we can do better. + * + * For: + * @code + * std::vector<Object> container; + * void somefunc(S32 size); + * @endcode + * call: + * @code + * somefunc(narrow(container.size())); + * @endcode + * + * narrow() truncates but, in RelWithDebInfo builds, it validates (using + * assert()) that the passed value can validly be expressed by the destination + * type. + */ +// narrow_holder is a struct that accepts the passed value as its original +// type and provides templated conversion functions to other types. Once we're +// building with compilers that support Class Template Argument Deduction, we +// can rename this class template 'narrow' and eliminate the narrow() factory +// function below. +template <typename FROM> +class narrow_holder +{ +private: + FROM mValue; + +public: + narrow_holder(FROM value): mValue(value) {} + + /*---------------------- Narrowing unsigned to signed ----------------------*/ + template <typename TO, + typename std::enable_if<std::is_unsigned<FROM>::value && + std::is_signed<TO>::value, + bool>::type = true> + inline + operator TO() const + { + // The reason we skip the + // assert(value >= std::numeric_limits<TO>::lowest()); + // like the overload below is that to perform the above comparison, + // the compiler promotes the signed lowest() to the unsigned FROM + // type, making it hugely positive -- so a reasonable 'value' will + // always fail the assert(). + assert(mValue <= std::numeric_limits<TO>::max()); + return static_cast<TO>(mValue); + } + + /*----------------------- Narrowing all other cases ------------------------*/ + template <typename TO, + typename std::enable_if<! (std::is_unsigned<FROM>::value && + std::is_signed<TO>::value), + bool>::type = true> + inline + operator TO() const + { + // two different assert()s so we can tell which condition failed + assert(mValue <= std::numeric_limits<TO>::max()); + // Funny, with floating point types min() is "positive epsilon" rather + // than "largest negative" -- that's lowest(). + assert(mValue >= std::numeric_limits<TO>::lowest()); + // Do we really expect to use this with floating point types? + // If so, does it matter if a very small value truncates to zero? + //assert(fabs(mValue) >= std::numeric_limits<TO>::min()); + return static_cast<TO>(mValue); + } +}; + +/// narrow() factory function returns a narrow_holder<FROM>(), which can be +/// implicitly converted to the target type. +template <typename FROM> +inline +narrow_holder<FROM> narrow(FROM value) +{ + return { value }; +} + #endif diff --git a/indra/llcommon/tests/lleventdispatcher_test.cpp b/indra/llcommon/tests/lleventdispatcher_test.cpp index 9da1ecfd67..966dc2c5aa 100644 --- a/indra/llcommon/tests/lleventdispatcher_test.cpp +++ b/indra/llcommon/tests/lleventdispatcher_test.cpp @@ -335,7 +335,7 @@ namespace tut // Full, partial defaults arrays for params for freena(), freenb() LLSD dft_array_full, dft_array_partial; // Start index of partial defaults arrays - const LLSD::Integer partial_offset; + const size_t partial_offset; // Full, partial defaults maps for params for freena(), freenb() LLSD dft_map_full, dft_map_partial; // Most of the above are indexed by "a" or "b". Useful to have an diff --git a/indra/llcommon/tests/llleap_test.cpp b/indra/llcommon/tests/llleap_test.cpp index 7ee36a9ea6..3ae48a2532 100644 --- a/indra/llcommon/tests/llleap_test.cpp +++ b/indra/llcommon/tests/llleap_test.cpp @@ -109,7 +109,12 @@ namespace tut "import os\n" "import sys\n" "\n" - "from llbase import llsd\n" + "try:\n" + // new freestanding llsd package + " import llsd\n" + "except ImportError:\n" + // older llbase.llsd module + " from llbase import llsd\n" "\n" "class ProtocolError(Exception):\n" " def __init__(self, msg, data):\n" @@ -120,26 +125,26 @@ namespace tut " pass\n" "\n" "def get():\n" - " hdr = ''\n" - " while ':' not in hdr and len(hdr) < 20:\n" - " hdr += sys.stdin.read(1)\n" + " hdr = []\n" + " while b':' not in hdr and len(hdr) < 20:\n" + " hdr.append(sys.stdin.buffer.read(1))\n" " if not hdr:\n" " sys.exit(0)\n" - " if not hdr.endswith(':'):\n" + " if not hdr[-1] == b':':\n" " raise ProtocolError('Expected len:data, got %r' % hdr, hdr)\n" " try:\n" - " length = int(hdr[:-1])\n" + " length = int(b''.join(hdr[:-1]))\n" " except ValueError:\n" " raise ProtocolError('Non-numeric len %r' % hdr[:-1], hdr[:-1])\n" " parts = []\n" " received = 0\n" " while received < length:\n" - " parts.append(sys.stdin.read(length - received))\n" + " parts.append(sys.stdin.buffer.read(length - received))\n" " received += len(parts[-1])\n" - " data = ''.join(parts)\n" + " data = b''.join(parts)\n" " assert len(data) == length\n" " try:\n" - " return llsd.parse(data.encode())\n" + " return llsd.parse(data)\n" // Seems the old indra.base.llsd module didn't properly // convert IndexError (from running off end of string) to // LLSDParseError. @@ -179,11 +184,11 @@ namespace tut " return _reply\n" "\n" "def put(req):\n" - " sys.stdout.write(':'.join((str(len(req)), req)))\n" + " sys.stdout.buffer.write(b'%d:%b' % (len(req), req))\n" " sys.stdout.flush()\n" "\n" "def send(pump, data):\n" - " put(llsd.format_notation(dict(pump=pump, data=data)).decode())\n" + " put(llsd.format_notation(dict(pump=pump, data=data)))\n" "\n" "def request(pump, data):\n" " # we expect 'data' is a dict\n" diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp index c246f5ee56..618f33cc13 100644 --- a/indra/llcommon/tests/llsdserialize_test.cpp +++ b/indra/llcommon/tests/llsdserialize_test.cpp @@ -46,20 +46,24 @@ typedef U32 uint32_t; #include "boost/range.hpp" #include "boost/foreach.hpp" -#include "boost/function.hpp" #include "boost/bind.hpp" #include "boost/phoenix/bind/bind_function.hpp" #include "boost/phoenix/core/argument.hpp" using namespace boost::phoenix; -#include "../llsd.h" -#include "../llsdserialize.h" +#include "llsd.h" +#include "llsdserialize.h" #include "llsdutil.h" -#include "../llformat.h" +#include "llformat.h" +#include "llmemorystream.h" #include "../test/lltut.h" #include "../test/namedtempfile.h" #include "stringize.h" +#include <functional> + +typedef std::function<void(const LLSD& data, std::ostream& str)> FormatterFunction; +typedef std::function<bool(std::istream& istr, LLSD& data, llssize max_bytes)> ParserFunction; std::vector<U8> string_to_vector(const std::string& str) { @@ -112,7 +116,7 @@ namespace tut mSD = LLUUID::null; expected = "<llsd><uuid /></llsd>\n"; xml_test("null uuid", expected); - + mSD = LLUUID("c96f9b1e-f589-4100-9774-d98643ce0bed"); expected = "<llsd><uuid>c96f9b1e-f589-4100-9774-d98643ce0bed</uuid></llsd>\n"; xml_test("uuid", expected); @@ -136,7 +140,7 @@ namespace tut expected = "<llsd><binary encoding=\"base64\">aGVsbG8=</binary></llsd>\n"; xml_test("binary", expected); } - + template<> template<> void sd_xml_object::test<2>() { @@ -225,7 +229,7 @@ namespace tut expected = "<llsd><map><key>baz</key><undef /><key>foo</key><string>bar</string></map></llsd>\n"; xml_test("2 element map", expected); } - + template<> template<> void sd_xml_object::test<6>() { @@ -241,7 +245,7 @@ namespace tut expected = "<llsd><binary encoding=\"base64\">Nnw2fGFzZGZoYXBweWJveHw2MGU0NGVjNS0zMDVjLTQzYzItOWExOS1iNGI4OWIxYWUyYTZ8NjBlNDRlYzUtMzA1Yy00M2MyLTlhMTktYjRiODliMWFlMmE2fDYwZTQ0ZWM1LTMwNWMtNDNjMi05YTE5LWI0Yjg5YjFhZTJhNnwwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDB8N2ZmZmZmZmZ8N2ZmZmZmZmZ8MHwwfDgyMDAwfDQ1MGZlMzk0LTI5MDQtYzlhZC0yMTRjLWEwN2ViN2ZlZWMyOXwoTm8gRGVzY3JpcHRpb24pfDB8MTB8MA==</binary></llsd>\n"; xml_test("binary", expected); } - + class TestLLSDSerializeData { public: @@ -250,9 +254,34 @@ namespace tut void doRoundTripTests(const std::string&); void checkRoundTrip(const std::string&, const LLSD& v); - - LLPointer<LLSDFormatter> mFormatter; - LLPointer<LLSDParser> mParser; + + void setFormatterParser(LLPointer<LLSDFormatter> formatter, LLPointer<LLSDParser> parser) + { + mFormatter = [formatter](const LLSD& data, std::ostream& str) + { + formatter->format(data, str); + }; + // this lambda must be mutable since otherwise the bound 'parser' + // is assumed to point to a const LLSDParser + mParser = [parser](std::istream& istr, LLSD& data, llssize max_bytes) mutable + { + // reset() call is needed since test code re-uses parser object + parser->reset(); + return (parser->parse(istr, data, max_bytes) > 0); + }; + } + + void setParser(bool (*parser)(LLSD&, std::istream&, llssize)) + { + // why does LLSDSerialize::deserialize() reverse the parse() params?? + mParser = [parser](std::istream& istr, LLSD& data, llssize max_bytes) + { + return parser(data, istr, max_bytes); + }; + } + + FormatterFunction mFormatter; + ParserFunction mParser; }; TestLLSDSerializeData::TestLLSDSerializeData() @@ -265,12 +294,11 @@ namespace tut void TestLLSDSerializeData::checkRoundTrip(const std::string& msg, const LLSD& v) { - std::stringstream stream; - mFormatter->format(v, stream); + std::stringstream stream; + mFormatter(v, stream); //LL_INFOS() << "checkRoundTrip: length " << stream.str().length() << LL_ENDL; LLSD w; - mParser->reset(); // reset() call is needed since test code re-uses mParser - mParser->parse(stream, w, stream.str().size()); + mParser(stream, w, stream.str().size()); try { @@ -299,52 +327,52 @@ namespace tut fillmap(root[key], width, depth - 1); } } - + void TestLLSDSerializeData::doRoundTripTests(const std::string& msg) { LLSD v; checkRoundTrip(msg + " undefined", v); - + v = true; checkRoundTrip(msg + " true bool", v); - + v = false; checkRoundTrip(msg + " false bool", v); - + v = 1; checkRoundTrip(msg + " positive int", v); - + v = 0; checkRoundTrip(msg + " zero int", v); - + v = -1; checkRoundTrip(msg + " negative int", v); - + v = 1234.5f; checkRoundTrip(msg + " positive float", v); - + v = 0.0f; checkRoundTrip(msg + " zero float", v); - + v = -1234.5f; checkRoundTrip(msg + " negative float", v); - + // FIXME: need a NaN test - + v = LLUUID::null; checkRoundTrip(msg + " null uuid", v); - + LLUUID newUUID; newUUID.generate(); v = newUUID; checkRoundTrip(msg + " new uuid", v); - + v = ""; checkRoundTrip(msg + " empty string", v); - + v = "some string"; checkRoundTrip(msg + " non-empty string", v); - + v = "Second Life is a 3-D virtual world entirely built and owned by its residents. " "Since opening to the public in 2003, it has grown explosively and today is " @@ -372,7 +400,7 @@ namespace tut for (U32 block = 0x000000; block <= 0x10ffff; block += block_size) { std::ostringstream out; - + for (U32 c = block; c < block + block_size; ++c) { if (c <= 0x000001f @@ -386,7 +414,7 @@ namespace tut if (0x00fdd0 <= c && c <= 0x00fdef) { continue; } if ((c & 0x00fffe) == 0x00fffe) { continue; } // see Unicode standard, section 15.8 - + if (c <= 0x00007f) { out << (char)(c & 0x7f); @@ -410,55 +438,55 @@ namespace tut out << (char)(0x80 | ((c >> 0) & 0x3f)); } } - + v = out.str(); std::ostringstream blockmsg; blockmsg << msg << " unicode string block 0x" << std::hex << block; checkRoundTrip(blockmsg.str(), v); } - + LLDate epoch; v = epoch; checkRoundTrip(msg + " epoch date", v); - + LLDate aDay("2002-12-07T05:07:15.00Z"); v = aDay; checkRoundTrip(msg + " date", v); - + LLURI path("http://slurl.com/secondlife/Ambleside/57/104/26/"); v = path; checkRoundTrip(msg + " url", v); - + const char source[] = "it must be a blue moon again"; std::vector<U8> data; // note, includes terminating '\0' copy(&source[0], &source[sizeof(source)], back_inserter(data)); - + v = data; checkRoundTrip(msg + " binary", v); - + v = LLSD::emptyMap(); checkRoundTrip(msg + " empty map", v); - + v = LLSD::emptyMap(); v["name"] = "luke"; //v.insert("name", "luke"); v["age"] = 3; //v.insert("age", 3); checkRoundTrip(msg + " map", v); - + v.clear(); v["a"]["1"] = true; v["b"]["0"] = false; checkRoundTrip(msg + " nested maps", v); - + v = LLSD::emptyArray(); checkRoundTrip(msg + " empty array", v); - + v = LLSD::emptyArray(); v.append("ali"); v.append(28); checkRoundTrip(msg + " array", v); - + v.clear(); v[0][0] = true; v[1][0] = false; @@ -468,7 +496,7 @@ namespace tut fillmap(v, 10, 3); // 10^6 maps checkRoundTrip(msg + " many nested maps", v); } - + typedef tut::test_group<TestLLSDSerializeData> TestLLSDSerializeGroup; typedef TestLLSDSerializeGroup::object TestLLSDSerializeObject; TestLLSDSerializeGroup gTestLLSDSerializeGroup("llsd serialization"); @@ -476,35 +504,106 @@ namespace tut template<> template<> void TestLLSDSerializeObject::test<1>() { - mFormatter = new LLSDNotationFormatter(false, "", LLSDFormatter::OPTIONS_PRETTY_BINARY); - mParser = new LLSDNotationParser(); + setFormatterParser(new LLSDNotationFormatter(false, "", LLSDFormatter::OPTIONS_PRETTY_BINARY), + new LLSDNotationParser()); doRoundTripTests("pretty binary notation serialization"); } template<> template<> void TestLLSDSerializeObject::test<2>() { - mFormatter = new LLSDNotationFormatter(false, "", LLSDFormatter::OPTIONS_NONE); - mParser = new LLSDNotationParser(); + setFormatterParser(new LLSDNotationFormatter(false, "", LLSDFormatter::OPTIONS_NONE), + new LLSDNotationParser()); doRoundTripTests("raw binary notation serialization"); } template<> template<> void TestLLSDSerializeObject::test<3>() { - mFormatter = new LLSDXMLFormatter(); - mParser = new LLSDXMLParser(); + setFormatterParser(new LLSDXMLFormatter(), new LLSDXMLParser()); doRoundTripTests("xml serialization"); } template<> template<> void TestLLSDSerializeObject::test<4>() { - mFormatter = new LLSDBinaryFormatter(); - mParser = new LLSDBinaryParser(); + setFormatterParser(new LLSDBinaryFormatter(), new LLSDBinaryParser()); doRoundTripTests("binary serialization"); } + template<> template<> + void TestLLSDSerializeObject::test<5>() + { + mFormatter = [](const LLSD& sd, std::ostream& str) + { + LLSDSerialize::serialize(sd, str, LLSDSerialize::LLSD_BINARY); + }; + setParser(LLSDSerialize::deserialize); + doRoundTripTests("serialize(LLSD_BINARY)"); + }; + + template<> template<> + void TestLLSDSerializeObject::test<6>() + { + mFormatter = [](const LLSD& sd, std::ostream& str) + { + LLSDSerialize::serialize(sd, str, LLSDSerialize::LLSD_XML); + }; + setParser(LLSDSerialize::deserialize); + doRoundTripTests("serialize(LLSD_XML)"); + }; + + template<> template<> + void TestLLSDSerializeObject::test<7>() + { + mFormatter = [](const LLSD& sd, std::ostream& str) + { + LLSDSerialize::serialize(sd, str, LLSDSerialize::LLSD_NOTATION); + }; + setParser(LLSDSerialize::deserialize); + // In this test, serialize(LLSD_NOTATION) emits a header recognized by + // deserialize(). + doRoundTripTests("serialize(LLSD_NOTATION)"); + }; + + template<> template<> + void TestLLSDSerializeObject::test<8>() + { + setFormatterParser(new LLSDNotationFormatter(false, "", LLSDFormatter::OPTIONS_NONE), + new LLSDNotationParser()); + setParser(LLSDSerialize::deserialize); + // This is an interesting test because LLSDNotationFormatter does not + // emit an llsd/notation header. + doRoundTripTests("LLSDNotationFormatter -> deserialize"); + }; + + template<> template<> + void TestLLSDSerializeObject::test<9>() + { + setFormatterParser(new LLSDXMLFormatter(false, "", LLSDFormatter::OPTIONS_NONE), + new LLSDXMLParser()); + setParser(LLSDSerialize::deserialize); + // This is an interesting test because LLSDXMLFormatter does not + // emit an LLSD/XML header. + doRoundTripTests("LLSDXMLFormatter -> deserialize"); + }; + +/*==========================================================================*| + // We do not expect this test to succeed. Without a header, neither + // notation LLSD nor binary LLSD reliably start with a distinct character, + // the way XML LLSD starts with '<'. By convention, we default to notation + // rather than binary. + template<> template<> + void TestLLSDSerializeObject::test<10>() + { + setFormatterParser(new LLSDBinaryFormatter(false, "", LLSDFormatter::OPTIONS_NONE), + new LLSDBinaryParser()); + setParser(LLSDSerialize::deserialize); + // This is an interesting test because LLSDBinaryFormatter does not + // emit an LLSD/Binary header. + doRoundTripTests("LLSDBinaryFormatter -> deserialize"); + }; +|*==========================================================================*/ /** * @class TestLLSDParsing @@ -555,7 +654,7 @@ namespace tut public: TestLLSDXMLParsing() {} }; - + typedef tut::test_group<TestLLSDXMLParsing> TestLLSDXMLParsingGroup; typedef TestLLSDXMLParsingGroup::object TestLLSDXMLParsingObject; TestLLSDXMLParsingGroup gTestLLSDXMLParsingGroup("llsd XML parsing"); @@ -586,8 +685,8 @@ namespace tut LLSD(), LLSDParser::PARSE_FAILURE); } - - + + template<> template<> void TestLLSDXMLParsingObject::test<2>() { @@ -596,7 +695,7 @@ namespace tut v["amy"] = 23; v["bob"] = LLSD(); v["cam"] = 1.23; - + ensureParse( "unknown data type", "<llsd><map>" @@ -607,16 +706,16 @@ namespace tut v, v.size() + 1); } - + template<> template<> void TestLLSDXMLParsingObject::test<3>() { // test handling of nested bad data - + LLSD v; v["amy"] = 23; v["cam"] = 1.23; - + ensureParse( "map with html", "<llsd><map>" @@ -626,7 +725,7 @@ namespace tut "</map></llsd>", v, v.size() + 1); - + v.clear(); v["amy"] = 23; v["cam"] = 1.23; @@ -639,7 +738,7 @@ namespace tut "</map></llsd>", v, v.size() + 1); - + v.clear(); v["amy"] = 23; v["bob"] = LLSD::emptyMap(); @@ -661,7 +760,7 @@ namespace tut v[0] = 23; v[1] = LLSD(); v[2] = 1.23; - + ensureParse( "array value of html", "<llsd><array>" @@ -671,7 +770,7 @@ namespace tut "</array></llsd>", v, v.size() + 1); - + v.clear(); v[0] = 23; v[1] = LLSD::emptyMap(); @@ -1225,7 +1324,7 @@ namespace tut vec[0] = 'a'; vec[1] = 'b'; vec[2] = 'c'; vec[3] = '3'; vec[4] = '2'; vec[5] = '1'; LLSD value = vec; - + vec.resize(11); vec[0] = 'b'; // for binary vec[5] = 'a'; vec[6] = 'b'; vec[7] = 'c'; @@ -1694,85 +1793,83 @@ namespace tut ensureBinaryAndXML("map", test); } - struct TestPythonCompatible + // helper for TestPythonCompatible + static std::string import_llsd("import os.path\n" + "import sys\n" + "try:\n" + // new freestanding llsd package + " import llsd\n" + "except ImportError:\n" + // older llbase.llsd module + " from llbase import llsd\n"); + + // helper for TestPythonCompatible + template <typename CONTENT> + void python(const std::string& desc, const CONTENT& script, int expect=0) { - TestPythonCompatible(): - // Note the peculiar insertion of __FILE__ into this string. Since - // this script is being written into a platform-dependent temp - // directory, we can't locate indra/lib/python relative to - // Python's __file__. Use __FILE__ instead, navigating relative - // to this C++ source file. Use Python raw-string syntax so - // Windows pathname backslashes won't mislead Python's string - // scanner. - import_llsd("import os.path\n" - "import sys\n" - "from llbase import llsd\n") - {} - ~TestPythonCompatible() {} + auto PYTHON(LLStringUtil::getenv("PYTHON")); + ensure("Set $PYTHON to the Python interpreter", !PYTHON.empty()); - std::string import_llsd; + NamedTempFile scriptfile("py", script); - template <typename CONTENT> - void python(const std::string& desc, const CONTENT& script, int expect=0) +#if LL_WINDOWS + std::string q("\""); + std::string qPYTHON(q + PYTHON + q); + std::string qscript(q + scriptfile.getName() + q); + int rc = _spawnl(_P_WAIT, PYTHON.c_str(), qPYTHON.c_str(), qscript.c_str(), NULL); + if (rc == -1) { - auto PYTHON(LLStringUtil::getenv("PYTHON")); - ensure("Set $PYTHON to the Python interpreter", !PYTHON.empty()); - - NamedTempFile scriptfile("py", script); + char buffer[256]; + strerror_s(buffer, errno); // C++ can infer the buffer size! :-O + ensure(STRINGIZE("Couldn't run Python " << desc << "script: " << buffer), false); + } + else + { + ensure_equals(STRINGIZE(desc << " script terminated with rc " << rc), rc, expect); + } -#if LL_WINDOWS - std::string q("\""); - std::string qPYTHON(q + PYTHON + q); - std::string qscript(q + scriptfile.getName() + q); - int rc = _spawnl(_P_WAIT, PYTHON.c_str(), qPYTHON.c_str(), qscript.c_str(), NULL); - if (rc == -1) - { - char buffer[256]; - strerror_s(buffer, errno); // C++ can infer the buffer size! :-O - ensure(STRINGIZE("Couldn't run Python " << desc << "script: " << buffer), false); - } - else +#else // LL_DARWIN, LL_LINUX + LLProcess::Params params; + params.executable = PYTHON; + params.args.add(scriptfile.getName()); + LLProcessPtr py(LLProcess::create(params)); + ensure(STRINGIZE("Couldn't launch " << desc << " script"), bool(py)); + // Implementing timeout would mean messing with alarm() and + // catching SIGALRM... later maybe... + int status(0); + if (waitpid(py->getProcessID(), &status, 0) == -1) + { + int waitpid_errno(errno); + ensure_equals(STRINGIZE("Couldn't retrieve rc from " << desc << " script: " + "waitpid() errno " << waitpid_errno), + waitpid_errno, ECHILD); + } + else + { + if (WIFEXITED(status)) { - ensure_equals(STRINGIZE(desc << " script terminated with rc " << rc), rc, expect); + int rc(WEXITSTATUS(status)); + ensure_equals(STRINGIZE(desc << " script terminated with rc " << rc), + rc, expect); } - -#else // LL_DARWIN, LL_LINUX - LLProcess::Params params; - params.executable = PYTHON; - params.args.add(scriptfile.getName()); - LLProcessPtr py(LLProcess::create(params)); - ensure(STRINGIZE("Couldn't launch " << desc << " script"), bool(py)); - // Implementing timeout would mean messing with alarm() and - // catching SIGALRM... later maybe... - int status(0); - if (waitpid(py->getProcessID(), &status, 0) == -1) + else if (WIFSIGNALED(status)) { - int waitpid_errno(errno); - ensure_equals(STRINGIZE("Couldn't retrieve rc from " << desc << " script: " - "waitpid() errno " << waitpid_errno), - waitpid_errno, ECHILD); + ensure(STRINGIZE(desc << " script terminated by signal " << WTERMSIG(status)), + false); } else { - if (WIFEXITED(status)) - { - int rc(WEXITSTATUS(status)); - ensure_equals(STRINGIZE(desc << " script terminated with rc " << rc), - rc, expect); - } - else if (WIFSIGNALED(status)) - { - ensure(STRINGIZE(desc << " script terminated by signal " << WTERMSIG(status)), - false); - } - else - { - ensure(STRINGIZE(desc << " script produced impossible status " << status), - false); - } + ensure(STRINGIZE(desc << " script produced impossible status " << status), + false); } -#endif } +#endif + } + + struct TestPythonCompatible + { + TestPythonCompatible() {} + ~TestPythonCompatible() {} }; typedef tut::test_group<TestPythonCompatible> TestPythonCompatibleGroup; @@ -1798,25 +1895,33 @@ namespace tut "print('Running on', sys.platform)\n"); } - // helper for test<3> - static void writeLLSDArray(std::ostream& out, const LLSD& array) + // helper for test<3> - test<7> + static void writeLLSDArray(const FormatterFunction& serialize, + std::ostream& out, const LLSD& array) { - BOOST_FOREACH(LLSD item, llsd::inArray(array)) + for (const LLSD& item : llsd::inArray(array)) { - LLSDSerialize::toNotation(item, out); - // It's important to separate with newlines because Python's llsd - // module doesn't support parsing from a file stream, only from a - // string, so we have to know how much of the file to read into a - // string. - out << '\n'; + // It's important to delimit the entries in this file somehow + // because, although Python's llsd.parse() can accept a file + // stream, the XML parser expects EOF after a single outer element + // -- it doesn't just stop. So we must extract a sequence of bytes + // strings from the file. But since one of the serialization + // formats we want to test is binary, we can't pick any single + // byte value as a delimiter! Use a binary integer length prefix + // instead. + std::ostringstream buffer; + serialize(item, buffer); + auto buffstr{ buffer.str() }; + int bufflen{ static_cast<int>(buffstr.length()) }; + out.write(reinterpret_cast<const char*>(&bufflen), sizeof(bufflen)); + out.write(buffstr.c_str(), buffstr.length()); } } - template<> template<> - void TestPythonCompatibleObject::test<3>() + // helper for test<3> - test<7> + static void toPythonUsing(const std::string& desc, + const FormatterFunction& serialize) { - set_test_name("verify sequence to Python"); - LLSD cdata(LLSDArray(17)(3.14) ("This string\n" "has several\n" @@ -1836,7 +1941,7 @@ namespace tut " except StopIteration:\n" " pass\n" " else:\n" - " assert False, 'Too many data items'\n"; + " raise AssertionError('Too many data items')\n"; // Create an llsdXXXXXX file containing 'data' serialized to // notation. @@ -1845,32 +1950,128 @@ namespace tut // takes a callable. To this callable it passes the // std::ostream with which it's writing the // NamedTempFile. - boost::bind(writeLLSDArray, _1, cdata)); + [serialize, cdata] + (std::ostream& out) + { writeLLSDArray(serialize, out, cdata); }); - python("read C++ notation", + python("read C++ " + desc, placeholders::arg1 << import_llsd << - "def parse_each(iterable):\n" - " for item in iterable:\n" - " yield llsd.parse(item)\n" << - pydata << + "from functools import partial\n" + "import io\n" + "import struct\n" + "lenformat = struct.Struct('i')\n" + "def parse_each(inf):\n" + " for rawlen in iter(partial(inf.read, lenformat.size), b''):\n" + " len = lenformat.unpack(rawlen)[0]\n" + // Since llsd.parse() has no max_bytes argument, instead of + // passing the input stream directly to parse(), read the item + // into a distinct bytes object and parse that. + " data = inf.read(len)\n" + " try:\n" + " frombytes = llsd.parse(data)\n" + " except llsd.LLSDParseError as err:\n" + " print(f'*** {err}')\n" + " print(f'Bad content:\\n{data!r}')\n" + " raise\n" + // Also try parsing from a distinct stream. + " stream = io.BytesIO(data)\n" + " fromstream = llsd.parse(stream)\n" + " assert frombytes == fromstream\n" + " yield frombytes\n" + << pydata << // Don't forget raw-string syntax for Windows pathnames. "verify(parse_each(open(r'" << file.getName() << "', 'rb')))\n"); } template<> template<> + void TestPythonCompatibleObject::test<3>() + { + set_test_name("to Python using LLSDSerialize::serialize(LLSD_XML)"); + toPythonUsing("LLSD_XML", + [](const LLSD& sd, std::ostream& out) + { LLSDSerialize::serialize(sd, out, LLSDSerialize::LLSD_XML); }); + } + + template<> template<> void TestPythonCompatibleObject::test<4>() { - set_test_name("verify sequence from Python"); + set_test_name("to Python using LLSDSerialize::serialize(LLSD_NOTATION)"); + toPythonUsing("LLSD_NOTATION", + [](const LLSD& sd, std::ostream& out) + { LLSDSerialize::serialize(sd, out, LLSDSerialize::LLSD_NOTATION); }); + } + + template<> template<> + void TestPythonCompatibleObject::test<5>() + { + set_test_name("to Python using LLSDSerialize::serialize(LLSD_BINARY)"); + toPythonUsing("LLSD_BINARY", + [](const LLSD& sd, std::ostream& out) + { LLSDSerialize::serialize(sd, out, LLSDSerialize::LLSD_BINARY); }); + } + + template<> template<> + void TestPythonCompatibleObject::test<6>() + { + set_test_name("to Python using LLSDSerialize::toXML()"); + toPythonUsing("toXML()", LLSDSerialize::toXML); + } + + template<> template<> + void TestPythonCompatibleObject::test<7>() + { + set_test_name("to Python using LLSDSerialize::toNotation()"); + toPythonUsing("toNotation()", LLSDSerialize::toNotation); + } +/*==========================================================================*| + template<> template<> + void TestPythonCompatibleObject::test<8>() + { + set_test_name("to Python using LLSDSerialize::toBinary()"); + // We don't expect this to work because, without a header, + // llsd.parse() will assume notation rather than binary. + toPythonUsing("toBinary()", LLSDSerialize::toBinary); + } +|*==========================================================================*/ + + // helper for test<8> - test<12> + bool itemFromStream(std::istream& istr, LLSD& item, const ParserFunction& parse) + { + // reset the output value for debugging clarity + item.clear(); + // We use an int length prefix as a foolproof delimiter even for + // binary serialized streams. + int length{ 0 }; + istr.read(reinterpret_cast<char*>(&length), sizeof(length)); +// return parse(istr, item, length); + // Sadly, as of 2022-12-01 it seems we can't really trust our LLSD + // parsers to honor max_bytes: this test works better when we read + // each item into its own distinct LLMemoryStream, instead of passing + // the original istr with a max_bytes constraint. + std::vector<U8> buffer(length); + istr.read(reinterpret_cast<char*>(buffer.data()), length); + LLMemoryStream stream(buffer.data(), length); + return parse(stream, item, length); + } + + // helper for test<8> - test<12> + void fromPythonUsing(const std::string& pyformatter, + const ParserFunction& parse= + [](std::istream& istr, LLSD& data, llssize max_bytes) + { return LLSDSerialize::deserialize(data, istr, max_bytes); }) + { // Create an empty data file. This is just a placeholder for our // script to write into. Create it to establish a unique name that // we know. NamedTempFile file("llsd", ""); - python("write Python notation", + python("Python " + pyformatter, placeholders::arg1 << import_llsd << + "import struct\n" + "lenformat = struct.Struct('i')\n" "DATA = [\n" " 17,\n" " 3.14,\n" @@ -1881,34 +2082,87 @@ namespace tut "]\n" // Don't forget raw-string syntax for Windows pathnames. // N.B. Using 'print' implicitly adds newlines. - "with open(r'" << file.getName() << "', 'w') as f:\n" + "with open(r'" << file.getName() << "', 'wb') as f:\n" " for item in DATA:\n" - " print(llsd.format_notation(item).decode(), file=f)\n"); + " serialized = llsd." << pyformatter << "(item)\n" + " f.write(lenformat.pack(len(serialized)))\n" + " f.write(serialized)\n"); std::ifstream inf(file.getName().c_str()); LLSD item; - // Notice that we're not doing anything special to parse out the - // newlines: LLSDSerialize::fromNotation ignores them. While it would - // seem they're not strictly necessary, going in this direction, we - // want to ensure that notation-separated-by-newlines works in both - // directions -- since in practice, a given file might be read by - // either language. - ensure_equals("Failed to read LLSD::Integer from Python", - LLSDSerialize::fromNotation(item, inf, LLSDSerialize::SIZE_UNLIMITED), - 1); - ensure_equals(item.asInteger(), 17); - ensure_equals("Failed to read LLSD::Real from Python", - LLSDSerialize::fromNotation(item, inf, LLSDSerialize::SIZE_UNLIMITED), - 1); - ensure_approximately_equals("Bad LLSD::Real value from Python", - item.asReal(), 3.14, 7); // 7 bits ~= 0.01 - ensure_equals("Failed to read LLSD::String from Python", - LLSDSerialize::fromNotation(item, inf, LLSDSerialize::SIZE_UNLIMITED), - 1); - ensure_equals(item.asString(), - "This string\n" - "has several\n" - "lines."); - + try + { + ensure("Failed to read LLSD::Integer from Python", + itemFromStream(inf, item, parse)); + ensure_equals(item.asInteger(), 17); + ensure("Failed to read LLSD::Real from Python", + itemFromStream(inf, item, parse)); + ensure_approximately_equals("Bad LLSD::Real value from Python", + item.asReal(), 3.14, 7); // 7 bits ~= 0.01 + ensure("Failed to read LLSD::String from Python", + itemFromStream(inf, item, parse)); + ensure_equals(item.asString(), + "This string\n" + "has several\n" + "lines."); + } + catch (const tut::failure& err) + { + std::cout << "for " << err.what() << ", item = " << item << std::endl; + throw; + } + } + + template<> template<> + void TestPythonCompatibleObject::test<8>() + { + set_test_name("from Python XML using LLSDSerialize::deserialize()"); + fromPythonUsing("format_xml"); + } + + template<> template<> + void TestPythonCompatibleObject::test<9>() + { + set_test_name("from Python notation using LLSDSerialize::deserialize()"); + fromPythonUsing("format_notation"); + } + + template<> template<> + void TestPythonCompatibleObject::test<10>() + { + set_test_name("from Python binary using LLSDSerialize::deserialize()"); + fromPythonUsing("format_binary"); + } + + template<> template<> + void TestPythonCompatibleObject::test<11>() + { + set_test_name("from Python XML using fromXML()"); + // fromXML()'s optional 3rd param isn't max_bytes, it's emit_errors + fromPythonUsing("format_xml", + [](std::istream& istr, LLSD& data, llssize) + { return LLSDSerialize::fromXML(data, istr) > 0; }); + } + + template<> template<> + void TestPythonCompatibleObject::test<12>() + { + set_test_name("from Python notation using fromNotation()"); + fromPythonUsing("format_notation", + [](std::istream& istr, LLSD& data, llssize max_bytes) + { return LLSDSerialize::fromNotation(data, istr, max_bytes) > 0; }); + } + +/*==========================================================================*| + template<> template<> + void TestPythonCompatibleObject::test<13>() + { + set_test_name("from Python binary using fromBinary()"); + // We don't expect this to work because format_binary() emits a + // header, but fromBinary() won't recognize a header. + fromPythonUsing("format_binary", + [](std::istream& istr, LLSD& data, llssize max_bytes) + { return LLSDSerialize::fromBinary(data, istr, max_bytes) > 0; }); } +|*==========================================================================*/ } diff --git a/indra/llcommon/threadsafeschedule.h b/indra/llcommon/threadsafeschedule.h index 0c3a541196..92bc7da940 100644 --- a/indra/llcommon/threadsafeschedule.h +++ b/indra/llcommon/threadsafeschedule.h @@ -82,7 +82,7 @@ namespace LL using TimePoint = ThreadSafeSchedulePrivate::TimePoint; using Clock = TimePoint::clock; - ThreadSafeSchedule(U32 capacity=1024): + ThreadSafeSchedule(size_t capacity=1024): super(capacity) {} diff --git a/indra/llcorehttp/bufferarray.cpp b/indra/llcorehttp/bufferarray.cpp index e0b2876a00..8d2e7c6a63 100644 --- a/indra/llcorehttp/bufferarray.cpp +++ b/indra/llcorehttp/bufferarray.cpp @@ -196,7 +196,7 @@ size_t BufferArray::read(size_t pos, void * dst, size_t len) return 0; size_t result(0), offset(0); - const int block_limit(mBlocks.size()); + const auto block_limit(mBlocks.size()); int block_start(findBlock(pos, &offset)); if (block_start < 0) return 0; @@ -228,7 +228,7 @@ size_t BufferArray::write(size_t pos, const void * src, size_t len) return 0; size_t result(0), offset(0); - const int block_limit(mBlocks.size()); + const auto block_limit(mBlocks.size()); int block_start(findBlock(pos, &offset)); if (block_start >= 0) @@ -288,7 +288,7 @@ int BufferArray::findBlock(size_t pos, size_t * ret_offset) if (pos >= mLen) return -1; // Doesn't exist - const int block_limit(mBlocks.size()); + const int block_limit(narrow(mBlocks.size())); for (int i(0); i < block_limit; ++i) { if (pos < mBlocks[i]->mUsed) diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp index 0dbb744bcf..ff4336d2de 100644 --- a/indra/llimage/llimageworker.cpp +++ b/indra/llimage/llimageworker.cpp @@ -46,7 +46,7 @@ LLImageDecodeThread::~LLImageDecodeThread() // MAIN THREAD // virtual -S32 LLImageDecodeThread::update(F32 max_time_ms) +size_t LLImageDecodeThread::update(F32 max_time_ms) { LL_PROFILE_ZONE_SCOPED_CATEGORY_TEXTURE; LLMutexLock lock(mCreationMutex); diff --git a/indra/llimage/llimageworker.h b/indra/llimage/llimageworker.h index 1bfb0ddfd3..54814c24c5 100644 --- a/indra/llimage/llimageworker.h +++ b/indra/llimage/llimageworker.h @@ -78,7 +78,7 @@ public: handle_t decodeImage(LLImageFormatted* image, U32 priority, S32 discard, BOOL needs_aux, Responder* responder); - S32 update(F32 max_time_ms); + size_t update(F32 max_time_ms); // Used by unit tests to check the consistency of the thread instance S32 tut_size(); diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 281f1bd87a..40f7b1e9fb 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -2416,7 +2416,7 @@ bool LLVolume::unpackVolumeFacesInternal(const LLSD& mdl) mVolumeFaces.resize(face_count); - for (U32 i = 0; i < face_count; ++i) + for (size_t i = 0; i < face_count; ++i) { LLVolumeFace& face = mVolumeFaces[i]; diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index be014e7b1e..d310cefd1e 100644 --- a/indra/llmessage/llcoproceduremanager.cpp +++ b/indra/llmessage/llcoproceduremanager.cpp @@ -47,7 +47,10 @@ static const std::map<std::string, U32> DefaultPoolSizes{ }; static const U32 DEFAULT_POOL_SIZE = 5; -const U32 LLCoprocedureManager::DEFAULT_QUEUE_SIZE = 4096; +// SL-14399: When we teleport to a brand-new simulator, the coprocedure queue +// gets absolutely slammed with fetch requests. Make this queue effectively +// unlimited. +const U32 LLCoprocedureManager::DEFAULT_QUEUE_SIZE = 1024*1024; //========================================================================= class LLCoprocedurePool: private boost::noncopyable diff --git a/indra/llprimitive/llmaterialid.h b/indra/llprimitive/llmaterialid.h index ee663f8f99..c66e3e30a3 100644 --- a/indra/llprimitive/llmaterialid.h +++ b/indra/llprimitive/llmaterialid.h @@ -66,6 +66,14 @@ public: static const LLMaterialID null; + // Returns a 64 bits digest of the material Id, by XORing its two 64 bits + // long words. HB + inline U64 getDigest64() const + { + U64* tmp = (U64*)mID; + return tmp[0] ^ tmp[1]; + } + private: void parseFromBinary(const LLSD::Binary& pMaterialID); void copyFromOtherMaterialID(const LLMaterialID& pOtherMaterialID); @@ -74,5 +82,23 @@ private: U8 mID[MATERIAL_ID_SIZE]; } ; +// std::hash implementation for LLMaterialID +namespace std +{ + template<> struct hash<LLMaterialID> + { + inline size_t operator()(const LLMaterialID& id) const noexcept + { + return (size_t)id.getDigest64(); + } + }; +} + +// For use with boost containers. +inline size_t hash_value(const LLMaterialID& id) noexcept +{ + return (size_t)id.getDigest64(); +} + #endif // LL_LLMATERIALID_H diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 765a8cda22..fbd97b3de7 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -31,7 +31,7 @@ #include "llconvexdecomposition.h" #include "llsdserialize.h" #include "llvector4a.h" -#include "llmd5.h" +#include "hbxxh.h" #ifdef LL_USESYSTEMLIBS # include <zlib.h> @@ -832,55 +832,69 @@ LLSD LLModel::writeModel( if (skinning) { - //write out skin weights - - //each influence list entry is up to 4 24-bit values - // first 8 bits is bone index - // last 16 bits is bone influence weight - // a bone index of 0xFF signifies no more influences for this vertex - - std::stringstream ostr; - - for (U32 j = 0; j < face.mNumVertices; ++j) - { - LLVector3 pos(face.mPositions[j].getF32ptr()); - - weight_list& weights = model[idx]->getJointInfluences(pos); - - S32 count = 0; - for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter) - { - // Note joint index cannot exceed 255. - if (iter->mJointIdx < 255 && iter->mJointIdx >= 0) - { - U8 idx = (U8) iter->mJointIdx; - ostr.write((const char*) &idx, 1); - - U16 influence = (U16) (iter->mWeight*65535); - ostr.write((const char*) &influence, 2); - - ++count; - } - } - U8 end_list = 0xFF; - if (count < 4) - { - ostr.write((const char*) &end_list, 1); - } - } - - //copy ostr to binary buffer - std::string data = ostr.str(); - const U8* buff = (U8*) data.data(); - U32 bytes = data.size(); - - LLSD::Binary w(bytes); - for (U32 j = 0; j < bytes; ++j) - { - w[j] = buff[j]; - } - - mdl[model_names[idx]][i]["Weights"] = w; + if (!model[idx]->mSkinWeights.empty()) + { + //write out skin weights + + //each influence list entry is up to 4 24-bit values + // first 8 bits is bone index + // last 16 bits is bone influence weight + // a bone index of 0xFF signifies no more influences for this vertex + + std::stringstream ostr; + for (U32 j = 0; j < face.mNumVertices; ++j) + { + LLVector3 pos(face.mPositions[j].getF32ptr()); + + weight_list& weights = model[idx]->getJointInfluences(pos); + + S32 count = 0; + for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter) + { + // Note joint index cannot exceed 255. + if (iter->mJointIdx < 255 && iter->mJointIdx >= 0) + { + U8 idx = (U8)iter->mJointIdx; + ostr.write((const char*)&idx, 1); + + U16 influence = (U16)(iter->mWeight * 65535); + ostr.write((const char*)&influence, 2); + + ++count; + } + } + U8 end_list = 0xFF; + if (count < 4) + { + ostr.write((const char*)&end_list, 1); + } + } + + //copy ostr to binary buffer + std::string data = ostr.str(); + const U8* buff = (U8*)data.data(); + U32 bytes = data.size(); + + LLSD::Binary w(bytes); + for (U32 j = 0; j < bytes; ++j) + { + w[j] = buff[j]; + } + + mdl[model_names[idx]][i]["Weights"] = w; + } + else + { + if (idx == LLModel::LOD_PHYSICS) + { + // Ex: using "bounding box" + LL_DEBUGS("MESHSKININFO") << "Using physics model without skin weights" << LL_ENDL; + } + else + { + LL_WARNS("MESHSKININFO") << "Attempting to use skinning without having skin weights" << LL_ENDL; + } + } } } } @@ -982,6 +996,8 @@ LLModel::weight_list& LLModel::getJointInfluences(const LLVector3& pos) //1. If a vertex has been weighted then we'll find it via pos and return its weight list weight_map::iterator iterPos = mSkinWeights.begin(); weight_map::iterator iterEnd = mSkinWeights.end(); + + llassert(!mSkinWeights.empty()); for ( ; iterPos!=iterEnd; ++iterPos ) { @@ -1531,7 +1547,7 @@ LLSD LLMeshSkinInfo::asLLSD(bool include_joints, bool lock_scale_if_joint_positi void LLMeshSkinInfo::updateHash() { // get hash of data relevant to render batches - LLMD5 hash; + HBXXH64 hash; //mJointNames for (auto& name : mJointNames) @@ -1540,24 +1556,19 @@ void LLMeshSkinInfo::updateHash() } //mJointNums - hash.update((U8*)&(mJointNums[0]), sizeof(S32) * mJointNums.size()); + hash.update((const void*)mJointNums.data(), sizeof(S32) * mJointNums.size()); //mInvBindMatrix F32* src = mInvBindMatrix[0].getF32ptr(); - for (int i = 0; i < mInvBindMatrix.size() * 16; ++i) + for (size_t i = 0, count = mInvBindMatrix.size() * 16; i < count; ++i) { S32 t = llround(src[i] * 10000.f); - hash.update((U8*)&t, sizeof(S32)); + hash.update((const void*)&t, sizeof(S32)); } - //hash.update((U8*)&(mInvBindMatrix[0]), sizeof(LLMatrix4a) * mInvBindMatrix.size()); - - hash.finalize(); - - U64 digest[2]; - hash.raw_digest((U8*) digest); + //hash.update((const void*)mInvBindMatrix.data(), sizeof(LLMatrix4a) * mInvBindMatrix.size()); - mHash = digest[0]; + mHash = hash.digest(); } U32 LLMeshSkinInfo::sizeBytes() const diff --git a/indra/llprimitive/llmodelloader.cpp b/indra/llprimitive/llmodelloader.cpp index 5171621007..3dd1652154 100644 --- a/indra/llprimitive/llmodelloader.cpp +++ b/indra/llprimitive/llmodelloader.cpp @@ -25,6 +25,8 @@ */ #include "llmodelloader.h" + +#include "llapp.h" #include "llsdserialize.h" #include "lljoint.h" #include "llcallbacklist.h" @@ -363,7 +365,10 @@ bool LLModelLoader::isAlive(LLModelLoader* loader) void LLModelLoader::loadModelCallback() { - mLoadCallback(mScene,mModelList,mLod, mOpaqueData); + if (!LLApp::isExiting()) + { + mLoadCallback(mScene, mModelList, mLod, mOpaqueData); + } while (!isStopped()) { //wait until this thread is stopped before deleting self diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml index e16a5c7e76..340334aee8 100644 --- a/indra/newview/app_settings/cmd_line.xml +++ b/indra/newview/app_settings/cmd_line.xml @@ -209,6 +209,12 @@ <string>NoAudio</string> </map> + <key>nofmod</key> + <map> + <key>map-to</key> + <string>UseMediaPluginsForStreamingAudio</string> + </map> + <key>noninteractive</key> <map> <key>desc</key> diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9fffab70f4..8859080531 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -7077,6 +7077,17 @@ <key>Value</key> <integer>0</integer> </map> + <key>UseMediaPluginsForStreamingAudio</key> + <map> + <key>Comment</key> + <string>Use media plugins (VLC) for streaming audio.</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>0</integer> + </map> <key>NoHardwareProbe</key> <map> <key>Comment</key> @@ -11338,11 +11349,11 @@ <key>ShowBanLines</key> <map> <key>Comment</key> - <string>Show in-world ban/access borders</string> + <string>Show in-world ban/access borders, 0 - do not show, 1 - show on collision, 2 - show on proximity</string> <key>Persist</key> <integer>1</integer> <key>Type</key> - <string>Boolean</string> + <string>S32</string> <key>Value</key> <integer>1</integer> </map> @@ -16953,17 +16964,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>ResetUIScaleOnFirstRun</key> - <map> - <key>Comment</key> - <string>Resets the UI scale factor on first run due to changed display scaling behavior</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> <key>360CaptureUseInterestListCap</key> <map> <key>Comment</key> diff --git a/indra/newview/llagentlistener.cpp b/indra/newview/llagentlistener.cpp index 7887184a11..5a720af038 100644 --- a/indra/newview/llagentlistener.cpp +++ b/indra/newview/llagentlistener.cpp @@ -35,6 +35,7 @@ #include "llcommandhandler.h" #include "llslurl.h" #include "llurldispatcher.h" +#include "llviewernetwork.h" #include "llviewerobject.h" #include "llviewerobjectlist.h" #include "llviewerregion.h" @@ -148,7 +149,7 @@ void LLAgentListener::requestTeleport(LLSD const & event_data) const params.append(event_data["x"]); params.append(event_data["y"]); params.append(event_data["z"]); - LLCommandDispatcher::dispatch("teleport", params, LLSD(), NULL, "clicked", true); + LLCommandDispatcher::dispatch("teleport", params, LLSD(), LLGridManager::getInstance()->getGrid(), NULL, "clicked", true); // *TODO - lookup other LLCommandHandlers for "agent", "classified", "event", "group", "floater", "parcel", "login", login_refresh", "balance", "chat" // should we just compose LLCommandHandler and LLDispatchListener? } diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 2e769dc737..53397978e0 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -41,7 +41,6 @@ #include "llinventoryobserver.h" #include "llinventorypanel.h" #include "lllocaltextureobject.h" -#include "llmd5.h" #include "llnotificationsutil.h" #include "lloutfitobserver.h" #include "llsidepanelappearance.h" diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3c93a9df7e..d0fad07f1c 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -41,7 +41,9 @@ #include "llinventorybridge.h" #include "llinventoryfunctions.h" #include "llinventoryobserver.h" +#include "llmd5.h" #include "llnotificationsutil.h" +#include "llmd5.h" #include "lloutfitobserver.h" #include "lloutfitslist.h" #include "llselectmgr.h" @@ -145,7 +147,10 @@ public: // requests will be throttled from a non-trusted browser LLAppearanceHandler() : LLCommandHandler("appearance", UNTRUSTED_THROTTLE) {} - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { // support secondlife:///app/appearance/show, but for now we just // make all secondlife:///app/appearance SLapps behave this way @@ -4470,8 +4475,10 @@ public: // not allowed from outside the app LLWearFolderHandler() : LLCommandHandler("wear_folder", UNTRUSTED_BLOCK) { } - bool handle(const LLSD& tokens, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& tokens, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { LLSD::UUID folder_uuid; diff --git a/indra/newview/llbuycurrencyhtml.cpp b/indra/newview/llbuycurrencyhtml.cpp index 7ad06f8eaa..37de89a48b 100644 --- a/indra/newview/llbuycurrencyhtml.cpp +++ b/indra/newview/llbuycurrencyhtml.cpp @@ -43,7 +43,7 @@ public: // requests will be throttled from a non-trusted browser LLBuyCurrencyHTMLHandler() : LLCommandHandler( "buycurrencyhtml", UNTRUSTED_THROTTLE) {} - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { std::string action( "" ); if ( params.size() >= 1 ) diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index 9a608fba8e..43dc10ef5f 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -82,7 +82,7 @@ public: // requests will be throttled from a non-trusted browser LLObjectIMHandler() : LLCommandHandler("objectim", UNTRUSTED_THROTTLE) {} - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (params.size() < 1) { diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp index 1c22e055bb..dc2cc57f0f 100644 --- a/indra/newview/llchatitemscontainerctrl.cpp +++ b/indra/newview/llchatitemscontainerctrl.cpp @@ -57,7 +57,7 @@ class LLObjectHandler : public LLCommandHandler public: LLObjectHandler() : LLCommandHandler("object", UNTRUSTED_BLOCK) { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (params.size() < 2) return false; diff --git a/indra/newview/llcommanddispatcherlistener.cpp b/indra/newview/llcommanddispatcherlistener.cpp index 586f45fd8f..1b85c09071 100644 --- a/indra/newview/llcommanddispatcherlistener.cpp +++ b/indra/newview/llcommanddispatcherlistener.cpp @@ -64,7 +64,7 @@ void LLCommandDispatcherListener::dispatch(const LLSD& params) const // But for testing, allow a caller to specify untrusted. trusted_browser = params["trusted"].asBoolean(); } - LLCommandDispatcher::dispatch(params["cmd"], params["params"], params["query"], NULL, + LLCommandDispatcher::dispatch(params["cmd"], params["params"], params["query"], "", NULL, "clicked", trusted_browser); } diff --git a/indra/newview/llcommandhandler.cpp b/indra/newview/llcommandhandler.cpp index 74f37961c7..e774a9390a 100644 --- a/indra/newview/llcommandhandler.cpp +++ b/indra/newview/llcommandhandler.cpp @@ -60,6 +60,7 @@ public: bool dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web, const std::string& nav_type, bool trusted_browser); @@ -96,6 +97,7 @@ void LLCommandHandlerRegistry::add(const char* cmd, bool LLCommandHandlerRegistry::dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web, const std::string& nav_type, bool trusted_browser) @@ -163,7 +165,7 @@ bool LLCommandHandlerRegistry::dispatch(const std::string& cmd, } } if (!info.mHandler) return false; - return info.mHandler->handle(params, query_map, web); + return info.mHandler->handle(params, query_map, grid, web); } void LLCommandHandlerRegistry::notifySlurlBlocked() @@ -218,12 +220,13 @@ LLCommandHandler::~LLCommandHandler() bool LLCommandDispatcher::dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web, const std::string& nav_type, bool trusted_browser) { return LLCommandHandlerRegistry::instance().dispatch( - cmd, params, query_map, web, nav_type, trusted_browser); + cmd, params, query_map, grid, web, nav_type, trusted_browser); } static std::string lookup(LLCommandHandler::EUntrustedAccess value); diff --git a/indra/newview/llcommandhandler.h b/indra/newview/llcommandhandler.h index 763e3ee51f..c7a7a18c7d 100644 --- a/indra/newview/llcommandhandler.h +++ b/indra/newview/llcommandhandler.h @@ -42,7 +42,7 @@ public: LLFooHandler() : LLCommandHandler("foo", UNTRUSTED_BLOCK) { } // Your code here - bool handle(const LLSD& tokens, const LLSD& query_map, + bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (tokens.size() < 1) return false; @@ -88,6 +88,7 @@ public: virtual bool handle(const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web) = 0; // For URL secondlife:///app/foo/bar/baz?cat=1&dog=2 // @params - array of "bar", "baz", possibly empty @@ -104,6 +105,7 @@ public: static bool dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web, const std::string& nav_type, bool trusted_browser); diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp index f1a44a68c9..788b61b381 100644 --- a/indra/newview/lleventnotifier.cpp +++ b/indra/newview/lleventnotifier.cpp @@ -43,8 +43,10 @@ class LLEventHandler : public LLCommandHandler public: // requires trusted browser to trigger LLEventHandler() : LLCommandHandler("event", UNTRUSTED_THROTTLE) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (params.size() < 2) { diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index b5f6f80b39..b61afcbbc9 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -285,6 +285,15 @@ BOOL LLFilePicker::getOpenFile(ELoadFilter filter, bool blocking) return success; } +BOOL LLFilePicker::getOpenFileModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata) +{ + // not supposed to be used yet, use LLFilePickerThread + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) { if( mLocked ) @@ -362,6 +371,15 @@ BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) return success; } +BOOL LLFilePicker::getMultipleOpenFilesModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata ) +{ + // not supposed to be used yet, use LLFilePickerThread + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, bool blocking) { if( mLocked ) @@ -584,6 +602,16 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, return success; } +BOOL LLFilePicker::getSaveFileModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata) +{ + // not supposed to be used yet, use LLFilePickerThread + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + #elif LL_DARWIN std::unique_ptr<std::vector<std::string>> LLFilePicker::navOpenFilterProc(ELoadFilter filter) //(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode) @@ -678,105 +706,123 @@ bool LLFilePicker::doNavChooseDialog(ELoadFilter filter) return false; } -bool LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& filename) +bool LLFilePicker::doNavChooseDialogModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &,void*), + void *userdata) { - - // Setup the type, creator, and extension - std::string extension, type, creator; + // if local file browsing is turned off, return without opening dialog + if ( check_local_file_access_enabled() == false ) + { + return false; + } - switch (filter) - { - case FFSAVE_WAV: - type = "WAVE"; - creator = "TVOD"; - extension = "wav"; - break; - case FFSAVE_TGA: - type = "TPIC"; - creator = "prvw"; - extension = "tga"; - break; - case FFSAVE_TGAPNG: - type = "PNG"; - creator = "prvw"; - extension = "png,tga"; - break; - case FFSAVE_BMP: - type = "BMPf"; - creator = "prvw"; - extension = "bmp"; - break; - case FFSAVE_JPEG: - type = "JPEG"; - creator = "prvw"; - extension = "jpeg"; - break; - case FFSAVE_PNG: - type = "PNG "; - creator = "prvw"; - extension = "png"; - break; - case FFSAVE_AVI: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = "mov"; - break; + std::unique_ptr<std::vector<std::string>> allowed_types=navOpenFilterProc(filter); + + doLoadDialogModeless(allowed_types.get(), + mPickOptions, + callback, + userdata); + + return true; +} - case FFSAVE_ANIM: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = "xaf"; - break; +void set_nav_save_data(LLFilePicker::ESaveFilter filter, std::string &extension, std::string &type, std::string &creator) +{ + switch (filter) + { + case LLFilePicker::FFSAVE_WAV: + type = "WAVE"; + creator = "TVOD"; + extension = "wav"; + break; + case LLFilePicker::FFSAVE_TGA: + type = "TPIC"; + creator = "prvw"; + extension = "tga"; + break; + case LLFilePicker::FFSAVE_TGAPNG: + type = "PNG"; + creator = "prvw"; + extension = "png,tga"; + break; + case LLFilePicker::FFSAVE_BMP: + type = "BMPf"; + creator = "prvw"; + extension = "bmp"; + break; + case LLFilePicker::FFSAVE_JPEG: + type = "JPEG"; + creator = "prvw"; + extension = "jpeg"; + break; + case LLFilePicker::FFSAVE_PNG: + type = "PNG "; + creator = "prvw"; + extension = "png"; + break; + case LLFilePicker::FFSAVE_AVI: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = "mov"; + break; + + case LLFilePicker::FFSAVE_ANIM: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = "xaf"; + break; #ifdef _CORY_TESTING - case FFSAVE_GEOMETRY: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = "slg"; - break; -#endif - - case FFSAVE_XML: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = "xml"; - break; - - case FFSAVE_RAW: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = "raw"; - break; + case LLFilePicker::FFSAVE_GEOMETRY: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = "slg"; + break; +#endif + + case LLFilePicker::FFSAVE_XML: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = "xml"; + break; + + case LLFilePicker::FFSAVE_RAW: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = "raw"; + break; - case FFSAVE_J2C: - type = "\?\?\?\?"; - creator = "prvw"; - extension = "j2c"; - break; - - case FFSAVE_SCRIPT: - type = "LSL "; - creator = "\?\?\?\?"; - extension = "lsl"; - break; - - case FFSAVE_ALL: - default: - type = "\?\?\?\?"; - creator = "\?\?\?\?"; - extension = ""; - break; - } + case LLFilePicker::FFSAVE_J2C: + type = "\?\?\?\?"; + creator = "prvw"; + extension = "j2c"; + break; + + case LLFilePicker::FFSAVE_SCRIPT: + type = "LSL "; + creator = "\?\?\?\?"; + extension = "lsl"; + break; + + case LLFilePicker::FFSAVE_ALL: + default: + type = "\?\?\?\?"; + creator = "\?\?\?\?"; + extension = ""; + break; + } +} + +bool LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& filename) +{ + // Setup the type, creator, and extension + std::string extension, type, creator; + + set_nav_save_data(filter, extension, type, creator); std::string namestring = filename; if (namestring.empty()) namestring="Untitled"; -// if (! boost::algorithm::ends_with(namestring, extension) ) -// { -// namestring = namestring + "." + extension; -// -// } - gViewerWindow->getWindow()->beforeDialog(); // Run the dialog @@ -797,6 +843,30 @@ bool LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& filena return false; } +bool LLFilePicker::doNavSaveDialogModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata) +{ + // Setup the type, creator, and extension + std::string extension, type, creator; + + set_nav_save_data(filter, extension, type, creator); + + std::string namestring = filename; + if (namestring.empty()) namestring="Untitled"; + + // Run the dialog + doSaveDialogModeless(&namestring, + &type, + &creator, + &extension, + mPickOptions, + callback, + userdata); + return true; +} + BOOL LLFilePicker::getOpenFile(ELoadFilter filter, bool blocking) { if( mLocked ) @@ -852,18 +922,52 @@ BOOL LLFilePicker::getOpenFile(ELoadFilter filter, bool blocking) return success; } + +BOOL LLFilePicker::getOpenFileModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata) +{ + if( mLocked ) + return FALSE; + + // if local file browsing is turned off, return without opening dialog + if ( check_local_file_access_enabled() == false ) + { + return FALSE; + } + + reset(); + + mPickOptions &= ~F_MULTIPLE; + mPickOptions |= F_FILE; + + if (filter == FFLOAD_DIRECTORY) //This should only be called from lldirpicker. + { + + mPickOptions |= ( F_NAV_SUPPORT | F_DIRECTORY ); + mPickOptions &= ~F_FILE; + } + + if (filter == FFLOAD_ALL) // allow application bundles etc. to be traversed; important for DEV-16869, but generally useful + { + mPickOptions |= F_NAV_SUPPORT; + } + + return doNavChooseDialogModeless(filter, callback, userdata); +} + BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) { if( mLocked ) return FALSE; - BOOL success = FALSE; - // if local file browsing is turned off, return without opening dialog if ( check_local_file_access_enabled() == false ) { return FALSE; } + + BOOL success = FALSE; reset(); @@ -897,6 +1001,29 @@ BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter, bool blocking) return success; } + +BOOL LLFilePicker::getMultipleOpenFilesModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata ) +{ + if( mLocked ) + return FALSE; + + // if local file browsing is turned off, return without opening dialog + if ( check_local_file_access_enabled() == false ) + { + return FALSE; + } + + reset(); + + mPickOptions |= F_FILE; + + mPickOptions |= F_MULTIPLE; + + return doNavChooseDialogModeless(filter, callback, userdata); +} + BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, bool blocking) { @@ -937,6 +1064,27 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename, LLFrameTimer::updateFrameTime(); return success; } + +BOOL LLFilePicker::getSaveFileModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata) +{ + if( mLocked ) + return false; + + // if local file browsing is turned off, return without opening dialog + if ( check_local_file_access_enabled() == false ) + { + return false; + } + + reset(); + + mPickOptions &= ~F_MULTIPLE; + + return doNavSaveDialogModeless(filter, filename, callback, userdata); +} //END LL_DARWIN #elif LL_LINUX @@ -1444,6 +1592,15 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename, return FALSE; } +BOOL LLFilePicker::getSaveFileModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata) +{ + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) { // if local file browsing is turned off, return without opening dialog @@ -1469,6 +1626,14 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking ) return TRUE; } +BOOL LLFilePicker::getOpenFileModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata) +{ + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter, bool blocking) { // if local file browsing is turned off, return without opening dialog @@ -1482,6 +1647,14 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter, bool blocking) return FALSE; } +BOOL LLFilePicker::getMultipleOpenFilesModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata ) +{ + LL_ERRS() << "NOT IMPLEMENTED" << LL_ENDL; + return FALSE; +} + #endif // LL_GTK #else // not implemented diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h index 73baeca1c0..26649e0940 100644 --- a/indra/newview/llfilepicker.h +++ b/indra/newview/llfilepicker.h @@ -114,8 +114,16 @@ public: // open the dialog. This is a modal operation BOOL getSaveFile( ESaveFilter filter = FFSAVE_ALL, const std::string& filename = LLStringUtil::null, bool blocking = true); + BOOL getSaveFileModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata); BOOL getOpenFile( ELoadFilter filter = FFLOAD_ALL, bool blocking = true ); + // Todo: implement getOpenFileModeless and getMultipleOpenFilesModeless + // for windows and use directly instead of ugly LLFilePickerThread + BOOL getOpenFileModeless( ELoadFilter filter, void (*callback)(bool, std::vector<std::string> &, void*), void *userdata); // MAC only. BOOL getMultipleOpenFiles( ELoadFilter filter = FFLOAD_ALL, bool blocking = true ); + BOOL getMultipleOpenFilesModeless( ELoadFilter filter, void (*callback)(bool, std::vector<std::string> &, void*), void *userdata ); // MAC only // Get the filename(s) found. getFirstFile() sets the pointer to // the start of the structure and allows the start of iteration. @@ -166,8 +174,15 @@ private: std::vector<std::string> mFileVector; bool doNavChooseDialog(ELoadFilter filter); + bool doNavChooseDialogModeless(ELoadFilter filter, + void (*callback)(bool, std::vector<std::string>&, void*), + void *userdata); bool doNavSaveDialog(ESaveFilter filter, const std::string& filename); std::unique_ptr<std::vector<std::string>> navOpenFilterProc(ELoadFilter filter); + bool doNavSaveDialogModeless(ESaveFilter filter, + const std::string& filename, + void (*callback)(bool, std::string&, void*), + void *userdata); #endif #if LL_GTK diff --git a/indra/newview/llfilepicker_mac.h b/indra/newview/llfilepicker_mac.h index b2fb371afe..367c792969 100644 --- a/indra/newview/llfilepicker_mac.h +++ b/indra/newview/llfilepicker_mac.h @@ -41,11 +41,25 @@ //void modelessPicker(); std::unique_ptr<std::vector<std::string>> doLoadDialog(const std::vector<std::string>* allowed_types, unsigned int flags); + +void doLoadDialogModeless(const std::vector<std::string>* allowed_types, + unsigned int flags, + void (*callback)(bool, std::vector<std::string>&, void*), + void *userdata); + std::unique_ptr<std::string> doSaveDialog(const std::string* file, const std::string* type, const std::string* creator, const std::string* extension, unsigned int flags); + +void doSaveDialogModeless(const std::string* file, + const std::string* type, + const std::string* creator, + const std::string* extension, + unsigned int flags, + void (*callback)(bool, std::string&, void*), + void *userdata); enum { F_FILE = 0x00000001, F_DIRECTORY = 0x00000002, diff --git a/indra/newview/llfilepicker_mac.mm b/indra/newview/llfilepicker_mac.mm index 0ae5fc3f77..bca5b10c8a 100644 --- a/indra/newview/llfilepicker_mac.mm +++ b/indra/newview/llfilepicker_mac.mm @@ -29,108 +29,189 @@ #include <iostream> #include "llfilepicker_mac.h" -std::unique_ptr<std::vector<std::string>> doLoadDialog(const std::vector<std::string>* allowed_types, - unsigned int flags) +NSOpenPanel *init_panel(const std::vector<std::string>* allowed_types, unsigned int flags) { - std::unique_ptr<std::vector<std::string>> outfiles; - - @autoreleasepool { - int i, result; - //Aura TODO: We could init a small window and release it at the end of this routine - //for a modeless interface. + int i; + + NSOpenPanel *panel = [NSOpenPanel openPanel]; + NSMutableArray *fileTypes = nil; + + + if ( allowed_types && !allowed_types->empty()) + { + fileTypes = [[NSMutableArray alloc] init]; - NSOpenPanel *panel = [NSOpenPanel openPanel]; - //NSString *fileName = nil; - NSMutableArray *fileTypes = nil; - - if ( allowed_types && !allowed_types->empty()) + for (i=0;i<allowed_types->size();++i) { - fileTypes = [[[NSMutableArray alloc] init] autorelease]; - - for (i=0;i<allowed_types->size();++i) - { - [fileTypes addObject: - [NSString stringWithCString:(*allowed_types)[i].c_str() - encoding:[NSString defaultCStringEncoding]]]; - } + [fileTypes addObject: + [NSString stringWithCString:(*allowed_types)[i].c_str() + encoding:[NSString defaultCStringEncoding]]]; } + } - //[panel setMessage:@"Import one or more files or directories."]; - [panel setAllowsMultipleSelection: ( (flags & F_MULTIPLE)?true:false ) ]; - [panel setCanChooseDirectories: ( (flags & F_DIRECTORY)?true:false ) ]; - [panel setCanCreateDirectories: true]; - [panel setResolvesAliases: true]; - [panel setCanChooseFiles: ( (flags & F_FILE)?true:false )]; - [panel setTreatsFilePackagesAsDirectories: ( flags & F_NAV_SUPPORT ) ]; - - if (fileTypes) + //[panel setMessage:@"Import one or more files or directories."]; + [panel setAllowsMultipleSelection: ( (flags & F_MULTIPLE)?true:false ) ]; + [panel setCanChooseDirectories: ( (flags & F_DIRECTORY)?true:false ) ]; + [panel setCanCreateDirectories: true]; + [panel setResolvesAliases: true]; + [panel setCanChooseFiles: ( (flags & F_FILE)?true:false )]; + [panel setTreatsFilePackagesAsDirectories: ( flags & F_NAV_SUPPORT ) ]; + + if (fileTypes) + { + [panel setAllowedFileTypes:fileTypes]; + } + else + { + // I suggest it's better to open the last path and let this default to home dir as necessary + // for consistency with other OS X apps + // + //[panel setDirectoryURL: fileURLWithPath(NSHomeDirectory()) ]; + } + return panel; +} + +std::unique_ptr<std::vector<std::string>> doLoadDialog(const std::vector<std::string>* allowed_types, + unsigned int flags) +{ + int result; + + NSOpenPanel *panel = init_panel(allowed_types,flags); + + result = [panel runModal]; + + std::unique_ptr<std::vector<std::string>> outfiles = nullptr; + + if (result == NSOKButton) + { + NSArray *filesToOpen = [panel URLs]; + int count = [filesToOpen count]; + + if (count > 0) { - [panel setAllowedFileTypes:fileTypes]; - result = [panel runModal]; + outfiles = std::make_unique<std::vector<std::string>>(); } - else - { - // I suggest it's better to open the last path and let this default to home dir as necessary - // for consistency with other OS X apps - // - //[panel setDirectoryURL: fileURLWithPath(NSHomeDirectory()) ]; - result = [panel runModal]; + + for (int i=0; i<count; i++) { + NSString *aFile = [filesToOpen objectAtIndex:i]; + std::string afilestr = [[aFile stringByStandardizingPath] UTF8String]; + outfiles->push_back(std::move(afilestr)); } - - if (result == NSOKButton) + } + return outfiles; +} + +void doLoadDialogModeless(const std::vector<std::string>* allowed_types, + unsigned int flags, + void (*callback)(bool, std::vector<std::string> &, void*), + void *userdata) +{ + // Note: might need to return and save this panel + // so that it does not close immediately + NSOpenPanel *panel = init_panel(allowed_types,flags); + + [panel beginWithCompletionHandler:^(NSModalResponse result) { - NSArray *filesToOpen = [panel URLs]; - int i, count = [filesToOpen count]; - - if (count > 0) + std::vector<std::string> outfiles; + if (result == NSOKButton) { - outfiles.reset(new std::vector<std::string>); + NSArray *filesToOpen = [panel URLs]; + int i, count = [filesToOpen count]; + + if (count > 0) + { + + for (i=0; i<count; i++) { + NSString *aFile = [[filesToOpen objectAtIndex:i] path]; + std::string *afilestr = new std::string([aFile UTF8String]); + outfiles.push_back(*afilestr); + } + callback(true, outfiles, userdata); + } + else // no valid result + { + callback(false, outfiles, userdata); + } } - - for (i=0; i<count; i++) { - NSString *aFile = [[filesToOpen objectAtIndex:i] path]; - std::string afilestr = std::string([aFile UTF8String]); - outfiles->push_back(afilestr); + else // cancel + { + callback(false, outfiles, userdata); } - } - } - - return outfiles; + }]; } - -std::unique_ptr<std::string> doSaveDialog(const std::string* file, +std::unique_ptr<std::string> doSaveDialog(const std::string* file, const std::string* type, const std::string* creator, const std::string* extension, unsigned int flags) { - std::unique_ptr<std::string> outfile; - @autoreleasepool { - NSSavePanel *panel = [NSSavePanel savePanel]; - - NSString *extensionns = [NSString stringWithCString:extension->c_str() encoding:[NSString defaultCStringEncoding]]; - NSArray *fileType = [extensionns componentsSeparatedByString:@","]; - - //[panel setMessage:@"Save Image File"]; - [panel setTreatsFilePackagesAsDirectories: ( flags & F_NAV_SUPPORT ) ]; - [panel setCanSelectHiddenExtension:true]; - [panel setAllowedFileTypes:fileType]; - NSString *fileName = [NSString stringWithCString:file->c_str() encoding:[NSString defaultCStringEncoding]]; - - NSURL* url = [NSURL fileURLWithPath:fileName]; - [panel setNameFieldStringValue: fileName]; - [panel setDirectoryURL: url]; - if([panel runModal] == - NSFileHandlingPanelOKButton) + NSSavePanel *panel = [NSSavePanel savePanel]; + + NSString *extensionns = [NSString stringWithCString:extension->c_str() encoding:[NSString defaultCStringEncoding]]; + NSArray *fileType = [extensionns componentsSeparatedByString:@","]; + + //[panel setMessage:@"Save Image File"]; + [panel setTreatsFilePackagesAsDirectories: ( flags & F_NAV_SUPPORT ) ]; + [panel setCanSelectHiddenExtension:true]; + [panel setAllowedFileTypes:fileType]; + NSString *fileName = [NSString stringWithCString:file->c_str() encoding:[NSString defaultCStringEncoding]]; + + std::unique_ptr<std::string> outfile = nullptr; + NSURL* url = [NSURL fileURLWithPath:fileName]; + [panel setNameFieldStringValue: fileName]; + [panel setDirectoryURL: url]; + if([panel runModal] == + NSFileHandlingPanelOKButton) + { + NSURL* url = [panel URL]; + NSString* p = [url path]; + outfile = std::make_unique<std::string>( [p UTF8String] ); + // write the file + } + return outfile; +} + +void doSaveDialogModeless(const std::string* file, + const std::string* type, + const std::string* creator, + const std::string* extension, + unsigned int flags, + void (*callback)(bool, std::string&, void*), + void *userdata) +{ + NSSavePanel *panel = [NSSavePanel savePanel]; + + NSString *extensionns = [NSString stringWithCString:extension->c_str() encoding:[NSString defaultCStringEncoding]]; + NSArray *fileType = [extensionns componentsSeparatedByString:@","]; + + //[panel setMessage:@"Save Image File"]; + [panel setTreatsFilePackagesAsDirectories: ( flags & F_NAV_SUPPORT ) ]; + [panel setCanSelectHiddenExtension:true]; + [panel setAllowedFileTypes:fileType]; + NSString *fileName = [NSString stringWithCString:file->c_str() encoding:[NSString defaultCStringEncoding]]; + + NSURL* url = [NSURL fileURLWithPath:fileName]; + [panel setNameFieldStringValue: fileName]; + [panel setDirectoryURL: url]; + + + [panel beginWithCompletionHandler:^(NSModalResponse result) + { + if (result == NSOKButton) { NSURL* url = [panel URL]; NSString* p = [url path]; - outfile.reset(new std::string([p UTF8String])); - // write the file + std::string outfile([p UTF8String]); + + callback(true, outfile, userdata); } - } - return outfile; + else // cancel + { + std::string outfile; + callback(false, outfile, userdata); + } + }]; } #endif diff --git a/indra/newview/llfloaterexperienceprofile.cpp b/indra/newview/llfloaterexperienceprofile.cpp index a99a096ea7..f6afdd29fb 100644 --- a/indra/newview/llfloaterexperienceprofile.cpp +++ b/indra/newview/llfloaterexperienceprofile.cpp @@ -92,8 +92,10 @@ class LLExperienceHandler : public LLCommandHandler public: LLExperienceHandler() : LLCommandHandler("experience", UNTRUSTED_THROTTLE) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if(params.size() != 2 || params[1].asString() != "profile") return false; diff --git a/indra/newview/llfloaterhandler.cpp b/indra/newview/llfloaterhandler.cpp index 8ebb14149c..b66049de7f 100644 --- a/indra/newview/llfloaterhandler.cpp +++ b/indra/newview/llfloaterhandler.cpp @@ -49,7 +49,7 @@ LLFloater* get_parent_floater(LLView* view) } -bool LLFloaterHandler::handle(const LLSD ¶ms, const LLSD &query_map, LLMediaCtrl *web) +bool LLFloaterHandler::handle(const LLSD ¶ms, const LLSD &query_map, const std::string& grid, LLMediaCtrl *web) { if (params.size() < 1) return false; LLFloater* floater = NULL; diff --git a/indra/newview/llfloaterhandler.h b/indra/newview/llfloaterhandler.h index 5915642d66..959c972275 100644 --- a/indra/newview/llfloaterhandler.h +++ b/indra/newview/llfloaterhandler.h @@ -33,7 +33,7 @@ class LLFloaterHandler { public: LLFloaterHandler() : LLCommandHandler("floater", UNTRUSTED_BLOCK) { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web); + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web); }; #endif diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index f1807f1c5b..f63268660c 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -901,8 +901,10 @@ public: LLChatCommandHandler() : LLCommandHandler("chat", UNTRUSTED_BLOCK) { } // Your code here - bool handle(const LLSD& tokens, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& tokens, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { bool retval = false; // Need at least 2 tokens to have a valid message. diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp index 7e6af45515..37ae80fa8f 100644 --- a/indra/newview/llfloatersearch.cpp +++ b/indra/newview/llfloatersearch.cpp @@ -46,7 +46,7 @@ class LLSearchHandler : public LLCommandHandler public: // requires trusted browser to trigger LLSearchHandler() : LLCommandHandler("search", UNTRUSTED_CLICK_ONLY) { } - bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableSearch")) { diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index bd49405f34..9f277021c8 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -49,6 +49,7 @@ #include "llviewerparcelmgr.h" #include "llviewerregion.h" #include "lluictrlfactory.h" +#include "llviewerobjectlist.h" #include "llviewerwindow.h" #include "llfloaterregioninfo.h" @@ -83,6 +84,8 @@ LLFloaterTopObjects::LLFloaterTopObjects(const LLSD& key) mCommitCallbackRegistrar.add("TopObjects.GetByOwnerName", boost::bind(&LLFloaterTopObjects::onGetByOwnerName, this)); mCommitCallbackRegistrar.add("TopObjects.GetByParcelName", boost::bind(&LLFloaterTopObjects::onGetByParcelName, this)); mCommitCallbackRegistrar.add("TopObjects.CommitObjectsList",boost::bind(&LLFloaterTopObjects::onCommitObjectsList, this)); + + mCommitCallbackRegistrar.add("TopObjects.TeleportToSelected", boost::bind(&LLFloaterTopObjects::teleportToSelectedObject, this)); } LLFloaterTopObjects::~LLFloaterTopObjects() @@ -92,10 +95,11 @@ LLFloaterTopObjects::~LLFloaterTopObjects() // virtual BOOL LLFloaterTopObjects::postBuild() { - LLScrollListCtrl *objects_list = getChild<LLScrollListCtrl>("objects_list"); - getChild<LLUICtrl>("objects_list")->setFocus(TRUE); - objects_list->setDoubleClickCallback(onDoubleClickObjectsList, this); - objects_list->setCommitOnSelectionChange(TRUE); + mObjectsScrollList = getChild<LLScrollListCtrl>("objects_list"); + mObjectsScrollList->setFocus(TRUE); + mObjectsScrollList->setDoubleClickCallback(onDoubleClickObjectsList, this); + mObjectsScrollList->setCommitOnSelectionChange(TRUE); + mObjectsScrollList->setCommitCallback(boost::bind(&LLFloaterTopObjects::onSelectionChanged, this)); setDefaultBtn("show_beacon_btn"); @@ -421,6 +425,8 @@ void LLFloaterTopObjects::clearList() mObjectListData.clear(); mObjectListIDs.clear(); mtotalScore = 0.f; + + onSelectionChanged(); } @@ -507,3 +513,38 @@ void LLFloaterTopObjects::showBeacon() std::string tooltip(""); LLTracker::trackLocation(pos_global, name, tooltip, LLTracker::LOCATION_ITEM); } + +void LLFloaterTopObjects::teleportToSelectedObject() +{ + std::vector<LLScrollListItem*> selected_items = mObjectsScrollList->getAllSelected(); + if (selected_items.size() == 1) + { + LLScrollListItem* first_selected = selected_items.front(); + + LLVector3d teleport_location; + LLViewerObject *viewer_object = gObjectList.findObject(first_selected->getUUID()); + if (viewer_object == NULL) + { + // If we cannot find the object in the viewer list, teleport to the last reported position + std::string pos_string = first_selected->getColumn(3)->getValue().asString(); + + F32 x, y, z; + S32 matched = sscanf(pos_string.c_str(), "<%g,%g,%g>", &x, &y, &z); + if (matched != 3) return; + + LLVector3 pos_agent(x, y, z); + teleport_location = gAgent.getPosGlobalFromAgent(pos_agent); + } + else + { + // If we can find the object in the viewer list, teleport to the known current position + teleport_location = viewer_object->getPositionGlobal(); + } + gAgent.teleportViaLocationLookAt(teleport_location); + } +} + +void LLFloaterTopObjects::onSelectionChanged() +{ + getChildView("teleport_btn")->setEnabled(mObjectsScrollList->getNumSelected() == 1); +} diff --git a/indra/newview/llfloatertopobjects.h b/indra/newview/llfloatertopobjects.h index 3138249c7a..b73401e50d 100644 --- a/indra/newview/llfloatertopobjects.h +++ b/indra/newview/llfloatertopobjects.h @@ -30,6 +30,7 @@ #include "llfloater.h" class LLUICtrl; +class LLScrollListCtrl; // Bits for simulator performance query flags enum LAND_STAT_FLAGS @@ -75,6 +76,7 @@ private: void initColumns(LLCtrlListInterface *list); void onCommitObjectsList(); + void onSelectionChanged(); static void onDoubleClickObjectsList(void* data); void onClickShowBeacon(); @@ -90,6 +92,7 @@ private: void onGetByParcelName(); void showBeacon(); + void teleportToSelectedObject(); private: std::string mMethod; @@ -106,6 +109,7 @@ private: F32 mtotalScore; static LLFloaterTopObjects* sInstance; + LLScrollListCtrl* mObjectsScrollList; }; #endif diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp index 704abd269f..8f3ec8af05 100755 --- a/indra/newview/llfloaterworldmap.cpp +++ b/indra/newview/llfloaterworldmap.cpp @@ -124,8 +124,10 @@ public: // requires trusted browser to trigger LLWorldMapHandler() : LLCommandHandler("worldmap", UNTRUSTED_CLICK_ONLY ) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap")) { @@ -163,7 +165,10 @@ public: { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableWorldMap")) { diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 0c8e248538..03c1b6f631 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -741,6 +741,12 @@ void LLViewerParcelMgr::renderCollisionSegments(U8* segments, BOOL use_pass, LLV gGL.end(); } +void LLViewerParcelMgr::resetCollisionTimer() +{ + mCollisionTimer.reset(); + mRenderCollision = TRUE; +} + void draw_line_cube(F32 width, const LLVector3& center) { width = 0.5f * width; diff --git a/indra/newview/llgroupactions.cpp b/indra/newview/llgroupactions.cpp index be52e280e1..85b8ff0570 100644 --- a/indra/newview/llgroupactions.cpp +++ b/indra/newview/llgroupactions.cpp @@ -78,8 +78,10 @@ public: return true; } - bool handle(const LLSD& tokens, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& tokens, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (LLStartUp::getStartupState() < STATE_STARTED) { diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 67240ac7e7..145814ab41 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -213,8 +213,7 @@ bool contains_nocopy_items(const LLUUID& id) return false; } -// Generates a string containing the path to the item specified by -// item_id. +// Generates a string containing the path to the item specified by id. void append_path(const LLUUID& id, std::string& path) { std::string temp; @@ -234,6 +233,36 @@ void append_path(const LLUUID& id, std::string& path) path.append(temp); } +// Generates a string containing the path name of the object. +std::string make_path(const LLInventoryObject* object) +{ + std::string path; + append_path(object->getUUID(), path); + return path + "/" + object->getName(); +} + +// Generates a string containing the path name of the object specified by id. +std::string make_inventory_path(const LLUUID& id) +{ + if (LLInventoryObject* object = gInventory.getObject(id)) + return make_path(object); + return ""; +} + +// Generates a string containing the path name and id of the object. +std::string make_info(const LLInventoryObject* object) +{ + return "'" + make_path(object) + "' (" + object->getUUID().asString() + ")"; +} + +// Generates a string containing the path name and id of the object specified by id. +std::string make_inventory_info(const LLUUID& id) +{ + if (LLInventoryObject* object = gInventory.getObject(id)) + return make_info(object); + return "<Inventory object not found!> (" + id.asString() + ")"; +} + void update_marketplace_folder_hierarchy(const LLUUID cat_id) { // When changing the marketplace status of a folder, the only thing that needs to happen is @@ -1415,6 +1444,7 @@ bool move_item_to_marketplacelistings(LLInventoryItem* inv_item, LLUUID dest_fol if (copy) { // Copy the item + LL_INFOS("SLM") << "Copy item '" << make_info(viewer_inv_item) << "' to '" << make_inventory_path(dest_folder) << "'" << LL_ENDL; LLPointer<LLInventoryCallback> cb = new LLBoostFuncInventoryCallback(boost::bind(update_folder_cb, dest_folder)); copy_inventory_item( gAgent.getID(), @@ -1426,6 +1456,7 @@ bool move_item_to_marketplacelistings(LLInventoryItem* inv_item, LLUUID dest_fol } else { + LL_INFOS("SLM") << "Move item '" << make_info(viewer_inv_item) << "' to '" << make_inventory_path(dest_folder) << "'" << LL_ENDL; // Reparent the item gInventory.changeItemParent(viewer_inv_item, dest_folder, true); } @@ -1472,6 +1503,7 @@ bool move_folder_to_marketplacelistings(LLInventoryCategory* inv_cat, const LLUU } else { + LL_INFOS("SLM") << "Move category " << make_info(viewer_inv_cat) << " to '" << make_inventory_path(dest_folder) << "'" << LL_ENDL; // Reparent the folder gInventory.changeCategoryParent(viewer_inv_cat, dest_folder, false); // Check the destination folder recursively for no copy items and promote the including folders if any diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h index 56ad6f6496..8c8bd789c2 100644 --- a/indra/newview/llinventoryfunctions.h +++ b/indra/newview/llinventoryfunctions.h @@ -78,9 +78,19 @@ void copy_inventory_category(LLInventoryModel* model, LLViewerInventoryCategory* void copy_inventory_category_content(const LLUUID& new_cat_uuid, LLInventoryModel* model, LLViewerInventoryCategory* cat, const LLUUID& root_copy_id, bool move_no_copy_items); -// Generates a string containing the path to the item specified by item_id. +// Generates a string containing the path to the object specified by id (not including the object name). void append_path(const LLUUID& id, std::string& path); +// Generates a string containing the path name of the object. +std::string make_path(const LLInventoryObject* object); +// Generates a string containing the path name of the object specified by id. +std::string make_inventory_path(const LLUUID& id); + +// Generates a string containing the path name and id of the object. +std::string make_info(const LLInventoryObject* object); +// Generates a string containing the path name and id of the object specified by id. +std::string make_inventory_info(const LLUUID& id); + typedef boost::function<void(std::string& validation_message, S32 depth, LLError::ELevel log_level)> validation_callback_t; bool can_move_item_to_marketplace(const LLInventoryCategory* root_folder, LLInventoryCategory* dest_folder, LLInventoryItem* inv_item, std::string& tooltip_msg, S32 bundle_size = 1, bool from_paste = false); diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 0bbf201dc6..06050dc4a4 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -62,6 +62,7 @@ #include "bufferarray.h" #include "bufferstream.h" #include "llcorehttputil.h" +#include "hbxxh.h" //#define DIFF_INVENTORY_FILES #ifdef DIFF_INVENTORY_FILES @@ -451,17 +452,16 @@ void LLInventoryModel::getDirectDescendentsOf(const LLUUID& cat_id, items = get_ptr_in_map(mParentChildItemTree, cat_id); } -LLMD5 LLInventoryModel::hashDirectDescendentNames(const LLUUID& cat_id) const +LLInventoryModel::digest_t LLInventoryModel::hashDirectDescendentNames(const LLUUID& cat_id) const { LLInventoryModel::cat_array_t* cat_array; LLInventoryModel::item_array_t* item_array; getDirectDescendentsOf(cat_id,cat_array,item_array); - LLMD5 item_name_hash; if (!item_array) { - item_name_hash.finalize(); - return item_name_hash; + return LLUUID::null; } + HBXXH128 item_name_hash; for (LLInventoryModel::item_array_t::const_iterator iter = item_array->begin(); iter != item_array->end(); iter++) @@ -471,8 +471,7 @@ LLMD5 LLInventoryModel::hashDirectDescendentNames(const LLUUID& cat_id) const continue; item_name_hash.update(item->getName()); } - item_name_hash.finalize(); - return item_name_hash; + return item_name_hash.digest(); } // SJB: Added version to lock the arrays to catch potential logic bugs @@ -669,6 +668,7 @@ LLUUID LLInventoryModel::createNewCategory(const LLUUID& parent_id, const std::string& pname, inventory_func_type callback) { + LL_DEBUGS(LOG_INV) << "Create '" << pname << "' in '" << make_inventory_path(parent_id) << "'" << LL_ENDL; LLUUID id; if (!isInventoryUsable()) { @@ -760,6 +760,7 @@ LLUUID LLInventoryModel::createNewCategory(const LLUUID& parent_id, cat->packMessage(msg); gAgent.sendReliableMessage(); + LL_INFOS(LOG_INV) << "Created new category '" << make_inventory_path(id) << "'" << LL_ENDL; // return the folder id of the newly created folder return id; } @@ -1348,6 +1349,7 @@ void LLInventoryModel::moveObject(const LLUUID& object_id, const LLUUID& cat_id) LLPointer<LLViewerInventoryCategory> cat = getCategory(object_id); if(cat && (cat->getParentUUID() != cat_id)) { + LL_DEBUGS(LOG_INV) << "Move category '" << make_path(cat) << "' to '" << make_inventory_path(cat_id) << "'" << LL_ENDL; cat_array_t* cat_array; cat_array = getUnlockedCatArray(cat->getParentUUID()); if(cat_array) vector_replace_with_last(*cat_array, cat); @@ -1360,6 +1362,7 @@ void LLInventoryModel::moveObject(const LLUUID& object_id, const LLUUID& cat_id) LLPointer<LLViewerInventoryItem> item = getItem(object_id); if(item && (item->getParentUUID() != cat_id)) { + LL_DEBUGS(LOG_INV) << "Move item '" << make_path(item) << "' to '" << make_inventory_path(cat_id) << "'" << LL_ENDL; item_array_t* item_array; item_array = getUnlockedItemArray(item->getParentUUID()); if(item_array) vector_replace_with_last(*item_array, item); @@ -1378,14 +1381,14 @@ void LLInventoryModel::changeItemParent(LLViewerInventoryItem* item, { if (item->getParentUUID() == new_parent_id) { - LL_DEBUGS(LOG_INV) << "'" << item->getName() << "' (" << item->getUUID() - << ") is already in folder " << new_parent_id << LL_ENDL; + LL_DEBUGS(LOG_INV) << make_info(item) << " is already in folder " << make_inventory_info(new_parent_id) << LL_ENDL; } else { - LL_INFOS(LOG_INV) << "Moving '" << item->getName() << "' (" << item->getUUID() - << ") from " << item->getParentUUID() << " to folder " - << new_parent_id << LL_ENDL; + LL_INFOS(LOG_INV) << "Move item " << make_info(item) + << " from " << make_inventory_info(item->getParentUUID()) + << " to " << make_inventory_info(new_parent_id) << LL_ENDL; + LLInventoryModel::update_list_t update; LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(),-1); update.push_back(old_folder); @@ -1417,6 +1420,10 @@ void LLInventoryModel::changeCategoryParent(LLViewerInventoryCategory* cat, return; } + LL_INFOS(LOG_INV) << "Move category " << make_info(cat) + << " from " << make_inventory_info(cat->getParentUUID()) + << " to " << make_inventory_info(new_parent_id) << LL_ENDL; + LLInventoryModel::update_list_t update; LLInventoryModel::LLCategoryUpdate old_folder(cat->getParentUUID(), -1); update.push_back(old_folder); diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index 685c2c0fe5..6c5706f871 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -39,7 +39,6 @@ #include "llpermissionsflags.h" #include "llviewerinventory.h" #include "llstring.h" -#include "llmd5.h" #include "httpcommon.h" #include "httprequest.h" #include "httpoptions.h" @@ -257,8 +256,9 @@ public: cat_array_t*& categories, item_array_t*& items) const; + typedef LLUUID digest_t; // To clarify the actual usage of this "UUID" // Compute a hash of direct descendant names (for detecting child name changes) - LLMD5 hashDirectDescendentNames(const LLUUID& cat_id) const; + digest_t hashDirectDescendentNames(const LLUUID& cat_id) const; // Starting with the object specified, add its descendants to the // array provided, but do not add the inventory object specified diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp index 26d7a7a28a..db0751cb89 100644 --- a/indra/newview/llinventoryobserver.cpp +++ b/indra/newview/llinventoryobserver.cpp @@ -640,7 +640,7 @@ void LLInventoryCategoriesObserver::changed(U32 mask) // computed, or (b) a name has changed. if (!cat_data.mIsNameHashInitialized || (mask & LLInventoryObserver::LABEL)) { - LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); + digest_t item_name_hash = gInventory.hashDirectDescendentNames(cat_id); if (cat_data.mItemNameHash != item_name_hash) { cat_data.mIsNameHashInitialized = true; @@ -701,7 +701,7 @@ bool LLInventoryCategoriesObserver::addCategory(const LLUUID& cat_id, callback_t { if(init_name_hash) { - LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); + digest_t item_name_hash = gInventory.hashDirectDescendentNames(cat_id); mCategoryMap.insert(category_map_value_t(cat_id,LLCategoryData(cat_id, cb, version, current_num_known_descendents,item_name_hash))); } else @@ -727,11 +727,10 @@ LLInventoryCategoriesObserver::LLCategoryData::LLCategoryData( , mDescendentsCount(num_descendents) , mIsNameHashInitialized(false) { - mItemNameHash.finalize(); } LLInventoryCategoriesObserver::LLCategoryData::LLCategoryData( - const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents, LLMD5 name_hash) + const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents, const digest_t& name_hash) : mCatID(cat_id) , mCallback(cb) diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h index 36d8ee3f59..4af8102055 100644 --- a/indra/newview/llinventoryobserver.h +++ b/indra/newview/llinventoryobserver.h @@ -28,7 +28,6 @@ #define LL_LLINVENTORYOBSERVERS_H #include "lluuid.h" -#include "llmd5.h" #include <string> #include <vector> @@ -271,14 +270,15 @@ public: void removeCategory(const LLUUID& cat_id); protected: + typedef LLUUID digest_t; // To clarify the actual usage of this "UUID" struct LLCategoryData { LLCategoryData(const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents); - LLCategoryData(const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents, LLMD5 name_hash); + LLCategoryData(const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents, const digest_t& name_hash); callback_t mCallback; S32 mVersion; S32 mDescendentsCount; - LLMD5 mItemNameHash; + digest_t mItemNameHash; bool mIsNameHashInitialized; LLUUID mCatID; }; diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp index 31e76267e6..d790c6f95e 100644 --- a/indra/newview/lllandmarklist.cpp +++ b/indra/newview/lllandmarklist.cpp @@ -39,12 +39,6 @@ // Globals LLLandmarkList gLandmarkList; -// number is mostly arbitrary, but it should be below DEFAULT_QUEUE_SIZE pool size, -// which is 4096, to not overfill the pool if user has more than 4K of landmarks -// and it should leave some space for other potential simultaneous asset request -const S32 MAX_SIMULTANEOUS_REQUESTS = 512; - - //////////////////////////////////////////////////////////////////////////// // LLLandmarkList @@ -83,12 +77,6 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t loaded_callback_map_t::value_type vt(asset_uuid, cb); mLoadedCallbackMap.insert(vt); } - - if ( mWaitList.find(asset_uuid) != mWaitList.end() ) - { - // Landmark is sheduled for download, but not requested yet - return NULL; - } landmark_requested_list_t::iterator iter = mRequestedList.find(asset_uuid); if (iter != mRequestedList.end()) @@ -100,17 +88,6 @@ LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t } } - if (mRequestedList.size() > MAX_SIMULTANEOUS_REQUESTS) - { - // Workarounds for corutines pending list size limit: - // Postpone download till queue is emptier. - // Coroutines have own built in 'pending' list, but unfortunately - // it is too small compared to potential amount of landmarks - // or assets. - mWaitList.insert(asset_uuid); - return NULL; - } - mRequestedList[asset_uuid] = gFrameTimeSeconds; // Note that getAssetData can callback immediately and cleans mRequestedList @@ -197,33 +174,6 @@ void LLLandmarkList::processGetAssetReply( gLandmarkList.mRequestedList.erase(uuid); //mBadList effectively blocks any load, so no point keeping id in requests gLandmarkList.eraseCallbacks(uuid); } - - // getAssetData can fire callback immediately, causing - // a recursion which is suboptimal for very large wait list. - // 'scheduling' indicates that we are inside request and - // shouldn't be launching more requests. - static bool scheduling = false; - if (!scheduling && !gLandmarkList.mWaitList.empty()) - { - scheduling = true; - while (!gLandmarkList.mWaitList.empty() && gLandmarkList.mRequestedList.size() < MAX_SIMULTANEOUS_REQUESTS) - { - // start new download from wait list - landmark_uuid_list_t::iterator iter = gLandmarkList.mWaitList.begin(); - LLUUID asset_uuid = *iter; - gLandmarkList.mWaitList.erase(iter); - - // add to mRequestedList before calling getAssetData() - gLandmarkList.mRequestedList[asset_uuid] = gFrameTimeSeconds; - - // Note that getAssetData can callback immediately and cleans mRequestedList - gAssetStorage->getAssetData(asset_uuid, - LLAssetType::AT_LANDMARK, - LLLandmarkList::processGetAssetReply, - NULL); - } - scheduling = false; - } } BOOL LLLandmarkList::isAssetInLoadedCallbackMap(const LLUUID& asset_uuid) diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h index f5fa958204..b50332b215 100644 --- a/indra/newview/lllandmarklist.h +++ b/indra/newview/lllandmarklist.h @@ -72,7 +72,6 @@ protected: typedef std::set<LLUUID> landmark_uuid_list_t; landmark_uuid_list_t mBadList; - landmark_uuid_list_t mWaitList; typedef std::map<LLUUID,F32> landmark_requested_list_t; landmark_requested_list_t mRequestedList; diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp index 22cedf450e..92e341ce93 100644 --- a/indra/newview/llloginhandler.cpp +++ b/indra/newview/llloginhandler.cpp @@ -87,6 +87,7 @@ void LLLoginHandler::parse(const LLSD& queryMap) bool LLLoginHandler::handle(const LLSD& tokens, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web) { // do nothing if we are already logged in diff --git a/indra/newview/llloginhandler.h b/indra/newview/llloginhandler.h index 1f2eacd094..2579341dbf 100644 --- a/indra/newview/llloginhandler.h +++ b/indra/newview/llloginhandler.h @@ -35,7 +35,7 @@ class LLLoginHandler : public LLCommandHandler public: // allow from external browsers LLLoginHandler() : LLCommandHandler("login", UNTRUSTED_ALLOW) { } - /*virtual*/ bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web); + /*virtual*/ bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web); // Fill in our internal fields from a SLURL like // secondlife:///app/login?first=Bob&last=Dobbs diff --git a/indra/newview/llmaterialmgr.h b/indra/newview/llmaterialmgr.h index 843dc66fbc..8f1ec8584b 100644 --- a/indra/newview/llmaterialmgr.h +++ b/indra/newview/llmaterialmgr.h @@ -93,7 +93,11 @@ private: bool operator==(const TEMaterialPair& b) const { return (materialID == b.materialID) && (te == b.te); } }; - + + // definitions follow class + friend std::hash<TEMaterialPair>; + friend size_t hash_value(const TEMaterialPair&) noexcept; + friend inline bool operator<( const LLMaterialMgr::TEMaterialPair& lhs, const LLMaterialMgr::TEMaterialPair& rhs) @@ -102,13 +106,6 @@ private: (lhs.materialID < rhs.materialID); } - struct TEMaterialPairHasher - { - enum { bucket_size = 8 }; - size_t operator()(const TEMaterialPair& key_value) const { return *((size_t*)key_value.materialID.get()); } // cheesy, but effective - bool operator()(const TEMaterialPair& left, const TEMaterialPair& right) const { return left < right; } - }; - typedef std::set<LLMaterialID> material_queue_t; typedef std::map<LLUUID, material_queue_t> get_queue_t; typedef std::pair<const LLUUID, LLMaterialID> pending_material_t; @@ -116,7 +113,7 @@ private: typedef std::map<LLMaterialID, get_callback_t*> get_callback_map_t; - typedef boost::unordered_map<TEMaterialPair, get_callback_te_t*, TEMaterialPairHasher> get_callback_te_map_t; + typedef boost::unordered_map<TEMaterialPair, get_callback_te_t*> get_callback_te_map_t; typedef std::set<LLUUID> getall_queue_t; typedef std::map<LLUUID, F64> getall_pending_map_t; typedef std::map<LLUUID, getall_callback_t*> getall_callback_map_t; @@ -146,5 +143,23 @@ private: U32 getMaxEntries(const LLViewerRegion* regionp); }; +// std::hash implementation for TEMaterialPair +namespace std +{ + template<> struct hash<LLMaterialMgr::TEMaterialPair> + { + inline size_t operator()(const LLMaterialMgr::TEMaterialPair& p) const noexcept + { + return size_t((p.te + 1) * p.materialID.getDigest64()); + } + }; +} + +// For use with boost containers. +inline size_t hash_value(const LLMaterialMgr::TEMaterialPair& p) noexcept +{ + return size_t((p.te + 1) * p.materialID.getDigest64()); +} + #endif // LL_LLMATERIALMGR_H diff --git a/indra/newview/lloutfitobserver.cpp b/indra/newview/lloutfitobserver.cpp index 5bb69367aa..3ec5bcd9fc 100644 --- a/indra/newview/lloutfitobserver.cpp +++ b/indra/newview/lloutfitobserver.cpp @@ -34,7 +34,6 @@ LLOutfitObserver::LLOutfitObserver() : mCOFLastVersion(LLViewerInventoryCategory::VERSION_UNKNOWN) { - mItemNameHash.finalize(); gInventory.addObserver(this); } @@ -83,7 +82,7 @@ bool LLOutfitObserver::checkCOF() return false; bool cof_changed = false; - LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cof); + LLUUID item_name_hash = gInventory.hashDirectDescendentNames(cof); if (item_name_hash != mItemNameHash) { cof_changed = true; diff --git a/indra/newview/lloutfitobserver.h b/indra/newview/lloutfitobserver.h index 77041db68d..2f136d48e8 100644 --- a/indra/newview/lloutfitobserver.h +++ b/indra/newview/lloutfitobserver.h @@ -28,7 +28,6 @@ #define LL_OUTFITOBSERVER_H #include "llsingleton.h" -#include "llmd5.h" /** * Outfit observer facade that provides simple possibility to subscribe on @@ -78,7 +77,7 @@ protected: bool mLastOutfitDirtiness; - LLMD5 mItemNameHash; + LLUUID mItemNameHash; private: signal_t mBOFReplaced; diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 0103bf628a..1b4684d073 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -1665,7 +1665,7 @@ class LLMetricSystemHandler : public LLCommandHandler public: LLMetricSystemHandler() : LLCommandHandler("metricsystem", UNTRUSTED_CLICK_ONLY) { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { // change height units TRUE for meters and FALSE for feet BOOL new_value = (gSavedSettings.getBOOL("HeightUnits") == FALSE) ? TRUE : FALSE; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index b14fdbf38e..8f1e57e44c 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -97,7 +97,7 @@ class LLLoginLocationAutoHandler : public LLCommandHandler public: // don't allow from external browsers LLLoginLocationAutoHandler() : LLCommandHandler("location_login", UNTRUSTED_BLOCK) { } - bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP) { diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp index 0f00231643..1d5ed93c4d 100644 --- a/indra/newview/llpanelplaces.cpp +++ b/indra/newview/llpanelplaces.cpp @@ -91,8 +91,10 @@ class LLParcelHandler : public LLCommandHandler public: // requires trusted browser to trigger LLParcelHandler() : LLCommandHandler("parcel", UNTRUSTED_THROTTLE) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (params.size() < 2) { diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index 708ff26ced..79b7ed8216 100644 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -460,8 +460,10 @@ public: // requires trusted browser to trigger LLProfileHandler() : LLCommandHandler("profile", UNTRUSTED_THROTTLE) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (params.size() < 1) return false; std::string agent_name = params[0]; @@ -508,8 +510,10 @@ public: return false; } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (params.size() < 2) return false; LLUUID avatar_id; diff --git a/indra/newview/llpanelprofileclassifieds.cpp b/indra/newview/llpanelprofileclassifieds.cpp index 1ff12b4f37..dec6cfd83b 100644 --- a/indra/newview/llpanelprofileclassifieds.cpp +++ b/indra/newview/llpanelprofileclassifieds.cpp @@ -106,7 +106,7 @@ public: return true; } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (LLStartUp::getStartupState() < STATE_STARTED) { diff --git a/indra/newview/llpanelprofilepicks.cpp b/indra/newview/llpanelprofilepicks.cpp index 45d0252e4f..274d42f7eb 100644 --- a/indra/newview/llpanelprofilepicks.cpp +++ b/indra/newview/llpanelprofilepicks.cpp @@ -87,8 +87,10 @@ public: return true; } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (LLStartUp::getStartupState() < STATE_STARTED) { diff --git a/indra/newview/llpathfindingnavmesh.cpp b/indra/newview/llpathfindingnavmesh.cpp index 0287c07f96..c297cac771 100644 --- a/indra/newview/llpathfindingnavmesh.cpp +++ b/indra/newview/llpathfindingnavmesh.cpp @@ -143,7 +143,7 @@ void LLPathfindingNavMesh::handleNavMeshResult(const LLSD &pContent, U32 pNavMes unsigned int binSize = value.size(); std::string newStr(reinterpret_cast<const char *>(&value[0]), binSize); std::istringstream streamdecomp( newStr ); - unsigned int decompBinSize = 0; + size_t decompBinSize = 0; bool valid = false; U8* pUncompressedNavMeshContainer = unzip_llsdNavMesh( valid, decompBinSize, streamdecomp, binSize ) ; if ( !valid ) diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp index 33656566d1..095d5a0a1e 100644 --- a/indra/newview/llpreviewnotecard.cpp +++ b/indra/newview/llpreviewnotecard.cpp @@ -39,7 +39,9 @@ #include "llinventorydefines.h" #include "llinventorymodel.h" #include "lllineeditor.h" +#include "llmd5.h" #include "llnotificationsutil.h" +#include "llmd5.h" #include "llresmgr.h" #include "roles_constants.h" #include "llscrollbar.h" diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index d677a996c1..23c6cc01f5 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -40,6 +40,7 @@ #include "llinventorymodel.h" #include "llkeyboard.h" #include "lllineeditor.h" +#include "llmd5.h" #include "llhelp.h" #include "llnotificationsutil.h" #include "llresmgr.h" diff --git a/indra/newview/llshareavatarhandler.cpp b/indra/newview/llshareavatarhandler.cpp index 142e00c3f7..8c5ebb75ef 100644 --- a/indra/newview/llshareavatarhandler.cpp +++ b/indra/newview/llshareavatarhandler.cpp @@ -38,7 +38,7 @@ public: { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableAvatarShare")) { diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index bcb57d2237..221912a029 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -661,9 +661,22 @@ bool idle_startup() #else void* window_handle = NULL; #endif - bool init = gAudiop->init(window_handle, LLAppViewer::instance()->getSecondLifeTitle()); - if(init) + if (gAudiop->init(window_handle, LLAppViewer::instance()->getSecondLifeTitle())) { + if (FALSE == gSavedSettings.getBOOL("UseMediaPluginsForStreamingAudio")) + { + LL_INFOS("AppInit") << "Using default impl to render streaming audio" << LL_ENDL; + gAudiop->setStreamingAudioImpl(gAudiop->createDefaultStreamingAudioImpl()); + } + + // if the audio engine hasn't set up its own preferred handler for streaming audio + // then set up the generic streaming audio implementation which uses media plugins + if (NULL == gAudiop->getStreamingAudioImpl()) + { + LL_INFOS("AppInit") << "Using media plugins to render streaming audio" << LL_ENDL; + gAudiop->setStreamingAudioImpl(new LLStreamingAudio_MediaPlugins()); + } + gAudiop->setMuted(TRUE); } else @@ -672,16 +685,6 @@ bool idle_startup() delete gAudiop; gAudiop = NULL; } - - if (gAudiop) - { - // if the audio engine hasn't set up its own preferred handler for streaming audio then set up the generic streaming audio implementation which uses media plugins - if (NULL == gAudiop->getStreamingAudioImpl()) - { - LL_INFOS("AppInit") << "Using media plugins to render streaming audio" << LL_ENDL; - gAudiop->setStreamingAudioImpl(new LLStreamingAudio_MediaPlugins()); - } - } } } diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 0a87b14e17..1ef5d1c50b 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -729,7 +729,7 @@ class LLBalanceHandler : public LLCommandHandler public: // Requires "trusted" browser/URL source LLBalanceHandler() : LLCommandHandler("balance", UNTRUSTED_BLOCK) { } - bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& tokens, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (tokens.size() == 1 && tokens[0].asString() == "request") diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index af89b4b53b..5c6f7254f2 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -859,12 +859,12 @@ LLTextureCache::~LLTextureCache() ////////////////////////////////////////////////////////////////////////////// //virtual -S32 LLTextureCache::update(F32 max_time_ms) +size_t LLTextureCache::update(F32 max_time_ms) { static LLFrameTimer timer ; static const F32 MAX_TIME_INTERVAL = 300.f ; //seconds. - S32 res; + size_t res; res = LLWorkerThread::update(max_time_ms); mListMutex.lock(); diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index e1c752b58e..b6ace467c7 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -113,7 +113,7 @@ public: LLTextureCache(bool threaded); ~LLTextureCache(); - /*virtual*/ S32 update(F32 max_time_ms); + /*virtual*/ size_t update(F32 max_time_ms); void purgeCache(ELLPath location, bool remove_dir = true); void setReadOnly(BOOL read_only) ; diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index a7dcb1a9bb..6f6ca2be9b 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -2879,9 +2879,9 @@ bool LLTextureFetch::updateRequestPriority(const LLUUID& id, F32 priority) // Threads: T* //virtual -S32 LLTextureFetch::getPending() +size_t LLTextureFetch::getPending() { - S32 res; + size_t res; lockData(); // +Ct { LLMutexLock lock(&mQueueMutex); // +Mfq @@ -2956,7 +2956,7 @@ void LLTextureFetch::commonUpdate() // Threads: Tmain //virtual -S32 LLTextureFetch::update(F32 max_time_ms) +size_t LLTextureFetch::update(F32 max_time_ms) { static LLCachedControl<F32> band_width(gSavedSettings,"ThrottleBandwidthKBPS", 3000.0); @@ -2970,7 +2970,7 @@ S32 LLTextureFetch::update(F32 max_time_ms) mNetworkQueueMutex.unlock(); // -Mfnq } - S32 res = LLWorkerThread::update(max_time_ms); + size_t res = LLWorkerThread::update(max_time_ms); if (!mThreaded) { diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index d087db275b..611a7d6419 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -65,7 +65,7 @@ public: class TFRequest; // Threads: Tmain - /*virtual*/ S32 update(F32 max_time_ms); + /*virtual*/ size_t update(F32 max_time_ms); // called in the main thread after the TextureCacheThread shuts down. // Threads: Tmain @@ -131,7 +131,7 @@ public: U32 getTotalNumHTTPRequests(); // Threads: T* - S32 getPending(); + size_t getPending(); // Threads: T* void lockQueue() { mQueueMutex.lock(); } diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp index 7c92e7ef98..6fc870f890 100644 --- a/indra/newview/llurldispatcher.cpp +++ b/indra/newview/llurldispatcher.cpp @@ -97,6 +97,8 @@ private: // Called by LLWorldMap when a region name has been resolved to a // location in-world, used by places-panel display. + static bool handleGrid(const LLSLURL& slurl); + friend class LLTeleportHandler; }; @@ -155,7 +157,7 @@ bool LLURLDispatcherImpl::dispatchApp(const LLSLURL& slurl, LL_INFOS() << "cmd: " << slurl.getAppCmd() << " path: " << slurl.getAppPath() << " query: " << slurl.getAppQuery() << LL_ENDL; const LLSD& query_map = LLURI::queryMap(slurl.getAppQuery()); bool handled = LLCommandDispatcher::dispatch( - slurl.getAppCmd(), slurl.getAppPath(), query_map, web, nav_type, trusted_browser); + slurl.getAppCmd(), slurl.getAppPath(), query_map, slurl.getGrid(), web, nav_type, trusted_browser); // alert if we didn't handle this secondlife:///app/ SLURL // (but still return true because it is a valid app SLURL) @@ -184,6 +186,11 @@ bool LLURLDispatcherImpl::dispatchRegion(const LLSLURL& slurl, const std::string return true; } + if (!handleGrid(slurl)) + { + return true; + } + // Request a region handle by name LLWorldMapMessage::getInstance()->sendNamedRegionRequest(slurl.getRegion(), LLURLDispatcherImpl::regionNameCallback, @@ -202,31 +209,39 @@ void LLURLDispatcherImpl::regionNameCallback(U64 region_handle, const LLSLURL& s } } +bool LLURLDispatcherImpl::handleGrid(const LLSLURL& slurl) +{ + if (LLGridManager::getInstance()->getGrid(slurl.getGrid()) + != LLGridManager::getInstance()->getGrid()) + { + LLSD args; + args["SLURL"] = slurl.getLocationString(); + args["CURRENT_GRID"] = LLGridManager::getInstance()->getGridLabel(); + std::string grid_label = + LLGridManager::getInstance()->getGridLabel(slurl.getGrid()); + + if (!grid_label.empty()) + { + args["GRID"] = grid_label; + } + else + { + args["GRID"] = slurl.getGrid(); + } + LLNotificationsUtil::add("CantTeleportToGrid", args); + return false; + } + return true; +} + /* static */ void LLURLDispatcherImpl::regionHandleCallback(U64 region_handle, const LLSLURL& slurl, const LLUUID& snapshot_id, bool teleport) { - - // we can't teleport cross grid at this point - if( LLGridManager::getInstance()->getGrid(slurl.getGrid()) - != LLGridManager::getInstance()->getGrid()) - { - LLSD args; - args["SLURL"] = slurl.getLocationString(); - args["CURRENT_GRID"] = LLGridManager::getInstance()->getGridLabel(); - std::string grid_label = - LLGridManager::getInstance()->getGridLabel(slurl.getGrid()); - - if(!grid_label.empty()) - { - args["GRID"] = grid_label; - } - else - { - args["GRID"] = slurl.getGrid(); - } - LLNotificationsUtil::add("CantTeleportToGrid", args); - return; - } + if (!handleGrid(slurl)) + { + // we can't teleport cross grid at this point + return; + } LLVector3d global_pos = from_region_handle(region_handle); global_pos += LLVector3d(slurl.getPosition()); @@ -274,8 +289,10 @@ public: &LLTeleportHandler::from_event); } - bool handle(const LLSD& tokens, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& tokens, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { // construct a "normal" SLURL, resolve the region to // a global position, and teleport to it @@ -297,7 +314,7 @@ public: LLSD payload; payload["region_name"] = region_name; - payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString(); + payload["callback_url"] = LLSLURL(grid, region_name, coords).getSLURLString(); LLNotificationsUtil::add("TeleportViaSLAPP", args, payload); return true; diff --git a/indra/newview/llviewerassetstorage.cpp b/indra/newview/llviewerassetstorage.cpp index 70065cb5a0..aa9ff012c3 100644 --- a/indra/newview/llviewerassetstorage.cpp +++ b/indra/newview/llviewerassetstorage.cpp @@ -134,14 +134,6 @@ LLViewerAssetStorage::~LLViewerAssetStorage() // This class has dedicated coroutine pool, clean it up, otherwise coroutines will crash later. LLCoprocedureManager::instance().close(VIEWER_ASSET_STORAGE_CORO_POOL); } - - while (mCoroWaitList.size() > 0) - { - CoroWaitList &request = mCoroWaitList.front(); - // Clean up pending downloads, delete request and trigger callbacks - removeAndCallbackPendingDownloads(request.mId, request.mType, request.mId, request.mType, LL_ERR_NOERR, LLExtStat::NONE); - mCoroWaitList.pop_front(); - } } // virtual @@ -346,28 +338,6 @@ void LLViewerAssetStorage::storeAssetData( } } -void LLViewerAssetStorage::checkForTimeouts() -{ - LLAssetStorage::checkForTimeouts(); - - // Restore requests - LLCoprocedureManager* manager = LLCoprocedureManager::getInstance(); - while (mCoroWaitList.size() > 0 - && manager->count(VIEWER_ASSET_STORAGE_CORO_POOL) < (LLCoprocedureManager::DEFAULT_QUEUE_SIZE - 1)) - { - CoroWaitList &request = mCoroWaitList.front(); - - bool with_http = true; - bool is_temp = false; - LLViewerAssetStatsFF::record_enqueue(request.mType, with_http, is_temp); - - manager->enqueueCoprocedure(VIEWER_ASSET_STORAGE_CORO_POOL, "LLViewerAssetStorage::assetRequestCoro", - boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, request.mRequest, request.mId, request.mType, request.mCallback, request.mUserData)); - - mCoroWaitList.pop_front(); - } -} - /** * @brief Allocate and queue an asset fetch request for the viewer * @@ -424,21 +394,18 @@ void LLViewerAssetStorage::queueRequestHttp( // This is the same as the current UDP logic - don't re-request a duplicate. if (!duplicate) { - // Coroutine buffer has fixed size (synchronization buffer, so we have no alternatives), so buffer any request above limit LLCoprocedureManager* manager = LLCoprocedureManager::getInstance(); - if (manager->count(VIEWER_ASSET_STORAGE_CORO_POOL) < (LLCoprocedureManager::DEFAULT_QUEUE_SIZE - 1)) - { - bool with_http = true; - bool is_temp = false; - LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp); - - manager->enqueueCoprocedure(VIEWER_ASSET_STORAGE_CORO_POOL, "LLViewerAssetStorage::assetRequestCoro", - boost::bind(&LLViewerAssetStorage::assetRequestCoro, this, req, uuid, atype, callback, user_data)); - } - else - { - mCoroWaitList.emplace_back(req, uuid, atype, callback, user_data); - } + bool with_http = true; + bool is_temp = false; + LLViewerAssetStatsFF::record_enqueue(atype, with_http, is_temp); + manager->enqueueCoprocedure( + VIEWER_ASSET_STORAGE_CORO_POOL, + "LLViewerAssetStorage::assetRequestCoro", + [this, req, uuid, atype, callback, user_data] + (LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t&, const LLUUID&) + { + assetRequestCoro(req, uuid, atype, callback, user_data); + }); } } diff --git a/indra/newview/llviewerassetstorage.h b/indra/newview/llviewerassetstorage.h index 0965a17ce1..c3719d0918 100644 --- a/indra/newview/llviewerassetstorage.h +++ b/indra/newview/llviewerassetstorage.h @@ -65,8 +65,6 @@ public: bool user_waiting=FALSE, F64Seconds timeout=LL_ASSET_STORAGE_TIMEOUT) override; - void checkForTimeouts() override; - protected: void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, @@ -118,8 +116,6 @@ protected: LLGetAssetCallback mCallback; void *mUserData; }; - typedef std::list<CoroWaitList> wait_list_t; - wait_list_t mCoroWaitList; std::string mViewerAssetUrl; S32 mCountRequests; diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp index cc73f7ca80..6a0edbecb1 100644 --- a/indra/newview/llvieweraudio.cpp +++ b/indra/newview/llvieweraudio.cpp @@ -91,17 +91,18 @@ void LLViewerAudio::startInternetStreamWithAutoFade(const std::string &streamURI return; } - // Record the URI we are going to be switching to + if (!gAudiop) + { + LL_WARNS("AudioEngine") << "LLAudioEngine instance doesn't exist!" << LL_ENDL; + return; + } + + // Record the URI we are going to be switching to mNextStreamURI = streamURI; switch (mFadeState) { case FADE_IDLE: - if (!gAudiop) - { - LL_WARNS("AudioEngine") << "LLAudioEngine instance doesn't exist!" << LL_ENDL; - break; - } // If a stream is playing fade it out first if (!gAudiop->getInternetStreamURL().empty()) { @@ -114,28 +115,28 @@ void LLViewerAudio::startInternetStreamWithAutoFade(const std::string &streamURI mFadeState = FADE_IN; LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl(); - if(stream && stream->supportsAdjustableBufferSizes()) - stream->setBufferSizes(gSavedSettings.getU32("FMODExStreamBufferSize"),gSavedSettings.getU32("FMODExDecodeBufferSize")); + if (stream && stream->supportsAdjustableBufferSizes()) + stream->setBufferSizes(gSavedSettings.getU32("FMODExStreamBufferSize"), gSavedSettings.getU32("FMODExDecodeBufferSize")); gAudiop->startInternetStream(mNextStreamURI); - startFading(); - registerIdleListener(); - break; } + startFading(); + break; + case FADE_OUT: startFading(); - registerIdleListener(); break; case FADE_IN: - registerIdleListener(); break; default: LL_WARNS() << "Unknown fading state: " << mFadeState << LL_ENDL; - break; + return; } + + registerIdleListener(); } // A return of false from onIdleUpdate means it will be called again next idle update. @@ -236,15 +237,12 @@ void LLViewerAudio::startFading() // This minimum fade time prevents divide by zero and negative times const F32 AUDIO_MUSIC_MINIMUM_FADE_TIME = 0.01f; - if(mDone) + if (mDone) { // The fade state here should only be one of FADE_IN or FADE_OUT, but, in case it is not, // rather than check for both states assume a fade in and check for the fade out case. - mFadeTime = AUDIO_MUSIC_FADE_IN_TIME; - if (LLViewerAudio::getInstance()->getFadeState() == LLViewerAudio::FADE_OUT) - { - mFadeTime = AUDIO_MUSIC_FADE_OUT_TIME; - } + mFadeTime = LLViewerAudio::getInstance()->getFadeState() == LLViewerAudio::FADE_OUT ? + AUDIO_MUSIC_FADE_OUT_TIME : AUDIO_MUSIC_FADE_IN_TIME; // Prevent invalid fade time mFadeTime = llmax(mFadeTime, AUDIO_MUSIC_MINIMUM_FADE_TIME); diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index a1773ae8d5..b40cf4acec 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -237,6 +237,148 @@ void display_stats() } } +static void update_tp_display(bool minimized) +{ + static LLCachedControl<F32> teleport_arrival_delay(gSavedSettings, "TeleportArrivalDelay"); + static LLCachedControl<F32> teleport_local_delay(gSavedSettings, "TeleportLocalDelay"); + + S32 attach_count = 0; + if (isAgentAvatarValid()) + { + attach_count = gAgentAvatarp->getAttachmentCount(); + } + F32 teleport_save_time = TELEPORT_EXPIRY + TELEPORT_EXPIRY_PER_ATTACHMENT * attach_count; + F32 teleport_elapsed = gTeleportDisplayTimer.getElapsedTimeF32(); + F32 teleport_percent = teleport_elapsed * (100.f / teleport_save_time); + if (gAgent.getTeleportState() != LLAgent::TELEPORT_START && teleport_percent > 100.f) + { + // Give up. Don't keep the UI locked forever. + LL_WARNS("Teleport") << "Giving up on teleport. elapsed time " << teleport_elapsed << " exceeds max time " << teleport_save_time << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + gAgent.setTeleportMessage(std::string()); + } + + // Make sure the TP progress panel gets hidden in case the viewer window + // is minimized *during* a TP. HB + if (minimized) + { + gViewerWindow->setShowProgress(FALSE); + } + + const std::string& message = gAgent.getTeleportMessage(); + switch (gAgent.getTeleportState()) + { + case LLAgent::TELEPORT_PENDING: + { + gTeleportDisplayTimer.reset(); + const std::string& msg = LLAgent::sTeleportProgressMessages["pending"]; + if (!minimized) + { + gViewerWindow->setShowProgress(TRUE); + gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); + gViewerWindow->setProgressString(msg); + } + gAgent.setTeleportMessage(msg); + break; + } + + case LLAgent::TELEPORT_START: + { + // Transition to REQUESTED. Viewer has sent some kind + // of TeleportRequest to the source simulator + gTeleportDisplayTimer.reset(); + const std::string& msg = LLAgent::sTeleportProgressMessages["requesting"]; + LL_INFOS("Teleport") << "A teleport request has been sent, setting state to TELEPORT_REQUESTED" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_REQUESTED); + gAgent.setTeleportMessage(msg); + if (!minimized) + { + gViewerWindow->setShowProgress(TRUE); + gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); + gViewerWindow->setProgressString(msg); + gViewerWindow->setProgressMessage(gAgent.mMOTD); + } + break; + } + + case LLAgent::TELEPORT_REQUESTED: + // Waiting for source simulator to respond + if (!minimized) + { + gViewerWindow->setProgressPercent(llmin(teleport_percent, 37.5f)); + gViewerWindow->setProgressString(message); + } + break; + + case LLAgent::TELEPORT_MOVING: + // Viewer has received destination location from source simulator + if (!minimized) + { + gViewerWindow->setProgressPercent(llmin(teleport_percent, 75.f)); + gViewerWindow->setProgressString(message); + } + break; + + case LLAgent::TELEPORT_START_ARRIVAL: + // Transition to ARRIVING. Viewer has received avatar update, etc., + // from destination simulator + gTeleportArrivalTimer.reset(); + LL_INFOS("Teleport") << "Changing state to TELEPORT_ARRIVING" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_ARRIVING); + gAgent.setTeleportMessage(LLAgent::sTeleportProgressMessages["arriving"]); + gAgent.sheduleTeleportIM(); + gTextureList.mForceResetTextureStats = TRUE; + gAgentCamera.resetView(TRUE, TRUE); + if (!minimized) + { + gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); + gViewerWindow->setProgressPercent(75.f); + } + break; + + case LLAgent::TELEPORT_ARRIVING: + // Make the user wait while content "pre-caches" + { + F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay()); + if (arrival_fraction > 1.f) + { + arrival_fraction = 1.f; + //LLFirstUse::useTeleport(); + LL_INFOS("Teleport") << "arrival_fraction is " << arrival_fraction << " changing state to TELEPORT_NONE" << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + } + if (!minimized) + { + gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); + gViewerWindow->setProgressPercent(arrival_fraction * 25.f + 75.f); + gViewerWindow->setProgressString(message); + } + break; + } + + case LLAgent::TELEPORT_LOCAL: + // Short delay when teleporting in the same sim (progress screen active but not shown - did not + // fall-through from TELEPORT_START) + { + if (gTeleportDisplayTimer.getElapsedTimeF32() > teleport_local_delay()) + { + //LLFirstUse::useTeleport(); + LL_INFOS("Teleport") << "State is local and gTeleportDisplayTimer " << gTeleportDisplayTimer.getElapsedTimeF32() + << " exceeds teleport_local_delete " << teleport_local_delay + << "; setting state to TELEPORT_NONE" + << LL_ENDL; + gAgent.setTeleportState(LLAgent::TELEPORT_NONE); + } + break; + } + + case LLAgent::TELEPORT_NONE: + // No teleport in progress + gViewerWindow->setShowProgress(FALSE); + gTeleportDisplay = FALSE; + } +} + static LLTrace::BlockTimerStatHandle FTM_PICK("Picking"); static LLTrace::BlockTimerStatHandle FTM_RENDER("Render"); static LLTrace::BlockTimerStatHandle FTM_RENDER_HUD("Render HUD"); @@ -328,6 +470,15 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) stop_glerror(); gViewerWindow->returnEmptyPicks(); stop_glerror(); + + // We still need to update the teleport progress (to get changes done + // in TP states, else the sim does not get the messages signaling the + // agent's arrival). This fixes BUG-230616. HB + if (gTeleportDisplay) + { + // true = minimized, do not show/update the TP screen. HB + update_tp_display(true); + } return; } @@ -415,116 +566,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) { LL_RECORD_BLOCK_TIME(FTM_TELEPORT_DISPLAY); LLAppViewer::instance()->pingMainloopTimeout("Display:Teleport"); - static LLCachedControl<F32> teleport_arrival_delay(gSavedSettings, "TeleportArrivalDelay"); - static LLCachedControl<F32> teleport_local_delay(gSavedSettings, "TeleportLocalDelay"); - - S32 attach_count = 0; - if (isAgentAvatarValid()) - { - attach_count = gAgentAvatarp->getAttachmentCount(); - } - F32 teleport_save_time = TELEPORT_EXPIRY + TELEPORT_EXPIRY_PER_ATTACHMENT * attach_count; - F32 teleport_elapsed = gTeleportDisplayTimer.getElapsedTimeF32(); - F32 teleport_percent = teleport_elapsed * (100.f / teleport_save_time); - if( (gAgent.getTeleportState() != LLAgent::TELEPORT_START) && (teleport_percent > 100.f) ) - { - // Give up. Don't keep the UI locked forever. - LL_WARNS("Teleport") << "Giving up on teleport. elapsed time " << teleport_elapsed << " exceeds max time " << teleport_save_time << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - gAgent.setTeleportMessage(std::string()); - } - - const std::string& message = gAgent.getTeleportMessage(); - switch( gAgent.getTeleportState() ) - { - case LLAgent::TELEPORT_PENDING: - gTeleportDisplayTimer.reset(); - gViewerWindow->setShowProgress(TRUE); - gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); - gAgent.setTeleportMessage(LLAgent::sTeleportProgressMessages["pending"]); - gViewerWindow->setProgressString(LLAgent::sTeleportProgressMessages["pending"]); - break; - - case LLAgent::TELEPORT_START: - // Transition to REQUESTED. Viewer has sent some kind - // of TeleportRequest to the source simulator - gTeleportDisplayTimer.reset(); - gViewerWindow->setShowProgress(TRUE); - gViewerWindow->setProgressPercent(llmin(teleport_percent, 0.0f)); - LL_INFOS("Teleport") << "A teleport request has been sent, setting state to TELEPORT_REQUESTED" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_REQUESTED ); - gAgent.setTeleportMessage( - LLAgent::sTeleportProgressMessages["requesting"]); - gViewerWindow->setProgressString(LLAgent::sTeleportProgressMessages["requesting"]); - gViewerWindow->setProgressMessage(gAgent.mMOTD); - break; - - case LLAgent::TELEPORT_REQUESTED: - // Waiting for source simulator to respond - gViewerWindow->setProgressPercent( llmin(teleport_percent, 37.5f) ); - gViewerWindow->setProgressString(message); - break; - - case LLAgent::TELEPORT_MOVING: - // Viewer has received destination location from source simulator - gViewerWindow->setProgressPercent( llmin(teleport_percent, 75.f) ); - gViewerWindow->setProgressString(message); - break; - - case LLAgent::TELEPORT_START_ARRIVAL: - // Transition to ARRIVING. Viewer has received avatar update, etc., from destination simulator - gTeleportArrivalTimer.reset(); - gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); - gViewerWindow->setProgressPercent(75.f); - LL_INFOS("Teleport") << "Changing state to TELEPORT_ARRIVING" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_ARRIVING ); - gAgent.setTeleportMessage( - LLAgent::sTeleportProgressMessages["arriving"]); - gAgent.sheduleTeleportIM(); - gTextureList.mForceResetTextureStats = TRUE; - gAgentCamera.resetView(TRUE, TRUE); - - break; - - case LLAgent::TELEPORT_ARRIVING: - // Make the user wait while content "pre-caches" - { - F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay()); - if( arrival_fraction > 1.f ) - { - arrival_fraction = 1.f; - //LLFirstUse::useTeleport(); - LL_INFOS("Teleport") << "arrival_fraction is " << arrival_fraction << " changing state to TELEPORT_NONE" << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - } - gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel")); - gViewerWindow->setProgressPercent( arrival_fraction * 25.f + 75.f); - gViewerWindow->setProgressString(message); - } - break; - - case LLAgent::TELEPORT_LOCAL: - // Short delay when teleporting in the same sim (progress screen active but not shown - did not - // fall-through from TELEPORT_START) - { - if( gTeleportDisplayTimer.getElapsedTimeF32() > teleport_local_delay() ) - { - //LLFirstUse::useTeleport(); - LL_INFOS("Teleport") << "State is local and gTeleportDisplayTimer " << gTeleportDisplayTimer.getElapsedTimeF32() - << " exceeds teleport_local_delete " << teleport_local_delay - << "; setting state to TELEPORT_NONE" - << LL_ENDL; - gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); - } - } - break; - - case LLAgent::TELEPORT_NONE: - // No teleport in progress - gViewerWindow->setShowProgress(FALSE); - gTeleportDisplay = FALSE; - break; - } + // Note: false = not minimized, do update the TP screen. HB + update_tp_display(false); } else if(LLAppViewer::instance()->logoutRequestSent()) { diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 92c862d530..0f2fe1e1cd 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -272,6 +272,7 @@ public: bool handle( const LLSD& params, const LLSD& query_map, + const std::string& grid, LLMediaCtrl* web) override { if (params.size() != 1) diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 04c2e27c9d..b03942db9f 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -45,7 +45,7 @@ public: // requests will be throttled from a non-trusted browser LLHelpHandler() : LLCommandHandler("help", UNTRUSTED_THROTTLE) {} - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { LLViewerHelp* vhelp = LLViewerHelp::getInstance(); if (! vhelp) diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 50252556de..793eb56734 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -234,8 +234,10 @@ public: // requires trusted browser to trigger LLInventoryHandler() : LLCommandHandler("inventory", UNTRUSTED_CLICK_ONLY) { } - bool handle(const LLSD& params, const LLSD& query_map, - LLMediaCtrl* web) + bool handle(const LLSD& params, + const LLSD& query_map, + const std::string& grid, + LLMediaCtrl* web) { if (params.size() < 1) { diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 998f5c020e..5b82fb5030 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -9062,6 +9062,25 @@ class LLWorldPostProcess : public view_listener_t } }; +class LLWorldCheckBanLines : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + S32 callback_data = userdata.asInteger(); + return gSavedSettings.getS32("ShowBanLines") == callback_data; + } +}; + +class LLWorldShowBanLines : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + S32 callback_data = userdata.asInteger(); + gSavedSettings.setS32("ShowBanLines", callback_data); + return true; + } +}; + void handle_flush_name_caches() { if (gCacheName) gCacheName->clear(); @@ -9351,6 +9370,8 @@ void initialize_menus() view_listener_t::addMenu(new LLWorldEnvPreset(), "World.EnvPreset"); view_listener_t::addMenu(new LLWorldEnableEnvPreset(), "World.EnableEnvPreset"); view_listener_t::addMenu(new LLWorldPostProcess(), "World.PostProcess"); + view_listener_t::addMenu(new LLWorldCheckBanLines() , "World.CheckBanLines"); + view_listener_t::addMenu(new LLWorldShowBanLines() , "World.ShowBanLines"); // Tools menu view_listener_t::addMenu(new LLToolsSelectTool(), "Tools.SelectTool"); diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index fdf1d04c09..27fe7a7018 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -123,7 +123,10 @@ std::queue<LLFilePickerThread*> LLFilePickerThread::sDeadQ; void LLFilePickerThread::getFile() { #if LL_WINDOWS + // Todo: get rid of LLFilePickerThread and make this modeless start(); +#elif LL_DARWIN + runModeless(); #else run(); #endif @@ -166,7 +169,82 @@ void LLFilePickerThread::run() LLMutexLock lock(sMutex); sDeadQ.push(this); } +} + +void LLFilePickerThread::runModeless() +{ + BOOL result = FALSE; + LLFilePicker picker; + + if (mIsSaveDialog) + { + result = picker.getSaveFileModeless(mSaveFilter, + mProposedName, + modelessStringCallback, + this); + } + else if (mIsGetMultiple) + { + result = picker.getMultipleOpenFilesModeless(mLoadFilter, modelessVectorCallback, this); + } + else + { + result = picker.getOpenFileModeless(mLoadFilter, modelessVectorCallback, this); + } + + if (!result) + { + LLMutexLock lock(sMutex); + sDeadQ.push(this); + } +} +void LLFilePickerThread::modelessStringCallback(bool success, + std::string &response, + void *user_data) +{ + LLFilePickerThread *picker = (LLFilePickerThread*)user_data; + if (success) + { + picker->mResponses.push_back(response); + } + + { + LLMutexLock lock(sMutex); + sDeadQ.push(picker); + } +} + +void LLFilePickerThread::modelessVectorCallback(bool success, + std::vector<std::string> &responses, + void *user_data) +{ + LLFilePickerThread *picker = (LLFilePickerThread*)user_data; + if (success) + { + if (picker->mIsGetMultiple) + { + picker->mResponses = responses; + } + else + { + std::vector<std::string>::iterator iter = responses.begin(); + while (iter != responses.end()) + { + if (!iter->empty()) + { + picker->mResponses.push_back(*iter); + break; + } + iter++; + } + } + } + + { + LLMutexLock lock(sMutex); + sDeadQ.push(picker); + } } //static diff --git a/indra/newview/llviewermenufile.h b/indra/newview/llviewermenufile.h index beeac418d9..61572b9996 100644 --- a/indra/newview/llviewermenufile.h +++ b/indra/newview/llviewermenufile.h @@ -105,6 +105,9 @@ public: void getFile(); virtual void run(); + void runModeless(); + static void modelessStringCallback(bool success, std::string &response, void *user_data); + static void modelessVectorCallback(bool success, std::vector<std::string> &responses, void *user_data); virtual void notify(const std::vector<std::string>& filenames) = 0; }; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index c1a9b6be80..a60f11d97b 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5151,6 +5151,11 @@ bool attempt_standard_notification(LLMessageSystem* msgsystem) LandBuyAccessBlocked_AdultsOnlyContent -----------------------------------------------------------------------*/ + static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION); + if (ban_lines_mode == LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION) + { + LLViewerParcelMgr::getInstance()->resetCollisionTimer(); + } if (handle_special_notification(notificationID, llsdBlock)) { return true; @@ -5319,6 +5324,13 @@ void process_alert_message(LLMessageSystem *msgsystem, void **user_data) { BOOL modal = FALSE; process_alert_core(message, modal); + + static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION); + if (ban_lines_mode == LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION + && message.find("Cannot enter parcel") != std::string::npos) + { + LLViewerParcelMgr::getInstance()->resetCollisionTimer(); + } } } diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 97dc916bfe..15accd0547 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -72,12 +72,16 @@ #include "llenvironment.h" -const F32 PARCEL_COLLISION_DRAW_SECS = 1.f; +const F32 PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION = 10.f; +const F32 PARCEL_COLLISION_DRAW_SECS_ON_PROXIMITY = 1.f; // Globals U8* LLViewerParcelMgr::sPackedOverlay = NULL; +S32 LLViewerParcelMgr::PARCEL_BAN_LINES_HIDE = 0; +S32 LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION = 1; +S32 LLViewerParcelMgr::PARCEL_BAN_LINES_ON_PROXIMITY = 2; LLUUID gCurrentMovieID = LLUUID::null; @@ -892,13 +896,18 @@ void LLViewerParcelMgr::render() void LLViewerParcelMgr::renderParcelCollision() { + static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_ON_COLLISION); + // check for expiration - if (mCollisionTimer.getElapsedTimeF32() > PARCEL_COLLISION_DRAW_SECS) + F32 expiration = (ban_lines_mode == PARCEL_BAN_LINES_ON_PROXIMITY) + ? PARCEL_COLLISION_DRAW_SECS_ON_PROXIMITY + : PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION; + if (mCollisionTimer.getElapsedTimeF32() > expiration) { - mRenderCollision = FALSE; + mRenderCollision = false; } - if (mRenderCollision && gSavedSettings.getBOOL("ShowBanLines")) + if (mRenderCollision && ban_lines_mode != PARCEL_BAN_LINES_HIDE) { LLViewerRegion* regionp = gAgent.getRegion(); if (regionp) @@ -1842,8 +1851,11 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID) { // We're about to collide with this parcel - parcel_mgr.mRenderCollision = TRUE; - parcel_mgr.mCollisionTimer.reset(); + static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_ON_COLLISION); + if (ban_lines_mode == PARCEL_BAN_LINES_ON_PROXIMITY) + { + parcel_mgr.resetCollisionTimer(); + } // Differentiate this parcel if we are banned from it. if (sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID) diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 6ce389ab88..56dacd3efd 100644 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -205,6 +205,11 @@ public: void renderHighlightSegments(const U8* segments, LLViewerRegion* regionp); void renderCollisionSegments(U8* segments, BOOL use_pass, LLViewerRegion* regionp); + static S32 PARCEL_BAN_LINES_HIDE; + static S32 PARCEL_BAN_LINES_ON_COLLISION; + static S32 PARCEL_BAN_LINES_ON_PROXIMITY; + void resetCollisionTimer(); // Ban lines visibility timer + void sendParcelGodForceOwner(const LLUUID& owner_id); // make the selected parcel a content parcel. @@ -361,7 +366,7 @@ private: // If it's coming, draw the parcel's boundaries. LLParcel* mCollisionParcel; U8* mCollisionSegments; - BOOL mRenderCollision; + bool mRenderCollision; BOOL mRenderSelection; S32 mCollisionBanned; LLFrameTimer mCollisionTimer; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index ad7321ca4b..e122baadce 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -131,8 +131,8 @@ class LLRegionHandler : public LLCommandHandler public: // requests will be throttled from a non-trusted browser LLRegionHandler() : LLCommandHandler("region", UNTRUSTED_THROTTLE) {} - - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { // make sure that we at least have a region name int num_params = params.size(); @@ -143,6 +143,10 @@ public: // build a secondlife://{PLACE} SLurl from this SLapp std::string url = "secondlife://"; + if (!grid.empty()) + { + url += grid + "/secondlife/"; + } boost::regex name_rx("[A-Za-z0-9()_%]+"); boost::regex coord_rx("[0-9]+"); for (int i = 0; i < num_params; i++) diff --git a/indra/newview/llviewerwearable.h b/indra/newview/llviewerwearable.h index cc99f6af2f..24b1323b2b 100644 --- a/indra/newview/llviewerwearable.h +++ b/indra/newview/llviewerwearable.h @@ -93,7 +93,6 @@ public: // the wearable was worn. make sure the name of the wearable object matches the LLViewerInventoryItem, // not the wearable asset itself. void refreshName(); - /*virtual*/void addToBakedTextureHash(LLMD5& hash) const {} protected: LLAssetID mAssetID; diff --git a/indra/newview/llvoicecallhandler.cpp b/indra/newview/llvoicecallhandler.cpp index 1e993d1384..95e11abd82 100644 --- a/indra/newview/llvoicecallhandler.cpp +++ b/indra/newview/llvoicecallhandler.cpp @@ -38,7 +38,7 @@ public: { } - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (!LLUI::getInstance()->mSettingGroups["config"]->getBOOL("EnableVoiceCall")) { diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 6bb987ede4..bf96f0bbb4 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -53,7 +53,7 @@ public: // requests will be throttled from a non-trusted browser LLVoiceHandler() : LLCommandHandler("voice", UNTRUSTED_THROTTLE) {} - bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + bool handle(const LLSD& params, const LLSD& query_map, const std::string& grid, LLMediaCtrl* web) { if (params[0].asString() == "effects") { diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 6e994b4e68..b59bbaaa88 100755 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -50,6 +50,7 @@ #include "lltextureview.h" #include "lltracker.h" #include "llviewercamera.h" +#include "llviewernetwork.h" #include "llviewertexture.h" #include "llviewertexturelist.h" #include "llviewerregion.h" @@ -1829,7 +1830,7 @@ BOOL LLWorldMapView::handleDoubleClick( S32 x, S32 y, MASK mask ) // Invoke the event details floater if someone is clicking on an event. LLSD params(LLSD::emptyArray()); params.append(event_id); - LLCommandDispatcher::dispatch("event", params, LLSD(), NULL, "clicked", true); + LLCommandDispatcher::dispatch("event", params, LLSD(), LLGridManager::getInstance()->getGrid(), NULL, "clicked", true); break; } case MAP_ITEM_LAND_FOR_SALE: diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml index b322e67bb7..7bcae69779 100644 --- a/indra/newview/skins/default/xui/da/floater_about.xml +++ b/indra/newview/skins/default/xui/da/floater_about.xml @@ -70,6 +70,7 @@ 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. +xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. google-perftools Copyright (c) 2005, Google Inc. diff --git a/indra/newview/skins/default/xui/da/floater_animation_preview.xml b/indra/newview/skins/default/xui/da/floater_animation_preview.xml deleted file mode 100644 index adf96841c0..0000000000 --- a/indra/newview/skins/default/xui/da/floater_animation_preview.xml +++ /dev/null @@ -1,187 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Animation Preview" title=""> - <floater.string name="failed_to_initialize"> - Fejlede at starte bevægelse - </floater.string> - <floater.string name="anim_too_long"> - Animations filen er [LENGTH] sekunder lang. - -Maksimal animations længde er [MAX_LENGTH] sekunder. - </floater.string> - <floater.string name="failed_file_read"> - Kan ikke læse animations fil. - -[STATUS] - </floater.string> - <floater.string name="E_ST_OK"> - OK - </floater.string> - <floater.string name="E_ST_EOF"> - Fil afsluttet for tidligt. - </floater.string> - <floater.string name="E_ST_NO_CONSTRAINT"> - Kan ikke læse "constraint definition". - </floater.string> - <floater.string name="E_ST_NO_FILE"> - Kan ikke Ã¥bne BVH fil. - </floater.string> - <floater.string name="E_ST_NO_HIER"> - Ugyldig header i HIERARCHY. - </floater.string> - <floater.string name="E_ST_NO_JOINT"> - Kan ikke finde "ROOT" eller "JOINT". - </floater.string> - <floater.string name="E_ST_NO_NAME"> - Kan ikke finde JOINT navn. - </floater.string> - <floater.string name="E_ST_NO_OFFSET"> - Kan ikke finde OFFSET. - </floater.string> - <floater.string name="E_ST_NO_CHANNELS"> - Kan ikke finde CHANNELS. - </floater.string> - <floater.string name="E_ST_NO_ROTATION"> - Kan ikke læse "rotation order". - </floater.string> - <floater.string name="E_ST_NO_AXIS"> - Kan ikke finde rotationsakser. - </floater.string> - <floater.string name="E_ST_NO_MOTION"> - Kan ikke finde MOTION. - </floater.string> - <floater.string name="E_ST_NO_FRAMES"> - Kan ikke læse antal "frames". - </floater.string> - <floater.string name="E_ST_NO_FRAME_TIME"> - Kan ikke læse "frame time". - </floater.string> - <floater.string name="E_ST_NO_POS"> - Kan ikke læse positionsværdier. - </floater.string> - <floater.string name="E_ST_NO_ROT"> - Kan ikke læse rotationsværdier. - </floater.string> - <floater.string name="E_ST_NO_XLT_FILE"> - kan ikke Ã¥bne "translation file". - </floater.string> - <floater.string name="E_ST_NO_XLT_HEADER"> - Kan ikke læse "translation header. - </floater.string> - <floater.string name="E_ST_NO_XLT_NAME"> - Kan ikke aflæse "translation" navne. - </floater.string> - <floater.string name="E_ST_NO_XLT_IGNORE"> - Kan ikke læse "translation ignore" værdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_RELATIVE"> - Kan ikke læse "translation relative" værdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_OUTNAME"> - Kan ikke læse "translation outname" værdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_MATRIX"> - Kan ikke læse "translation matrix". - </floater.string> - <floater.string name="E_ST_NO_XLT_MERGECHILD"> - Kan ikke læse "mergechild" navn. - </floater.string> - <floater.string name="E_ST_NO_XLT_MERGEPARENT"> - Kan ikke læse "mergeparent" navn. - </floater.string> - <floater.string name="E_ST_NO_XLT_PRIORITY"> - Kan ikke finde prioritetsværdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_LOOP"> - Kan ikke læse "loop" værdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_EASEIN"> - kan ikke læse "easeIn" værdier. - </floater.string> - <floater.string name="E_ST_NO_XLT_EASEOUT"> - Kan ikke læse "easeOut" værdier. - </floater.string> - <floater.string name="E_ST_NO_XLT_HAND"> - Kan ikke læse "hand morph" værdi. - </floater.string> - <floater.string name="E_ST_NO_XLT_EMOTE"> - kan ikke læse "emote" navn. - </floater.string> - <floater.string name="E_ST_BAD_ROOT"> - Incorrect root joint name, use "hip". - </floater.string> - <text name="name_label"> - Navn: - </text> - <text name="description_label"> - Beskrivelse: - </text> - <spinner label="Prioritet" name="priority" tool_tip="Vælg hvilke andre animationer der "overstyres" af denne"/> - <check_box label="Gentag" name="loop_check" tool_tip="Gentager animationen konstant"/> - <spinner label="Ind(%)" label_width="40" left="76" name="loop_in_point" tool_tip="Sætter punktet hvor gentagelsen genstarter fra" width="105"/> - <spinner label="Ud (%)" name="loop_out_point" tool_tip="Sætter punktet i animationen der afslutter gentagelsen"/> - <text name="hand_label"> - HÃ¥nd posering - </text> - <combo_box label="" name="hand_pose_combo" tool_tip="Kontrollerer hvad hænderne gÃ¥r i løbet af animationen" width="140"> - <combo_box.item label="Spredt" name="Spread"/> - <combo_box.item label="Afslappet" name="Relaxed"/> - <combo_box.item label="Peg begge" name="PointBoth"/> - <combo_box.item label="Knytnæver" name="Fist"/> - <combo_box.item label="Afslappet venstre" name="RelaxedLeft"/> - <combo_box.item label="Peg venstre" name="PointLeft"/> - <combo_box.item label="Knytnæve venstre" name="FistLeft"/> - <combo_box.item label="Afslappet højre" name="RelaxedRight"/> - <combo_box.item label="peg højre" name="PointRight"/> - <combo_box.item label="knytnæve højre" name="FistRight"/> - <combo_box.item label="Honnør højre" name="SaluteRight"/> - <combo_box.item label="Skrivende" name="Typing"/> - <combo_box.item label="Fredstegn højre" name="PeaceRight"/> - </combo_box> - <text name="emote_label"> - Ansigtsudtryk - </text> - <combo_box label="" name="emote_combo" tool_tip="Angiver hvad ansigtet gør under animationen" width="140"> - <item label="(Intet)" name="[None]" value=""/> - <item label="Aaaaah" name="Aaaaah" value="Aaaaah"/> - <item label="Bange" name="Afraid" value="Bange"/> - <item label="Vred" name="Angry" value="Vred"/> - <item label="Stort smil" name="BigSmile" value="Stort smil"/> - <item label="Keder sig" name="Bored" value="Keder sig"/> - <item label="Græder" name="Cry" value="Grædende"/> - <item label="Forarget" name="Disdain" value="Foragt"/> - <item label="Flov" name="Embarrassed" value="Embarrassed"/> - <item label="Skuler" name="Frown" value="Alvorlig"/> - <item label="Kysser" name="Kiss" value="Kys"/> - <item label="Griner" name="Laugh" value="Leende"/> - <item label="Plllppt" name="Plllppt" value="Plllppt"/> - <item label="Frastødt" name="Repulsed" value="Frastødt"/> - <item label="Ked af det" name="Sad" value="Ked af det"/> - <item label="Skuldertræk" name="Shrug" value="Skuldertræk"/> - <item label="Smil" name="Smile" value="Smilende"/> - <item label="Overrasket" name="Surprise" value="Overrasket"/> - <item label="Blinker" name="Wink" value="Blink"/> - <item label="Bekymret" name="Worry" value="Bekymret"/> - </combo_box> - <text name="preview_label"> - Vis mens - </text> - <combo_box label="" name="preview_base_anim" tool_tip="Se hvordan animation ser ud i forskellige typiske avatar-situationer." width="140"> - <item label="StÃ¥ende" name="Standing" value="StÃ¥ende"/> - <item label="GÃ¥ende" name="Walking" value="GÃ¥ende"/> - <item label="Sidder" name="Sitting" value="Siddende"/> - <item label="Flyver" name="Flying" value="Flyvende"/> - </combo_box> - <spinner label="start (sec)" name="ease_in_time" tool_tip="Tid (i sekunder) animationen bruger pÃ¥ at komme i gang."/> - <spinner label="Afslut (sec)" name="ease_out_time" tool_tip="Tid (i sekunder) animationen bruger pÃ¥ at afslutte"/> - <button label="" name="play_btn" tool_tip="Start din animation"/> - <button name="pause_btn" tool_tip="Pause din animation"/> - <button label="" name="stop_btn" tool_tip="Stop afspilning af animation"/> - <slider label="" name="playback_slider"/> - <text name="bad_animation_text"> - Kan ikke læse animations fil. - -Vi anbefaler BVH filer der er exporteret fra Poser 4. - </text> - <button label="Hent (L$[AMOUNT])" name="ok_btn"/> - <button label="Annullér" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_hardware_settings.xml b/indra/newview/skins/default/xui/da/floater_hardware_settings.xml deleted file mode 100644 index a5942eb625..0000000000 --- a/indra/newview/skins/default/xui/da/floater_hardware_settings.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="HARDWARE OPSÆTNING"> - <text name="Filtering:"> - Filtrering: - </text> - <check_box label="Anisotropic filtrering (langsommere nÃ¥r aktiveret)" name="ani"/> - <text name="Antialiasing:"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="100"> - <combo_box.item label="SlÃ¥et fra" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (kræver genstart af din Second Life klient) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (Lysstyrke, lavere er lysere, 0=benyt standard) - </text> - <text name="Enable VBO:"> - Aktivér VBO: - </text> - <check_box initial_value="true" label="Aktivér OpenGL Vertex Buffer objekter" name="vbo" tool_tip="Aktivér af dette pÃ¥ nyere hardware giver performance forbedring. PÃ¥ ældre hardware kan aktivering medfø nedbrud."/> - <slider label="Tekstur hukommelse (MB):" name="GraphicsCardTextureMemory" tool_tip="Mængde hukommelse der skal allokeres til teksturer (textures). Standardindstilling er hukommelse pÃ¥ grafikkortet. Reduktion kan medfø bedre ydeevne, men kan samtidig gøre teksturer mere udflydende."/> - <spinner label="TÃ¥ge: afstandsforhold:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_inventory.xml b/indra/newview/skins/default/xui/da/floater_inventory.xml deleted file mode 100644 index 3a4b0fbd6b..0000000000 --- a/indra/newview/skins/default/xui/da/floater_inventory.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Inventory" title="MIN BEHOLDNING"> - <floater.string name="Title"> - MIN BEHOLDNING - </floater.string> - <floater.string name="TitleFetching"> - MIN BEHOLDNING (Henter [ITEM_COUNT] genstande...) [FILTER] - </floater.string> - <floater.string name="TitleCompleted"> - MIN BEHOLDNING ([ITEM_COUNT] genstande) [FILTER] - </floater.string> - <floater.string name="Fetched"> - Hentet - </floater.string> - <panel label="Beholdningspanel" name="Inventory Panel"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_nearby_chat.xml b/indra/newview/skins/default/xui/da/floater_nearby_chat.xml deleted file mode 100644 index 76bc40edac..0000000000 --- a/indra/newview/skins/default/xui/da/floater_nearby_chat.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NÆRVED"> - <check_box label="Oversæt chat" name="translate_chat_checkbox"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_perm_prefs.xml b/indra/newview/skins/default/xui/da/floater_perm_prefs.xml deleted file mode 100644 index eecddbcdb0..0000000000 --- a/indra/newview/skins/default/xui/da/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="STANDARD RETTIGHEDER"> - <panel label="Tilladelser" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Del med gruppe" name="share_with_group"/> - <check_box label="Tillad enhver at kopiere" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Næste ejer kan: - </text> - <check_box label="Redigere" name="next_owner_modify"/> - <check_box label="Kopiére" name="next_owner_copy"/> - <check_box label="Sælge/Give væk" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Annullér" label_selected="Annullér" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_postcard.xml b/indra/newview/skins/default/xui/da/floater_postcard.xml deleted file mode 100644 index 44b0fd4faa..0000000000 --- a/indra/newview/skins/default/xui/da/floater_postcard.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Postcard" title="EMAIL FOTO"> - <text name="to_label"> - Send til: - </text> - <text name="from_label"> - Din e-mail: - </text> - <text name="name_label"> - Dit navn: - </text> - <text name="subject_label"> - Emne: - </text> - <line_editor label="Skriv dit emne her." name="subject_form"/> - <text name="msg_label"> - Besked: - </text> - <text_editor name="msg_form"> - Skriv din besked her. - </text_editor> - <text name="fine_print"> - Hvis din modtager opretter en konto i SL, vil du fÃ¥ en henvisnings bonus. - </text> - <button label="Annullér" name="cancel_btn"/> - <button label="Send" name="send_btn"/> - <string name="default_subject"> - Postkort fra [SECOND_LIFE]. - </string> - <string name="default_message"> - Tjek det her ud! - </string> - <string name="upload_message"> - Sender... - </string> -</floater> diff --git a/indra/newview/skins/default/xui/da/floater_voice_controls.xml b/indra/newview/skins/default/xui/da/floater_voice_controls.xml deleted file mode 100644 index 69de696bf5..0000000000 --- a/indra/newview/skins/default/xui/da/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="Stemme opsætning"> - <string name="title_nearby"> - STEMMER NÆR - </string> - <string name="title_group"> - Gruppe opkald med [GROUP] - </string> - <string name="title_adhoc"> - Konference kald - </string> - <string name="title_peer_2_peer"> - Opkald med [NAME] - </string> - <string name="no_one_near"> - Ingen i nærheden har aktiveret stemmer - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Min avatar:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Forlad samtale" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/da/menu_bottomtray.xml b/indra/newview/skins/default/xui/da/menu_bottomtray.xml deleted file mode 100644 index a0d74db36d..0000000000 --- a/indra/newview/skins/default/xui/da/menu_bottomtray.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="hide_camera_move_controls_menu"> - <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"/> - <menu_item_check label="Foto knap" name="ShowSnapshotButton"/> - <menu_item_check label="Bygge knap" name="ShowBuildButton"/> - <menu_item_check label="Søge knap" name="ShowSearchButton"/> - <menu_item_check label="Kort knap" name="ShowWorldMapButton"/> - <menu_item_check label="Mini-Map button" name="ShowMiniMapButton"/> - <menu_item_call label="Klip" name="NearbyChatBar_Cut"/> - <menu_item_call label="Kopiér" name="NearbyChatBar_Copy"/> - <menu_item_call label="Sæt ind" name="NearbyChatBar_Paste"/> - <menu_item_call label="Slet" name="NearbyChatBar_Delete"/> - <menu_item_call label="Vælg alt" name="NearbyChatBar_Select_All"/> -</menu> diff --git a/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml deleted file mode 100644 index 8da35adb1b..0000000000 --- a/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil" name="view_profile"/> - <menu_item_call label="Tilføj ven" name="add_friend"/> - <menu_item_call label="Besked" name="im"/> - <menu_item_call label="Opkald" name="call"/> - <menu_item_call label="Teleportér" name="teleport"/> - <menu_item_call label="Invitér til gruppe" name="invite_to_group"/> - <menu_item_call label="Blokér" name="block"/> - <menu_item_call label="Fjern blokering" name="unblock"/> - <menu_item_call label="Rapportér" name="report"/> - <menu_item_call label="Frys" name="freeze"/> - <menu_item_call label="Smid ud" name="eject"/> - <menu_item_call label="Spark" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug teksturer" name="debug"/> - <menu_item_call label="Find pÃ¥ kort" name="find_on_map"/> - <menu_item_call label="Zoom ind" name="zoom_in"/> - <menu_item_call label="Betal" name="pay"/> - <menu_item_call label="Del" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml deleted file mode 100644 index 887c6484bc..0000000000 --- a/indra/newview/skins/default/xui/da/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Sid ned" name="Sit Down Here"/> - <menu_item_call label="StÃ¥ op" name="Stand Up"/> - <context_menu label="Tag af" name="Take Off >"> - <context_menu label="Tøj" name="Clothes >"> - <menu_item_call label="Trøje" name="Shirt"/> - <menu_item_call label="Bukser" name="Pants"/> - <menu_item_call label="Nederdel" name="Skirt"/> - <menu_item_call label="Sko" name="Shoes"/> - <menu_item_call label="Strømper" name="Socks"/> - <menu_item_call label="Jakke" name="Jacket"/> - <menu_item_call label="Handsker" name="Gloves"/> - <menu_item_call label="Undertrøje" name="Self Undershirt"/> - <menu_item_call label="Underbukser" name="Self Underpants"/> - <menu_item_call label="Tatovering" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alt tøj" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Tag af" name="Object Detach"/> - <menu_item_call label="Tag alt af" name="Detach All"/> - </context_menu> - <menu_item_call label="Skift sæt" name="Chenge Outfit"/> - <menu_item_call label="Redigér sæt" name="Edit Outfit"/> - <menu_item_call label="Redigér min figur" name="Edit My Shape"/> - <menu_item_call label="Mine venner" name="Friends..."/> - <menu_item_call label="Mine grupper" name="Groups..."/> - <menu_item_call label="Min profil" name="Profile..."/> - <menu_item_call label="Debug teksturer" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml deleted file mode 100644 index 32c5e6a6c7..0000000000 --- a/indra/newview/skins/default/xui/da/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter status" name="sort_status"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_check label="Vis tildelte rettigheder" name="view_permissions"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml deleted file mode 100644 index 0b9a791530..0000000000 --- a/indra/newview/skins/default/xui/da/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Vis gruppe ikoner" name="Display Group Icons"/> - <menu_item_call label="Forlad valgte gruppe" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml deleted file mode 100644 index 2f35ff3c92..0000000000 --- a/indra/newview/skins/default/xui/da/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter tidligere talere" name="sort_by_recent_speakers"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Sortér efter afstand" name="sort_distance"/> - <menu_item_check label="Se ikoner for personer" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml deleted file mode 100644 index d081f637f2..0000000000 --- a/indra/newview/skins/default/xui/da/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Sortér efter nyeste" name="sort_most"/> - <menu_item_check label="Sortér efter navn" name="sort_name"/> - <menu_item_check label="Vis person ikoner" name="view_icons"/> - <menu_item_call label="Vis blokerede beboere og objekter" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml deleted file mode 100644 index 1953fad31f..0000000000 --- a/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad opkald" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemmekontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_bottomtray.xml b/indra/newview/skins/default/xui/da/panel_bottomtray.xml deleted file mode 100644 index 3cd9d55dd0..0000000000 --- a/indra/newview/skins/default/xui/da/panel_bottomtray.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="bottom_tray"> - <string name="DragIndicationImageName" value="Accordion_ArrowOpened_Off"/> - <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"> - <talk_button name="talk"> - <speak_button label="Tal" label_selected="Tal" name="speak_btn"/> - </talk_button> - </layout_panel> - <layout_panel name="gesture_panel"> - <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Skjuler/viser bevægelser"/> - </layout_panel> - <layout_panel name="movement_panel"> - <bottomtray_button label="Flyt" name="movement_btn" tool_tip="Vis/skjul bevægelseskontroller"/> - </layout_panel> - <layout_panel name="cam_panel"> - <bottomtray_button label="Vis" name="camera_btn" tool_tip="Vis/Skjul kamerakontroller"/> - </layout_panel> - <layout_panel name="snapshot_panel"> - <bottomtray_button label="" name="snapshots" tool_tip="Tag foto"/> - </layout_panel> - <layout_panel name="build_btn_panel"> - <bottomtray_button label="Byg" name="build_btn" tool_tip="Vis/skjul byggeværktøjer"/> - </layout_panel> - <layout_panel name="search_btn_panel"> - <bottomtray_button label="Søg" name="search_btn" tool_tip="Vis/skjul søgning"/> - </layout_panel> - <layout_panel name="world_map_btn_panel"> - <bottomtray_button label="Kort" name="world_map_btn" tool_tip="Vis/skjul verdenskort"/> - </layout_panel> - <layout_panel name="mini_map_btn_panel"> - <bottomtray_button label="Mini-kort" name="mini_map_btn" tool_tip="Vis/skjul Mini-kort"/> - </layout_panel> - <layout_panel name="im_well_panel"> - <chiclet_im_well name="im_well"> - <button name="Unread IM messages" tool_tip="Konversationer"/> - </chiclet_im_well> - </layout_panel> - <layout_panel name="notification_well_panel"> - <chiclet_notification name="notification_well"> - <button name="Unread" tool_tip="Notifikationer"/> - </chiclet_notification> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_classified.xml b/indra/newview/skins/default/xui/da/panel_edit_classified.xml deleted file mode 100644 index fc4780a34e..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér annoncer" name="panel_edit_classified"> - <panel.string name="location_notice"> - (vil blive opdateret efter gemning) - </panel.string> - <string name="publish_label"> - Publicér - </string> - <string name="save_label"> - Gem - </string> - <text name="title"> - Rediger annonce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Klik for at vælge et billede"/> - </panel> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beskrivelse: - </text> - <text name="location_label"> - Lokation: - </text> - <text name="classified_location"> - henter... - </text> - <button label="Sæt til nuværende lokation" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategori:"/> - <text name="content_type_label" value="Indholdstype:"/> - <icons_combo_box label="Generelt" name="content_type"> - <icons_combo_box.item label="Moderat" name="mature_ci" value="Voksent"/> - <icons_combo_box.item label="Generelt" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Forny automatisk hver uge" name="auto_renew"/> - <text name="price_for_listing_label" value="Pris for optagelse:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Pris for optagelse." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_pick.xml b/indra/newview/skins/default/xui/da/panel_edit_pick.xml deleted file mode 100644 index 3036f30240..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér Pick" name="panel_edit_pick"> - <panel.string name="location_notice"> - (vil blive opdateret ved gemning) - </panel.string> - <text name="title"> - Redigér favorit - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Klik for at vælge billede"/> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beskrivelse: - </text> - <text name="location_label"> - Lokation: - </text> - <text name="pick_location"> - henter... - </text> - <button label="Sæt til nuværende lokation" 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="Gem valgte" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_edit_profile.xml b/indra/newview/skins/default/xui/da/panel_edit_profile.xml deleted file mode 100644 index 14fd48ba2f..0000000000 --- a/indra/newview/skins/default/xui/da/panel_edit_profile.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Redigér profil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Beboer"/> - <string name="AcctTypeTrial" value="PÃ¥ prøve"/> - <string name="AcctTypeCharterMember" value="æresmedlem"/> - <string name="AcctTypeEmployee" value="Linden Lab medarbejder"/> - <string name="PaymentInfoUsed" value="Betalende medlem"/> - <string name="PaymentInfoOnFile" value="Registreret betalende"/> - <string name="NoPaymentInfoOnFile" value="Ingen betalingsinfo"/> - <string name="AgeVerified" value="Alders-checket"/> - <string name="NotAgeVerified" value="Ikke alders-checket"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=da - </string> - <string name="no_partner_text" value="Ingen"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Visningsnavn:"/> - <text name="solo_username_label" value="Bugernavn:"/> - <button name="set_name" tool_tip="Sæt visningsnavn"/> - <text name="user_label" value="Brugernavn:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Klik for at vælge et billede"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Real World:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Klik for at vælge et billede"/> - <text name="title_homepage_text"> - Hjemmeside: - </text> - <check_box label="Vis mig i søgeresultater" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Min konto:"/> - <text_editor name="acc_status_text" value="Beboer. Ingen betalingsinfo."/> - <text name="my_account_link" value="[[URL] Go to My Dashboard]"/> - <text name="title_partner_text" value="Min partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(henter)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Edit]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Gem ændringer" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annullér" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_group_control_panel.xml b/indra/newview/skins/default/xui/da/panel_group_control_panel.xml deleted file mode 100644 index 26fe4f6ebe..0000000000 --- a/indra/newview/skins/default/xui/da/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Gruppe profil" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald gruppe" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Forlad opkald" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ã…ben stemmekontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_im_control_panel.xml b/indra/newview/skins/default/xui/da/panel_im_control_panel.xml deleted file mode 100644 index 5cecb93d40..0000000000 --- a/indra/newview/skins/default/xui/da/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Tilføj ven" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Tilbyd teleport til denne person"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Del" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Betal" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Opkald" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Afslut kald" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Stemme kontroller" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_pick_info.xml b/indra/newview/skins/default/xui/da/panel_pick_info.xml deleted file mode 100644 index 8a5141f967..0000000000 --- a/indra/newview/skins/default/xui/da/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Favorit info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleport" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Kort" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Rediger" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_picks.xml b/indra/newview/skins/default/xui/da/panel_picks.xml deleted file mode 100644 index 8af68ee69a..0000000000 --- a/indra/newview/skins/default/xui/da/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favoritter" name="panel_picks"> - <string name="no_picks" value="Ingen favoritter"/> - <string name="no_classifieds" value="Ingen annoncer"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Favoritter"/> - <accordion_tab name="tab_classifieds" title="Annoncer"/> - </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="Opret favorit eller annonce pÃ¥ nuværende lokation"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Vis favoritinformation"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Teleportér til tilsvarende omrÃ¥de"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Kort" name="show_on_map_btn" tool_tip="Vis tilsvarende omrÃ¥de pÃ¥ verdenskort"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/da/panel_region_texture.xml b/indra/newview/skins/default/xui/da/panel_region_texture.xml deleted file mode 100644 index c8a3ad328e..0000000000 --- a/indra/newview/skins/default/xui/da/panel_region_texture.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Terræn textures" name="Textures"> - <text name="region_text_lbl"> - Region: - </text> - <text name="region_text"> - ukendt - </text> - <text name="detail_texture_text"> - Terræn teksturer (kræver 1024x1024, 24 bit .tga filer) - </text> - <text name="height_text_lbl"> - 1 (Lav) - </text> - <text name="height_text_lbl2"> - 2 - </text> - <text name="height_text_lbl3"> - 3 - </text> - <text name="height_text_lbl4"> - 4 (Høj) - </text> - <text name="height_text_lbl5"> - Texture højde intervaller - </text> - <text name="height_text_lbl6"> - Nordvest - </text> - <text name="height_text_lbl7"> - Nordøst - </text> - <text name="height_text_lbl8"> - Sydvest - </text> - <text name="height_text_lbl9"> - Sydøst - </text> - <spinner label="Lav" name="height_start_spin_0"/> - <spinner label="Lav" name="height_start_spin_1"/> - <spinner label="Lav" name="height_start_spin_2"/> - <spinner label="Lav" name="height_start_spin_3"/> - <spinner label="Høj" name="height_range_spin_0"/> - <spinner label="Høj" name="height_range_spin_1"/> - <spinner label="Høj" name="height_range_spin_2"/> - <spinner label="Høj" name="height_range_spin_3"/> - <text name="height_text_lbl10"> - Disse værdier repræsenterer blandingsforhold for teksturer ovenfor. - </text> - <text name="height_text_lbl11"> - MÃ¥lt i meter, angiver LAV værdien MAKSIMUM højden for tekstur 1 og HØJ værdien er MINIMUMSshøjden for tekstur 4. - </text> - <text name="height_text_lbl12"> - og HØJ værdien er MIMIMUM højde for texture nummer 4. - </text> - <button label="Gem" name="apply_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml index b2708f7141..10ccf0d5da 100644 --- a/indra/newview/skins/default/xui/de/floater_about.xml +++ b/indra/newview/skins/default/xui/de/floater_about.xml @@ -29,6 +29,7 @@ mit Open-Source-Beiträgen von:</text> 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly und Mark Adler. Second Life Viewer verwendet Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (und Lizenzgeber). Alle Rechte vorbehalten. Details siehe www.havok.com. diff --git a/indra/newview/skins/default/xui/de/floater_chat_bar.xml b/indra/newview/skins/default/xui/de/floater_chat_bar.xml deleted file mode 100644 index ab77d4dae5..0000000000 --- a/indra/newview/skins/default/xui/de/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT IN DER NÄHE"> - <panel name="bottom_panel"> - <line_editor label="Zum Chatten hier klicken." name="chat_box" tool_tip="Eingabetaste zum Sprechen, Strg+Eingabe zum Rufen"/> - <button name="show_nearby_chat" tool_tip="Chatprotokoll in der Nähe ein-/ausblenden"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml deleted file mode 100644 index 8b29428c24..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Tageszyklus bearbeiten"> - <string name="title_new"> - Neuen Tageszyklus erstellen - </string> - <string name="title_edit"> - Tageszyklus bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für den Tageszyklus ein, passen Sie die Steuerungen an, um den Tageszyklus zu erstellen, und klicken Sie auf „Speichern“. - </string> - <string name="hint_edit"> - Um den Tageszyklus zu bearbeiten, passen Sie die Steuerungen unten an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, entsteht eine neue Voreinstellung; die vorhandene Voreinstellung wird nicht geändert. - </text> - <text name="hint_item1"> - - Klicken Sie auf eine Registerkarte, um die Himmeleinstellungen und die Uhrzeit zu bearbeiten. - </text> - <text name="hint_item2"> - - Klicken und ziehen Sie die Registerkarten, um die Ãœbergangszeiten einzustellen. - </text> - <text name="hint_item3"> - - Anhand des Scrubbers können Sie eine Vorschau Ihres Tageszyklus anzeigen. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Schlüssel hinzufügen" label_selected="Schlüssel hinzufügen" name="WLAddKey"/> - <button label="Schlüssel löschen" label_selected="Schlüssel löschen" name="WLDeleteKey"/> - <text name="WL12am"> - 0:00 - </text> - <text name="WL3am"> - 3:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL9amHash"> - 9:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 0:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Himmeleinstellung: - </text> - <combo_box label="Voreinstellung" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Uhrzeit: - </text> - <time name="time" value="6:00"/> - <check_box label="Zu meinem neuen Tageszyklus machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml deleted file mode 100644 index adb7e5e479..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Himmel-Voreinstellung bearbeiten"> - <string name="title_new"> - Neue Himmel-Voreinstellung erstellen - </string> - <string name="title_edit"> - Himmel-Voreinstellung bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für die Voreinstellung ein, passen Sie die Steuerungen an, um die Voreinstellung zu erstellen, und klicken Sie dann auf „Speichern“. - </string> - <string name="hint_edit"> - Um Ihre Himmel-Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="hint"> - Um Ihre Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </text> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSPHÄRE" name="Atmosphere"> - <text name="BHText"> - Blauer Horizont - </text> - <text name="BDensText"> - Horizonttrübung - </text> - <text name="BDensText2"> - Farbintensität - </text> - <text name="HDText"> - Trübungsintensität - </text> - <text name="DensMultText"> - Dichtemultiplikator - </text> - <text name="WLDistanceMultText"> - Entfernungsmultiplikator - </text> - <text name="MaxAltText"> - Max. Höhe - </text> - </panel> - <panel label="BELEUCHTUNG" name="Lighting"> - <text name="SLCText"> - Sonne/Mond-Farbe - </text> - <text name="WLAmbientText"> - Umgebung - </text> - <text name="SunGlowText"> - Sonnenleuchtkraft - </text> - <slider label="Fokus" name="WLGlowB"/> - <slider label="Größe" name="WLGlowR"/> - <text name="WLStarText"> - Sternenleuchtkraft - </text> - <text name="SceneGammaText"> - Gamma in Szene - </text> - <text name="TODText"> - Sonne/Mond-Stand - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 0:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 0:00 - </text> - <time name="WLDayTime" value="6:00"/> - <text name="WLEastAngleText"> - Ostausrichtung - </text> - </panel> - <panel label="WOLKEN" name="Clouds"> - <text name="WLCloudColorText"> - Wolkenfarbe - </text> - <text name="WLCloudColorText2"> - Wolken-XY/Dichte - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Wolkendichte - </text> - <text name="WLCloudScaleText"> - Wolkenskalierung - </text> - <text name="WLCloudDetailText"> - Wolkendetails (XY/Dichte) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Wolkenbewegung X - </text> - <check_box label="Sperren" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Wolkenbewegung Y - </text> - <check_box label="Sperren" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Diese Voreinstellung zu meiner neuen Himmeleinstellung machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml deleted file mode 100644 index dc7a18acb8..0000000000 --- a/indra/newview/skins/default/xui/de/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Wasser-Voreinstellung bearbeiten"> - <string name="title_new"> - Neue Wasser-Voreinstellung erstellen - </string> - <string name="title_edit"> - Wasser-Voreinstellung bearbeiten - </string> - <string name="hint_new"> - Geben Sie einen Namen für die Voreinstellung ein, passen Sie die Steuerungen an, um die Voreinstellung zu erstellen, und klicken Sie dann auf „Speichern“. - </string> - <string name="hint_edit"> - Um Ihre Wasser-Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </string> - <string name="combo_label"> - -Voreinstellung auswählen- - </string> - <text name="hint"> - Um Ihre Voreinstellung zu bearbeiten, passen Sie die Steuerungen an und klicken Sie auf „Speichern“. - </text> - <text name="label"> - Name der Voreinstellung: - </text> - <text name="note"> - Hinweis: Wenn Sie den Namen Ihrer Voreinstellung ändern, erstellen Sie eine neue Voreinstellung. Die vorhandene Voreinstellung wird nicht geändert. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Trübungsfarbe - </text> - <text name="water_fog_density_label"> - Exponent für Trübungsdichte - </text> - <text name="underwater_fog_modifier_label"> - Modifikator für Wassertrübung - </text> - <text name="BHText"> - Richtung für große Wellen - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Reflexionswellengröße - </text> - <text name="HDText"> - Fresnel-Skalierung - </text> - <text name="FresnelOffsetText"> - Fresnel-Versatz - </text> - <text name="BHText2"> - Richtung für kleine Wellen - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Brechungsstärke oben - </text> - <text name="WaterScaleBelowText"> - Brechungsstärke unten - </text> - <text name="MaxAltText"> - Mischungsmultiplikator - </text> - <text name="BHText3"> - Normal-Map - </text> - </panel> - <check_box label="Diese Voreinstellung zu meiner neuen Wassereinstellung machen" name="make_default_cb"/> - <button label="Speichern" name="save"/> - <button label="Abbrechen" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_environment_settings.xml b/indra/newview/skins/default/xui/de/floater_environment_settings.xml deleted file mode 100644 index 7ad26b23b5..0000000000 --- a/indra/newview/skins/default/xui/de/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="UMGEBUNGSEINSTELLUNGEN"> - <text name="note"> - Anhand der nachstehenden Optionen können Sie die Umgebungseinstellungen für Ihren Viewer anpassen. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Regionseinstellungen verwenden" name="use_region_settings"/> - <radio_item label="Meine Umgebung anpassen" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Hinweis: Ihre benutzerdefinierten Einstellungen sind für andere Benutzer nicht sichtbar. - </text> - <text name="water_settings_title"> - Wassereinstellung - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Himmel/Tageszyklus - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Fester Himmel" name="my_sky_settings"/> - <radio_item label="Tageszyklus" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Voreinstellung auswählen-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Abbrechen" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_facebook.xml b/indra/newview/skins/default/xui/de/floater_facebook.xml deleted file mode 100644 index 32d6d02c7a..0000000000 --- a/indra/newview/skins/default/xui/de/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="AUF FACEBOOK POSTEN"> - <tab_container name="tabs"> - <panel label="STATUS" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="EINCHECKEN" name="panel_facebook_place"/> - <panel label="FREUNDE" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_flickr.xml b/indra/newview/skins/default/xui/de/floater_flickr.xml deleted file mode 100644 index 525d015c2b..0000000000 --- a/indra/newview/skins/default/xui/de/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="AUF FLICKR TEILEN"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="KONTO" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml b/indra/newview/skins/default/xui/de/floater_hardware_settings.xml deleted file mode 100644 index fd6c9a0875..0000000000 --- a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="HARDWARE-EINSTELLUNGEN"> - <text name="Filtering:"> - Filtern: - </text> - <check_box label="Anisotropische Filterung (langsamer, wenn aktiviert)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa"> - <combo_box.item label="Deaktiviert" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (Neustart des Viewers erforderlich) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = Standard-Helligkeit, weniger = heller) - </text> - <text name="Enable VBO:"> - VBO aktivieren: - </text> - <check_box initial_value="true" label="OpenGL Vertex-Buffer-Objekte aktivieren" name="vbo" tool_tip="Wenn Sie über moderne Grafikhardware verfügen, können Sie durch Aktivieren dieser Option die Geschwindigkeit verbessern. Bei alter Hardware sind die VBO oft schlecht implementiert, was zu Abstürzen führen kann, wenn diese Option aktiviert ist."/> - <text name="tc label"> - S3TC aktivieren: - </text> - <check_box initial_value="true" label="Texturkomprimierung aktivieren (Neustart erforderlich)" name="texture compression" tool_tip="Komprimiert Texturen im Videospeicher, damit höher auflösende Texturen geladen werden können (leichte Beeinträchtigung der Farbqualität)."/> - <slider label="Texturen-Cache (MB):" name="GraphicsCardTextureMemory" tool_tip="Speicherplatz, der für Texturen zur Verfügung steht. In der Regel handelt es sich um Grafikkartenspeicher. Ein kleinerer Wert kann die Geschwindigkeit erhöhen, aber auch zu Texturunschärfen führen."/> - <spinner label="Nebeldistanzverhältnis:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</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 deleted file mode 100644 index 9be22f3ccb..0000000000 --- a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="STANDARD-BERECHTIGUNGEN FÃœR HOCHLADEN"> - <panel label="Berechtigungen" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Mit Gruppe teilen" name="share_with_group"/> - <check_box label="Kopieren allen erlauben" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Nächster Eigentümer kann: - </text> - <check_box label="Bearbeiten" name="next_owner_modify"/> - <check_box label="Kopieren" name="next_owner_copy"/> - <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"/> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_twitter.xml b/indra/newview/skins/default/xui/de/floater_twitter.xml deleted file mode 100644 index 483641c260..0000000000 --- a/indra/newview/skins/default/xui/de/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="ERSTELLEN" name="panel_twitter_photo"/> - <panel label="KONTO" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Fehler - </text> - <text name="connection_loading_text"> - Laden... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/de/floater_voice_controls.xml b/indra/newview/skins/default/xui/de/floater_voice_controls.xml deleted file mode 100644 index 5efda4136e..0000000000 --- a/indra/newview/skins/default/xui/de/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="SPRACHSTEUERUNGEN"> - <string name="title_nearby"> - VOICE-EINSTELLUNGEN - </string> - <string name="title_group"> - GRUPPENGESPRÄCH MIT [GROUP] - </string> - <string name="title_adhoc"> - KONFERENZGESPRÄCH - </string> - <string name="title_peer_2_peer"> - GESPRÄCH MIT [NAME] - </string> - <string name="no_one_near"> - Es ist niemand in der Nähe, der Voice aktiviert hat. - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Mein Avatar:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Anruf beenden" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml deleted file mode 100644 index 641a0ceebe..0000000000 --- a/indra/newview/skins/default/xui/de/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profil anzeigen" name="view_profile"/> - <menu_item_call label="Freund hinzufügen" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Anrufen" name="call"/> - <menu_item_call label="Teleportieren" name="teleport"/> - <menu_item_call label="In Gruppe einladen" name="invite_to_group"/> - <menu_item_call label="Ignorieren" name="block"/> - <menu_item_call label="Freischalten" name="unblock"/> - <menu_item_call label="Melden" name="report"/> - <menu_item_call label="Einfrieren" name="freeze"/> - <menu_item_call label="Hinauswerfen" name="eject"/> - <menu_item_call label="Hinauswerfen" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Fehler in Texturen beseitigen" name="debug"/> - <menu_item_call label="Auf Karte anzeigen" name="find_on_map"/> - <menu_item_call label="Hineinzoomen" name="zoom_in"/> - <menu_item_call label="Bezahlen" name="pay"/> - <menu_item_call label="Teilen" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml deleted file mode 100644 index 5979194bfb..0000000000 --- a/indra/newview/skins/default/xui/de/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Hinsetzen" name="Sit Down Here"/> - <menu_item_call label="Aufstehen" name="Stand Up"/> - <context_menu label="Ausziehen" name="Take Off >"> - <context_menu label="Kleidung" name="Clothes >"> - <menu_item_call label="Hemd" name="Shirt"/> - <menu_item_call label="Hose" name="Pants"/> - <menu_item_call label="Rock" name="Skirt"/> - <menu_item_call label="Schuhe" name="Shoes"/> - <menu_item_call label="Strümpfe" name="Socks"/> - <menu_item_call label="Jacke" name="Jacket"/> - <menu_item_call label="Handschuhe" name="Gloves"/> - <menu_item_call label="Unterhemd" name="Self Undershirt"/> - <menu_item_call label="Unterhose" name="Self Underpants"/> - <menu_item_call label="Tätowierung" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Alle Kleider" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Abnehmen" name="Object Detach"/> - <menu_item_call label="Alles abnehmen" name="Detach All"/> - </context_menu> - <menu_item_call label="Outfit ändern" name="Chenge Outfit"/> - <menu_item_call label="Mein Outfit bearbeiten" name="Edit Outfit"/> - <menu_item_call label="Meine Form bearbeiten" name="Edit My Shape"/> - <menu_item_call label="Meine Freunde" name="Friends..."/> - <menu_item_call label="Meine Gruppen" name="Groups..."/> - <menu_item_call label="Mein Profil" name="Profile..."/> - <menu_item_call label="Fehler in Texturen beseitigen" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/de/menu_name_field.xml b/indra/newview/skins/default/xui/de/menu_name_field.xml deleted file mode 100644 index 1d293c9361..0000000000 --- a/indra/newview/skins/default/xui/de/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Anzeigenamen kopieren" name="copy_display"/> - <menu_item_call label="Agent-Namen kopieren" name="copy_name"/> - <menu_item_call label="Agent-ID kopieren" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml deleted file mode 100644 index 84d9d8938c..0000000000 --- a/indra/newview/skins/default/xui/de/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Status sortieren" name="sort_status"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_check label="Erteilte Genehmigungen anzeigen" name="view_permissions"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml deleted file mode 100644 index b68597d8aa..0000000000 --- a/indra/newview/skins/default/xui/de/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Gruppensymbole anzeigen" name="Display Group Icons"/> - <menu_item_call label="Ausgewählte Gruppe verlassen" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml deleted file mode 100644 index a001544f3e..0000000000 --- a/indra/newview/skins/default/xui/de/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Nach letzten Sprechern sortieren" name="sort_by_recent_speakers"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Nach Entfernung sortieren" name="sort_distance"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_check label="Karte anzeigen" name="view_map"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml deleted file mode 100644 index 1ef020f5e1..0000000000 --- a/indra/newview/skins/default/xui/de/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Nach aktuellesten Sprechern sortieren" name="sort_most"/> - <menu_item_check label="Nach Name sortieren" name="sort_name"/> - <menu_item_check label="Symbole für Personen anzeigen" name="view_icons"/> - <menu_item_call label="Ignorierte Einwohner & Objekte anzeigen" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml deleted file mode 100644 index 6ad18781f5..0000000000 --- a/indra/newview/skins/default/xui/de/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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_panel name="voice_ctrls_btn_panel"> - <button label="Voice-Steuerung" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_classified.xml b/indra/newview/skins/default/xui/de/panel_edit_classified.xml deleted file mode 100644 index 8adacb4a5f..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Anzeige bearbeiten" name="panel_edit_classified"> - <panel.string name="location_notice"> - (wird nach Speichern aktualisiert) - </panel.string> - <string name="publish_label"> - Veröffentlichen - </string> - <string name="save_label"> - Speichern - </string> - <text name="title"> - Anzeige bearbeiten - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - </panel> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <text name="location_label"> - Standort: - </text> - <text name="classified_location"> - wird geladen... - </text> - <button label="Aktuellen Standort verwenden" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategorie:"/> - <text name="content_type_label" value="Inhaltsart:"/> - <icons_combo_box label="Genereller Inhalt" name="content_type"> - <icons_combo_box.item label="Moderater Inhalt" name="mature_ci" value="Moderat"/> - <icons_combo_box.item label="Genereller Inhalt" name="pg_ci" value="G"/> - </icons_combo_box> - <check_box label="Jede Woche automatisch erneuern" name="auto_renew"/> - <text name="price_for_listing_label" value="Preis für Anzeige:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_pick.xml b/indra/newview/skins/default/xui/de/panel_edit_pick.xml deleted file mode 100644 index aafffc7ae3..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Auswahl bearbeiten" name="panel_edit_pick"> - <panel.string name="location_notice"> - (wird nach Speichern aktualisiert) - </panel.string> - <text name="title"> - Auswahl bearbeiten - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - <text name="Name:"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <text name="location_label"> - Standort: - </text> - <text name="pick_location"> - wird geladen... - </text> - <button label="Aktuellen Standort verwenden" 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="Auswahl speichern" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_profile.xml b/indra/newview/skins/default/xui/de/panel_edit_profile.xml deleted file mode 100644 index 03974e7f7f..0000000000 --- a/indra/newview/skins/default/xui/de/panel_edit_profile.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil bearbeiten" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Einwohner"/> - <string name="AcctTypeTrial" value="Test"/> - <string name="AcctTypeCharterMember" value="Charta-Mitglied"/> - <string name="AcctTypeEmployee" value="Linden Lab-Mitarbeiter"/> - <string name="PaymentInfoUsed" value="Zahlungsinfo verwendet"/> - <string name="PaymentInfoOnFile" value="Zahlungsinfo archiviert"/> - <string name="NoPaymentInfoOnFile" value="Keine Zahlungsinfo archiviert"/> - <string name="AgeVerified" value="Altersgeprüft"/> - <string name="NotAgeVerified" value="Nicht altersgeprüft"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=de - </string> - <string name="my_account_link_url"> - http://de.secondlife.com/my - </string> - <string name="no_partner_text" value="Keiner"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Anzeigename:"/> - <text name="solo_username_label" value="Benutzername:"/> - <button name="set_name" tool_tip="Anzeigenamen festlegen"/> - <text name="user_label" value="Benutzername:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Echtes Leben:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/> - <text name="title_homepage_text"> - Webseite: - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="In Suchergebnissen anzeigen" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mein Konto:"/> - <text_editor name="acc_status_text" value="Einwohner. Keine Zahlungsinfo archiviert."/> - <text name="my_account_link" value="[[URL] Meine Startseite aufrufen]"/> - <text name="title_partner_text" value="Mein Partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(wird in Datenbank gesucht)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] bearbeiten]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Änderungen speichern" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Abbrechen" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_account.xml b/indra/newview/skins/default/xui/de/panel_facebook_account.xml deleted file mode 100644 index caa5f55186..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Sie sind mit Facebook verbunden als:"/> - <string name="facebook_disconnected" value="Nicht mit Facebook verbunden"/> - <text name="account_caption_label"> - Nicht mit Facebook verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Anweisungen zum Posten auf Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_friends.xml b/indra/newview/skins/default/xui/de/panel_facebook_friends.xml deleted file mode 100644 index 1a0bbc7d30..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Sie haben gegenwärtig keine Facebook-Freunde, die ebenfalls Second Life-Einwohner sind. Laden Sie Ihre Facebook-Freunde ein, Second Life beizutreten!"/> - <string name="facebook_friends_no_connected" value="Sie sind gegenwärtig nicht mit Facebook verbunden. Um eine Verbindung herzustellen und diese Funktion zu aktivieren, wechseln Sie zur Registerkarte "Status"."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL-Freunde"/> - <accordion_tab name="tab_suggested_friends" title="Diese Personen als SL-Freunde hinzufügen"/> - </accordion> - <text name="facebook_friends_status"> - Nicht mit Facebook verbunden. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_photo.xml b/indra/newview/skins/default/xui/de/panel_facebook_photo.xml deleted file mode 100644 index fac9fe9984..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <text name="caption_label"> - Kommentar (optional): - </text> - <button label="Posten" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_place.xml b/indra/newview/skins/default/xui/de/panel_facebook_place.xml deleted file mode 100644 index 102be80502..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Details zu Ihrem aktuellen Standort: - </text> - <check_box initial_value="false" label="Draufsicht des Standorts einschließen" name="add_place_view_cb"/> - <button label="Posten" name="post_place_btn"/> - <button label="Abbrechen" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_facebook_status.xml b/indra/newview/skins/default/xui/de/panel_facebook_status.xml deleted file mode 100644 index 1fefef548e..0000000000 --- a/indra/newview/skins/default/xui/de/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Sie sind mit Facebook verbunden als:"/> - <string name="facebook_disconnected" value="Nicht mit Facebook verbunden"/> - <text name="account_caption_label"> - Nicht mit Facebook verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Anweisungen zum Posten auf Facebook] - </text> - </panel> - <text name="status_caption_label"> - Was machen Sie gerade? - </text> - <button label="Posten" name="post_status_btn"/> - <button label="Abbrechen" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_flickr_account.xml b/indra/newview/skins/default/xui/de/panel_flickr_account.xml deleted file mode 100644 index 416761f0da..0000000000 --- a/indra/newview/skins/default/xui/de/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Sie sind mit Flickr verbunden als:"/> - <string name="flickr_disconnected" value="Nicht mit Flickr verbunden"/> - <text name="account_caption_label"> - Nicht mit Flickr verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Anweisungen zum Posten auf Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_flickr_photo.xml b/indra/newview/skins/default/xui/de/panel_flickr_photo.xml deleted file mode 100644 index d8bc1f310d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <text name="title_label"> - Titel: - </text> - <text name="description_label"> - Beschreibung: - </text> - <check_box initial_value="true" label="SL-Standort am Ende der Beschreibung hinzufügen" name="add_location_cb"/> - <text name="tags_label"> - Markierungen: - </text> - <text name="tags_help_label"> - Markierungen durch Leerzeichen trennen. -Für Markierungen, die aus mehreren Wörtern bestehen, "" verwenden. - </text> - <combo_box name="rating_combobox" tool_tip="Flickr-Inhaltseinstufung"> - <combo_box.item label="Sichere Flickr-Einstufung" name="SafeRating"/> - <combo_box.item label="Moderate Flickr-Einstufung" name="ModerateRating"/> - <combo_box.item label="Beschränkte Flickr-Einstufung" name="RestrictedRating"/> - </combo_box> - <button label="Teilen" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_group_control_panel.xml b/indra/newview/skins/default/xui/de/panel_group_control_panel.xml deleted file mode 100644 index 9cb72fafff..0000000000 --- a/indra/newview/skins/default/xui/de/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Gruppenprofil" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Gruppe anrufen" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Anruf beenden" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Voice-Steuerung öffnen" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml deleted file mode 100644 index abf8011d9d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <text name="avatar_name" value="Unbekannt"/> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <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."/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Teilen" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Bezahlen" name="pay_btn"/> - </layout_panel> - <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_panel name="voice_ctrls_btn_panel"> - <button label="Voice-Steuerung" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_pick_info.xml b/indra/newview/skins/default/xui/de/panel_pick_info.xml deleted file mode 100644 index f215c43a3d..0000000000 --- a/indra/newview/skins/default/xui/de/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Auswahl-Info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[wird geladen...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleportieren" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Karte" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Bearbeiten" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_picks.xml b/indra/newview/skins/default/xui/de/panel_picks.xml deleted file mode 100644 index 6aaa3151a8..0000000000 --- a/indra/newview/skins/default/xui/de/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Auswahl" name="panel_picks"> - <string name="no_picks" value="Keine Auswahl"/> - <string name="no_classifieds" value="Keine Anzeigen"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Auswahl"/> - <accordion_tab name="tab_classifieds" title="Anzeigen"/> - </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="An aktuellem Standort neue Auswahl oder Anzeige erstellen"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Informationen zur Auswahl anzeigen"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportieren" name="teleport_btn" tool_tip="Zu entsprechendem Standort teleportieren"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Karte" name="show_on_map_btn" tool_tip="Den entsprechenden Standort auf der Karte anzeigen"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_profile_interests.xml b/indra/newview/skins/default/xui/de/panel_profile_interests.xml deleted file mode 100644 index 0f36f76aa0..0000000000 --- a/indra/newview/skins/default/xui/de/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Interessen" name="panel_profile_interests"> - <text name="I Want To:"> - Ich möchte: - </text> - <check_box label="Erstellen" name="chk0"/> - <check_box label="Erkunden" name="chk1"/> - <check_box label="Treffen" name="chk2"/> - <check_box label="Angestellt werden" name="chk6"/> - <check_box label="Gruppe" name="chk3"/> - <check_box label="Kaufen" name="chk4"/> - <check_box label="Verkaufen" name="chk5"/> - <check_box label="Anstellen" name="chk7"/> - <line_editor name="want_to_edit"> - (wird geladen...) - </line_editor> - <text name="Skills:"> - Fähigkeiten: - </text> - <check_box label="Texturen" name="schk0"/> - <check_box label="Architektur" name="schk1"/> - <check_box label="Modellierung" name="schk3"/> - <check_box label="Eventplanung" name="schk2"/> - <check_box label="Scripting" name="schk4"/> - <check_box label="Benutzerdefinierte Charaktere" name="schk5"/> - <line_editor name="skills_edit"> - (wird geladen...) - </line_editor> - <text name="Languages:"> - Sprachen: - </text> - <line_editor name="languages_edit"> - (wird geladen...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_twitter_account.xml b/indra/newview/skins/default/xui/de/panel_twitter_account.xml deleted file mode 100644 index f2cbf3eb55..0000000000 --- a/indra/newview/skins/default/xui/de/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Sie sind mit Twitter verbunden als:"/> - <string name="twitter_disconnected" value="Nicht mit Twitter verbunden"/> - <text name="account_caption_label"> - Nicht mit Twitter verbunden. - </text> - <panel name="panel_buttons"> - <button label="Verbinden..." name="connect_btn"/> - <button label="Trennen" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Anweisungen zum Posten auf Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_twitter_photo.xml b/indra/newview/skins/default/xui/de/panel_twitter_photo.xml deleted file mode 100644 index e637253983..0000000000 --- a/indra/newview/skins/default/xui/de/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Was ist los? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL-Standort hinzufügen" name="add_location_cb"/> - <check_box initial_value="true" label="Foto hinzufügen" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Bildauflösung"> - <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Bildfilter"> - <combo_box.item label="Kein Filter" name="NoFilter"/> - </combo_box> - <button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/> - <button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/> - <button label="Tweeten" name="post_photo_btn"/> - <button label="Abbrechen" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/en/floater_360capture.xml b/indra/newview/skins/default/xui/en/floater_360capture.xml index c89489d145..23d054105f 100644 --- a/indra/newview/skins/default/xui/en/floater_360capture.xml +++ b/indra/newview/skins/default/xui/en/floater_360capture.xml @@ -24,6 +24,7 @@ height="16" layout="topleft" left="10" + name="quality_level_label" top="10" width="100"> Quality level diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index eb07425dfe..1ad7811d85 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -112,6 +112,7 @@ Dummy Name replaced at run time 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. 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. diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index c6776ad039..4985d07eb9 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -2,13 +2,16 @@ <floater positioning="cascading" can_tear_off="false" - height="396" + can_resize="true" layout="topleft" name="floaterland" help_topic="floaterland" save_rect="true" title="ABOUT LAND" - width="634"> + height="396" + width="634" + min_height="420" + min_width="634"> <floater.string name="maturity_icon_general"> "Parcel_PG_Dark" @@ -659,10 +662,11 @@ type="string" length="1" enabled="false" - follows="top|left" + follows="top|left|right" height="175" layout="topleft" left="10" + right="-10" max_length="65535" name="covenant_editor" width="470" @@ -1129,25 +1133,25 @@ top_delta="-6"/> <button enabled="false" - follows="left|top" + follows="top|right" height="23" label="Return Objects" layout="topleft" left_pad="6" name="Return objects..." top_delta="0" - right="-154" + right="-10" width="164" /> <name_list column_padding="0" draw_heading="true" - follows="top|left" + follows="all" height="150" layout="topleft" left="10" name="owner list" name_column="name" - width="470"> + right="-10"> <name_list.columns label="Type" name="type" @@ -1341,9 +1345,9 @@ Only large parcels can be listed in search. <panel bevel_style="none" border="true" - top="121" - bottom="121" - follows="left|bottom|right" + top="116" + bottom="116" + follows="left|top|right" left="20" right="-20"/> <check_box @@ -1377,9 +1381,10 @@ Only large parcels can be listed in search. enabled="true" height="23" layout="topleft" - left="164" + left="18" top="194" name="land category" + follows="left|top" visible="true" width="140"> <combo_box.item @@ -1508,18 +1513,18 @@ Only large parcels can be listed in search. Landing Point: [LANDING] </text> <button - follows="right|top" + follows="left|top" top_pad="0" height="23" label="Set" label_selected="Set" layout="topleft" name="Set" - left="399" + left_delta="0" tool_tip="Sets the landing point where visitors arrive. Sets to your avatar's location inside this parcel." width="50" /> <button - follows="right|top" + follows="left|top" height="23" label="Clear" label_selected="Clear" @@ -1546,7 +1551,8 @@ Only large parcels can be listed in search. layout="topleft" name="landing type" top_pad="0" - left="399" + left_delta="0" + follows="left|top" tool_tip="Teleport Routing -- select how to handle teleports onto your land" width="120"> <combo_box.item @@ -1590,7 +1596,8 @@ Only large parcels can be listed in search. <combo_box height="23" layout="topleft" - left_pad="144" + left_pad="0" + follows="left|top" name="media type" tool_tip="Specify if the URL is a movie, web page, or other media" width="120" @@ -1625,11 +1632,11 @@ Only large parcels can be listed in search. width="300" top_delta="0"/> <button - follows="right|top" + follows="left|top" height="23" label="Set" layout="topleft" - left_pad="149" + left_pad="3" name="set_media_url" width="70" top_delta="0"/> @@ -1985,7 +1992,8 @@ Only large parcels can be listed in search. <combo_box height="23" layout="topleft" - left_pad="166" + follows="left|top" + left_pad="22" name="pass_combo" top_delta="0" width="100"> @@ -2039,14 +2047,21 @@ Only large parcels can be listed in search. top_pad="5" width="400"> (The estate owner may have limited these choices) - </text> - <panel - name="Allowed_layout_panel" - follows="top|left" - left="10" - height="170" - top_pad="8" - width="240"> + </text> + <layout_stack name="access_stack" + height="170" + follows="all" + animate="false" + left="10" + right="-10" + top_pad="8" + orientation="horizontal"> + <layout_panel + auto_resize="true" + user_resize="false" + name="Allowed_layout_panel" + height="170" + width="240"> <text type="string" length="1" @@ -2062,7 +2077,7 @@ Only large parcels can be listed in search. </text> <name_list column_padding="0" - follows="top|bottom" + follows="all" heading_height="14" height="125" layout="topleft" @@ -2070,7 +2085,7 @@ Only large parcels can be listed in search. multi_select="true" name="AccessList" tool_tip="([LISTED] listed, [MAX] max)" - width="230" /> + width="228" /> <button follows="bottom" height="23" @@ -2080,22 +2095,21 @@ Only large parcels can be listed in search. name="add_allowed" width="100" /> <button - follows="bottom" + follows="right|bottom" height="23" label="Remove" label_selected="Remove" layout="topleft" - left_pad="10" + left_pad="28" name="remove_allowed" - right="-10" width="100" /> - </panel> - <panel + </layout_panel> + <layout_panel + auto_resize="true" + user_resize="false" name="Banned_layout_panel" - follows="top|right" height="170" - width="240" - left_pad="146"> + width="240"> <text type="string" length="1" @@ -2103,7 +2117,7 @@ Only large parcels can be listed in search. height="16" label="Ban" layout="topleft" - left="0" + left="1" name="BanCheck" top="0" width="200"> @@ -2111,11 +2125,11 @@ Only large parcels can be listed in search. </text> <name_list column_padding="0" - follows="top|bottom" + follows="all" heading_height="16" height="125" layout="topleft" - left="0" + left="1" multi_select="true" draw_heading="true" name="BannedList" @@ -2135,21 +2149,21 @@ Only large parcels can be listed in search. height="23" label="Add" layout="topleft" - left="0" + left="1" name="add_banned" width="100" /> <button enabled="false" - follows="bottom" + follows="right|bottom" height="23" label="Remove" label_selected="Remove" layout="topleft" - left_pad="10" + left_pad="29" name="remove_banned" - right="-10" width="100" /> - </panel> + </layout_panel> + </layout_stack> </panel> <panel border="true" diff --git a/indra/newview/skins/default/xui/en/floater_adjust_environment.xml b/indra/newview/skins/default/xui/en/floater_adjust_environment.xml index f4a686bae1..bf97d32a5c 100644 --- a/indra/newview/skins/default/xui/en/floater_adjust_environment.xml +++ b/indra/newview/skins/default/xui/en/floater_adjust_environment.xml @@ -33,6 +33,7 @@ animate="false" orientation="horizontal"> <layout_panel border="false" + name="lp_1" bevel_style="in" auto_resize="false" user_resize="false" @@ -40,6 +41,7 @@ width="160" height="150"> <text follows="left|top" + name="ambient_lbl" height="10" layout="topleft" left="10" @@ -55,6 +57,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="blue_horizon_lbl" height="10" layout="topleft" left_delta="0" @@ -70,6 +73,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="blue_density_lbl" height="10" layout="topleft" left_delta="0" @@ -95,6 +99,7 @@ top_pad="10" width="100"/> <text follows="right|top" + name="sun_color_lbl" height="10" layout="topleft" right="-12" @@ -110,6 +115,7 @@ top_pad="5" width="60"/> <text follows="left|top" + name="cloud_color_lbl" height="10" layout="topleft" left_delta="0" @@ -142,7 +148,7 @@ layout="topleft" left_delta="0" top_pad="-13" - name="cloud_map_label" + name="water_map_label" width="80">Water Image:</text> <texture_picker height="63" layout="topleft" @@ -152,6 +158,7 @@ width="60"/> </layout_panel> <layout_panel border="false" + name="lp_2" bevel_style="in" auto_resize="false" user_resize="false" @@ -159,6 +166,7 @@ width="200" height="150"> <text follows="left|top" + name="haze_horizon_label" height="10" layout="topleft" left_delta="5" @@ -178,6 +186,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="haze_density_label" height="10" layout="topleft" left_delta="-5" @@ -197,6 +206,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="cloud_coverage_label" height="10" layout="topleft" left_delta="-5" @@ -216,6 +226,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="cloud_scale_label" height="10" layout="topleft" left_delta="-5" @@ -235,6 +246,7 @@ width="185" can_edit_text="true"/> <text follows="left|top" + name="scene_gamma_label" height="10" layout="topleft" left_delta="-5" @@ -254,6 +266,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel border="false" + name="lp_3" bevel_style="in" auto_resize="false" user_resize="false" @@ -277,6 +290,7 @@ width="150" thumb_mode="sun"/> <text follows="left|top" + name="sun_azimuth_label" height="10" layout="topleft" left_delta="0" @@ -296,6 +310,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="sun_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -324,6 +339,7 @@ top_pad="8" follows="left|top"/> <text follows="left|top" + name="scale_label" height="10" layout="topleft" left_pad="95" @@ -343,6 +359,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="glow_focus_label" height="10" layout="topleft" left_delta="-5" @@ -362,6 +379,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="glow_size_label" height="10" layout="topleft" left_delta="-5" @@ -381,6 +399,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="star_brightness_label" height="10" layout="topleft" left_delta="-5" @@ -401,6 +420,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel border="false" + name="lp_4" bevel_style="in" auto_resize="false" user_resize="false" @@ -424,6 +444,7 @@ width="150" thumb_mode="moon"/> <text follows="left|top" + name="moon_azimuth_label" height="10" layout="topleft" left_delta="0" @@ -443,6 +464,7 @@ width="130" can_edit_text="true"/> <text follows="left|top" + name="moon_elevation_label" height="10" layout="topleft" left_delta="-5" diff --git a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml index 31c524c38a..f3d7c38a76 100644 --- a/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml +++ b/indra/newview/skins/default/xui/en/floater_edit_ext_day_cycle.xml @@ -270,6 +270,7 @@ word_wrap="true"/> <layout_stack + name="track_options_ls" follows="all" height="200" animate="false" @@ -277,6 +278,7 @@ left="0" orientation="horizontal"> <layout_panel + name="track_options_lp" border="false" bevel_style="in" auto_resize="false" @@ -312,6 +314,7 @@ </layout_panel> <layout_panel + name="track_progress_lp" border="false" bevel_style="in" auto_resize="false" @@ -457,6 +460,7 @@ </layout_stack> </layout_panel> <layout_panel + name="frames_lp" border="false" bevel_style="in" auto_resize="false" diff --git a/indra/newview/skins/default/xui/en/floater_experienceprofile.xml b/indra/newview/skins/default/xui/en/floater_experienceprofile.xml index f275fec066..588aca38e6 100644 --- a/indra/newview/skins/default/xui/en/floater_experienceprofile.xml +++ b/indra/newview/skins/default/xui/en/floater_experienceprofile.xml @@ -1,6 +1,7 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <floater + name="experience_profile" positioning="cascading" can_close="true" enabled="true" @@ -88,6 +89,7 @@ animate="false" top="0" orientation="vertical" + name="ls1" width="315"> <layout_panel follows="all" @@ -264,6 +266,7 @@ auto_resize="false" name="marketplace panel"> <text + name="Marketplace" type="string" length="1" follows="left|top" @@ -287,6 +290,7 @@ </text> </layout_panel> <layout_panel + name="owner panel" follows="left|top|right" height="18" left="0" @@ -613,6 +617,7 @@ name="clear_btn" label="Clear Location"/> <text + name="edit_marketplace" type="string" length="1" follows="left|top|right" diff --git a/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml index a6e20880a9..45f3880a15 100644 --- a/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml +++ b/indra/newview/skins/default/xui/en/floater_fixedenvironment.xml @@ -34,6 +34,7 @@ left_delta="10" width="35" height="20" + name="info_panel_label" font="SansSerif"> Name: </text> diff --git a/indra/newview/skins/default/xui/en/floater_my_environments.xml b/indra/newview/skins/default/xui/en/floater_my_environments.xml index 6aff387dcb..4ff25de5e2 100644 --- a/indra/newview/skins/default/xui/en/floater_my_environments.xml +++ b/indra/newview/skins/default/xui/en/floater_my_environments.xml @@ -17,6 +17,7 @@ min_width="265" width="313"> <layout_stack + name="main_layout" follows="all" layout="topleft" left="5" @@ -126,6 +127,7 @@ auto_resize="false" user_resize="false" tab_group="1" + name="lp_showfolders" height="15"> <check_box follows="left|bottom" diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml index b82fe43e74..a8b4b84ab7 100644 --- a/indra/newview/skins/default/xui/en/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml @@ -273,4 +273,17 @@ <button.commit_callback function="TopObjects.ReturnAll" /> </button> + <button + follows="bottom|left" + height="23" + label="Teleport to selected" + layout="topleft" + left_pad="10" + name="teleport_btn" + enabled="false" + top_delta="0" + width="160"> + <button.commit_callback + function="TopObjects.TeleportToSelected" /> +</button> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index f72d1f0bf9..7db316f498 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -794,14 +794,36 @@ name="LandShow" tear_off="true"> <menu_item_check - label="Ban Lines" - name="Ban Lines"> + label="Hide Ban Lines" + name="Hide Ban Lines"> <menu_item_check.on_check - control="ShowBanLines" /> + function="World.CheckBanLines" + parameter="0" /> <menu_item_check.on_click - function="ToggleControl" - parameter="ShowBanLines" /> + function="World.ShowBanLines" + parameter="0" /> + </menu_item_check> + <menu_item_check + label="Show Ban Lines On Collision" + name="Show Ban Lines On Collision"> + <menu_item_check.on_check + function="World.CheckBanLines" + parameter="1" /> + <menu_item_check.on_click + function="World.ShowBanLines" + parameter="1" /> + </menu_item_check> + <menu_item_check + label="Show Ban Lines On Proximity" + name="Show Ban Lines On Proximity"> + <menu_item_check.on_check + function="World.CheckBanLines" + parameter="2" /> + <menu_item_check.on_click + function="World.ShowBanLines" + parameter="2" /> </menu_item_check> + <menu_item_separator /> <menu_item_check label="Beacons" name="beacons" diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml index de9ac4247f..a9d99dad27 100644 --- a/indra/newview/skins/default/xui/en/mime_types.xml +++ b/indra/newview/skins/default/xui/en/mime_types.xml @@ -309,6 +309,17 @@ media_plugin_cef </impl> </mimetype> + <mimetype name="application/octet-stream"> + <label name="application/octet-stream_label"> + Stream + </label> + <widgettype> + movie + </widgettype> + <impl> + media_plugin_libvlc + </impl> + </mimetype> <mimetype name="audio/mid"> <label name="audio/mid_label"> Audio (MIDI) @@ -474,6 +485,17 @@ media_plugin_libvlc </impl> </mimetype> + <mimetype name="video/x-flv"> + <label name="video/x-flv_label"> + Movie (flv) + </label> + <widgettype> + movie + </widgettype> + <impl> + media_plugin_libvlc + </impl> + </mimetype> <mimetype name="application/octet-stream"> <label name="video/octet-stream"> Movie diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml index 2d96708b86..7fa0a676dd 100644 --- a/indra/newview/skins/default/xui/en/mime_types_mac.xml +++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml @@ -287,6 +287,17 @@ media_plugin_cef </impl> </mimetype> + <mimetype name="application/octet-stream"> + <label name="application/octet-stream_label"> + Stream + </label> + <widgettype> + movie + </widgettype> + <impl> + media_plugin_libvlc + </impl> + </mimetype> <mimetype name="audio/mid"> <label name="audio/mid_label"> Audio (MIDI) @@ -452,6 +463,17 @@ media_plugin_libvlc </impl> </mimetype> + <mimetype name="video/x-flv"> + <label name="video/x-flv_label"> + Movie (flv) + </label> + <widgettype> + movie + </widgettype> + <impl> + media_plugin_libvlc + </impl> + </mimetype> <mimetype menu="1" name="video/quicktime"> <label name="video/quicktime_label"> Movie (QuickTime) diff --git a/indra/newview/skins/default/xui/en/panel_experience_info.xml b/indra/newview/skins/default/xui/en/panel_experience_info.xml index 70d8a4fc64..5b6dab3ac6 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_info.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_info.xml @@ -44,6 +44,7 @@ width="315" min_width="315"> <layout_stack + name="ls1" follows="all" height="480" layout="topleft" @@ -73,6 +74,7 @@ width="290" /> </layout_panel> <layout_panel + name="title panel" follows="all" height="19" layout="topleft" @@ -203,6 +205,7 @@ </text> </layout_panel> <layout_panel + name="details panel" follows="left|top|right" height="69" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_experience_list_item.xml b/indra/newview/skins/default/xui/en/panel_experience_list_item.xml index a9777c51e7..58c18b8bb1 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_list_item.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_list_item" layout="topleft" top="100" left="5" diff --git a/indra/newview/skins/default/xui/en/panel_experience_log.xml b/indra/newview/skins/default/xui/en/panel_experience_log.xml index 6869a135d8..bf7295b187 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_log.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_log.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_log" layout="topleft" top="3" left="3" @@ -16,6 +17,7 @@ name="loading" value="loading..."/> <layout_stack + name="ls1" layout="topleft" top="0" left="4" @@ -24,6 +26,7 @@ orientation="vertical" follows="all"> <layout_panel + name="list panel" layout="topleft" top="0" left="1" diff --git a/indra/newview/skins/default/xui/en/panel_experience_search.xml b/indra/newview/skins/default/xui/en/panel_experience_search.xml index 99ad3e7fe3..c2fe9fb085 100644 --- a/indra/newview/skins/default/xui/en/panel_experience_search.xml +++ b/indra/newview/skins/default/xui/en/panel_experience_search.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experience_search" layout="topleft" top="18" left="0" @@ -44,6 +45,7 @@ top="0" name="search_panel"> <text + name="lbl name part" left="0" follows="top|left|right" right="-1"> @@ -63,6 +65,7 @@ height="18" name="find"/> <text + name="lbl max content rating" top_pad="6" left="0" follows="top|left" diff --git a/indra/newview/skins/default/xui/en/panel_experiences.xml b/indra/newview/skins/default/xui/en/panel_experiences.xml index 7691e684c0..9d30615442 100644 --- a/indra/newview/skins/default/xui/en/panel_experiences.xml +++ b/indra/newview/skins/default/xui/en/panel_experiences.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + name="panel_experiences" layout="topleft" top="3" left="3" diff --git a/indra/newview/skins/default/xui/en/panel_script_experience.xml b/indra/newview/skins/default/xui/en/panel_script_experience.xml index e798638751..9ae5b201a6 100644 --- a/indra/newview/skins/default/xui/en/panel_script_experience.xml +++ b/indra/newview/skins/default/xui/en/panel_script_experience.xml @@ -48,23 +48,28 @@ layout="topleft" visible="false"> <layout_panel width="120" - height="140"> - <text > + height="140" + name="xp_layout_panel"> + <text name="lbl_script"> Script: </text> - <text bottom_delta="25"> + <text bottom_delta="25" + name="lbl_associated"> Associated with: </text> - <text bottom_delta="25"> + <text bottom_delta="25" + name="lbl_contribute"> You can contribute: </text> - <text bottom_delta="25"> + <text bottom_delta="25" + name="lbl_associate"> Associate with: </text> </layout_panel> <layout_panel width="250" - height="140"> + height="140" + name="xp_choose_panel"> <text > EasySit Animator 1.2.4 </text> diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml index 6f82a0efa1..fa2d4dfe73 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_atmos.xml @@ -8,6 +8,7 @@ name="panel_settings_sky_atmos" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -16,6 +17,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="top_lp" border="true" bevel_style="in" auto_resize="false" @@ -24,6 +26,7 @@ height="75"> <text + name="ambient_color_label" follows="left|top" height="10" layout="topleft" @@ -43,6 +46,7 @@ top_pad="5" width="60" /> <text + name="blue_horizon_label" follows="left" height="10" layout="topleft" @@ -62,6 +66,7 @@ top_pad="5" width="60" /> <text + name="blue_density_label" follows="left" height="10" layout="topleft" @@ -82,6 +87,7 @@ width="60" /> </layout_panel> <layout_panel + name="bottom_lp" border="true" bevel_style="in" auto_resize="true" @@ -95,6 +101,7 @@ follows="left|top|right|bottom" orientation="hoizontal"> <layout_panel + name="left_lp" border="false" bevel_style="in" auto_resize="true" @@ -102,6 +109,7 @@ visible="true" min_width="225"> <text + name="haze_horizon_label" follows="left|top" height="10" layout="topleft" @@ -125,6 +133,7 @@ width="207" can_edit_text="true"/> <text + name="haze_density_label" follows="left|top" height="10" layout="topleft" @@ -148,6 +157,7 @@ width="207" can_edit_text="true"/> <text + name="moisture_level_label" follows="left|top" height="10" layout="topleft" @@ -171,6 +181,7 @@ width="207" can_edit_text="true"/> <text + name="droplet_radius_label" follows="left|top" height="10" layout="topleft" @@ -194,6 +205,7 @@ width="207" can_edit_text="true"/> <text + name="ice_level_label" follows="left|top" height="10" layout="topleft" @@ -217,6 +229,7 @@ width="207" can_edit_text="true"/> <text + name="scene_gamma_label" follows="left|top" height="10" layout="topleft" @@ -240,6 +253,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="right_lp" border="false" bevel_style="in" auto_resize="true" @@ -247,6 +261,7 @@ visible="true" min_width="225"> <text + name="density_multiplier_label" follows="left|top" height="10" layout="topleft" @@ -270,6 +285,7 @@ width="219" can_edit_text="true"/> <text + name="distance_multiplier_label" follows="left|top" height="10" layout="topleft" @@ -293,6 +309,7 @@ width="219" can_edit_text="true"/> <text + name="maximum_altitude_label" follows="left|top" height="10" layout="topleft" @@ -302,7 +319,7 @@ Maximum Altitude: </text> <slider - decimal_digits="1" + decimal_digits="2" follows="left|top" height="16" increment="0.01" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml index ac3b45d24c..9bdfa94a33 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml @@ -9,6 +9,7 @@ name="panel_settings_sky_clouds" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -17,6 +18,7 @@ bottom="-5" orientation="hoizontal"> <layout_panel + name="left_lp" border="true" bevel_style="in" auto_resize="true" @@ -24,6 +26,7 @@ visible="true" height="75"> <text + name="cloud_color_label" follows="left|top" height="10" layout="topleft" @@ -43,6 +46,7 @@ top_pad="5" width="60" /> <text + name="cloud_coverage_label" follows="left|top" height="10" layout="topleft" @@ -66,6 +70,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_scale_label" follows="left|top" height="10" layout="topleft" @@ -89,6 +94,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_variance_label" follows="left|top" height="10" layout="topleft" @@ -112,6 +118,7 @@ width="214" can_edit_text="true"/> <text + name="cloud_scroll_label" follows="left|top" height="10" layout="topleft" @@ -135,6 +142,7 @@ logarithmic="1"/> <text + name="cloud_image_label" follows="left|top" height="10" layout="topleft" @@ -152,6 +160,7 @@ width="100"/> </layout_panel> <layout_panel + name="right_lp" border="true" bevel_style="in" auto_resize="true" @@ -159,6 +168,7 @@ visible="true" height="75"> <text + name="cloud_density_label" follows="left|top" height="10" layout="topleft" @@ -213,6 +223,7 @@ width="200" can_edit_text="true"/> <text + name="cloud_detail_label" follows="left|top" height="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml index b3a33961bc..9b37896979 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_density.xml @@ -9,6 +9,7 @@ name="panel_settings_sky_density" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -17,6 +18,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="lp_1" border="true" bevel_style="in" auto_resize="true" @@ -96,6 +98,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="lp_2" border="true" bevel_style="in" auto_resize="true" @@ -190,6 +193,7 @@ can_edit_text="true"/> </layout_panel> <layout_panel + name="lp_3" border="true" bevel_style="in" auto_resize="true" diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml index 1ad78dbb13..35adb262bb 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_sunmoon.xml @@ -8,6 +8,7 @@ name="panel_settings_sky_hbodies" top="0"> <layout_stack + name="main_ls" follows="all" layout="topleft" left="5" @@ -24,6 +25,7 @@ name="sun_layout" height="400"> <text + name="sun_stars_label" follows="left|top" height="10" layout="topleft" @@ -34,6 +36,7 @@ Sun & Stars </text> <text + name="position_label" follows="left|top" height="10" layout="topleft" @@ -51,6 +54,7 @@ width="150" thumb_mode="sun" /> <text + name="image_label" follows="left|top" height="10" layout="topleft" @@ -67,6 +71,7 @@ top_pad="10" width="100"/> <text + name="scale_label" follows="left|top" height="10" layout="topleft" @@ -90,6 +95,7 @@ width="130" can_edit_text="true"/> <text + name="color_label" follows="left|top" height="10" layout="topleft" @@ -110,6 +116,7 @@ width="60" /> <text follows="left|top" + name="sun_azimuth_label" height="10" layout="topleft" left_delta="-235" @@ -133,6 +140,7 @@ can_edit_text="true"/> <text follows="left|top" + name="sun_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -155,6 +163,7 @@ width="215" can_edit_text="true"/> <text + name="glow_focus_label" follows="left|top" height="10" layout="topleft" @@ -178,6 +187,7 @@ width="215" can_edit_text="true"/> <text + name="glow_size_label" follows="left|top" height="10" layout="topleft" @@ -201,6 +211,7 @@ width="215" can_edit_text="true"/> <text + name="star_brightness_label" follows="left|top" height="10" layout="topleft" @@ -237,6 +248,7 @@ </layout_panel> <layout_panel + name="moon_layout" border="false" bevel_style="in" auto_resize="true" @@ -244,6 +256,7 @@ visible="true" height="400"> <layout_stack + name="moon_stack" left="5" top="5" right="-5" @@ -259,6 +272,7 @@ name="moon_layout" height="220"> <text + name="moon_label" follows="left|top" height="10" layout="topleft" @@ -269,6 +283,7 @@ Moon </text> <text + name="position_label" follows="left|top" height="10" layout="topleft" @@ -286,6 +301,7 @@ width="150" thumb_mode="moon" /> <text + name="moon_image_label" follows="left|top" height="10" layout="topleft" @@ -302,6 +318,7 @@ top_pad="10" width="100"/> <text + name="scale_label" follows="left|top" height="10" layout="topleft" @@ -326,6 +343,7 @@ can_edit_text="true"/> <text follows="left|top" + name="moon_azimuth_label" height="10" layout="topleft" left_delta="-170" @@ -349,6 +367,7 @@ can_edit_text="true"/> <text follows="left|top" + name="moon_elevation_label" height="10" layout="topleft" left_delta="-5" @@ -371,6 +390,7 @@ width="215" can_edit_text="true"/> <text + name="brightness_label" follows="left|top" height="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_settings_water.xml b/indra/newview/skins/default/xui/en/panel_settings_water.xml index 991ce25bec..1aa42af3a8 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_water.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_water.xml @@ -17,6 +17,7 @@ bottom="-5" orientation="vertical"> <layout_panel + name="lp_top" border="true" bevel_style="in" auto_resize="false" @@ -24,6 +25,7 @@ visible="true" height="105"> <text + name="water_fog_label" follows="left|top" height="20" font="SansSerif" @@ -34,6 +36,7 @@ Water Fog: </text> <text + name="color_label" follows="left|top" height="10" layout="left|top" @@ -53,6 +56,7 @@ top_pad="5" width="60" /> <text + name="density_exponent_label" follows="left|top" height="10" top_delta="-15" @@ -75,6 +79,7 @@ width="150" can_edit_text="true"/> <text + name="underwater_modifier_label" follows="left|top" height="10" top_delta="25" @@ -101,6 +106,7 @@ height="10" layout="topleft" left_delta="165" + name="FresnelScaleText" top_delta="-53" width="150"> Fresnel Scale: @@ -141,6 +147,7 @@ </layout_panel> <layout_panel + name="lp_bottom" auto_resize="true" user_resize="false" visible="true"> @@ -152,6 +159,7 @@ follows="left|top|right|bottom" orientation="horizontal"> <layout_panel + name="lp_left" border="true" bevel_style="in" auto_resize="true" @@ -160,6 +168,7 @@ min_width="460" width="50"> <text + name="normal_map_label" follows="left|top|right" height="16" layout="topleft" @@ -177,6 +186,7 @@ width="61"/> <text + name="large_wave_speed_label" follows="left|top" height="16" width="120" @@ -202,6 +212,7 @@ arrow_color="white"/> <text + name="small_wave_speed_label" follows="left|top" height="16" layout="topleft" @@ -226,6 +237,7 @@ arrow_color="white"/> <text + name="reflection_wavelet_scale_label" follows="left|top|right" height="16" layout="topleft" @@ -277,6 +289,7 @@ </layout_panel> <layout_panel + name="lp_right" border="true" bevel_style="in" auto_resize="true" @@ -284,6 +297,7 @@ width="50" visible="true"> <text + name="refraction_and_blur_label" follows="left|top" height="20" font="SansSerif" @@ -294,6 +308,7 @@ Refraction And Blur: </text> <text + name="refraction_scale_above_label" follows="left|top|right" height="16" layout="topleft" @@ -318,6 +333,7 @@ width="200" can_edit_text="true" /> <text + name="refraction_scale_below_label" type="string" length="1" follows="left|top|right" @@ -344,6 +360,7 @@ width="200" can_edit_text="true"/> <text + name="blur_multiplier_label" follows="left|top|right" font="SansSerif" height="16" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 01f5b513c7..0b19ad1473 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -233,7 +233,7 @@ If you feel this is an error, please contact support@secondlife.com</string> <string name="TooltipForSaleL$">For Sale: L$[AMOUNT]</string> <!-- L$ version --> <string name="TooltipFlagGroupBuild">Group Build</string> <string name="TooltipFlagNoBuild">No Build</string> - <string name="TooltipFlagNoEdit">Group Build</string> + <string name="TooltipFlagNoEdit">No Edit</string> <string name="TooltipFlagNotSafe">Not Safe</string><!-- damage area --> <string name="TooltipFlagNoFly">No Fly</string> <string name="TooltipFlagGroupScripts">Group Scripts</string> diff --git a/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml b/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml index 0f3f0159db..eb665fd3cb 100644 --- a/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml +++ b/indra/newview/skins/default/xui/en/widgets/density_ctrl.xml @@ -13,6 +13,7 @@ follows="left|top" height="11" layout="topleft" + name="exponential_term_label" left="15" top_pad="-5" width="120"> @@ -45,6 +46,7 @@ Exponential Term follows="left|top" height="11" layout="topleft" + name="exponential_scale_factor_label" left="15" top_pad="-5" width="120"> @@ -69,6 +71,7 @@ Exponential Scale Factor follows="left|top" height="11" layout="topleft" + name="linear_term_label" left="15" top_pad="-5" width="120"> @@ -93,6 +96,7 @@ Linear Term follows="left|top" height="11" layout="topleft" + name="constant_term_label" left="15" top_pad="-5" width="120"> @@ -117,6 +121,7 @@ Constant Term follows="left|top" height="11" layout="topleft" + name="max_altitude_label" left="15" top_pad="15" width="80"> diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml index f59f534908..e14ba32f69 100644 --- a/indra/newview/skins/default/xui/es/floater_about.xml +++ b/indra/newview/skins/default/xui/es/floater_about.xml @@ -29,6 +29,7 @@ con contribuciones de código abierto de:</text> 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly y Mark Adler. El visor de Second Life usa Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (y sus licenciadores). Reservados todos los derechos. Vea los detalles en www.havok.com. diff --git a/indra/newview/skins/default/xui/es/floater_chat_bar.xml b/indra/newview/skins/default/xui/es/floater_chat_bar.xml deleted file mode 100644 index 02369c9a43..0000000000 --- a/indra/newview/skins/default/xui/es/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT"> - <panel name="bottom_panel"> - <line_editor label="Pulsa aquà para chatear." name="chat_box" tool_tip="Pulsa Enter para decirlo o Ctrl+Enter para gritarlo"/> - <button name="show_nearby_chat" tool_tip="Muestra o esconde el registro del chat"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml deleted file mode 100644 index 6ac46351db..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Editar ciclo del dÃa"> - <string name="title_new"> - Crear un ciclo del dÃa nuevo - </string> - <string name="title_edit"> - Editar ciclo del dÃa - </string> - <string name="hint_new"> - Asigna un nombre al ciclo del dÃa, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el ciclo del dÃa, ajusta los controles siguientes y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <text name="hint_item1"> - - Pulsa en una pestaña para editar la configuración y el tiempo de un cielo determinado. - </text> - <text name="hint_item2"> - - Pulsa y arrastra las pestañas para ajustar los tiempos de transición. - </text> - <text name="hint_item3"> - - Usa el depurador para obtener una vista previa del ciclo del dÃa. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Añadir clave" label_selected="Añadir clave" name="WLAddKey"/> - <button label="Eliminar clave" label_selected="Eliminar clave" name="WLDeleteKey"/> - <text name="WL12am"> - 12 AM - </text> - <text name="WL3am"> - 3 AM - </text> - <text name="WL6am"> - 6 AM - </text> - <text name="WL9amHash"> - 9 AM - </text> - <text name="WL12pmHash"> - 12 PM - </text> - <text name="WL3pm"> - 3 PM - </text> - <text name="WL6pm"> - 6 PM - </text> - <text name="WL9pm"> - 9 PM - </text> - <text name="WL12am2"> - 12 AM - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Configuración del cielo: - </text> - <combo_box label="Predefinido" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Hora: - </text> - <time name="time" value="6 AM"/> - <check_box label="Convertir en mi nuevo ciclo del dÃa" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml deleted file mode 100644 index bbb9d64c6c..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Editar cielo predefinido"> - <string name="title_new"> - Crear un nuevo cielo predefinido - </string> - <string name="title_edit"> - Editar cielo predefinido - </string> - <string name="hint_new"> - Asigna un nombre al valor predefinido, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el cielo predefinido, ajusta los controles y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="hint"> - Para editar el valor predefinido, ajusta los controles y selecciona "Guardar". - </text> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMÓSFERA" name="Atmosphere"> - <text name="BHText"> - Horizonte azul - </text> - <text name="BDensText"> - Cantidad de bruma - </text> - <text name="BDensText2"> - Saturación - </text> - <text name="HDText"> - Densidad de la bruma - </text> - <text name="DensMultText"> - Densidad - </text> - <text name="WLDistanceMultText"> - Distancia - </text> - <text name="MaxAltText"> - Altitud máx. - </text> - </panel> - <panel label="LUZ" name="Lighting"> - <text name="SLCText"> - Color del sol y de la luna - </text> - <text name="WLAmbientText"> - Ambiental - </text> - <text name="SunGlowText"> - Resplandor del sol - </text> - <slider label="Visión" name="WLGlowB"/> - <slider label="Tamaño" name="WLGlowR"/> - <text name="WLStarText"> - Brillo de las estrellas - </text> - <text name="SceneGammaText"> - Gamma de la escena - </text> - <text name="TODText"> - Posición del sol y la luna - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12 AM - </text> - <text name="WL6am"> - 6 AM - </text> - <text name="WL12pmHash"> - 12 PM - </text> - <text name="WL6pm"> - 6 PM - </text> - <text name="WL12am2"> - 12 AM - </text> - <time name="WLDayTime" value="6 AM"/> - <text name="WLEastAngleText"> - Ãngulo de elevación - </text> - </panel> - <panel label="NUBES" name="Clouds"> - <text name="WLCloudColorText"> - Color de las nubes - </text> - <text name="WLCloudColorText2"> - Posición/Densidad de las nubes - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Nubosidad - </text> - <text name="WLCloudScaleText"> - Altitud de las nubes - </text> - <text name="WLCloudDetailText"> - Detalle de las nubes (Posición/Densidad) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Velocidad de las nubes: X - </text> - <check_box label="Bloquear" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Velocidad de las nubes: Y - </text> - <check_box label="Bloquear" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Convertir este valor predefinido en mi nueva configuración de cielo" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml deleted file mode 100644 index f90ad59f78..0000000000 --- a/indra/newview/skins/default/xui/es/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Editar el agua predefinida"> - <string name="title_new"> - Crear una nueva agua predefinida - </string> - <string name="title_edit"> - Editar el agua predefinida - </string> - <string name="hint_new"> - Asigna un nombre al valor predefinido, ajusta los controles para crearlo y selecciona "Guardar". - </string> - <string name="hint_edit"> - Para editar el agua predefinida, ajusta los controles y selecciona "Guardar". - </string> - <string name="combo_label"> - -Selecciona un valor predefinido- - </string> - <text name="hint"> - Para editar el valor predefinido, ajusta los controles y selecciona "Guardar". - </text> - <text name="label"> - Nombre predefinido: - </text> - <text name="note"> - Nota: Si cambias el nombre del valor predefinido, crearás un predefinido nuevo y el actual no se modificará. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Color del agua - </text> - <text name="water_fog_density_label"> - Transparencia - </text> - <text name="underwater_fog_modifier_label"> - Modificar la claridad del agua - </text> - <text name="BHText"> - Sentido de las olas grandes - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Tamaño de las ondulaciones - </text> - <text name="HDText"> - Escala de Fresnel - </text> - <text name="FresnelOffsetText"> - Coeficiente de reflexión - </text> - <text name="BHText2"> - Sentido de las olas pequeñas - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Refracción de la superficie - </text> - <text name="WaterScaleBelowText"> - Refracción bajo la superficie - </text> - <text name="MaxAltText"> - Desenfoque - </text> - <text name="BHText3"> - Vista Normal - </text> - </panel> - <check_box label="Convertir este valor predefinido en mi nueva configuración de agua" name="make_default_cb"/> - <button label="Guardar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_environment_settings.xml b/indra/newview/skins/default/xui/es/floater_environment_settings.xml deleted file mode 100644 index 7f48a26def..0000000000 --- a/indra/newview/skins/default/xui/es/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="CONFIGURACIÓN DE ENTORNO"> - <text name="note"> - Puedes personalizar la configuración del entorno de tu visor con las opciones siguientes. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Usar configuración de región" name="use_region_settings"/> - <radio_item label="Personalizar mi entorno" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: Tu configuración personalizada no estará visible para otros usuarios. - </text> - <text name="water_settings_title"> - Configuración de agua - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Cielo/Ciclo del dÃa - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Cielo invariable" name="my_sky_settings"/> - <radio_item label="Ciclo del dÃa" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Cancelar" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_facebook.xml b/indra/newview/skins/default/xui/es/floater_facebook.xml deleted file mode 100644 index 4bccc6ee57..0000000000 --- a/indra/newview/skins/default/xui/es/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLICAR EN FACEBOOK"> - <tab_container name="tabs"> - <panel label="ESTADO" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="ESTOY AQUÃ" name="panel_facebook_place"/> - <panel label="AMIGOS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_flickr.xml b/indra/newview/skins/default/xui/es/floater_flickr.xml deleted file mode 100644 index e254d8ba77..0000000000 --- a/indra/newview/skins/default/xui/es/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="COMPARTIR EN FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="CUENTA" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml b/indra/newview/skins/default/xui/es/floater_hardware_settings.xml deleted file mode 100644 index c2327c96c4..0000000000 --- a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="CONFIGURACIÓN DEL HARDWARE"> - <text name="Filtering:"> - Filtrado: - </text> - <check_box label="Filtrado anisotrópico (más lento si se activa)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="94"> - <combo_box.item label="Desactivado" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (requiere reiniciar el visor) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = brillo por defecto, más bajo = más brillo) - </text> - <text name="Enable VBO:"> - Activar VBO: - </text> - <check_box initial_value="true" label="Activar OpenGL Vertex Buffer Objects" name="vbo" tool_tip="En hardware moderno, habilitar esta opción mejora el rendimiento. Pero en hardware antiguo, el habilitarlo hace que, frecuentemente, se obtenga una implementación pobre de VBO, lo que puede provocarle caÃdas."/> - <text name="tc label"> - Activar S3TC: - </text> - <check_box initial_value="true" label="Activar la compresión de texturas (requiere reiniciar)" name="texture compression" tool_tip="Comprime las texturas de la memoria de vÃdeo, lo cual permite cargar texturas de una resolución más alta, pero con una cierta pérdida de calidad del color."/> - <slider label="Memoria para texturas (MB):" name="GraphicsCardTextureMemory" tool_tip="Cantidad de memoria asignada a las texturas. Por defecto es la memoria de la tarjeta de vÃdeo. Reducir esta cantidad puede mejorar el rendimiento, pero también hacer que las texturas se vean borrosas."/> - <spinner label="Intensidad de la niebla:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_perm_prefs.xml b/indra/newview/skins/default/xui/es/floater_perm_prefs.xml deleted file mode 100644 index 93e2088aba..0000000000 --- a/indra/newview/skins/default/xui/es/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="PERMISOS POR DEFECTO DE SUBIDA"> - <panel label="Permisos" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Compartir con el grupo" name="share_with_group"/> - <check_box label="Permitir a cualquiera que lo copie" name="everyone_copy"/> - <text name="NextOwnerLabel"> - El próximo propietario puede: - </text> - <check_box label="Modificarlo" name="next_owner_modify"/> - <check_box label="Copiarlo" name="next_owner_copy"/> - <check_box label="Revenderlo/Darlo" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Cancelar" label_selected="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_twitter.xml b/indra/newview/skins/default/xui/es/floater_twitter.xml deleted file mode 100644 index 92f4fc5bba..0000000000 --- a/indra/newview/skins/default/xui/es/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="REDACTAR" name="panel_twitter_photo"/> - <panel label="CUENTA" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Error - </text> - <text name="connection_loading_text"> - Cargando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/es/floater_voice_controls.xml b/indra/newview/skins/default/xui/es/floater_voice_controls.xml deleted file mode 100644 index eff21239be..0000000000 --- a/indra/newview/skins/default/xui/es/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="CONTROLES DE LA VOZ"> - <string name="title_nearby"> - CONFIGURACIÓN DE VOZ - </string> - <string name="title_group"> - MULTICONFERENCIA DE VOZ CON [GROUP] - </string> - <string name="title_adhoc"> - MULTICONFERENCIA DE VOZ - </string> - <string name="title_peer_2_peer"> - LLAMADA A [NAME] - </string> - <string name="no_one_near"> - Nadie cercano tiene activada la voz - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Mi avatar:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Colgar" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml deleted file mode 100644 index 82fc8ddd39..0000000000 --- a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver el perfil" name="view_profile"/> - <menu_item_call label="Añadir como amigo" name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Llamada" name="call"/> - <menu_item_call label="Teleportar" name="teleport"/> - <menu_item_call label="Invitar al grupo" name="invite_to_group"/> - <menu_item_call label="Ignorar" name="block"/> - <menu_item_call label="Designorar" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Expulsar" name="eject"/> - <menu_item_call label="Expulsar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar las texturas" name="debug"/> - <menu_item_call label="Encontrar en el mapa" name="find_on_map"/> - <menu_item_call label="Acercar el zoom" name="zoom_in"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartir" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml deleted file mode 100644 index 29ad718fdd..0000000000 --- a/indra/newview/skins/default/xui/es/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Sentarme" name="Sit Down Here"/> - <menu_item_call label="Levantarme" name="Stand Up"/> - <context_menu label="Quitarme" name="Take Off >"> - <context_menu label="Ropas" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Pantalones" name="Pants"/> - <menu_item_call label="Falda" name="Skirt"/> - <menu_item_call label="Zapatos" name="Shoes"/> - <menu_item_call label="Calcetines" name="Socks"/> - <menu_item_call label="Chaqueta" name="Jacket"/> - <menu_item_call label="Guantes" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Ropa interior" name="Self Underpants"/> - <menu_item_call label="Tatuaje" name="Self Tattoo"/> - <menu_item_call label="Alfa" name="Self Alpha"/> - <menu_item_call label="Toda la ropa" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Quitar" name="Object Detach"/> - <menu_item_call label="Quitarse todo" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambiar vestuario" name="Chenge Outfit"/> - <menu_item_call label="Editar mi vestuario" name="Edit Outfit"/> - <menu_item_call label="Editar mi anatomÃa" name="Edit My Shape"/> - <menu_item_call label="Mis amigos" name="Friends..."/> - <menu_item_call label="Mis grupos" name="Groups..."/> - <menu_item_call label="Mi perfil" name="Profile..."/> - <menu_item_call label="Depurar las texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/es/menu_name_field.xml b/indra/newview/skins/default/xui/es/menu_name_field.xml deleted file mode 100644 index 0d51fbffeb..0000000000 --- a/indra/newview/skins/default/xui/es/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Copiar Nombre mostrado" name="copy_display"/> - <menu_item_call label="Copiar Nombre de agente" name="copy_name"/> - <menu_item_call label="Copiar ID de agente" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml deleted file mode 100644 index 3899ad9e96..0000000000 --- a/indra/newview/skins/default/xui/es/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar por estatus" name="sort_status"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_check label="Ver permisos concedidos" name="view_permissions"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml deleted file mode 100644 index 1bd3efb611..0000000000 --- a/indra/newview/skins/default/xui/es/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar los iconos de grupo" name="Display Group Icons"/> - <menu_item_call label="Dejar el grupo seleccionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml deleted file mode 100644 index 1403e4db01..0000000000 --- a/indra/newview/skins/default/xui/es/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Ordenar según las intervenciones recientes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ordenar según distancia" name="sort_distance"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_check label="Ver mapa" name="view_map"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml deleted file mode 100644 index e4aaa89110..0000000000 --- a/indra/newview/skins/default/xui/es/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por los más recientes" name="sort_most"/> - <menu_item_check label="Ordenar alfabéticamente" name="sort_name"/> - <menu_item_check label="Ver los iconos de la gente" name="view_icons"/> - <menu_item_call label="Ver la lista de Residentes y Objetos ignorados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml deleted file mode 100644 index c64a93e0e5..0000000000 --- a/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de la voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_edit_classified.xml b/indra/newview/skins/default/xui/es/panel_edit_classified.xml deleted file mode 100644 index 09f87015cc..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el clasificado" name="panel_edit_classified"> - <panel.string name="location_notice"> - (se actualizará tras guardarlo) - </panel.string> - <string name="publish_label"> - Publicar - </string> - <string name="save_label"> - Guardar - </string> - <text name="title"> - Editar el clasificado - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Pulsa para elegir una imagen"/> - </panel> - <text name="Name:"> - TÃtulo: - </text> - <text name="description_label"> - Descripción: - </text> - <text name="location_label"> - Localización: - </text> - <text name="classified_location"> - cargando... - </text> - <button label="Configurar en esta posición" name="set_to_curr_location_btn"/> - <text name="category_label" value="CategorÃa:"/> - <text name="content_type_label" value="Tipo de contenido:"/> - <icons_combo_box label="Contenido general" name="content_type"> - <icons_combo_box.item label="Contenido moderado" name="mature_ci" value="Moderado"/> - <icons_combo_box.item label="Contenido general" name="pg_ci" value="General"/> - </icons_combo_box> - <check_box label="Renovar automáticamente cada semana" name="auto_renew"/> - <text name="price_for_listing_label" value="Precio por publicarlo:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Precio por publicarlo." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_edit_pick.xml b/indra/newview/skins/default/xui/es/panel_edit_pick.xml deleted file mode 100644 index cda465da9c..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el destacado" name="panel_edit_pick"> - <panel.string name="location_notice"> - (se actualizará tras guardarlo) - </panel.string> - <text name="title"> - Editar el destacado - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Pulsa para elegir una imagen"/> - <text name="Name:"> - TÃtulo: - </text> - <text name="description_label"> - Descripción: - </text> - <text name="location_label"> - Posición: - </text> - <text name="pick_location"> - cargando... - </text> - <button label="Configurar en mi posición" 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="Guardar" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_edit_profile.xml b/indra/newview/skins/default/xui/es/panel_edit_profile.xml deleted file mode 100644 index 8e5e09cfec..0000000000 --- a/indra/newview/skins/default/xui/es/panel_edit_profile.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar el perfil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Prueba"/> - <string name="AcctTypeCharterMember" value="Miembro fundador"/> - <string name="AcctTypeEmployee" value="Empleado de Linden Lab"/> - <string name="PaymentInfoUsed" value="Ha usado una forma de pago"/> - <string name="PaymentInfoOnFile" value="Hay infor. de la forma de pago"/> - <string name="NoPaymentInfoOnFile" value="Sin infor. de la forma de pago"/> - <string name="AgeVerified" value="Edad verificada"/> - <string name="NotAgeVerified" value="Edad no verificada"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=es - </string> - <string name="no_partner_text" value="Ninguno"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nombre mostrado:"/> - <text name="solo_username_label" value="Nombre de usuario:"/> - <button name="set_name" tool_tip="Configurar nombre mostrado"/> - <text name="user_label" value="Nombre de usuario:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Pulsa para elegir una imagen"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mundo real:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Pulsa para elegir una imagen"/> - <text name="title_homepage_text"> - Web: - </text> - <check_box label="Mostrarme en los resultados de la búsqueda" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mi cuenta:"/> - <text_editor name="acc_status_text" value="Residente. No ha aportado información de pago."/> - <text name="my_account_link" value="[[URL] Ir a mi Panel de Control]"/> - <text name="title_partner_text" value="Mi compañero/a:"/> - <panel name="partner_data_panel"> - <text initial_value="(obteniendo)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Editar]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Guardar cambios" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_account.xml b/indra/newview/skins/default/xui/es/panel_facebook_account.xml deleted file mode 100644 index 2b6d407ad7..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Estás conectado a Facebook como:"/> - <string name="facebook_disconnected" value="No conectado a Facebook"/> - <text name="account_caption_label"> - No conectado a Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprende a publicar en Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_friends.xml b/indra/newview/skins/default/xui/es/panel_facebook_friends.xml deleted file mode 100644 index 5557c0a73c..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Actualmente no tienes amigos en Facebook que también sean residentes de Second Life. Invita a tus amigos de Facebook a que se unan a Second Life."/> - <string name="facebook_friends_no_connected" value="Actualmente no estás conectado a Facebook. Selecciona la pestaña Estado para conectarte y habilitar esta función."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amigos de SL"/> - <accordion_tab name="tab_suggested_friends" title="Agregar estas personas como amigos de SL"/> - </accordion> - <text name="facebook_friends_status"> - No conectado a Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_photo.xml b/indra/newview/skins/default/xui/es/panel_facebook_photo.xml deleted file mode 100644 index 5a533f8bcb..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - <combo_box.item label="1200 × 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sÃ/no"/> - <text name="caption_label"> - Comentario (opcional): - </text> - <button label="Publicar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_place.xml b/indra/newview/skins/default/xui/es/panel_facebook_place.xml deleted file mode 100644 index 29f6147f23..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Cuenta algo del lugar donde te encuentras: - </text> - <check_box initial_value="false" label="Incluye una vista general del lugar" name="add_place_view_cb"/> - <button label="Publicar" name="post_place_btn"/> - <button label="Cancelar" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_facebook_status.xml b/indra/newview/skins/default/xui/es/panel_facebook_status.xml deleted file mode 100644 index e6f137b750..0000000000 --- a/indra/newview/skins/default/xui/es/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Estás conectado a Facebook como:"/> - <string name="facebook_disconnected" value="No conectado a Facebook"/> - <text name="account_caption_label"> - No conectado a Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprende a publicar en Facebook] - </text> - </panel> - <text name="status_caption_label"> - ¿En qué estás pensando? - </text> - <button label="Publicar" name="post_status_btn"/> - <button label="Cancelar" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_flickr_account.xml b/indra/newview/skins/default/xui/es/panel_flickr_account.xml deleted file mode 100644 index 7dcf5b5595..0000000000 --- a/indra/newview/skins/default/xui/es/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Estás conectado a Flickr como:"/> - <string name="flickr_disconnected" value="No conectado a Flickr"/> - <text name="account_caption_label"> - No estás conectado a Flickr. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Aprende a publicar en Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_flickr_photo.xml b/indra/newview/skins/default/xui/es/panel_flickr_photo.xml deleted file mode 100644 index f8cc8c1de7..0000000000 --- a/indra/newview/skins/default/xui/es/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sÃ/no"/> - <text name="title_label"> - TÃtulo: - </text> - <text name="description_label"> - Descripción: - </text> - <check_box initial_value="true" label="Incluir la ubicación de SL al final de la descripción" name="add_location_cb"/> - <text name="tags_label"> - Etiquetas: - </text> - <text name="tags_help_label"> - Separa las etiquetas con espacios -Usa "" para las etiquetas con varias palabras - </text> - <combo_box name="rating_combobox" tool_tip="Calificación de contenido de Flickr"> - <combo_box.item label="Calificación segura de Flickr" name="SafeRating"/> - <combo_box.item label="Calificación moderada de Flickr" name="ModerateRating"/> - <combo_box.item label="Calificación restringida de Flickr" name="RestrictedRating"/> - </combo_box> - <button label="Compartir" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_group_control_panel.xml b/indra/newview/skins/default/xui/es/panel_group_control_panel.xml deleted file mode 100644 index b398293175..0000000000 --- a/indra/newview/skins/default/xui/es/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Perfil del grupo" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Llamar al grupo" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir los controles de la voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml deleted file mode 100644 index f218324d50..0000000000 --- a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Añadir como amigo" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleportar" name="teleport_btn" tool_tip="Ofrecer teleporte a esta persona"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Compartir" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Pagar" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Llamar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Colgar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de la voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_pick_info.xml b/indra/newview/skins/default/xui/es/panel_pick_info.xml deleted file mode 100644 index 3450279b4a..0000000000 --- a/indra/newview/skins/default/xui/es/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Datos del destacado"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nombre]"/> - <text_editor name="pick_location" value="[cargando...]"/> - <text_editor name="pick_desc" value="[descripción]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleporte" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Editar" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_picks.xml b/indra/newview/skins/default/xui/es/panel_picks.xml deleted file mode 100644 index 904cdd12f1..0000000000 --- a/indra/newview/skins/default/xui/es/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Destacados" name="panel_picks"> - <string name="no_picks" value="No hay destacados"/> - <string name="no_classifieds" value="No hay clasificados"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Destacados"/> - <accordion_tab name="tab_classifieds" title="Clasificados"/> - </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="Crear un nuevo destacado o clasificado de la posición actual"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Información" name="info_btn" tool_tip="Mostrar la información del destacado"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a esta zona"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Mostrar esta zona en el mapa del mundo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_profile_interests.xml b/indra/newview/skins/default/xui/es/panel_profile_interests.xml deleted file mode 100644 index 86dd63390c..0000000000 --- a/indra/newview/skins/default/xui/es/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Intereses" name="panel_profile_interests"> - <text name="I Want To:"> - Quiero: - </text> - <check_box label="Construye" name="chk0"/> - <check_box label="Explora" name="chk1"/> - <check_box label="Conoce" name="chk2"/> - <check_box label="Encuentra empleo" name="chk6"/> - <check_box label="Agrupa" name="chk3"/> - <check_box label="Compra" name="chk4"/> - <check_box label="Vende" name="chk5"/> - <check_box label="Contrata" name="chk7"/> - <line_editor name="want_to_edit"> - (cargando...) - </line_editor> - <text name="Skills:"> - Habilidades: - </text> - <check_box label="Texturas" name="schk0"/> - <check_box label="Arquitectura" name="schk1"/> - <check_box label="Modelo" name="schk3"/> - <check_box label="Planificación de eventos" name="schk2"/> - <check_box label="Preparación de scripts" name="schk4"/> - <check_box label="Personajes personalizados" name="schk5"/> - <line_editor name="skills_edit"> - (cargando...) - </line_editor> - <text name="Languages:"> - Idiomas: - </text> - <line_editor name="languages_edit"> - (cargando...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_twitter_account.xml b/indra/newview/skins/default/xui/es/panel_twitter_account.xml deleted file mode 100644 index f51af64b05..0000000000 --- a/indra/newview/skins/default/xui/es/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Estás conectado a Twitter como:"/> - <string name="twitter_disconnected" value="No conectado a Twitter"/> - <text name="account_caption_label"> - No estás conectado a Twitter. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Aprende a publicar en Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/es/panel_twitter_photo.xml b/indra/newview/skins/default/xui/es/panel_twitter_photo.xml deleted file mode 100644 index 0ae790514a..0000000000 --- a/indra/newview/skins/default/xui/es/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - ¿Qué está ocurriendo? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Incluir ubicación de SL" name="add_location_cb"/> - <check_box initial_value="true" label="Incluir una foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Resolución de imagen"> - <combo_box.item label="Ventana actual" name="CurrentWindow"/> - <combo_box.item label="640 × 480" name="640x480"/> - <combo_box.item label="800 × 600" name="800x600"/> - <combo_box.item label="1024 × 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagen"> - <combo_box.item label="Sin filtro" name="NoFilter"/> - </combo_box> - <button label="Actualizar" name="new_snapshot_btn" tool_tip="Pulsa para actualizar"/> - <button label="Vista previa" name="big_preview_btn" tool_tip="Pulsa para alternar entre vista previa sÃ/no"/> - <button label="Tuitear" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/floater_about.xml b/indra/newview/skins/default/xui/fr/floater_about.xml index df6b61e293..09da1fb5fd 100644 --- a/indra/newview/skins/default/xui/fr/floater_about.xml +++ b/indra/newview/skins/default/xui/fr/floater_about.xml @@ -29,6 +29,7 @@ avec les contributions Open Source de :</text> 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-Loup Gailly et Mark Adler. Le client Second Life utilise Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (et ses concédants de licence). Tous droits réservés. Pour plus de détails, consultez le site Web www.havok.com. diff --git a/indra/newview/skins/default/xui/fr/floater_chat_bar.xml b/indra/newview/skins/default/xui/fr/floater_chat_bar.xml deleted file mode 100644 index 7dcb9a280d..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT PRÈS DE MOI"> - <panel name="bottom_panel"> - <line_editor label="Cliquer ici pour chatter." name="chat_box" tool_tip="Appuyer sur Entrée pour dire, Ctrl+Entrée pour crier"/> - <button name="show_nearby_chat" tool_tip="Afficher/masquer le journal de chat près de vous."/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml deleted file mode 100644 index 5ec68458e1..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Modifier un cycle du jour"> - <string name="title_new"> - Créer un nouveau cycle du jour - </string> - <string name="title_edit"> - Modifier un cycle du jour - </string> - <string name="hint_new"> - Donnez un nom au cycle du jour, ajustez les contrôles afin de le créer, puis cliquez sur Enregistrer. - </string> - <string name="hint_edit"> - Pour modifier le cycle du jour, ajustez les contrôles ci-dessous, puis cliquez sur Enregistrer. - </string> - <string name="combo_label"> - -Effectuer une sélection- - </string> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <text name="hint_item1"> - - Modifier un réglage de ciel/heure : clic sur le repère - </text> - <text name="hint_item2"> - - Heures de transition : clic-glissement des repères - </text> - <text name="hint_item3"> - - Aperçu du cycle du jour : déplacement du triangle - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Ajouter clé" label_selected="Ajouter clé" name="WLAddKey"/> - <button label="Supprimer clé" label_selected="Supprimer clé" name="WLDeleteKey"/> - <text name="WL12am"> - Min. - </text> - <text name="WL3am"> - 3h - </text> - <text name="WL6am"> - 6h - </text> - <text name="WL9amHash"> - 9h - </text> - <text name="WL12pmHash"> - Midi - </text> - <text name="WL3pm"> - 15h - </text> - <text name="WL6pm"> - 18h - </text> - <text name="WL9pm"> - 21h - </text> - <text name="WL12am2"> - Min. - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Régl. ciel : - </text> - <combo_box label="Préréglage" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - H. : - </text> - <time name="time" value="6h"/> - <check_box label="Appliquer ce nouveau cycle du jour" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml deleted file mode 100644 index 47293a6342..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Modifier un préréglage du ciel"> - <string name="title_new"> - Créer un nouveau préréglage du ciel - </string> - <string name="title_edit"> - Modifier un préréglage du ciel - </string> - <string name="hint_new"> - Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur "Enregistrer". - </string> - <string name="hint_edit"> - Pour modifier le préréglage du ciel, ajustez les contrôles, puis cliquez sur "Enregistrer". - </string> - <string name="combo_label"> - -Sélectionner un préréglage- - </string> - <text name="hint"> - Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur "Enregistrer". - </text> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSPHÈRE" name="Atmosphere"> - <text name="BHText"> - Horizon bleu - </text> - <text name="BDensText"> - Horizon brumeux - </text> - <text name="BDensText2"> - Densité bleue - </text> - <text name="HDText"> - Densité brumeuse - </text> - <text name="DensMultText"> - Multiplicateur de densité - </text> - <text name="WLDistanceMultText"> - Multiplicateur de distance - </text> - <text name="MaxAltText"> - Altitude maximum - </text> - </panel> - <panel label="LUMIÈRE" name="Lighting"> - <text name="SLCText"> - Couleur soleil/lune - </text> - <text name="WLAmbientText"> - Ambiante - </text> - <text name="SunGlowText"> - Rayonnement du soleil - </text> - <slider label="Netteté" name="WLGlowB"/> - <slider label="Taille" name="WLGlowR"/> - <text name="WLStarText"> - Éclat des étoiles - </text> - <text name="SceneGammaText"> - Gamma de la scène - </text> - <text name="TODText"> - Position soleil/lune - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - Min. - </text> - <text name="WL6am"> - 6h - </text> - <text name="WL12pmHash"> - Midi - </text> - <text name="WL6pm"> - 18h - </text> - <text name="WL12am2"> - Min. - </text> - <time name="WLDayTime" value="6h"/> - <text name="WLEastAngleText"> - Angle du levant - </text> - </panel> - <panel label="NUAGES" name="Clouds"> - <text name="WLCloudColorText"> - Couleur des nuages - </text> - <text name="WLCloudColorText2"> - Nuages - XY/Densité - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Couverture nuageuse - </text> - <text name="WLCloudScaleText"> - Altitude des nuages - </text> - <text name="WLCloudDetailText"> - Détails des nuages (XY/Densité) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Défilement des nuages X - </text> - <check_box label="Verrouillage" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Défilement des nuages Y - </text> - <check_box label="Verrouillage" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Appliquer ce nouveau préréglage pour le ciel" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml deleted file mode 100644 index 08dced834d..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Modifier un préréglage de l'eau"> - <string name="title_new"> - Créer un nouveau préréglage de l'eau - </string> - <string name="title_edit"> - Modifier un préréglage de l'eau - </string> - <string name="hint_new"> - Donnez un nom à votre préréglage, ajustez les contrôles afin de le créer, puis cliquez sur "Enregistrer". - </string> - <string name="hint_edit"> - Pour modifier le préréglage de l'eau, ajustez les contrôles, puis cliquez sur "Enregistrer". - </string> - <string name="combo_label"> - -Sélectionner un préréglage- - </string> - <text name="hint"> - Pour modifier le préréglage, ajustez les contrôles, puis cliquez sur "Enregistrer". - </text> - <text name="label"> - Nom du préréglage : - </text> - <text name="note"> - Remarque : Si vous changez votre préréglage de nom, un nouveau préréglage sera créé et celui existant restera tel quel. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Couleur du brouillard dans l'eau - </text> - <text name="water_fog_density_label"> - Exposant densité de brouillard - </text> - <text name="underwater_fog_modifier_label"> - Modificateurs de brouillard sous-marin - </text> - <text name="BHText"> - Direction grande vague - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Échelle d'ondelettes à réflexion - </text> - <text name="HDText"> - Échelle Fresnel - </text> - <text name="FresnelOffsetText"> - Décalage Fresnel - </text> - <text name="BHText2"> - Direction petite vague - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Échelle de réfraction au-dessus - </text> - <text name="WaterScaleBelowText"> - Échelle de réfraction en-dessous - </text> - <text name="MaxAltText"> - Multiplicateur de flou - </text> - <text name="BHText3"> - Carte normale - </text> - </panel> - <check_box label="Appliquer ce nouveau préréglage pour l'eau" name="make_default_cb"/> - <button label="Enregistrer" name="save"/> - <button label="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml b/indra/newview/skins/default/xui/fr/floater_environment_settings.xml deleted file mode 100644 index e438fcbf42..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="PARAMÈTRES D'ENVIRONNEMENT"> - <text name="note"> - Utilisez les options ci-dessous pour personnaliser l'environnement de votre client. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Utiliser les réglages de la région" name="use_region_settings"/> - <radio_item label="Personnaliser mon environnement" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Remarque : Les autres utilisateurs ne pourront pas voir votre configuration personnalisée. - </text> - <text name="water_settings_title"> - Réglage de l'eau - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Ciel / Cycle du jour - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Ciel fixe" name="my_sky_settings"/> - <radio_item label="Cycle du jour" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Sélectionner un préréglage-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Annuler" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_facebook.xml b/indra/newview/skins/default/xui/fr/floater_facebook.xml deleted file mode 100644 index f6e8696e53..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLIER SUR FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATUT" name="panel_facebook_status"/> - <panel label="PHOTO" name="panel_facebook_photo"/> - <panel label="INDIQUER VOTRE PRÉSENCE" name="panel_facebook_place"/> - <panel label="AMIS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - En cours de chargement... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_flickr.xml b/indra/newview/skins/default/xui/fr/floater_flickr.xml deleted file mode 100644 index 721d6aa6bf..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="PARTAGER SUR FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="PHOTO" name="panel_flickr_photo"/> - <panel label="COMPTE" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - Chargement... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml deleted file mode 100644 index bb146556ba..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="PARAMÈTRES MATÉRIELS"> - <text name="Filtering:"> - Filtres : - </text> - <check_box label="Filtre anisotrope (plus lent si activé)" name="ani"/> - <text name="antialiasing label"> - Anti-aliasing : - </text> - <combo_box label="Anti-aliasing" name="fsaa" width="84"> - <combo_box.item label="Désactivé" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (redémarrage du client requis) - </text> - <spinner label="Gamma :" name="gamma"/> - <text left="217" name="(brightness, lower is brighter)"> - (0 = défaut, valeur faible = plus lumineux) - </text> - <text name="Enable VBO:"> - Activer le VBO : - </text> - <check_box initial_value="true" label="Activer OpenGL Vertex Buffer Objects" name="vbo" tool_tip="Sur un matériel moderne, cette option permet une meilleure performance. Par contre, sur un matériel plus ancien, les VBO sont souvent mal implémentés et peuvent causer des crashs lorsqu'ils sont activés."/> - <text name="tc label"> - Activer S3TC : - </text> - <check_box initial_value="true" label="Activer la compression des textures (redémarrage requis)" name="texture compression" tool_tip="Comprime les textures en mémoire vidéo afin de permettre de charger des textures de résolution plus élevée au prix d'une certaine qualité de couleur."/> - <slider label="Mémoire textures (Mo) :" name="GraphicsCardTextureMemory" tool_tip="Quantité de mémoire à affecter aux textures. Utilise la mémoire de la carte vidéo par défaut. Si vous réduisez ce paramètre, cela peut améliorer les performances, mais les textures risquent d'être floues."/> - <spinner label="Indice du brouillard :" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_perm_prefs.xml b/indra/newview/skins/default/xui/fr/floater_perm_prefs.xml deleted file mode 100644 index 36bec80561..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="DROITS DE CHARGEMENT PAR DÉFAUT"> - <panel label="Droits" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Partager avec le groupe" name="share_with_group"/> - <check_box label="Autoriser tout le monde à copier" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Le prochain propriétaire pourra : - </text> - <check_box label="Modifier" name="next_owner_modify"/> - <check_box label="Copier" name="next_owner_copy"/> - <check_box label="Revendre/Donner" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Annuler" label_selected="Annuler" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_twitter.xml b/indra/newview/skins/default/xui/fr/floater_twitter.xml deleted file mode 100644 index 608b02dced..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="COMPOSER" name="panel_twitter_photo"/> - <panel label="COMPTE" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Erreur - </text> - <text name="connection_loading_text"> - Chargement... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml b/indra/newview/skins/default/xui/fr/floater_voice_controls.xml deleted file mode 100644 index fc4de4a5a6..0000000000 --- a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="CONTROLES DE LA VOIX"> - <string name="title_nearby"> - PARAMÈTRES VOCAUX - </string> - <string name="title_group"> - APPEL DE GROUPE AVEC [GROUP] - </string> - <string name="title_adhoc"> - CONFÉRENCE - </string> - <string name="title_peer_2_peer"> - APPEL AVEC [NAME] - </string> - <string name="no_one_near"> - Il n'y a personne près de vous avec le chat vocal activé - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Mon avatar :"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Quitter l'appel" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml deleted file mode 100644 index 53f22bb44a..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Voir le profil" name="view_profile"/> - <menu_item_call label="Devenir amis" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Appel" name="call"/> - <menu_item_call label="Téléporter" name="teleport"/> - <menu_item_call label="Inviter dans le groupe" name="invite_to_group"/> - <menu_item_call label="Ignorer" name="block"/> - <menu_item_call label="Ne plus ignorer" name="unblock"/> - <menu_item_call label="Signaler" name="report"/> - <menu_item_call label="Figer" name="freeze"/> - <menu_item_call label="Expulser" name="eject"/> - <menu_item_call label="Éjecter" name="kick"/> - <menu_item_call label="Représentant de l'Assistance client" name="csr"/> - <menu_item_call label="Déboguer les textures" name="debug"/> - <menu_item_call label="Situer sur la carte" name="find_on_map"/> - <menu_item_call label="Zoomer en avant" name="zoom_in"/> - <menu_item_call label="Payer" name="pay"/> - <menu_item_call label="Partager" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml deleted file mode 100644 index ac70df472d..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="M'asseoir" name="Sit Down Here"/> - <menu_item_call label="Me lever" name="Stand Up"/> - <context_menu label="Enlever" name="Take Off >"> - <context_menu label="Habits" name="Clothes >"> - <menu_item_call label="Chemise" name="Shirt"/> - <menu_item_call label="Pantalon" name="Pants"/> - <menu_item_call label="Jupe" name="Skirt"/> - <menu_item_call label="Chaussures" name="Shoes"/> - <menu_item_call label="Chaussettes" name="Socks"/> - <menu_item_call label="Veste" name="Jacket"/> - <menu_item_call label="Gants" name="Gloves"/> - <menu_item_call label="Débardeur" name="Self Undershirt"/> - <menu_item_call label="Caleçon" name="Self Underpants"/> - <menu_item_call label="Tatouage" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Tous les habits" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Détacher" name="Object Detach"/> - <menu_item_call label="Tout détacher" name="Detach All"/> - </context_menu> - <menu_item_call label="Changer de tenue" name="Chenge Outfit"/> - <menu_item_call label="Modifier ma tenue" name="Edit Outfit"/> - <menu_item_call label="Modifier ma silhouette" name="Edit My Shape"/> - <menu_item_call label="Mes amis" name="Friends..."/> - <menu_item_call label="Mes groupes" name="Groups..."/> - <menu_item_call label="Mon profil" name="Profile..."/> - <menu_item_call label="Déboguer les textures" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/fr/menu_name_field.xml b/indra/newview/skins/default/xui/fr/menu_name_field.xml deleted file mode 100644 index 6c3fba4110..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Copier le Nom d'affichage" name="copy_display"/> - <menu_item_call label="Copier le Nom de l'agent" name="copy_name"/> - <menu_item_call label="Copier l'ID de l'agent" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml deleted file mode 100644 index a6170a6c16..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par statut" name="sort_status"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_check label="Afficher les droits octroyés" name="view_permissions"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml deleted file mode 100644 index 34f949cf2c..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Afficher les icônes des groupes" name="Display Group Icons"/> - <menu_item_call label="Quitter le groupe sélectionné" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml deleted file mode 100644 index 8bb466b8d6..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Trier par intervenants récents" name="sort_by_recent_speakers"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Trier par distance" name="sort_distance"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_check label="Afficher la carte" name="view_map"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml deleted file mode 100644 index 93b90ae61c..0000000000 --- a/indra/newview/skins/default/xui/fr/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Trier en commençant par le plus récent" name="sort_most"/> - <menu_item_check label="Trier par nom" name="sort_name"/> - <menu_item_check label="Afficher les icônes des résidents" name="view_icons"/> - <menu_item_call label="Afficher les résidents et les objets ignorés" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml deleted file mode 100644 index 4191ba42f9..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Contrôles vocaux" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml b/indra/newview/skins/default/xui/fr/panel_edit_classified.xml deleted file mode 100644 index b892d25f26..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifier la petite annonce" name="panel_edit_classified"> - <panel.string name="location_notice"> - (mise à jour après l'enregistrement) - </panel.string> - <string name="publish_label"> - Publier - </string> - <string name="save_label"> - Enregistrer - </string> - <text name="title"> - Modifier la petite annonce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Cliquer pour sélectionner une image"/> - </panel> - <text name="Name:"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <text name="location_label"> - Lieu : - </text> - <text name="classified_location"> - en cours de chargement... - </text> - <button label="Définir sur l'emplacement actuel" name="set_to_curr_location_btn"/> - <text name="category_label" value="Catégorie :"/> - <text name="content_type_label" value="Type de contenu :"/> - <icons_combo_box label="Contenu Général" name="content_type"> - <icons_combo_box.item label="Contenu Modéré" name="mature_ci" value="Mature"/> - <icons_combo_box.item label="Contenu Général" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Renouvellement auto toutes les semaines" name="auto_renew"/> - <text name="price_for_listing_label" value="Coût de l'annonce :"/> - <spinner label="L$" name="price_for_listing" tool_tip="Coût de l'annonce." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_pick.xml b/indra/newview/skins/default/xui/fr/panel_edit_pick.xml deleted file mode 100644 index 247e18da82..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifier le favori" name="panel_edit_pick"> - <panel.string name="location_notice"> - (mise à jour après enregistrement) - </panel.string> - <text name="title"> - Modifier le favori - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - <text name="Name:"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <text name="location_label"> - Lieu : - </text> - <text name="pick_location"> - en cours de chargement... - </text> - <button label="Définir sur l'emplacement actuel" 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="Enregistrer" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml deleted file mode 100644 index 9e63c88221..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modification du profil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Résident"/> - <string name="AcctTypeTrial" value="Essai"/> - <string name="AcctTypeCharterMember" value="Membre originaire"/> - <string name="AcctTypeEmployee" value="Employé(e) de Linden Lab"/> - <string name="PaymentInfoUsed" value="Infos de paiement utilisées"/> - <string name="PaymentInfoOnFile" value="Infos de paiement enregistrées"/> - <string name="NoPaymentInfoOnFile" value="Aucune info de paiement enregistrée"/> - <string name="AgeVerified" value="Personne dont l'âge a été vérifié"/> - <string name="NotAgeVerified" value="Personne dont l'âge n'a pas été vérifié"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=fr - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Aucun"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nom d'affichage :"/> - <text name="solo_username_label" value="Nom d'utilisateur :"/> - <button name="set_name" tool_tip="Définir un nom d'affichage"/> - <text name="user_label" value="Nom d'utilisateur :"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Vie réelle :"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Cliquez pour sélectionner une image"/> - <text name="title_homepage_text"> - Page d'accueil : - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="Afficher avec la recherche" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Mon compte :"/> - <text_editor name="acc_status_text" value="Résident. Aucune info de paiement enregistrée."/> - <text name="my_account_link" value="[[URL] Accéder à ma Page d'accueil]"/> - <text name="title_partner_text" value="Mon partenaire :"/> - <panel name="partner_data_panel"> - <text initial_value="(récupération en cours)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Modifier]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Enregistrer" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annuler" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_account.xml b/indra/newview/skins/default/xui/fr/panel_facebook_account.xml deleted file mode 100644 index 6406ae4ae7..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Vous êtes connecté(e) à Facebook en tant que :"/> - <string name="facebook_disconnected" value="Pas connecté(e) à Facebook"/> - <text name="account_caption_label"> - Pas connecté(e) à Facebook. - </text> - <panel name="panel_buttons"> - <button label="Connexion..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Apprenez comment publier sur Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml b/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml deleted file mode 100644 index 0e36c2092c..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Vous n'avez actuellement aucun ami Facebook qui est également résident de Second Life. Invitez vos amis Facebook à rejoindre Second Life aujourd'hui !"/> - <string name="facebook_friends_no_connected" value="Vous n'êtes pas connecté(e) à Facebook. Allez à l'onglet Statut pour vous connecter et activer cette fonctionnalité."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amis SL"/> - <accordion_tab name="tab_suggested_friends" title="Ajouter ces personnes en tant qu'amis SL"/> - </accordion> - <text name="facebook_friends_status"> - Pas connecté(e) à Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml b/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml deleted file mode 100644 index cc4045bc74..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d’image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour basculer l'aperçu"/> - <text name="caption_label"> - Commentaire (facultatif) : - </text> - <button label="Publier" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_place.xml b/indra/newview/skins/default/xui/fr/panel_facebook_place.xml deleted file mode 100644 index f8e597450b..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Dites quelque chose au sujet du lieu où vous vous trouvez : - </text> - <check_box initial_value="false" label="Inclure la vue aérienne du lieu" name="add_place_view_cb"/> - <button label="Publier" name="post_place_btn"/> - <button label="Annuler" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_facebook_status.xml b/indra/newview/skins/default/xui/fr/panel_facebook_status.xml deleted file mode 100644 index dc8e4b9ecc..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Vous êtes connecté(e) à Facebook en tant que :"/> - <string name="facebook_disconnected" value="Pas connecté(e) à Facebook"/> - <text name="account_caption_label"> - Pas connecté(e) à Facebook. - </text> - <panel name="panel_buttons"> - <button label="Connexion en cours..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Apprenez comment publier sur Facebook] - </text> - </panel> - <text name="status_caption_label"> - À quoi pensez-vous ? - </text> - <button label="Publier" name="post_status_btn"/> - <button label="Annuler" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_flickr_account.xml b/indra/newview/skins/default/xui/fr/panel_flickr_account.xml deleted file mode 100644 index 7082223b14..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Vous êtes connecté(e) à Flickr en tant que :"/> - <string name="flickr_disconnected" value="Pas connecté(e) à Flickr"/> - <text name="account_caption_label"> - Pas connecté(e) à Flickr. - </text> - <panel name="panel_buttons"> - <button label="Connexion..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Apprenez comment publier sur Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml b/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml deleted file mode 100644 index 9dac26b165..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1 024 x 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d'image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour activer/désactiver l'aperçu"/> - <text name="title_label"> - Titre : - </text> - <text name="description_label"> - Description : - </text> - <check_box initial_value="true" label="Inclure l'emplacement SL à la fin de la description" name="add_location_cb"/> - <text name="tags_label"> - Balises : - </text> - <text name="tags_help_label"> - Séparer les balises par des espaces -Utiliser "" pour les balises contenant plusieurs mots - </text> - <combo_box name="rating_combobox" tool_tip="Catégorie de contenu Flickr"> - <combo_box.item label="Catégorie de contenu Flickr sûr" name="SafeRating"/> - <combo_box.item label="Catégorie de contenu Flickr modéré" name="ModerateRating"/> - <combo_box.item label="Catégorie de contenu Flickr réservé aux adultes" name="RestrictedRating"/> - </combo_box> - <button label="Partager" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_group_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_group_control_panel.xml deleted file mode 100644 index 3e66b3c72a..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Profil du groupe" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Appeler le groupe" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ouvrir contrôles vocaux" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml deleted file mode 100644 index 1f2169e22c..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <text name="avatar_name" value="Inconnu"/> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Devenir amis" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Téléporter" name="teleport_btn" tool_tip="Proposer de téléporter cette personne"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Partager" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Payer" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Appeler" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Quitter l'appel" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Contrôles vocaux" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_pick_info.xml b/indra/newview/skins/default/xui/fr/panel_pick_info.xml deleted file mode 100644 index 1de9b243f1..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Infos"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Téléportation" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Carte" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Modifier" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_picks.xml b/indra/newview/skins/default/xui/fr/panel_picks.xml deleted file mode 100644 index fb277f653f..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favoris" name="panel_picks"> - <string name="no_picks" value="Pas de favoris"/> - <string name="no_classifieds" value="Pas de petites annonces"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Favoris"/> - <accordion_tab name="tab_classifieds" title="Petites annonces"/> - </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="Créer un nouveau favori ou une nouvelle petite annonce à l’endroit actuel"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Infos" name="info_btn" tool_tip="Afficher les informations du favori"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Téléportation" name="teleport_btn" tool_tip="Me téléporter jusqu'à la zone correspondante"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Carte" name="show_on_map_btn" tool_tip="Afficher la zone correspondante sur la carte du monde"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_profile_interests.xml b/indra/newview/skins/default/xui/fr/panel_profile_interests.xml deleted file mode 100644 index e8212817d2..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Centres d'intérêt" name="panel_profile_interests"> - <text name="I Want To:"> - Je veux : - </text> - <check_box label="Construire" name="chk0"/> - <check_box label="Explorer" name="chk1"/> - <check_box label="Rencontrer" name="chk2"/> - <check_box label="Être recruté" name="chk6"/> - <check_box label="Grouper" name="chk3"/> - <check_box label="Acheter" name="chk4"/> - <check_box label="Vendre" name="chk5"/> - <check_box label="Louer" name="chk7"/> - <line_editor name="want_to_edit"> - (en cours de chargement...) - </line_editor> - <text name="Skills:"> - Compétences : - </text> - <check_box label="Textures" name="schk0"/> - <check_box label="Architecture" name="schk1"/> - <check_box label="Modèle" name="schk3"/> - <check_box label="Planification des événements" name="schk2"/> - <check_box label="Langage de scripts" name="schk4"/> - <check_box label="Personnages personnalisés" name="schk5"/> - <line_editor name="skills_edit"> - (en cours de chargement...) - </line_editor> - <text name="Languages:"> - Langues : - </text> - <line_editor name="languages_edit"> - (en cours de chargement...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_twitter_account.xml b/indra/newview/skins/default/xui/fr/panel_twitter_account.xml deleted file mode 100644 index ed2208c69f..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Vous êtes connecté(e) à Twitter en tant que :"/> - <string name="twitter_disconnected" value="Pas connecté(e) à Twitter"/> - <text name="account_caption_label"> - Pas connecté(e) à Twitter. - </text> - <panel name="panel_buttons"> - <button label="Connexion..." name="connect_btn"/> - <button label="Déconnexion" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Apprenez comment publier sur Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml b/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml deleted file mode 100644 index 3e23e5d577..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Que se passe-t-il ? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Inclure l'emplacement SL" name="add_location_cb"/> - <check_box initial_value="true" label="Inclure une photo" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Résolution d’image"> - <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1 024 x 768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtres d'image"> - <combo_box.item label="Aucun filtre" name="NoFilter"/> - </combo_box> - <button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquer pour actualiser"/> - <button label="Aperçu" name="big_preview_btn" tool_tip="Cliquer pour activer/désactiver l'aperçu"/> - <button label="Envoyer tweet" name="post_photo_btn"/> - <button label="Annuler" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/floater_about.xml b/indra/newview/skins/default/xui/it/floater_about.xml index edb334e13e..7e195d3ca9 100644 --- a/indra/newview/skins/default/xui/it/floater_about.xml +++ b/indra/newview/skins/default/xui/it/floater_about.xml @@ -29,6 +29,7 @@ con contributi open source da:</text> 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly e Mark Adler. Il Viewer Second Life utilizza Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e licenziatari). Tutti i diritti riservati. Per informazioni dettagliate, vedere www.havok.com. diff --git a/indra/newview/skins/default/xui/it/floater_chat_bar.xml b/indra/newview/skins/default/xui/it/floater_chat_bar.xml deleted file mode 100644 index b47e32ce90..0000000000 --- a/indra/newview/skins/default/xui/it/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="CHAT NEI DINTORNI"> - <panel name="bottom_panel"> - <line_editor label="Clicca qui per la chat." name="chat_box" tool_tip="Premi Invio per parlare, Ctrl+Invio per gridare"/> - <button name="show_nearby_chat" tool_tip="Mostra/Nasconde il registro della chat nei dintorni"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml deleted file mode 100644 index c922b2e4f7..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Modifica ciclo giornata"> - <string name="title_new"> - Crea un nuovo ciclo giornata - </string> - <string name="title_edit"> - Modifica ciclo giornata - </string> - <string name="hint_new"> - Dai un nome al ciclo della giornata, modifica i controlli per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il ciclo della giornata, modifica i controlli seguenti e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <text name="hint_item1"> - - Fai clic su una scheda per modificare gli orari e le impostazioni cielo specifiche. - </text> - <text name="hint_item2"> - - Fai clic e trascina le schede per impostare i tempi di transizione. - </text> - <text name="hint_item3"> - - Usa lo scrubber per visualizzare in anteprima il ciclo giornata. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Aggiungi chiave" label_selected="Aggiungi chiave" name="WLAddKey"/> - <button label="Tasto cancella" label_selected="Tasto cancella" name="WLDeleteKey"/> - <text name="WL12am"> - 00:00 - </text> - <text name="WL3am"> - 03:00:00 - </text> - <text name="WL6am"> - 06:00:00 - </text> - <text name="WL9amHash"> - 09:00:00 - </text> - <text name="WL12pmHash"> - 12:00:00 - </text> - <text name="WL3pm"> - 15:00:00 - </text> - <text name="WL6pm"> - 18:00:00 - </text> - <text name="WL9pm"> - 21:00:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Impostazioni cielo: - </text> - <combo_box label="Valori predefiniti" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Giorno/ora: - </text> - <time name="time" value="06:00:00"/> - <check_box label="Usa come nuovo ciclo giornata" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml deleted file mode 100644 index e2dda7da9d..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Modifica valore predefinito cielo"> - <string name="title_new"> - Crea un nuovo valore predefinito cielo - </string> - <string name="title_edit"> - Modifica valore predefinito cielo - </string> - <string name="hint_new"> - Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il valore predefinito cielo, regola i comandi e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="hint"> - Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" - </text> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Orizzonte blu - </text> - <text name="BDensText"> - Orizzonte foschia - </text> - <text name="BDensText2"> - Densità blu - </text> - <text name="HDText"> - Densità foschia - </text> - <text name="DensMultText"> - Fattore moltiplicativo densità - </text> - <text name="WLDistanceMultText"> - Fattore moltiplicativo distanza - </text> - <text name="MaxAltText"> - Altitudine massima - </text> - </panel> - <panel label="ILLUMINAZIONE" name="Lighting"> - <text name="SLCText"> - Colore sole/luna - </text> - <text name="WLAmbientText"> - Ambiente - </text> - <text name="SunGlowText"> - Bagliore sole - </text> - <slider label="Centro focale" name="WLGlowB"/> - <slider label="Dimensioni" name="WLGlowR"/> - <text name="WLStarText"> - Luminosità stella - </text> - <text name="SceneGammaText"> - Gamma scena - </text> - <text name="TODText"> - Posizione sole/luna - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 00:00 - </text> - <text name="WL6am"> - 06.00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <time name="WLDayTime" value="06:00"/> - <text name="WLEastAngleText"> - Angolo est - </text> - </panel> - <panel label="NUVOLE" name="Clouds"> - <text name="WLCloudColorText"> - Colore nuvole - </text> - <text name="WLCloudColorText2"> - XY/Densità nuvole - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Copertura nuvole - </text> - <text name="WLCloudScaleText"> - Scala nuvole - </text> - <text name="WLCloudDetailText"> - Dettaglio nuvole (XY/Densità ) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Scorrimento nuvole X - </text> - <check_box label="Blocca" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Scorrimento nuvole Y - </text> - <check_box label="Blocca" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Usa questo valore predefinito come nuova impostazione per il cielo" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml deleted file mode 100644 index 19eb6566c9..0000000000 --- a/indra/newview/skins/default/xui/it/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Modifica valore predefinito acqua"> - <string name="title_new"> - Crea un nuovo valore predefinito per l'acqua - </string> - <string name="title_edit"> - Modifica un valore predefinito per l'acqua - </string> - <string name="hint_new"> - Dai un nome al valore predefinito, regola i comandi per crearlo e fai clic su "Salva". - </string> - <string name="hint_edit"> - Per modificare il valore predefinito per l’acqua, regola i comandi e fai clic su "Salva". - </string> - <string name="combo_label"> - -Seleziona un valore predefinito- - </string> - <text name="hint"> - Per modificare il valore predefinito, regola i comandi e quindi fai clic su "Salva" - </text> - <text name="label"> - Nome predefinito: - </text> - <text name="note"> - Nota: se cambi il nome del valore predefinito, in realtà ne crei uno nuovo e quello esistente non viene cambiato. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Colore nebbia acqua - </text> - <text name="water_fog_density_label"> - Esponente densità nebbia - </text> - <text name="underwater_fog_modifier_label"> - Modificatore nebbia sott'acqua - </text> - <text name="BHText"> - Direzione onda grande - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Scala wavelet riflesso - </text> - <text name="HDText"> - Scala Fresnel - </text> - <text name="FresnelOffsetText"> - Spostamento Fresnel - </text> - <text name="BHText2"> - Direzione onda piccola - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Scala wavelet sopra - </text> - <text name="WaterScaleBelowText"> - Scala wavelet sotto - </text> - <text name="MaxAltText"> - Fattore moltiplicativo sfocatura - </text> - <text name="BHText3"> - Mappa normale - </text> - </panel> - <check_box label="Usa questo valore predefinito come nuova impostazione per l'acqua" name="make_default_cb"/> - <button label="Salva" name="save"/> - <button label="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_environment_settings.xml b/indra/newview/skins/default/xui/it/floater_environment_settings.xml deleted file mode 100644 index a7ed5f9e67..0000000000 --- a/indra/newview/skins/default/xui/it/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="IMPOSTAZIONI AMBIENTE"> - <text name="note"> - Usa le opzioni seguenti per personalizzare le impostazioni dell'ambiente per il tuo viewer. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Usa impostazioni regione" name="use_region_settings"/> - <radio_item label="Personalizza il mio ambiente" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: gli altri utenti non vedranno le tue impostazioni personalizzate. - </text> - <text name="water_settings_title"> - Impostazione Acqua - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Ciclo cielo / giornata - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Cielo fisso" name="my_sky_settings"/> - <radio_item label="Ciclo giornata" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Annulla" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_facebook.xml b/indra/newview/skins/default/xui/it/floater_facebook.xml deleted file mode 100644 index cb700f00e1..0000000000 --- a/indra/newview/skins/default/xui/it/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBBLICA SU FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATO" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="REGISTRATI" name="panel_facebook_place"/> - <panel label="AMICI" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento in corso... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_flickr.xml b/indra/newview/skins/default/xui/it/floater_flickr.xml deleted file mode 100644 index 85482a44a4..0000000000 --- a/indra/newview/skins/default/xui/it/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="CONDIVIDI SU FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="ACCOUNT" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml b/indra/newview/skins/default/xui/it/floater_hardware_settings.xml deleted file mode 100644 index edbbc354cf..0000000000 --- a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="OPZIONI HARDWARE"> - <text name="Filtering:"> - Filtraggio: - </text> - <check_box label="Filtraggio Anisotropico (rallenta se attivato)" name="ani"/> - <text name="antialiasing label"> - Antialiasing: - </text> - <combo_box label="Antialiasing" name="fsaa" width="94"> - <combo_box.item label="Disattivato" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (richiede il riavvio del viewer) - </text> - <spinner label="Gamma:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = luminosità default, più basso = più luminoso) - </text> - <text name="Enable VBO:"> - Attiva VBO: - </text> - <check_box initial_value="true" label="Attiva oggetti OpenGL Vertex Buffer" name="vbo" tool_tip="Attivandolo su un hardware moderno aumenta la performance. Ma, su un vecchio hardware, spesso l'implementazione dei VBO è scarsa e potresti avere dei crash quando è attivato."/> - <text name="tc label"> - Attiva S3TC: - </text> - <check_box initial_value="true" label="Attiva compressione texture (richiede riavvio)" name="texture compression" tool_tip="Comprime le texture nella memoria video, consentendo il caricamento di texture a risoluzione maggiore al prezzo di ua perdita di qualit' del colore."/> - <slider label="Memoria texture (MB):" name="GraphicsCardTextureMemory" tool_tip="Spazio di memoria da ssegnare alle textures. Utilizza la memoria della scheda video come impostazione predefinita. La riduzione di questa impostazione potrebbe migliorare il rendimento ma potrebbe anche rendere le texture poco definite."/> - <spinner label="Indice della distanza della nebbia:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_perm_prefs.xml b/indra/newview/skins/default/xui/it/floater_perm_prefs.xml deleted file mode 100644 index a02b3b5075..0000000000 --- a/indra/newview/skins/default/xui/it/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="DIRITTI DI CARICAMENTO PREDEFINITI"> - <panel label="Permessi" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Condividi con il gruppo" name="share_with_group"/> - <check_box label="Permetti a chiunque di copiare" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Il prossimo possessore può: - </text> - <check_box label="Modificare" name="next_owner_modify"/> - <check_box label="Copiare" name="next_owner_copy"/> - <check_box label="Rivendere/Regalare" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Annulla" label_selected="Annulla" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_twitter.xml b/indra/newview/skins/default/xui/it/floater_twitter.xml deleted file mode 100644 index a34052a620..0000000000 --- a/indra/newview/skins/default/xui/it/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="COMPONI" name="panel_twitter_photo"/> - <panel label="ACCOUNT" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Errore - </text> - <text name="connection_loading_text"> - Caricamento in corso... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/it/floater_voice_controls.xml b/indra/newview/skins/default/xui/it/floater_voice_controls.xml deleted file mode 100644 index 77973eef1e..0000000000 --- a/indra/newview/skins/default/xui/it/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="CONTROLLI VOCE"> - <string name="title_nearby"> - IMPOSTAZIONI VOCE - </string> - <string name="title_group"> - CHIAMATA DI GRUPPO CON [GROUP] - </string> - <string name="title_adhoc"> - CHIAMATA IN CONFERENZA - </string> - <string name="title_peer_2_peer"> - CHIAMATA CON [NAME] - </string> - <string name="no_one_near"> - Nessuno nei dintorni ha attivato la funzione voce - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Il mio avatar:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Abbandona chiamata" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml deleted file mode 100644 index 1f10734c4a..0000000000 --- a/indra/newview/skins/default/xui/it/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Vedi profilo" name="view_profile"/> - <menu_item_call label="Aggiungi amico" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Chiama" name="call"/> - <menu_item_call label="Teleport" name="teleport"/> - <menu_item_call label="Invita al gruppo" name="invite_to_group"/> - <menu_item_call label="Blocca" name="block"/> - <menu_item_call label="Sblocca" name="unblock"/> - <menu_item_call label="Segnala" name="report"/> - <menu_item_call label="Congela" name="freeze"/> - <menu_item_call label="Espelli" name="eject"/> - <menu_item_call label="Espelli" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Debug delle texture" name="debug"/> - <menu_item_call label="Trova sulla mappa" name="find_on_map"/> - <menu_item_call label="Zoom avanti" name="zoom_in"/> - <menu_item_call label="Paga" name="pay"/> - <menu_item_call label="Condividi" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml deleted file mode 100644 index 4f62ccaa9c..0000000000 --- a/indra/newview/skins/default/xui/it/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Siedi" name="Sit Down Here"/> - <menu_item_call label="Alzati" name="Stand Up"/> - <context_menu label="Togli" name="Take Off >"> - <context_menu label="Abiti" name="Clothes >"> - <menu_item_call label="Camicia" name="Shirt"/> - <menu_item_call label="Pantaloni" name="Pants"/> - <menu_item_call label="Gonna" name="Skirt"/> - <menu_item_call label="Scarpe" name="Shoes"/> - <menu_item_call label="Calzini" name="Socks"/> - <menu_item_call label="Giacca" name="Jacket"/> - <menu_item_call label="Guanti" name="Gloves"/> - <menu_item_call label="Maglietta intima" name="Self Undershirt"/> - <menu_item_call label="Slip" name="Self Underpants"/> - <menu_item_call label="Tatuaggio" name="Self Tattoo"/> - <menu_item_call label="Alpha (Trasparenza)" name="Self Alpha"/> - <menu_item_call label="Tutti gli abiti" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Stacca" name="Object Detach"/> - <menu_item_call label="Stacca tutto" name="Detach All"/> - </context_menu> - <menu_item_call label="Cambia vestiario" name="Chenge Outfit"/> - <menu_item_call label="Modifica il mio vestiario" name="Edit Outfit"/> - <menu_item_call label="Modifica la figura corporea" name="Edit My Shape"/> - <menu_item_call label="I miei amici" name="Friends..."/> - <menu_item_call label="I miei gruppi" name="Groups..."/> - <menu_item_call label="Il mio profilo" name="Profile..."/> - <menu_item_call label="Debug delle texture" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/it/menu_name_field.xml b/indra/newview/skins/default/xui/it/menu_name_field.xml deleted file mode 100644 index 9ac863323c..0000000000 --- a/indra/newview/skins/default/xui/it/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Copia Nome Visualizzato" name="copy_display"/> - <menu_item_call label="Copia Nome Agente" name="copy_name"/> - <menu_item_call label="Copia ID Agente" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml deleted file mode 100644 index 3a799f44eb..0000000000 --- a/indra/newview/skins/default/xui/it/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base allo stato" name="sort_status"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_check label="Visualizza autorizzazioni concesse" name="view_permissions"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml deleted file mode 100644 index d31ddaf1aa..0000000000 --- a/indra/newview/skins/default/xui/it/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Visualizza le icone di gruppo" name="Display Group Icons"/> - <menu_item_call label="Lascia i gruppi selezionati" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml deleted file mode 100644 index 2b5c235706..0000000000 --- a/indra/newview/skins/default/xui/it/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Ordina in base a intervenuti recenti" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Ordina in base alla distanza" name="sort_distance"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_check label="Visualizza mappa" name="view_map"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml deleted file mode 100644 index 7fccd1621a..0000000000 --- a/indra/newview/skins/default/xui/it/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostra prima i più recenti" name="sort_most"/> - <menu_item_check label="Ordina in base al nome" name="sort_name"/> - <menu_item_check label="Icone persone" name="view_icons"/> - <menu_item_call label="Mostra oggetti e residenti bloccati" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml deleted file mode 100644 index be001d09f8..0000000000 --- a/indra/newview/skins/default/xui/it/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_edit_classified.xml b/indra/newview/skins/default/xui/it/panel_edit_classified.xml deleted file mode 100644 index 57e422a25b..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica inserzione" name="panel_edit_classified"> - <panel.string name="location_notice"> - (si aggiornerà dopo il salvataggio) - </panel.string> - <string name="publish_label"> - Pubblica - </string> - <string name="save_label"> - Salva - </string> - <text name="title"> - Modifica inserzione - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - </panel> - <text name="Name:"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <text name="location_label"> - Luogo: - </text> - <text name="classified_location"> - caricamento... - </text> - <button label="Imposta come luogo attuale" name="set_to_curr_location_btn"/> - <text name="category_label" value="Categoria:"/> - <text name="content_type_label" value="Tipo di contenuto:"/> - <icons_combo_box label="Contenuto generale" name="content_type"> - <icons_combo_box.item label="Contenuto moderato" name="mature_ci" value="Moderato"/> - <icons_combo_box.item label="Contenuto generale" name="pg_ci" value="Generale"/> - </icons_combo_box> - <check_box label="Rinnovo automatico ogni settimana" name="auto_renew"/> - <text name="price_for_listing_label" value="Prezzo per inserzione:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Prezzo per inserzione:" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_edit_pick.xml b/indra/newview/skins/default/xui/it/panel_edit_pick.xml deleted file mode 100644 index 145b8cf4e3..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica preferito" name="panel_edit_pick"> - <panel.string name="location_notice"> - (si aggiornerà dopo il salvataggio) - </panel.string> - <text name="title"> - Modifica preferito - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - <text name="Name:"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <text name="location_label"> - Luogo: - </text> - <text name="pick_location"> - caricamento... - </text> - <button label="Imposta come luogo attuale" 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="Salva luogo preferito" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_edit_profile.xml b/indra/newview/skins/default/xui/it/panel_edit_profile.xml deleted file mode 100644 index 545e96a8f1..0000000000 --- a/indra/newview/skins/default/xui/it/panel_edit_profile.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Modifica profilo" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Prova"/> - <string name="AcctTypeCharterMember" value="Membro privilegiato"/> - <string name="AcctTypeEmployee" value="Impiegato della Linden Lab"/> - <string name="PaymentInfoUsed" value="Info. di pagamento usate"/> - <string name="PaymentInfoOnFile" value="Info. di pagamento in archivio"/> - <string name="NoPaymentInfoOnFile" value="Nessuna info. di pagamento"/> - <string name="AgeVerified" value="Età verificata"/> - <string name="NotAgeVerified" value="Età non verificata"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=it - </string> - <string name="no_partner_text" value="Nessuno"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nome visualizzato:"/> - <text name="solo_username_label" value="Nome utente:"/> - <button name="set_name" tool_tip="Imposta nome visualizzato"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> - <text name="user_label" value="Nome utente:"/> - <text name="user_slid" value="hamilton.linden"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mondo reale:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Clicca per selezionare un'immagine"/> - <text name="title_homepage_text"> - Home page: - </text> - <check_box label="Mostrami nei risultati della ricerca" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Il mio account:"/> - <text_editor name="acc_status_text" value="Residente. Nessuna informazione di pagamento disponibile."/> - <text name="my_account_link" value="[[URL] Go to My Dashboard]"/> - <text name="title_partner_text" value="Il mio partner:"/> - <panel name="partner_data_panel"> - <text initial_value="(recupero)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Edit]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Salva modifiche" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Annulla" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_account.xml b/indra/newview/skins/default/xui/it/panel_facebook_account.xml deleted file mode 100644 index e887e7e4dc..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Sei in collegamento con Facebook come:"/> - <string name="facebook_disconnected" value="Non in collegamento con Facebook"/> - <text name="account_caption_label"> - Non in collegamento con Facebook. - </text> - <panel name="panel_buttons"> - <button label="Collegamento..." name="connect_btn"/> - <button label="Interrompi collegamento" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Come pubblicare su Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_friends.xml b/indra/newview/skins/default/xui/it/panel_facebook_friends.xml deleted file mode 100644 index 28769a010f..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Attualmente non hai amici su Facebook che sono anche residenti Second Life. Invita ora i tuoi amici di Facebook a unirsi a Second Life!"/> - <string name="facebook_friends_no_connected" value="Non sei connesso a Facebook. Accedi alla scheda Stato per collegarti e attivare questa funzionalità ."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amici SL"/> - <accordion_tab name="tab_suggested_friends" title="Aggiungi queste persone come amici SL"/> - </accordion> - <text name="facebook_friends_status"> - Non connesso a Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_photo.xml b/indra/newview/skins/default/xui/it/panel_facebook_photo.xml deleted file mode 100644 index 8d66f35c3c..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagine"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagine"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <text name="caption_label"> - Commento (facoltativo): - </text> - <button label="Post" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_place.xml b/indra/newview/skins/default/xui/it/panel_facebook_place.xml deleted file mode 100644 index 3f1365f12c..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Racconta dove ti trovi: - </text> - <check_box initial_value="false" label="Includi vista dall'alto del luogo" name="add_place_view_cb"/> - <button label="Post" name="post_place_btn"/> - <button label="Annulla" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_facebook_status.xml b/indra/newview/skins/default/xui/it/panel_facebook_status.xml deleted file mode 100644 index 7fb1cec78e..0000000000 --- a/indra/newview/skins/default/xui/it/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Sei connesso a Facebook come:"/> - <string name="facebook_disconnected" value="Non connesso a Facebook"/> - <text name="account_caption_label"> - Non connesso a Facebook. - </text> - <panel name="panel_buttons"> - <button label="Connessione in corso..." name="connect_btn"/> - <button label="Disconnetti" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Come pubblicare su Facebook] - </text> - </panel> - <text name="status_caption_label"> - A cosa stai pensando? - </text> - <button label="Post" name="post_status_btn"/> - <button label="Annulla" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_flickr_account.xml b/indra/newview/skins/default/xui/it/panel_flickr_account.xml deleted file mode 100644 index 573754a68e..0000000000 --- a/indra/newview/skins/default/xui/it/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Sei in collegamento con Flickr come:"/> - <string name="flickr_disconnected" value="Non in collegamento con Flickr"/> - <text name="account_caption_label"> - Non in collegamento con Flickr. - </text> - <panel name="panel_buttons"> - <button label="Collegamento..." name="connect_btn"/> - <button label="Interrompi collegamento" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Come pubblicare su Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_flickr_photo.xml b/indra/newview/skins/default/xui/it/panel_flickr_photo.xml deleted file mode 100644 index f6700b6150..0000000000 --- a/indra/newview/skins/default/xui/it/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagini"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagini"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <text name="title_label"> - Titolo: - </text> - <text name="description_label"> - Descrizione: - </text> - <check_box initial_value="true" label="Includi il luogo SL al termine della descrizione" name="add_location_cb"/> - <text name="tags_label"> - Tag: - </text> - <text name="tags_help_label"> - Separa tag con spazi -Usa "" per tag con più di una parola - </text> - <combo_box name="rating_combobox" tool_tip="Categoria del contenuto di Flickr"> - <combo_box.item label="Categoria Flickr Sicuro" name="SafeRating"/> - <combo_box.item label="Categoria Flickr Moderato" name="ModerateRating"/> - <combo_box.item label="Categoria Flickr Censurato" name="RestrictedRating"/> - </combo_box> - <button label="Condividi" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_group_control_panel.xml b/indra/newview/skins/default/xui/it/panel_group_control_panel.xml deleted file mode 100644 index 2d17e4a0cd..0000000000 --- a/indra/newview/skins/default/xui/it/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Profilo del gruppo" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama il gruppo" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Abbandona chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Apri la regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_im_control_panel.xml b/indra/newview/skins/default/xui/it/panel_im_control_panel.xml deleted file mode 100644 index 76b28eab24..0000000000 --- a/indra/newview/skins/default/xui/it/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profilo" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Aggiungi amico" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teleport" name="teleport_btn" tool_tip="Offri teleport a questa persona"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Condividi" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Paga" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Chiama" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Chiudi chiamata" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Regolazione voce" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_pick_info.xml b/indra/newview/skins/default/xui/it/panel_pick_info.xml deleted file mode 100644 index ca9959a581..0000000000 --- a/indra/newview/skins/default/xui/it/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Scegli Info"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nome]"/> - <text_editor name="pick_location" value="[caricamento...]"/> - <text_editor name="pick_desc" value="[descrizione]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleport" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mappa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Modifica" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_picks.xml b/indra/newview/skins/default/xui/it/panel_picks.xml deleted file mode 100644 index 3faf28a948..0000000000 --- a/indra/newview/skins/default/xui/it/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Preferiti" name="panel_picks"> - <string name="no_picks" value="Nessun luogo preferito"/> - <string name="no_classifieds" value="Nessun annuncio"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Preferiti"/> - <accordion_tab name="tab_classifieds" title="Annunci pubblicitari"/> - </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="Crea un nuovo luogo preferito o annuncio in questo luogo"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Informazioni" name="info_btn" tool_tip="Mostra informazioni sul luogo preferito"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleport" name="teleport_btn" tool_tip="Teleport alla zona corrispondente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mappa" name="show_on_map_btn" tool_tip="Mostra la zona corrispondente nella mappa del Mondo"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_profile_interests.xml b/indra/newview/skins/default/xui/it/panel_profile_interests.xml deleted file mode 100644 index 9fe7331e5c..0000000000 --- a/indra/newview/skins/default/xui/it/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Interessi" name="panel_profile_interests"> - <text name="I Want To:"> - Desidero: - </text> - <check_box label="Costruire" name="chk0"/> - <check_box label="Esplorare" name="chk1"/> - <check_box label="Incontrare" name="chk2"/> - <check_box label="Essere assunto" name="chk6"/> - <check_box label="Gruppo" name="chk3"/> - <check_box label="Acquistare" name="chk4"/> - <check_box label="Vendere" name="chk5"/> - <check_box label="Assumere" name="chk7"/> - <line_editor name="want_to_edit"> - (caricamento in corso...) - </line_editor> - <text name="Skills:"> - Abilità : - </text> - <check_box label="Texture" name="schk0"/> - <check_box label="Architettura" name="schk1"/> - <check_box label="Realizzazione modelli 3D" name="schk3"/> - <check_box label="Organizzazione eventi" name="schk2"/> - <check_box label="Scripting" name="schk4"/> - <check_box label="Personaggi personalizzati" name="schk5"/> - <line_editor name="skills_edit"> - (caricamento in corso...) - </line_editor> - <text name="Languages:"> - Lingue: - </text> - <line_editor name="languages_edit"> - (caricamento in corso...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_twitter_account.xml b/indra/newview/skins/default/xui/it/panel_twitter_account.xml deleted file mode 100644 index 7eb3968f75..0000000000 --- a/indra/newview/skins/default/xui/it/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Sei in collegamento con Twitter come:"/> - <string name="twitter_disconnected" value="Non in collegamento con Twitter"/> - <text name="account_caption_label"> - Non in collegamento con Twitter. - </text> - <panel name="panel_buttons"> - <button label="Collegamento..." name="connect_btn"/> - <button label="Interrompi collegamento" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Come pubblicare su Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/it/panel_twitter_photo.xml b/indra/newview/skins/default/xui/it/panel_twitter_photo.xml deleted file mode 100644 index 69596784bd..0000000000 --- a/indra/newview/skins/default/xui/it/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Cosa sta succedendo? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Includi il luogo in SL" name="add_location_cb"/> - <check_box initial_value="true" label="Includi una foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Risoluzione immagini"> - <combo_box.item label="Finestra attuale" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtri immagini"> - <combo_box.item label="Nessun filtro" name="NoFilter"/> - </combo_box> - <button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/> - <button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/> - <button label="Tweetta" name="post_photo_btn"/> - <button label="Annulla" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml index 6a39d057e2..22a65003d3 100644 --- a/indra/newview/skins/default/xui/ja/floater_about.xml +++ b/indra/newview/skins/default/xui/ja/floater_about.xml @@ -29,6 +29,7 @@ PCRE Copyright (c) 1997-2012 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. +xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. Second Life ビューワã§ã¯ Havok (TM) Physics ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚(c)Copyright 1999-2010 Havok.com Inc. (and its Licensors).ç„¡æ–複写・複製・転載をç¦ã˜ã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ www.havok.com ã‚’ã”å‚ç…§ãã ã•ã„。 diff --git a/indra/newview/skins/default/xui/ja/floater_chat_bar.xml b/indra/newview/skins/default/xui/ja/floater_chat_bar.xml deleted file mode 100644 index 9f5df6fb85..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="è¿‘ãã®ãƒãƒ£ãƒƒãƒˆ"> - <panel name="bottom_panel"> - <line_editor label="ã“ã“をクリックã—ã¦ãƒãƒ£ãƒƒãƒˆã‚’開始ã—ã¾ã™ã€‚" name="chat_box" tool_tip="Enter ã‚ーを押ã—ã¦è©±ã—ã€Ctrl + Enter ã‚ーã§å«ã³ã¾ã™ã€‚"/> - <button name="show_nearby_chat" tool_tip="è¿‘ãã®ãƒãƒ£ãƒƒãƒˆãƒã‚°ã‚’表示ï¼éžè¡¨ç¤º"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml deleted file mode 100644 index fd601672b6..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="デイサイクルを編集"> - <string name="title_new"> - æ–°ãŸãªãƒ‡ã‚¤ã‚µã‚¤ã‚¯ãƒ«ã‚’ä½œæˆ - </string> - <string name="title_edit"> - デイサイクルを編集 - </string> - <string name="hint_new"> - æ–°ã—ã„デイサイクルã«åå‰ã‚’ã¤ã‘ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="hint_edit"> - 自分ã§ä½œæˆã—ãŸãƒ‡ã‚¤ã‚µã‚¤ã‚¯ãƒ«ã‚’編集ã™ã‚‹ã«ã¯ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="combo_label"> - - 事å‰è¨å®šã‚’é¸æŠž - - </string> - <text name="label"> - 事å‰è¨å®šã®åå‰ï¼š - </text> - <text name="note"> - 注æ„:自分ã§ä½œæˆã—ãŸäº‹å‰è¨å®šã®åå‰ã‚’変更ã™ã‚‹ã¨ã€æ–°ã—ã„事å‰è¨å®šãŒåˆ¥ã«ä½œæˆã•ã‚Œã‚‹ã ã‘ã§ã€å…ƒã®äº‹å‰è¨å®šã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。 - </text> - <text name="hint_item1"> - - 特定ã®ç©ºã®è¨å®šã‚„時間を編集ã™ã‚‹ã«ã¯ã‚¿ãƒ–ã‚’1ã¤ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚ - </text> - <text name="hint_item2"> - - 移行時間をè¨å®šã™ã‚‹ã«ã¯ã‚¿ãƒ–をクリックã—ã¦ãƒ‰ãƒ©ãƒƒã‚°ã—ã¾ã™ã€‚ - </text> - <text name="hint_item3"> - - デイサイクルをプレビューã™ã‚‹ã«ã¯ã‚¹ã‚¯ãƒ©ãƒãƒ¼ã‚’使ã„ã¾ã™ã€‚ - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="ã‚ーã®è¿½åŠ " label_selected="ã‚ーã®è¿½åŠ " name="WLAddKey"/> - <button label="ã‚ーã®å‰Šé™¤" label_selected="ã‚ーã®å‰Šé™¤" name="WLDeleteKey"/> - <text name="WL12am"> - 12am - </text> - <text name="WL3am"> - 3am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL9amHash"> - 9am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL3pm"> - 3pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL9pm"> - 9pm - </text> - <text name="WL12am2"> - 12am - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - 空ã®è¨å®šï¼š - </text> - <combo_box label="事å‰è¨å®š" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - 時間: - </text> - <time name="time" value="6:00 AM"/> - <check_box label="ã“れを新ã—ã„デイサイクルã«ã™ã‚‹" name="make_default_cb"/> - <button label="ä¿å˜" name="save"/> - <button label="å–り消ã—" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml deleted file mode 100644 index 2d74bdeeb9..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="空ã®äº‹å‰è¨å®šã‚’編集"> - <string name="title_new"> - æ–°ã—ã„空ã®äº‹å‰è¨å®šã‚’ä½œæˆ - </string> - <string name="title_edit"> - 空ã®äº‹å‰è¨å®šã‚’編集 - </string> - <string name="hint_new"> - æ–°ã—ã„事å‰è¨å®šã«åå‰ã‚’ã¤ã‘ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="hint_edit"> - 空ã®äº‹å‰è¨å®šã‚’編集ã™ã‚‹ã«ã¯ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="combo_label"> - - 事å‰è¨å®šã‚’é¸æŠž - - </string> - <text name="hint"> - 事å‰è¨å®šã‚’編集ã™ã‚‹ã«ã¯ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </text> - <text name="label"> - 事å‰è¨å®šã®åå‰ï¼š - </text> - <text name="note"> - 注記: 自分ã§ä½œæˆã—ãŸäº‹å‰è¨å®šã®åå‰ã‚’変更ã™ã‚‹ã¨ã€æ–°ã—ã„事å‰è¨å®šãŒåˆ¥ã«ä½œæˆã•ã‚Œã‚‹ã ã‘ã§ã€å…ƒã®äº‹å‰è¨å®šã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。 - </text> - <tab_container name="WindLight Tabs"> - <panel label="大気" name="Atmosphere"> - <text name="BHText"> - 空ã®é…色 - </text> - <text name="BDensText"> - 空ã¨é 景ã®éœ²å…‰ - </text> - <text name="BDensText2"> - 空ã®é…色ã¨æ¿ƒåº¦ - </text> - <text name="HDText"> - 大気ã®ä¸é€æ˜Žåº¦ - </text> - <text name="DensMultText"> - 大気ã®ä¸é€æ˜Žåº¦ã®å¢—å¹… - </text> - <text name="WLDistanceMultText"> - 視界ã®å¢—å¹… - </text> - <text name="MaxAltText"> - 最大高度 - </text> - </panel> - <panel label="ライティング" name="Lighting"> - <text name="SLCText"> - 太陽/月ã®è‰² - </text> - <text name="WLAmbientText"> - アンビエント - </text> - <text name="SunGlowText"> - 太陽ã®è¼ã - </text> - <slider label="焦点" name="WLGlowB"/> - <slider label="サイズ" name="WLGlowR"/> - <text name="WLStarText"> - 星ã®è¼ã - </text> - <text name="SceneGammaText"> - 風景ガンマ - </text> - <text name="TODText"> - 太陽/月ã®ä½ç½® - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL12am2"> - 12am - </text> - <time name="WLDayTime" value="6:00 AM"/> - <text name="WLEastAngleText"> - æ±ã®è§’度 - </text> - </panel> - <panel label="雲" name="Clouds"> - <text name="WLCloudColorText"> - 雲ã®è‰² - </text> - <text name="WLCloudColorText2"> - 雲ã®XY/密度 - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - 雲ã®é‡ - </text> - <text name="WLCloudScaleText"> - 雲ã®ã‚¹ã‚±ãƒ¼ãƒ« - </text> - <text name="WLCloudDetailText"> - 雲ã®è©³ç´°ï¼ˆXY/密度) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - 雲ã®ç§»å‹•é€Ÿåº¦ï¼ˆXæ–¹å‘) - </text> - <check_box label="ãƒãƒƒã‚¯" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - 雲ã®ç§»å‹•é€Ÿåº¦ï¼ˆYæ–¹å‘) - </text> - <check_box label="ãƒãƒƒã‚¯" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="ã“ã®äº‹å‰è¨å®šã‚’æ–°ã—ã„空ã®è¨å®šã«ã™ã‚‹" name="make_default_cb"/> - <button label="ä¿å˜" name="save"/> - <button label="ã‚ャンセル" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml deleted file mode 100644 index 691aed35d0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="æ°´ã®äº‹å‰è¨å®šã‚’編集"> - <string name="title_new"> - æ–°ã—ã„æ°´ã®äº‹å‰è¨å®šã‚’ä½œæˆ - </string> - <string name="title_edit"> - æ°´ã®äº‹å‰è¨å®šã‚’編集 - </string> - <string name="hint_new"> - æ–°ã—ã„事å‰è¨å®šã«åå‰ã‚’ã¤ã‘ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="hint_edit"> - æ°´ã®äº‹å‰è¨å®šã‚’編集ã™ã‚‹ã«ã¯ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </string> - <string name="combo_label"> - - 事å‰è¨å®šã‚’é¸æŠž - - </string> - <text name="hint"> - 事å‰è¨å®šã‚’編集ã™ã‚‹ã«ã¯ã€å¸Œæœ›ã®è¨å®šã«èª¿ç¯€ã—ã¦ã€ã€Œä¿å˜ã€ã‚’クリックã—ã¾ã™ã€‚ - </text> - <text name="label"> - 事å‰è¨å®šã®åå‰ï¼š - </text> - <text name="note"> - 注記: 自分ã§ä½œæˆã—ãŸäº‹å‰è¨å®šã®åå‰ã‚’変更ã™ã‚‹ã¨ã€æ–°ã—ã„事å‰è¨å®šãŒåˆ¥ã«ä½œæˆã•ã‚Œã‚‹ã ã‘ã§ã€å…ƒã®äº‹å‰è¨å®šã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。 - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - æ°´ä¸ã®ãƒ•ã‚©ã‚°åŠ¹æžœã®è‰² - </text> - <text name="water_fog_density_label"> - æ°´ä¸ã®é€æ˜Žåº¦æŒ‡æ•° - </text> - <text name="underwater_fog_modifier_label"> - æ°´ä¸ã®ãƒ•ã‚©ã‚°åŠ¹æžœåŠ 減 - </text> - <text name="BHText"> - 大波ã®æ–¹å‘ - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - ã•ã–æ³¢ã®å射スケール - </text> - <text name="HDText"> - フレãƒãƒ«ãƒ»ã‚¹ã‚±ãƒ¼ãƒ« - </text> - <text name="FresnelOffsetText"> - フレãƒãƒ«ãƒ»ã‚ªãƒ•ã‚»ãƒƒãƒˆ - </text> - <text name="BHText2"> - å°æ³¢ã®æ–¹å‘ - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - æ°´é¢ã®å±ˆæŠ˜ã‚¹ã‚±ãƒ¼ãƒ« - </text> - <text name="WaterScaleBelowText"> - æ°´ä¸ã®å±ˆæŠ˜ã‚¹ã‚±ãƒ¼ãƒ« - </text> - <text name="MaxAltText"> - ä¸é€æ˜Žåº¦ã®å¢—å¹… - </text> - <text name="BHText3"> - ノーマル・マップ - </text> - </panel> - <check_box label="ã“ã®äº‹å‰è¨å®šã‚’æ–°ã—ã„æ°´ã®è¨å®šã«ã™ã‚‹" name="make_default_cb"/> - <button label="ä¿å˜" name="save"/> - <button label="ã‚ャンセル" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml b/indra/newview/skins/default/xui/ja/floater_environment_settings.xml deleted file mode 100644 index f9290971c6..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="自然環境ã®è¨å®š"> - <text name="note"> - ビューワã®è‡ªç„¶ç’°å¢ƒã®è¨å®šã¯ä»¥ä¸‹ã®ã‚ªãƒ—ションを使ã£ã¦ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã§ãã¾ã™ã€‚ - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="リージョンã®è¨å®šã‚’使用" name="use_region_settings"/> - <radio_item label="自然環境をカスタマイズ" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - 注記: カスタムè¨å®šã¯ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¯è¦‹ãˆã¾ã›ã‚“。 - </text> - <text name="water_settings_title"> - æ°´ã®è¨å®š - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="- 事å‰è¨å®šã‚’é¸æŠž -" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - 空 / デイサイクル - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="空ã®å›ºå®š" name="my_sky_settings"/> - <radio_item label="デイサイクル" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="- 事å‰è¨å®šã‚’é¸æŠž -" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="- 事å‰è¨å®šã‚’é¸æŠž -" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="ã‚ャンセル" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_facebook.xml b/indra/newview/skins/default/xui/ja/floater_facebook.xml deleted file mode 100644 index 76149a875e..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="FACEBOOK ã«æŠ•ç¨¿"> - <tab_container name="tabs"> - <panel label="ステータス" name="panel_facebook_status"/> - <panel label="写真" name="panel_facebook_photo"/> - <panel label="ãƒã‚§ãƒƒã‚¯ã‚¤ãƒ³" name="panel_facebook_place"/> - <panel label="フレンド" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ãƒãƒ¼ãƒ‰ä¸... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_flickr.xml b/indra/newview/skins/default/xui/ja/floater_flickr.xml deleted file mode 100644 index 77df22c9a0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="FLICKR ã§å…±æœ‰ã™ã‚‹"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="写真" name="panel_flickr_photo"/> - <panel label="アカウント" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ãƒãƒ¼ãƒ‰ä¸... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml deleted file mode 100644 index c8b8e918e0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢è¨å®š"> - <text name="Filtering:"> - フィルタリング: - </text> - <check_box label="異方的フィルタリング(有効ã«ã™ã‚‹ã¨é€Ÿåº¦ãŒä½Žä¸‹ã—ã¾ã™ï¼‰" name="ani"/> - <text name="antialiasing label"> - アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚·ãƒ³ã‚°ï¼š - </text> - <combo_box label="アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚·ãƒ³ã‚°" name="fsaa"> - <combo_box.item label="無効" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (ビューワã®å†èµ·å‹•ãŒå¿…è¦ï¼‰ - </text> - <spinner label="ガンマ:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 ã§ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã€ä½Žã„ã»ã©æ˜Žã‚‹ã„) - </text> - <text name="Enable VBO:"> - VBO を有効化: - </text> - <check_box initial_value="true" label="OpenGL Vertex Buffer Objectsを有効化" name="vbo" tool_tip="最新ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§ã“ã®è¨å®šã‚’有効ã«ã™ã‚‹ã¨ã€ãƒ‘フォーマンスãŒå‘上ã—ã¾ã™ã€‚ ã—ã‹ã—ã€æ—§åž‹ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§ã¯ VBO ã®å®Ÿè£…ãŒè²§å¼±ãªå ´åˆãŒå¤šãã€ã“ã®è¨å®šã‚’有効ã«ã™ã‚‹ã“ã¨ã§ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã«ã¤ãªãŒã‚‹ãŠãã‚ŒãŒã‚ã‚Šã¾ã™ã€‚"/> - <text name="tc label"> - S3TC を有効ã«ã™ã‚‹ï¼š - </text> - <check_box initial_value="true" label="テクスãƒãƒ£åœ§ç¸®ã‚’有効ã«ã™ã‚‹ï¼ˆå†èµ·å‹•ãŒå¿…è¦ï¼‰" name="texture compression" tool_tip="ビデオメモリ内ã§ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’圧縮ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€è‰²ã®è³ªã‚’å¤šå°‘çŠ ç‰²ã«ã—ãªãŒã‚‰ã€ã‚ˆã‚Šé«˜è§£åƒåº¦ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’èªã¿è¾¼ã‚るよã†ã«ã—ã¾ã™ã€‚"/> - <slider label="テクスãƒãƒ£ãƒ¡ãƒ¢ãƒªï¼ˆMB):" name="GraphicsCardTextureMemory" tool_tip="テクスãƒãƒ£ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒ¡ãƒ¢ãƒªã®é‡ã€‚ ビデオカードã®ãƒ¡ãƒ¢ãƒªã«æ—¢å®šã€‚ 数値を下ã’ã‚‹ã¨ãƒ‘フォーマンスãŒå‘上ã—ã¾ã™ãŒã€ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ç²¾åº¦ãŒè½ã¡ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚"/> - <spinner label="フォグã®è·é›¢æ¯”率:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_perm_prefs.xml b/indra/newview/skins/default/xui/ja/floater_perm_prefs.xml deleted file mode 100644 index 98cda25a81..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="デフォルトã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰æ¨©é™"> - <panel label="権é™" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="グループã§å…±åŒç®¡ç†" name="share_with_group"/> - <check_box label="誰ã«å¯¾ã—ã¦ã‚‚コピーを許å¯" name="everyone_copy"/> - <text name="NextOwnerLabel"> - 次ã®æ‰€æœ‰è€…ãŒã§ãã‚‹æ“作: - </text> - <check_box label="ä¿®æ£" name="next_owner_modify"/> - <check_box label="コピー" name="next_owner_copy"/> - <check_box label="å†è²©ãƒ»ãƒ—レゼント" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="å–り消ã—" label_selected="å–り消ã—" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_twitter.xml b/indra/newview/skins/default/xui/ja/floater_twitter.xml deleted file mode 100644 index 6df2045554..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="作æˆ" name="panel_twitter_photo"/> - <panel label="アカウント" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - エラー - </text> - <text name="connection_loading_text"> - ãƒãƒ¼ãƒ‰ä¸... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml b/indra/newview/skins/default/xui/ja/floater_voice_controls.xml deleted file mode 100644 index f7d3fd11e0..0000000000 --- a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="ボイスコントãƒãƒ¼ãƒ«"> - <string name="title_nearby"> - ボイスè¨å®š - </string> - <string name="title_group"> - [GROUP] ã¨ã‚°ãƒ«ãƒ¼ãƒ—コール - </string> - <string name="title_adhoc"> - コンファレンスコール - </string> - <string name="title_peer_2_peer"> - [NAME] ã¨ã‚³ãƒ¼ãƒ« - </string> - <string name="no_one_near"> - è¿‘ãã«ãƒœã‚¤ã‚¹ã‚’有効ã«ã—ã¦ã„る人ã¯ã„ã¾ã›ã‚“。 - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="マイ ã‚¢ãƒã‚¿ãƒ¼ï¼š"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="コール終了" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml deleted file mode 100644 index 9d0d0f10a6..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®è¡¨ç¤º" name="view_profile"/> - <menu_item_call label="フレンド登録" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="コール" name="call"/> - <menu_item_call label="テレãƒãƒ¼ãƒˆ" name="teleport"/> - <menu_item_call label="グループã«æ‹›å¾…" name="invite_to_group"/> - <menu_item_call label="ブãƒãƒƒã‚¯" name="block"/> - <menu_item_call label="ブãƒãƒƒã‚¯è§£é™¤" name="unblock"/> - <menu_item_call label="å ±å‘Š" name="report"/> - <menu_item_call label="フリーズ" name="freeze"/> - <menu_item_call label="追放" name="eject"/> - <menu_item_call label="追放" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="debug"/> - <menu_item_call label="地図ã§æŽ¢ã™" name="find_on_map"/> - <menu_item_call label="ズームイン" name="zoom_in"/> - <menu_item_call label="支払ã†" name="pay"/> - <menu_item_call label="共有" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml deleted file mode 100644 index e3e206f3aa..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="座る" name="Sit Down Here"/> - <menu_item_call label="ç«‹ã¡ä¸ŠãŒã‚‹" name="Stand Up"/> - <context_menu label="å–り外ã™" name="Take Off >"> - <context_menu label="衣類" name="Clothes >"> - <menu_item_call label="シャツ" name="Shirt"/> - <menu_item_call label="パンツ" name="Pants"/> - <menu_item_call label="スカート" name="Skirt"/> - <menu_item_call label="é´" name="Shoes"/> - <menu_item_call label="é´ä¸‹" name="Socks"/> - <menu_item_call label="ジャケット" name="Jacket"/> - <menu_item_call label="手袋" name="Gloves"/> - <menu_item_call label="下ç€ã‚·ãƒ£ãƒ„" name="Self Undershirt"/> - <menu_item_call label="下ç€ãƒ‘ンツ" name="Self Underpants"/> - <menu_item_call label="タトゥ" name="Self Tattoo"/> - <menu_item_call label="アルファ" name="Self Alpha"/> - <menu_item_call label="ã™ã¹ã¦ã®è¡£é¡ž" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="å–り外ã™" name="Object Detach"/> - <menu_item_call label="ã™ã¹ã¦å–り外ã™" name="Detach All"/> - </context_menu> - <menu_item_call label="アウトフィットã®å¤‰æ›´" name="Chenge Outfit"/> - <menu_item_call label="アウトフィットã®ç·¨é›†" name="Edit Outfit"/> - <menu_item_call label="シェイプã®ç·¨é›†" name="Edit My Shape"/> - <menu_item_call label="フレンド" name="Friends..."/> - <menu_item_call label="グループ" name="Groups..."/> - <menu_item_call label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="Profile..."/> - <menu_item_call label="テクスãƒãƒ£ã®ãƒ‡ãƒãƒƒã‚°" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ja/menu_name_field.xml b/indra/newview/skins/default/xui/ja/menu_name_field.xml deleted file mode 100644 index 8c37d95073..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="表示åをコピー" name="copy_display"/> - <menu_item_call label="エージェントåをコピー" name="copy_name"/> - <menu_item_call label="エージェント ID をコピー" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml deleted file mode 100644 index 76340e4d76..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="オンライン状態ã§ä¸¦ã¹æ›¿ãˆ" name="sort_status"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_check label="与ãˆã‚‰ã‚ŒãŸæ¨©é™ã‚’表示" name="view_permissions"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml deleted file mode 100644 index bfc7d15017..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="グループアイコンを表示" name="Display Group Icons"/> - <menu_item_call label="é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è„±é€€" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml deleted file mode 100644 index 44c5438509..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="最近ã®ç™ºè¨€è€…ã§ä¸¦ã¹æ›¿ãˆ" name="sort_by_recent_speakers"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="è·é›¢ã§ä¸¦ã¹æ›¿ãˆ" name="sort_distance"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_check label="地図を表示" name="view_map"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml deleted file mode 100644 index b4f177a068..0000000000 --- a/indra/newview/skins/default/xui/ja/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="æ–°ã—ã„é †ã«ä¸¦ã¹æ›¿ãˆ" name="sort_most"/> - <menu_item_check label="åå‰ã§ä¸¦ã¹æ›¿ãˆ" name="sort_name"/> - <menu_item_check label="人ã®ã‚¢ã‚¤ã‚³ãƒ³è¡¨ç¤º" name="view_icons"/> - <menu_item_call label="ブãƒãƒƒã‚¯ã•ã‚ŒãŸä½äººã¨ã‚ªãƒ–ジェクトを表示" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml deleted file mode 100644 index 17e1283d24..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml b/indra/newview/skins/default/xui/ja/panel_edit_classified.xml deleted file mode 100644 index 619e9de65a..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="クラシファイド広告ã®ç·¨é›†" name="panel_edit_classified"> - <panel.string name="location_notice"> - (掲載後更新) - </panel.string> - <string name="publish_label"> - 掲載 - </string> - <string name="save_label"> - ä¿å˜ - </string> - <text name="title"> - クラシファイド広告ã®ç·¨é›† - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="クリックã—ã¦ç”»åƒã‚’é¸æŠž"/> - </panel> - <text name="Name:"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <text name="location_label"> - ä½ç½®ï¼š - </text> - <text name="classified_location"> - ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°... - </text> - <button label="ç¾åœ¨åœ°ã«è¨å®š" name="set_to_curr_location_btn"/> - <text name="category_label" value="カテゴリ:"/> - <text name="content_type_label" value="内容ã®ç¨®é¡žï¼š"/> - <icons_combo_box label="「Generalã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„" name="content_type"> - <icons_combo_box.item label="「Moderateã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„" name="mature_ci" value="Mature"/> - <icons_combo_box.item label="「Generalã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="毎週自動更新" name="auto_renew"/> - <text name="price_for_listing_label" value="æŽ²è¼‰ä¾¡æ ¼ï¼š"/> - <spinner label="L$" name="price_for_listing" tool_tip="æŽ²è¼‰ä¾¡æ ¼" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="ã‚ャンセル" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_pick.xml b/indra/newview/skins/default/xui/ja/panel_edit_pick.xml deleted file mode 100644 index 39ea1df1e3..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="ピック編集" name="panel_edit_pick"> - <panel.string name="location_notice"> - (掲載後更新) - </panel.string> - <text name="title"> - ピック編集 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="クリックã—ã¦ç”»åƒã‚’é¸æŠž"/> - <text name="Name:"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <text name="location_label"> - å ´æ‰€ï¼š - </text> - <text name="pick_location"> - ãƒãƒ¼ãƒ‡ã‚£ãƒ³ã‚°... - </text> - <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="ピックをä¿å˜" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="å–り消ã—" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_edit_profile.xml b/indra/newview/skins/default/xui/ja/panel_edit_profile.xml deleted file mode 100644 index 4cbd7f793b..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_edit_profile.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="プãƒãƒ•ã‚£ãƒ¼ãƒ«ã®ç·¨é›†" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="ä½äºº"/> - <string name="AcctTypeTrial" value="トライアル"/> - <string name="AcctTypeCharterMember" value="創立メンãƒãƒ¼"/> - <string name="AcctTypeEmployee" value="Linden Lab 従æ¥å“¡"/> - <string name="PaymentInfoUsed" value="æ”¯æ‰•æƒ…å ±ä½¿ç”¨å±¥æ´ã‚ã‚Š"/> - <string name="PaymentInfoOnFile" value="æ”¯æ‰•æƒ…å ±ç™»éŒ²æ¸ˆ"/> - <string name="NoPaymentInfoOnFile" value="æ”¯æ‰•æƒ…å ±æœªç™»éŒ²"/> - <string name="AgeVerified" value="年齢確èªæ¸ˆ"/> - <string name="NotAgeVerified" value="年齢未確èª"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=ja - </string> - <string name="my_account_link_url"> - http://jp.secondlife.com/my - </string> - <string name="no_partner_text" value="ãªã—"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="表示å:"/> - <text name="solo_username_label" value="ユーザーå:"/> - <button name="set_name" tool_tip="表示åã‚’è¨å®š"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> - <text name="user_label" value="ユーザーå:"/> - <text name="user_slid" value="hamilton.linden"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="クリックã—ã¦ç”»åƒã‚’é¸æŠž"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="ç¾å®Ÿä¸–界:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="クリックã—ã¦ç”»åƒã‚’é¸æŠž"/> - <text name="title_homepage_text"> - Web サイト: - </text> - <line_editor name="homepage_edit" value="http://"/> - <check_box label="検索çµæžœã«è¡¨ç¤º" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="マイアカウント:"/> - <text_editor name="acc_status_text" value="ä½äººã€‚ æ”¯æ‰•æƒ…å ±æœªç™»éŒ²ã€‚"/> - <text name="my_account_link" value="[[URL] マイアカウントã«ç§»å‹•]"/> - <text name="title_partner_text" value="マイパートナー:"/> - <panel name="partner_data_panel"> - <text initial_value="(å–å¾—ä¸ï¼‰" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] 編集]" width="100"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="変更をä¿å˜" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="å–り消ã—" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_account.xml b/indra/newview/skins/default/xui/ja/panel_facebook_account.xml deleted file mode 100644 index 5269e5a2da..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="次ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—㦠Facebook ã«æŽ¥ç¶š:"/> - <string name="facebook_disconnected" value="Facebook ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“"/> - <text name="account_caption_label"> - Facebook ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切æ–" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook ã¸ã®æŠ•ç¨¿ã«ã¤ã„ã¦] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml b/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml deleted file mode 100644 index 17c628a190..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Second Life ã®ä½äººã«ã‚‚ãªã£ã¦ã„ã‚‹ Facebook ã®å‹ã ã¡ãŒã„ã¾ã›ã‚“。今ã™ã Facebook ã®å‹ã ã¡ã« Second Life ã«å‚åŠ ã—ã¦ã‚‚らã„ã¾ã—ょã†ï¼"/> - <string name="facebook_friends_no_connected" value="ç¾åœ¨ Facebook ã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。「ステータスã€ã‚¿ãƒ–ã«é€²ã‚“ã§ã€ã“ã®æ©Ÿèƒ½ã‚’有効ã«ã—ã¦ãã ã•ã„。"/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL ã®å‹ã ã¡"/> - <accordion_tab name="tab_suggested_friends" title="ã“れらã®äººã‚’ SL ã®å‹ã ã¡ã¨ã—ã¦è¿½åŠ "/> - </accordion> - <text name="facebook_friends_status"> - Facebook ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“。 - </text> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml b/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml deleted file mode 100644 index ee57d178e8..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="ç”»åƒè§£åƒåº¦"> - <combo_box.item label="ç¾åœ¨ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="ç”»åƒãƒ•ã‚£ãƒ«ã‚¿ãƒ¼"> - <combo_box.item label="フィルターãªã—" name="NoFilter"/> - </combo_box> - <button label="æ›´æ–°" name="new_snapshot_btn" tool_tip="クリックã—ã¦æ›´æ–°"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックã—ã¦ãƒ—レビューを切り替ãˆã‚‹"/> - <text name="caption_label"> - コメント (オプション): - </text> - <button label="投稿" name="post_photo_btn"/> - <button label="ã‚ャンセル" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_place.xml b/indra/newview/skins/default/xui/ja/panel_facebook_place.xml deleted file mode 100644 index e97422a9df..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - 自分ãŒã„ã‚‹å ´æ‰€ã«ã¤ã„ã¦ä½•ã‹è¨€ã£ã¦ãã ã•ã„: - </text> - <check_box initial_value="false" label="å ´æ‰€ã®ä¿¯çž°å›³ã‚’å«ã‚ã‚‹" name="add_place_view_cb"/> - <button label="投稿" name="post_place_btn"/> - <button label="ã‚ャンセル" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_facebook_status.xml b/indra/newview/skins/default/xui/ja/panel_facebook_status.xml deleted file mode 100644 index 1f48c9c8c7..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="次ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—㦠Facebook ã«æŽ¥ç¶šï¼š"/> - <string name="facebook_disconnected" value="Facebook ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“"/> - <text name="account_caption_label"> - Facebook ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切æ–" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook ã¸ã®æŠ•ç¨¿ã«ã¤ã„ã¦] - </text> - </panel> - <text name="status_caption_label"> - 今ã€ä½•ã‚’考ãˆã¦ã„ã‚‹? - </text> - <button label="投稿" name="post_status_btn"/> - <button label="ã‚ャンセル" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_flickr_account.xml b/indra/newview/skins/default/xui/ja/panel_flickr_account.xml deleted file mode 100644 index bd2e96d58c..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="次ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—㦠Flickr ã«æŽ¥ç¶š:"/> - <string name="flickr_disconnected" value="Flickr ã«æŽ¥ç¶šã—ã¦ã„ãªã„"/> - <text name="account_caption_label"> - Flickr ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切æ–" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Flickr ã¸ã®æŠ•ç¨¿ã«ã¤ã„ã¦] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml b/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml deleted file mode 100644 index 6a484b8e59..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="ç”»åƒè§£åƒåº¦"> - <combo_box.item label="ç¾åœ¨ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="ç”»åƒãƒ•ã‚£ãƒ«ã‚¿ãƒ¼"> - <combo_box.item label="フィルターãªã—" name="NoFilter"/> - </combo_box> - <button label="æ›´æ–°" name="new_snapshot_btn" tool_tip="クリックã—ã¦æ›´æ–°"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックã—ã¦ãƒ—レビューを切り替ãˆã‚‹"/> - <text name="title_label"> - タイトル: - </text> - <text name="description_label"> - 説明: - </text> - <check_box initial_value="true" label="SL ã®å ´æ‰€ã‚’説明ã®æœ€å¾Œã«å«ã‚ã‚‹" name="add_location_cb"/> - <text name="tags_label"> - タグ: - </text> - <text name="tags_help_label"> - タグをスペースã§åŒºåˆ‡ã‚‹ -複数å˜èªžã®ã‚¿ã‚°ã« "" を使用 - </text> - <combo_box name="rating_combobox" tool_tip="Flickr コンテンツã®ãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°åŒºåˆ†"> - <combo_box.item label="Flickr レーティング区分「Safeã€" name="SafeRating"/> - <combo_box.item label="Flickr レーティング区分「Moderateã€" name="ModerateRating"/> - <combo_box.item label="Flickr レーティング区分「Restrictedã€" name="RestrictedRating"/> - </combo_box> - <button label="共有" name="post_photo_btn"/> - <button label="å–り消ã—" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_group_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_group_control_panel.xml deleted file mode 100644 index 49749732c9..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="グループプãƒãƒ•ã‚£ãƒ¼ãƒ«" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="グループコール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«ã‚’é–‹ã" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml deleted file mode 100644 index f2429ac12a..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <text name="avatar_name" value="ä¸æ˜Ž"/> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="プãƒãƒ•ã‚£ãƒ¼ãƒ«" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="フレンド登録" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn" tool_tip="ã“ã®äººã«ãƒ†ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ã‚Šã¾ã™"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="共有" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="支払ã†" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="コール" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="コール終了" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="ボイスコントãƒãƒ¼ãƒ«" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_pick_info.xml b/indra/newview/skins/default/xui/ja/panel_pick_info.xml deleted file mode 100644 index e7b5d1929d..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="ピックã®æƒ…å ±"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="テレãƒãƒ¼ãƒˆ" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地図" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="編集" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_picks.xml b/indra/newview/skins/default/xui/ja/panel_picks.xml deleted file mode 100644 index c6eaaeef41..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="ピック" name="panel_picks"> - <string name="no_picks" value="ピックãªã—"/> - <string name="no_classifieds" value="クラシファイド広告ãªã—"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="ピック"/> - <accordion_tab name="tab_classifieds" title="クラシファイド広告"/> - </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="ç¾åœ¨åœ°ã®æ–°ã—ã„ピックã€ã¾ãŸã¯ã‚¯ãƒ©ã‚·ãƒ•ã‚¡ã‚¤ãƒ‰åºƒå‘Šã‚’作æˆã—ã¾ã™"/> - </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="ピックã®æƒ…å ±ã‚’è¡¨ç¤º"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <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="世界地図ã«è©²å½“ã™ã‚‹ã‚¨ãƒªã‚¢ã‚’表示"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_profile_interests.xml b/indra/newview/skins/default/xui/ja/panel_profile_interests.xml deleted file mode 100644 index 93cde6ffec..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="趣味" name="panel_profile_interests"> - <text name="I Want To:"> - 次ã®å†…容を実行: - </text> - <check_box label="作る" name="chk0"/> - <check_box label="探検" name="chk1"/> - <check_box label="出会ã†" name="chk2"/> - <check_box label="雇ã£ã¦ã‚‚らã†" name="chk6"/> - <check_box label="グループ" name="chk3"/> - <check_box label="è²·ã†" name="chk4"/> - <check_box label="販売ã™ã‚‹" name="chk5"/> - <check_box label="雇ã†" name="chk7"/> - <line_editor name="want_to_edit"> - (ãƒãƒ¼ãƒ‰ä¸...) - </line_editor> - <text name="Skills:"> - スã‚ル: - </text> - <check_box label="テクスãƒãƒ£" name="schk0"/> - <check_box label="建築" name="schk1"/> - <check_box label="モデリング" name="schk3"/> - <check_box label="イベント計画" name="schk2"/> - <check_box label="スクリプト" name="schk4"/> - <check_box label="ã‚ャラクターã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º" name="schk5"/> - <line_editor name="skills_edit"> - (ãƒãƒ¼ãƒ‰ä¸...) - </line_editor> - <text name="Languages:"> - 言語: - </text> - <line_editor name="languages_edit"> - (ãƒãƒ¼ãƒ‰ä¸...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_twitter_account.xml b/indra/newview/skins/default/xui/ja/panel_twitter_account.xml deleted file mode 100644 index b140b7463f..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="次ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—㦠Twitter ã«æŽ¥ç¶š:"/> - <string name="twitter_disconnected" value="Twitter ã«æŽ¥ç¶šã—ã¦ã„ãªã„"/> - <text name="account_caption_label"> - Twitter ã«æŽ¥ç¶šã—ã¦ã„ã¾ã›ã‚“。 - </text> - <panel name="panel_buttons"> - <button label="接続..." name="connect_btn"/> - <button label="切æ–" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Twitter ã¸ã®æŠ•ç¨¿ã«ã¤ã„ã¦] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml b/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml deleted file mode 100644 index cdb45e1853..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - 何ãŒèµ·ãã¦ã„ã‚‹ã®ã§ã—ょã†ã‹? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL ã®å ´æ‰€ã‚’å«ã‚€" name="add_location_cb"/> - <check_box initial_value="true" label="写真をå«ã‚ã‚‹" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="ç”»åƒè§£åƒåº¦"> - <combo_box.item label="ç¾åœ¨ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="ç”»åƒãƒ•ã‚£ãƒ«ã‚¿ãƒ¼"> - <combo_box.item label="フィルターãªã—" name="NoFilter"/> - </combo_box> - <button label="æ›´æ–°" name="new_snapshot_btn" tool_tip="クリックã—ã¦æ›´æ–°"/> - <button label="プレビュー" name="big_preview_btn" tool_tip="クリックã—ã¦ãƒ—レビューを切り替ãˆã‚‹"/> - <button label="ツイート" name="post_photo_btn"/> - <button label="å–り消ã—" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml b/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml new file mode 100644 index 0000000000..95a2e0acee --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_camera.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="camera_actions"> + <columns label="Kamera" name="lst_action" /> + </rows> + <rows name="look_up"> + <columns name="lst_action" value="Patrz w górÄ™" /> + </rows> + <rows name="look_down"> + <columns name="lst_action" value="Patrz w dół" /> + </rows> + <rows name="move_forward"> + <columns name="lst_action" value="Kamera w przód" /> + </rows> + <rows name="move_backward"> + <columns name="lst_action" value="Kamera w tyÅ‚" /> + </rows> + <rows name="move_forward_fast"> + <columns name="lst_action" value="Kamera szybko w przód" /> + </rows> + <rows name="move_backward_fast"> + <columns name="lst_action" value="Kamera szybko w tyÅ‚" /> + </rows> + <rows name="spin_over"> + <columns name="lst_action" value="Obrót kamery w górÄ™" /> + </rows> + <rows name="spin_under"> + <columns name="lst_action" value="Obrót kamery w dół" /> + </rows> + <rows name="pan_up"> + <columns name="lst_action" value="PrzesuÅ„ kamerÄ™ w górÄ™" /> + </rows> + <rows name="pan_down"> + <columns name="lst_action" value="PrzesuÅ„ kamerÄ™ w dół" /> + </rows> + <rows name="pan_left"> + <columns name="lst_action" value="PrzesuÅ„ kamerÄ™ w lewo" /> + </rows> + <rows name="pan_right"> + <columns name="lst_action" value="PrzesuÅ„ kamerÄ™ w prawo" /> + </rows> + <rows name="pan_in"> + <columns name="lst_action" value="Przybliż kamerÄ™" /> + </rows> + <rows name="pan_out"> + <columns name="lst_action" value="Oddal kamerÄ™" /> + </rows> + <rows name="spin_around_ccw"> + <columns name="lst_action" tool_tip="Obrót kamery w kierunku przeciwnym do ruchu wskazówek zegara." value="Obrót kamery w prawo" /> + </rows> + <rows name="spin_around_cw"> + <columns name="lst_action" tool_tip="Obrót kamery zgodnie z ruchem wskazówek zegara." value="Obrót kamery w lewo" /> + </rows> + <rows name="move_forward_sitting"> + <columns name="lst_action" value="Kamera w przód siedzÄ…c" /> + </rows> + <rows name="move_backward_sitting"> + <columns name="lst_action" value="Kamera w tyÅ‚ siedzÄ…c" /> + </rows> + <rows name="spin_over_sitting"> + <columns name="lst_action" value="Obrót kamery w górÄ™ siedzÄ…c" /> + </rows> + <rows name="spin_under_sitting"> + <columns name="lst_action" value="Obrót kamery w dół siedzÄ…c" /> + </rows> + <rows name="spin_around_ccw_sitting"> + <columns name="lst_action" tool_tip="Obrót kamery w kierunku przeciwnym do ruchu wskazówek zegara - siedzÄ…c." value="Obrót kamery w prawo siedzÄ…c" /> + </rows> + <rows name="spin_around_cw_sitting"> + <columns name="lst_action" tool_tip="Obrót kamery zgodnie z ruchem wskazówek zegara - siedzÄ…c." value="Obrót kamery w lewo siedzÄ…c" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml b/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml new file mode 100644 index 0000000000..5f995b4128 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_columns_basic.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <columns label="Akcja" name="lst_action" /> + <columns label="Wyzwalacz" name="lst_ctrl1" /> + <columns label="Alternatywny 1" name="lst_ctrl2" /> + <columns label="Alternatywny 2" name="lst_ctrl3" /> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml b/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml new file mode 100644 index 0000000000..568b7dcf6d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_editing.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="editing_actions"> + <columns label="Edytowanie" name="lst_action" /> + </rows> + <rows name="edit_avatar_spin_ccw"> + <columns name="lst_action" tool_tip="Obrót kamery wokół awatara w kierunku przeciwnym do ruchu wskazówek zegara." value="Obrót kamery w prawo" /> + </rows> + <rows name="edit_avatar_spin_cw"> + <columns name="lst_action" tool_tip="Obrót kamery wokół awatara zgodnie z ruchem wskazówek zegara." value="Obrót kamery w lewo" /> + </rows> + <rows name="edit_avatar_spin_over"> + <columns name="lst_action" tool_tip="Obrót kamery ponad awatarem" value="Obrót kamery w górÄ™" /> + </rows> + <rows name="edit_avatar_spin_under"> + <columns name="lst_action" tool_tip="Obrót kamery pod awatarem" value="Obrót kamery w dół" /> + </rows> + <rows name="edit_avatar_move_forward"> + <columns name="lst_action" value="Kamera w przód" /> + </rows> + <rows name="edit_avatar_move_backward"> + <columns name="lst_action" value="Kamera w tyÅ‚" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_media.xml b/indra/newview/skins/default/xui/pl/control_table_contents_media.xml new file mode 100644 index 0000000000..042e37963d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_media.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="media_actions"> + <columns label="DźwiÄ™k i media" name="lst_action" /> + </rows> + <rows name="toggle_pause_media"> + <columns name="lst_action" value="Odtwórz / wstrzymaj media" /> + </rows> + <rows name="toggle_enable_media"> + <columns name="lst_action" value="Odtwórz / zatrzymaj wszystkie media" /> + </rows> + <rows name="voice_follow_key"> + <columns name="lst_action" value="GÅ‚os" /> + </rows> + <rows name="toggle_voice"> + <columns name="lst_action" value="PrzeÅ‚Ä…cz gÅ‚os" /> + </rows> + <rows name="start_chat"> + <columns name="lst_action" value="Rozpocznij czat" /> + </rows> + <rows name="start_gesture"> + <columns name="lst_action" value="Odtwórz gest" /> + </rows> + <rows name="script_trigger_lbutton"> + <columns name="lst_action" value="Interakcja (LMB)" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml b/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml new file mode 100644 index 0000000000..93dd24f0d5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/control_table_contents_movement.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<contents> + <rows name="move_actions"> + <columns label="Ruch" name="lst_action" /> + </rows> + <rows name="walk_to"> + <columns name="lst_action" tool_tip="Podejdź do miejsca, której wskazuje kursor myszy." value="Podejdź do" /> + </rows> + <rows name="teleport_to"> + <columns name="lst_action" tool_tip="Teleportuj siÄ™ do miejsca, które wskazuje kursor myszy - nie wszystkie lokalizacje pozwalajÄ… na bezpoÅ›redniÄ… teleportacjÄ™, wiÄ™c zamiast tego możesz zostać teleportowana/y w pobliże celu." value="Teleportuj do" /> + </rows> + <rows name="push_forward"> + <columns name="lst_action" value="Idź w przód" /> + </rows> + <rows name="push_backward"> + <columns name="lst_action" value="Idź do tyÅ‚u" /> + </rows> + <rows name="turn_left"> + <columns name="lst_action" value="Obrót w lewo" /> + </rows> + <rows name="turn_right"> + <columns name="lst_action" value="Obrót w prawo" /> + </rows> + <rows name="slide_left"> + <columns name="lst_action" value="Idź w lewo" /> + </rows> + <rows name="slide_right"> + <columns name="lst_action" value="Idź w prawo" /> + </rows> + <rows name="jump"> + <columns name="lst_action" value="Skok / W górÄ™" /> + </rows> + <rows name="push_down"> + <columns name="lst_action" value="W dół" /> + </rows> + <rows name="run_forward"> + <columns name="lst_action" value="Bieg w przód" /> + </rows> + <rows name="run_backward"> + <columns name="lst_action" value="Bieg w tyÅ‚" /> + </rows> + <rows name="run_left"> + <columns name="lst_action" value="Bieg w lewo" /> + </rows> + <rows name="run_right"> + <columns name="lst_action" value="Bieg w prawo" /> + </rows> + <rows name="toggle_run"> + <columns name="lst_action" value="Zawsze biegaj" /> + </rows> + <rows name="toggle_fly"> + <columns name="lst_action" value="Lataj / PrzestaÅ„" /> + </rows> + <rows name="toggle_sit"> + <columns name="lst_action" value="UsiÄ…dź / WstaÅ„" /> + </rows> + <rows name="stop_moving"> + <columns name="lst_action" value="Wstrzymaj ruch" /> + </rows> +</contents> diff --git a/indra/newview/skins/default/xui/pl/floater_360capture.xml b/indra/newview/skins/default/xui/pl/floater_360capture.xml new file mode 100644 index 0000000000..d0a49d1bde --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_360capture.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="360capture" title="ZdjÄ™cie 360°"> + <panel name="ui_panel_left"> + <text name="quality_level_label"> + Poziom detali + </text> + <radio_group name="360_quality_selection"> + <radio_item label="PodglÄ…d (szybkie)" name="preview_quality" tool_tip="NajsÅ‚absza jakość" /> + <radio_item label="Åšredni" name="medium_quality" tool_tip="Åšrednia jakość" /> + <radio_item label="Wysoki" name="high_quality" tool_tip="Wysoka jakość" /> + <radio_item label="Maksymalny" name="maximum_quality" tool_tip="Maksymalna jakość" /> + </radio_group> + <check_box label="Ukryj awatary" name="360_hide_avatar" /> + <button label="Stwórz obraz 360" name="capture_button" /> + <button label="Zapisz jako..." name="save_local_button" /> + </panel> + <panel name="ui_panel_right"> + <text name="statusbar"> + PrzeciÄ…gaj obraz, aby przesunąć widok + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml index b9c75e8e88..b8d75315de 100644 --- a/indra/newview/skins/default/xui/pl/floater_about.xml +++ b/indra/newview/skins/default/xui/pl/floater_about.xml @@ -6,8 +6,8 @@ </panel> <panel label="PodziÄ™kowania" name="credits_panel"> <text name="linden_intro"> - Second Life zostaÅ‚o dla Ciebie stworzone przez Lindenów, - z wkÅ‚adem open source od: +Second Life zostaÅ‚o dla Ciebie stworzone przez Lindenów, +z wkÅ‚adem open source od: </text> </panel> <panel label="Licencje" name="licenses_panel" /> diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml index 1646db897a..9f8e110dd6 100644 --- a/indra/newview/skins/default/xui/pl/floater_about_land.xml +++ b/indra/newview/skins/default/xui/pl/floater_about_land.xml @@ -1,17 +1,26 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater name="floaterland" title="O DZIAÅCE"> + <floater.string name="Hours"> + [HOURS] godz. + </floater.string> + <floater.string name="Hour"> + godz. + </floater.string> <floater.string name="Minutes"> - [MINUTES] minuty + [MINUTES] min. </floater.string> <floater.string name="Minute"> - minuta + min. </floater.string> <floater.string name="Seconds"> - [SECONDS] sekund + [SECONDS] sek. </floater.string> <floater.string name="Remaining"> pozostaÅ‚o </floater.string> + <floater.string name="Always"> + Zawsze + </floater.string> <tab_container name="landtab"> <panel label="OGÓLNE" name="land_general_panel"> <panel.string name="new users only"> @@ -65,16 +74,10 @@ <text name="Owner:"> WÅ‚aÅ›ciciel: </text> - <text name="OwnerText"> - Åadowanie... - </text> <button label="Profil" name="Profile..." /> <text name="Group:"> Grupa: </text> - <text name="GroupText"> - Åadowanie... - </text> <button label="Ustaw" name="Set..." /> <check_box label="UdostÄ™pnij przypisywanie na GrupÄ™" name="check deed" tool_tip="Oficer Grupy ma prawo przepisać prawo wÅ‚asnoÅ›ci dziaÅ‚ki na GrupÄ™. DziaÅ‚ka wspierana jest przez przydziaÅ‚y pochodzÄ…ce od czÅ‚onków Grupy." /> <button label="Przypisz" name="Deed..." tool_tip="Prawo przypisania dziaÅ‚ki na GrupÄ™ może dokonać jedynie oficer Grupy." /> @@ -111,7 +114,7 @@ <text name="DwellText"> Wczytywanie... </text> - <button label="Kup dziaÅ‚kÄ™" name="Buy Land..." /> + <button label="Kup dziaÅ‚kÄ™" label_selected="Kup dziaÅ‚kÄ™" name="Buy Land..." /> <button label="Sprzedaż przez Lindenów" name="Linden Sale..." tool_tip="DziaÅ‚ka musi mieć WÅ‚aÅ›ciciela, zawartość oraz nie może być wystawiona na AukcjÄ™." /> <button label="Skrypty" name="Scripts..."/> <button label="Kup dla Grupy" name="Buy For Group..." /> @@ -130,7 +133,7 @@ DziaÅ‚ka zakupiona w tym Regionie może być Å‚Ä…czona/dzielona. </panel.string> <panel.string name="can_not_change"> - DziaÅ‚ka zakupiona w tym Regionie nie może być + DziaÅ‚ka zakupiona w tym Regionie nie może być Å‚Ä…czona/dzielona. </panel.string> <text name="estate_section_lbl"> @@ -151,9 +154,6 @@ <text name="covenant_timestamp_text"> Ostatnia modyfikacja Wed Dec 31 16:00:00 1969 </text> - <text name="region_name_text"> - Wczytywanie... - </text> <text name="region_landtype_lbl"> Typ: </text> @@ -220,8 +220,8 @@ <text name="Object Owners:"> WÅ‚aÅ›ciciele: </text> - <button name="Refresh List" tool_tip="OdÅ›wież listÄ™ obiektów" /> - <button label="Zwróć obiekty" name="Return objects..." /> + <button label="OdÅ›wież listÄ™" label_selected="OdÅ›wież listÄ™" name="Refresh List" tool_tip="OdÅ›wież listÄ™ obiektów" /> + <button label="Zwróć obiekty" label_selected="Zwróć obiekty" name="Return objects..." /> <name_list name="owner list"> <name_list.columns label="Typ" name="type" /> <name_list.columns label="Nazwa" name="name" /> @@ -250,7 +250,7 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. Twoja dziaÅ‚ka bÄ…dź treść jakÄ… zawiera klasyfikowana jest jako Moderate. </panel.string> <panel.string name="mature_check_adult_tooltip"> - Twoja dziaÅ‚ka bÄ…dź treść jakÄ… zawiera klasyfikowana jest jako Adult + Twoja dziaÅ‚ka bÄ…dź treść jakÄ… zawiera klasyfikowana jest jako Adult. </panel.string> <panel.string name="landing_point_none"> (brak) @@ -271,21 +271,21 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. <text name="allow_label2"> Budowanie: </text> - <check_box label="Wszyscy" name="edit objects check" /> - <check_box label="Grupa" name="edit group objects check" /> + <check_box label="Wszyscy" name="edit objects check" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to Rezydenci mogÄ… tworzyć i rezzować obiekty na Twojej dziaÅ‚ce." /> + <check_box label="Grupa" name="edit group objects check" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to osoby bÄ™dÄ…ce w grupie przypisanej do Twojej dziaÅ‚ki mogÄ… na niej tworzyć i rezzować obiekty." /> <text name="allow_label3"> Nowe obiekty: </text> - <check_box label="Wszyscy" name="all object entry check" /> - <check_box label="Grupa" name="group object entry check" /> + <check_box label="Wszyscy" name="all object entry check" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to Rezydenci mogÄ… przenosić istniejÄ…ce obiekty z innych dziaÅ‚ek na tÄ™ dziaÅ‚kÄ™." /> + <check_box label="Grupa" name="group object entry check" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to osoby bÄ™dÄ…ce w grupie przypisanej do tej dziaÅ‚ki mogÄ… na niÄ… przenosić istniejÄ…ce obiekty z innych dziaÅ‚ek." /> <text name="allow_label4"> Skrypty: </text> - <check_box label="Wszyscy" name="check other scripts" /> - <check_box label="Grupa" name="check group scripts" /> + <check_box label="Wszyscy" name="check other scripts" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to Rezydenci mogÄ… uruchamiać skrypty na Twojej dziaÅ‚ce, wÅ‚Ä…czajÄ…c w to te z dodatków." /> + <check_box label="Grupa" name="check group scripts" tool_tip="Gdy ta opcja jest wÅ‚Ä…czona, to osoby bÄ™dÄ…ce w grupie przypisanej do Twojej dziaÅ‚ki mogÄ… na niej uruchamiać skrypty, wÅ‚Ä…czajÄ…c w to te z dodatków." /> <check_box label="Bezpieczna (brak uszkodzeÅ„)" name="check safe" tool_tip="Wybrana - dziaÅ‚ka jest bezpieczna - uszkodzenia w walce sÄ… zablokowane. Nie jest wybrana - uszkodzenia w walce sÄ… wÅ‚Ä…czone." /> <check_box label="Popychanie niedozwolone" name="PushRestrictCheck" tool_tip="Nie pozwalaj skryptom na popychanie. Wybranie tej opcji może być przydatne do ograniczenia zakłóceÅ„ spokoju na Twojej dziaÅ‚ce." /> - <check_box label="WyÅ›wietlaj w wyszukiwarce (30L$/tyg.)" name="ShowDirectoryCheck" tool_tip="UdostÄ™pnij ukazywanie siÄ™ nazwy dziaÅ‚ki w wyszukiwarce" /> + <check_box label="WyÅ›wietlaj w wyszukiwarce (30L$/tyg.)" name="ShowDirectoryCheck" tool_tip="UdostÄ™pnij ukazywanie siÄ™ nazwy dziaÅ‚ki w wyszukiwarce"/> <combo_box name="land category"> <combo_box.item label="Każda kategoria" name="item0" /> <combo_box.item label="Lokalizacja Lindenów" name="item1" /> @@ -301,24 +301,24 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. <combo_box.item label="Wynajem" name="item13" /> <combo_box.item label="Inna" name="item12" /> </combo_box> - <check_box label="Treść Moderate" name="MatureCheck" /> + <check_box label="Treść Moderate" name="MatureCheck"/> <text name="Snapshot:"> ZdjÄ™cie: </text> <texture_picker name="snapshot_ctrl" tool_tip="Kliknij by wybrać zdjÄ™cie" /> - <text name="allow_label5"> + <text name="allow_see_label"> Awatary na innych dziaÅ‚kach mogÄ… rozmawiać/widzieć awatary na tej dziaÅ‚ce </text> - <check_box name="SeeAvatarsCheck" tool_tip="Pozwala Rezydentom z innych dziaÅ‚ek widzieć i rozmawiać z Rezydentami na tej dziaÅ‚ce - oraz Tobie, widzieć ich i rozmawiać z nimi." /> + <check_box label="Widzieć awatary" name="SeeAvatarsCheck" tool_tip="Pozwala Rezydentom z innych dziaÅ‚ek widzieć i rozmawiać z Rezydentami na tej dziaÅ‚ce - oraz Tobie, widzieć ich i rozmawiać z nimi." /> <text name="landing_point"> Punkt LÄ…dowania: [LANDING] </text> <button label="Ustaw" label_selected="Ustaw" name="Set" tool_tip="Ustal miejsce lÄ…dowania dla przybywajÄ…cych goÅ›ci. Używa poÅ‚ożenia Twojego awatara na tej dziaÅ‚ce." /> - <button label="Wyczyść" label_selected="Wyczyść" name="Clear" tool_tip="UsuÅ„ dotychczasowe miejsce lÄ…dowania" /> + <button label="Wyczyść" label_selected="Wyczyść" name="Clear" tool_tip="UsuÅ„ dotychczasowe miejsce lÄ…dowania." /> <text name="Teleport Routing: "> Trasa teleportacji: </text> - <combo_box name="landing type" tool_tip="Trasa teleportacji - ustaw w jaki sposób bÄ™dzie siÄ™ odbywać proces teleportacji na dziaÅ‚ce"> + <combo_box name="landing type" tool_tip="Trasa teleportacji - ustaw w jaki sposób bÄ™dzie siÄ™ odbywać proces teleportacji na dziaÅ‚ce."> <combo_box.item label="Zablokowana" name="Blocked" /> <combo_box.item label="Punkt LÄ…dowania" name="LandingPoint" /> <combo_box.item label="Gdziekolwiek" name="Anywhere" /> @@ -345,18 +345,18 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. Obiekty używajÄ…ce tej tekstury bÄ™dÄ… wyÅ›wietlaÅ‚y film lub stronÄ™ internetowÄ… po naciÅ›niÄ™ciu przycisku odtwarzania. Wybierz miniaturÄ™, jeÅ›li chcesz zmienić teksturÄ™. </text> <check_box label="Skaluj automatycznie" name="media_auto_scale" tool_tip="Wybranie tej opcji dobierze rozmiar zawartoÅ›ci mediów dla tej dziaÅ‚ki automatycznie. Może to mieć znaczÄ…cy wpÅ‚yw na jakość odtwarzanego materiaÅ‚u - może on być odtwarzany wolniej i w gorszej jakoÅ›ci, ale żadne dalsze dziaÅ‚ania nie bÄ™dÄ… potrzebne." /> - <text name="media_size" tool_tip="Rozmiar dla Å‚adowania mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych."> + <text name="media_size" tool_tip="Rozmiar dla przesyÅ‚anych mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych."> Rozmiar: </text> - <spinner name="media_size_width" tool_tip="Rozmiar dla Å‚adowania mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych." /> - <spinner name="media_size_height" tool_tip="Rozmiar dla Å‚adowania mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych." /> + <spinner name="media_size_width" tool_tip="Rozmiar dla przesyÅ‚anych mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych." /> + <spinner name="media_size_height" tool_tip="Rozmiar dla przesyÅ‚anych mediów internetowych. Zostaw 0 dla ustawieÅ„ domyÅ›lnych." /> <text name="pixels"> pikseli </text> <text name="Options:"> Opcje: </text> - <check_box label="Odtwarzanie mediów w pÄ™tli" name="media_loop" tool_tip="Powtarzaj odtwarzanie mediów w pÄ™tli. Po wyÅ›wietleniu materiaÅ‚u odtwarzanie rozpocznie siÄ™ od poczÄ…tku." /> + <check_box label="Odtwarzaj w pÄ™tli" name="media_loop" tool_tip="Powtarzaj odtwarzanie mediów w pÄ™tli. Po wyÅ›wietleniu materiaÅ‚u odtwarzanie rozpocznie siÄ™ od poczÄ…tku." /> </panel> <panel label="DŹWIĘK" name="land_audio_panel"> <text name="MusicURL:"> @@ -377,6 +377,7 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. <check_box label="Rozmowy wÅ‚Ä…czone" name="parcel_enable_voice_channel" /> <check_box label="Rozmowy wÅ‚Ä…czone (ustawione przez MajÄ…tek)" name="parcel_enable_voice_channel_is_estate_disabled" /> <check_box label="Ogranicz komunikacjÄ™ gÅ‚osowÄ… do obszaru tej dziaÅ‚ki" name="parcel_enable_voice_channel_local" /> + <check_box label="Ogranicz MOAP do obecnej dziaÅ‚ki" name="obscure_moap" tool_tip="Media na primach znajdujÄ…cych siÄ™ poza tÄ… dziaÅ‚kÄ… nie powinny odtwarzać siÄ™ automatycznie dla rezydentów bÄ™dÄ…cych na niej - i odwrotnie." /> </panel> <panel label="DOSTĘP" name="land_access_panel"> <panel.string name="access_estate_defined"> @@ -385,13 +386,10 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. <panel.string name="estate_override"> Jedna lub wiÄ™cej z tych opcji ustawiona jest z poziomu MajÄ…tku </panel.string> - <check_box name="public_access" label="DostÄ™p publiczny (brak zaznaczenia tej opcji = widoczne linie zakazu)" /> - <text name="Only Allow"> - Umożliwiaj dostÄ™p tylko dla: - </text> - <check_box label="Rezydentów zarejestrowanych w systemie pÅ‚atniczym Linden Lab [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Zbanuj Rezydentów niezarejestrowanych w systemie pÅ‚atniczym Linden Lab. Odwiedź [SUPPORT_SITE], aby uzyskać wiÄ™cej informacji." /> - <check_box label="Rezydentów, którzy majÄ… 18+ lat [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Zbanuj Rezydetów, którzy majÄ… mniej niż 18 lat. Odwiedź [SUPPORT_SITE], aby uzyskać wiÄ™cej informacji." /> - <check_box label="UdostÄ™pnij wejÅ›cie grupie [GROUP]" name="GroupCheck" tool_tip="Ustaw GrupÄ™ w głównej zakÅ‚adce." /> + <check_box label="Każdy może odwiedzać (brak zaznaczenia = widoczne linie zakazu)" name="public_access" /> + <check_box label="Osoba musi mieć 18+ lat [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Zbanuj Rezydetów, którzy majÄ… mniej niż 18 lat. Odwiedź [SUPPORT_SITE], aby uzyskać wiÄ™cej informacji." /> + <check_box label="Osoba musi mieć dane pÅ‚atnicze w systemie Linden Lab [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Zbanuj Rezydentów niezarejestrowanych w systemie pÅ‚atniczym Linden Lab. Odwiedź [SUPPORT_SITE], aby uzyskać wiÄ™cej informacji." /> + <check_box label="Umożliwiaj wejÅ›cie bez ograniczeÅ„ grupie [GROUP]" name="GroupCheck" tool_tip="Ustaw GrupÄ™ w głównej zakÅ‚adce." /> <check_box label="Sprzedaj przepustki:" name="PassCheck" tool_tip="Otwórz tymczasowy dostÄ™p do tej dziaÅ‚ki" /> <combo_box name="pass_combo"> <combo_box.item label="Każdemu" name="Anyone" /> @@ -399,22 +397,32 @@ Jedynie wiÄ™ksze dziaÅ‚ki mogÄ… być umieszczone w bazie wyszukiwarki. </combo_box> <spinner label="Cena w L$:" name="PriceSpin" /> <spinner label="Godziny dostÄ™pu:" name="HoursSpin" /> - <panel name="Allowed_layout_panel"> - <text label="Zawsze Zezwalaj" name="AllowedText"> - Dozwoleni Rezydenci - </text> - <name_list name="AccessList" tool_tip="([LISTED] na liÅ›cie, [MAX] maksimum)" /> - <button label="Dodaj" name="add_allowed" /> - <button label="UsuÅ„" label_selected="UsuÅ„" name="remove_allowed" /> - </panel> - <panel name="Banned_layout_panel"> - <text label="Banuj" name="BanCheck"> - Zbanowani Rezydenci - </text> - <name_list name="BannedList" tool_tip="([LISTED] na liÅ›cie, [MAX] maksimum)" /> - <button label="Dodaj" name="add_banned" /> - <button label="UsuÅ„" label_selected="UsuÅ„" name="remove_banned" /> - </panel> + <text name="OwnerLimited"> + (wÅ‚aÅ›ciciel MajÄ…tku może ograniczać te wybory) + </text> + <layout_stack name="access_stack"> + <layout_panel name="Allowed_layout_panel"> + <text label="Zawsze zezwalaj" name="AllowedText"> + Zawsze zezwalaj ([COUNT]/[MAX]) + </text> + <name_list name="AccessList" tool_tip="([LISTED] na liÅ›cie, [MAX] maksimum)"/> + <button label="Dodaj" name="add_allowed"/> + <button label="UsuÅ„" label_selected="UsuÅ„" name="remove_allowed"/> + </layout_panel> + <layout_panel name="Banned_layout_panel"> + <text label="Banuj" name="BanCheck"> + Zbanowani ([COUNT]/[MAX]) + </text> + <name_list name="BannedList" tool_tip="([LISTED] na liÅ›cie, [MAX] maksimum)"> + <columns label="ImiÄ™" name="name" /> + <columns label="Czas" name="duration" /> + </name_list> + <button label="Dodaj" name="add_banned"/> + <button label="UsuÅ„" label_selected="UsuÅ„" name="remove_banned"/> + </layout_panel> + </layout_stack> </panel> + <panel label="PRZYGODY" name="land_experiences_panel"/> + <panel label="OTOCZENIE" name="land_environment_panel" /> </tab_container> </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml b/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml new file mode 100644 index 0000000000..2ef78d3d35 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_add_payment_method.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_add_payment_method"> + <panel name="wrapper_panel"> + <text name="title_txt"> + Dodaj metodÄ™ pÅ‚atnoÅ›ci, aby kupić Lindeny i lepiej doÅ›wiadczać Second Life. + </text> + <button label="Rozpocznij" name="continue_btn" /> + <button label="Później" name="close_btn" /> + <text name="image_left_desc"> + Stwórz awatara, którego pokochasz. Wybieraj spoÅ›ród milionów sklepów i Second Life Marketplace. Twój styl jest tutaj. + </text> + <text name="image_center_desc"> + Wspieraj swoich ulubionych wykonawców i gospodarzy. Pomożesz im tworzyć wspaniaÅ‚e doÅ›wiadczenia. + </text> + <text name="image_right_desc"> + Stwórz dom swoich marzeÅ„. Miliony przedmiotów dostÄ™pnych do kupienia mogÄ… uczynić Twoje gniazdko wyjÄ…tkowym. + </text> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml b/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml new file mode 100644 index 0000000000..33dd99e491 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_adjust_environment.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="env_adjust_snapshot" title="WÅ‚asne oÅ›wietlenie"> + <layout_stack name="outer_stack"> + <layout_panel name="env_controls"> + <layout_stack name="settings_stack"> + <layout_panel name="lp_1"> + <text name="ambient_lbl"> + Otoczenie: + </text> + <text name="blue_horizon_lbl"> + Hor. bÅ‚Ä™kitu: + </text> + <text name="blue_density_lbl"> + GÄ™st. bÅ‚Ä™kitu: + </text> + <button label="Reset" tool_tip="Zamknij i zresetuj do otoczenia współdzielonego" name="btn_reset" /> + <text name="sun_color_lbl"> + Kolor SÅ‚oÅ„ca: + </text> + <text name="cloud_color_lbl"> + Kolor chmur: + </text> + <text name="cloud_map_label"> + Obraz chmur: + </text> + <text name="water_map_label"> + Obraz wody: + </text> + </layout_panel> + <layout_panel name="lp_2"> + <text name="haze_horizon_label"> + Horyzont mgÅ‚y: + </text> + <text name="haze_density_label"> + GÄ™stość mgÅ‚y: + </text> + <text name="cloud_coverage_label"> + Zachmurzenie: + </text> + <text name="cloud_scale_label"> + Rozmiar chmur: + </text> + <text name="scene_gamma_label"> + Gamma sceny: + </text> + </layout_panel> + <layout_panel name="lp_3"> + <text name="label"> + SÅ‚oÅ„ce: + </text> + <text name="sun_azimuth_label"> + Azymut: + </text> + <text name="sun_elevation_label"> + Elewacja: + </text> + <check_box label="Pokaż emiter" name="sunbeacon" /> + <text name="scale_label"> + Rozmiar: + </text> + <text name="glow_focus_label"> + Ostrość blasku: + </text> + <text name="glow_size_label"> + Rozmiar blasku: + </text> + <text name="star_brightness_label"> + Jasność gwiazd: + </text> + </layout_panel> + <layout_panel name="lp_4"> + <text name="label"> + Księżyc: + </text> + <text name="moon_azimuth_label"> + Azymut: + </text> + <text name="moon_elevation_label"> + Elewacja: + </text> + <check_box label="Pokaż emiter" name="moonbeacon" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_animation_anim_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_anim_preview.xml index ff2fee6f2f..c56f103d21 100644 --- a/indra/newview/skins/default/xui/pl/floater_animation_anim_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_animation_anim_preview.xml @@ -6,6 +6,6 @@ <text name="description_label"> Opis: </text> - <button label="ZaÅ‚aduj ([AMOUNT]L$)" name="ok_btn" /> + <button label="PrzeÅ›lij ([AMOUNT]L$)" name="ok_btn" /> <button label="Anuluj" label_selected="Anuluj" name="cancel_btn" /> </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_animation_bvh_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_bvh_preview.xml index 18212fad9c..63b0931b2b 100644 --- a/indra/newview/skins/default/xui/pl/floater_animation_bvh_preview.xml +++ b/indra/newview/skins/default/xui/pl/floater_animation_bvh_preview.xml @@ -173,6 +173,6 @@ Maksymalna dÅ‚ugość pliku animacji wynosi [MAX_LENGTH] sekund. Nie można wczytać pliku animacji. Doradzamy eksport plików BVH z Poser 4. </text> - <button label="ZaÅ‚aduj ([AMOUNT]L$)" name="ok_btn" /> + <button label="PrzeÅ›lij ([AMOUNT]L$)" name="ok_btn" /> <button label="Anuluj" name="cancel_btn" /> </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_associate_listing.xml b/indra/newview/skins/default/xui/pl/floater_associate_listing.xml index b5464dd59b..7ef99457c9 100644 --- a/indra/newview/skins/default/xui/pl/floater_associate_listing.xml +++ b/indra/newview/skins/default/xui/pl/floater_associate_listing.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="associate listing" title="PRZYPISANE PRZEDMIOTY"> - <text name="message">ID przedmiotu:</text> +<floater name="associate listing" title="PRZYPISZ RZECZ"> + <text name="message">ID rzeczy:</text> <line_editor name="listing_id">Wpisz tutaj ID</line_editor> - <button label="OK" name="OK"/> <button label="Anuluj" name="Cancel"/> </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml b/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml new file mode 100644 index 0000000000..fcf39b94ff --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_avatar_render_settings.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="floater_avatar_render_settings" title="USTAWIENIA RENDEROWANIA AWATARÓW"> + <string name="av_never_render" value="Nigdy" /> + <string name="av_always_render" value="Zawsze" /> + <filter_editor label="Filtruj ludzi" name="people_filter_input" /> + <menu_button name="plus_btn" tool_tip="DziaÅ‚ania na wybranej osobie" /> + <name_list name="render_settings_list"> + <name_list.columns label="ImiÄ™" name="name" /> + <name_list.columns label="Renderowanie" name="setting" /> + <name_list.columns label="Dodano" name="timestamp" /> + </name_list> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_ban_duration.xml b/indra/newview/skins/default/xui/pl/floater_ban_duration.xml new file mode 100644 index 0000000000..c4768960d3 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_ban_duration.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="ban_duration" title="Czas trwania bana"> + <text name="duration_textbox"> + Czas trwania bana: + </text> + <radio_group name="ban_duration_radio"> + <radio_item label="Na zawsze" name="always_radio"> + Na zawsze + </radio_item> + <radio_item label="Tymczasowo" name="temporary_radio"> + Tymczasowo + </radio_item> + </radio_group> + <text name="hours_textbox"> + godzin. + </text> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_camera_presets.xml b/indra/newview/skins/default/xui/pl/floater_camera_presets.xml new file mode 100644 index 0000000000..22b46f811f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_camera_presets.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater title="USTAWIENIA KAMERY" name="floater_camera_presets" /> diff --git a/indra/newview/skins/default/xui/pl/floater_classified.xml b/indra/newview/skins/default/xui/pl/floater_classified.xml new file mode 100644 index 0000000000..3fa139983e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_classified.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater name="floater_classified" title="REKLAMA" /> diff --git a/indra/newview/skins/default/xui/pl/floater_create_landmark.xml b/indra/newview/skins/default/xui/pl/floater_create_landmark.xml new file mode 100644 index 0000000000..aef0ba125f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_create_landmark.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="create_landmark"> + <string name="favorites_bar"> + Pasek ulubionych + </string> + <text name="title_label" value="Dodany landmark" /> + <text name="name_label" value="Nazwa" /> + <text name="folder_label" value="Zapisz landmark w:" /> + <text name="new_folder_textbox"> + [secondlife:/// Stwórz nowy folder] + </text> + <text name="notes_label" value="Notatki" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml new file mode 100644 index 0000000000..f9d75ef39d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_delete_pref_preset.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<floater name="delete_pref_preset" title="USUŃ USTAWIENIE"> + <string name="title_graphic"> + UsuÅ„ ustawienie graficzne + </string> + <string name="title_camera"> + UsuÅ„ ustawienie kamery + </string> + <text name="Preset"> + Wybierz ustawienie + </text> + <button label="UsuÅ„" name="delete" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml deleted file mode 100644 index 9d3a070191..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_day_cycle.xml +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Day cycle" title="Edytuj cykl dnia"> - <string name="title_new"> - Stwórz nowy cykl dnia - </string> - <string name="title_edit"> - Edytuj cykl dnia - </string> - <string name="hint_new"> - Nazwij cykl dnia, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować cykl dnia ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeÅ›li zmienisz nazwÄ™ Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <text name="hint_item1"> - - Kliknij na zakÅ‚adce, aby edytować ust. nieba i czas. - </text> - <text name="hint_item2"> - - Klikaj i przeciÄ…gaj zakÅ‚adki, aby ustawić czasy przejść. - </text> - <text name="hint_item3"> - - Użyj suwaka, aby podglÄ…dać cykl dnia. - </text> - <panel name="day_cycle_slider_panel"> - <button label="Dodaj zakÅ‚." label_selected="Dodaj zakÅ‚." name="WLAddKey" /> - <button label="UsuÅ„ zakÅ‚." label_selected="UsuÅ„ zakÅ‚." name="WLDeleteKey" /> - <text name="WL12am"> - 24:00 - </text> - <text name="WL3am"> - 3:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL9amHash"> - 9:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - </panel> - <text name="WLCurKeyPresetText"> - Niebo: - </text> - <combo_box label="Ustawienie" name="WLSkyPresets" /> - <text name="WLCurKeyTimeText"> - Czas: - </text> - <time name="time" value="6:00" /> - <check_box label="Ustaw jako mój cykl dnia" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml new file mode 100644 index 0000000000..3b85cbf26c --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_edit_ext_day_cycle.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="env_edit_extdaycycle" title="Edytuj cykl dnia"> + <string name="title_new">Stwórz nowy cykl dnia</string> + <string name="title_edit">Edytuj cykl dnia</string> + <string name="hint_new">Nazwij cykl dnia, ustaw co trzeba i kliknij na "Zapisz".</string> + <string name="hint_edit">Aby edytować cykl dnia ustaw co trzeba i kliknij na "Zapisz".</string> + <string name="sky_track_label">Niebo [ALT]</string> + <string name="sky_label">Niebo</string> + <string name="water_label">Woda</string> + <string name="commit_parcel">Zastosuj do dziaÅ‚ki</string> + <string name="commit_region">Zastosuj do regionu</string> + <layout_stack name="outer_stack"> + <layout_panel name="name_and_import"> + <text name="label"> + Nazwa cyklu dnia: + </text> + <button label="Importuj" name="btn_import" tool_tip="Zaimportuj starsze ustawienia z dysku." /> + </layout_panel> + <layout_panel name="content"> + <layout_stack name="content_stack"> + <layout_panel name="timeline_track_selection"> + <panel name="timeline_layers"> + <button label="Niebo 4" name="sky4_track" /> + <button label="Niebo 3" name="sky3_track" /> + <button label="Niebo 2" name="sky2_track" /> + <button label="Poziom ziemi" name="sky1_track" /> + <button label="Woda" name="water_track" /> + </panel> + <panel name="timeline"> + <layout_stack name="track_options_ls"> + <layout_panel name="track_options_lp"> + <button label="Klonuj Å›cieżkÄ™ z" name="copy_track" /> + <button label="Wczytaj Å›cieżkÄ™ z" name="load_track" /> + <button label="Czyść Å›cieżkÄ™" name="clear_track" /> + </layout_panel> + <layout_panel name="track_progress_lp"> + <layout_stack name="progress_control"> + <layout_panel name="skip_back"> + <button name="skip_back_btn" tool_tip="Krok wstecz" /> + </layout_panel> + <layout_panel name="skip_forward"> + <button name="skip_forward_btn" tool_tip="Krok w przód" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="frames_lp"> + <button label="Dodaj [FRAME]" name="add_frame" /> + <button label="Wczytaj [FRAME]" name="btn_load_frame" /> + <button label="UsuÅ„ [FRAME]" name="delete_frame" /> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + <layout_panel name="frame_edit_controls"> + <text name="icn_lock_edit"> + Wybierz klatkÄ™ kluczowÄ… z osi czasu, aby edytować ustawienia. + </text> + </layout_panel> + <layout_panel name="frame_settings_water"> + <tab_container name="water_tabs"> + <panel label="Woda" name="water_panel" /> + </tab_container> + </layout_panel> + <layout_panel name="frame_settings_sky"> + <tab_container name="sky_tabs"> + <panel label="Atmosfera i Å›wiatÅ‚a" name="atmosphere_panel" /> + <panel label="Chmury" name="clouds_panel" /> + <panel label="SÅ‚oÅ„ce i Księżyc" name="moon_panel" /> + <!-- <panel label="GÄ™stość" name="density_panel" /> --> + </tab_container> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="buttons"> + <button label="Zapisz" name="save_btn" /> + <button label="Anuluj" name="cancel_btn" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml deleted file mode 100644 index 6a30ac4ed9..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_sky_preset.xml +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Sky Preset" title="Edytuj ustawienie nieba"> - <string name="title_new"> - Stwórz nowe Ustawienie nieba - </string> - <string name="title_edit"> - Edytuj Ustawienie nieba - </string> - <string name="hint_new"> - Nazwij Ustawienie, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="hint"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </text> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeÅ›li zmienisz nazwÄ™ Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Horyzont bÅ‚Ä™kitu - </text> - <text name="BDensText"> - Horyzont mgÅ‚y - </text> - <text name="BDensText2"> - GÄ™stość - </text> - <text name="HDText"> - GÄ™stość mgÅ‚y - </text> - <text name="DensMultText"> - Mnożnik gÄ™stoÅ›ci - </text> - <text name="WLDistanceMultText"> - Mnożnik odlegÅ‚oÅ›ci - </text> - <text name="MaxAltText"> - Maks. wysokość - </text> - </panel> - <panel label="OÅšWIETLENIE" name="Lighting"> - <text name="SLCText"> - Kolor SÅ‚oÅ„ca/Księżyca - </text> - <text name="WLAmbientText"> - Otoczenie - </text> - <text name="SunGlowText"> - Blask SÅ‚oÅ„ca - </text> - <slider label="Skupienie" name="WLGlowB" /> - <slider label="Rozmiar" name="WLGlowR" /> - <text name="WLStarText"> - Jasność gwiazd - </text> - <text name="SceneGammaText"> - Gamma sceny - </text> - <text name="TODText"> - Poz. SÅ‚oÅ„ca/Księżyca - </text> - <text name="WL12am"> - 24:00 - </text> - <text name="WL6am"> - 6:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - <time name="WLDayTime" value="6:00" /> - <text name="WLEastAngleText"> - KÄ…t wschodu - </text> - </panel> - <panel label="CHMURY" name="Clouds"> - <text name="WLCloudColorText"> - Kolor chmur - </text> - <text name="WLCloudColorText2"> - GÄ™stość chmur XY - </text> - <slider label="G" name="WLCloudDensity" /> - <text name="WLCloudCoverageText"> - Zachmurzenie - </text> - <text name="WLCloudScaleText"> - Rozmiar chmur - </text> - <text name="WLCloudDetailText"> - Detale chmur (XY/GÄ™stość) - </text> - <slider label="G" name="WLCloudDetailDensity" /> - <text name="WLCloudScrollXText"> - Przesuwanie X - </text> - <check_box label="Blokada" name="WLCloudLockX" /> - <text name="WLCloudScrollYText"> - Przesuwanie Y - </text> - <check_box label="Blokada" name="WLCloudLockY" /> - </panel> - </tab_container> - <check_box label="Ustaw jako moje Ustawienie Nieba" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml deleted file mode 100644 index fb3846cd21..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_edit_water_preset.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Edit Water Preset" title="Edytuj ustawienie wody"> - <string name="title_new"> - Stwórz nowe Ustawienie wody - </string> - <string name="title_edit"> - Edytuj Ustawienie wody - </string> - <string name="hint_new"> - Nazwij Ustawienie, ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="hint_edit"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </string> - <string name="combo_label"> - -Wybierz Ustawienie- - </string> - <text name="hint"> - Aby edytować Ustawienie ustaw co trzeba i kliknij na "Zapisz". - </text> - <text name="label"> - Nazwa: - </text> - <text name="note"> - Uwaga: jeÅ›li zmienisz nazwÄ™ Ustawienia, to zaczniesz tworzyć nowe, a obecne pozostanie bez zmian. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Kolor mgÅ‚y wody - </text> - <text name="water_fog_density_label"> - GÄ™stość mgÅ‚y - </text> - <text name="underwater_fog_modifier_label"> - Modyfikator mgÅ‚y pod wodÄ… - </text> - <text name="BHText"> - Kierunek Wielkiej Fali - </text> - <text name="BDensText"> - Skala odbicia falkowego - </text> - <text name="HDText"> - Skala Fresnela - </text> - <text name="FresnelOffsetText"> - Przesun. Fresnela - </text> - <text name="BHText2"> - Kierunek MaÅ‚ej Fali - </text> - <text name="DensMultText"> - Skala zaÅ‚amania ponad - </text> - <text name="WaterScaleBelowText"> - Skala zaÅ‚amania poniżej - </text> - <text name="MaxAltText"> - Mnożnik rozmycia - </text> - <text name="BHText3"> - Mapa normalnych - </text> - </panel> - <check_box label="Ustaw jako moje Ustawienie Wody" name="make_default_cb" /> - <button label="Zapisz" name="save" /> - <button label="Anuluj" name="cancel" /> - </floater> diff --git a/indra/newview/skins/default/xui/pl/floater_environment_settings.xml b/indra/newview/skins/default/xui/pl/floater_environment_settings.xml deleted file mode 100644 index 8a13ece8f5..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Environment Editor Floater" title="USTAWIENIA OTOCZENIA"> - <text name="note"> - Użyj opcji poniżej, aby dostosować ustawienia otoczenia w swojej przeglÄ…darce. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Użyj ustawieÅ„ regionu" name="use_region_settings" /> - <radio_item label="Dostosuj otoczenie" name="use_my_settings" /> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - UWAGA: Twoje ustawienia bÄ™dÄ… niewidoczne dla innych. - </text> - <text name="water_settings_title"> - Ustaw. wody - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - <text name="sky_dayc_settings_title"> - Ustaw. nieba (staÅ‚e lub cykliczne): - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="StaÅ‚e" name="my_sky_settings" /> - <radio_item label="Cykl dnia" name="my_dayc_settings" /> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Wybierz Ustawienie-" name="item0" /> - </combo_box> - </panel> - <button label="Gotowe" name="ok_btn" /> - <button label="Anuluj" name="cancel_btn" /> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_experience_search.xml b/indra/newview/skins/default/xui/pl/floater_experience_search.xml new file mode 100644 index 0000000000..44955e9e35 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experience_search.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="experiencepicker" title="Wybierz PrzygodÄ™" /> diff --git a/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml b/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml new file mode 100644 index 0000000000..a9b24515e9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experienceprofile.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="experience_profile" title="Profil przygody"> + <floater.string name="empty_slurl"> + (brak) + </floater.string> + <text name="edit_title" value="Profil przygody" /> + <tab_container name="tab_container"> + <panel name="panel_experience_info"> + <scroll_container name="xp_scroll"> + <panel name="scrolling_panel"> + <layout_stack name="ls1"> + <layout_panel name="top panel"> + <button label="Edytuj" name="edit_btn" /> + </layout_panel> + <layout_panel name="maturity panel"> + <text name="ContentRating"> + TreÅ›ci: + </text> + </layout_panel> + <layout_panel name="location panel"> + <text name="Location"> + Miejsce: + </text> + </layout_panel> + <layout_panel name="marketplace panel"> + <text name="Marketplace"> + Sklep Marketplace: + </text> + </layout_panel> + <layout_panel name="owner panel"> + <text name="Owner"> + WÅ‚aÅ›ciciel: + </text> + </layout_panel> + <layout_panel name="group_panel"> + <text name="Group"> + Grupa: + </text> + </layout_panel> + <layout_panel name="perm panel"> + <button label="Zezwól" name="allow_btn" /> + <button label="Zapomnij" name="forget_btn" /> + <button label="Zablokuj" name="block_btn" /> + <text name="privileged"> + Ta przygoda jest wÅ‚Ä…czona dla wszystkich rezydentów. + </text> + <button width="100" left="104" label="ZgÅ‚oÅ› nadużycie" name="report_btn" /> + </layout_panel> + </layout_stack> + </panel> + </scroll_container> + </panel> + <panel name="edit_panel_experience_info"> + <scroll_container name="edit_xp_scroll"> + <panel name="edit_scrolling_panel"> + <text name="edit_experience_title_label" value="Nazwa:" /> + <text name="edit_experience_desc_label" value="Opis:" /> + <button name="Group_btn" label="Grupa" /> + <text name="edit_ContentRating"> + TreÅ›ci: + </text> + <icons_combo_box tool_tip="ZwiÄ™kszenie poziomu limitu klasyfikacji treÅ›ci dla przygody zresetuje zezwolenia wszystkim rezydentom, którzy zezwolili na niÄ…." name="edit_ContentRatingText"> + <icons_combo_box.item label="Adult (dla dorosÅ‚ych)" name="Adult" /> + <icons_combo_box.item label="Moderate (umiarkowane)" name="Mature" /> + <icons_combo_box.item label="General (dla wszystkich)" name="PG" /> + </icons_combo_box> + <text name="edit_Location"> + Miejsce: + </text> + <button name="location_btn" label="Ustaw na obecne" /> + <button name="clear_btn" label="Wyczyść" /> + <text name="edit_marketplace"> + Sklep Marketplace: + </text> + <check_box label="Aktywuj przygodÄ™" name="edit_enable_btn" /> + <check_box label="Ukryj w wyszukiwarce" name="edit_private_btn" /> + <text name="changes" value="Może minąć kilka minut zanim zmiany w przygodzie stanÄ… siÄ™ widoczne w regionach." /> + <button label="Wstecz" name="cancel_btn" /> + <button label="Zapisz" name="save_btn" /> + </panel> + </scroll_container> + </panel> + </tab_container> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_experiences.xml b/indra/newview/skins/default/xui/pl/floater_experiences.xml new file mode 100644 index 0000000000..8dab8adb61 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_experiences.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<floater name="floater_experiences" title="Przygody"/> diff --git a/indra/newview/skins/default/xui/pl/floater_facebook.xml b/indra/newview/skins/default/xui/pl/floater_facebook.xml deleted file mode 100644 index 588285ea7b..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_facebook" title="WYÅšLIJ NA FACEBOOKA"> - <tab_container name="tabs"> - <panel label="ZDJĘCIE" name="panel_facebook_photo" /> - <panel label="MIEJSCE" name="panel_facebook_place" /> - <panel label="ZNAJOMI" name="panel_facebook_friends" /> - <panel label="KONTO" name="panel_facebook_account" /> - </tab_container> - <text name="connection_error_text"> - BÅ‚Ä…d - </text> - <text name="connection_loading_text"> - Åadowanie... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml new file mode 100644 index 0000000000..dd5fa4c5d4 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_fixedenvironment.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="Fixed Environment" title="StaÅ‚e otoczenie"> + <string name="edit_sky"> + Edytuj niebo: + </string> + <string name="edit_water"> + Edytuj wodÄ™: + </string> + <layout_stack name="floater_stack"> + <layout_panel name="info_panel"> + <text name="info_panel_label"> + Nazwa: + </text> + <button label="Wczytaj" name="btn_load" tool_tip="Wczytaj ustawienia z szafy" /> + <button label="Importuj" name="btn_import" tool_tip="Zaimportuj starsze ustawienia z dysku." /> + </layout_panel> + <layout_panel name="button_panel"> + <layout_stack name="button_bar_ls"> + <layout_panel name="save_btn_lp"> + <button label="Zapisz" name="btn_commit" /> + </layout_panel> + <layout_panel name="revert_btn_lp"> + <button label="Anuluj" name="btn_cancel" tool_tip="Przywróć ostatniÄ… zapisanÄ… wersjÄ™" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_flickr.xml b/indra/newview/skins/default/xui/pl/floater_flickr.xml deleted file mode 100644 index 9522695e3c..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_flickr" title="WYÅšLIJ NA FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="ZDJĘCIE" name="panel_flickr_photo" /> - <panel label="KONTO" name="panel_flickr_account" /> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - BÅ‚Ä…d - </text> - <text name="connection_loading_text"> - Åadowanie... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_forget_user.xml b/indra/newview/skins/default/xui/pl/floater_forget_user.xml new file mode 100644 index 0000000000..149342ef6f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_forget_user.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="groups" title="ZAPAMIĘTANI UÅ»YTKOWNICY"> + <button label="Zapomnij" label_selected="Zapomnij" name="forget" /> + <check_box label="UsuÅ„ także dane lokalne tego użytkownika" name="delete_data" tool_tip="Usuwa lokalne pliki: historia czatu, zrzut ekranu z ostatniej sesji, pliki cookie przeglÄ…darki, historia teleportacji, ustawienia paska narzÄ™dzi itp. Niektóre pliki lokalne sÄ… współdzielone pomiÄ™dzy Å›wiatami."/> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml deleted file mode 100644 index e908e30705..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Hardware Settings Floater" title="USTAWIENIA SPRZĘTOWE"> - <text name="Filtering:"> - Filtrowanie: - </text> - <check_box label="Filtr anizotropowy (wolniej!)" name="ani" /> - <text name="Antialiasing:"> - Antyaliasing: - </text> - <combo_box label="Antyaliasing" name="fsaa"> - <combo_box.item label="WyÅ‚Ä…czony" name="FSAADisabled" /> - </combo_box> - <text name="antialiasing restart"> - (Restart wymagany) - </text> - <text name="(brightness, lower is brighter)"> - (0 = domyÅ›lna jasność, niżej = jaÅ›niej) - </text> - <text name="Enable VBO:"> - WÅ‚Ä…cz VBO: - </text> - <check_box label="WÅ‚Ä…cz OpenGL VBO" name="vbo" tool_tip="OpenGL Vertex Buffer Object (opis geometrii obiektów). WÅ‚Ä…czenie tej opcji na nowoczesnym sprzÄ™cie spowoduje wzrost wydajnoÅ›ci. Starszy sprzÄ™t jednak ma czÄ™sto sÅ‚abe wsparcie dla VBO i mogÄ… wystÄ…pić na nim awarie." /> - <text name="tc label"> - WÅ‚Ä…cz S3TC: - </text> - <check_box label="WÅ‚Ä…cz kompresjÄ™ tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamiÄ™ci wideo. Umożliwi to Å‚adowanie tekstur w wyższej rozdzielczoÅ›ci / wiÄ™kszej ich iloÅ›ci, ale kosztem jakoÅ›ci obrazu." /> - <slider label="Bufor pamiÄ™ci tekstur (MB):" name="GraphicsCardTextureMemory" tool_tip="Ilość pamiÄ™ci przeznaczona na tekstury. DomyÅ›lnie jest to maksymalna wielkość pamiÄ™ci karty graficznej, ale nie wiÄ™cej niż 512 MB. Zmniejszenie tej wartoÅ›ci może spowodować wzrost wydajnoÅ›ci, ale tekstury bÄ™dÄ… bardziej rozmazane. ZwiÄ™kszanie tej wartoÅ›ci ponad 512 MB nie jest wskazane nawet, jeÅ›li Twoja karta to obsÅ‚uguje - ogólna wydajność PrzeglÄ…darki zwiÄ…zana z pamiÄ™ciÄ… operacyjnÄ… widocznie spadnie." /> - <spinner label="Stosunek odlegÅ‚oÅ›ci dla mgÅ‚y:" name="fog" /> -</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_linkreplace.xml b/indra/newview/skins/default/xui/pl/floater_linkreplace.xml new file mode 100644 index 0000000000..c17e76eafa --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_linkreplace.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="linkreplace" title="ZASTÄ„P LINKI W SZAFIE"> + <string name="Ready"> + Gotowy... + </string> + <string name="TargetNotFound"> + Obiekt docelowy nie zostaÅ‚ znaleziony. + </string> + <string name="ItemsIdentical"> + Obiekty źródÅ‚owy i docelowy sÄ… identyczne. + </string> + <string name="ItemsFound"> + Znaleziono [NUM] linków w Szafie. + </string> + <string name="ItemsRemaining"> + Linków pozostaÅ‚o: [NUM] + </string> + <string name="ReplaceFinished"> + ZakoÅ„czono zastÄ™powanie linków. + </string> + <text name="source_label"> + Stary: + </text> + <inventory_link_replace_drop_target name="source_uuid_editor" tool_tip="PrzeciÄ…gnij i upuść tutaj przedmiot, którego linki chcesz zastÄ…pić." /> + <text name="target_label"> + Nowy: + </text> + <inventory_link_replace_drop_target name="target_uuid_editor" tool_tip="PrzeciÄ…gnij i upuść tutaj przedmiot, którego linki zastÄ…piÄ… linki do przedmiotu pierwotnego." /> + <text name="status_text"> + Gotowy... + </text> + <button name="btn_refresh" label="OdÅ›wież" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml new file mode 100644 index 0000000000..f9fe6d9ebe --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_load_pref_preset.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<floater name="load_pref_preset" title="WCZYTAJ USTAWIENIE"> + <string name="title_graphic"> + Wczytaj ustawienie graficzne + </string> + <string name="title_camera"> + Wczytaj ustawienie kamery + </string> + <text name="Preset"> + Wybierz ustawienie + </text> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_mfa.xml b/indra/newview/skins/default/xui/pl/floater_mfa.xml new file mode 100644 index 0000000000..bef6810007 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_mfa.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater title="Wymagany token MFA" name="mfa_challenge"> + <text name="token_prompt_text"> + token + </text> + <button label="Kontynuuj" name="continue_btn" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_my_environments.xml b/indra/newview/skins/default/xui/pl/floater_my_environments.xml new file mode 100644 index 0000000000..3b64cb42e6 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_my_environments.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<floater name="my_environments" title="MOJE OTOCZENIA" label="Miejsca"> + <layout_stack name="main_layout"> + <layout_panel name="filter_panel" label="Filtr"> + <check_box label="DzieÅ„" name="chk_days" /> + <check_box label="Niebo" name="chk_skies" /> + <check_box label="Woda" name="chk_water" /> + <filter_editor label="Filtruj otoczenia" name="flt_search" /> + </layout_panel> + <layout_panel name="list_panel" label="Otoczenia" /> + <layout_panel name="lp_showfolders"> + <check_box label="Wszystkie foldery" name="chk_showfolders" /> + </layout_panel> + <layout_panel name="pnl_control"> + <panel name="pnl_bottom"> + <menu_button name="btn_gear" tool_tip="WiÄ™cej opcji" /> + <menu_button name="btn_newsettings" tool_tip="Stwórz nowe ustawienie" /> + <button name="btn_del" tool_tip="UsuÅ„ wybrany element" /> + </panel> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_my_scripts.xml b/indra/newview/skins/default/xui/pl/floater_my_scripts.xml new file mode 100644 index 0000000000..b83a34ec5b --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_my_scripts.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="myscripts" title="SKRYPTY" /> diff --git a/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml b/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml new file mode 100644 index 0000000000..a02666b6a1 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_notifications_tabbed.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="floater_notifications_tabbed" title="POWIADOMIENIA"> + <floater.string name="system_tab_title"> + Systemowe ([COUNT]) + </floater.string> + <floater.string name="transactions_tab_title"> + Transakcje ([COUNT]) + </floater.string> + <floater.string name="group_invitations_tab_title"> + Zaproszenia ([COUNT]) + </floater.string> + <floater.string name="group_notices_tab_title"> + Grupowe ([COUNT]) + </floater.string> + <string name="title_notification_tabbed_window"> + Powiadomienia + </string> + <layout_stack name="TabButtonsStack"> + <layout_panel name="TabButtonsLayoutPanel"> + <tab_container name="notifications_tab_container"> + <panel label="Systemowe (0)" name="system_notification_list_tab" /> + <panel label="Transakcje (0)" name="transaction_notifications_tab" /> + <panel label="Zaproszenia (0)" name="group_invite_notifications_tab" /> + <panel label="Grupowe (0)" name="group_notice_notifications_tab" /> + </tab_container> + <layout_stack name="ButtonsStack"> + <layout_panel name="CondenseAllButtonPanel"> + <button label="ZwiÅ„ wszystkie" name="collapse_all_button" /> + </layout_panel> + <layout_panel name="DeleteAllButtonPanel"> + <button label="UsuÅ„ wszystkie" name="delete_all_button" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml b/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml new file mode 100644 index 0000000000..8c7de8e34e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_outfit_photo_preview.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="outfit_photo_preview"> + <floater.string name="Title"> + Tekstura: [NAME] + </floater.string> + <floater.string name="exceed_limits"> + Maks. rozmiar zdjÄ™cia stroju to [MAX_WIDTH]*[MAX_HEIGHT]. Wybierz innÄ… teksturÄ™. + </floater.string> + <floater.string name="photo_confirmation"> + Ustawić to zdjÄ™cie dla stroju [OUTFIT]? + </floater.string> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_pick_track.xml b/indra/newview/skins/default/xui/pl/floater_pick_track.xml new file mode 100644 index 0000000000..a0150e67ea --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_pick_track.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="track picker" title="WYBIERZ ÅšCIEÅ»KĘ"> + <layout_stack name="adjuster"> + <layout_panel name="pnl_desc"> + <text name="select_description"> + Wybierz niebo: + </text> + </layout_panel> + <layout_panel name="pnl_traks"> + <radio_group name="track_selection"> + <radio_item label="Niebo4 [ALT]" name="radio_sky4" /> + <radio_item label="Niebo3 [ALT]" name="radio_sky3" /> + <radio_item label="Niebo2 [ALT]" name="radio_sky2" /> + <radio_item label="Ziemia" name="radio_sky1" /> + </radio_group> + </layout_panel> + <layout_panel name="pnl_ok_cancel"> + <button label="Anuluj" label_selected="Anuluj" name="btn_cancel" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml new file mode 100644 index 0000000000..eb1411cd42 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preferences_graphics_advanced.xml @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="prefs_graphics_advanced" title="ZAAWANSOWANE USTAWIENIA GRAFICZNE"> + <text name="GeneralText"> + Ogólne + </text> + <slider label="Pole widzenia:" name="DrawDistance" /> + <slider label="Maks. ilość czÄ…steczek:" name="MaxParticleCount" /> + <slider label="Jakość post-procesu:" name="RenderPostProcess" /> + <text name="PostProcessText"> + Niska + </text> + <check_box label="WÅ‚Ä…cz VSync" name="vsync" tool_tip="Synchronizuje liczbÄ™ klatek na sekundÄ™ z czÄ™stotliwoÅ›ciÄ… odÅ›wieżania monitora, może skutkować zmniejszeniem widocznej pÅ‚ynnoÅ›ci i opóźnieniami." /> + <text name="AvatarText"> + Awatar + </text> + <slider tool_tip="Kontroluje w jakim momencie awatar, który jest graficznie zÅ‚ożony zostanie zastÄ…piony przez mniej obciążajÄ…cÄ… komputer formÄ™ (tzw. JellyDoll)" label="Maks. szczegółowość awatarów:" name="IndirectMaxComplexity" /> + <slider label="Maks. il. wyÅ›wietlanych awatarów:" name="IndirectMaxNonImpostors" /> + <slider label="Detale:" name="AvatarMeshDetail" /> + <text name="AvatarMeshDetailText"> + MaÅ‚o + </text> + <slider label="Fizyka:" name="AvatarPhysicsDetail" /> + <text name="AvatarPhysicsDetailText"> + MaÅ‚o + </text> + <text name="HardwareText"> + SprzÄ™towe + </text> + <slider label="Bufor pamiÄ™ci tekstur (MB):" name="GraphicsCardTextureMemory" tool_tip="Ilość pamiÄ™ci przeznaczona na tekstury. DomyÅ›lnie jest to maksymalna wielkość pamiÄ™ci karty graficznej, ale nie wiÄ™cej niż 512 MB na systemach 32 bitowych lub 2048 MB na 64 bitowych. Zmniejszenie tej wartoÅ›ci może spowodować wzrost wydajnoÅ›ci, ale tekstury bÄ™dÄ… bardziej rozmazane." /> + <slider label="Stosunek odlegÅ‚oÅ›ci dla mgÅ‚y:" name="fog" /> + <text name="(brightness, lower is brighter)"> + (0 = domyÅ›lna jasność, niżej = jaÅ›niej) + </text> + <check_box label="Filtrowanie anizotropowe (wolniej, gdy wÅ‚Ä…czone)" name="ani" /> + <check_box label="WÅ‚Ä…cz stratnÄ… kompresjÄ™ tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamiÄ™ci wideo. Umożliwi to Å‚adowanie tekstur w wyższej rozdzielczoÅ›ci / wiÄ™kszej ich iloÅ›ci, ale kosztem jakoÅ›ci obrazu." /> + <check_box label="WÅ‚Ä…cz wsparcie dla ekranów HiDPI (wymaga restartu)" name="use HiDPI" tool_tip="WÅ‚Ä…cz funkcje OpenGL dla rysowania w wysokich rozdzielczoÅ›ciach." /> + <text name="antialiasing label"> + Antyaliasing: + </text> + <combo_box label="Antyaliasing" name="fsaa"> + <combo_box.item label="WyÅ‚Ä…czony" name="FSAADisabled" /> + </combo_box> + <text name="antialiasing restart"> + (wymaga restartu) + </text> + <text name="MeshText"> + Mesz + </text> + <slider label="Szczegóły terenu:" name="TerrainMeshDetail" /> + <text name="TerrainMeshDetailText"> + MaÅ‚o + </text> + <slider label="Drzewa:" name="TreeMeshDetail" /> + <text name="TreeMeshDetailText"> + MaÅ‚o + </text> + <slider label="Obiekty i skulpty:" name="ObjectMeshDetail" /> + <text name="ObjectMeshDetailText"> + MaÅ‚o + </text> + <slider label="Obiekty elastyczne:" name="FlexibleMeshDetail" /> + <text name="FlexibleMeshDetailText"> + MaÅ‚o + </text> + <text name="ShadersText"> + Cieniowanie + </text> + <check_box label="Przezroczysta woda" name="TransparentWater" /> + <check_box label="Mapping wypukÅ‚oÅ›ci i poÅ‚ysk" name="BumpShiny" /> + <check_box label="Lokalne Å›wiatÅ‚a" name="LocalLights" /> + <slider label="Szczegóły terenu:" name="TerrainDetail" /> + <text name="TerrainDetailText"> + MaÅ‚o + </text> + <check_box label="Elastyczne tkaniny ubraÅ„" name="AvatarCloth" /> + <text name="ReflectionsText"> + Odbicia w wodzie: + </text> + <combo_box name="Reflections"> + <combo_box.item label="Å»adne; nieprzezroczyste" name="-2" /> + <combo_box.item label="Å»adne; przezroczyste" name="-1" /> + <combo_box.item label="Minimalne" name="0" /> + <combo_box.item label="Teren i drzewa" name="1" /> + <combo_box.item label="Wszystkie obiekty statyczne" name="2" /> + <combo_box.item label="Wszystkie awatary i obiekty" name="3" /> + <combo_box.item label="Wszystko" name="4" /> + </combo_box> + <check_box label="Shadery atmosfery" name="WindLightUseAtmosShaders" /> + <slider label="Niebo:" name="SkyMeshDetail" /> + <text name="SkyMeshDetailText"> + Nisko + </text> + <check_box label="Zaawansowane oÅ›wietlenie" name="UseLightShaders" /> + <check_box label="Okluzja otoczenia" name="UseSSAO" /> + <check_box label="WÅ‚Ä…cz gÅ‚Ä™biÄ™ ostroÅ›ci" name="UseDoF" /> + <check_box label="Zaawansowana atmosfera" name="UseAdvancedAtmo" /> + <text name="RenderShadowDetailText"> + Cienie: + </text> + <combo_box name="ShadowDetail"> + <combo_box.item label="Brak" name="0" /> + <combo_box.item label="SÅ‚oÅ„ce/Księżyc" name="1" /> + <combo_box.item label="SÅ‚oÅ„ce/Księżyc + inne źródÅ‚a" name="2" /> + </combo_box> + <button label="Zresetuj wartoÅ›ci ustawieÅ„ grafiki" name="Defaults" /> + <button label="Anuluj" label_selected="Anuluj" name="Cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml b/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml new file mode 100644 index 0000000000..e2e9cba33a --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preferences_view_advanced.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floaterpreferencesviewadvanced" title="POZYCJA KAMERY"> + <text name="camera_offset_lbl"> + Przesun. kamery: + </text> + <text name="focus_offset_lbl"> + Przesun. ostroÅ›ci: + </text> + <text name="offset_scale_lbl"> + Skala przesuniÄ™cia kamery: + </text> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_preview_trash.xml b/indra/newview/skins/default/xui/pl/floater_preview_trash.xml new file mode 100644 index 0000000000..4f535e0546 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_preview_trash.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="floater_preview_trash" title="KOSZ"> + <layout_stack name="button_panel_ls"> + <layout_panel name="empty_btn_lp"> + <button label="Opróżnij kosz" name="empty_btn" /> + </layout_panel> + <layout_panel name="share_btn_lp"> + <button label="Anuluj" name="cancel_btn" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile.xml b/indra/newview/skins/default/xui/pl/floater_profile.xml new file mode 100644 index 0000000000..4992bb2312 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<floater name="avatarinfo" title="Profil"> + <panel name="panel_profile_view"> + <tab_container name="panel_profile_tabs"> + <panel name="panel_profile_secondlife" label="REZYDENT" /> + <panel name="panel_profile_web" label="SIEĆ" /> + <panel name="panel_profile_picks" label="MIEJSCA" /> + <panel name="panel_profile_classifieds" label="REKLAMY" /> + <panel name="panel_profile_firstlife" label="WIĘCEJ" /> + <panel name="panel_profile_notes" label="NOTATKI" /> + </tab_container> + </panel> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml b/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml new file mode 100644 index 0000000000..140f688cb1 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile_permissions.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="profile_permissions"> + <string name="description_string" value="Zezwól [AGENT_NAME] na:" /> + <text name="perm_description" value="Zezwól tej osobie:" /> + <check_box name="online_check" label="Widzieć gdy jestem online" /> + <check_box name="map_check" label="Znajdować mnie na mapie" /> + <check_box name="objects_check" label="Edytować, usuwać lub zabierać moje obiekty" /> + <button name="perms_btn_cancel" label="Anuluj" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_profile_texture.xml b/indra/newview/skins/default/xui/pl/floater_profile_texture.xml new file mode 100644 index 0000000000..ad1d9a6305 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_profile_texture.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="profile_texture"> + <layout_stack name="preview_stack"> + <layout_panel name="buttons_panel"> + <layout_stack name="buttons_stack"> + <layout_panel name="close_panel"> + <button label="Zamknij" name="close_btn" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml b/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml new file mode 100644 index 0000000000..0fbd377139 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_save_camera_preset.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="save_camera_preset" title="Zapisz ustawienie kamery"> + <string name="btn_label_save"> + Zapisz + </string> + <string name="btn_label_replace"> + ZastÄ…p + </string> + <radio_group name="radio_save_preset"> + <radio_item label="Zapisz jako nowe ustawienie" name="new_preset" /> + <radio_item label="ZastÄ…p ustawienie" name="replace_preset" /> + </radio_group> + <button label="Zapisz" name="save" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml b/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml new file mode 100644 index 0000000000..54841442dd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_save_pref_preset.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<floater name="save_pref_preset" title="Zapisz ustawienie graficzne"> + <text name="Preset"> + Wpisz nazwÄ™ ustawienia lub wybierz już istniejÄ…ce. + </text> + <button label="Zapisz" name="save" /> + <button label="Anuluj" name="cancel" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_settings_picker.xml b/indra/newview/skins/default/xui/pl/floater_settings_picker.xml new file mode 100644 index 0000000000..8f64d70fab --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_settings_picker.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="settings picker" title="WYBÓR OTOCZENIA"> + <floater.string name="pick title"> + Wybierz: + </floater.string> + <floater.string name="pick_track"> + WYBÓR ÅšCIEÅ»KI + </floater.string> + <floater.string name="pick_settings"> + WYBÓR OTOCZENIA + </floater.string> + <floater.string name="track_water"> + Woda + </floater.string> + <floater.string name="track_ground"> + Ziemia + </floater.string> + <floater.string name="track_sky"> + Niebo[NUM] + </floater.string> + <layout_stack name="test_stack"> + <layout_panel name="inv_list"> + <filter_editor label="Filtruj otoczenia" name="flt_inventory_search" /> + </layout_panel> + <layout_panel name="temp"> + <button label="Anuluj" label_selected="Anuluj" name="btn_cancel" /> + </layout_panel> + </layout_stack> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml new file mode 100644 index 0000000000..1a60b557b2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/floater_simple_outfit_snapshot.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="simple_outfit_snapshot" title="ZDJĘCIE STROJU"> + <button label="Zrób zdjÄ™cie" name="new_snapshot_btn" /> + <button label="Zapisz ([UPLOAD_COST]L$)" name="save_btn" /> + <button label="Anuluj" name="cancel_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/pl/floater_twitter.xml b/indra/newview/skins/default/xui/pl/floater_twitter.xml deleted file mode 100644 index 2e228041ab..0000000000 --- a/indra/newview/skins/default/xui/pl/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<floater name="floater_twitter"> - <tab_container name="tabs"> - <panel label="UTWÓRZ" name="panel_twitter_photo" /> - <panel label="KONTO" name="panel_twitter_account" /> - </tab_container> - <text name="connection_error_text"> - BÅ‚Ä…d - </text> - <text name="connection_loading_text"> - Åadowanie... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml new file mode 100644 index 0000000000..4e10aa1155 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Settings"> + <menu_item_check label="DomyÅ›lne" name="default" /> + <menu_item_check label="Zawsze renderuj" name="always_render" /> + <menu_item_check label="Nigdy nie renderuj" name="never_render" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml new file mode 100644 index 0000000000..a4f72de93d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_avatar_rendering_settings_add.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_add.xml"> + <menu_item_call label="Zawsze renderuj rezydenta..." name="add_avatar_always_render" /> + <menu_item_call label="Nigdy nie renderuj rezydenta..." name="add_avatar_never_render" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml new file mode 100644 index 0000000000..cb7da5678d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_color.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Color Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml new file mode 100644 index 0000000000..d578f14a87 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_features.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Features Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml new file mode 100644 index 0000000000..7a94f0dbe9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_light.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Light Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml new file mode 100644 index 0000000000..9d366c1e59 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_object.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Object Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml new file mode 100644 index 0000000000..3665c38f62 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_pos.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Position Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Kopiuj pozycjÄ™" name="pos_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej pozycjÄ™" name="pos_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml new file mode 100644 index 0000000000..cee65d7db5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_rot.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Rotation Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Wklej obrót" name="rot_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej obrót" name="rot_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml new file mode 100644 index 0000000000..605eb69a72 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_size.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Size Menu"> + <menu_item_call label="Kopiuj wszystko" name="psr_copy" /> + <menu_item_call label="Wklej rozmiar" name="size_copy" /> + <menu_item_call label="Wklej wszystko" name="psr_paste" /> + <menu_item_call label="Wklej rozmiar" name="size_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml b/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml new file mode 100644 index 0000000000..90444cdb0f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_copy_paste_texture.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Copy Paste Texture Menu"> + <menu_item_call label="Kopiuj" name="params_copy" /> + <menu_item_call label="Wklej" name="params_paste" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml b/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml new file mode 100644 index 0000000000..56ee2f02d9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_gallery_outfit_tab.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Outfit"> + <menu_item_call label="Załóż - ZastÄ…p obecny strój" name="wear_replace" /> + <menu_item_call label="Załóż - Dodaj do obecnego stroju" name="wear_add" /> + <menu_item_call label="Zdejmij - UsuÅ„ z obecnego stroju" name="take_off" /> + <menu_item_call label="PrzeÅ›lij zdjÄ™cie ([UPLOAD_COST] L$)" name="upload_photo" /> + <menu_item_call label="Wybierz zdjÄ™cie" name="select_photo" /> + <menu_item_call label="Zrób zdjÄ™cie" name="take_snapshot" /> + <menu_item_call label="UsuÅ„ zdjÄ™cie" name="remove_photo" /> + <menu label="Nowe ubranie" name="New Clothes"> + <menu_item_call label="Nowa koszula" name="New Shirt"/> + <menu_item_call label="Nowe spodnie" name="New Pants"/> + <menu_item_call label="Nowe buty" name="New Shoes"/> + <menu_item_call label="Nowe skarpetki" name="New Socks"/> + <menu_item_call label="Nowa kurtka" name="New Jacket"/> + <menu_item_call label="Nowa spódnica" name="New Skirt"/> + <menu_item_call label="Nowe rÄ™kawiczki" name="New Gloves"/> + <menu_item_call label="Nowy podkoszulek" name="New Undershirt"/> + <menu_item_call label="Nowa bielizna" name="New Underpants"/> + <menu_item_call label="Nowa warstwa alpha" name="New Alpha"/> + <menu_item_call label="Nowa fizyka" name="New Physics"/> + <menu_item_call label="Nowy tatuaż" name="New Tattoo"/> + </menu> + <menu label="Nowe części ciaÅ‚a" name="New Body Parts"> + <menu_item_call label="Nowy ksztaÅ‚t" name="New Shape"/> + <menu_item_call label="Nowa skórka" name="New Skin"/> + <menu_item_call label="Nowe wÅ‚osy" name="New Hair"/> + <menu_item_call label="Nowe oczy" name="New Eyes"/> + </menu> + <menu_item_call label="Edytuj strój" name="edit" /> + <menu_item_call label="ZmieÅ„ nazwÄ™ stroju" name="rename" /> + <menu_item_call label="UsuÅ„ strój" name="delete" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml b/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml new file mode 100644 index 0000000000..254c9acb4c --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_inventory_search_visibility.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_search_visibility"> + <menu_item_check label="Szukaj w koszu" name="search_trash" /> + <menu_item_check label="Szukaj w Bibliotece" name="search_library" /> + <menu_item_check label="UwzglÄ™dniaj linki" name="include_links" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml b/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml new file mode 100644 index 0000000000..ccf4af7efb --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_places_gear_sorting.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_sorter_gear"> + <menu_item_call label="RozwiÅ„ wszystkie foldery" name="expand_all" /> + <menu_item_call label="ZwiÅ„ wszystkie foldery" name="collapse_all" /> + <menu_item_check label="Sortuj wedÅ‚ug daty" name="sort_by_date" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_profile_other.xml b/indra/newview/skins/default/xui/pl/menu_profile_other.xml new file mode 100644 index 0000000000..84ef54fc8f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_profile_other.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Avatar Profile Menu"> + <menu_item_call label="Wiadomość IM" name="im" /> + <menu_item_call label="Proponuj teleport" name="offer_teleport" /> + <menu_item_call label="PoproÅ› o teleport" name="request_teleport" /> + <menu_item_call label="Rozmowa gÅ‚osowa" name="voice_call" /> + <menu_item_call label="Logi czatu..." name="chat_history" /> + <menu_item_call label="Dodaj do znajomych" name="add_friend" /> + <menu_item_call label="UsuÅ„ znajomego" name="remove_friend" /> + <menu_item_call label="ZaproÅ› do grupy..." name="invite_to_group" /> + <menu_item_call label="Uprawnienia" name="agent_permissions" /> + <menu_item_call label="Mapa" name="map" /> + <menu_item_call label="UdostÄ™pnij" name="share" /> + <menu_item_call label="ZapÅ‚ać" name="pay" /> + <menu_item_check label="Blokuj/Odblokuj" name="block_unblock" /> + <menu_item_call label="Kopiuj WyÅ›wietlane ImiÄ™" name="copy_display_name" /> + <menu_item_call label="Kopiuj imiÄ™" name="copy_name" /> + <menu_item_call label="Kopiuj UUID" name="copy_id" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_profile_self.xml b/indra/newview/skins/default/xui/pl/menu_profile_self.xml new file mode 100644 index 0000000000..1da838fafd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_profile_self.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="Avatar Profile Menu Self"> + <menu_item_call label="Edytuj WyÅ›wietlane ImiÄ™" name="edit_display_name" /> + <menu_item_call label="Edytuj partnera" name="edit_partner" /> + <menu_item_call label="PrzeÅ›lij obraz" name="upload_photo" /> + <menu_item_call label="ZmieÅ„ obraz" name="change_photo" /> + <menu_item_call label="UsuÅ„ obraz" name="remove_photo" /> + <menu_item_call label="Kopiuj WyÅ›wietlane ImiÄ™" name="copy_display_name" /> + <menu_item_call label="Kopiuj imiÄ™" name="copy_name" /> + <menu_item_call label="Kopiuj UUID" name="copy_id" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_save_settings.xml b/indra/newview/skins/default/xui/pl/menu_save_settings.xml new file mode 100644 index 0000000000..918fc75184 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_save_settings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="save_settings_menu"> + <menu_item_check name="save_settings" label="Zapisz" /> + <menu_item_check name="save_as_new_settings" label="Zapisz jako" /> + <menu_item_check name="commit_changes" label="Zastosuj" /> + <menu_item_check name="apply_local" label="Stosuj tylko dla mnie" /> + <menu_item_check name="apply_parcel" label="Stosuj dla dziaÅ‚ki" /> + <menu_item_check name="apply_region" label="Stosuj dla regionu" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_settings_add.xml b/indra/newview/skins/default/xui/pl/menu_settings_add.xml new file mode 100644 index 0000000000..6cb3a68898 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_settings_add.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_add"> + <menu_item_call label="Nowe niebo" name="New Sky" /> + <menu_item_call label="Nowa woda" name="New Water" /> + <menu_item_call label="Nowy cykl dnia" name="New Day Cycle" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_settings_gear.xml b/indra/newview/skins/default/xui/pl/menu_settings_gear.xml new file mode 100644 index 0000000000..a002d3c236 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_settings_gear.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<toggleable_menu name="menu_settings_gear"> + <menu_item_call label="Edycja" name="edit_settings" /> + <menu_item_call name="Settings Apply Local" label="Stosuj tylko dla mnie" /> + <menu_item_call name="Settings Apply Parcel" label="Stosuj dla dziaÅ‚ki" /> + <menu_item_call name="Settings Apply Region" label="Stosuj dla regionu" /> + <menu_item_call label="Kopiuj" name="copy_settings" /> + <menu_item_call label="Wklej" name="paste_settings" /> + <menu_item_call label="Kopiuj UUID" name="copy_uuid" /> +</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_url_email.xml b/indra/newview/skins/default/xui/pl/menu_url_email.xml new file mode 100644 index 0000000000..e2d1f8c8e3 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_url_email.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Email Popup"> + <menu_item_call label="Utwórz nowego e-maila w zewnÄ™trznym programie" name="email_open_external" /> + <menu_item_call label="Kopiuj e-mail do schowka" name="email_copy" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/menu_url_experience.xml b/indra/newview/skins/default/xui/pl/menu_url_experience.xml new file mode 100644 index 0000000000..747039e94d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/menu_url_experience.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<context_menu name="Url Popup"> + <menu_item_call label="Kopiuj SLurl do schowka" name="url_copy" /> +</context_menu> diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index 87e318be1b..e668c6cc20 100644 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -1,10 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <notifications> <global name="skipnexttime"> - Nie pokazuj tego nastÄ™pnym razem + Nie pokazuj tego ponownie + </global> + <global name="skipnexttimesessiononly"> + Nie pokazuj tego ponownie +(dla obecnej sesji) </global> <global name="alwayschoose"> - Zawsze wybieraj tÄ… opcjÄ™ + Zawsze wybieraj tÄ™ opcjÄ™ </global> <global name="implicitclosebutton"> Zamknij @@ -20,20 +24,25 @@ Szczegóły bÅ‚Ä™du: BÅ‚Ä…d o nazwie '[_NAME]' nie zostaÅ‚ odnaleziony [CONTROLS] </notification> <notification name="TutorialNotFound"> - Brak samouczka na ten temat + Brak samouczka na ten temat. </notification> <notification name="GenericAlertYesCancel"> [MESSAGE] <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Tak" /> </notification> <notification name="BadInstallation"> - Podczas aktualizacji [APP_NAME] wystÄ…piÅ‚ bÅ‚Ä…d. ProszÄ™ [http://get.secondlife.com odwiedzić stronÄ™] aby Å›ciÄ…gnąć ostatniÄ… wersjÄ™ klienta. + Instalacja [APP_NAME] jest uszkodzona. ProszÄ™ [http://get.secondlife.com pobrać nowÄ… kopiÄ™] przeglÄ…darki i ponownie jÄ… zainstalować. </notification> <notification name="LoginFailedNoNetwork"> Nie można poÅ‚Ä…czyć z [SECOND_LIFE_GRID]. '[DIAGNOSTIC]' Upewnij siÄ™, że Twoje poÅ‚Ä…czenie z internetem dziaÅ‚a. </notification> + <notification name="LoginFailedToParse"> + PrzeglÄ…darka otrzymaÅ‚a znieksztaÅ‚conÄ… odpowiedź z serwera. Upewnij siÄ™, że poÅ‚Ä…czenie internetowe dziaÅ‚a prawidÅ‚owo i spróbuj ponownie później. + +JeÅ›li uważasz, że to bÅ‚Ä…d - skontaktuj siÄ™ z pomocÄ… technicznÄ…. + </notification> <notification name="MessageTemplateNotFound"> Szablon komunikatu dla [PATH] nie zostaÅ‚ odnaleziony. </notification> @@ -72,11 +81,96 @@ Foldery nie zostaÅ‚y wysÅ‚ane na Marketplace z powodu bÅ‚Ä™du sieci lub systemu. Inicjalizacja Marketplace nieudana z powodu bÅ‚Ä™du sieci lub systemu. Spróbuj później. </notification> + <notification name="StockPasteFailed"> + Kopiowanie lub przeniesienie do folderu Magazynowego nie powiodÅ‚o siÄ™: + +'[ERROR_CODE]' + </notification> + <notification name="MyOutfitsPasteFailed"> + Jeden lub wiÄ™cej przedmiotów nie może być użyty w "Strojach" + </notification> + <notification name="MerchantPasteFailed"> + Kopiowanie lub przenoszenie przedmiotów na Marketplace nie powiodÅ‚o siÄ™: + +'[ERROR_CODE]' + </notification> + <notification name="MerchantTransactionFailed"> + Transakcja z Marketplace nie powiodÅ‚a siÄ™: + +[ERROR_REASON][ERROR_DESCRIPTION] + </notification> + <notification name="MerchantUnprocessableEntity"> + Wylistowanie tej rzeczy lub aktywowanie folderu z wersjÄ… nie byÅ‚o możliwe. Zazwyczaj jest to spowodowane brakujÄ…cymi informacjami w formularzu z opisem przedmiotu, ale może to również wynikać z bÅ‚Ä™dów w strukturze folderów. ZmieÅ„ opis przedmiotu lub sprawdź foldery, aby znaleźć bÅ‚Ä™dy. + </notification> + <notification name="MerchantListingFailed"> + Listowanie na Marketplace nie powiodÅ‚o siÄ™: + + '[ERROR_CODE]' + </notification> + <notification name="MerchantFolderActivationFailed"> + Aktywacja tego folderu wersji nie powiodÅ‚a siÄ™: + + '[ERROR_CODE]' + </notification> + <notification name="MerchantForceValidateListing"> + Aby wylistowanie tej rzeczy byÅ‚o możliwe hierarchia w jej zawartoÅ›ci zostaÅ‚a automatycznie naprawiona. + <usetemplate ignoretext="Ostrzegaj, gdy wylistowanie rzeczy automatycznie naprawia hierarchiÄ™ zawartoÅ›ci" name="okignore" /> + </notification> + <notification name="ConfirmMerchantActiveChange"> + JeÅ›li kontynuujesz, to zmieni siÄ™ aktywna zawartość tej rzeczy. Czy chcesz kontynuować? + <usetemplate ignoretext="Potwierdź przed zmodyfikowaniem aktywnej rzeczy na Marketplace" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="ConfirmMerchantMoveInventory"> + Przedmioty przeciÄ…gniÄ™te do okna listowania na Marketplace sÄ… przenoszone z ich oryginalnych lokalizacji, a nie kopiowane. Czy chcesz kontynuować? + <usetemplate ignoretext="Potwierdź, zanim przeÅ›lÄ™ na Marketplace przedmiot z mojej Szafy" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="ConfirmListingCutOrDelete"> + Przeniesienie lub usuniÄ™cie folderu usunie również Twój przedmiot na Marketplace. JeÅ›li chcesz, aby przedmiot byÅ‚ ciÄ…gle widoczny na Marketplace musisz przesunąć lub usunąć zawartość folderu z wersjÄ…, którÄ… chcesz zmodyfikować. Czy chcesz kontynuować? + <usetemplate ignoretext="Potwierdź, zanim usunÄ™ lub przeniosÄ™ przedmiot z Marketplace" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="ConfirmCopyToMarketplace"> + Nie masz praw do skopiowania jednego lub wiÄ™cej obiektów na Marketplace. Możesz je przenieść lub pozostawić. + <usetemplate canceltext="Anuluj" ignoretext="Potwierdź, zanim wyÅ›lÄ™ na Marketplace przedmioty bez praw kopiowania" name="yesnocancelbuttons" notext="Nie przenoÅ›" yestext="PrzenieÅ›"/> + </notification> + <notification name="ConfirmMerchantUnlist"> + JeÅ›li kontynuujesz, to ta rzecz zostanie usuniÄ™ta z listy. Czy chcesz kontynuować? + <usetemplate ignoretext="Potwierdź, zanim usunÄ™ z listy rzecz na Marketplace" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="ConfirmMerchantClearVersion"> + JeÅ›li kontynuujesz, to folder wersji tej rzeczy zostanie zdeaktywowany. Czy chcesz kontynuować? + <usetemplate ignoretext="Potwierdź przed wyÅ‚Ä…czeniem folderu wersji dla rzeczy na Marketplace" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="AlertMerchantListingNotUpdated"> + Ta rzecz nie może zostać zaktualizowana. +[[URL] Kliknij tutaj] aby zaktualizować jÄ… na Marketplace. + </notification> + <notification name="AlertMerchantListingCannotWear"> + Nie możesz zaÅ‚ożyć ubraÅ„ lub części ciaÅ‚a, które znajdujÄ… siÄ™ w folderze listy rzeczy Marketplace. + </notification> + <notification name="AlertMerchantListingInvalidID"> + NieprawidÅ‚owy ID rzeczy. + </notification> + <notification name="AlertMerchantListingActivateRequired"> + Istnieje kilka, lub żadna, wersji folderu dla tej rzeczy. BÄ™dziesz musiaÅ‚/a wybrać i uaktywnić jednÄ… oddzielnie później. + <usetemplate ignoretext="Powiadamiaj o aktywacji folderu wersji, gdy tworzÄ™ rzecz z kilkoma folderami wersji" name="okignore" /> + </notification> + <notification name="AlertMerchantStockFolderSplit"> + Przedmioty z ograniczonymi zasobami magazynowymi różnych typów zostaÅ‚y rozdzielone do osobnych folderów, aby ogólna hierarchia katalogów umożliwiaÅ‚a ich listowanie. + <usetemplate ignoretext="Powiadom, gdy folder Magazynowy jest dzielony przed listowaniem" name="okignore" /> + </notification> + <notification name="AlertMerchantStockFolderEmpty"> + Twoja rzecz zostaÅ‚a usuniÄ™ta z listy, ponieważ nie ma jej już w Magazynie. Musisz dodać wiÄ™cej jej jednostek do folderu Magazynowego, aby można byÅ‚o jÄ… ponownie wyÅ›wietlać na liÅ›cie. + <usetemplate ignoretext="Powiadom, gdy rzecz jest zdjÄ™ta z listy, bo folder zasobów Magazynowych jest pusty" name="okignore" /> + </notification> + <notification name="AlertMerchantVersionFolderEmpty"> + Twoja rzecz zostaÅ‚a usuniÄ™ta z listy, ponieważ folder wersji jest pusty. Musisz dodać wiÄ™cej jej jednostek do folderu wersji, aby można byÅ‚o jÄ… ponownie wyÅ›wietlać na liÅ›cie. + <usetemplate ignoretext="Powiadom, gdy rzecz jest zdjÄ™ta z listy, bo folder wersji jest pusty" name="okignore" /> + </notification> <notification name="WriteAnimationFail"> Problem w zapisywaniu danych animacji. Spróbuj ponownie za kilka minut. </notification> <notification name="UploadAuctionSnapshotFail"> - W trakcie Å‚adowania obrazu aukcji pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. + W trakcie przesyÅ‚ania obrazu aukcji pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON]. </notification> <notification name="UnableToViewContentsMoreThanOne"> Nie można przeglÄ…dać zawartoÅ›ci wiÄ™cej niż jednego obiektu naraz. @@ -89,9 +183,12 @@ Wybierz pojedynczy obiekt i spróbuj jeszcze raz. <notification name="FriendsAndGroupsOnly"> Osoby spoza listy znajomych nie bÄ™dÄ… wiedzieć, że zdecydowaÅ‚eÅ›/aÅ› siÄ™ ignorować ich rozmowy gÅ‚osowe i wiadomoÅ›ci IM. </notification> - <notification name="FavoritesOnLogin"> + <notification name="FavoritesOnLogin"> PamiÄ™taj: kiedy wÅ‚Ä…czysz tÄ… opcjÄ™ to każdy kto używa tego komputera bÄ™dzie mógÅ‚ zobaczyć TwojÄ… listÄ™ ulubionych miejsc. </notification> + <notification name="AllowMultipleViewers"> + Uruchamianie kilku przeglÄ…darek Second Life nie podlega wsparciu. Może prowadzić do kolizji pamiÄ™ci podrÄ™cznej tekstur, jej uszkodzeÅ„, pogorszenia efektów wizualnych oraz wydajnoÅ›ci. + </notification> <notification name="GrantModifyRights"> Udzielenie praw modyfikacji innemu Rezydentowi umożliwia modyfikacjÄ™, usuwanie lub wziÄ™cie JAKIEGOKOLWIEK z Twoich obiektów. Używaj tej opcji z rozwagÄ…! Czy chcesz udzielić prawa do modyfikacji [NAME]? @@ -110,6 +207,9 @@ Czy chcesz dać prawa modyfikacji wybranym osobom? Czy chcesz odebrać prawa modyfikacji wybranym Rezydentom? <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak" /> </notification> + <notification name="GroupNameLengthWarning"> + Nazwa grupy musi zawierać od [MIN_LEN] do [MAX_LEN] znaków. + </notification> <notification name="UnableToCreateGroup"> ZaÅ‚ożenie grupy nie jest możliwe. [MESSAGE] @@ -171,6 +271,17 @@ JeÅ›li nie chcesz, aby te przywileje byÅ‚y dÅ‚użej przypisane do tej roli, to w Zamierzasz wyrzucić [COUNT] osób z grupy. <usetemplate ignoretext="Potwierdź wyrzucenie kilku osób z grupy" name="okcancelignore" notext="Anuluj" yestext="Wyrzuć" /> </notification> + <notification name="BanGroupMemberWarning"> + Zamierzasz zbanować [AVATAR_NAME] z grupy. + <usetemplate ignoretext="Potwierdź przed zbanowaniem osoby z grupy" name="okcancelignore" notext="Anuluj" yestext="Banuj" /> + </notification> + <notification name="BanGroupMembersWarning"> + Zamierzasz zbanować [COUNT] osób z grupy. + <usetemplate ignoretext="Potwierdź przed zbanowaniem z grupy kilku osób na raz" name="okcancelignore" notext="Anuluj" yestext="Banuj" /> + </notification> + <notification name="GroupBanUserOnBanlist"> + Niektórzy rezydenci nie dostali zaproszenia, ponieważ sÄ… zbanowani w grupie. + </notification> <notification name="AttachmentDrop"> WybraÅ‚eÅ›/aÅ› opcjÄ™ upuszczenia swojego dodatku. Czy chcesz kontynuować? @@ -182,7 +293,7 @@ Chcesz kontynuować? <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="DoÅ‚Ä…cz" /> </notification> <notification name="JoinGroupNoCost"> - DoÅ‚Ä…czasz do grupy [NAME]. + DoÅ‚Ä…czasz do grupy <nolink>[NAME]</nolink>. Czy chcesz kontynuować? <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="DoÅ‚Ä…cz" /> </notification> @@ -194,7 +305,30 @@ Masz za maÅ‚o L$ żeby do niej doÅ‚Ä…czyć. Stworzenie tej grupy kosztuje [COST]L$. W grupie powinna być wiÄ™cej niż jedna osoba, w przeciwnym razie zostanie ona na zawsze skasowana. ZaproÅ› kogoÅ› w ciÄ…gu 48 godzin. - <usetemplate canceltext="Anuluj" name="okcancelbuttons" notext="Anuluj" yestext="Stwórz grupÄ™ za 100L$" /> + <usetemplate canceltext="Anuluj" name="okcancelbuttons" notext="Anuluj" yestext="Stwórz grupÄ™ za [COST]L$" /> + </notification> + <notification name="JoinGroupInaccessible"> + Ta grupa nie jest dla Ciebie dostÄ™pna. + </notification> + <notification name="JoinGroupError"> + WystÄ…piÅ‚ bÅ‚Ä…d podczas próby doÅ‚Ä…czenia do grupy. + </notification> + <notification name="JoinGroupErrorReason"> + Nie można doÅ‚Ä…czyć do grupy: [reason] + </notification> + <notification name="JoinGroupTrialUser"> + Przepraszamy, ale konta próbne nie mogÄ… doÅ‚Ä…czać do grup. + </notification> + <notification name="JoinGroupMaxGroups"> + Nie możesz doÅ‚Ä…czyć do '<nolink>[group_name]</nolink>': +JesteÅ› już w [group_count] grupach, a maksymalny dozwolony limit to [max_groups] + </notification> + <notification name="JoinGroupClosedEnrollment"> + Nie możesz doÅ‚Ä…czyć do '<nolink>[group_name]</nolink>': +Grupa nie umożliwia już swobodnego doÅ‚Ä…czania. + </notification> + <notification name="JoinGroupInsufficientFunds"> + Nie można przekazać wymaganej opÅ‚aty wstÄ™pu ([membership_fee] L$). </notification> <notification name="LandBuyPass"> Za [COST]L$ możesz odwiedzić tÄ… dziaÅ‚kÄ™ ('[PARCEL_NAME]') na [TIME] godzin. Chcesz kupić przepustkÄ™? @@ -217,10 +351,9 @@ Cena wynosi [SALE_PRICE]L$, a sprzedaż bÄ™dzie autoryzowana dla [NAME]. <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="ReturnObjectsDeededToGroup"> - Czy na pewno chcesz zwrócić wszystkie obiekty udostÄ™pnione grupie '[NAME]' na tej dziaÅ‚ce do szaf ich poprzednich wÅ‚aÅ›cicieli? + Czy na pewno chcesz zwrócić wszystkie obiekty udostÄ™pnione grupie '<nolink>[NAME]</nolink>' na tej dziaÅ‚ce do szaf ich poprzednich wÅ‚aÅ›cicieli? -*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów -udostÄ™pnionych grupie, które nie majÄ… praw transferu! +*UWAGA* Wybrana opcja spowoduje usuniÄ™cie wszystkich obiektów udostÄ™pnionych grupie, które nie majÄ… praw transferu! Obiekty: [N] <usetemplate name="okcancelbuttons" notext="Anuluj" /> @@ -256,7 +389,7 @@ Obiekty: [N] <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="ReturnAllTopObjects"> - Czy na pewno chcesz zwrócić wszystkie wymienione obiekty znajdujÄ…ce siÄ™ na tej dziaÅ‚ce do szaf ich wÅ‚aÅ›cicieli? + Czy na pewno chcesz zwrócić wszystkie wymienione obiekty znajdujÄ…ce siÄ™ na tej dziaÅ‚ce do szaf ich wÅ‚aÅ›cicieli? Spowoduje to zwrot WSZYSTKICH oskryptowanych obiektów w regionie! <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="DisableAllTopObjects"> @@ -264,7 +397,7 @@ Obiekty: [N] <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="ReturnObjectsNotOwnedByGroup"> - Zwrócić obiekty z tej dziaÅ‚ki, które NIE sÄ… udostÄ™pnione grupie [NAME] do ich wÅ‚aÅ›cicieli? + Zwrócić obiekty z tej dziaÅ‚ki, które NIE sÄ… udostÄ™pnione grupie <nolink>[NAME]</nolink> do ich wÅ‚aÅ›cicieli? Obiekty: [N] <usetemplate name="okcancelbuttons" notext="Anuluj" /> @@ -299,14 +432,23 @@ W celu umieszczenia mediów tylko na jednej powierzchni skorzystaj z narzÄ™dzia <notification name="ErrorEncodingSnapshot"> BÅ‚Ä…d w kodowaniu zdjÄ™cia. </notification> + <notification name="ErrorPhotoCannotAfford"> + Potrzebujesz [COST]L$ aby zapisać zdjÄ™cie do swojej Szafy. Możesz zamiast tego kupić L$ lub zapisać zdjÄ™cie na swoim komputerze. + </notification> + <notification name="ErrorCannotAffordUpload"> + Potrzebujesz [COST]L$ aby przesÅ‚ać ten element. + </notification> + <notification name="ErrorTextureCannotAfford"> + Potrzebujesz [COST]L$ aby zapisać teksturÄ™ do swojej Szafy. Możesz zamiast tego kupić L$ lub zapisać teksturÄ™ na swoim komputerze. + </notification> <notification name="ErrorUploadingPostcard"> - W trakcie Å‚adowania zdjÄ™cia pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] + W trakcie przesyÅ‚ania zdjÄ™cia pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] </notification> <notification name="ErrorUploadingReportScreenshot"> - W trakcie Å‚adowania zdjÄ™cia ekranu do raportu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] + W trakcie przesyÅ‚ania zdjÄ™cia ekranu do raportu pojawiÅ‚ siÄ™ problem z nastÄ™pujÄ…cego powodu: [REASON] </notification> <notification name="MustAgreeToLogIn"> - Musisz zaakceptować Warunki Umowy (Terms of Service) by kontynuować logowanie siÄ™ do [SECOND_LIFE]. + Musisz zaakceptować Regulamin (Terms and Conditions), PolitykÄ™ PrywatnoÅ›ci (Privacy Policy) i Warunki korzystania z UsÅ‚ug (Terms of Service) by kontynuować logowanie siÄ™ do [SECOND_LIFE]. </notification> <notification name="CouldNotPutOnOutfit"> ZaÅ‚ożenie stroju nie powiodÅ‚o siÄ™. @@ -322,6 +464,9 @@ Limit [MAX_ATTACHMENTS] dodatków zostaÅ‚ przekroczony. ProszÄ™ najpierw odÅ‚Ä…c <notification name="CannotWearInfoNotComplete"> Nie możesz zaÅ‚ożyć tego przedmiotu, ponieważ jeszcze siÄ™ nie zaÅ‚adowaÅ‚ do koÅ„ca. Spróbuj ponownie za kilka minut. </notification> + <notification name="MustEnterPasswordToLogIn"> + Należy wprowadzić hasÅ‚o. + </notification> <notification name="MustHaveAccountToLogIn"> Należy wprowadzić nazwÄ™ użytkownika. @@ -332,10 +477,10 @@ Potrzebujesz konta aby siÄ™ zalogować do [SECOND_LIFE]. Czy chcesz utworzyć je Należy wprowadzić nazwÄ™ użytkownika lub imiÄ™ oraz nazwisko Twojego awatara w pole nazwy użytkownika, a nastÄ™pnie ponownie siÄ™ zalogować. </notification> <notification name="InvalidGrid"> - '[GRID]' nie jest prawidÅ‚owym identyfikatorem siatki. + '[GRID]' nie jest prawidÅ‚owym identyfikatorem Å›wiata. </notification> <notification name="InvalidLocationSLURL"> - Twój punkt startowy nie znajduje siÄ™ na prawidÅ‚owej siatce. + Twój punkt startowy nie znajduje siÄ™ w prawidÅ‚owym Å›wiecie. </notification> <notification name="DeleteClassified"> Usunąć reklamÄ™ '[NAME]'? @@ -354,10 +499,22 @@ Czy na pewno chcesz kontynuować? <notification name="ClassifiedInsufficientFunds"> Nie posiadasz wystarczajÄ…cych Å›rodków aby dodać reklamÄ™. </notification> - <notification name="DeleteAvatarPick"> + <notification name="ProfileDeleteClassified"> + Usunąć reklamÄ™ <nolink>[CLASSIFIED]</nolink>? + <usetemplate name="okcancelbuttons" notext="Anuluj" /> + </notification> + <notification name="ProfileDeletePick"> Usunąć miejsce <nolink>[PICK]</nolink>? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> + <notification name="ProfileUnpublishedClassified"> + Masz nieopublikowane reklamy. PrzepadnÄ…, jeÅ›li zamkniesz okno. + <usetemplate name="okcancelbuttons" notext="Anuluj" /> + </notification> + <notification name="ProfileUnsavedChanges"> + Masz niezapisane zmiany. + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Odrzuć" yestext="Zapisz" /> + </notification> <notification name="DeleteOutfits"> Skasować wybrane stroje? <usetemplate name="okcancelbuttons" notext="Anuluj" /> @@ -372,14 +529,6 @@ Czy na pewno chcesz kontynuować? <notification name="SelectHistoryItemToView"> Wybierz obiekt z historii, który chcesz zobaczyć. </notification> - <notification name="ResetShowNextTimeDialogs"> - Czy chcesz aktywować ponownie wszystkie te powiadomienia, przy których wczeÅ›niej zaznaczono 'nie pokazuj ponownie'? - <usetemplate name="okcancelbuttons" notext="Anuluj" /> - </notification> - <notification name="SkipShowNextTimeDialogs"> - Czy chcesz dezaktywować wszystkie powiadomienia, jakie tylko można? - <usetemplate name="okcancelbuttons" notext="Anuluj" /> - </notification> <notification name="CacheWillClear"> Bufor danych zostanie wyczyszczony po restarcie aplikacji [APP_NAME]. </notification> @@ -390,6 +539,9 @@ PamiÄ™taj: Opcja ta wyczyszcza bufor danych. <notification name="ChangeConnectionPort"> Ustawienia portu zostajÄ… zaktualizowane po restarcie aplikacji [APP_NAME]. </notification> + <notification name="ChangeDeferredDebugSetting"> + To ustawienie debugowania zostanie zaktualizowane po restarcie aplikacji [APP_NAME]. + </notification> <notification name="ChangeSkin"> Nowa skórka pojawi siÄ™ po restarcie aplikacji [APP_NAME]. </notification> @@ -405,7 +557,11 @@ PamiÄ™taj: Opcja ta wyczyszcza bufor danych. <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Nie zapisuj" yestext="Zapisz" /> </notification> <notification name="DeleteNotecard"> - Usunąć notkÄ™? + Czy na pewno chcesz usunąć tÄ… notkÄ™? + <usetemplate ignoretext="Potwierdź usuwanie notki" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="LoadPreviousReportScreenshot"> + Czy chcesz użyć poprzedniego zrzutu ekranu dla swojego zgÅ‚oszenia? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="GestureSaveFailedTooManySteps"> @@ -451,6 +607,10 @@ Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. <notification name="CannotDownloadFile"> Nie można pobrać pliku </notification> + <notification name="MediaFileDownloadUnsupported"> + Zażądano pobrania pliku, jaki nie jest obsÅ‚ugiwany w [SECOND_LIFE]. + <usetemplate ignoretext="Ostrzegaj o pobieraniu nieobsÅ‚ugiwanych typów plików" name="okignore" /> + </notification> <notification name="CannotWriteFile"> Nie można zapisać pliku [[FILE]] </notification> @@ -460,23 +620,11 @@ Obiekt może znajdować siÄ™ zbyt daleko albo zostaÅ‚ usuniÄ™ty. Odwiedzić [_URL], aby uzyskać wiÄ™cej informacji? <usetemplate ignoretext="SprzÄ™t w moim komputerze nie jest wspierany" name="okcancelignore" notext="Nie" yestext="Tak" /> </notification> - <notification name="IntelOldDriver"> - Prawdopodobnie istnieje nowszy sterownik dla Twojej karty graficznej. Aktualizacja sterowników graficznych może znacznie zwiÄ™kszyć wydajność. - -Odwiedzić [_URL] aby sprawdzić, czy sÄ… nowsze sterowniki? - <usetemplate ignoretext="Moje sterowniki grafiki sÄ… przestarzaÅ‚e" name="okcancelignore" notext="Nie" yestext="Tak" /> - </notification> - <notification name="AMDOldDriver"> - Prawdopodobnie istnieje nowszy sterownik dla Twojej karty graficznej. Aktualizacja sterowników graficznych może znacznie zwiÄ™kszyć wydajność. - -Odwiedzić [_URL] aby sprawdzić, czy sÄ… nowsze sterowniki? - <usetemplate ignoretext="Moje sterowniki grafiki sÄ… przestarzaÅ‚e" name="okcancelignore" notext="Nie" yestext="Tak" /> - </notification> - <notification name="NVIDIAOldDriver"> + <notification name="OldGPUDriver"> Prawdopodobnie istnieje nowszy sterownik dla Twojej karty graficznej. Aktualizacja sterowników graficznych może znacznie zwiÄ™kszyć wydajność. -Odwiedzić [_URL] aby sprawdzić, czy sÄ… nowsze sterowniki? - <usetemplate ignoretext="Moje sterowniki grafiki sÄ… przestarzaÅ‚e" name="okcancelignore" notext="Nie" yestext="Tak" /> +Odwiedzić [URL] aby sprawdzić, czy sÄ… nowsze sterowniki? + <usetemplate ignoretext="Moje sterowniki grafiki sÄ… przestarzaÅ‚e" name="okcancelignore" notext="Nie" yestext="Tak"/> </notification> <notification name="UnknownGPU"> Twój system jest wyposażony w kartÄ™ graficznÄ…, która nie jest rozpoznana przez [APP_NAME]. @@ -500,7 +648,7 @@ Możesz podnieść jakość grafiki pod Ustawienia > Grafika. </notification> <notification name="CannotCopyWarning"> Nie masz pozwolenia na kopiowanie nastÄ™pujÄ…cych obiektów: -[ITEMS] +<nolink>[ITEMS]</nolink> i stracisz je w momencie przekazania. Czy na pewno chcesz oddać te obiekty? <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak" /> </notification> @@ -547,7 +695,7 @@ Ta osoba tymczasowo nie bÄ™dzie mogÅ‚a siÄ™ poruszać, używać czatu (IM) lub o <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Wyrzuć" /> </notification> <notification name="EjectAvatarFromGroup"> - WyrzuciÅ‚eÅ›/aÅ› [AVATAR_NAME] z grupy [GROUP_NAME] + WyrzuciÅ‚eÅ›/aÅ› [AVATAR_NAME] z grupy <nolink>[GROUP_NAME]</nolink>. </notification> <notification name="AcquireErrorTooManyObjects"> BÅÄ„D OTRZYMYWANIA: Zbyt wiele wybranych obiektów. @@ -562,6 +710,9 @@ Przemieść wszystkie otrzymywane obiekty do jednego regionu. Odwiedzić [_URL] po wiÄ™cej informacji na temat zakupu L$? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> + <notification name="MuteLimitReached"> + Nie można dodać kolejnego wpisu do listy zablokowanych, ponieważ limit [MUTE_LIMIT] rekordów zostaÅ‚ osiÄ…gniÄ™ty. + </notification> <notification name="UnableToLinkObjects"> Nie można poÅ‚Ä…czyć [COUNT] obiektów. Maksymalnie można poÅ‚Ä…czyć [MAX] obiektów. @@ -577,6 +728,9 @@ Upewnij siÄ™, że żaden z obiektów nie jest zablokowany i wszystkie należą d <notification name="CannotLinkPermanent"> Nie możesz Å‚Ä…czyć obiektów przez granice regionów. </notification> + <notification name="CannotLinkAcrossRegions"> + Nie możesz Å‚Ä…czyć obiektów przez granice regionów. + </notification> <notification name="CannotLinkDifferentOwners"> Nie możesz poÅ‚Ä…czyć obiektów, ponieważ należą one do różnych osób. @@ -592,7 +746,7 @@ Upewnij siÄ™, że nazwa pliku ma poprawne rozszerzenie. Oczekiwane: [VALIDS] </notification> <notification name="CannotUploadSoundFile"> - Nie można otworzyć zaÅ‚adowanego pliku dźwiÄ™kowego: + Nie można otworzyć przesÅ‚anego pliku dźwiÄ™kowego: [FILE] </notification> <notification name="SoundFileNotRIFF"> @@ -624,7 +778,7 @@ Oczekiwane: [VALIDS] [FILE] </notification> <notification name="SoundFileInvalidTooLong"> - Plik audio jest zbyt dÅ‚ugi (10 sekund maksimum): + Plik audio jest zbyt dÅ‚ugi (maksymalnie 30 sekund): [FILE] </notification> <notification name="ProblemWithFile"> @@ -655,10 +809,10 @@ To może siÄ™ zdarzyć, kiedy zmieniasz ustawienia sieci. Zrestartowanie PrzeglÄ Nie można utworzyć pliku wyjÅ›ciowego: [FILE] </notification> <notification name="DoNotSupportBulkAnimationUpload"> - [APP_NAME] obecnie nie wspomaga Å‚adowania grupowego plików animacji w formacie BVH. + [APP_NAME] obecnie nie wspomaga przesyÅ‚ania grupowego plików animacji w formacie BVH. </notification> <notification name="CannotUploadReason"> - Åadowanie pliku [FILE] nie powiodÅ‚o siÄ™ z powodu: [REASON] + PrzesyÅ‚anie pliku [FILE] nie powiodÅ‚o siÄ™ z powodu: [REASON] Spróbuj jeszcze raz później. </notification> <notification name="LandmarkCreated"> @@ -670,6 +824,12 @@ Spróbuj jeszcze raz później. <notification name="CannotCreateLandmarkNotOwner"> Nie możesz zapamiÄ™tać tego miejsca (LM) ponieważ wÅ‚aÅ›ciciel dziaÅ‚ki nie pozwala na to. </notification> + <notification label="Utwórz folder" name="CreateLandmarkFolder"> + Wybierz nazwÄ™ folderu: + <form name="form"> + <button name="Cancel" text="Anuluj" /> + </form> + </notification> <notification name="CannotRecompileSelectObjectsNoScripts"> 'Rekompilacja' nie powiodÅ‚a siÄ™. @@ -719,8 +879,7 @@ Nowe zapytanie: [FINALQUERY] [REASON] </notification> <notification name="invalid_tport"> - Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby teleportacji. Proponujemy wylogowanie siÄ™ i spróbowanie teleportacji ponownie. -Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPORT_SITE]. + Próby teleportacji sÄ… ograniczone do 6 na minutÄ™. JeÅ›li masz problemy odczekaj minutÄ™ i spróbuj ponownie siÄ™ teleportować. JeÅ›li problem bÄ™dzie siÄ™ powtarzaÅ‚ wyloguj siÄ™ i zaloguj ponownie. </notification> <notification name="invalid_region_handoff"> Niestety, pojawiÅ‚ siÄ™ bÅ‚Ä…d podczas próby przedostania siÄ™ na drugi region. Proponujemy wylogowanie siÄ™ i spróbowanie przedostania siÄ™ na drugi region ponownie. @@ -750,6 +909,9 @@ Jeżeli nadal otrzymujesz tÄ™ wiadomość proponujemy odwiedzić stronÄ™ [SUPPOR <notification name="expired_region_handoff"> Przepraszamy, ale nie udaÅ‚o siÄ™ przeprowadzić zmiany regionu wystarczajÄ…co szybko. Spróbuj jeszcze raz za kilka minut. </notification> + <notification name="preexisting_tport"> + Przepraszamy, ale system nie mógÅ‚ zainicjować teleportacji. Spróbuj jeszcze raz za kilka minut. + </notification> <notification name="no_host"> Nie można znaleźć miejsca docelowego. To miejsce może być chwilowo nieosiÄ…galne albo przestaÅ‚o istnieć. Spróbuj jeszcze raz za kilka minut. </notification> @@ -937,13 +1099,16 @@ Zazwyczaj jest to tymczasowy problem. Możesz kontynuować modyfikacje i zapisaÄ <notification name="YouHaveBeenLoggedOut"> NastÄ…piÅ‚o wylogowanie z [SECOND_LIFE] [MESSAGE] - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Pokaż IM/czat" /> + <usetemplate name="okcancelbuttons" notext="ZakoÅ„cz" yestext="Pokaż IM/czat" /> + </notification> + <notification name="InventoryUnusable"> + WystÄ…piÅ‚ problem podczas Å‚adowania szafy. Spróbuj siÄ™ wylogować i zalogować ponownie. JeÅ›li zobaczysz ten komunikat jeszcze raz, to skontaktuj siÄ™ z pomocÄ… technicznÄ…, aby rozwiÄ…zać problem. </notification> <notification name="OnlyOfficerCanBuyLand"> Nie możesz kupić dziaÅ‚ek dla grupy. Nie masz praw kupowania dziaÅ‚ek dla Twojej aktywnej grupy. </notification> - <notification label="Add Friend" name="AddFriendWithMessage"> + <notification label="Dodaj znajomego" name="AddFriendWithMessage"> Znajomi mogÄ… pozwalać na odnajdywanie siÄ™ wzajemnie na mapie i na otrzymywanie informacji o statusie online. Zaproponować znajomość [NAME]? @@ -1007,6 +1172,18 @@ do <notification label="ZmieÅ„ nazwÄ™ stroju" name="RenameOutfit"> Nowa nazwa stroju: <form name="form"> + <button name="Cancel" text="Anuluj"/> + </form> + </notification> + <notification label="ZmieÅ„ nazwÄ™ gestu" name="RenameGesture"> + Nowa nazwa gestu: + <form name="form"> + <button name="Cancel" text="Anuluj"/> + </form> + </notification> + <notification label="ZmieÅ„ nazwÄ™ Landmarka" name="RenameLandmark"> + Wybierz nowÄ… nazwÄ™ dla [NAME] + <form name="form"> <button name="Cancel" text="Anuluj" /> </form> </notification> @@ -1127,7 +1304,7 @@ Wybierz mniejszy obszar i spróbuj jeszcze raz. Po przekazaniu tej dziaÅ‚ki grupa bÄ™dzie musiaÅ‚a mieć i utrzymywać wystarczajÄ…cy kredyt na używanie dziaÅ‚ki. Cena zakupu dziaÅ‚ki nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana dziaÅ‚ka zostanie sprzedana, cena sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. -Przekazać tÄ… dziaÅ‚kÄ™ o powierzchni [AREA] m² grupie '[GROUP_NAME]'? +Przekazać tÄ… dziaÅ‚kÄ™ o powierzchni [AREA] m² grupie '<nolink>[GROUP_NAME]</nolink>'? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="DeedLandToGroupWithContribution"> @@ -1135,7 +1312,7 @@ Przekazać tÄ… dziaÅ‚kÄ™ o powierzchni [AREA] m² grupie '[GROUP_NAME]&apos Przekazanie bÄ™dzie zawierać równoczesne przypisanie dziaÅ‚ki do grupy od '[NAME]'. Cena zakupu dziaÅ‚ki nie jest zwracana wÅ‚aÅ›cicielowi. Jeżeli przekazana dziaÅ‚ka zostanie sprzedana, cena sprzedaży zostanie podzielona pomiÄ™dzy czÅ‚onków grupy. -Przekazać tÄ… dziaÅ‚kÄ™ o powierzchni [AREA] m² grupie '[GROUP_NAME]'? +Przekazać tÄ… dziaÅ‚kÄ™ o powierzchni [AREA] m² grupie '<nolink>[GROUP_NAME]</nolink>'? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="DisplaySetToSafe"> @@ -1169,12 +1346,32 @@ Możesz normalnie używać [SECOND_LIFE], inni użytkownicy bÄ™dÄ… CiÄ™ widzieli <ignore name="ignore" text="Åadowanie ubraÅ„ nadal trwa" /> </form> </notification> + <notification name="AgentComplexityWithVisibility"> + Twój [https://community.secondlife.com/t5/English-Knowledge-Base/Avatar-Rendering-Complexity/ta-p/2967838 stopieÅ„ zÅ‚ożonoÅ›ci awatara] to [AGENT_COMPLEXITY]. +[OVERLIMIT_MSG] + <usetemplate ignoretext="Ostrzegaj mnie, gdy stopieÅ„ zÅ‚ożonoÅ›ci mojego awatara jest zbyt wysoki" name="notifyignore" /> + </notification> + <notification name="AgentComplexity"> + Twój [https://community.secondlife.com/t5/English-Knowledge-Base/Avatar-Rendering-Complexity/ta-p/2967838 stopieÅ„ zÅ‚ożonoÅ›ci awatara] to [AGENT_COMPLEXITY]. + <usetemplate ignoretext="Ostrzegaj mnie, gdy zmienia siÄ™ stopieÅ„ zÅ‚ożonoÅ›ci mojego awatara" name="notifyignore"/> + </notification> + <notification name="HUDComplexityWarning"> + [HUD_REASON]. Bardzo prawdopodobne, że wpÅ‚ynie to negatywnie na TwojÄ… wydajność. + <usetemplate ignoretext="Ostrzegaj mnie, gdy stopieÅ„ zÅ‚ożonoÅ›ci moich dodatków HUD jest zbyt wysoki" name="notifyignore"/> + </notification> <notification name="FirstRun"> Instalacja [APP_NAME] zakoÅ„czona. Jeżeli używasz [SECOND_LIFE] po raz pierwszy to musisz stworzyć konto żeby móc siÄ™ zalogować. <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Stwórz konto..." /> </notification> + <notification name="LoginCantRemoveUsername"> + ZapamiÄ™tany użytkownik może zostać zapomniany w Awatar > Ustawienia > Zaawansowane > ZapamiÄ™tani użytkownicy. + </notification> + <notification name="LoginCantRemoveCurUsername"> + Zapomnienie zalogowanego użytkownika wymaga jego wylogowania. + <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Potwierdź i wyloguj siÄ™" /> + </notification> <notification name="LoginPacketNeverReceived"> Problemy z poÅ‚Ä…czeniem. Problem może być spowodowany Twoim poÅ‚Ä…czeniem z Internetem albo może istnieć po stronie [SECOND_LIFE_GRID]. @@ -1184,6 +1381,18 @@ Możesz sprawdzić swoje poÅ‚Ä…czenie z Internetem i spróbować ponownie za kil <button name="Teleport" text="Teleportuj" /> </form> </notification> + <notification name="LoginPacketNeverReceivedNoTP"> + Problemy z poÅ‚Ä…czeniem. Problem może być spowodowany Twoim poÅ‚Ä…czeniem z Internetem albo może istnieć po stronie [SECOND_LIFE_GRID]. + +Możesz sprawdzić swoje poÅ‚Ä…czenie z Internetem i spróbować ponownie za kilka minut lub poÅ‚Ä…czyć siÄ™ ze stronÄ… pomocy technicznej [SUPPORT_SITE]. + <form name="form"> + <button name="Help" text="Pomoc"/> + </form> + </notification> + <notification name="LoginRemoveMultiGridUserData"> + Usuwane Dane Lokalne sÄ… współużytkowane przez wiele Å›wiatów, czy na pewno chcesz je usunąć? + <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Potwierdź" /> + </notification> <notification name="WelcomeChooseSex"> Twoja postać pojawi siÄ™ za moment. @@ -1193,7 +1402,11 @@ Wybierz awatara wÅ‚aÅ›ciwej pÅ‚ci. Ten wybór bÄ™dzie można później zmienić. <usetemplate name="okcancelbuttons" notext="Kobieta" yestext="Mężczyzna" /> </notification> <notification name="CantTeleportToGrid"> - Nie można teleportować do [SLURL], ponieważ jest na innej siatce ([GRID]) niż obecna siatka ([CURRENT_GRID]). ProszÄ™ zamknąć przeglÄ…darkÄ™ i spróbować ponownie. + Nie można teleportować do [SLURL], ponieważ jest w innym Å›wiecie ([GRID]) niż obecny ([CURRENT_GRID]). ProszÄ™ zamknąć przeglÄ…darkÄ™ i spróbować ponownie. + </notification> + <notification name="GeneralCertificateErrorShort"> + PoÅ‚Ä…czenie z serwerem nie mogÅ‚o zostać nawiÄ…zane. +[REASON] </notification> <notification name="GeneralCertificateError"> PoÅ‚Ä…czenie z serwerem nie mogÅ‚o zostać nawiÄ…zane. @@ -1208,7 +1421,6 @@ Odcisk palca SHA1: [MD5_DIGEST] Użycie klucza: [KEYUSAGE] Rozszerzone użycie klucza: [EXTENDEDKEYUSAGE] Identyfikator klucza podmiotu: [SUBJECTKEYIDENTIFIER] - </notification> <notification name="TrustCertificateError"> Wydawca certyfikatu dla tego serwera nie jest znany. @@ -1254,6 +1466,10 @@ Wybierz pojedynczy obiekt i spróbuj jeszcze raz. Teleportować wszystkich Rezydentów z tego regionu do ich miejsc startu? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> + <notification name="ChangeObjectBonusFactor"> + Obniżenie limitu obiektów bonusowych po tym, gdy konstrukcje zostaÅ‚y już poustawiane w regionie może spowodować, że część z nich może zostać zwrócona lub usuniÄ™ta. Na pewno chcesz zmienić tÄ… wartość? + <usetemplate ignoretext="Potwierdź zmianÄ™ mnożnika obiektów bonusowych" name="okcancelignore" notext="Anuluj"/> + </notification> <notification name="EstateObjectReturn"> Na pewno chcesz odesÅ‚ać wszystkie obiekty należące do [USER_NAME]? <usetemplate name="okcancelbuttons" notext="Anuluj" /> @@ -1262,21 +1478,25 @@ Wybierz pojedynczy obiekt i spróbuj jeszcze raz. Nie można ustawić tekstur regionu: Tekstura terenu [TEXTURE_NUM] ma niewÅ‚aÅ›ciwÄ… gÅ‚Ä™biÄ™ koloru - [TEXTURE_BIT_DEPTH]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-bitowÄ… teksturÄ™ o wymiarze 1024x1024 lub mniejszÄ… i ponownie kliknij na "Zastosuj". +ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-bitowÄ… teksturÄ™ o wymiarze [MAX_SIZE]x[MAX_SIZE] lub mniejszÄ… i ponownie kliknij na "Zastosuj". </notification> <notification name="InvalidTerrainSize"> Nie można ustawić tekstur regionu: Tekstura terenu [TEXTURE_NUM] jest za duża - [TEXTURE_SIZE_X]x[TEXTURE_SIZE_Y]. -ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-bitowÄ… teksturÄ™ o wymiarze 1024x1024 lub mniejszÄ… i ponownie kliknij na "Zastosuj". +ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-bitowÄ… teksturÄ™ o wymiarze [MAX_SIZE]x[MAX_SIZE] lub mniejszÄ… i ponownie kliknij na "Zastosuj". </notification> <notification name="RawUploadStarted"> - Åadowanie rozpoczÄ™te. Może potrwać do dwóch minut zależnie od prÄ™dkoÅ›ci Twojego poÅ‚Ä…czenia. + PrzesyÅ‚anie rozpoczÄ™te. Może potrwać do dwóch minut zależnie od prÄ™dkoÅ›ci Twojego poÅ‚Ä…czenia. </notification> <notification name="ConfirmBakeTerrain"> Na pewno chcesz zapisać obecne uksztaÅ‚towanie terenu jako punkt odniesienia dla górnego i dolnego limitu terenu oraz jako domyÅ›lnÄ… wartość dla opcji 'Odtwórz'? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> + <notification name="ConfirmTextureHeights"> + Zamierzasz użyć wartoÅ›ci 'niższych' wiÄ™kszych niż 'wyższe' dla zakresów elewacji. Chcesz kontynuować? + <usetemplate name="yesnocancelbuttons" notext="Anuluj" canceltext="Nie pytaj" /> + </notification> <notification name="MaxAllowedAgentOnRegion"> Maksymalna liczba Rezydentów wynosi [MAX_AGENTS]. </notification> @@ -1295,7 +1515,34 @@ ZamieÅ„ teksturÄ™ [TEXTURE_NUM] na 24-bitowÄ… teksturÄ™ o wymiarze 1024x1024 lub Możesz mieć maksymalnie [MAX_MANAGER] zarzÄ…dców MajÄ…tku. </notification> <notification name="OwnerCanNotBeDenied"> - Nie możesz dodać wÅ‚aÅ›ciciela majÄ…tku do listy 'Niepożądanych Rezydentów (banów)' majÄ…tku. + Nie możesz dodać wÅ‚aÅ›ciciela MajÄ…tku do listy 'Niepożądanych Rezydentów (banów)' MajÄ…tku. + </notification> + <notification name="ProblemAddingEstateManagerBanned"> + Nie możesz dodać zbanowanego rezydenta do listy zarzÄ…dców MajÄ…tku. + </notification> + <notification name="ProblemBanningEstateManager"> + Nie można dodać zarzÄ…dcy MajÄ…tku [AGENT] do listy zbanowanych. + </notification> + <notification name="GroupIsAlreadyInList"> + <nolink>[GROUP]</nolink> już jest na liÅ›cie dostÄ™pu grup. + </notification> + <notification name="AgentIsAlreadyInList"> + [AGENT] już jest na Twojej liÅ›cie: [LIST_TYPE]. + </notification> + <notification name="AgentsAreAlreadyInList"> + [AGENT] już sÄ… na Twojej liÅ›cie: [LIST_TYPE]. + </notification> + <notification name="AgentWasAddedToList"> + [AGENT] zostaÅ‚/a dodany/a do listy: [LIST_TYPE] w: [ESTATE]. + </notification> + <notification name="AgentsWereAddedToList"> + [AGENT] zostali dodani do listy: [LIST_TYPE] w: [ESTATE]. + </notification> + <notification name="AgentWasRemovedFromList"> + [AGENT] zostaÅ‚/a usuniÄ™ty/a z listy: [LIST_TYPE] w: [ESTATE]. + </notification> + <notification name="AgentsWereRemovedFromList"> + [AGENT] zostali usuniÄ™ci z listy: [LIST_TYPE] w: [ESTATE]. </notification> <notification name="CanNotChangeAppearanceUntilLoaded"> Nie możesz zmienić wyglÄ…du podczas Å‚adowania ubraÅ„ i ksztaÅ‚tu. @@ -1311,133 +1558,36 @@ Wybierz obiekt na sprzedaż i spróbuj jeszcze raz. Plik surowego terenu pobrany do: [DOWNLOAD_PATH]. </notification> - <notification name="DownloadWindowsMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Pobierz" /> - </notification> - <notification name="DownloadWindows"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana, ale jest zalecana w celu poprawy wydajnoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> + <notification name="RequiredUpdate"> + Do zalogowania siÄ™ wymagana jest wersja [VERSION]. +Pobierz jÄ… z https://secondlife.com/support/downloads/ </notification> - <notification name="DownloadWindowsReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana, ale jest zalecana w celu poprawy wydajnoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> - </notification> - <notification name="DownloadLinuxMandatory"> - Nowa wersja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Musisz pobrać aktualizacjÄ™ aby korzystać z [APP_NAME]. - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Pobierz" /> - </notification> - <notification name="DownloadLinux"> - Aktualizacja [APP_NAME] jest dostÄ™pna. -[MESSAGE] -Ta aktualizacja nie jest wymagana, ale zaleca siÄ™ jej instalacjÄ™ w celu poprawienia wydajnoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> - </notification> - <notification name="DownloadLinuxReleaseForDownload"> - Uaktualniona wersja [APP_NAME]zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana, ale jest zalecana w celu poprawy wydajnoÅ›ci i stabilnoÅ›ci. - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> + <notification name="PauseForUpdate"> + Do zalogowania siÄ™ wymagana jest wersja [VERSION]. +Informacje o wydaniu: [URL] + +Kliknij OK, aby pobrać i zainstalować. </notification> - <notification name="DownloadMacMandatory"> - Nowa wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Musisz zainstalować nowÄ… wersjÄ™ żeby używać [APP_NAME]. + <notification name="OptionalUpdateReady"> + Wersja [VERSION] zostaÅ‚a pobrana i jest gotowa do zainstalowania. +Informacje o wydaniu: [URL] -Pobrać i zapisać w folderze Aplikacje? - <usetemplate name="okcancelbuttons" notext="WyÅ‚Ä…cz" yestext="Pobierz" /> +Kliknij OK, aby zainstalować. </notification> - <notification name="DownloadMac"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana, ale jest zalecana w celu poprawy wydajnoÅ›ci i stabilnoÅ›ci. + <notification name="PromptOptionalUpdate"> + Wersja [VERSION] zostaÅ‚a pobrana i jest gotowa do zainstalowania. +Informacje o wydaniu: [URL] -Pobrać i zapisać w folderze Aplikacje? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> +Kontynuować? + <usetemplate canceltext="Nie teraz" name="yesnocancelbuttons" notext="PomiÅ„" yestext="Instaluj" /> </notification> - <notification name="DownloadMacReleaseForDownload"> - Uaktualniona wersja [APP_NAME] zostaÅ‚a opublikowana. -[MESSAGE] -Aktualizacja nie jest wymagana, ale jest zalecana w celu poprawy wydajnoÅ›ci i stabilnoÅ›ci. - -Pobrać i zapisać w folderze Aplikacje? - <usetemplate name="okcancelbuttons" notext="Kontynuuj" yestext="Pobierz" /> - </notification> - <notification name="FailedUpdateInstall"> - Podczas aktualizacji pojawiÅ‚ siÄ™ bÅ‚Ä…d. -ProszÄ™ pobrać i zainstalować najnowszego klienta z -http://secondlife.com/download - </notification> - <notification name="FailedRequiredUpdateInstall"> - Nie można zainstalować wymaganej aktualizacji. -Nie bÄ™dzie można zalogować siÄ™ dopóki [APP_NAME] nie zostanie zaktualizowana. -ProszÄ™ pobrać i zainstalować najnowszÄ… wersjÄ™ z -http://secondlife.com/download - <usetemplate name="okbutton" yestext="Wyjdź" /> - </notification> - <notification name="UpdaterServiceNotRunning"> - Istnieje obowiÄ…zkowa aktualizacja dla Second Life. -Możesz jÄ… pobrać z http://www.secondlife.com/downloads -lub zainstalować teraz. - <usetemplate name="okcancelbuttons" notext="Opuść Second Life" yestext="Pobierz i instaluj teraz" /> - </notification> - <notification name="DownloadBackgroundTip"> - Aktualizacja dla [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[INFO_URL] Informacja o tej aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Instaluj teraz i restartuj [APP_NAME]" /> - </notification> - <notification name="DownloadBackgroundDialog"> - Aktualizacja [APP_NAME] zostaÅ‚a pobrana. -Wersja [VERSION] [[INFO_URL] Informacja o aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Instaluj teraz i restartuj [APP_NAME]" /> - </notification> - <notification name="RequiredUpdateDownloadedVerboseDialog"> - Pobrano wymaganÄ… aktualizacjÄ™. -Wersja [VERSION] [[INFO_URL] Informacje o tej aktualizacji] - -W celu instalacji aktualizacji [APP_NAME] musi zostać zrestartowany. - </notification> - <notification name="RequiredUpdateDownloadedDialog"> - W celu instalacji aktualizacji [APP_NAME] musi zostać zrestartowany. -[[INFO_URL] Informacje o tej aktualizacji] - </notification> - <notification name="OtherChannelDownloadBackgroundTip"> - ZostaÅ‚a pobrana aktualizacja dla Twojej instalacji [APP_NAME]. -Wersja [VERSION] -Ta eksperymentalna przeglÄ…darka zostaÅ‚a zastÄ…piona przez wersjÄ™ [NEW_CHANNEL]; -zobacz [[INFO_URL] WiÄ™cej informacji o tej aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Instaluj teraz i zrestartuj [APP_NAME]" /> - </notification> - <notification name="OtherChannelDownloadBackgroundDialog"> - ZostaÅ‚a pobrana aktualizacja dla Twojej instalacji [APP_NAME]. -Wersja [VERSION] -Ta eksperymentalna przeglÄ…darka zostaÅ‚a zastÄ…piona przez wersjÄ™ [NEW_CHANNEL]; -zobacz [[INFO_URL] WiÄ™cej informacji o tej aktualizacji] - <usetemplate name="okcancelbuttons" notext="Później..." yestext="Instaluj teraz i zrestartuj [APP_NAME]" /> - </notification> - <notification name="OtherChannelRequiredUpdateDownloadedVerboseDialog"> - ZostaÅ‚a pobrana wymagana aktualizacja. -Wersja [VERSION] -Ta eksperymentalna przeglÄ…darka zostaÅ‚a zastÄ…piona przez wersjÄ™ [NEW_CHANNEL]; -zobacz [[INFO_URL] WiÄ™cej informacji o tej aktualizacji] - -W celu instalacji aktualizacji [APP_NAME] musi zostać zrestartowany. - </notification> - <notification name="OtherChannelRequiredUpdateDownloadedDialog"> - W celu instalacji aktualizacji [APP_NAME] musi zostać zrestartowany. -Ta eksperymentalna przeglÄ…darka zostaÅ‚a zastÄ…piona przez wersjÄ™ [NEW_CHANNEL]; -zobacz [[INFO_URL] WiÄ™cej informacji o tej aktualizacji] + <notification name="LoginFailedUnknown"> + Przepraszamy, ale nie udaÅ‚o siÄ™ zalogować - powód jest nieznany. +JeÅ›li ciÄ…gle widzisz tÄ… wiadomość sprawdź [SUPPORT_SITE]. + <usetemplate name="okbutton" yestext="Wyjdź"/> </notification> <notification name="DeedObjectToGroup"> - Przekazanie tego obiektu spowoduje, że grupa: + Przypisanie tego obiektu spowoduje, że grupa: * Otrzyma L$ zapÅ‚acone temu obiektowi <usetemplate ignoretext="Potwierdź decyzjÄ™ przypisania obiektu do grupy" name="okcancelignore" notext="Anuluj" yestext="Przekaż" /> </notification> @@ -1489,14 +1639,11 @@ Chcesz jÄ… opuÅ›cić? Nie możesz opuÅ›cić tej grupy, ponieważ jesteÅ› ostatnim z jej wÅ‚aÅ›cicieli. Przydziel najpierw innemu użytkownikowi rolÄ™ wÅ‚aÅ›ciciela. </notification> <notification name="GroupDepartError"> - Nie można opuÅ›cić grupy: [reason]. - </notification> - <notification name="GroupDepart"> - OpuÅ›ciÅ‚eÅ›/aÅ› grupÄ™ [group_name]. + Nie możesz opuÅ›cić tej grupy. </notification> <notification name="ConfirmKick"> - Na pewno chcesz wyrzucić wszystkich Rezydentów z siatki? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Wyrzuć Rezydentów" /> + Na pewno chcesz wyrzucić wszystkich Rezydentów ze Å›wiata? + <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="Wyrzuć Rezydentów"/> </notification> <notification name="MuteLinden"> Przepraszamy, ale nie możesz zablokować Lindena. @@ -1520,8 +1667,7 @@ Chcesz jÄ… opuÅ›cić? <notification name="DoNotDisturbModeSet"> Tryb ZajÄ™toÅ›ci jest wÅ‚Ä…czony. Nie bÄ™dziesz powiadamiany/a o nadchodzÄ…cych rozmowach. -- Inni Rezydenci bÄ™dÄ… otrzymywać TwojÄ… wiadomość Trybu ZajÄ™toÅ›ci (Ustawienia > Prywatność > Autoodpowiedzi). -- Propozycje teleportacji bÄ™dÄ… odrzucane. +- Inni Rezydenci bÄ™dÄ… otrzymywać TwojÄ… wiadomość Trybu ZajÄ™toÅ›ci (Ustawienia > Ogólne). - Propozycje rozmów gÅ‚osowych bÄ™dÄ… odrzucane. <usetemplate ignoretext="Status zmieniony na Tryb ZajÄ™toÅ›ci" name="okignore" /> </notification> @@ -1533,6 +1679,17 @@ Chcesz jÄ… opuÅ›cić? <notification name="JoinedTooManyGroups"> Należysz już do maksymalnej iloÅ›ci grup. Opuść proszÄ™ przynajmniej jednÄ… grupÄ™ żeby przyjąć czÅ‚onkostwo w tej grupie, albo odmów. </notification> + <notification name="GroupLimitInfo"> + Rezydenci z czÅ‚onkostwem podstawowym mogÄ… doÅ‚Ä…czyć do [MAX_BASIC] grup. +CzÅ‚onkostwo premium pozwala na [MAX_PREMIUM]. [https://secondlife.com/my/account/membership.php? Dowiedz siÄ™ wiÄ™cej] + <usetemplate name="okbutton" yestext="Zamknij" /> + </notification> + <notification name="GroupLimitInfoPlus"> + Rezydenci z czÅ‚onkostwem podstawowym mogÄ… doÅ‚Ä…czyć do [MAX_BASIC] grup. +CzÅ‚onkostwo premium pozwala na [MAX_PREMIUM]. CzÅ‚onkostwo +Premium Plus pozwala na [MAX_PREMIUM_PLUS]. [https://secondlife.com/my/account/membership.php? Dowiedz siÄ™ wiÄ™cej] + <usetemplate name="okbutton" yestext="Zamknij" /> + </notification> <notification name="KickUser"> Wyrzuć tego Rezydenta, wysyÅ‚ajÄ…c nastÄ™pujÄ…cy komunikat. <form name="form"> @@ -1543,7 +1700,7 @@ Chcesz jÄ… opuÅ›cić? </form> </notification> <notification name="KickAllUsers"> - Z jakim komunikatem wyrzucić wszystkich użytkowników z regionu? + Z jakim komunikatem wyrzucić wszystkich użytkowników ze Å›wiata? <form name="form"> <input name="message"> Administrator wylogowaÅ‚ CiÄ™. @@ -1644,7 +1801,7 @@ co przekracza limit [LIMIT]. <notification name="TeleportViaSLAPP"> Na pewno chcesz siÄ™ teleportować do <nolink>[LOCATION]</nolink>? <usetemplate ignoretext="Potwierdź próbÄ™ teleportacji przez SLAPP" name="okcancelignore" notext="Anuluj" yestext="Teleportuj" /> - </notification> + </notification> <notification name="TeleportToPick"> Teleportować do [PICK]? <usetemplate ignoretext="Potwierdź, że chcesz teleportować siÄ™ do miejsca w Ulubionych" name="okcancelignore" notext="Anuluj" yestext="Teleportuj" /> @@ -1674,7 +1831,7 @@ Kontynuować? <notification label="Zmiana dostÄ™pu do MajÄ…tku Lindenów" name="ChangeLindenAccess"> Dokonujesz zmiany w liÅ›cie dostÄ™pu Regionu głównego należącego do Lindenów (Regiony Główne, Teen Grid, Orientacja). -Żądana operacja jest wyjÄ…tkowo niebezpieczna dla wszystkich Rezydentów przebywajÄ…cych w regionie i powinna być używana wyÅ‚Ä…cznie w celu zablokowania opcji pozwalajÄ…cej na przeniesienie obiektów/L$ do/z sieci. +Żądana operacja jest wyjÄ…tkowo niebezpieczna dla wszystkich Rezydentów przebywajÄ…cych w regionie i powinna być używana wyÅ‚Ä…cznie w celu zablokowania opcji pozwalajÄ…cej na przeniesienie obiektów/L$ do/ze Å›wiata. Dodatkowo, zmiany dokonane w Regionie Głównym mogÄ… spowodować problemy przestrzeni serwerowej innych regionów. Kontynuować? @@ -1712,6 +1869,30 @@ Kontynuować? Usunąć zarzÄ…dcÄ™ majÄ…tku tylko z tego majÄ…tku czy z [ALL_ESTATES]? <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek" /> </notification> + <notification label="Wybierz MajÄ…tek" name="EstateAllowedExperienceAdd"> + Dodać do listy dostÄ™pu tylko do tego majÄ…tku czy do [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> + <notification label="Wybierz MajÄ…tek" name="EstateAllowedExperienceRemove"> + Usunąć z listy dostÄ™pu tylko z tego majÄ…tku czy do [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> + <notification label="Wybierz MajÄ…tek" name="EstateBlockedExperienceAdd"> + Zablokować dostÄ™p tylko dla tego majÄ…tku czy dla [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> + <notification label="Wybierz MajÄ…tek" name="EstateBlockedExperienceRemove"> + Odblokować dostÄ™p tylko dla tego majÄ…tku czy dla [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> + <notification label="Wybierz MajÄ…tek" name="EstateTrustedExperienceAdd"> + Dodać do listy kluczy tylko dla tego majÄ…tku czy dla [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> + <notification label="Wybierz MajÄ…tek" name="EstateTrustedExperienceRemove"> + Usunąć z listy kluczy tylko dla tego majÄ…tku czy dla [ALL_ESTATES]? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Wszystkie majÄ…tki" yestext="Ten majÄ…tek"/> + </notification> <notification label="Potwierdź Wyrzucenie" name="EstateKickUser"> Wyrzucić [EVIL_USER] z tego majÄ…tku? <usetemplate name="okcancelbuttons" notext="Anuluj" /> @@ -1720,8 +1901,18 @@ Kontynuować? Na pewno chcesz zmienić treść umowy dla tego majÄ…tku? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> + <notification name="EstateParcelAccessOverride"> + Odznaczenie tej opcji może usunąć ograniczenia nadane przez wÅ‚aÅ›cicieli dziaÅ‚ek w celu zapobiegania dokuczaniu, zachowaniu prywatnoÅ›ci lub aby chronić nieletnich przed materiaÅ‚ami dla dorosÅ‚ych. Porozmawiaj z wÅ‚aÅ›cicielami dziaÅ‚ek, jeÅ›li to konieczne. + </notification> + <notification name="EstateParcelEnvironmentOverride"> + (Zmiana w caÅ‚ym majÄ…tku: [ESTATENAME]) Odznaczenie tej opcji spowoduje usuniÄ™cie wszelkich niestandardowych otoczeÅ„, które zostaÅ‚y dodane do dziaÅ‚ek przez ich wÅ‚aÅ›cicieli. Przedyskutuj zmianÄ™ z wÅ‚aÅ›cicielami dziaÅ‚ek w razie potrzeby. +Czy chcesz kontynuować? + <usetemplate name="okcancelbuttons" notext="Anuluj" /> + </notification> <notification name="RegionEntryAccessBlocked"> - Region, który próbujesz odwiedzić zawiera treÅ›ci przekraczajÄ…ce Twoje bieżące preferencje. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne. + Region, który próbujesz odwiedzić, ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje maksymalne preferencje. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne. + +PeÅ‚ne informacje na temat klasyfikacji treÅ›ci można znaleźć [https://community.secondlife.com/knowledgebase/english/maturity-ratings-r52/ tutaj]. </notification> <notification name="RegionEntryAccessBlocked_AdultsOnlyContent"> Region, który próbujesz odwiedzić zawiera treÅ›ci [REGIONMATURITY], które sÄ… dostÄ™pne tylko dla dorosÅ‚ych. @@ -1745,7 +1936,9 @@ Kontynuować? Mamy trudnoÅ›ci techniczne z Twoim wejÅ›ciem w region, ponieważ Twoje preferencje sÄ… rozsynchronizowane z serwerem. </notification> <notification name="TeleportEntryAccessBlocked"> - Region, który próbujesz odwiedzić zawiera treÅ›ci przekraczajÄ…ce Twoje bieżące preferencje. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne. + Region, który próbujesz odwiedzić, ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje maksymalne preferencje. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne. + +PeÅ‚ne informacje na temat klasyfikacji treÅ›ci można znaleźć [https://community.secondlife.com/knowledgebase/english/maturity-ratings-r52/ tutaj]. </notification> <notification name="TeleportEntryAccessBlocked_AdultsOnlyContent"> Region, który próbujesz odwiedzić zawiera treÅ›ci [REGIONMATURITY], które sÄ… dostÄ™pne tylko dla dorosÅ‚ych. @@ -1777,7 +1970,7 @@ Kontynuować? Mamy trudnoÅ›ci techniczne z Twoim teleportem, ponieważ Twoje preferencje sÄ… rozsynchronizowane z serwerem. </notification> <notification name="RegionTPSpecialUsageBlocked"> - Nie można wejść do tego regionu. '[REGION_NAME]' jest miejscem z grami (Skill Gaming Region) - musisz speÅ‚nić okreÅ›lone wymagania, jeÅ›li chcesz go odwiedzić. Aby dowiedzieć siÄ™ wiÄ™cej zapoznaj siÄ™ z [http://wiki.secondlife.com/wiki/Linden_Lab_Official:Skill_Gaming_in_Second_Life Skill Gaming FAQ]. + Nie można wejść do tego regionu. '[REGION_NAME]' jest miejscem z grami (Skill Gaming Region) - musisz speÅ‚nić okreÅ›lone wymagania, jeÅ›li chcesz go odwiedzić. Aby dowiedzieć siÄ™ wiÄ™cej zapoznaj siÄ™ z [http://wiki.secondlife.com/wiki/Linden_Lab_Official:Second_Life_Skill_Gaming_FAQ Skill Gaming FAQ]. </notification> <notification name="PreferredMaturityChanged"> Nie bÄ™dziesz już otrzymywać żadnych powiadomieÅ„ zwiÄ…zanych z odwiedzaniem regionów z treÅ›ciami [RATING]. Możesz zmienić swojÄ… preferencjÄ™ treÅ›ci w przyszÅ‚oÅ›ci używajÄ…c Ja > Ustawienia > Ogólne w pasku menu. @@ -1787,6 +1980,8 @@ Kontynuować? </notification> <notification name="LandClaimAccessBlocked"> Ziemia, którÄ… próbujesz odzyskać ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje obecne preferencje treÅ›ci. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne w pasku menu. + +PeÅ‚ne informacje na temat klasyfikacji treÅ›ci można znaleźć [https://community.secondlife.com/knowledgebase/english/maturity-ratings-r52/ tutaj]. </notification> <notification name="LandClaimAccessBlocked_AdultsOnlyContent"> Tylko doroÅ›li mogÄ… odzyskać tÄ… ziemiÄ™. @@ -1808,6 +2003,8 @@ Kontynuować? </notification> <notification name="LandBuyAccessBlocked"> Ziemia, którÄ… próbujesz kupić ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje obecne preferencje treÅ›ci. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne w pasku menu. + +PeÅ‚ne informacje na temat klasyfikacji treÅ›ci można znaleźć [https://community.secondlife.com/knowledgebase/english/maturity-ratings-r52/ tutaj]. </notification> <notification name="LandBuyAccessBlocked_AdultsOnlyContent"> Tylko doroÅ›li mogÄ… kupić tÄ… ziemiÄ™. @@ -1830,6 +2027,9 @@ Kontynuować? <notification name="TooManyPrimsSelected"> Zbyt wiele wybranych obiektów. Wybierz [MAX_PRIM_COUNT] lub mniej i spróbuj ponownie </notification> + <notification name="TooManyScriptsSelected"> + Zbyt wiele skryptów w wybranych obiektach. Wybierz mniej obiektów i spróbuj ponownie + </notification> <notification name="ProblemImportingEstateCovenant"> Problem z importem umowy majÄ…tku. </notification> @@ -1956,7 +2156,6 @@ Wpisz hasÅ‚o ponownie i kliknij na OK. <notification name="SetPickLocation"> Uwaga: Lokalizacja tego miejsca zostaÅ‚a zaktualizowana, ale pozostaÅ‚e szczegóły zachowajÄ… oryginalne wartoÅ›ci. - </notification> <notification name="MoveInventoryFromObject"> Wybrane obiekty Szafy nie majÄ… praw kopiowania. @@ -1986,6 +2185,9 @@ Przenieść obiekty szafy? <notification name="PayObjectFailed"> PÅ‚atność nie powiodÅ‚a siÄ™: nie można znaleźć obiektu. </notification> + <notification name="PaymentBlockedButtonMismatch"> + PÅ‚atność nie powiodÅ‚a siÄ™: zapÅ‚acona suma nie pasuje do żadnego z przycisków pÅ‚atnoÅ›ci dla tego obiektu. + </notification> <notification name="OpenObjectCannotCopy"> W tym obiekcie nie ma elementów które możesz skopiować. </notification> @@ -1998,8 +2200,8 @@ Przenieść obiekty szafy? <usetemplate ignoretext="Potwierdź dodanie uczestników rozmowy" name="okcancelignore" notext="Anuluj" /> </notification> <notification name="ConfirmQuit"> - Na pewno chcesz zakoÅ„czyć? - <usetemplate ignoretext="Na pewno chcesz zakoÅ„czyć?" name="okcancelignore" notext="Nie koÅ„cz" yestext="WyÅ‚Ä…cz" /> + Na pewno chcesz zakoÅ„czyć sesjÄ™ i wyÅ‚Ä…czyć przeglÄ…darkÄ™? + <usetemplate ignoretext="Na pewno chcesz zakoÅ„czyć sesjÄ™?" name="okcancelignore" notext="Anuluj" yestext="ZakoÅ„cz"/> </notification> <notification name="ConfirmRestoreToybox"> Ta akcja przywróci domyÅ›lny ukÅ‚ad przycisków i pasków. @@ -2015,12 +2217,24 @@ Nie możesz tego cofnąć. </notification> <notification name="DeleteItems"> [QUESTION] - <usetemplate ignoretext="Potwierdź, że na pewno chcesz skasować obiekty" name="okcancelignore" notext="Anuluj" /> + <form name="form"> + <ignore name="ignore" text="Potwierdź przed kasowaniem obiektów" /> + <button name="No" text="Anuluj" /> + </form> </notification> - <notification name="HelpReportAbuseEmailLL"> - Używaj tej opcji do zgÅ‚aszania nadużyć [http://secondlife.com/corporate/tos.php Warunków Umowy (Terms of Service)] i [http://secondlife.com/corporate/cs.php Standardów SpoÅ‚eczeÅ„stwa (Community Standards)]. + <notification name="DeleteFilteredItems"> + Twoja Szafa jest obecnie filtrowana i nie wszystkie obiekty jakie masz zamiar usunąć sÄ… teraz widoczne. -Wszystkie zgÅ‚oszone nadużycia sÄ… badane i rozwiÄ…zywane. +Czy na pewno chcesz je skasować? + <usetemplate ignoretext="Potwierdź przed kasowaniem filtrowanych obiektów" name="okcancelignore" notext="Anuluj" /> + </notification> + <notification name="ConfirmUnlink"> + To duże zaznaczenie z wieloma zestawami obiektów. JeÅ›li rozÅ‚Ä…czysz, to ponowne poÅ‚Ä…czenie może nie być możliwe. Możesz chcieć na wszelki wypadek wziąć kopie zestawów obiektów do swojej szafy. + <usetemplate ignoretext="Potwierdź podczas rozÅ‚Ä…czania zestawu obiektów" name="okcancelignore" notext="Anuluj" yestext="RozÅ‚Ä…cz" /> + </notification> + <notification name="HelpReportAbuseConfirm"> + DziÄ™kujemy za poÅ›wiÄ™cenie czasu na poinformowanie nas o tym problemie. +Przejrzymy Twoje zgÅ‚oszenie pod kÄ…tem ewentualnych nadużyć i podejmiemy odpowiedniÄ… akcjÄ™. </notification> <notification name="HelpReportAbuseSelectCategory"> Wybierz kategoriÄ™ dla tego raportu o nadużyciu. @@ -2048,7 +2262,7 @@ DokÅ‚adne dane pomogÄ… nam w klasyfikacji i przetwarzaniu raportu. Jeżeli skÅ‚adasz raport dotyczÄ…cy naruszenia praw autorskich proszÄ™ siÄ™ upewnić, że robisz to poprawnie: -(1) Przypadek Nadużycia. Możesz zÅ‚ożyć raport jeżeli sÄ…dzisz, że Rezydent narusza system przywilejów [SECOND_LIFE], na przykÅ‚ad używajÄ…c CopyBot lub podobnych narzÄ™dzi robiÄ…cych kopie, naruszajÄ…c prawa autorskie. Komisja Nadużyć bada wykroczenia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami [http://secondlife.com/corporate/tos.php Warunków Umowy] i [http://secondlife.com/corporate/cs.php Standardów SpoÅ‚eczeÅ„stwa] w [SECOND_LIFE]. Komisja Nadużyć nie zajmuje siÄ™ i nie odpowiada na żądania usuniÄ™cia treÅ›ci ze Å›rodowiska [SECOND_LIFE]. +(1) Przypadek Nadużycia. Możesz zÅ‚ożyć raport jeżeli sÄ…dzisz, że Rezydent narusza system przywilejów [SECOND_LIFE], na przykÅ‚ad używajÄ…c CopyBot lub podobnych narzÄ™dzi robiÄ…cych kopie, naruszajÄ…c prawa autorskie. Komisja Nadużyć bada wykroczenia i stosuje akcje dyscyplinarne za zachowania sprzeczne z zasadami Warunków Umowy [http://secondlife.com/corporate/tos.php Warunków Umowy] i [http://secondlife.com/corporate/cs.php Standardów SpoÅ‚eczeÅ„stwa] w [SECOND_LIFE]. Komisja Nadużyć nie zajmuje siÄ™ i nie odpowiada na żądania usuniÄ™cia treÅ›ci ze Å›rodowiska [SECOND_LIFE]. (2) Przypadek DMCA lub Usuwanie TreÅ›ci. Aby wystÄ…pić z żądaniem o usuniÄ™cie treÅ›ci ze Å›rodowiska [SECOND_LIFE] MUSISZ przedÅ‚ożyć ważne zawiadomienie o nadużyciu zgodne z naszÄ… politykÄ… DMCA [http://secondlife.com/corporate/dmca.php DMCA Policy]. @@ -2084,13 +2298,31 @@ Chcesz wyÅ‚Ä…czyć Tryb ZajÄ™toÅ›ci przed zakoÅ„czeniem tej transakcji? <button ignore="Nigdy nie wyÅ‚Ä…czaj trybu ZajÄ™toÅ›ci" name="No" text="Anuluj" /> </form> </notification> + <notification label="DziaÅ‚ka odtwarza media" name="ParcelPlayingMedia"> + Ta lokalizacja odtwarza media: +[URL] +Czy chcesz je odtworzyć? + <form name="form"> + <ignore name="ignore" text="Zawsze wybieraj tÄ™ opcjÄ™ dla tej ziemi."/> + <button ignore="Odtwarzaj media" name="Yes" text="Odtwarzaj"/> + <button ignore="Ignoruj media" name="No" text="Nie odtwarzaj"/> + </form> + </notification> <notification name="ConfirmDeleteProtectedCategory"> Ten folder '[FOLDERNAME]' to folder systemowy. UsuniÄ™cie folderu systemowego spowoduje niestabilność. Czy na pewno chcesz go skasować? <usetemplate ignoretext="Potwierdź zanim folder systemu zostanie skasowany" name="okcancelignore" notext="Anuluj" /> </notification> + <notification name="PurgeSelectedItems"> + [COUNT] przedmiotów zostanie usuniÄ™tych. Na pewno chcesz permanentnie usunąć zaznaczonÄ… zawartość Kosza? + <usetemplate name="okcancelbuttons" notext="Anuluj" /> + </notification> <notification name="ConfirmEmptyTrash"> - Na pewno chcesz permanentnie usunąć zawartość Kosza? - <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci Kosza" name="okcancelignore" notext="Anuluj" /> + [COUNT] przedmiotów i folderów zostanie usuniÄ™tych. Na pewno chcesz permanentnie usunąć zawartość Kosza? + <usetemplate name="okcancelbuttons" notext="Anuluj" /> + </notification> + <notification name="TrashIsFull"> + Twój kosz siÄ™ przepeÅ‚nia. Może to sprawić, że bÄ™dziesz mieć problemy z zalogowaniem siÄ™. + <usetemplate name="okcancelbuttons" notext="WyczyszczÄ™ kosz rÄ™cznie później" yestext="Sprawdź kosz teraz" /> </notification> <notification name="ConfirmClearBrowserCache"> Na pewno chcesz wyczyÅ›cić bufory przeglÄ…darki internetowej, wyszukiwania i podróży? @@ -2112,6 +2344,12 @@ Chcesz wyÅ‚Ä…czyć Tryb ZajÄ™toÅ›ci przed zakoÅ„czeniem tej transakcji? Na pewno chcesz permanentnie usunąć zawartość Twojego folderu Zagubione i odnalezione? <usetemplate ignoretext="Potwierdź przed usuniÄ™ciem zawartoÅ›ci foldera Zagubione i odnalezione" name="okcancelignore" notext="Nie" yestext="Tak" /> </notification> + <notification name="ConfirmReplaceLink"> + Zamierzasz zastÄ…pić link do części ciaÅ‚a o typie '[TYPE]' elementem, który nie pasuje do tego typu. + +Na pewno chcesz kontynuować? + <usetemplate ignoretext="Potwierdź przed zamianÄ… linku" name="okcancelignore" notext="Nie" yestext="Tak" /> + </notification> <notification name="CopySLURL"> NastÄ™pujÄ…cy link SLurl zostaÅ‚ skopiowany do schowka: [SLURL] @@ -2132,7 +2370,15 @@ Zamieść go na stronie internetowej żeby umożliwić innym Å‚atwy dostÄ™p do t Ten plik cyklu dziennego używa brakujÄ…cego pliku nieba: [SKY]. </notification> <notification name="WLRegionApplyFail"> - Ustawienia nie mogÄ… zostać zastosowane w regionie. Opuszczenie regionu, a nastÄ™pnie powrócenie do niego może naprawić problem. Powód: [FAIL_REASON] + Ustawienia nie mogÄ… zostać zastosowane w regionie. Powód: [FAIL_REASON] + </notification> + <notification name="WLLocalTextureDayBlock"> + Lokalna tekstura jest używana na Å›cieżce [TRACK], klatce #[FRAMENO] ([FRAME]%) w polu [FIELD]. +Otoczenia nie mogÄ… zostać zapisane gdy lokalne tekstury sÄ… w użyciu. + </notification> + <notification name="WLLocalTextureFixedBlock"> + Lokalna tekstura jest używana w polu [FIELD]. +Otoczenia nie mogÄ… zostać zapisane gdy lokalne tekstury sÄ… w użyciu. </notification> <notification name="EnvCannotDeleteLastDayCycleKey"> Nie można usunąć ostatniego klucza w cyklu dnia, bo nie może on być pusty. Zmodyfikuj ten klucz zamiast go usuwać, a potem dodaj nowy. @@ -2182,13 +2428,10 @@ Zamieść go na stronie internetowej żeby umożliwić innym Å‚atwy dostÄ™p do t CiÄ…g [STRING_NAME] nie zostaÅ‚ znaleziony w strings.xml </notification> <notification name="Cancelled"> - Anulowane - </notification> - <notification name="CancelledSit"> - Siadanie anulowane + Anulowane. </notification> <notification name="CancelledAttach"> - DoÅ‚Ä…czanie anulowane + DoÅ‚Ä…czanie anulowane. </notification> <notification name="ReplacedMissingWearable"> BrakujÄ…ce ubranie/części ciaÅ‚a zastÄ…piono domyÅ›lnymi obiektami. @@ -2197,23 +2440,26 @@ Zamieść go na stronie internetowej żeby umożliwić innym Å‚atwy dostÄ™p do t Temat: [SUBJECT], Treść: [MESSAGE] </notification> <notification name="FriendOnlineOffline"> - <nolink>[NAME]</nolink> jest [STATUS] + <nolink>[NAME]</nolink> jest [STATUS]. </notification> <notification name="AddSelfFriend"> NiewÄ…tpliwie znasz siebie najlepiej, ale nie możesz dodać swojej wÅ‚asnej osoby do listy znajomych. </notification> + <notification name="AddSelfRenderExceptions"> + Nie możesz dodać siebie do listy wyjÄ…tków renderowania. + </notification> <notification name="UploadingAuctionSnapshot"> - Åadowanie obrazów z Internetu... + PrzesyÅ‚anie obrazów... (Zajmuje okoÅ‚o 5 minut.) </notification> <notification name="UploadPayment"> - Åadowanie kosztowaÅ‚o [AMOUNT]L$. + PrzesyÅ‚anie kosztowaÅ‚o [AMOUNT]L$. </notification> <notification name="UploadWebSnapshotDone"> - Åadowanie obrazu z Internetu zakoÅ„czone pomyÅ›lnie. + PrzesyÅ‚anie obrazu do sieci zakoÅ„czone pomyÅ›lnie. </notification> <notification name="UploadSnapshotDone"> - Åadowanie zdjÄ™cia zakoÅ„czone pomyÅ›lnie. + PrzesyÅ‚anie zdjÄ™cia zakoÅ„czone pomyÅ›lnie. </notification> <notification name="TerrainDownloaded"> Plik terrain.raw Å›ciÄ…gniÄ™ty. @@ -2377,7 +2623,7 @@ Zainstaluj wtyczki ponownie lub skontaktuj siÄ™ z dostawcÄ…, jeÅ›li problem nada Obiekty z dziaÅ‚ki należącej do Rezydenta [NAME] zostaÅ‚y zwrócone do jego Szafy. </notification> <notification name="GroupObjectsReturned"> - Obiekty z wybranej dziaÅ‚ki przypisane do grupy [GROUPNAME] zostaÅ‚y zwrócone do szaf ich wÅ‚aÅ›cicieli. + Obiekty z wybranej dziaÅ‚ki przypisane do grupy <nolink>[GROUPNAME]</nolink> zostaÅ‚y zwrócone do szaf ich wÅ‚aÅ›cicieli. Przekazywalne obiekty przekazane grupie zostaÅ‚y zwrócone do ich poprzednich wÅ‚aÅ›cicieli. Nieprzekazywalne obiekty przekazane grupie zostaÅ‚y usuniÄ™te. </notification> @@ -2400,7 +2646,7 @@ Nie możesz tutaj latać. Popychanie niedozwolone. Nie możesz tutaj popychać innych chyba, że jesteÅ› wÅ‚aÅ›cicielem tej dziaÅ‚ki. </notification> <notification name="NoVoice"> - Ta dziaÅ‚ka nie pozwala na rozmowy gÅ‚osowe. + Ta dziaÅ‚ka nie pozwala na rozmowy gÅ‚osowe. Nie bÄ™dziesz sÅ‚yszeć, jak ktoÅ› rozmawia. </notification> <notification name="NoBuild"> Ta dziaÅ‚ka nie pozwala na budowanie. Nie możesz tworzyć tutaj obiektów. @@ -2408,6 +2654,10 @@ Nie możesz tutaj latać. <notification name="PathfindingDirty"> W tym regionie sÄ… oczekujÄ…ce zmiany w odnajdywaniu Å›cieżek. JeÅ›li posiadasz prawa budowania możesz odÅ›wieżyć region klikajÄ…c na przycisk “OdÅ›wież regionâ€. </notification> + <notification name="PathfindingDirtyRebake"> + W tym regionie sÄ… oczekujÄ…ce zmiany w odnajdywaniu Å›cieżek. JeÅ›li posiadasz prawa budowania możesz odÅ›wieżyć region klikajÄ…c na przycisk “OdÅ›wież regionâ€. + <usetemplate name="okbutton" yestext="OdÅ›wież" /> + </notification> <notification name="DynamicPathfindingDisabled"> Dynamiczne odnajdywanie Å›cieżek nie jest wÅ‚Ä…czone w tym regionie. Oskryptowane obiekty używajÄ…ce odwoÅ‚aÅ„ LSL wykorzystujÄ…cych odnajdywanie Å›cieżek mogÄ… nie dziaÅ‚ać zgodnie z oczekiwaniami. </notification> @@ -2432,13 +2682,15 @@ Nie możesz tutaj latać. Tylko publiczne dziaÅ‚ki w tym regionie, co Ty, mogÄ… być przejÄ™te. </notification> <notification name="RegionTPAccessBlocked"> - Region, który próbujesz odwiedzić ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje obecne preferencje treÅ›ci. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne w pasku menu. + Region, który próbujesz odwiedzić, ma klasyfikacjÄ™ treÅ›ci przekraczajÄ…cÄ… Twoje maksymalne preferencje. Możesz je zmienić używajÄ…c Ja > Ustawienia > Ogólne. + +PeÅ‚ne informacje na temat klasyfikacji treÅ›ci można znaleźć [https://community.secondlife.com/knowledgebase/english/maturity-ratings-r52/ tutaj]. </notification> <notification name="RegionAboutToShutdown"> Region, do którego próbujesz siÄ™ dostać, wÅ‚aÅ›nie siÄ™ wyÅ‚Ä…cza. </notification> <notification name="URBannedFromRegion"> - ZostaÅ‚eÅ› zbanowany w regionie. + ZostaÅ‚eÅ›/aÅ› zbanowany/a w regionie. </notification> <notification name="NoTeenGridAccess"> Twoje konto nie może zostać poÅ‚Ä…czone z podanym regionem Teen Grid. @@ -2529,7 +2781,7 @@ Spróbuj ponownie za kilka minut. [ITEM_SLURL] <form name="form"> <button name="Show" text="Pokaż" /> - <button name="Discard" text="Wyrzuć" /> + <button name="Discard" text="Odrzuć" /> <button name="Mute" text="Zablokuj" /> </form> </notification> @@ -2673,22 +2925,80 @@ Czy siÄ™ zgadzasz? <button name="Mute" text="Zablokuj" /> </form> </notification> - <notification name="ScriptQuestionCaution"> - Obiekt '<nolink>[OBJECTNAME]</nolink>' chciaÅ‚by uzyskać zgodÄ™ na pobieranie Linden Dolarów (L$) z Twojego konta. JeÅ›li zezwolisz, to bÄ™dzie on mógÅ‚ brać z niego wszystkie lub część Å›rodków, w dowolnej chwili, bez dodatkowych ostrzeżeÅ„. + <notification name="ExperienceAcquireFailed"> + Nie można uzyskać nowej przygody: +[ERROR_MESSAGE] + </notification> + <notification name="NotInGroupExperienceProfileMessage"> + Zmiana do grupy przygody zostaÅ‚a zignorowana, ponieważ wÅ‚aÅ›ciciel nie jest czÅ‚onkiem wybranej grupy. + </notification> + <notification name="UneditableExperienceProfileMessage"> + Niemodyfikowalne pole '[field]' zostaÅ‚o zignorowane podczas aktualizacji profilu przygody. + </notification> + <notification name="RestrictedToOwnerExperienceProfileMessage"> + Zignorowano zmiany dla pola '[field]', ponieważ może ono być zmieniane tylko przez wÅ‚aÅ›ciciela przygody. + </notification> + <notification name="MaturityRatingExceedsOwnerExperienceProfileMessage"> + Nie możesz ustawić poziomu treÅ›ci dla przygody wiÄ™kszego, niż ten wÅ‚aÅ›ciciela. + </notification> + <notification name="RestrictedTermExperienceProfileMessage"> + NastÄ™pujÄ…ce rzeczy uniemożliwiÅ‚y zaktualizowanie nazwy/opisu profilu przygody: [extra_info] + </notification> + <notification name="TeleportedHomeExperienceRemoved"> + ZostaÅ‚eÅ›/aÅ› wyteleportowany/a z regionu [region_name] za usuniÄ™cie przygody secondlife:///app/experience/[public_id]/profile i wobec tego nie możesz tam dÅ‚użej przebywać. + <form name="form"> + <ignore name="ignore" text="Wyteleportowanie z regionu za usuniÄ™cie przygody"/> + </form> + </notification> + <notification name="TrustedExperienceEntry"> + DostaÅ‚eÅ›/aÅ› przyzwolenie na przebywanie w regionie [region_name], ponieważ zgodziÅ‚eÅ›/aÅ› siÄ™ uczestniczyć w przygodzie secondlife:///app/experience/[public_id]/profile - usuniÄ™cie jej może spowodować, że zostaniesz usuniÄ™ty/a z regionu. + <form name="form"> + <ignore name="ignore" text="Przyzwolenie na przebywanie w regionie po akceptacji przygody"/> + </form> + </notification> + <notification name="TrustedExperiencesAvailable"> + Nie masz dostÄ™pu do tego miejsca. Może bÄ™dziesz go mieć, jeÅ›li zaakceptujesz nastÄ™pujÄ…cÄ… przygodÄ™: -Zanim zezwolisz na dostÄ™p upewnij siÄ™, że wiesz jaki to obiekt i dlaczego pyta o zgodÄ™ - oraz że ufasz jego twórcy. JeÅ›li nie masz pewnoÅ›ci kliknij na Odmów. +[EXPERIENCE_LIST] + +Inne przygody również mogÄ… stać siÄ™ dostÄ™pne. + </notification> + <notification name="ExperienceEvent"> + Obiekt dostaÅ‚ zezwolenie: [EventType] - poprzez przygodÄ™: secondlife:///app/experience/[public_id]/profile +WÅ‚aÅ›ciciel: secondlife:///app/agent/[OwnerID]/inspect +Nazwa obiektu: [ObjectName] +Nazwa dziaÅ‚ki: [ParcelName] + </notification> + <notification name="ExperienceEventAttachment"> + Dodatek na Tobie dostaÅ‚ zezwolenie: [EventType] - poprzez przygodÄ™: secondlife:///app/experience/[public_id]/profile +WÅ‚aÅ›ciciel: secondlife:///app/agent/[OwnerID]/inspect + </notification> + <notification name="ScriptQuestionExperience"> + Obiekt '<nolink>[OBJECTNAME]</nolink>' którego wÅ‚aÅ›cicielem jest '[NAME]' prosi CiÄ™ o udziaÅ‚ w przygodzie ([GRID_WIDE]): + +[EXPERIENCE] + +Gdy zezwolenie zostanie zatwierdzone nie zobaczysz tej wiadomoÅ›ci ponownie, dla tej przygody - chyba, że zostanie ono cofniÄ™te w profilu przygody. + +Skrypty powiÄ…zane z tÄ… przygodÄ… bÄ™dÄ… mogÅ‚y robić nastÄ™pujÄ…ce rzeczy w regionach, gdzie przygoda jest aktywna: + +[QUESTIONS] + +Czy wyrażasz na to zgodÄ™? <form name="form"> - <button name="Grant" text="Zezwól na dostÄ™p" /> - <button name="Deny" text="Odmów" /> + <button name="BlockExperience" text="Zablokuj przygodÄ™"/> + <button name="Mute" text="Zablokuj obiekt"/> + <button name="Yes" text="Tak"/> + <button name="No" text="Nie"/> </form> </notification> - <notification name="UnknownScriptQuestion"> - Zezwolenia, o jakie prosi skrypt z '<nolink>[OBJECTNAME]</nolink>', którego wÅ‚aÅ›cicielem jest '[NAME]', nie sÄ… rozpoznawane przez przeglÄ…darkÄ™ i nie mogÄ… zostać udzielone. + <notification name="ScriptQuestionCaution"> + Obiekt '<nolink>[OBJECTNAME]</nolink>' chciaÅ‚by uzyskać zgodÄ™ na pobieranie Linden Dolarów (L$) z Twojego konta. JeÅ›li zezwolisz, to bÄ™dzie on mógÅ‚ brać z niego wszystkie lub część Å›rodków, w dowolnej chwili, bez dodatkowych ostrzeżeÅ„. -Aby ich udzielić prosimy zaktualizować przeglÄ…darkÄ™ do najnowszej wersji z [DOWNLOADURL]. +Zanim zezwolisz na dostÄ™p upewnij siÄ™, że wiesz jaki to obiekt i dlaczego pyta o zgodÄ™ - oraz że ufasz jego twórcy. JeÅ›li nie masz pewnoÅ›ci kliknij na Odmów. <form name="form"> - <button name="Deny" text="Ok, odmów jednorazowo" /> - <button name="Mute" text="Zablokuj/Wycisz" /> + <button name="Grant" text="Zezwól na dostÄ™p"/> + <button name="Deny" text="Odmów"/> </form> </notification> <notification name="ScriptDialog"> @@ -2700,21 +3010,13 @@ Aby ich udzielić prosimy zaktualizować przeglÄ…darkÄ™ do najnowszej wersji z [ </form> </notification> <notification name="ScriptDialogGroup"> - '<nolink>[TITLE]</nolink>' - [GROUPNAME] + '<nolink>[TITLE]</nolink>' - <nolink>[GROUPNAME]</nolink> [MESSAGE] <form name="form"> <button name="Client_Side_Mute" text="Blokuj" /> <button name="Client_Side_Ignore" text="Zignoruj" /> </form> </notification> - <notification name="FirstBalanceIncrease"> - WÅ‚aÅ›nie otrzymaÅ‚eÅ›/aÅ› [AMOUNT] L$. -Twój stan L$ jest widoczny w prawym górnym narożniku ekranu. - </notification> - <notification name="FirstBalanceDecrease"> - WÅ‚aÅ›nie wydaÅ‚eÅ›/aÅ› [AMOUNT] L$. -Twój stan L$ jest widoczny w prawym górnym narożniku ekranu. - </notification> <notification name="BuyLindenDollarSuccess"> DziÄ™kujemy za wpÅ‚atÄ™! @@ -2756,7 +3058,7 @@ Wybierz Zablokuj żeby wyciszyć wszystkie wiadomoÅ›ci od tej osoby. Zaoferowano [NAME] obiekty i ta osoba zostaÅ‚a automatycznie odblokowana. </notification> <notification name="VoiceInviteGroup"> - [NAME] zaczyna rozmowÄ™ gÅ‚osowÄ… z grupÄ… [GROUP]. + [NAME] zaczyna rozmowÄ™ gÅ‚osowÄ… z grupÄ… <nolink>[GROUP]</nolink>. Wybierz Zaakceptuj żeby rozmawiać albo Odmów żeby nie przyjąć zaproszenia. Wybierz Zablokuj żeby wyciszyć dzwoniÄ…cÄ… osobÄ™. <form name="form"> @@ -2792,31 +3094,34 @@ Wybierz Zablokuj żeby wyciszyć tÄ… osobÄ™. Przepraszamy. Limit rozmów zostaÅ‚ przekroczony w tym obszarze. Spróbuj w innym miejscu. </notification> <notification name="VoiceChannelDisconnected"> - [VOICE_CHANNEL_NAME] odÅ‚Ä…czyÅ‚ siÄ™. PrzeÅ‚Ä…czanie do rozmowy w czacie lokalnym. + [VOICE_CHANNEL_NAME] odÅ‚Ä…czyÅ‚ siÄ™. PrzeÅ‚Ä…czanie do rozmowy w czacie w pobliżu. </notification> <notification name="VoiceChannelDisconnectedP2P"> - [VOICE_CHANNEL_NAME] skoÅ„czyÅ‚ rozmowÄ™. PrzeÅ‚Ä…czanie do rozmowy w czacie lokalnym. + [VOICE_CHANNEL_NAME] skoÅ„czyÅ‚ rozmowÄ™. PrzeÅ‚Ä…czanie do rozmowy w czacie w pobliżu. </notification> <notification name="P2PCallDeclined"> - [VOICE_CHANNEL_NAME] odmówiÅ‚ poÅ‚Ä…czenia. PrzeÅ‚Ä…czanie do rozmowy w czacie lokalnym. + [VOICE_CHANNEL_NAME] odmówiÅ‚ poÅ‚Ä…czenia. PrzeÅ‚Ä…czanie do rozmowy w czacie w pobliżu. </notification> <notification name="P2PCallNoAnswer"> - [VOICE_CHANNEL_NAME] nie odpowiada. PrzeÅ‚Ä…czanie do rozmowy w czacie lokalnym. + [VOICE_CHANNEL_NAME] nie odpowiada. PrzeÅ‚Ä…czanie do rozmowy w czacie w pobliżu. </notification> <notification name="VoiceChannelJoinFailed"> - Brak poÅ‚Ä…czenia z [VOICE_CHANNEL_NAME], spróbuj później. PrzeÅ‚Ä…czanie do rozmowy w czacie lokalnym. + Brak poÅ‚Ä…czenia z [VOICE_CHANNEL_NAME], spróbuj później. PrzeÅ‚Ä…czanie do rozmowy w czacie w pobliżu. </notification> <notification name="VoiceEffectsExpired"> Subskrypcja jednego lub wiÄ™cej PrzeksztaÅ‚ceÅ„ GÅ‚osu wygasÅ‚a. [[URL] Kliknij tutaj] oby odnowić subskrypcjÄ™. +JeÅ›li jesteÅ› użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrzymać swój perk PrzeksztaÅ‚ceÅ„ GÅ‚osu. </notification> <notification name="VoiceEffectsExpiredInUse"> Czas aktywnoÅ›ci PrzeksztaÅ‚cenia GÅ‚osu wygasÅ‚, normalne ustawienia Twojego gÅ‚osu zostaÅ‚y zastosowane. [[URL] Kliknij tutaj] aby odnowić subskrypcjÄ™. +JeÅ›li jesteÅ› użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrzymać swój perk PrzeksztaÅ‚ceÅ„ GÅ‚osu. </notification> <notification name="VoiceEffectsWillExpire"> Jedno lub wiÄ™cej z Twoich PrzeksztaÅ‚ceÅ„ GÅ‚osu wygaÅ›nie za mniej niż [INTERVAL] dni. [[URL] Kliknij tutaj] aby odnowić subskrypcjÄ™. +JeÅ›li jesteÅ› użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrzymać swój perk PrzeksztaÅ‚ceÅ„ GÅ‚osu. </notification> <notification name="VoiceEffectsNew"> Nowe PrzeksztaÅ‚cenia GÅ‚osu sÄ… dostÄ™pne! @@ -2859,6 +3164,31 @@ ZostanÄ… zablokowane na kilka sekund dla bezpieczeÅ„stwa. <notification name="AttachmentSaved"> ZaÅ‚Ä…cznik zostaÅ‚ zapisany. </notification> + <notification name="AppearanceToXMLSaved"> + WyglÄ…d zostaÅ‚ zapisany do XML, w [PATH] + </notification> + <notification name="AppearanceToXMLFailed"> + Nie udaÅ‚o siÄ™ zapisać wyglÄ…du do XML. + </notification> + <notification name="SnapshotToComputerFailed"> + Nie można zapisać zrzutu ekranu do [PATH]: Dysk jest peÅ‚ny. Potrzeba [NEED_MEMORY]KB, ale wolnego jest [FREE_MEMORY]KB. + </notification> + <notification name="SnapshotToLocalDirNotExist"> + Nie można zapisać zrzutu ekranu do [PATH]: Katalog nie istnieje. + </notification> + <notification name="PresetNotSaved"> + BÅ‚Ä…d podczas zapisywania ustawienia [NAME]. + </notification> + <notification name="DefaultPresetNotSaved"> + Nie można zastÄ…pić domyÅ›lnego ustawienia. + </notification> + <notification name="PresetAlreadyExists"> + '[NAME]' jest w użyciu. Możesz zastÄ…pić +to ustawienie lub wybrać innÄ… nazwÄ™. + </notification> + <notification name="PresetNotDeleted"> + BÅ‚Ä…d podczas usuwania ustawienia [NAME]. + </notification> <notification name="UnableToFindHelpTopic"> Nie można znaleźć tematu pomocy dla tego elementu. </notification> @@ -2872,12 +3202,25 @@ ZostanÄ… zablokowane na kilka sekund dla bezpieczeÅ„stwa. <notification name="VoiceIsMutedByModerator"> Twoja rozmowa gÅ‚osowa zostaÅ‚a wyciszona przez moderatora. </notification> + <notification name="FailedToGetBenefits"> + Niestety nie udaÅ‚o nam siÄ™ uzyskać informacji o korzyÅ›ciach dla tej sesji. Nie powinno siÄ™ to zdarzyć w normalnym Å›rodowisku produkcyjnym. Skontaktuj siÄ™ z pomocÄ… technicznÄ…. Ta sesja nie bÄ™dzie dziaÅ‚ać normalnie i zalecamy restart. + </notification> + <notification name="BulkUploadCostConfirmation"> + Spowoduje to przesÅ‚anie [COUNT] elementów o Å‚Ä…cznym koszcie [COST]L$. Czy chcesz kontynuować przesyÅ‚anie? + <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="PrzeÅ›lij"/> + </notification> + <notification name="BulkUploadNoCompatibleFiles"> + Wybranych plików nie można przesÅ‚ać zbiorczo. + </notification> + <notification name="BulkUploadIncompatibleFiles"> + Niektórych z wybranych plików nie można przesÅ‚ać zbiorczo. + </notification> <notification name="UploadCostConfirmation"> - ZaÅ‚adowanie tego na serwer bÄ™dzie kosztować [PRICE]L$, chcesz kontynuować? - <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="ZaÅ‚aduj" /> + PrzesÅ‚anie tego na serwer bÄ™dzie kosztować [PRICE]L$, chcesz kontynuować? + <usetemplate name="okcancelbuttons" notext="Anuluj" yestext="PrzeÅ›lij"/> </notification> <notification name="ConfirmClearTeleportHistory"> - Czy na pewno chcesz usunąć historiÄ™ teleportacji? + Spowoduje to usuniÄ™cie caÅ‚ej listy odwiedzonych przez Ciebie miejsc i nie bÄ™dzie można tego cofnąć. Kontynuować? <usetemplate name="okcancelbuttons" notext="Anuluj" /> </notification> <notification name="BottomTrayButtonCanNotBeShown"> @@ -2887,13 +3230,16 @@ Przycisk zostanie wyÅ›wietlony w przypadku dostatecznej iloÅ›ci przestrzeni. <notification name="ShareNotification"> Zaznacz Rezydentów, z którymi chcesz siÄ™ podzielić. </notification> + <notification name="MeshUploadErrorDetails"> + Nie można przesÅ‚ać [LABEL]: [MESSAGE] +[DETAILS] Zobacz SecondLife.log, aby dowiedzieć siÄ™ wiÄ™cej. + </notification> <notification name="MeshUploadError"> - Nie można zaÅ‚adować [LABEL]: [MESSAGE] [IDENTIFIER] - -Zobacz log, aby dowiedzieć siÄ™ wiÄ™cej. + Nie można przesÅ‚ać [LABEL]: [MESSAGE] +Zobacz SecondLife.log, aby dowiedzieć siÄ™ wiÄ™cej. </notification> <notification name="MeshUploadPermError"> - WystÄ…piÅ‚ bÅ‚Ä…d podczas pobierania uprawnieÅ„ Å‚adowania meszy. + WystÄ…piÅ‚ bÅ‚Ä…d podczas pobierania uprawnieÅ„ przesyÅ‚ania meszy. </notification> <notification name="RegionCapabilityRequestError"> Nie udaÅ‚o siÄ™ uzyskać zdolnoÅ›ci regionu: '[CAPABILITY]'. @@ -2973,14 +3319,26 @@ Awatar '[NAME]' rozpoczÄ…Å‚ edycjÄ™ wyglÄ…du. Awatar '[NAME]' opuÅ›ciÅ‚ edycjÄ™ wyglÄ…du. </notification> <notification name="NoConnect"> - WystÄ™puje problem z poÅ‚Ä…czeniem [PROTOCOL] [HOSTID]. + WystÄ™puje problem z poÅ‚Ä…czeniem [PROTOCOL] <nolink>[HOSTID]</nolink>. ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. </notification> <notification name="NoVoiceConnect"> - WystÄ™puje problem z Twoim poÅ‚Ä…czeniem gÅ‚osowym: + Nie możemy poÅ‚Ä…czyć siÄ™ z serwerem gÅ‚osowym: [HOSTID] +Porty, które muszÄ… być otwarte dla poÅ‚Ä…czeÅ„ gÅ‚osowych, to: +:TCP: 80, 443 +:UDP: 3478, 3479, 5060, 5062, 6250, 12000-32000 + +ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. +WyÅ‚Ä…cz wszelkie funkcjonalnoÅ›ci SIP ALG (Application Layer Gateway) w swoim routerze. + +Komunikacja gÅ‚osowa nie bÄ™dzie dostÄ™pna. + </notification> + <notification name="NoVoiceConnect-GIAB"> + WystÄ™puje problem z Twoim poÅ‚Ä…czeniem gÅ‚osowym. + Komunikacja gÅ‚osowa nie bÄ™dzie dostÄ™pna. ProszÄ™ sprawdź swojÄ… sieć i ustawienia firewall. </notification> @@ -2990,20 +3348,27 @@ Awatar '[NAME]' pozostaÅ‚ w peÅ‚ni zaÅ‚adowany. </notification> <notification name="AvatarRezSelfBakedTextureUploadNotification"> ( [EXISTENCE] sekund w Second Life ) -WstÄ™pnie przetworzone tekstury [RESOLUTION] dla '[BODYREGION]' zostaÅ‚y zaÅ‚adowane po [TIME] sekundach. +WstÄ™pnie przetworzone tekstury [RESOLUTION] dla '[BODYREGION]' zostaÅ‚y przesÅ‚ane po [TIME] sekundach. </notification> <notification name="AvatarRezSelfBakedTextureUpdateNotification"> ( [EXISTENCE] sekund w Second Life ) WstÄ™pnie przetworzone tekstury [RESOLUTION] zostaÅ‚y lokalnie zaktualizowane dla '[BODYREGION]' po [TIME] sekundach. </notification> <notification name="CannotUploadTexture"> - Nie można zaÅ‚adować tekstury. -[REASON] - </notification> + Nie można przesÅ‚ać tekstury. +[REASON] + </notification> <notification name="LivePreviewUnavailable"> Nie można wyÅ›wietlić podglÄ…du tej tekstury - jest niekopiowalna lub/oraz nietransferowalna. <usetemplate ignoretext="Ostrzegaj, gdy podglÄ…d na żywo nie może wyÅ›wietlić niekopiowalnych/nietransferowalnych tekstur" name="okignore" /> </notification> + <notification name="FacePasteFailed"> + Wklejanie nie powiodÅ‚o siÄ™. [REASON] + </notification> + <notification name="FacePasteTexturePermissions"> + Zastosowano teksturÄ™ z ograniczonymi uprawnieniami, obiekt odziedziczy wiÄ™c te uprawnienia. + <usetemplate ignoretext="Wklejanie: zastosowano teksturÄ™ z ograniczonymi uprawnieniami" name="notifyignore" /> + </notification> <notification name="ConfirmLeaveCall"> Czy jesteÅ› pewien/pewna, że chcesz zakoÅ„czyć rozmowÄ™? <usetemplate ignoretext="Potwierdź zanim rozmowa gÅ‚osowa zostanie zakoÅ„czona" name="okcancelignore" notext="Nie" yestext="Tak" /> @@ -3063,13 +3428,6 @@ Kliknij i przeciÄ…gnij gdziekolwiek aby obrócić widok. <notification name="ForceQuitDueToLowMemory"> SL zostanie wyÅ‚Ä…czone za 30 sekund, brak pamiÄ™ci. </notification> - <notification name="PopupAttempt"> - WyskakujÄ…ce okienko zostaÅ‚o zablokowane. - <form name="form"> - <ignore name="ignore" text="Zezwól na wyskakujÄ…ce okienka" /> - <button name="open" text="Otwórz wyskakujÄ…ce okno" /> - </form> - </notification> <notification name="SOCKS_NOT_PERMITTED"> Serwer proxy SOCKS 5 "[HOST]:[PORT]" odmawia poÅ‚Ä…czenia, brak dostÄ™pu na podstawie zestawu reguÅ‚. </notification> @@ -3161,7 +3519,7 @@ Kliknij i przeciÄ…gnij gdziekolwiek aby obrócić widok. </notification> <notification name="ConfirmHideUI"> Ta akcja ukryje wszystkie menu i przyciski. Aby je pokazać użyj skrótu [SHORTCUT] ponownie. - <usetemplate name="okcancelignore" notext="Anuluj" ignoretext="Potwierdź przed ukryciem interfejsu" /> + <usetemplate name="okcancelignore" notext="Anuluj" ignoretext="Potwierdź przed ukryciem interfejsu" /> </notification> <notification name="PathfindingLinksets_WarnOnPhantom"> Niektórym z zaznaczonych zbiorów części zostanie przeÅ‚Ä…czony status Widmowy. @@ -3219,10 +3577,10 @@ Czy chcesz kontynuować? Wybrany obiekt ma wpÅ‚yw na Navmesh. Dodanie elastycznoÅ›ci spowoduje usuniÄ™cie go z Navmesha. <usetemplate ignoretext="Wybrany obiekt ma wpÅ‚yw na Navmesh. Dodanie elastycznoÅ›ci spowoduje usuniÄ™cie go z Navmesha." name="okcancelignore" notext="Anuluj" /> </notification> - <global name="UnsupportedGLRequirements"> - WyglÄ…da na to, że Twój system nie speÅ‚nia wymagaÅ„ sprzÄ™towych [APP_NAME]. [APP_NAME] wymaga karty graficznej kompatybilnej z OpenGL z multiteksturami. Jeżeli masz takÄ… kartÄ™ zainstaluj najnowsze sterowniki do niej i uaktualnienia systemu operacyjnego. + <global name="UnsupportedIntelDriver"> + Zainstalowany sterownik graficzny Intela dla [GPUNAME], wersja [VERSION], jest przestarzaÅ‚y i jest znany z powodowania awarii. Zdecydowanie zaleca siÄ™ aktualizacjÄ™ do aktualnego sterownika Intel. -Jeżeli wciąż masz problemy sprawdź: [SUPPORT_SITE]. +Czy chcesz sprawdzić witrynÄ™ sterowników firmy Intel? </global> <global name="UnsupportedGPU"> - Twoja karta graficzna nie speÅ‚nia minimalnych wymagaÅ„. @@ -3230,9 +3588,12 @@ Jeżeli wciąż masz problemy sprawdź: [SUPPORT_SITE]. <global name="UnsupportedRAM"> - Pamięć Twojego systemu nie speÅ‚nia minimalnych wymagaÅ„. </global> + <global name="LLLeapUpdaterFailure"> + Nie udaÅ‚o siÄ™ uruchomić usÅ‚ugi aktualizatora [UPDATER_APP]. Sprawdź, czy przeglÄ…darka jest poprawnie zainstalowana i czy ma niezbÄ™dne uprawnienia do uruchomienia. JeÅ›li nadal bÄ™dziesz mieć problemy, odwiedź [SUPPORT_SITE]. + </global> <global name="You can only set your 'Home Location' on your land or at a mainland Infohub."> - If you own a piece of land, you can make it your home location. -Otherwise, you can look at the Map and find places marked "Infohub". + JeÅ›li jesteÅ› wÅ‚aÅ›cicielem dziaÅ‚ki, to możesz ustawić na niej miejsce startu. +W innym przypadku możesz poszukać na mapie miejsc oznaczonych jako "Infohub". </global> <global name="You died and have been teleported to your home location"> NastÄ…piÅ‚a Å›mierć i teleportacja do Miejsca Startu. @@ -3309,13 +3670,13 @@ Anulowano. Nie możesz tworzyć drzew i trawy na ziemi, która nie należy do Ciebie. </notification> <notification name="NoCopyPermsNoObject"> - Kopiowanie nie powiodÅ‚o siÄ™, ponieważ nie masz zezwoleÅ„ na kopiowanie obiektu '[OBJ_NAME]'. + Kopiowanie nie powiodÅ‚o siÄ™, ponieważ nie masz zezwoleÅ„ na kopiowanie obiektu <nolink>'[OBJ_NAME]'</nolink>. </notification> <notification name="NoTransPermsNoObject"> - Kopiowanie nie powiodÅ‚o siÄ™, ponieważ obiekt '[OBJ_NAME]' nie może zostać przetransferowany do Ciebie. + Kopiowanie nie powiodÅ‚o siÄ™, ponieważ obiekt <nolink>'[OBJ_NAME]'</nolink> nie może zostać przetransferowany do Ciebie. </notification> <notification name="AddToNavMeshNoCopy"> - Kopiowanie nie powiodÅ‚o siÄ™, ponieważ obiekt '[OBJ_NAME]' ma wpÅ‚yw na Navmesh. + Kopiowanie nie powiodÅ‚o siÄ™, ponieważ obiekt <nolink>'[OBJ_NAME]'</nolink> ma wpÅ‚yw na Navmesh. </notification> <notification name="DupeWithNoRootsSelected"> Wybrano duplikat bez obiektów głównych. @@ -3362,34 +3723,37 @@ Spróbuj ponownie za minutÄ™. Zabieranie z powrotem do Szafy zostaÅ‚o wyÅ‚Ä…czone. </notification> <notification name="NoExistNoSaveToContents"> - Nie można zapisać '[OBJ_NAME]' do zawartoÅ›ci obiektu, ponieważ obiekt z którego zostaÅ‚ zrezzowany już nie istnieje. + Nie można zapisać <nolink>'[OBJ_NAME]'</nolink> do zawartoÅ›ci obiektu, ponieważ obiekt z którego zostaÅ‚ zrezzowany już nie istnieje. </notification> <notification name="NoModNoSaveToContents"> - Nie można zapisać '[OBJ_NAME]' do zawartoÅ›ci obiektu, ponieważ nie masz praw do modyfikacji obiektu '[DEST_NAME]'. + Nie można zapisać <nolink>'[OBJ_NAME]'</nolink> do zawartoÅ›ci obiektu, ponieważ nie masz praw do modyfikacji obiektu <nolink>'[DEST_NAME]'</nolink>. </notification> <notification name="NoSaveBackToInvDisabled"> - Nie można zabrać '[OBJ_NAME]' z powrotem do Szafy -- ta operacja zostaÅ‚a wyÅ‚Ä…czona. + Nie można zabrać <nolink>'[OBJ_NAME]'</nolink> z powrotem do Szafy -- ta operacja zostaÅ‚a wyÅ‚Ä…czona. </notification> <notification name="NoCopyNoSelCopy"> - Nie możesz skopiować tego, co jest zaznaczone, ponieważ nie masz prawa do skopiowania obiektu '[OBJ_NAME]'. + Nie możesz skopiować tego, co jest zaznaczone, ponieważ nie masz prawa do skopiowania obiektu <nolink>'[OBJ_NAME]'</nolink>. </notification> <notification name="NoTransNoSelCopy"> - Nie możesz skopiować tego, co jest zaznaczone, ponieważ obiektu '[OBJ_NAME]' nie można transferować. + Nie możesz skopiować tego, co jest zaznaczone, ponieważ obiektu <nolink>'[OBJ_NAME]'</nolink> nie można transferować. </notification> <notification name="NoTransNoCopy"> - Nie możesz skopiować tego, co jest zaznaczone, ponieważ obiektu '[OBJ_NAME]' nie można transferować. + Nie możesz skopiować tego, co jest zaznaczone, ponieważ obiektu <nolink>'[OBJ_NAME]'</nolink> nie można transferować. </notification> <notification name="NoPermsNoRemoval"> - UsuniÄ™cie obiektu '[OBJ_NAME]' z symulatora zostaÅ‚o wzbronione przez system zezwoleÅ„. + UsuniÄ™cie obiektu <nolink>'[OBJ_NAME]'</nolink> z symulatora zostaÅ‚o wzbronione przez system zezwoleÅ„. </notification> <notification name="NoModNoSaveSelection"> - Nie możesz zapisać tego, co jest zaznaczone, ponieważ nie masz prawa do modyfikacji obiektu '[OBJ_NAME]'. + Nie możesz zapisać tego, co jest zaznaczone, ponieważ nie masz prawa do modyfikacji obiektu <nolink>'[OBJ_NAME]'</nolink>. + </notification> + <notification name="NoTransNoSaveToContents"> + Nie można zapisać <nolink>'[OBJ_NAME]'</nolink> do zawartoÅ›ci obiektu, ponieważ nie masz uprawnieÅ„ do przeniesienia praw wÅ‚asnoÅ›ci obiektu. </notification> <notification name="NoCopyNoSaveSelection"> - Nie możesz zapisać tego, co jest zaznaczone, ponieważ obiektu '[OBJ_NAME]' nie można kopiować. + Nie możesz zapisać tego, co jest zaznaczone, ponieważ obiektu <nolink>'[OBJ_NAME]'</nolink> nie można kopiować. </notification> <notification name="NoModNoTaking"> - Nie możesz zabrać tego, co jest zaznaczone, ponieważ nie masz prawa do modyfikacji obiektu '[OBJ_NAME]'. + Nie możesz zabrać tego, co jest zaznaczone, ponieważ nie masz prawa do modyfikacji obiektu <nolink>'[OBJ_NAME]'</nolink>. </notification> <notification name="RezDestInternalError"> BÅ‚Ä…d wewnÄ™trzny: Nieznany typ lokalizacji docelowej. @@ -3415,33 +3779,39 @@ Spróbuj ponownie za minutÄ™. <notification name="AvatarEjectFailed"> Wyrzucenie nie powiodÅ‚o siÄ™, ponieważ nie masz uprawnieÅ„ administratora na tej dziaÅ‚ce. </notification> - <notification name="CantMoveObjectParcelFull"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME], ponieważ dziaÅ‚ka jest zbyt peÅ‚na. + <notification name="CMOParcelFull"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R], ponieważ dziaÅ‚ka jest zbyt peÅ‚na. + </notification> + <notification name="CMOParcelPerms"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R], ponieważ Twoje obiekty nie sÄ… dozwolone na tej dziaÅ‚ce. </notification> - <notification name="CantMoveObjectParcelPerms"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME], ponieważ Twoje obiekty nie sÄ… dozwolone na tej dziaÅ‚ce. + <notification name="CMOParcelResources"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R], ponieważ nie ma wystarczajÄ…cej iloÅ›ci zasobów na tej dziaÅ‚ce. </notification> - <notification name="CantMoveObjectParcelResources"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME], ponieważ nie ma wystarczajÄ…cej iloÅ›ci zasobów na tej dziaÅ‚ce. + <notification name="NoParcelPermsNoObject"> + Kopiowanie nie powiodÅ‚o siÄ™, ponieważ nie masz dostÄ™pu do tej dziaÅ‚ki. </notification> - <notification name="CantMoveObjectRegionVersion"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME], ponieważ the region dziaÅ‚a na starszej wersji symulatora, która nie obsÅ‚uguje otrzymywania obiektów przez granice dziaÅ‚ek. + <notification name="CMORegionVersion"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R], ponieważ the region dziaÅ‚a na starszej wersji symulatora, która nie obsÅ‚uguje otrzymywania obiektów przez granice dziaÅ‚ek. </notification> - <notification name="CantMoveObjectNavMesh"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME], ponieważ nie możesz modyfikować Navmesha przez granice regionów. + <notification name="CMONavMesh"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R], ponieważ nie możesz modyfikować Navmesha przez granice regionów. </notification> - <notification name="CantMoveObjectWTF"> - Nie można przesunąć obiektu '[OBJECT_NAME]' do -[OBJ_POSITION] w regionie [REGION_NAME] ze wzglÄ™du na nieznany powód. ([FAILURE_TYPE]) + <notification name="CMOWTF"> + Nie można przesunąć obiektu '[O]' do +[P] w regionie [R] ze wzglÄ™du na nieznany powód. ([F]) </notification> <notification name="NoPermModifyObject"> Nie masz uprawnieÅ„ do modyfikowania tego obiektu </notification> + <notification name="TooMuchObjectInventorySelected"> + Zbyt wiele obiektów z dużą zawartoÅ›ciÄ… zostaÅ‚o zaznaczonych. Zaznacz mniej obiektów i spróbuj ponownie. + </notification> <notification name="CantEnablePhysObjContributesToNav"> Nie można wÅ‚Ä…czyć fizyki dla obiektu, który ma wpÅ‚yw na Navmesh. </notification> @@ -3478,6 +3848,12 @@ Spróbuj ponownie za minutÄ™. <notification name="CantSaveModifyAttachment"> Nie można zapisać do zawartoÅ›ci obiektu: To zmodyfikowaÅ‚oby prawa dodatku. </notification> + <notification name="AttachmentHasTooMuchInventory"> + Twoje dodatki zawierajÄ… w sobie zbyt dużo obiektów, aby dodać wiÄ™cej. + </notification> + <notification name="IllegalAttachment"> + Dodatek chciaÅ‚ siÄ™ doczepić do punktu, jaki nie istnieje na awatarze. ZostaÅ‚ on zamiast tego doÅ‚Ä…czony do klatki piersiowej. + </notification> <notification name="TooManyScripts"> Za dużo skryptów. </notification> @@ -3485,7 +3861,7 @@ Spróbuj ponownie za minutÄ™. Nie można dodać skryptu! </notification> <notification name="AssetServerTimeoutObjReturn"> - Czas odpowiedzi z serwera zasobów danych przekroczyÅ‚ dozwolony limit. Obiekt zostaÅ‚ zwrócony do sima. + Czas odpowiedzi z serwera zasobów danych przekroczyÅ‚ dozwolony limit. Obiekt zostaÅ‚ zwrócony do regionu. </notification> <notification name="RegionDisablePhysicsShapes"> Ten region nie ma wÅ‚Ä…czonych ksztaÅ‚tów fizycznych. @@ -3518,7 +3894,7 @@ Spróbuj ponownie za minutÄ™. Nie możesz zmieniać ksztaÅ‚tu obiektu meszowego. </notification> <notification name="FullRegionCantEnter"> - Nie możesz wejść do tego regionu, \nponieważ jest peÅ‚ny. + Nie możesz wejść do tego regionu, ponieważ jest peÅ‚ny. </notification> <notification name="LinkFailedOwnersDiffer"> Scalanie nie powiodÅ‚o siÄ™ -- wÅ‚aÅ›ciciele sÄ… różni @@ -3570,9 +3946,18 @@ Spróbuj ponownie za minutÄ™. <notification name="TeleportedByObjectUnknownUser"> ZostaÅ‚eÅ›/aÅ› teleportowany/a przez obiekt '[OBJECT_NAME]' należący do nieznanej osoby. </notification> + <notification name="StandDeniedByObject"> + '[OBJECT_NAME]' nie pozwala Ci w tej chwili stać. + </notification> + <notification name="ResitDeniedByObject"> + '[OBJECT_NAME]' nie pozwala Ci w tej chwili zmieniać siedzeÅ„. + </notification> <notification name="CantCreateObjectRegionFull"> Nie można utworzyć żądanego obiektu. Region jest peÅ‚ny. </notification> + <notification name="CantCreateAnimatedObjectTooLarge"> + Nie można utworzyć żądanego obiektu animowanego, ponieważ przekracza on limit trójkÄ…tów riggowania. + </notification> <notification name="CantAttackMultipleObjOneSpot"> Nie możesz podÅ‚Ä…czyć wielu obiektów do jednego punktu. </notification> @@ -3621,6 +4006,21 @@ Spróbuj ponownie za minutÄ™. <notification name="CantChangeShape"> Nie masz pozwolenia na zmianÄ™ tego ksztaÅ‚tu. </notification> + <notification name="NoPermsTooManyAttachedAnimatedObjects"> + Operacja spowodowaÅ‚aby przekroczenie limitu liczby doÅ‚Ä…czonych animowanych obiektów. + </notification> + <notification name="NoPermsLinkAnimatedObjectTooLarge"> + Nie można poÅ‚Ä…czyć tych obiektów, ponieważ powstaÅ‚y animowany obiekt przekroczyÅ‚by limit trójkÄ…tów riggowania. + </notification> + <notification name="NoPermsSetFlagAnimatedObjectTooLarge"> + Nie można przeksztaÅ‚cić tego obiektu w animowany obiekt, ponieważ przekroczyÅ‚by limit trójkÄ…tów riggowania. + </notification> + <notification name="CantChangeAnimatedObjectStateInsufficientLand"> + Nie można zmienić stanu animowanego obiektu dla tej rzeczy, ponieważ spowodowaÅ‚oby to przekroczenie limitu dziaÅ‚ki. + </notification> + <notification name="ErrorNoMeshData"> + BÅ‚Ä…d serwera: nie można ukoÅ„czyć tej operacji, ponieważ dane meszu nie zostaÅ‚y zaÅ‚adowane. + </notification> <notification name="NoAccessToClaimObjects"> Twoje uprawnienia nie pozwalajÄ… Ci na żądanie obiektów w tym miejscu. </notification> @@ -3679,7 +4079,7 @@ Spróbuj ponownie za minutÄ™. Sprecyzuj proszÄ™ swoje parametry usuwania. </notification> <notification name="UnableToUploadAsset"> - Nie można zaÅ‚adować zasobu danych (assetu). + Nie można przesÅ‚ać zasobu danych (assetu). </notification> <notification name="CantTeleportCouldNotFindUser"> Nie można znaleźć użytkownika, aby teleportować do domu @@ -3691,7 +4091,7 @@ Spróbuj ponownie za minutÄ™. żądanie ogólne nie powiodÅ‚o siÄ™ </notification> <notification name="CantUploadPostcard"> - Nie można zaÅ‚adować pocztówki. Spróbuj ponownie później. + Nie można przesÅ‚ać pocztówki. Spróbuj ponownie później. </notification> <notification name="CantFetchInventoryForGroupNotice"> Nie można pobrać szczegółów doÅ‚Ä…czonego przedmiotu dla ogÅ‚oszenia grupy. @@ -3706,7 +4106,7 @@ Spróbuj ponownie za minutÄ™. Nie można zanalizować przedmiotu z ogÅ‚oszenia. </notification> <notification name="TerrainUploadFailed"> - Åadowanie podÅ‚oża na serwer nie powiodÅ‚o siÄ™. + PrzesyÅ‚anie podÅ‚oża na serwer nie powiodÅ‚o siÄ™. </notification> <notification name="TerrainFileWritten"> Plik podÅ‚oża zapisany. @@ -3799,7 +4199,7 @@ Spróbuj zaznaczyć mniejszy obszar ziemi. Nie można w tej chwili kupić przepustki. Spróbuj ponownie później. </notification> <notification name="CantCreateObjectParcelFull"> - Nie można utworzyć obiektu, \n ponieważ dziaÅ‚ka jest peÅ‚na. + Nie można utworzyć obiektu, ponieważ dziaÅ‚ka jest peÅ‚na. </notification> <notification name="FailedPlacingObject"> Nie udaÅ‚o siÄ™ umieÅ›cić obiektu w żądanej lokalizacji. Spróbuj ponownie. @@ -3870,6 +4270,9 @@ Spróbuj zaznaczyć mniejszy obszar ziemi. <notification name="CantTransfterMoneyRegionDisabled"> Transfery pieniÄ™dzy do obiektów sÄ… obecnie wyÅ‚Ä…czone w tym regionie. </notification> + <notification name="DroppedMoneyTransferRequest"> + Nie udaÅ‚o siÄ™ dokonać pÅ‚atnoÅ›ci ze wzglÄ™du na obciążenie systemu. + </notification> <notification name="CantPayNoAgent"> Nie udaÅ‚o siÄ™ ustalić, komu zapÅ‚acić. </notification> @@ -3883,12 +4286,16 @@ Spróbuj zaznaczyć mniejszy obszar ziemi. BÅ‚Ä…d wewnÄ™trzny uniemożliwiÅ‚ poprawnÄ… aktualizacjÄ™ danych przeglÄ…darki. Stan konta L$ lub posiadane dziaÅ‚ki wyÅ›wietlane w przeglÄ…darce mogÄ… nie odzwierciedlać faktycznego stanu posiadania na serwerach. </notification> <notification name="LargePrimAgentIntersect"> - Nie można utworzyć wielkich prim, które nachodzÄ… na innych rezydentów. Spróbuj jeszcze raz, gdy przesunÄ… siÄ™ oni. + Nie można tworzyć wielkich prim, które nachodzÄ… na innych rezydentów. Spróbuj jeszcze raz, gdy siÄ™ oni przesunÄ…. </notification> <notification name="PreferenceChatClearLog"> Ta opcja usunie dzienniki poprzednich rozmów i wszelkie kopie zapasowe tego pliku. <usetemplate ignoretext="Potwierdź, zanim usunÄ™ dzienniki poprzednich rozmów." name="okcancelignore" notext="Anuluj" /> </notification> + <notification name="PreferenceControlsDefaults"> + Czy chcesz przywrócić domyÅ›lne ustawienia klawiszy sterowania? + <usetemplate canceltext="Anuluj" name="yesnocancelbuttons" notext="Obecny tryb" yestext="Wszystkie tryby" /> + </notification> <notification name="PreferenceChatDeleteTranscripts"> Ta opcja usunie logi wszystkich poprzednich rozmów. Nie bÄ™dzie to miaÅ‚o wpÅ‚ywu na listÄ™ rozmów odbytych w przeszÅ‚oÅ›ci. Wszystkie pliki z przyrostkami .txt oraz txt.backup w folderze [FOLDER] zostanÄ… usuniÄ™te. <usetemplate ignoretext="Potwierdź, zanim usunÄ™ logi rozmów." name="okcancelignore" notext="Anuluj" /> @@ -3903,4 +4310,113 @@ Spróbuj zaznaczyć mniejszy obszar ziemi. <notification name="ChatHistoryIsBusyAlert"> Plik historii czatu jest w tej chwili przetwarzany przez poprzedniÄ… operacjÄ™. Spróbuj ponownie za kilka minut lub wybierz czat innej osoby. </notification> + <notification name="AddPaymentMethod"> + Na nastÄ™pnej stronie wybierz kwotÄ™ L$ +i kliknij przycisk skÅ‚adania zamówienia. +BÄ™dziesz mógÅ‚/a dodać metodÄ™ pÅ‚atnoÅ›ci w kasie. + <form name="form"> + <button name="Continue" text="Kontynuuj" /> + <button name="Cancel" text="Anuluj" /> + </form> + </notification> + <notification name="FailedToFindSettings"> + Nie można zaÅ‚adować ustawieÅ„ dla [NAME] z bazy danych. + </notification> + <notification name="FailedToLoadSettingsApply"> + Nie można zastosować tych ustawieÅ„ do otoczenia. + </notification> + <notification name="FailedToBuildSettingsDay"> + Nie można zastosować tych ustawieÅ„ do otoczenia. + </notification> + <notification name="NoEnvironmentSettings"> + Ten region nie obsÅ‚uguje ustawieÅ„ otoczenia. + </notification> + <notification label="Zapisz otoczenie" name="SaveSettingAs"> + Zapisz bieżące ustawienia otoczenia jako: + <form name="form"> + <input name="message"> + [DESC] (nowe) + </input> + <button name="Cancel" text="Anuluj" /> + </form> + </notification> + <notification name="WLImportFail"> + Nie można zaimportować starszych ustawieÅ„ Windlight [NAME] z +[FILE]. + +[REASONS] + </notification> + <notification name="WLParcelApplyFail"> + Nie można ustawić otoczenia dla tej dziaÅ‚ki. +Odwiedź lub wybierz dziaÅ‚kÄ™, którÄ… masz prawo zmodyfikować. + </notification> + <notification name="SettingsUnsuported"> + Otoczenia nie sÄ… obsÅ‚ugiwane w tym regionie. +Przejdź do regionu z wÅ‚Ä…czonymi otoczeniami i spróbuj ponownie. + </notification> + <notification name="SettingsConfirmLoss"> + Za chwilÄ™ stracisz zmiany wprowadzone dla [TYPE] o nazwie "[NAME]". +Czy na pewno chcesz kontynuować? + <usetemplate ignoretext="Czy na pewno chcesz stracić zmiany?" name="okcancelignore" notext="Nie" yestext="Tak" /> + </notification> + <notification name="SettingsConfirmReset"> + Za chwilÄ™ usuniesz wszystkie zastosowane otoczenia. +Czy na pewno chcesz kontynuować? + <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak" /> + </notification> + <notification name="PersonalSettingsConfirmReset"> + Za chwilÄ™ usuniesz wszystkie zastosowane ustawienia wÅ‚asnego oÅ›wietlenia. +Czy na pewno chcesz kontynuować? + <usetemplate name="okcancelbuttons" notext="Nie" yestext="Tak" /> + </notification> + <notification name="SettingsMakeNoTrans"> + Zamierzasz zaimportować nietransferowalne otoczenia do tego cyklu dnia. Kontynuowanie spowoduje, że edytowane otoczenia również stanÄ… siÄ™ nietransferowalne. + +Tej zmiany nie można cofnąć. + +Czy na pewno chcesz kontynuować? + <usetemplate ignoretext="Czy na pewno chcesz, aby otoczenia byÅ‚y nietransferowalne?" name="okcancelignore" notext="Nie" yestext="Tak" /> + </notification> + <notification name="NoEditFromLibrary"> + Nie możesz edytować otoczeÅ„ bezpoÅ›rednio w bibliotece. +Skopiuj do wÅ‚asnej szafy i spróbuj ponownie. + </notification> + <notification name="EnvironmentApplyFailed"> + NapotkaliÅ›my problem z tymi ustawieniami otoczenia. Nie można ich teraz zapisać ani zastosować. + </notification> + <notification name="TrackLoadFailed"> + Nie można zaÅ‚adować Å›cieżki do [TRACK]. + </notification> + <notification name="TrackLoadMismatch"> + Nie można zaÅ‚adować Å›cieżki z [TRACK1] do [TRACK2]. + </notification> + <notification name="CompressionTestResults"> +Wynik testu kompresji pliku dla gzip na poziomie 6 z [FILE] o rozmiarze [SIZE] KB: +Pakowanie: [PACK_TIME]s [PSIZE]KB +Rozpakowywanie: [UNPACK_TIME]s [USIZE]KB + </notification> + <notification label="Monituj o token usÅ‚ugi MFA" name="PromptMFAToken"> + [MESSAGE] + <form name="form"> + <button name="continue" text="Kontynuuj" /> + <button name="cancel" text="Anuluj" /> + </form> + </notification> + <notification label="Utwórz podfolder" name="CreateSubfolder"> + Nazwij nowy folder: + <form name="form"> + <button name="Cancel" text="Anuluj" /> + </form> + </notification> + <notification name="SameFolderRequired"> + Wybrane elementy muszÄ… znajdować siÄ™ w tym samym folderze. + </notification> + <notification name="RiggedMeshAttachedToHUD"> + Dodatek o nazwie "[NAME]" doÅ‚Ä…czony do HUD "[POINT]" zawiera riggowany mesz. + +Riggowane mesze sÄ… przeznaczone do dodawania do samego awatara. Ani ty, ani nikt inny nie zobaczy tego obiektu. + +JeÅ›li chcesz zobaczyć ten obiekt, to usuÅ„ go i ponownie doÅ‚Ä…cz do punktu doczepienia na awatarze. + <usetemplate ignoretext="Ostrzegaj, gdy dodatek z riggowanym meszem jest doÅ‚Ä…czany do punktu HUD" name="okignore" /> + </notification> </notifications> diff --git a/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml b/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml new file mode 100644 index 0000000000..6d619f2071 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_camera_preset_item.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="camera_preset_item"> + <text name="preset_name" value="DomyÅ›lne" /> + <button name="delete_btn" tool_tip="UsuÅ„ ustawienie" /> + <button name="reset_btn" tool_tip="Zresetuj ustawienie do wartoÅ›ci domyÅ›lnych" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_classified.xml b/indra/newview/skins/default/xui/pl/panel_edit_classified.xml deleted file mode 100644 index 2d442b054d..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_classified.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edytuj reklamÄ™" name="panel_edit_classified"> - <panel.string name="location_notice"> - (zostanie zaktualizowane po zapisaniu) - </panel.string> - <string name="publish_label"> - Publikuj - </string> - <string name="save_label"> - Zapisz - </string> - <text name="title"> - Edytuj reklamÄ™ - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon name="edit_icon" tool_tip="Kliknij by wybrać teksturÄ™" /> - </panel> - <text name="Name:"> - TytuÅ‚: - </text> - <text name="description_label"> - Opis: - </text> - <text name="location_label"> - Lokalizacja: - </text> - <text name="classified_location"> - Å‚adowanie... - </text> - <button label="Ustaw na bieżącÄ… lokalizacjÄ™" name="set_to_curr_location_btn" /> - <text name="category_label" value="Kategoria:" /> - <text name="content_type_label" value="Typ zawartoÅ›ci:" /> - <icons_combo_box label="Treść General" name="content_type"> - <icons_combo_box.item label="Treść Moderate" name="mature_ci" /> - <icons_combo_box.item label="Treść General" name="pg_ci" /> - </icons_combo_box> - <check_box label="Ponawiaj automatycznie co tydzieÅ„" name="auto_renew" /> - <text name="price_for_listing_label" value="Koszt listowania:" /> - <spinner name="price_for_listing" tool_tip="Koszt listowania reklamy." /> - </panel> - </scroll_container> - <panel name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="show_on_map_btn_lp"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_pick.xml b/indra/newview/skins/default/xui/pl/panel_edit_pick.xml deleted file mode 100644 index 15838e53b1..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edytuj Miejsce" name="panel_edit_pick"> - <panel.string name="location_notice"> - (aktualizacja nastÄ…pi po zapisaniu) - </panel.string> - <text name="title"> - Edytuj Miejsce - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon name="edit_icon" tool_tip="Kliknij aby wybrać teksturÄ™" /> - <text name="Name:"> - TytuÅ‚: - </text> - <text name="description_label"> - Opis: - </text> - <text name="location_label"> - Lokalizacja: - </text> - <text name="pick_location"> - Å‚adowanie... - </text> - <button label="Ustaw na bieżącÄ… lokalizacjÄ™" name="set_to_curr_location_btn" /> - </panel> - </scroll_container> - <panel name="bottom_panel"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Zapisz Miejsce" name="save_changes_btn" /> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml b/indra/newview/skins/default/xui/pl/panel_edit_profile.xml deleted file mode 100644 index 4e48c6a27c..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Edycja profilu" name="edit_profile_panel"> - <string name="AcctTypeResident" value="Rezydent" /> - <string name="AcctTypeTrial" value="Próbne" /> - <string name="AcctTypeCharterMember" value="ZaÅ‚ożyciel" /> - <string name="AcctTypeEmployee" value="Pracownik Linden Lab" /> - <string name="PaymentInfoUsed" value="PÅ‚atnoÅ›ci: Dane użyte" /> - <string name="PaymentInfoOnFile" value="PÅ‚atnoÅ›ci: Dane znane" /> - <string name="NoPaymentInfoOnFile" value="PÅ‚atnoÅ›ci: Dane nieznane" /> - <string name="AgeVerified" value="Wiek zweryfikowany" /> - <string name="NotAgeVerified" value="Wiek niezweryfikowany" /> - <string name="no_partner_text" value="Brak" /> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="WyÅ›wietlane imiÄ™:" /> - <text name="solo_username_label" value="Nazwa użytkownika:" /> - <button name="set_name" tool_tip="Ustaw wyÅ›wietlane imiÄ™" /> - <text name="user_label" value="Użytkownik:" /> - <panel name="lifes_images_panel"> - <icon name="2nd_life_edit_icon" tool_tip="Kliknij, aby wybrać obrazek" /> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Åšwiat realny:" /> - </panel> - <icon name="real_world_edit_icon" tool_tip="Kliknij, aby wybrać obrazek" /> - <text name="title_homepage_text"> - Strona www: - </text> - <text name="title_acc_status_text" value="Moje konto:" /> - <text_editor name="acc_status_text" value="Rezydent. PÅ‚atnoÅ›ci: Dane nieznane." /> - <text name="my_account_link" value="[[URL] Idź do Tablicy]" /> - <text name="title_partner_text" value="Mój partner:" /> - <panel name="partner_data_panel"> - <text initial_value="(pobieranie)" name="partner_text" /> - </panel> - <text name="partner_edit_link" value="[[URL] Edytuj]" /> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Zapisz zmiany" name="save_btn" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Anuluj" name="cancel_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_universal.xml b/indra/newview/skins/default/xui/pl/panel_edit_universal.xml new file mode 100644 index 0000000000..f98cf92786 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_edit_universal.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="edit_universal_panel"> + <scroll_container name="avatar_universal_scroll"> + <panel name="avatar_universal_color_panel"> + <texture_picker label="Tatuaż gÅ‚owy" name="Head Universal Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: górny tułów" name="Upper Universal Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: dolny tułów" name="Lower Universal Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: spódnica" name="Skirt Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: wÅ‚osy" name="Hair Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: oczy" name="Eyes Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: lewe ramiÄ™" name="Left Arm Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: lewa noga" name="Left Leg Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: Aux1" name="Aux1 Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: Aux2" name="Aux2 Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <texture_picker label="Tatuaż: Aux3" name="Aux3 Tattoo" tool_tip="Kliknij by wybrać grafikÄ™" /> + <color_swatch label="Kolor" name="Color/Tint" tool_tip="Kliknij aby wybrać kolor" /> + </panel> + </scroll_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_info.xml b/indra/newview/skins/default/xui/pl/panel_experience_info.xml new file mode 100644 index 0000000000..406904e9a2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_info.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_info"> + <text name="title" value="Profil przygody" /> + <scroll_container name="xp_scroll"> + <panel name="scrolling_panel"> + <layout_stack name="ls1"> + <layout_panel name="location panel"> + <text name="Location"> + Miejsce: + </text> + <button label="Teleportuj" name="teleport_btn"/> + <button label="Mapa" name="map_btn"/> + </layout_panel> + <layout_panel name="marketplace panel"> + <text name="Location"> + Sklep Marketplace: + </text> + </layout_panel> + <layout_panel name="details panel"> + <text name="ContentRating"> + Klasyfikacja: + </text> + <text name="Owner"> + WÅ‚aÅ›ciciel: + </text> + <button label="Edytuj" name="edit_btn"/> + </layout_panel> + </layout_stack> + </panel> + </scroll_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml b/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml new file mode 100644 index 0000000000..8c314139a8 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_list_editor.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="experince_list_editor"> + <panel.string name="loading"> + wczytywanie... + </panel.string> + <panel.string name="panel_allowed"> + Przygody dozwolone: + </panel.string> + <panel.string name="panel_blocked"> + Przygody blokowane: + </panel.string> + <panel.string name="panel_trusted"> + Przygody kluczowe: + </panel.string> + <panel.string name="no_results"> + (puste) + </panel.string> + <text name="text_name"> + Lista przygód + </text> + <name_list name="experience_list"> + <name_list.columns name="experience_name" label="Nazwa" /> + </name_list> + <button name="btn_add" label="Dodaj" /> + <button name="btn_remove" label="UsuÅ„" /> + <button name="btn_profile" label="Profil" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml b/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml new file mode 100644 index 0000000000..866d3f6112 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_list_item.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_list_item" label="Przygody" /> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_log.xml b/indra/newview/skins/default/xui/pl/panel_experience_log.xml new file mode 100644 index 0000000000..5bd5467adc --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_log.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_log" label="Zdarzenia"> + <string name="no_events" value="Brak zdarzeÅ„."/> + <string name="loading" value="wczytywanie..."/> + <layout_stack name="ls1"> + <layout_panel name="list panel"> + <scroll_list name="experience_log_list"> + <columns name="time" label="Czas"/> + <columns name="event" label="Zdarzenie"/> + <columns name="experience_name" label="Przygoda"/> + <columns name="object_name" label="Obiekt"/> + </scroll_list> + <button name="btn_notify" label="Powiadom"/> + <button name="btn_profile_xp" label="Profil"/> + <button name="btn_report_xp" label="ZgÅ‚oÅ›"/> + </layout_panel> + <layout_panel name="button_panel"> + <check_box width="175" label="Powiadom o wszystkich (dni)" name="notify_all" /> + <button name="btn_clear" label="Wyczyść"/> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experience_search.xml b/indra/newview/skins/default/xui/pl/panel_experience_search.xml new file mode 100644 index 0000000000..96113c87cf --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experience_search.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experience_search" label="Wyszukiwanie"> + <string name="not_found"> + Nie znaleziono: '[TEXT]' + </string> + <string name="no_results"> + Brak wyników + </string> + <string name="searching"> + Szukam... + </string> + <string name="loading"> + Wczytywanie... + </string> + <panel name="search_panel"> + <text name="lbl name part"> + Wpisz fragment nazwy: + </text> + <button label="Szukaj" name="find"/> + <text name="lbl max content rating"> + Maksymalna klasyfikacja: + </text> + <icons_combo_box label="Moderate (umiarkowana)" name="maturity"> + <icons_combo_box.item label="Adult (dla dorosÅ‚ych)" name="Adult" /> + <icons_combo_box.item label="Moderate (umiarkowana)" name="Mature" /> + <icons_combo_box.item label="General (dla wszystkich)" name="PG" /> + </icons_combo_box> + <scroll_list name="search_results"> + <columns name="experience_name" label="Nazwa" /> + <columns name="owner" label="WÅ‚aÅ›ciciel" /> + </scroll_list> + <button label="Anuluj" name="cancel_btn" /> + <button label="Pokaż profil" name="profile_btn" /> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_experiences.xml b/indra/newview/skins/default/xui/pl/panel_experiences.xml new file mode 100644 index 0000000000..e66fc0a1a2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_experiences.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_experiences" label="Przygody"> + <string name="loading_experiences" value="Åadowanie przygód..." /> + <string name="no_experiences" value="Brak przygód." /> + <string name="acquire" value="Zyskaj przygodÄ™" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml b/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml deleted file mode 100644 index 97e2db704f..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Å»aden z Twoich znajomych na Facebooku nie jest w tej chwili rezydentem w Second Life. PoproÅ› swoich facebookowych przyjaciół, aby doÅ‚Ä…czyli do Second Life!" /> - <string name="facebook_friends_no_connected" value="Brak poÅ‚Ä…czenia z Facebookiem. Przejdź na kartÄ™ Status, aby wÅ‚Ä…czyć tÄ… funkcjonalność." /> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Znajomi z Second Life" /> - <accordion_tab name="tab_suggested_friends" title="Dodaj te osoby do znajomych w Second Life" /> - </accordion> - <text name="facebook_friends_status"> - Brak poÅ‚Ä…czenia z Facebookiem. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml b/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml deleted file mode 100644 index 5ecd648209..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_photo.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - OdÅ›wieżanie... - </text> - <button label="OdÅ›wież" name="new_snapshot_btn" tool_tip="Kliknij, aby odÅ›wieżyć" /> - <button label="PodglÄ…d" name="big_preview_btn" tool_tip="Kliknij, aby przeÅ‚Ä…czyć podglÄ…d" /> - <text name="caption_label"> - Komentarz (opcjonalnie): - </text> - <button label="WyÅ›lij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_place.xml b/indra/newview/skins/default/xui/pl/panel_facebook_place.xml deleted file mode 100644 index 0514f4c326..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Opowiedz coÅ› o miejscu, w którym jesteÅ›: - </text> - <check_box label="DoÅ‚Ä…cz widok z lotu ptaka" name="add_place_view_cb" /> - <button label="WyÅ›lij" name="post_place_btn" /> - <button label="Anuluj" name="cancel_place_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_facebook_status.xml b/indra/newview/skins/default/xui/pl/panel_facebook_status.xml deleted file mode 100644 index 5c0052e1f1..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="PoÅ‚Ä…czenie z Facebookiem jako:" /> - <string name="facebook_disconnected" value="Brak poÅ‚Ä…czenia z Facebookiem" /> - <text name="account_caption_label"> - Brak poÅ‚Ä…czenia z Facebookiem. - </text> - <panel name="panel_buttons"> - <button label="PoÅ‚Ä…cz..." name="connect_btn" /> - <button label="RozÅ‚Ä…cz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 WiÄ™cej o wysyÅ‚aniu na Facebooka] - </text> - </panel> - <text name="status_caption_label"> - O czym teraz myÅ›lisz? - </text> - <button label="WyÅ›lij" name="post_status_btn" /> - <button label="Anuluj" name="cancel_status_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_flickr_account.xml b/indra/newview/skins/default/xui/pl/panel_flickr_account.xml deleted file mode 100644 index 43ce268d77..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="PoÅ‚Ä…czenie z Flickr jako:" /> - <string name="flickr_disconnected" value="Brak poÅ‚Ä…czenia z Flickr" /> - <text name="account_caption_label"> - Brak poÅ‚Ä…czenia z Flickr. - </text> - <panel name="panel_buttons"> - <button label="PoÅ‚Ä…cz..." name="connect_btn" /> - <button label="RozÅ‚Ä…cz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 WiÄ™cej o wysyÅ‚aniu na Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml b/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml deleted file mode 100644 index a76d16f743..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - OdÅ›wieżanie... - </text> - <button label="OdÅ›wież" name="new_snapshot_btn" tool_tip="Kliknij, aby odÅ›wieżyć" /> - <button label="PodglÄ…d" name="big_preview_btn" tool_tip="Kliknij, aby przeÅ‚Ä…czyć podglÄ…d" /> - <text name="title_label"> - TytuÅ‚: - </text> - <text name="description_label"> - Opis: - </text> - <check_box label="DoÅ‚Ä…cz lokalizacjÄ™ z SL na koÅ„cu opisu" name="add_location_cb" /> - <text name="tags_label"> - Tagi: - </text> - <text name="tags_help_label"> - Rozdziel tagi spacjami -Użyj "" dla tagów wielosÅ‚ownych - </text> - <combo_box name="rating_combobox" tool_tip="Klasyfikacja treÅ›ci Flickr"> - <combo_box.item label="Flickr: Treść bezpieczna" name="SafeRating" /> - <combo_box.item label="Flickr: Treść umiarkowana" name="ModerateRating" /> - <combo_box.item label="Flickr: Treść ograniczona" name="RestrictedRating" /> - </combo_box> - <button label="WyÅ›lij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml b/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml new file mode 100644 index 0000000000..cf9f00af4d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_group_creation_sidetray.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Tworzenie grupy" name="GroupCreation"> + <panel.string name="current_membership"> + (twoje czÅ‚onkostwo) + </panel.string> + <panel name="group_info_top"> + <line_editor label="Wpisz tutaj nazwÄ™ nowej grupy" name="group_name_editor" /> + </panel> + <layout_stack name="layout"> + <layout_panel name="group_info"> + <panel name="group_info_top"> + <texture_picker name="insignia" tool_tip="Kliknij by wybrać obraz" /> + <text_editor name="charter"> + Statut grupy + </text_editor> + </panel> + <panel name="preferences_container"> + <check_box label="Wolny wstÄ™p" name="open_enrollement" tool_tip="Grupa oferuje wolny wstÄ™p dla każdego i nie wymaga zaproszenia." /> + <check_box label="OpÅ‚ata wstÄ™pu" name="check_enrollment_fee" tool_tip="OkreÅ›la, czy wymagać opÅ‚aty wstÄ™pu, aby doÅ‚Ä…czyć do grupy." /> + <spinner name="spin_enrollment_fee" tool_tip="Nowe osoby muszÄ… zapÅ‚acić tÄ™ sumÄ™ by doÅ‚Ä…czyć do grupy, jeÅ›li 'OpÅ‚ata wstÄ™pu' jest zaznaczona." /> + <combo_box name="group_mature_check" tool_tip="Klasyfikacja dojrzaÅ‚oÅ›ci oraz wieku okreÅ›la rodzaje treÅ›ci i zachowanie dozwolone w grupie."> + <combo_item name="select_mature"> + - Wybierz klasyfikacjÄ™ wieku - + </combo_item> + <combo_box.item label="Treść Moderate" name="mature" /> + <combo_box.item label="Treść General" name="pg" /> + </combo_box> + </panel> + </layout_panel> + <layout_panel name="create_info"> + <text name="fee_information"> + OpÅ‚ata za utworzenie grupy zależy od Twojego poziomu czÅ‚onkostwa. [https://secondlife.com/my/account/membership.php WiÄ™cej] + </text> + <scroll_list name="membership_list"> + <scroll_list.rows name="basic" value="Podstawowe (wypeÅ‚niacz)"/> + <scroll_list.rows name="premium" value="Premium (wypeÅ‚niacz)" /> + </scroll_list> + </layout_panel> + <layout_panel name="create_actions"> + <layout_stack name="button_row_ls"> + <layout_panel name="layout_crt"> + <button label="Utwórz grupÄ™ za [COST] L$" name="btn_create" tool_tip="Utwórz nowÄ… grupÄ™" /> + <button name="back" label="Anuluj" tool_tip="Powrót do listy grup" /> + </layout_panel> + </layout_stack> + <text name="info_deletion"> + Uwaga: grupa, która ma mniej niż 2 czÅ‚onków przez 48 godzin, zostaje usuniÄ™ta! + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml b/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml new file mode 100644 index 0000000000..e34d32c0fd --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_group_list_item_short.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="group_list_item"> + <text name="group_name" value="Nieznana" /> + <button name="visibility_hide_btn" tool_tip="Ukryj grupÄ™ w moim profilu" /> + <button name="visibility_show_btn" tool_tip="Pokaż grupÄ™ w moim profilu" /> + <button name="info_btn" tool_tip="WiÄ™cej informacji" /> + <button name="profile_btn" tool_tip="Pokaż profil" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml b/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml new file mode 100644 index 0000000000..b134254b03 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_hide_beacon.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_hide_beacon"> + <button label="Ukryj emiter" name="hide_beacon_btn" tool_tip="Zatrzymaj Å›ledzenie i ukryj emiter" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml b/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml new file mode 100644 index 0000000000..3247e7eb8e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_notification_list_item.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<panel name="main_panel"> + <panel.string name="sender_resident_text"> + WysÅ‚aÅ‚/a: "[SENDER_RESIDENT]" + </panel.string> + <panel.string name="group_name_text"> + Grupa: "[GROUP_NAME]" + </panel.string> + <panel.string name="group_fee_text"> + OpÅ‚ata: [GROUP_FEE] + </panel.string> + <panel name="panel_total_view"> + <layout_stack name="item_vertical_stack"> + <layout_panel name="layout_panel_condensed_view"> + <panel name="panel_condensed_view"> + <layout_stack name="horizontal_stack"> + <layout_panel name="layout_panel_right"> + <group_icon name="group_icon" tool_tip="Grupa" /> + <avatar_icon name="avatar_icon" tool_tip="Osoba" /> + <icon name="system_notification_icon" tool_tip="Ikona" /> + </layout_panel> + <layout_panel name="layout_panel_middle"> + <panel name="main_info_panel"> + <panel name="notification_title_panel"> + <icon name="attachment_icon" tool_tip="ZaÅ‚Ä…cznik" /> + </panel> + </panel> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + <layout_panel name="layout_panel_expanded_view"> + <panel name="panel_expanded_view"> + <layout_stack name="horizontal_stack"> + <layout_panel name="layout_panel_right_exp"> + <group_icon name="group_icon_exp" tool_tip="Grupa" /> + <avatar_icon name="avatar_icon_exp" tool_tip="Osoba" /> + <icon name="system_notification_icon_exp" tool_tip="Ikona" /> + <icon name="attachment_icon_exp" tool_tip="ZaÅ‚Ä…cznik" /> + </layout_panel> + <layout_panel name="layout_panel_middle_exp"> + <panel name="main_info_panel_expanded"> + <panel name="button_panel"> + <button name="join_btn" label="DoÅ‚Ä…cz" /> + <button name="decline_btn" label="Anuluj"/> + </panel> + </panel> + </layout_panel> + </layout_stack> + </panel> + </layout_panel> + </layout_stack> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml b/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml new file mode 100644 index 0000000000..faebe3984d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_gallery.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="Outfit Gallery"> + <string name="outfit_photo_string"> + Zdjecie stroju: "[OUTFIT_NAME]" + </string> + <string name="no_outfits_msg"> + Nie ma jeszcze żadnych strojów. Spróbuj [secondlife:///app/search/all/ Wyszukiwarki] + </string> + <string name="no_matched_outfits_msg"> + Nie udaÅ‚o Ci siÄ™ znaleźć tego, czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Wyszukiwarki]. + </string> + <text name="no_outfits_txt"> + Szukam... + </text> + <panel name="bottom_panel"> + <menu_button tool_tip="Pokaż dodatkowe opcje" name="options_gear_btn" /> + <button name="trash_btn" tool_tip="UsuÅ„ wybrany strój" /> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml b/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml new file mode 100644 index 0000000000..56c2009c22 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_gallery_item.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="gallery_item_panel"> + <string name="worn_string"> + (zaÅ‚ożone) + </string> + <panel name="text_bg_panel"> + <text name="outfit_worn_text"> + (zaÅ‚ożone) + </text> + </panel> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml b/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml new file mode 100644 index 0000000000..0818404594 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_outfit_snapshot_inventory.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_outfit_snapshot_inventory"> + <text name="title"> + Szafa + </text> + <text name="hint_lbl"> + PrzesÅ‚anie zdjÄ™cia do Twojej Szafy kosztuje [UPLOAD_COST] L$. + +OpÅ‚ata zależy od Twojego poziomu czÅ‚onkostwa. Wyższe poziomy to niższe opÅ‚aty. + </text> + <button label="Anuluj" name="cancel_btn" /> + <button label="PrzeÅ›lij [UPLOAD_COST]L$" name="save_btn" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_pick_info.xml b/indra/newview/skins/default/xui/pl/panel_pick_info.xml deleted file mode 100644 index 6ea8a4d819..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_pick_info"> - <text name="title" value="Info o Miejscu" /> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[nazwa]" /> - <text_editor name="pick_location" value="[wczytywanie...]" /> - <text_editor name="pick_desc" value="[opis]" /> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teleportuj" name="teleport_btn" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" /> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Edytuj" name="edit_btn" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_picks.xml b/indra/newview/skins/default/xui/pl/panel_picks.xml deleted file mode 100644 index 8e70f533b2..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel label="Miejsca" name="panel_picks"> - <string name="no_picks" value="Brak Miejsc" /> - <string name="no_classifieds" value="Brak reklam" /> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Miejsca" /> - <accordion_tab name="tab_classifieds" title="Reklamy" /> - </accordion> - <panel name="edit_panel"> - <layout_stack name="edit_panel_ls"> - <layout_panel name="gear_menu_btn"> - <button name="new_btn" tool_tip="Stwórz nowe Miejsce lub reklamÄ™ w obecnej lokalizacji" /> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button name="info_btn" tool_tip="Pokaż informacje o Miejscu" /> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj do odpowiadajÄ…cego obszaru" /> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Pokaż obszar na mapie Å›wiata" /> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml b/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml new file mode 100644 index 0000000000..fdd5664147 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_preferences_controls.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<panel label="Sterowanie" name="controls"> + <combo_box name="key_mode"> + <combo_box.item label="W trzeciej osobie" name="third_person" /> + <combo_box.item label="W trybie pierwszoosobowym" name="first_person" /> + <combo_box.item label="Podczas edycji awatara" name="edit_avatar" /> + <combo_box.item label="SiedzÄ…c" name="sitting" /> + </combo_box> + <button label="Przywróć domyÅ›lne" tool_tip="Przywraca wartoÅ›ci domyÅ›lne dla wszystkich trybów sterowania." name="restore_defaults" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml b/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml new file mode 100644 index 0000000000..ea678ea4d6 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_preferences_uploads.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<panel label="Uploads" name="uploads"> + <text name="title"> + Obecne lokalizacje dla nowych plików + </text> + <text name="title_models"> + Obrazy + </text> + <text name="title_sounds"> + DźwiÄ™ki + </text> + <text name="title_animation"> + Animacje + </text> + <text name="title_model"> + Modele + </text> + <text name="upload_help"> + Aby zmienić folder docelowy kliknij na nim prawym przyciskiem myszy w Szafie +i użyj opcji "ustaw jako domyÅ›lne dla" + </text> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml new file mode 100644 index 0000000000..7417b011f9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_presets_camera_pulldown.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="presets_camera_pulldown"> + <text name="Camera Presets"> + Ustawienia kamery + </text> + <button name="open_prefs_btn" label="Otwórz sterowanie kamerÄ…" tool_tip="Otwiera okno sterowania kamerÄ…" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml b/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml new file mode 100644 index 0000000000..e0b1f9a896 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_presets_pulldown.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="presets_pulldown"> + <text name="Graphic Presets"> + Ustawienia graficzne + </text> + <button name="open_prefs_btn" label="Otwórz preferencje graficzne" tool_tip="Otwórz kartÄ™ preferencji graficznych" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_classified.xml b/indra/newview/skins/default/xui/pl/panel_profile_classified.xml new file mode 100644 index 0000000000..d73a521e3f --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_classified.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_classified"> + <panel.string name="type_mature"> + Treść Moderate + </panel.string> + <panel.string name="type_pg"> + Treść General + </panel.string> + <panel.string name="l$_price"> + [PRICE]L$ + </panel.string> + <panel.string name="click_through_text_fmt"> + [TELEPORT] teleport, [MAP] mapa, [PROFILE] profil + </panel.string> + <panel.string name="date_fmt"> + [day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt] + </panel.string> + <panel.string name="auto_renew_on"> + WÅ‚Ä…czone + </panel.string> + <panel.string name="auto_renew_off"> + WyÅ‚Ä…czone + </panel.string> + <panel.string name="location_notice"> + (zaktualizuje siÄ™ po zapisaniu) + </panel.string> + <string name="publish_label"> + Publikuj + </string> + <string name="save_label"> + Zapisz + </string> + <layout_stack name="main_classifieds_stack"> + <layout_panel name="scroll_layout_panel"> + <scroll_container name="profile_scroll"> + <panel name="info_scroll_content_panel"> + <icon name="edit_icon" tool_tip="Kliknij by wybrać obraz" /> + <layout_stack name="info_panel"> + <layout_panel name="main_info_panel"> + <text name="classified_location_label" value="Lokalizacja:" /> + <text name="content_type_label" value="Zawartość:" /> + <text name="category_label" value="Kategoria:" /> + <text name="creation_date_label" value="Utworzono:" /> + <text_editor name="creation_date" tool_tip="Data utworzenia" /> + <text name="price_for_listing_label" value="Koszt listowania:" /> + <text_editor name="price_for_listing" tool_tip="Koszt listowania reklamy." /> + </layout_panel> + <layout_panel name="clickthrough_layout_panel"> + <text name="click_through_label" value="Kliki:" /> + <text_editor name="click_through_text" tool_tip="Dane dotyczÄ…ce przeklików" /> + </layout_panel> + <layout_panel name="auto_renew_layout_panel"> + <text name="auto_renew_label" value="Autoodnawianie:" /> + <text name="auto_renew" value="WÅ‚Ä…czone" /> + </layout_panel> + <layout_panel name="descr_layout_panel"> + <text name="classified_desc_label" value="Opis:" /> + </layout_panel> + </layout_stack> + <panel name="edit_panel"> + <text name="Name:"> + TytuÅ‚: + </text> + <text name="description_label"> + Opis: + </text> + <text name="location_label"> + Lokalizacja: + </text> + <text name="classified_location_edit"> + Å‚adowanie... + </text> + <button name="set_to_curr_location_btn" label="Ustaw na bieżącÄ… lokalizacjÄ™" /> + <text name="category_label" value="Kategoria:" /> + <text name="content_type_label" value="Zawartość:" /> + <icons_combo_box name="content_type_edit" label="Treść General"> + <icons_combo_box.item name="mature_ci" label="Treść Moderate" /> + <icons_combo_box.item name="pg_ci" label="Treść General" /> + </icons_combo_box> + <check_box name="auto_renew_edit" label="Auto-ponawiaj co tydzieÅ„" /> + </panel> + </panel> + </scroll_container> + </layout_panel> + <layout_panel name="util_buttons_lp"> + <layout_stack name="util_buttons_stack"> + <layout_panel name="teleport_btn_lp"> + <button name="teleport_btn" label="Teleportuj" /> + </layout_panel> + <layout_panel name="map_btn_lp"> + <button name="show_on_map_btn" label="Mapa" /> + </layout_panel> + <layout_panel name="edit_btn_lp"> + <button name="edit_btn" label="Edytuj" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="publish_layout_panel"> + <layout_stack name="publish_stack"> + <layout_panel name="cancel_btn_lp"> + <button name="cancel_btn" label="Anuluj" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml b/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml new file mode 100644 index 0000000000..7797bc58d8 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_classifieds.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_classifieds" label="Reklamy"> + <string name="no_classifieds" value="Brak reklam" /> + <layout_stack name="main_stack"> + <layout_panel name="buttons_header"> + <button name="new_btn" label="Nowa..." tool_tip="Utwórz nowÄ… reklamÄ™ w obecnej lokalizacji" /> + <button name="delete_btn" label="UsuÅ„..." tool_tip="UsuÅ„ aktualnie wybranÄ… reklamÄ™" /> + </layout_panel> + <layout_panel name="main_body"> + <text name="classifieds_panel_text"> + Åadowanie... + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml b/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml new file mode 100644 index 0000000000..60549c9df9 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_firstlife.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_firstlife" label="Profil"> + <button name="fl_upload_image" label="PrzeÅ›lij obraz" /> + <button name="fl_change_image" label="ZmieÅ„ obraz" /> + <button name="fl_remove_image" label="UsuÅ„ obraz" /> + <button name="fl_save_changes" label="Zapisz" /> + <button name="fl_discard_changes" label="Odrzuć" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_notes.xml b/indra/newview/skins/default/xui/pl/panel_profile_notes.xml new file mode 100644 index 0000000000..1c3d7f1180 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_notes.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_notes" label="Notatki i prywatność"> + <text name="status_message" value="Twoje notatki o tej osobie. Nikt inny nie może ich zobaczyć." /> + <button name="notes_save_changes" label="Zapisz" /> + <button name="notes_discard_changes" label="Odrzuć" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_pick.xml b/indra/newview/skins/default/xui/pl/panel_profile_pick.xml new file mode 100644 index 0000000000..f8c8005c19 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_pick.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_pick_info"> + <panel.string name="location_notice"> + (zaktualizuje siÄ™ po zapisaniu) + </panel.string> + <layout_stack name="main_pick_stack"> + <layout_panel name="main_pick_lp"> + <text name="title_label"> + Nazwa: + </text> + <text name="description_label"> + Opis: + </text> + <text name="location_label"> + Lokalizacja: + </text> + <line_editor name="pick_location"> + Åadowanie... + </line_editor> + </layout_panel> + <layout_panel name="save_changes_lp"> + <layout_stack name="save_changes_stack"> + <layout_panel name="map_btn_lp"> + <button name="show_on_map_btn" label="Pokaż na mapie" /> + </layout_panel> + <layout_panel name="tp_btn_lp"> + <button name="teleport_btn" label="Teleportuj" /> + </layout_panel> + </layout_stack> + </layout_panel> + <layout_panel name="save_changes_lp"> + <layout_stack name="save_changes_stack"> + <layout_panel name="create_btn_lp"> + <button name="create_changes_btn" label="Utwórz" /> + </layout_panel> + <layout_panel name="save_btn_lp"> + <button name="save_changes_btn" label="Zapisz" /> + </layout_panel> + <layout_panel name="cancel_btn_lp"> + <button name="cancel_changes_btn" label="Anuluj" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_picks.xml b/indra/newview/skins/default/xui/pl/panel_profile_picks.xml new file mode 100644 index 0000000000..80d04fe00d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_picks.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_picks" label="Miejsca"> + <string name="no_picks" value="Brak Miejsc" /> + <layout_stack name="main_stack"> + <layout_panel name="buttons_header"> + <text name="header_text"> + Pokaż innym swoje ulubione miejsca w Second Life. + </text> + <button name="new_btn" label="Nowe..." tool_tip="Utwórz nowe Miejsce w obecnej lokalizacji" /> + <button name="delete_btn" label="UsuÅ„..." tool_tip="UsuÅ„ aktualnie wybrane Miejsce" /> + </layout_panel> + <layout_panel name="main_body"> + <text name="picks_panel_text"> + Åadowanie... + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml b/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml new file mode 100644 index 0000000000..c73ad7d09e --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_secondlife.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile" label="Profil"> + <string name="date_format" value="Urodziny: [day,datetime,slt] [mth,datetime,slt] [year,datetime,slt]" /> + <string name="CaptionTextAcctInfo"> +Konto: [ACCTTYPE] +[PAYMENTINFO] + </string> + <layout_stack name="image_stack"> + <layout_panel name="basics_panel"> + <line_editor name="user_name" value="(Å‚adowanie...)" /> + <line_editor name="sl_birth_date" value="(Å‚adowanie...)" /> + <line_editor name="user_age" value="(Å‚adowanie...)" /> + </layout_panel> + <layout_panel name="partner_layout"> + <text name="partner_link" value="Partner: (Å‚adowanie...)" /> + </layout_panel> + <layout_panel name="frind_layout"> + <text name="frind_text" value="JesteÅ›cie znajomymi" /> + </layout_panel> + <layout_panel name="account_layout"> + <text name="account_info" value="Konto: (Å‚adowanie...)" /> + </layout_panel> + <layout_panel name="settings_panel"> + <text name="search_label" value="Profil w wyszukiwarce:" /> + <combo_box name="show_in_search" tool_tip="Pozwól innym zobaczyć CiÄ™ w wynikach wyszukiwania"> + <combo_box.item name="Hide" label="Ukryj" /> + <combo_box.item name="Show" label="Pokaż" /> + </combo_box> + </layout_panel> + <layout_panel name="menu_panel"> + <menu_button label="Akcje" name="agent_actions_menu" /> + </layout_panel> + </layout_stack> + <layout_stack name="main_stack"> + <layout_panel name="display_name_panel"> + <line_editor name="display_name" value="(Å‚adowanie...)" /> + <icon tool_tip="Znajomy może zobaczyć mój status online" name="can_see_online" /> + <icon tool_tip="Znajomy nie może zobaczyć mojego statusu online" name="cant_see_online" /> + <icon tool_tip="Znajomy może mnie zobaczyć na mapie" name="can_see_on_map" /> + <icon tool_tip="Znajomy nie może mnie zobaczyć na mapie" name="cant_see_on_map" /> + <icon tool_tip="Znajomy może edytować moje obiekty" name="can_edit_objects" /> + <icon tool_tip="Znajomy nie może edytować moich obiektów" name="cant_edit_objects" /> + </layout_panel> + <layout_panel name="about_buttons_panel"> + <button name="save_description_changes" label="Zapisz" /> + <button name="discard_description_changes" label="Odrzuć" /> + </layout_panel> + <layout_panel name="groups_panel"> + <text name="group_label" value="Grupy" /> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_web.xml b/indra/newview/skins/default/xui/pl/panel_profile_web.xml new file mode 100644 index 0000000000..39ede4e674 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_profile_web.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="panel_profile_web" label="Sieć"> + <panel.string name="LoadTime" value="ZaÅ‚adowano w: [TIME] sekund" /> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_progress.xml b/indra/newview/skins/default/xui/pl/panel_progress.xml new file mode 100644 index 0000000000..22b6a8fcf5 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_progress.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel name="login_progress_panel"> + <layout_stack name="horizontal_centering"> + <layout_panel name="center"> + <layout_stack name="vertical_centering"> + <layout_panel name="panel4"> + <layout_stack name="vertical_centering"> + <layout_panel name="panel_icons"> + <text name="logos_lbl"> + Second Life używa + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_region_access.xml b/indra/newview/skins/default/xui/pl/panel_region_access.xml new file mode 100644 index 0000000000..0133746917 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_region_access.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="DostÄ™p" name="Access"> + <tab_container name="tabs"> + <panel label="ZARZÄ„DCY MAJÄ„TKU" name="estate_managers_panel"> + <text name="estate_manager_label"> + ZarzÄ…dcy majÄ…tku: + </text> + <name_list name="estate_manager_name_list"> + <columns label="ImiÄ™" name="name" /> + </name_list> + <button label="Dodaj..." name="add_estate_manager_btn" /> + <button label="UsuÅ„..." name="remove_estate_manager_btn" /> + </panel> + <panel label="DOZWOLENI" name="allowed_panel"> + <panel name="allowed_search_panel"> + <filter_editor label="Szukaj wÅ›ród dozwolonych" name="allowed_search_input" /> + <button label="Kopiuj" name="copy_allowed_list_btn" /> + </panel> + <text name="allow_resident_label"> + Zawsze zezwalaj: + </text> + <name_list name="allowed_avatar_name_list"> + <columns label="ImiÄ™" name="name" /> + </name_list> + <button label="Dodaj..." name="add_allowed_avatar_btn" /> + <button label="UsuÅ„..." name="remove_allowed_avatar_btn" /> + </panel> + <panel label="DOZWOLONE GRUPY" name="allowed_groups_panel"> + <panel name="allowed_group_search_panel"> + <filter_editor label="Szukaj wÅ›ród dozwolonych grup" name="allowed_group_search_input" /> + <button label="Kopiuj" name="copy_allowed_group_list_btn" /> + </panel> + <text name="allow_group_label"> + Zawsze zezwalaj grupom: + </text> + <name_list name="allowed_group_name_list"> + <columns label="Nazwa" name="name" /> + </name_list> + <button label="Dodaj..." name="add_allowed_group_btn" /> + <button label="UsuÅ„..." name="remove_allowed_group_btn" /> + </panel> + <panel label="ZBANOWANI" name="banned_panel"> + <panel name="banned_search_panel"> + <filter_editor label="Szukaj wÅ›ród zbanowanych" name="banned_search_input" /> + <button label="Kopiuj" name="copy_banned_list_btn" /> + </panel> + <text name="ban_resident_label"> + Zawsze banuj: + </text> + <name_list name="banned_avatar_name_list"> + <columns label="ImiÄ™" name="name" /> + <columns label="Ostatnie logowanie" name="last_login_date" /> + <columns label="Zbanowano" name="ban_date" /> + <columns label="Przez" name="bannedby" /> + </name_list> + <button label="Dodaj..." name="add_banned_avatar_btn" /> + <button label="UsuÅ„..." name="remove_banned_avatar_btn" /> + </panel> + </tab_container> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_region_experiences.xml b/indra/newview/skins/default/xui/pl/panel_region_experiences.xml new file mode 100644 index 0000000000..3ed3f68c65 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_region_experiences.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Przygody" name="Experiences"> + <panel.string name="trusted_estate_text"> +Każda przygoda może być kluczowÄ…. + +Przygody kluczowe sÄ… dozwolone w tym MajÄ…tku. + +JeÅ›li MajÄ…tek ma wyÅ‚Ä…czony dostÄ™p publiczny, Rezydenci uczestniczÄ…cy w dowolnej przygodzie kluczowej mogÄ… wejść i pozostać tak dÅ‚ugo, jak majÄ… oni jÄ… aktywnÄ…. + </panel.string> + <panel.string name="allowed_estate_text"> +Tylko przygody o zasiÄ™gu ziemi mogÄ… zostać dozwolone. + +Dozwolone przygody mogÄ… być uruchamiane w tym MajÄ…tku. + </panel.string> + <panel.string name="blocked_estate_text"> +Tylko przygody o zasiÄ™gu Å›wiata mogÄ… zostać blokowane. + +Zablokowane przygody nie mogÄ… być uruchamiane w tym MajÄ…tku. + </panel.string> + <panel.string name="estate_caption"> +Zmiany ustawieÅ„ z tej karty bÄ™dÄ… mieć wpÅ‚yw na wszystkie regiony majÄ…tku. + </panel.string> + <panel.string name="allowed_parcel_text"> +Tylko przygody o zasiÄ™gu ziemi mogÄ… zostać dozwolone. + +Dozwolone przygody mogÄ… być uruchamiane na tej dziaÅ‚ce, jeÅ›li nie sÄ… blokowane przez MajÄ…tek. + </panel.string> + <panel.string name="blocked_parcel_text"> +Każda przygoda może zostać zablokowana. + +Zablokowane przygody nie mogÄ… być uruchamiane na tej dziaÅ‚ce. + </panel.string> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_script_experience.xml b/indra/newview/skins/default/xui/pl/panel_script_experience.xml new file mode 100644 index 0000000000..daae729385 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_script_experience.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<panel name="script_experience" title="PRZYGODA"> + <button name="Expand Experience" label="Przygoda" /> + <check_box label="Używa przygody" name="enable_xp" /> + <layout_stack name="xp_details"> + <layout_panel> + <text> + Skrypt: + </text> + <text> + PowiÄ…zane z: + </text> + <text> + Możesz uczestniczyć: + </text> + <text> + Powiąż z: + </text> + </layout_panel> + <layout_panel> + <combo_box label="Wybierz przygodÄ™..." name="Experiences..." /> + </layout_panel> + </layout_stack> + <text name="No Experiences"> + Nie uczestniczysz w żadnych przygodach. + </text> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml new file mode 100644 index 0000000000..a21f9cd20d --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_atmos.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Atmosfera i Å›wiatÅ‚a" name="panel_settings_sky_atmos"> + <layout_stack name="main_ls"> + <layout_panel name="top_lp"> + <text name="ambient_color_label"> + Kolor otoczenia: + </text> + <text name="blue_horizon_label"> + Horyzont bÅ‚Ä™kitu: + </text> + <text name="blue_density_label"> + GÄ™stość bÅ‚Ä™kitu: + </text> + </layout_panel> + <layout_panel name="bottom_lp"> + <layout_stack name="atmosphere1"> + <layout_panel name="left_lp"> + <text name="haze_horizon_label"> + Horyzont mgÅ‚y: + </text> + <text name="haze_density_label"> + GÄ™stość mgÅ‚y: + </text> + <text name="moisture_level_label"> + Poziom wilgoci: + </text> + <text name="droplet_radius_label"> + PromieÅ„ kropli: + </text> + <text name="ice_level_label"> + Poziom lodu: + </text> + <text name="scene_gamma_label"> + Gamma sceny: + </text> + </layout_panel> + <layout_panel name="right_lp"> + <text name="density_multiplier_label"> + Mnożnik gÄ™stoÅ›ci: + </text> + <text name="distance_multiplier_label"> + Mnożnik odlegÅ‚.: + </text> + <text name="maximum_altitude_label"> + Maksymalna wys.: + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml new file mode 100644 index 0000000000..4a4b693344 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_clouds.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Chmury" name="panel_settings_sky_clouds"> + <layout_stack name="main_ls"> + <layout_panel name="left_lp"> + <text name="cloud_color_label"> + Kolor chmur: + </text> + <text name="cloud_coverage_label"> + Zachmurzenie: + </text> + <text name="cloud_scale_label"> + Rozmiar chmur: + </text> + <text name="cloud_variance_label"> + Zmienność: + </text> + <text name="cloud_scroll_label"> + Przewijanie: + </text> + <text name="cloud_image_label"> + Obraz chmur: + </text> + </layout_panel> + <layout_panel name="right_lp"> + <text name="cloud_density_label"> + GÄ™stość chmur: + </text> + <slider label="G" name="cloud_density_d" /> + <text name="cloud_detail_label"> + Detale chmur: + </text> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml new file mode 100644 index 0000000000..1f5cfec4d2 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_density.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="GÄ™stość" name="panel_settings_sky_density"> + <layout_stack name="main_ls"> + <layout_panel name="lp_1"> + <slider name="rayleigh_exponential" label="Okres wykÅ‚adniczy Rayleigha:" /> + <slider name="rayleigh_exponential_scale" label="Skala wykÅ‚adnicza Rayleigha:" /> + <slider name="rayleigh_linear" label="Okres liniowy Rayleigha:" /> + <slider name="rayleigh_constant" label="Okres staÅ‚y Rayleigha:" /> + <slider name="rayleigh_max_altitude" label="Maks. wysokość Rayleigha:" /> + </layout_panel> + <layout_panel name="lp_2"> + <slider name="mie_exponential" label="Okres wykÅ‚adniczy Mie:" /> + <slider name="mie_exponential_scale" label="Skala wykÅ‚adnicza Mie:" /> + <slider name="mie_linear" label="Okres liniowy Mie:" /> + <slider name="mie_constant" label="Okres staÅ‚y Mie:" /> + <slider name="mie_aniso_factor" label="Współczynnik aniso Mie:" /> + <slider name="mie_max_altitude" label="Maks. wysokość Mie:" /> + </layout_panel> + <layout_panel name="lp_3"> + <slider name="absorption_exponential" label="Okres wykÅ‚adniczy absorpcji:" /> + <slider name="absorption_exponential_scale" label="Skala wykÅ‚adnicza absorpcji:" /> + <slider name="absorption_linear" label="Okres liniowy absorpcji:" /> + <slider name="absorption_constant" label="Okres staÅ‚y absorpcji:" /> + <slider name="absorption_max_altitude" label="Maks. wysokość absorpcji:" /> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml new file mode 100644 index 0000000000..f807148617 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_sky_sunmoon.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="SÅ‚oÅ„ce i Księżyc" name="panel_settings_sky_hbodies"> + <layout_stack name="main_ls"> + <layout_panel name="sun_layout"> + <text name="sun_stars_label"> + SÅ‚oÅ„ce i Księżyc + </text> + <text name="position_label"> + Pozycja: + </text> + <text name="image_label"> + Obraz: + </text> + <text name="scale_label"> + Skala: + </text> + <text name="color_label"> + Kolor: + </text> + <text name="sun_azimuth_label"> + Azymut: + </text> + <text name="sun_elevation_label"> + Elewacja: + </text> + <text name="glow_focus_label"> + Ostrość blasku: + </text> + <text name="glow_size_label"> + Skala blasku: + </text> + <text name="star_brightness_label"> + Jasność gwiazd: + </text> + <check_box label="Pokaż emiter" name="sunbeacon" /> + </layout_panel> + <layout_panel name="moon_layout"> + <layout_stack name="moon_stack"> + <layout_panel name="moon_layout"> + <text name="moon_label"> + Księżyc + </text> + <text name="position_label"> + Pozycja: + </text> + <text name="moon_image_label"> + Obraz: + </text> + <text name="scale_label"> + Skala: + </text> + <text name="moon_azimuth_label"> + Azymut: + </text> + <text name="moon_elevation_label"> + Elewacja: + </text> + <text name="brightness_label"> + Jasność: + </text> + <check_box label="Pokaż emiter" name="moonbeacon" /> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_settings_water.xml b/indra/newview/skins/default/xui/pl/panel_settings_water.xml new file mode 100644 index 0000000000..928c9ce358 --- /dev/null +++ b/indra/newview/skins/default/xui/pl/panel_settings_water.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<panel label="Woda" name="panel_settings_water"> + <layout_stack name="water_stack1"> + <layout_panel name="lp_top"> + <text name="water_fog_label"> + MgÅ‚a wodna: + </text> + <text name="color_label"> + Kolor: + </text> + <text name="density_exponent_label"> + WykÅ‚adnik gÄ™stoÅ›ci: + </text> + <text name="underwater_modifier_label"> + Modyfikator pod wodÄ…: + </text> + <text name="FresnelScaleText"> + Skala Fresnela: + </text> + <text name="FresnelOffsetText"> + Przesun. Fresnela: + </text> + </layout_panel> + <layout_panel name="lp_bottom"> + <layout_stack name="water_stack2"> + <layout_panel name="lp_left"> + <text name="normal_map_label"> + Mapa normalnych + </text> + <text name="large_wave_speed_label"> + PrÄ™dkość dużej fali + </text> + <text name="small_wave_speed_label"> + PrÄ™dkość maÅ‚ej fali + </text> + <text name="reflection_wavelet_scale_label"> + Skala odbicia falkowego + </text> + </layout_panel> + <layout_panel name="lp_right"> + <text name="refraction_and_blur_label"> + Refrakcja i rozmycie: + </text> + <text name="refraction_scale_above_label"> + Skala refrakcji (powyżej) + </text> + <text name="refraction_scale_below_label"> + Skala refrakcji (poniżej) + </text> + <text name="blur_multiplier_label"> + Mnożnik rozmycia + </text> + </layout_panel> + </layout_stack> + </layout_panel> + </layout_stack> +</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_twitter_account.xml b/indra/newview/skins/default/xui/pl/panel_twitter_account.xml deleted file mode 100644 index c8f60b0dc6..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="PoÅ‚Ä…czenie z Twitterem jako:" /> - <string name="twitter_disconnected" value="Brak poÅ‚Ä…czenia z Twitterem" /> - <text name="account_caption_label"> - Brak poÅ‚Ä…czenia z Twitterem. - </text> - <panel name="panel_buttons"> - <button label="PoÅ‚Ä…cz..." name="connect_btn" /> - <button label="RozÅ‚Ä…cz" name="disconnect_btn" /> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 WiÄ™cej o wysyÅ‚aniu na Twittera] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml b/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml deleted file mode 100644 index 0716d891f5..0000000000 --- a/indra/newview/skins/default/xui/pl/panel_twitter_photo.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Co siÄ™ dzieje? - </text> - <check_box label="DoÅ‚Ä…cz lokalizacjÄ™ z SL" name="add_location_cb" /> - <check_box label="DoÅ‚Ä…cz zdjÄ™cie" name="add_photo_cb" /> - <combo_box name="resolution_combobox" tool_tip="Rozdzielczość obrazka"> - <combo_box.item label="Obecne okno" name="CurrentWindow" /> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtry obrazka"> - <combo_box.item label="Bez filtru" name="NoFilter" /> - </combo_box> - <text name="working_lbl"> - OdÅ›wieżanie... - </text> - <button label="OdÅ›wież" name="new_snapshot_btn" tool_tip="Kliknij, aby odÅ›wieżyć" /> - <button label="PodglÄ…d" name="big_preview_btn" tool_tip="Kliknij, aby przeÅ‚Ä…czyć podglÄ…d" /> - <button label="Tweetnij" name="post_photo_btn" /> - <button label="Anuluj" name="cancel_photo_btn" /> -</panel> diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index 90d2d86c02..26ec6cc9dc 100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -18,8 +18,11 @@ <string name="StartupRequireDriverUpdate"> Nie można zainicjować grafiki. Zaktualizuj sterowniki! </string> + <string name="BuildConfig"> + Konfiguracja budowania: [BUILD_CONFIG] + </string> <string name="AboutPosition"> -PoÅ‚ożenie [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] w [REGION] zlokalizowanym w <nolink>[HOSTNAME]</nolink> ([HOSTIP]) +PoÅ‚ożenie [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] w [REGION] zlokalizowanym w <nolink>[HOSTNAME]</nolink> SLURL: <nolink>[SLURL]</nolink> (koordynaty globalne [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1]) [SERVER_VERSION] @@ -28,28 +31,53 @@ SLURL: <nolink>[SLURL]</nolink> <string name="AboutSystem"> Procesor (CPU): [CPU] Pamięć (Memory): [MEMORY_MB] MB -Wersja OS (OS Version): [OS_VERSION] -Sprzedawca karty graficznej (Graphics Card Vendor): [GRAPHICS_CARD_VENDOR] +System operacyjny (OS Version): [OS_VERSION] +Dostawca karty graficznej (Graphics Card Vendor): [GRAPHICS_CARD_VENDOR] Karta graficzna (Graphics Card): [GRAPHICS_CARD] </string> <string name="AboutDriver"> - Sterownik karty graficznej Windows (Driver Version): [GRAPHICS_DRIVER_VERSION] + Sterownik karty graficznej (Driver Version): [GRAPHICS_DRIVER_VERSION] + </string> + <string name="AboutOGL"> + Wersja OpenGL: [OPENGL_VERSION] + </string> + <string name="AboutSettings"> +Rozmiar okna (Window size): [WINDOW_WIDTH]x[WINDOW_HEIGHT] +Dostrojenie rozmiaru czcionki: [FONT_SIZE_ADJUSTMENT]pt +Skalowanie interfejsu (UI Scaling): [UI_SCALE] +Pole widzenia (Draw Distance): [DRAW_DISTANCE]m +Przepustowość (Bandwidth): [NET_BANDWITH]kbit/s +Mnożnik poziomu detali (LOD Factor): [LOD_FACTOR] +Jakość wyÅ›wietlania (Render quality): [RENDER_QUALITY] +Zaawansowane oÅ›wietlenie (Advanced Lighting Model): [GPU_SHADERS] +Pamięć tekstur (Texture memory): [TEXTURE_MEMORY]MB +Pamięć podrÄ™czna dysku (Disk cache): [DISK_CACHE_INFO] + </string> + <string name="AboutOSXHiDPI"> + Tryb obrazu HiDPI: [HIDPI] </string> <string name="AboutLibs"> -Wersja OpenGL: [OPENGL_VERSION] - Wersja dekodera J2C: [J2C_VERSION] Wersja sterownika dźwiÄ™ku (Audio Driver): [AUDIO_DRIVER_VERSION] -Wersja CEF: [LIBCEF_VERSION] +[LIBCEF_VERSION] Wersja LibVLC: [LIBVLC_VERSION] Wersja serwera gÅ‚osu (Voice Server): [VOICE_VERSION] </string> <string name="AboutTraffic"> Pakiety utracone: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) </string> + <string name="AboutTime"> + [day, datetime, slt] [month, datetime, slt] [year, datetime, slt], [hour24, datetime, slt]:[min, datetime, slt]:[second, datetime, slt] SLT + </string> + <string name="LocalTime"> + [day, datetime, local] [month, datetime, local] [year, datetime, local], [hour24, datetime, local]:[min, datetime, local]:[second, datetime, local] + </string> <string name="ErrorFetchingServerReleaseNotesURL"> BÅ‚Ä…d podczas pobierania informacji o wydaniu. </string> + <string name="BuildConfiguration"> + Konfiguracja budowania + </string> <string name="ProgressRestoring"> Przywracanie... </string> @@ -123,22 +151,28 @@ Wersja serwera gÅ‚osu (Voice Server): [VOICE_VERSION] Pobieranie ubrania... </string> <string name="InvalidCertificate"> - Serwer zwróciÅ‚ nieważny lub znieksztaÅ‚cony certyfikat. ProszÄ™ skontaktuj siÄ™ z administratorem siatki. + Serwer zwróciÅ‚ nieważny lub znieksztaÅ‚cony certyfikat. ProszÄ™ skontaktuj siÄ™ z administratorem Å›wiata. </string> <string name="CertInvalidHostname"> - Nazwa hosta jest nieważna, proszÄ™ sprawdź SLURL lub nazwÄ™ hosta siatki. + Nazwa hosta jest nieważna, proszÄ™ sprawdź SLURL lub nazwÄ™ hosta Å›wiata. </string> <string name="CertExpired"> - Termin ważnoÅ›ci certyfikatu zwróconego przez siatkÄ™ minÄ…Å‚. ProszÄ™ sprawdzić swój zegar systemowy lub skontaktować siÄ™ z administratorem siatki. + Termin ważnoÅ›ci certyfikatu zwróconego przez Å›wiat minÄ…Å‚. ProszÄ™ sprawdzić swój zegar systemowy lub skontaktować siÄ™ z administratorem Å›wiata. </string> <string name="CertKeyUsage"> - Certyfikat zwrócony przez serwer nie może być użyty dla SSL. ProszÄ™ skontaktuj siÄ™ z administratorem siatki. + Certyfikat zwrócony przez serwer nie może być użyty dla SSL. ProszÄ™ skontaktuj siÄ™ z administratorem Å›wiata. </string> <string name="CertBasicConstraints"> - Zbyt wiele certyfikatów w Å‚aÅ„cuchu certyfikatów serwera. ProszÄ™ skontaktować siÄ™ z administratorem siatki. + Zbyt wiele certyfikatów w Å‚aÅ„cuchu certyfikatów serwera. ProszÄ™ skontaktować siÄ™ z administratorem Å›wiata. + </string> + <string name="CertInvalid"> + Nie udaÅ‚o siÄ™ zaÅ‚adować certyfikatu. Skontaktuj siÄ™ ze swoim administratorem Å›wiata. </string> <string name="CertInvalidSignature"> - Podpis certyfikatu zwrócony przez siatkÄ™ nie mógÅ‚ zostać zweryfikowany. ProszÄ™ skontaktować siÄ™ z administratorem siatki. + Podpis certyfikatu zwrócony przez Å›wiat nie mógÅ‚ zostać zweryfikowany. ProszÄ™ skontaktować siÄ™ z administratorem Å›wiata. + </string> + <string name="CertAllocationFailure"> + Nie udaÅ‚o siÄ™ przydzielić pamiÄ™ci openssl dla certyfikatu. </string> <string name="LoginFailedNoNetwork"> BÅ‚Ä…d sieci: Brak poÅ‚Ä…czenia z sieciÄ…, sprawdź status swojego poÅ‚Ä…czenia internetowego. @@ -149,6 +183,12 @@ Wersja serwera gÅ‚osu (Voice Server): [VOICE_VERSION] <string name="Quit"> WyÅ‚Ä…cz </string> + <string name="AgniGridLabel"> + Second Life: Å›wiat główny (Agni) + </string> + <string name="AditiGridLabel"> + Second Life Beta: Å›wiat testowy (Aditi) + </string> <string name="LoginFailedViewerNotPermitted"> PrzeglÄ…darka używana przez Ciebie nie ma już dostÄ™pu do Second Life. ProszÄ™ przejść na poniższÄ… stronÄ™ i pobrać nowÄ…: http://secondlife.com/download @@ -156,6 +196,10 @@ http://secondlife.com/download WiÄ™cej informacji w naszym FAQ: http://secondlife.com/viewer-access-faq </string> + <string name="LoginFailed"> + Logowanie nieudane. +JeÅ›li uważasz, że to bÅ‚Ä…d, skontaktuj siÄ™ z support@secondlife.com. + </string> <string name="LoginIntermediateOptionalUpdateAvailable"> Opcjonalna aktualizacja jest dostÄ™pna: [VERSION]. </string> @@ -170,6 +214,7 @@ http://secondlife.com/viewer-access-faq Upewnij siÄ™, że wpisano poprawnie: * Login (np. bobsmith12 czy steller.sunshine) * HasÅ‚o + * Token weryfikacji dwuetapowej (gdy wÅ‚Ä…czona) Sprawdź też, czy klawisz Caps Lock nie jest wciÅ›niÄ™ty. </string> <string name="LoginFailedPasswordChanged"> @@ -199,14 +244,17 @@ Osoby posiadajÄ…ce darmowe konta nie mogÄ… siÄ™ teraz zalogować, aby ludzie pos JeÅ›li myÅ›lisz, że to bÅ‚Ä…d skontaktuj siÄ™ z support@secondlife.com </string> + <string name="PacificTime"> + czas pacyficzny + </string> <string name="LoginFailedAcountSuspended"> Twoje konto jest niedostÄ™pne do -[TIME] czasu pacyficznego. +[TIME]. +JeÅ›li myÅ›lisz, że to bÅ‚Ä…d skontaktuj siÄ™ z support@secondlife.com </string> <string name="LoginFailedAccountDisabled"> Nie jesteÅ›my w stanie na tÄ… chwilÄ™ wykonać Twojego żądania. -Aby uzyskać pomoc skontaktuj siÄ™ ze wsparciem: http://secondlife.com/support -JeÅ›li nie możesz zmienić swojego hasÅ‚a zadzwoÅ„ pod numer (866) 476-9763. +Aby uzyskać pomoc skontaktuj siÄ™ ze wsparciem: http://support.secondlife.com </string> <string name="LoginFailedTransformError"> Podczas logowania wykryto niespójność danych. @@ -215,7 +263,7 @@ Skontaktuj siÄ™ z nami: support@secondlife.com <string name="LoginFailedAccountMaintenance"> Twoje konto jest w trakcie drobnych konserwacji. Nie bÄ™dzie ono dostÄ™pne do -[TIME] czasu pacyficznego. +[TIME]. JeÅ›li myÅ›lisz, że to bÅ‚Ä…d skontaktuj siÄ™ z support@secondlife.com </string> <string name="LoginFailedPendingLogoutFault"> @@ -223,8 +271,7 @@ JeÅ›li myÅ›lisz, że to bÅ‚Ä…d skontaktuj siÄ™ z support@secondlife.com </string> <string name="LoginFailedPendingLogout"> System w tej chwili CiÄ™ wylogowywuje. -Twoje konto bÄ™dzie niedostÄ™pne do -[TIME] czasu pacyficznego. +Poczekaj chwilÄ™, zanim spróbujesz zalogować siÄ™ ponownie. </string> <string name="LoginFailedUnableToCreateSession"> Nie można utworzyć poprawnej sesji. @@ -282,6 +329,10 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. System rozpoczÄ…Å‚ wylogowywanie Twojej ostatniej sesji. Spróbuj zalogować siÄ™ ponownie za minutÄ™. </string> + <string name="LoginFailedAuthenticationMFARequired"> + Wprowadź nowy token z aplikacji do uwierzytelniania wieloskÅ‚adnikowego. +JeÅ›li myÅ›lisz, że to bÅ‚Ä…d skontaktuj siÄ™ z support@secondlife.com + </string> <string name="AgentLostConnection"> Ten region może mieć problemy. Sprawdź podÅ‚Ä…czenie do Internetu. </string> @@ -303,60 +354,6 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="TestingDisconnect"> Testowanie rozÅ‚Ä…czenia klienta </string> - <string name="SocialFacebookConnecting"> - ÅÄ…czenie z Facebookiem... - </string> - <string name="SocialFacebookPosting"> - WysyÅ‚anie... - </string> - <string name="SocialFacebookDisconnecting"> - RozÅ‚Ä…czanie z Facebookiem... - </string> - <string name="SocialFacebookErrorConnecting"> - Problem z Å‚Ä…czeniem z Facebookiem - </string> - <string name="SocialFacebookErrorPosting"> - Problem z wysyÅ‚aniem na Facebooka - </string> - <string name="SocialFacebookErrorDisconnecting"> - Problem z rozÅ‚Ä…czaniem z Facebookiem - </string> - <string name="SocialFlickrConnecting"> - ÅÄ…czenie z Flickr... - </string> - <string name="SocialFlickrPosting"> - WysyÅ‚anie... - </string> - <string name="SocialFlickrDisconnecting"> - RozÅ‚Ä…czanie z Flickr... - </string> - <string name="SocialFlickrErrorConnecting"> - Problem z Å‚Ä…czeniem z Flickr - </string> - <string name="SocialFlickrErrorPosting"> - Problem z wysyÅ‚aniem na Flickr - </string> - <string name="SocialFlickrErrorDisconnecting"> - Problem z rozÅ‚Ä…czaniem z Flickr - </string> - <string name="SocialTwitterConnecting"> - ÅÄ…czenie z Twitterem... - </string> - <string name="SocialTwitterPosting"> - WysyÅ‚anie... - </string> - <string name="SocialTwitterDisconnecting"> - RozÅ‚Ä…czanie z Twitterem... - </string> - <string name="SocialTwitterErrorConnecting"> - Problem z Å‚Ä…czeniem z Twitterem - </string> - <string name="SocialTwitterErrorPosting"> - Problem z wysyÅ‚aniem na Twittera - </string> - <string name="SocialTwitterErrorDisconnecting"> - Problem z rozÅ‚Ä…czaniem z Twittera - </string> <string name="BlackAndWhite"> CzerÅ„ i biel </string> @@ -436,29 +433,56 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Nie możesz zaÅ‚ożyć folderu, który zawiera wiÄ™cej niż [AMOUNT] przedmiotów. Możesz zmienić ten limit w Zaawansowane > Pokaż ustawienia debugowania > WearFolderLimit. </string> <string name="TooltipPrice" value="[AMOUNT]L$: "/> + <string name="TooltipSLIcon"> + Link do strony znajdujÄ…cej siÄ™ w oficjalnej domenie SecondLife.com lub LindenLab.com. + </string> <string name="TooltipOutboxDragToWorld"> - Nie możesz rezzować obiektów w skrzynce nadawczej kupca + Nie możesz rezzować obiektów z folderu rzeczy na Marketplace + </string> + <string name="TooltipOutboxWorn"> + Nie możesz umieszczać na Marketplace przedmiotów, które masz na sobie zaÅ‚ożone + </string> + <string name="TooltipOutboxFolderLevels"> + GÅ‚Ä™bokość zagnieżdżonych folderów przekracza [AMOUNT]. Zmniejsz ilość zagdzieżdżeÅ„; Spakuj przedmioty w pudeÅ‚ka, jeÅ›li to pomoże. + </string> + <string name="TooltipOutboxTooManyFolders"> + Ilość podfolderów przekracza [AMOUNT]. Zmniejsz ilość folderów; Spakuj przedmioty w pudeÅ‚ka, jeÅ›li to pomoże. + </string> + <string name="TooltipOutboxTooManyObjects"> + Ilość rzeczy przekracza [AMOUNT]. JeÅ›li chcesz sprzedać wiÄ™cej, niż [AMOUNT] rzeczy jako jednÄ… pozycjÄ™, to musisz je spakować w pudeÅ‚ka. + </string> + <string name="TooltipOutboxTooManyStockItems"> + Ilość przedmiotów w folderze Magazynowym przekracza [AMOUNT]. + </string> + <string name="TooltipOutboxCannotDropOnRoot"> + Możesz przenosić foldery lub przedmioty wyÅ‚Ä…cznie do kart WSZYSTKO lub NIEPRZYPISANE. Wybierz teraz jednÄ… z tych kart i spróbuj ponownie. </string> <string name="TooltipOutboxNoTransfer"> - Jeden lub kilka z tych obiektów nie może zostać sprzedany / przetransferowany. + Jeden lub kilka z tych obiektów nie może zostać sprzedany / przetransferowany </string> <string name="TooltipOutboxNotInInventory"> - Twoja skrzynka nadawcza kupca akceptuje tylko przedmioty bezpoÅ›rednio z Twojej Szafy. + Marketplace akceptuje tylko przedmioty bezpoÅ›rednio z Twojej Szafy. </string> - <string name="TooltipOutboxWorn"> - Nie możesz umieszczać w skrzynce nadawczej kupca przedmiotów, które masz na sobie zaÅ‚ożone + <string name="TooltipOutboxLinked"> + Nie możesz sprzedać zlinkowanych folderów lub przedmiotów na Marketplace </string> <string name="TooltipOutboxCallingCard"> - Nie możesz umieszczać wizytówek w skrzynce nadawczej kupca + Nie możesz umieszczać wizytówek na Marketplace </string> - <string name="TooltipOutboxFolderLevels"> - GÅ‚Ä™bokość zagnieżdżonych folderów przekracza 3 + <string name="TooltipOutboxDragActive"> + Nie można przenieść wylistowanej rzeczy </string> - <string name="TooltipOutboxTooManyFolders"> - Ilość podfolderów w folderze najwyższego poziomu przekracza 20 + <string name="TooltipOutboxCannotMoveRoot"> + Nie możesz przenieść folderu głównego rzeczy na Marketplace </string> - <string name="TooltipOutboxTooManyObjects"> - Ilość pozycji w folderze najwyższego poziomu przekracza 200 + <string name="TooltipOutboxMixedStock"> + Wszystkie rzeczy w folderze Magazynowym muszÄ… mieć ten sam typ i zezwolenia + </string> + <string name="TooltipOutfitNotInInventory"> + W "Strojach" możesz umieszczać tylko przedmioty lub stroje z wÅ‚asnej Szafy + </string> + <string name="TooltipCantCreateOutfit"> + Jeden lub wiÄ™cej przedmiotów nie może być użyty w "Strojach" </string> <string name="TooltipDragOntoOwnChild"> Nie możesz przenieść folderu do jego obiektu podrzÄ™dnego @@ -521,6 +545,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Kliknij aby uruchomić komendÄ™ secondlife:// </string> <string name="CurrentURL" value=" Obecny URL: [CurrentURL]"/> + <string name="TooltipEmail"> + Kliknij aby utworzyć wiadomość e-mail + </string> <string name="SLurlLabelTeleport"> Teleportuj do </string> @@ -569,6 +596,15 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="BUTTON_HELP"> Pokaż Pomoc </string> + <string name="TooltipNotecardNotAllowedTypeDrop"> +Przedmioty tego typu nie mogÄ… być doÅ‚Ä…czane +do notek z tego regionu. + </string> + <string name="TooltipNotecardOwnerRestrictedDrop"> +Tylko przedmioty z nieograniczonymi +uprawnieniami 'nastÄ™pnego wÅ‚aÅ›ciciela' +mogÄ… być doÅ‚Ä…czane do notek. + </string> <string name="Searching"> Wyszukiwanie... </string> @@ -588,7 +624,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. (brak danych) </string> <string name="AvatarNameWaiting"> - (Å‚adowanie) + (Wczytywanie...) </string> <string name="AvatarNameMultiple"> (kilka) @@ -629,6 +665,31 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="AssetErrorUnknownStatus"> Status nieznany </string> + <string name="AssetUploadServerUnreacheble"> + UsÅ‚uga niedostÄ™pna. + </string> + <string name="AssetUploadServerDifficulties"> + Serwer doÅ›wiadcza nieoczekiwanych trudnoÅ›ci. + </string> + <string name="AssetUploadServerUnavaliable"> + UsÅ‚uga niedostÄ™pna lub osiÄ…gniÄ™to limit czasu. + </string> + <string name="AssetUploadRequestInvalid"> + BÅ‚Ä…d podczas przesyÅ‚ania. Odwiedź +http://secondlife.com/support aby uzyskać pomoc. + </string> + <string name="SettingValidationError"> + Walidacja nie powiodÅ‚a siÄ™ - importowanie ustawieÅ„ [NAME] + </string> + <string name="SettingImportFileError"> + Nie można otworzyć pliku [FILE] + </string> + <string name="SettingParseFileError"> + Nie można otworzyć pliku [FILE] + </string> + <string name="SettingTranslateError"> + Nie można przetÅ‚umaczyć windlight [NAME] + </string> <string name="texture"> tekstury </string> @@ -698,15 +759,18 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="favorite"> ulubione </string> + <string name="symbolic link"> + link + </string> <string name="symbolic folder link"> link folderu </string> + <string name="settings blob"> + otoczenie + </string> <string name="mesh"> mesz </string> - <string name="settings"> - ustawieÅ„ - </string> <string name="AvatarEditingAppearance"> (Edycja wyglÄ…du) </string> @@ -714,7 +778,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Åšpi </string> <string name="AvatarDoNotDisturb"> - ZajÄ™ty + ZajÄ™ty/a </string> <string name="AvatarMuted"> Wyciszony @@ -957,10 +1021,10 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Nie można znaleźć Podstawy lub Stawu. </string> <string name="NearbyChatTitle"> - Czat lokalny + Czat w pobliżu </string> <string name="NearbyChatLabel"> - (Czat lokalny) + (Czat w pobliżu) </string> <string name="whisper"> szepcze: @@ -1034,15 +1098,18 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="ChangeYourDefaultAnimations"> Zmieniać Twoje domyÅ›lne animacje </string> + <string name="ForceSitAvatar"> + Zmuszać Twojego awatara do siadania + </string> + <string name="ChangeEnvSettings"> + Zmieniać Twoje ustawienia otoczenia + </string> <string name="NotConnected"> Brak poÅ‚Ä…czenia </string> <string name="AgentNameSubst"> (Ty) </string> - <string name="JoinAnExperience"> - Rozpocznij przygodÄ™ - </string> <string name="SilentlyManageEstateAccess"> Wyciszyć powiadomienia o zmianach zezwoleÅ„ MajÄ…tku </string> @@ -1172,6 +1239,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="tattoo"> Tatuaż </string> + <string name="universal"> + Warstwa uniwersalna + </string> <string name="physics"> Fizyka </string> @@ -1214,6 +1284,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="tattoo_not_worn"> Tatuaż nie jest zaÅ‚ożony </string> + <string name="universal_not_worn"> + Warstwa uniwersalna nie jest zaÅ‚ożona + </string> <string name="physics_not_worn"> Fizyka nie jest zaÅ‚ożona </string> @@ -1260,13 +1333,16 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Nowa spódnica </string> <string name="create_new_alpha"> - Nowe alpha + Nowa warstwa alpha </string> <string name="create_new_tattoo"> Nowy tatuaż </string> + <string name="create_new_universal"> + Nowa warstwa uniwersalna + </string> <string name="create_new_physics"> - NowÄ… fizyka + Nowa fizyka </string> <string name="create_new_invalid"> nieprawidÅ‚owy @@ -1284,7 +1360,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. OgÅ‚oszenia grupowe </string> <string name="GroupNotifySentBy"> - WysÅ‚ane przez + WysÅ‚aÅ‚/a </string> <string name="GroupNotifyAttached"> ZaÅ‚Ä…czone: @@ -1325,6 +1401,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="BodyPartsRightLeg"> Prawa noga </string> + <string name="BodyPartsEnhancedSkeleton"> + Rozszerzony szkielet + </string> <string name="GraphicsQualityLow"> Niska </string> @@ -1340,11 +1419,20 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="InventoryNoMatchingItems"> Nie udaÅ‚o Ci siÄ™ znaleźć tego, czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Wyszukiwarki]. </string> + <string name="InventoryNoMatchingRecentItems"> + Nie udaÅ‚o Ci siÄ™ znaleźć tego, czego szukasz? Spróbuj [secondlife:///app/inventory/filters Filtrowania]. + </string> <string name="PlacesNoMatchingItems"> - Nie udaÅ‚o Ci siÄ™ znaleźć tego, czego szukasz? Spróbuj [secondlife:///app/search/places/[SEARCH_TERM] Wyszukiwarki]. + Aby dodać miejsce do ulubionych, kliknij gwiazdkÄ™ po prawej stronie nazwy lokalizacji. </string> <string name="FavoritesNoMatchingItems"> - PrzeciÄ…gnij landmark tutaj aby dodać go do swoich ulubionych. + Aby dodać miejsce do ulubionych, kliknij gwiazdkÄ™ po prawej stronie nazwy lokalizacji, a nastÄ™pnie zapisz landmark na pasku "Ulubione". + </string> + <string name="MarketplaceNoListing"> + Nie masz jeszcze żadnych przedmiotów na Marketplace. + </string> + <string name="MarketplaceNoMatchingItems"> + Niczego nie znaleziono. Sprawdź pisowniÄ™ i spróbuj ponownie. </string> <string name="InventoryNoTexture"> Nie posiadasz kopii tej tekstury w swojej Szafie. @@ -1352,6 +1440,15 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="InventoryInboxNoItems"> Przedmioty zakupione na Marketplace pojawiÄ… siÄ™ tutaj. Możesz nastÄ™pnie przeciÄ…gnąć je do głównej części Szafy. </string> + <string name="InventoryPlayAnimationTooltip"> + Otwórz okno z opcjami odtwarzania. + </string> + <string name="InventoryPlayGestureTooltip"> + Odtwarzaj wybrany gest w Å›wiecie. + </string> + <string name="InventoryPlaySoundTooltip"> + Otwórz okno z opcjami odtwarzania. + </string> <string name="InventoryOutboxNotMerchantTitle"> Każdy może sprzedawać przedmioty na Marketplace. </string> @@ -1376,29 +1473,110 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="InventoryOutboxError"> [[MARKETPLACE_CREATE_STORE_URL] Sklep na Marketplace] zwraca bÅ‚Ä™dy. </string> + <string name="InventoryMarketplaceError"> + WystapiÅ‚ bÅ‚Ä…d podczas otwierania listy rzeczy z Marketplace. +JeÅ›li ciÄ…gle otrzymujesz tÄ… wiadomość, to skontaktuj siÄ™ z pomocÄ… technicznÄ… Second Life: http://support.secondlife.com + </string> + <string name="InventoryMarketplaceConnectionError"> + WystapiÅ‚ bÅ‚Ä…d podczas Å‚Ä…czenia z Marketplace. +JeÅ›li ciÄ…gle otrzymujesz tÄ… wiadomość, to skontaktuj siÄ™ z pomocÄ… technicznÄ… Second Life: http://support.secondlife.com + </string> + <string name="InventoryMarketplaceConnectionErrorReason"> + WystapiÅ‚ bÅ‚Ä…d podczas Å‚Ä…czenia z Marketplace. Powód: [REASON] +JeÅ›li ciÄ…gle otrzymujesz tÄ… wiadomość, to skontaktuj siÄ™ z pomocÄ… technicznÄ… Second Life: http://support.secondlife.com + </string> + <string name="InventoryMarketplaceListingsNoItemsTitle"> + Twój folder rzeczy na Marketplace jest pusty. + </string> + <string name="InventoryMarketplaceListingsNoItems"> + PrzeciÄ…gnij foldery do tego obszaru, aby dodać je na listÄ™ sprzedaży w [[MARKETPLACE_DASHBOARD_URL] Marketplace]. + </string> + <string name="InventoryItemsCount"> + ( [ITEMS_COUNT] elementów ) + </string> + <string name="Marketplace Validation Warning Stock"> + folder Magazynowy musi być zawarty w folderze wersji + </string> + <string name="Marketplace Validation Error Mixed Stock"> + : BÅ‚Ä…d: wszystkie przedmioty w folderze Magazynowym muszÄ… mieć ten sam typ i być niekopiowalne + </string> + <string name="Marketplace Validation Error Subfolder In Stock"> + : BÅ‚Ä…d: folder Magazynowy nie może zawierać podfolderów + </string> + <string name="Marketplace Validation Warning Empty"> + : Uwaga: folder jest pusty + </string> + <string name="Marketplace Validation Warning Create Stock"> + : Uwaga: tworzÄ™ folder Magazynowy + </string> + <string name="Marketplace Validation Warning Create Version"> + : Uwaga: tworzÄ™ folder wersji + </string> + <string name="Marketplace Validation Warning Move"> + : Uwaga: przenoszÄ™ przedmioty + </string> + <string name="Marketplace Validation Warning Delete"> + : Uwaga: zawartość folderu przeniesiona do folderu Magazynowego, usuwam pusty katalog + </string> + <string name="Marketplace Validation Error Stock Item"> + : BÅ‚Ä…d: przedmioty bez praw kopiowania muszÄ… siÄ™ znajdować w folderze Magazynowym + </string> + <string name="Marketplace Validation Warning Unwrapped Item"> + : Uwaga: przedmioty muszÄ… siÄ™ znajdować w folderze wersji + </string> + <string name="Marketplace Validation Error"> + : BÅ‚Ä…d: + </string> + <string name="Marketplace Validation Warning"> + : Uwaga: + </string> + <string name="Marketplace Validation Error Empty Version"> + : Uwaga: folder wersji musi zawierać przynajmniej jednÄ… pozycjÄ™ + </string> + <string name="Marketplace Validation Error Empty Stock"> + : Uwaga: folder Magazynowy musi zawierać przynajmniej jednÄ… pozycjÄ™ + </string> + <string name="Marketplace Validation No Error"> + Brak bÅ‚Ä™dów lub ostrzeżeÅ„ + </string> <string name="Marketplace Error None"> Brak bÅ‚Ä™dów </string> + <string name="Marketplace Error Prefix"> + BÅ‚Ä…d: + </string> <string name="Marketplace Error Not Merchant"> - BÅ‚Ä…d: Przed wysÅ‚aniem przedmiotów na Marketplace musisz zostać kupcem (darmowe). + Przed wysÅ‚aniem przedmiotów na Marketplace musisz zostać kupcem (darmowe). </string> - <string name="Marketplace Error Empty Folder"> - BÅ‚Ä…d: Ten folder nie ma zawartoÅ›ci. + <string name="Marketplace Error Not Accepted"> + Nie można przenieść tego przedmiotu. </string> - <string name="Marketplace Error Unassociated Products"> - BÅ‚Ä…d: Ta pozycja nie może zostać zaÅ‚adowana, ponieważ Twoje konto kupca ma zbyt wiele nieprzypisanych przedmiotów. Aby naprawić ten bÅ‚Ä…d zaloguj siÄ™ na stronÄ™ Marketplace i zmniejsz ilość nieprzypisanych (unassociated) przedmiotów. + <string name="Marketplace Error Unsellable Item"> + Ta pozycja nie może być sprzedana na Marketplace. </string> - <string name="Marketplace Error Object Limit"> - BÅ‚Ä…d: Ta pozycja zawiera zbyt wiele elementów. Umieść przedmioty razem w pudeÅ‚kach, aby zmniejszyć ich caÅ‚kowitÄ… liczbÄ™ do mniej niż 200. + <string name="MarketplaceNoID"> + Brak Mkt ID </string> - <string name="Marketplace Error Folder Depth"> - BÅ‚Ä…d: Ta pozycja zawiera zbyt wiele zagnieżdżonych folderów. Zreorganizuj wszystko tak, aby byÅ‚y obecne maksymalnie 3 poziomy zagnieżdżonych folderów. + <string name="MarketplaceLive"> + na liÅ›cie </string> - <string name="Marketplace Error Unsellable Item"> - BÅ‚Ä…d: Ta pozycja nie może być sprzedana na Marketplace. + <string name="MarketplaceActive"> + aktywne + </string> + <string name="MarketplaceMax"> + maks + </string> + <string name="MarketplaceStock"> + magazyn </string> - <string name="Marketplace Error Internal Import"> - BÅ‚Ä…d: WystÄ…piÅ‚ problem z tÄ… pozycjÄ…. Spróbuj ponownie później. + <string name="MarketplaceNoStock"> + brak w Magazynie + </string> + <string name="MarketplaceUpdating"> + aktualizacja... + </string> + <string name="UploadFeeInfo"> + OpÅ‚ata zależy od Twojego poziomu czÅ‚onkostwa. Wyższe poziomy to niższe opÅ‚aty. [https://secondlife.com/my/account/membership.php? WiÄ™cej] </string> <string name="Open landmarks"> Otwórz landmarki @@ -1445,6 +1623,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="Scripts" value=" Skrypty,"/> <string name="Sounds" value=" DźwiÄ™ki,"/> <string name="Textures" value=" Tekstury,"/> + <string name="Settings" value=" Otoczenia," /> <string name="Snapshots" value=" ZdjÄ™cia,"/> <string name="No Filters" value="Nie "/> <string name="Since Logoff" value=" - od wylogowania"/> @@ -1614,7 +1793,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Usta </string> <string name="Chin"> - SzczÄ™ka + Podbródek </string> <string name="Left Ear"> Lewe ucho @@ -1676,6 +1855,51 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="Avatar Center"> Åšrodek awatara </string> + <string name="Left Ring Finger"> + Lewy palec serdeczny + </string> + <string name="Right Ring Finger"> + Prawy palec serdeczny + </string> + <string name="Tail Base"> + Podstawa ogona + </string> + <string name="Tail Tip"> + Koniec ogona + </string> + <string name="Left Wing"> + Lewe skrzydÅ‚o + </string> + <string name="Right Wing"> + Prawe skrzydÅ‚o + </string> + <string name="Jaw"> + SzczÄ™ka + </string> + <string name="Alt Left Ear"> + Lewe ucho 2 + </string> + <string name="Alt Right Ear"> + Prawe ucho 2 + </string> + <string name="Alt Left Eye"> + Lewe oko 2 + </string> + <string name="Alt Right Eye"> + Prawe oko 2 + </string> + <string name="Tongue"> + JÄ™zyk + </string> + <string name="Groin"> + Krocze + </string> + <string name="Left Hind Foot"> + Lewa tylna stopa + </string> + <string name="Right Hind Foot"> + Prawa tylna stopa + </string> <string name="Invalid Attachment"> NieprawidÅ‚owy punkt dodatku </string> @@ -1706,6 +1930,42 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="TodayOld"> DoÅ‚Ä…czyÅ‚ dzisiaj </string> + <string name="av_render_everyone_now"> + Wszyscy mogÄ… CiÄ™ obecnie widzieć. + </string> + <string name="av_render_not_everyone"> + Możesz nie być widziany/a przez niektóre osoby wokół Ciebie. + </string> + <string name="av_render_over_half"> + Możesz nie być widziany/a przez ponad poÅ‚owÄ™ osób wokół Ciebie. + </string> + <string name="av_render_most_of"> + Możesz nie być widziany/a przez wiÄ™kszość osób wokół Ciebie. + </string> + <string name="av_render_anyone"> + Wszystkie osoby znajdujÄ…ce siÄ™ wokół Ciebie nie mogÄ… CiÄ™ widzieć. + </string> + <string name="hud_description_total"> + Twój HUD + </string> + <string name="hud_name_with_joint"> + [OBJ_NAME] (zaÅ‚ożone na [JNT_NAME]) + </string> + <string name="hud_render_memory_warning"> + [HUD_DETAILS] używa dużo pamiÄ™ci tekstur + </string> + <string name="hud_render_cost_warning"> + [HUD_DETAILS] zawiera dużo obiektów i tekstur, jakie sÄ… ciężkie w renderowaniu + </string> + <string name="hud_render_heavy_textures_warning"> + [HUD_DETAILS] zawiera dużo tekstur w wielkich rozmiarach + </string> + <string name="hud_render_cramped_warning"> + [HUD_DETAILS] zawiera zbyt dużo obiektów + </string> + <string name="hud_render_textures_warning"> + [HUD_DETAILS] zawiera zbyt dużo tekstur + </string> <string name="AgeYearsA"> [COUNT] rok </string> @@ -1764,10 +2024,10 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Pracownik Linden Lab </string> <string name="PaymentInfoUsed"> - PÅ‚atnoÅ›ci: Dane użyte + PÅ‚atnoÅ›ci: Dane w użyciu </string> <string name="PaymentInfoOnFile"> - PÅ‚atnoÅ›ci: Dane znane + PÅ‚atnoÅ›ci: Dane przypisane </string> <string name="NoPaymentInfoOnFile"> PÅ‚atnoÅ›ci: Dane nieznane @@ -1823,6 +2083,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="CompileQueueUnknownFailure"> Nieznany bÅ‚Ä…d podczas pobierania </string> + <string name="CompileNoExperiencePerm"> + Pomijanie skryptu [SCRIPT] z PrzygodÄ… [EXPERIENCE]. + </string> <string name="CompileQueueTitle"> PostÄ™p rekompilacji </string> @@ -1857,11 +2120,14 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Zapisywanie zakoÅ„czone. </string> <string name="UploadFailed"> - Åadowanie nieudane: + PrzesyÅ‚anie nieudane: </string> <string name="ObjectOutOfRange"> Skrypt (obiekt poza zasiÄ™giem) </string> + <string name="ScriptWasDeleted"> + Skrypt (usuniÄ™ty z zawartoÅ›ci obiektu) + </string> <string name="GodToolsObjectOwnedBy"> Obiekt [OBJECT] należący do [OWNER] </string> @@ -1894,6 +2160,9 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="NoGroupDataFound"> Brak informacji na temat grupy </string> + <string name="AlreadyInGroup"> + JesteÅ› już w tej grupie + </string> <string name="IMParentEstate"> majÄ…tek rodziców </string> @@ -1916,22 +2185,34 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. wszystkie majÄ…tki, które nadzorujesz dla [OWNER] </string> <string name="RegionInfoAllowedResidents"> - Dozwoleni Rezydenci: ([ALLOWEDAGENTS], maks. [MAXACCESS]) + Zawsze dozwoleni: ([ALLOWEDAGENTS], maks. [MAXACCESS]) </string> <string name="RegionInfoAllowedGroups"> - Dozwolone Grupy: ([ALLOWEDGROUPS], maks. [MAXACCESS]) + Zawsze dozwolone grupy: ([ALLOWEDGROUPS], maks. [MAXACCESS]) </string> <string name="RegionInfoEstateManagers"> ZarzÄ…dcy MajÄ…tku: ([ESTATEMANAGERS], maks. [MAXMANAGERS]) </string> <string name="RegionInfoBannedResidents"> - Zbanowani Rezydenci: ([BANNEDAGENTS], maks. [MAXBANNED]) + Zawsze zbanowani: ([BANNEDAGENTS], maks. [MAXBANNED]) </string> <string name="RegionInfoListTypeAllowedAgents"> - Dozwoleni Rezydenci + zawsze dozwoleni rezydenci </string> <string name="RegionInfoListTypeBannedAgents"> - Zbanowani Rezydenci + zawsze zbanowani rezydenci + </string> + <string name="RegionInfoAllEstates"> + wszystkie majÄ…tki + </string> + <string name="RegionInfoManagedEstates"> + zarzÄ…dzane majÄ…tki + </string> + <string name="RegionInfoThisEstate"> + ten majÄ…tek + </string> + <string name="AndNMore"> + i [EXTRA_COUNT] wiÄ™cej </string> <string name="ScriptLimitsParcelScriptMemory"> Pamięć skryptów dziaÅ‚ki @@ -1976,7 +2257,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Klatka piersiowa </string> <string name="ATTACH_HEAD"> - GÅ‚owa + Czaszka </string> <string name="ATTACH_LSHOULDER"> Lewe ramiÄ™ @@ -1997,7 +2278,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Prawa stopa </string> <string name="ATTACH_BACK"> - Plecy + KrÄ™gosÅ‚up </string> <string name="ATTACH_PELVIS"> Miednica @@ -2027,13 +2308,13 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Prawe górne ramiÄ™ </string> <string name="ATTACH_RLARM"> - Prawe dolne ramiÄ™ + Prawe przedramiÄ™ </string> <string name="ATTACH_LUARM"> Lewe górne ramiÄ™ </string> <string name="ATTACH_LLARM"> - Lewe dolne ramiÄ™ + Lewe przedramiÄ™ </string> <string name="ATTACH_RHIP"> Biodro prawe @@ -2056,12 +2337,12 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="ATTACH_BELLY"> Brzuch </string> - <string name="ATTACH_RPEC"> - Prawa pierÅ› - </string> - <string name="ATTACH_LPEC"> + <string name="ATTACH_LEFT_PEC"> Lewa pierÅ› </string> + <string name="ATTACH_RIGHT_PEC"> + Prawa pierÅ› + </string> <string name="ATTACH_HUD_CENTER_2"> HUD Å›rodek 2 </string> @@ -2092,6 +2373,51 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="ATTACH_AVATAR_CENTER"> Åšrodek awatara </string> + <string name="ATTACH_LHAND_RING1"> + Lewy palec serdeczny + </string> + <string name="ATTACH_RHAND_RING1"> + Prawy palec serdeczny + </string> + <string name="ATTACH_TAIL_BASE"> + Podstawa ogona + </string> + <string name="ATTACH_TAIL_TIP"> + Koniec ogona + </string> + <string name="ATTACH_LWING"> + Lewe skrzydÅ‚o + </string> + <string name="ATTACH_RWING"> + Prawe skrzydÅ‚o + </string> + <string name="ATTACH_FACE_JAW"> + SzczÄ™ka + </string> + <string name="ATTACH_FACE_LEAR"> + Lewe ucho 2 + </string> + <string name="ATTACH_FACE_REAR"> + Prawe ucho 2 + </string> + <string name="ATTACH_FACE_LEYE"> + Lewe oko 2 + </string> + <string name="ATTACH_FACE_REYE"> + Prawe oko 2 + </string> + <string name="ATTACH_FACE_TONGUE"> + JÄ™zyk + </string> + <string name="ATTACH_GROIN"> + Krocze + </string> + <string name="ATTACH_HIND_LFOOT"> + Lewa tylna stopa + </string> + <string name="ATTACH_HIND_RFOOT"> + Prawa tylna stopa + </string> <string name="CursorPos"> Linia [LINE], Kolumna [COLUMN] </string> @@ -2129,7 +2455,7 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Brak umowy dla tego majÄ…tku. </string> <string name="RegionNoCovenantOtherOwner"> - Brak umowy dla tego majÄ…tku. DziaÅ‚ka w tym majÄ…tku zostaÅ‚a sprzedana przez wÅ‚aÅ›ciciela majÄ…tku, a nie przez Linden Lab. Skontaktuj siÄ™ z wÅ‚aÅ›cicielem majÄ…tku w celu uzyskania szczegółów sprzedaży. + Brak umowy dla tego majÄ…tku. DziaÅ‚ka w tym majÄ…tku zostaÅ‚a sprzedana przez wÅ‚aÅ›ciciela majÄ…tku. Skontaktuj siÄ™ z wÅ‚aÅ›cicielem majÄ…tku w celu uzyskania szczegółów sprzedaży. </string> <string name="covenant_last_modified" value="Ostatnia modyfikacja: "/> <string name="none_text" value=" (brak) "/> @@ -2146,6 +2472,27 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. <string name="RegionSettings"> Ustawienia regionu </string> + <string name="NoEnvironmentSettings"> + Ten region nie obsÅ‚uguje ustawieÅ„ otoczenia. + </string> + <string name="EnvironmentSun"> + SÅ‚oÅ„ce + </string> + <string name="EnvironmentMoon"> + Księżyc + </string> + <string name="EnvironmentBloom"> + Blask + </string> + <string name="EnvironmentCloudNoise"> + Szum chmur + </string> + <string name="EnvironmentNormalMap"> + Mapa normalnych + </string> + <string name="EnvironmentTransparent"> + Przezroczyste + </string> <string name="ClassifiedClicksTxt"> Kliknij: [TELEPORT] teleportuj, [MAP] mapa, [PROFILE] profil </string> @@ -2153,11 +2500,23 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. (zostanie zaktualizowane po publikacji) </string> <string name="NoPicksClassifiedsText"> - Nie dodaÅ‚eÅ›/aÅ› nic do Ulubionych i Reklam. Kliknij na przycisk + poniżej, aby dodać miejsce do Ulubionych lub Reklam. + Nie dodano nic do Miejsc i Reklam. Kliknij na przycisk Nowe, aby utworzyć Miejsce lub ReklamÄ™. + </string> + <string name="NoPicksText"> + Nie dodano żadnych Miejsc. Kliknij na przycisk Nowe, aby utworzyć Miejsce. + </string> + <string name="NoClassifiedsText"> + Nie dodano żadnych reklam. Kliknij na przycisk Nowa, aby utworzyć reklamÄ™. </string> <string name="NoAvatarPicksClassifiedsText"> Brak ulubionych miejsc/reklam </string> + <string name="NoAvatarPicksText"> + Brak ulubionych miejsc + </string> + <string name="NoAvatarClassifiedsText"> + Brak reklam + </string> <string name="PicksClassifiedsLoadingText"> Åadowanie... </string> @@ -2228,14 +2587,11 @@ Spróbuj zalogować siÄ™ ponownie za minutÄ™. Anuluj </string> <string name="UploadingCosts"> - ZaÅ‚adowanie [NAME] kosztuje [AMOUNT]L$ - </string> - <string name="BuyingCosts"> - Cena zakupu tego wynosi [AMOUNT]L$ + PrzesyÅ‚anie [NAME] kosztuje [AMOUNT]L$ </string> <string name="UnknownFileExtension"> Nieznane rozszerzenie pliku .%s -Oczekiwane .wav, .tga, .bmp, .jpg, .jpeg, lub .bvh +Oczekiwane .wav, .tga, .bmp, .jpg, .jpeg, lub .anim </string> <string name="MuteObject2"> Zablokuj @@ -2327,6 +2683,9 @@ Oczekiwane .wav, .tga, .bmp, .jpg, .jpeg, lub .bvh <string name="Linden Location"> Lokalizacja Lindenów </string> + <string name="Adult"> + Dla dorosÅ‚ych + </string> <string name="Arts&Culture"> Sztuka i Kultura </string> @@ -2383,7 +2742,7 @@ BÅ‚Ä…d: <string name="MBUnableToAccessFile"> Aplikacja [APP_NAME] nie odnalazÅ‚a poszukiwanego pliku. -Może być to spowodowane aktywnoÅ›ciÄ… kilku kopii oprogramowania w tej samej chwili lub Twój system bÅ‚Ä™dnie odczytuje proces zakoÅ„czenia dla uruchomionych aplikacji. +Może być to spowodowane aktywnoÅ›ciÄ… kilku kopii oprogramowania w tej samej chwili lub Twój system bÅ‚Ä™dnie uważa, że plik jest otwarty / zablokowany. Jeżeli nadal otrzymujesz ten komunikat, uruchom swój komputer ponownie. Jeżeli problem nadal wystÄ™puje, proponujemy caÅ‚kowite odinstalowanie aplikacji [APP_NAME] oraz ponownÄ… jej instalacjÄ™. </string> @@ -2448,7 +2807,7 @@ Uruchomione w oknie. Ustaw tryb koloru swojego wyÅ›wietlacza na 32-bity. </string> <string name="MBAlpha"> - Aplikacja [APP_NAME] nie może zostać uruchomiona, ponieważ nie jest możliwe dostanie siÄ™ na kanaÅ‚ 8 bitowy alpha. Najczęściej jest to spowodowane bÅ‚Ä™dami sterowników karty video. + Aplikacja [APP_NAME] nie może zostać uruchomiona, ponieważ nie może uzyskać dostÄ™pu do 8 bitowego kanaÅ‚u alpha. Najczęściej jest to spowodowane bÅ‚Ä™dami sterowników karty video. Upewnij siÄ™, że posiadasz najnowsze aktualizacje sterowników karty video. Dodatkowo, sprawdź czy Twój monitor posiada poprawnÄ… konfiguracjÄ™ koloru (32-bity) w Panel Sterowania > Ekran > Ustawienia. Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. @@ -2467,7 +2826,7 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. </string> - <string name="5 O'Clock Shadow"> + <string name="5 O'Clock Shadow"> CieÅ„ na godzinie 5 </string> <string name="All White"> @@ -3997,9 +4356,6 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. <string name="IM_to_label"> Do </string> - <string name="IM_moderator_label"> - (Moderator) - </string> <string name="Saved_message"> (Zapisano [LONG_TIMESTAMP]) </string> @@ -4012,6 +4368,12 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. <string name="OfflineStatus"> niedostÄ™pny/a </string> + <string name="not_online_msg"> + Ta osoba jest niedostÄ™pna - wiadomość zostanie zapisana i dostarczona później. + </string> + <string name="not_online_inventory"> + Ta osoba jest niedostÄ™pna - przedmiot zostaÅ‚ zapisany. + </string> <string name="answered_call"> Twoja rozmowa gÅ‚osowa zostaÅ‚a odebrana </string> @@ -4046,20 +4408,14 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. Konferencja z [AGENT_NAME] </string> <string name="inventory_item_offered-im"> - Zaoferowano przedmiot + Zaoferowano przedmiot: '[ITEM_NAME]' + </string> + <string name="inventory_folder_offered-im"> + Zaoferowano folder: '[ITEM_NAME]' </string> <string name="share_alert"> PrzeciÄ…gaj tutaj rzeczy z Szafy </string> - <string name="facebook_post_success"> - WysÅ‚aÅ‚eÅ›/aÅ› post na Facebooka. - </string> - <string name="flickr_post_success"> - WysÅ‚aÅ‚eÅ›/aÅ› post na Flickr. - </string> - <string name="twitter_post_success"> - WysÅ‚aÅ‚eÅ›/aÅ› post na Twittera. - </string> <string name="no_session_message"> (Sesja IM wygasÅ‚a) </string> @@ -4076,10 +4432,10 @@ Jeżeli nadal otrzymujesz ten komunikat, skontaktuj siÄ™ z [SUPPORT_SITE]. ZablokowaÅ‚eÅ›/aÅ› tego Rezydenta. WysÅ‚anie wiadomoÅ›ci odblokuje go automatycznie. </string> <string name="generic"> - BÅ‚Ä…d zapytania, proszÄ™ spróbować później + Zamknij i ponownie otwórz rozmowÄ™ - lub przeloguj siÄ™ i spróbuj ponownie. </string> <string name="generic_request_error"> - BÅ‚Ä…d. Spróbuj ponownie za kilka minut. + Zamknij i ponownie otwórz rozmowÄ™ - lub przeloguj siÄ™ i spróbuj ponownie. </string> <string name="insufficient_perms_error"> Nie masz wystarczajÄ…cych uprawnieÅ„. @@ -4131,6 +4487,9 @@ JeÅ›li nie pojawi siÄ™ w ciÄ…gu kilku minut może to oznaczać, że zostaÅ‚a pom <string name="unread_chat_multiple"> [SOURCES] powiedziaÅ‚/a coÅ› nowego </string> + <string name="teleport_preamble_compact_chat"> + JesteÅ› teraz w + </string> <string name="session_initialization_timed_out_error"> Inicjalizacja sesji wygasÅ‚a </string> @@ -4140,12 +4499,18 @@ JeÅ›li nie pojawi siÄ™ w ciÄ…gu kilku minut może to oznaczać, że zostaÅ‚a pom <string name="paid_you_ldollars"> [NAME] zapÅ‚aciÅ‚/a Tobie [AMOUNT]L$ [REASON]. </string> + <string name="paid_you_ldollars_gift"> + [NAME] zapÅ‚aciÅ‚/a Tobie [AMOUNT]L$: [REASON] + </string> <string name="paid_you_ldollars_no_reason"> [NAME] zapÅ‚aciÅ‚/a Tobie [AMOUNT]L$. </string> <string name="you_paid_ldollars"> ZapÅ‚acono [NAME] [AMOUNT]L$ [REASON]. </string> + <string name="you_paid_ldollars_gift"> + ZapÅ‚acono [NAME] [AMOUNT]L$: [REASON] + </string> <string name="you_paid_ldollars_no_info"> ZapÅ‚acono [AMOUNT]L$. </string> @@ -4158,6 +4523,9 @@ JeÅ›li nie pojawi siÄ™ w ciÄ…gu kilku minut może to oznaczać, że zostaÅ‚a pom <string name="you_paid_failure_ldollars"> Nie udaÅ‚o siÄ™ zapÅ‚acić [NAME] [AMOUNT]L$ [REASON]. </string> + <string name="you_paid_failure_ldollars_gift"> + Nie udaÅ‚o siÄ™ zapÅ‚acić [NAME] [AMOUNT]L$: [REASON] + </string> <string name="you_paid_failure_ldollars_no_info"> Nie udaÅ‚o siÄ™ zapÅ‚acić [AMOUNT]L$. </string> @@ -4186,25 +4554,25 @@ JeÅ›li nie pojawi siÄ™ w ciÄ…gu kilku minut może to oznaczać, że zostaÅ‚a pom aby doÅ‚Ä…czyć do grupy </string> <string name="to upload"> - aby zaÅ‚adować + aby przesÅ‚ać </string> <string name="to publish a classified ad"> publikacja reklamy </string> - <string name="giving"> - Dajesz [AMOUNT]L$ - </string> <string name="uploading_costs"> - Åadowanie kosztuje [AMOUNT]L$ + PrzesyÅ‚anie kosztuje [AMOUNT]L$ </string> <string name="this_costs"> To kosztuje [AMOUNT]L$ </string> <string name="buying_selected_land"> - Kupno wybranej dziaÅ‚ki za [AMOUNT]L$ + DziaÅ‚ka kosztuje </string> <string name="this_object_costs"> - Ten obiekt kosztuje [AMOUNT]L$ + Obiekt kosztuje + </string> + <string name="giving"> + Chcesz dać </string> <string name="group_role_everyone"> Każdy @@ -4219,7 +4587,7 @@ JeÅ›li nie pojawi siÄ™ w ciÄ…gu kilku minut może to oznaczać, że zostaÅ‚a pom Obecnie w SL </string> <string name="uploading_abuse_report"> - Åadowanie... + PrzesyÅ‚anie... Raport o Nadużyciu </string> @@ -4268,6 +4636,9 @@ Raport o Nadużyciu <string name="New Tattoo"> Nowy tatuaż </string> + <string name="New Universal"> + Nowa warstwa uniwersalna + </string> <string name="New Physics"> Nowa fizyka </string> @@ -4394,6 +4765,15 @@ Raport o Nadużyciu <string name="Female - Wow"> Kobieta - Wow </string> + <string name="New Day"> + Nowy cykl dnia + </string> + <string name="New Water"> + Nowa woda + </string> + <string name="New Sky"> + Nowe niebo + </string> <string name="AvatarBirthDateFormat"> [day,datetime,slt].[mthnum,datetime,slt].[year,datetime,slt] </string> @@ -4403,10 +4783,19 @@ Raport o Nadużyciu <string name="texture_load_dimensions_error"> Nie można zaÅ‚adować obrazów wiÄ™kszych niż [WIDTH]*[HEIGHT] </string> + <string name="outfit_photo_load_dimensions_error"> + Maks. rozmiar zdjÄ™cia stroju to [WIDTH]*[HEIGHT]. Przeskaluj lub użyj innego. + </string> + <string name="outfit_photo_select_dimensions_error"> + Maks. rozmiar zdjÄ™cia stroju to [WIDTH]*[HEIGHT]. Użyj innej tekstury. + </string> + <string name="outfit_photo_verify_dimensions_error"> + Nie można sprawdzić wymiarów zdjÄ™cia. Poczekaj, aż pojawi siÄ™ na podglÄ…dzie. + </string> <string name="server_is_down"> Pomimo naszych najlepszych staraÅ„ wystÄ…piÅ‚ niespodziewany problem. -ProszÄ™ sprawdzić czy na stronie status.secondlifegrid.net nie zostaÅ‚y umieszczone informacje o rozpoznanych problemach serwera. +ProszÄ™ sprawdzić czy na https://status.secondlifegrid.net nie zostaÅ‚y umieszczone informacje o rozpoznanych problemach serwera. JeÅ›li problemy bÄ™dÄ… wystÄ™powaÅ‚y nadal, proszÄ™ sprawdź sieć i ustawienia firewall. </string> <string name="dateTimeWeekdaysNames"> @@ -4466,6 +4855,18 @@ JeÅ›li problemy bÄ™dÄ… wystÄ™powaÅ‚y nadal, proszÄ™ sprawdź sieć i ustawienia <string name="Chat"> Czat </string> + <string name="BaseMembership"> + Podstawowe + </string> + <string name="InternalMembership"> + WewnÄ™trzne + </string> + <string name="MembershipUpgradeText"> + ZmieÅ„ plan czÅ‚onkostwa + </string> + <string name="MembershipPremiumText"> + Moje czÅ‚onkostwo Premium + </string> <string name="DeleteItems"> Usunąć zaznaczone obiekty? </string> @@ -4476,7 +4877,7 @@ JeÅ›li problemy bÄ™dÄ… wystÄ™powaÅ‚y nadal, proszÄ™ sprawdź sieć i ustawienia W tym stroju nie ma elementów </string> <string name="ExternalEditorNotSet"> - Wybierz edytor używajÄ…c ustawieÅ„ ExternalEditor. + Wybierz edytor poprzez ustawienie zmiennej Å›rodowiska LL_SCRIPT_EDITOR lub ustawienie ExternalEditor. </string> <string name="ExternalEditorNotFound"> Nie odnaleziono zewnÄ™trznego edytora wskazanego przez Ciebie. @@ -4507,6 +4908,24 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Divide"> Podziel </string> + <string name="LMB"> + LPM + </string> + <string name="MMB"> + ÅšPM + </string> + <string name="RMB"> + PPM + </string> + <string name="MB4"> + Mysz4 + </string> + <string name="MB5"> + Mysz5 + </string> + <string name="Double LMB"> + Podwójny LPM + </string> <string name="BeaconParticle"> Emitery czÄ…steczek (niebieski) </string> @@ -4525,9 +4944,18 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="BeaconMedia"> Emitery mediów (biaÅ‚y) </string> + <string name="BeaconSun"> + Emiter kierunku SÅ‚oÅ„ca (pomaraÅ„czowy) + </string> + <string name="BeaconMoon"> + Emiter kierunku Księżyca (purpurowy) + </string> <string name="ParticleHiding"> Ukryj czÄ…steczki </string> + <string name="Command_360_Capture_Label"> + ZdjÄ™cie 360° + </string> <string name="Command_AboutLand_Label"> O dziaÅ‚ce </string> @@ -4535,7 +4963,7 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. WyglÄ…d </string> <string name="Command_Avatar_Label"> - Awatar + Biblioteka awatarów </string> <string name="Command_Build_Label"> Buduj @@ -4552,9 +4980,15 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Destinations_Label"> Cele podróży </string> + <string name="Command_Environments_Label"> + Otoczenia + </string> <string name="Command_Gestures_Label"> Gesty </string> + <string name="Command_Grid_Status_Label"> + Status Å›wiata + </string> <string name="Command_HowTo_Label"> Samouczek </string> @@ -4564,18 +4998,12 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Map_Label"> Mapa </string> - <string name="Command_Marketplace_Label"> - Marketplace - </string> <string name="Command_MiniMap_Label"> Minimapa </string> <string name="Command_Move_Label"> Ruch </string> - <string name="Command_Outbox_Label"> - Skrzynka nadawcza kupca - </string> <string name="Command_People_Label"> Ludzie </string> @@ -4591,6 +5019,9 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Profile_Label"> Profil </string> + <string name="Command_Report_Abuse_Label"> + ZgÅ‚oÅ› nadużycie + </string> <string name="Command_Search_Label"> Szukaj </string> @@ -4606,6 +5037,9 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Voice_Label"> Pobliski gÅ‚os </string> + <string name="Command_360_Capture_Tooltip"> + Uchwyć równoprostokÄ…tny obraz 360° + </string> <string name="Command_AboutLand_Tooltip"> Informacje o miejscu, które odwiedzasz </string> @@ -4630,15 +5064,15 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Destinations_Tooltip"> Punkty, jakie mogÄ… być interesujÄ…ce </string> - <string name="Command_Facebook_Tooltip"> - WyÅ›lij na Facebooka - </string> - <string name="Command_Flickr_Tooltip"> - WyÅ›lij na Flickr + <string name="Command_Environments_Tooltip"> + Otoczenia </string> <string name="Command_Gestures_Tooltip"> Gesty Twojego awatara </string> + <string name="Command_Grid_Status_Tooltip"> + Pokaż obecny status Å›wiata + </string> <string name="Command_HowTo_Tooltip"> Jak wykonywać zwyczajne rzeczy </string> @@ -4651,15 +5085,15 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Marketplace_Tooltip"> Idź na zakupy </string> + <string name="Command_MarketplaceListings_Tooltip"> + Sprzedawaj owoce swojej kreatywnoÅ›ci + </string> <string name="Command_MiniMap_Tooltip"> Pokaż ludzi w pobliżu </string> <string name="Command_Move_Tooltip"> Poruszanie Twoim awatarem </string> - <string name="Command_Outbox_Tooltip"> - PrzenieÅ› przedmioty na Marketplace, aby je sprzedać - </string> <string name="Command_People_Tooltip"> Znajomi, grupy i ludzie w pobliżu </string> @@ -4675,6 +5109,9 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="Command_Profile_Tooltip"> Edytuj lub zobacz swój profil </string> + <string name="Command_Report_Abuse_Tooltip"> + ZgÅ‚oÅ› nadużycie + </string> <string name="Command_Search_Tooltip"> Znajdź miejsca, wydarzenia i ludzi </string> @@ -4756,6 +5193,99 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="UserDictionary"> [Użytkownika] </string> + <string name="experience_tools_experience"> + Przygoda + </string> + <string name="ExperienceNameNull"> + (bez przygody) + </string> + <string name="ExperienceNameUntitled"> + (przygoda bez nazwy) + </string> + <string name="Land-Scope"> + Zakres: Ziemia + </string> + <string name="Grid-Scope"> + Zakres: CaÅ‚y Å›wiat + </string> + <string name="Allowed_Experiences_Tab"> + ZEZWALAM + </string> + <string name="Blocked_Experiences_Tab"> + BLOKUJĘ + </string> + <string name="Contrib_Experiences_Tab"> + TWORZĘ + </string> + <string name="Admin_Experiences_Tab"> + ZARZÄ„DZAM + </string> + <string name="Recent_Experiences_Tab"> + OSTATNIE + </string> + <string name="Owned_Experiences_Tab"> + MOJE + </string> + <string name="ExperiencesCounter"> + ([EXPERIENCES], maks. [MAXEXPERIENCES]) + </string> + <string name="ExperiencePermission1"> + kontrolować klawisze + </string> + <string name="ExperiencePermission3"> + animować Twojego awatara + </string> + <string name="ExperiencePermission4"> + doÅ‚Ä…czać do Twojego awatara + </string> + <string name="ExperiencePermission9"> + Å›ledzić TwojÄ… kamerÄ™ + </string> + <string name="ExperiencePermission10"> + kontrolować TwojÄ… kamerÄ™ + </string> + <string name="ExperiencePermission11"> + teleportować CiÄ™ + </string> + <string name="ExperiencePermission12"> + automatycznie akceptować uprawnienia przygody + </string> + <string name="ExperiencePermission16"> + zmuszać Twojego awatara do siadania + </string> + <string name="ExperiencePermission17"> + zmieniać Twoje ustawienia otoczenia + </string> + <string name="ExperiencePermissionShortUnknown"> + wykonać nieznanÄ… operacjÄ™: [Permission] + </string> + <string name="ExperiencePermissionShort1"> + Kontrola klawiszy + </string> + <string name="ExperiencePermissionShort3"> + Rozpoczynanie animacji + </string> + <string name="ExperiencePermissionShort4"> + DoÅ‚Ä…czanie + </string> + <string name="ExperiencePermissionShort9"> + Åšledzenie kamery + </string> + <string name="ExperiencePermissionShort10"> + Kontrola kamery + </string> + <string name="ExperiencePermissionShort11"> + Teleportacja + </string> + <string name="ExperiencePermissionShort12"> + Uprawnienia + </string> + <string name="ExperiencePermissionShort16"> + Siadanie + </string> + <string name="ExperiencePermissionShort17"> + Otoczenie + </string> <string name="logging_calls_disabled_log_empty"> Rozmowy nie sÄ… zapisywane do dziennika. JeÅ›li chcesz zacząć je logować wybierz "Zapisywanie: tylko dziennik" lub "Zapisywanie: dziennik i logi rozmów" w Preferencje > Czat. </string> @@ -4768,4 +5298,52 @@ Spróbuj zaÅ‚Ä…czyć Å›cieżkÄ™ do edytora w cytowaniu. <string name="loading_chat_logs"> Wczytywanie... </string> + <string name="na"> + n/d + </string> + <string name="preset_combo_label"> + -Lista jest pusta- + </string> + <string name="Default"> + DomyÅ›lne + </string> + <string name="none_paren_cap"> + (Brak) + </string> + <string name="no_limit"> + Bez limitu + </string> + <string name="Mav_Details_MAV_FOUND_DEGENERATE_TRIANGLES"> + KsztaÅ‚t fizyczny zawiera trójkÄ…ty, które sÄ… zbyt maÅ‚e. Spróbuj uproÅ›cić model fizyczny. + </string> + <string name="Mav_Details_MAV_CONFIRMATION_DATA_MISMATCH"> + KsztaÅ‚t fizyczny zawiera uszkodzone dane. Spróbuj poprawić model fizyczny. + </string> + <string name="Mav_Details_MAV_BLOCK_MISSING"> + BrakujÄ…ce dane. Upewnij siÄ™, że wysoki LOD jest obecny i prawidÅ‚owy. Ustaw model fizyczny, jeÅ›li nie jest obecny. + </string> + <string name="Mav_Details_MAV_UNKNOWN_VERSION"> + KsztaÅ‚t fizyczny zawiera niepoprawnÄ… wersjÄ™. Ustaw poprawnÄ… wersjÄ™ dla modelu fizycznego. + </string> + <string name="couldnt_resolve_host"> + DNS nie mógÅ‚ znaleźć nazwy hosta ([HOSTNAME]). +Sprawdź, czy możesz poÅ‚Ä…czyć siÄ™ z www.secondlife.com +JeÅ›li możesz, ale nadal otrzymujesz ten bÅ‚Ä…d, to przejdź +do sekcji pomocy technicznej i zgÅ‚oÅ› ten problem. + </string> + <string name="ssl_peer_certificate"> + Serwer logowania nie mógÅ‚ zweryfikować siÄ™ poprzez SSL. +JeÅ›li nadal bÄ™dziesz otrzymywać ten bÅ‚Ä…d, to przejdź +do sekcji wsparcia witryny SecondLife.com i zgÅ‚oÅ› problem. + </string> + <string name="ssl_connect_error"> + CzÄ™sto oznacza to, że zegar komputera jest ustawiony nieprawidÅ‚owo. +Przejdź do Panelu Sterowania i upewnij siÄ™, że godzina i data +sÄ… ustawione prawidÅ‚owo. +Sprawdź również, czy twoja sieć i zapora sÄ… poprawnie skonfigurowane. +JeÅ›li nadal bÄ™dziesz otrzymywać ten bÅ‚Ä…d, to przejdź +do sekcji wsparcia witryny SecondLife.com i zgÅ‚oÅ› problem. + +[https://community.secondlife.com/knowledgebase/english/error-messages-r520/#Section__3 Knowledge Base] + </string> </strings> diff --git a/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml b/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml new file mode 100644 index 0000000000..fcd7de9eca --- /dev/null +++ b/indra/newview/skins/default/xui/pl/widgets/density_ctrl.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<densityctrl label="GÄ™stość" name="density_ctrl"> + <text name="exponential_term_label"> + Okres wykÅ‚adniczy + </text> + <text name="exponential_scale_factor_label"> + Współczynnik skali wykÅ‚adn. + </text> + <text name="linear_term_label"> + Okres liniowy + </text> + <text name="constant_term_label"> + Okres staÅ‚y + </text> + <text name="max_altitude_label"> + Maks. wysokość + </text> + <text name="aniso_factor_label"> + Współczynnik anizotropii + </text> +</densityctrl> diff --git a/indra/newview/skins/default/xui/pl/widgets/person_view.xml b/indra/newview/skins/default/xui/pl/widgets/person_view.xml index 2ebe5974d6..7df1663fe0 100644 --- a/indra/newview/skins/default/xui/pl/widgets/person_view.xml +++ b/indra/newview/skins/default/xui/pl/widgets/person_view.xml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <person_view> - <facebook_icon name="facebook_icon" tool_tip="Użytkownik Facebooka" /> <permission_edit_theirs_icon name="permission_edit_theirs_icon" tool_tip="Możesz edytować obiekty tego Znajomego" /> <permission_edit_mine_icon name="permission_edit_mine_icon" tool_tip="Ten Znajomy może edytować, kasować lub wziąć Twoje obiekty" /> <permission_map_icon tool_tip="Ten Znajomy może zlokalizować CiÄ™ na mapie" name="permission_map_icon" /> diff --git a/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml b/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml deleted file mode 100644 index fc35ac714d..0000000000 --- a/indra/newview/skins/default/xui/pl/widgets/texture_picker.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<texture_picker name="texture picker"> - <caption_text label="Wiele" /> -</texture_picker> diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml index 3c0ca332ac..aaed728f84 100644 --- a/indra/newview/skins/default/xui/pt/floater_about.xml +++ b/indra/newview/skins/default/xui/pt/floater_about.xml @@ -29,6 +29,7 @@ com contribuições de código aberto de:</text> 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. O Visualizador do Second Life usa Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e seus Licenciantes). Todos os direitos reservados. Consulte www.havok.com para obter detalhes. diff --git a/indra/newview/skins/default/xui/pt/floater_chat_bar.xml b/indra/newview/skins/default/xui/pt/floater_chat_bar.xml deleted file mode 100644 index 2eb2c94940..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="BATE-PAPO LOCAL"> - <panel name="bottom_panel"> - <line_editor label="Clique aqui para bater papo." name="chat_box" tool_tip="Tecle Enter para falar, Ctrl+Enter para gritar"/> - <button name="show_nearby_chat" tool_tip="Mostra/oculta o histórico do bate-papo local"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml deleted file mode 100644 index 9e25938986..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Editar ciclo dos dias"> - <string name="title_new"> - Criar novo ciclo de dias - </string> - <string name="title_edit"> - Editar ciclo dos dias - </string> - <string name="hint_new"> - Dê um nome ao seu ciclo dos dias, ajuste os controles para criá-lo e clique em "Salvar". - </string> - <string name="hint_edit"> - Para editar sua configuração do dia, ajuste os controles e clique em "Salvar". - </string> - <string name="combo_label"> - -Selecione uma pré-configuração- - </string> - <text name="label"> - Nome: - </text> - <text name="note"> - Observação: trocar o nome de uma pré-configuração criará uma nova sem modificar a uma pré-configuração atual. - </text> - <text name="hint_item1"> - - Clique em uma guia para editar as configurações e horário de um céu. - </text> - <text name="hint_item2"> - - Clique e arraste as guias para definir as transições. - </text> - <text name="hint_item3"> - - Use a seta para rever o ciclo dos dias. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Adicionar chave" label_selected="Adicionar chave" name="WLAddKey"/> - <button label="Excluir chave" label_selected="Excluir chave" name="WLDeleteKey"/> - <text name="WL12am"> - 24:00 - </text> - <text name="WL3am"> - 03:00 - </text> - <text name="WL6am"> - 06:00 - </text> - <text name="WL9amHash"> - 09:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL3pm"> - 15:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL9pm"> - 21:00 - </text> - <text name="WL12am2"> - 24:00 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Configuração do céu: - </text> - <combo_box label="Pré-configuração" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Hora: - </text> - <time name="time" value="06:00"/> - <check_box label="Usar como novo ciclo de dias" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml deleted file mode 100644 index 6c663e2da8..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Editar predefinição de céu"> - <string name="title_new"> - Criar uma nova predefinição de céu - </string> - <string name="title_edit"> - Editar predefinição de céu - </string> - <string name="hint_new"> - Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvarâ€. - </string> - <string name="hint_edit"> - Para editar a sua predefinição de céu, ajuste os controles e clique em “Salvarâ€. - </string> - <string name="combo_label"> - -Selecionar uma prefefinição- - </string> - <text name="hint"> - Para editar a sua predefinição, ajuste os controles e clique em “Salvarâ€. - </text> - <text name="label"> - Nome predefinido: - </text> - <text name="note"> - Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFERA" name="Atmosphere"> - <text name="BHText"> - Horizonte azul - </text> - <text name="BDensText"> - Horizonte de neblina - </text> - <text name="BDensText2"> - Densidade azul - </text> - <text name="HDText"> - Densidade da neblina - </text> - <text name="DensMultText"> - Múltipla densidade - </text> - <text name="WLDistanceMultText"> - Múltipla distância - </text> - <text name="MaxAltText"> - Altitude máx. - </text> - </panel> - <panel label="ILUMINAÇÃO" name="Lighting"> - <text name="SLCText"> - Cor do sol/lua - </text> - <text name="WLAmbientText"> - Ambiente - </text> - <text name="SunGlowText"> - Brilho do sol - </text> - <slider label="Enfocar" name="WLGlowB"/> - <slider label="Tamanho" name="WLGlowR"/> - <text name="WLStarText"> - Brilho da estrela - </text> - <text name="SceneGammaText"> - Gama da cena - </text> - <text name="TODText"> - Posição do sol/lua - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12am - </text> - <text name="WL6am"> - 6am - </text> - <text name="WL12pmHash"> - 12pm - </text> - <text name="WL6pm"> - 6pm - </text> - <text name="WL12am2"> - 12am - </text> - <time name="WLDayTime" value="6:00 AM"/> - <text name="WLEastAngleText"> - Ângulo leste - </text> - </panel> - <panel label="NUVENS" name="Clouds"> - <text name="WLCloudColorText"> - Cor da nuvem - </text> - <text name="WLCloudColorText2"> - Nuvem XY/Densidade - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Cobertura da nuvem - </text> - <text name="WLCloudScaleText"> - Escala da nuvem - </text> - <text name="WLCloudDetailText"> - Detalhe da Nuvem (XY/Densidade) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Rolagem na nuvem X - </text> - <check_box label="Bloquear" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Rolagem na nuvem Y - </text> - <check_box label="Bloquear" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Tornar esta predefinição minha nova configuração de céu" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml deleted file mode 100644 index f94f78c8ae..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Editar predefinição da água"> - <string name="title_new"> - Criar uma nova predefinição da água - </string> - <string name="title_edit"> - Editar uma predefinição da água - </string> - <string name="hint_new"> - Nomeie sua predefinição, ajuste os controles para criá-la e clique em “Salvarâ€. - </string> - <string name="hint_edit"> - Para editar a sua predefinição da água, ajuste os controles e clique em “Salvarâ€. - </string> - <string name="combo_label"> - -Selecionar uma prefefinição- - </string> - <text name="hint"> - Para editar a sua predefinição, ajuste os controles e clique em “Salvarâ€. - </text> - <text name="label"> - Nome predefinido: - </text> - <text name="note"> - Note: se você alterar o nome da sua predefinição, você criará uma nova predefinição e a predefinição existente não será alterada. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Cor da névoa da água - </text> - <text name="water_fog_density_label"> - Exponente de densidade da névoa - </text> - <text name="underwater_fog_modifier_label"> - Modificador da névoa embaixo da água - </text> - <text name="BHText"> - Direção da grande onda - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Escala da reflexão da onda - </text> - <text name="HDText"> - Escala fresnel - </text> - <text name="FresnelOffsetText"> - Offset fresnel - </text> - <text name="BHText2"> - Direção da pequena onda - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Escala de Refratar Acima - </text> - <text name="WaterScaleBelowText"> - Escala de Refratar Abaixo - </text> - <text name="MaxAltText"> - Múltiplo desfoque - </text> - <text name="BHText3"> - Mapa normal - </text> - </panel> - <check_box label="Tornar esta predefinição minha nova configuração da água" name="make_default_cb"/> - <button label="Salvar" name="save"/> - <button label="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml b/indra/newview/skins/default/xui/pt/floater_environment_settings.xml deleted file mode 100644 index 40be4dbff4..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="CONFIGURAÇÕES DE AMBIENTE"> - <text name="note"> - Use a opção abaixo para personalizar as configurações de ambiente para o seu visualizador. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Use as configurações da região" name="use_region_settings"/> - <radio_item label="Personalizar meu ambiente" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Nota: suas configurações personalizadas não estarão visÃveis para outros usuários. - </text> - <text name="water_settings_title"> - Configurações da água - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Céu / Ciclo de dias - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Céu fixo" name="my_sky_settings"/> - <radio_item label="Ciclos de dias" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Selecionar uma prefefinição-" name="item0"/> - </combo_box> - </panel> - <button label="OK" name="ok_btn"/> - <button label="Cancelar" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_facebook.xml b/indra/newview/skins/default/xui/pt/floater_facebook.xml deleted file mode 100644 index af30582237..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="PUBLICAR NO FACEBOOK"> - <tab_container name="tabs"> - <panel label="STATUS" name="panel_facebook_status"/> - <panel label="FOTO" name="panel_facebook_photo"/> - <panel label="FAZER CHECK IN" name="panel_facebook_place"/> - <panel label="AMIGOS" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_flickr.xml b/indra/newview/skins/default/xui/pt/floater_flickr.xml deleted file mode 100644 index d048dbb658..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="COMPARTILHAR NO FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTO" name="panel_flickr_photo"/> - <panel label="CONTA" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml deleted file mode 100644 index 1204fb93e2..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="CONFIGURAÇÃO DO HARDWARE"> - <text name="Filtering:"> - Filtragem: - </text> - <check_box label="Filtragem Anisotrópica (mais lento quando habilitada)" name="ani"/> - <text name="antialiasing label"> - Suavização: - </text> - <combo_box label="Suavização" name="fsaa" width="94"> - <combo_box.item label="Desativado" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (Reinicie para ativar) - </text> - <spinner label="Gama:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = brilho padrão, menor = mais brilho) - </text> - <text name="Enable VBO:"> - Habilitar VBO: - </text> - <check_box initial_value="true" label="Habilitar Objetos com Armazenamento de Vértices" name="vbo" tool_tip="Habilitando-o em máquinas novas, ele oferece um ganho de performance. Contudo, as máquinas antigas tem freqüentemente implementações pobres de VBOs e você pode ter travamentos quando esta opção é habilitada."/> - <text name="tc label"> - Habilitar S3TC: - </text> - <check_box initial_value="true" label="Habilitar compressão de texturas (requer reinÃcio)" name="texture compression" tool_tip="Comprime as texturas na memória de vÃdeo, permitindo o carregamento de texturas de maior resolução em detrimento da qualidade da cor."/> - <slider label="Memória de texturas (MB):" name="GraphicsCardTextureMemory" tool_tip="Quanto da memória deve ser alocado para texturas. O padrão é definido pela memória da placa de vÃdeo. Reduzir este valor pode melhorar o desempenho, mas as texturas podem fica fora de foco."/> - <spinner label="Relação de Distância de Nevoeiro:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_perm_prefs.xml b/indra/newview/skins/default/xui/pt/floater_perm_prefs.xml deleted file mode 100644 index 33a0d6a456..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_perm_prefs.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="PERMISSÕES PADRÃO DE UPLOAD"> - <panel label="Permissões" name="permissions"> - <button label="?" label_selected="?" name="help"/> - <check_box label="Compartilhar com o grupo" name="share_with_group"/> - <check_box label="Permitir que qualquer um copie" name="everyone_copy"/> - <text name="NextOwnerLabel"> - O próximo dono pode: - </text> - <check_box label="Modificar" name="next_owner_modify"/> - <check_box label="Copiar" name="next_owner_copy"/> - <check_box label="Revender/Dar" name="next_owner_transfer"/> - </panel> - <button label="OK" label_selected="OK" name="ok"/> - <button label="Cancelar" label_selected="Cancelar" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_twitter.xml b/indra/newview/skins/default/xui/pt/floater_twitter.xml deleted file mode 100644 index 14bee3ffc3..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="REDIGIR" name="panel_twitter_photo"/> - <panel label="CONTA" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Erro - </text> - <text name="connection_loading_text"> - Carregando... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml deleted file mode 100644 index 745a7d0e00..0000000000 --- a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="CONTROLES DE VOZ"> - <string name="title_nearby"> - CONFIGURAÇÕES DE VOZ - </string> - <string name="title_group"> - LIGAÇÃO DE GRUPO COM [GROUP] - </string> - <string name="title_adhoc"> - TELECONFERÊNCIA - </string> - <string name="title_peer_2_peer"> - LIGAÇÃO PARA [NAME] - </string> - <string name="no_one_near"> - Ninguém por perto ativou a voz - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Meu avatar:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Desligar" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml deleted file mode 100644 index 2b5aa7508b..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Ver perfil" name="view_profile"/> - <menu_item_call label="Adicionar amigo..." name="add_friend"/> - <menu_item_call label="MI" name="im"/> - <menu_item_call label="Ligar" name="call"/> - <menu_item_call label="Teletransportar" name="teleport"/> - <menu_item_call label="Convidar para entrar no grupo" name="invite_to_group"/> - <menu_item_call label="Bloquear" name="block"/> - <menu_item_call label="Desbloquear" name="unblock"/> - <menu_item_call label="Denunciar" name="report"/> - <menu_item_call label="Congelar" name="freeze"/> - <menu_item_call label="Ejetar" name="eject"/> - <menu_item_call label="Chutar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Depurar texturas" name="debug"/> - <menu_item_call label="Localizar no mapa" name="find_on_map"/> - <menu_item_call label="Mais zoom" name="zoom_in"/> - <menu_item_call label="Pagar" name="pay"/> - <menu_item_call label="Compartilhar" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml deleted file mode 100644 index e8fafa58a9..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Sentar" name="Sit Down Here"/> - <menu_item_call label="Ficar de pé" name="Stand Up"/> - <context_menu label="Tirar" name="Take Off >"> - <context_menu label="Roupa" name="Clothes >"> - <menu_item_call label="Camisa" name="Shirt"/> - <menu_item_call label="Calças" name="Pants"/> - <menu_item_call label="Saia" name="Skirt"/> - <menu_item_call label="Sapatos" name="Shoes"/> - <menu_item_call label="Meias" name="Socks"/> - <menu_item_call label="Jaqueta" name="Jacket"/> - <menu_item_call label="Luvas" name="Gloves"/> - <menu_item_call label="Camiseta" name="Self Undershirt"/> - <menu_item_call label="Roupa de baixo" name="Self Underpants"/> - <menu_item_call label="Tatuagem" name="Self Tattoo"/> - <menu_item_call label="Alpha" name="Self Alpha"/> - <menu_item_call label="Todas as roupas" name="All Clothes"/> - </context_menu> - <context_menu label="HUD" name="Object Detach HUD"/> - <context_menu label="Separar" name="Object Detach"/> - <menu_item_call label="Separar tudo" name="Detach All"/> - </context_menu> - <menu_item_call label="Trocar de look" name="Chenge Outfit"/> - <menu_item_call label="Editar meu look" name="Edit Outfit"/> - <menu_item_call label="Editar meu corpo" name="Edit My Shape"/> - <menu_item_call label="Meus amigos" name="Friends..."/> - <menu_item_call label="Meus grupos" name="Groups..."/> - <menu_item_call label="Meu perfil" name="Profile..."/> - <menu_item_call label="Depurar texturas" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pt/menu_name_field.xml b/indra/newview/skins/default/xui/pt/menu_name_field.xml deleted file mode 100644 index 2157de9813..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Exibir Cópia do Nome" name="copy_display"/> - <menu_item_call label="Copiar Nome do Agente" name="copy_name"/> - <menu_item_call label="Copiar Id do Agente" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml deleted file mode 100644 index e7c325010f..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por status" name="sort_status"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_check label="Autorizações de visualização dadas" name="view_permissions"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml deleted file mode 100644 index 86a9d2263f..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Mostrar Ãcones de grupos" name="Display Group Icons"/> - <menu_item_call label="Sair do grupo selecionado" name="Leave Selected Group"/> -</menu> diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml deleted file mode 100644 index 0d32d58de4..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Ordenar por conversas mais recentes" name="sort_by_recent_speakers"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ordenar por distância" name="sort_distance"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_check label="Ver Mapa" name="view_map"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml deleted file mode 100644 index f3b89e01cd..0000000000 --- a/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<menu name="menu_group_plus"> - <menu_item_check label="Ordenar por mais recente" name="sort_most"/> - <menu_item_check label="Ordenar por nome" name="sort_name"/> - <menu_item_check label="Ver Ãcones de pessoas" name="view_icons"/> - <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/> -</menu> diff --git a/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml deleted file mode 100644 index bd50d4953d..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml b/indra/newview/skins/default/xui/pt/panel_edit_classified.xml deleted file mode 100644 index 7b27c811f5..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar anúncio" name="panel_edit_classified"> - <panel.string name="location_notice"> - (salvar para atualizar) - </panel.string> - <string name="publish_label"> - Publicar - </string> - <string name="save_label"> - Salvar - </string> - <text name="title"> - Editar anúncio - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/> - </panel> - <text name="Name:"> - Cargo: - </text> - <text name="description_label"> - Descrição: - </text> - <text name="location_label"> - Localização: - </text> - <text name="classified_location"> - Carregando... - </text> - <button label="Usar configuração local" name="set_to_curr_location_btn"/> - <text name="category_label" value="Categoria:"/> - <text name="content_type_label" value="Tipo de conteúdo:"/> - <icons_combo_box label="Público geral" name="content_type"> - <icons_combo_box.item label="Moderado" name="mature_ci" value="Adulto"/> - <icons_combo_box.item label="Público geral" name="pg_ci" value="Adequado para menores"/> - </icons_combo_box> - <check_box label="Renovação automática semanal" name="auto_renew"/> - <text name="price_for_listing_label" value="Preço do anúncio:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Preço do anúncio" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml b/indra/newview/skins/default/xui/pt/panel_edit_pick.xml deleted file mode 100644 index 5eb9987e71..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar destaques" name="panel_edit_pick"> - <panel.string name="location_notice"> - (salvar para atualizar) - </panel.string> - <text name="title"> - Editar destaques - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/> - <text name="Name:"> - Cargo: - </text> - <text name="description_label"> - Descrição: - </text> - <text name="location_label"> - Localização: - </text> - <text name="pick_location"> - Carregando... - </text> - <button label="Usar configuração local" 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="Salvar destaque" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml deleted file mode 100644 index 0ba7382845..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Editar perfil" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Residente"/> - <string name="AcctTypeTrial" value="Teste"/> - <string name="AcctTypeCharterMember" value="Estatuto do membro"/> - <string name="AcctTypeEmployee" value="Contratado da Linden Lab"/> - <string name="PaymentInfoUsed" value="Infor. de pagamento utilizadas"/> - <string name="PaymentInfoOnFile" value="Infor. de pagamento no arquivo"/> - <string name="NoPaymentInfoOnFile" value="Sem infor. de pagamento no arquivo"/> - <string name="AgeVerified" value="Idade Verificada"/> - <string name="NotAgeVerified" value="Idade não Verificada"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=pt - </string> - <string name="no_partner_text" value="Nenhum"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Nome de tela:"/> - <text name="solo_username_label" value="Nome de usuário:"/> - <button name="set_name" tool_tip="Definir nome de tela"/> - <text name="user_label" value="Nome de usuário:"/> - <panel name="lifes_images_panel"> - <icon label="" name="2nd_life_edit_icon" tool_tip="Selecione uma imagem"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Mundo real:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Selecione uma imagem"/> - <text name="title_homepage_text"> - Página web: - </text> - <check_box label="Mostrar nos resultados de busca" name="show_in_search_checkbox"/> - <text name="title_acc_status_text" value="Minha conta:"/> - <text_editor name="acc_status_text" value="Residente. Dados de pagamento: não constam"/> - <text name="my_account_link" value="[[URL] Abrir meu painel]"/> - <text name="title_partner_text" value="Parceiro(a):"/> - <panel name="partner_data_panel"> - <text initial_value="(pesquisando)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Editar]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Salvar alterações" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Cancelar" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_account.xml b/indra/newview/skins/default/xui/pt/panel_facebook_account.xml deleted file mode 100644 index b449e7959d..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Você está conectado ao Facebook como:"/> - <string name="facebook_disconnected" value="Não conectado ao Facebook"/> - <text name="account_caption_label"> - Não conectado ao Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprenda a publicar no Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml b/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml deleted file mode 100644 index 8c5c24d08b..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="No momento, você não tem amigos do Facebook que também são residentes do Second Life. Convide seus amigos do Facebook para ingressar no Second Life hoje mesmo!"/> - <string name="facebook_friends_no_connected" value="No momento, você não está conectado ao Facebook. Vá para a aba Status para se conectar e ativar esse recurso."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Amigos do SL"/> - <accordion_tab name="tab_suggested_friends" title="Adicionar essas pessoas como amigos do SL"/> - </accordion> - <text name="facebook_friends_status"> - Não conectado ao Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml b/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml deleted file mode 100644 index cdf3222092..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <text name="caption_label"> - Comentário (opcional): - </text> - <button label="Postar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_place.xml b/indra/newview/skins/default/xui/pt/panel_facebook_place.xml deleted file mode 100644 index aa8b51d64b..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Diga algo sobre onde você está: - </text> - <check_box initial_value="false" label="Incluir vista abstrata da localização" name="add_place_view_cb"/> - <button label="Postar" name="post_place_btn"/> - <button label="Cancelar" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_facebook_status.xml b/indra/newview/skins/default/xui/pt/panel_facebook_status.xml deleted file mode 100644 index 0bbaf1086c..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Você está conectado ao Facebook como:"/> - <string name="facebook_disconnected" value="Não conectado ao Facebook"/> - <text name="account_caption_label"> - Não conectado ao Facebook. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Aprenda a publicar no Facebook] - </text> - </panel> - <text name="status_caption_label"> - No que você está pensando? - </text> - <button label="Postar" name="post_status_btn"/> - <button label="Cancelar" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_flickr_account.xml b/indra/newview/skins/default/xui/pt/panel_flickr_account.xml deleted file mode 100644 index ed240b0013..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Você está conectado ao Flickr como:"/> - <string name="flickr_disconnected" value="Não conectado ao Flickr"/> - <text name="account_caption_label"> - Não conectado ao Flickr. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Aprenda a publicar no Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml b/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml deleted file mode 100644 index 66a4f3ee3e..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <text name="title_label"> - TÃtulo: - </text> - <text name="description_label"> - Descrição: - </text> - <check_box initial_value="true" label="Incluir localização do SL no final da descrição" name="add_location_cb"/> - <text name="tags_label"> - Tags: - </text> - <text name="tags_help_label"> - Separe as tags com espaços -Use "" para tags com várias palavras - </text> - <combo_box name="rating_combobox" tool_tip="Classificação de conteúdo do Flickr"> - <combo_box.item label="Classificação segura do Flickr" name="SafeRating"/> - <combo_box.item label="Classificação moderada do Flickr" name="ModerateRating"/> - <combo_box.item label="Classificação restrita do Flickr" name="RestrictedRating"/> - </combo_box> - <button label="Compartilhar" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml deleted file mode 100644 index 502dae8d67..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Perfil do grupo" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Ligar para o grupo" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Desligar" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Abrir controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml deleted file mode 100644 index 91b7d1b7cd..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Perfil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Adicionar amigo" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="Compartilhar" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Pagar" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Ligar" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Encerrar ligação" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Controles de voz" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_pick_info.xml b/indra/newview/skins/default/xui/pt/panel_pick_info.xml deleted file mode 100644 index caa140a245..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Detalhes do destaque"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[NAME]"/> - <text_editor name="pick_location" value="[carregando...]"/> - <text_editor name="pick_desc" value="[descrição]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Teletransportar" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Editar" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_picks.xml b/indra/newview/skins/default/xui/pt/panel_picks.xml deleted file mode 100644 index 2ff1eed624..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Destaques" name="panel_picks"> - <string name="no_picks" value="Sem destaques"/> - <string name="no_classifieds" value="Sem classificados"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Destaques"/> - <accordion_tab name="tab_classifieds" title="Classificados"/> - </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="Criar um novo destaque ou classificado na localização atual"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Info" name="info_btn" tool_tip="Exibir dados do destaque"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área correspondente"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir a área correspondente no Mapa Mundi"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_profile_interests.xml b/indra/newview/skins/default/xui/pt/panel_profile_interests.xml deleted file mode 100644 index edf74115f2..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Interesses" name="panel_profile_interests"> - <text name="I Want To:"> - Quero: - </text> - <check_box label="Crie" name="chk0"/> - <check_box label="Explore" name="chk1"/> - <check_box label="Encontrar" name="chk2"/> - <check_box label="Seja contratado" name="chk6"/> - <check_box label="Grupo" name="chk3"/> - <check_box label="Comprar" name="chk4"/> - <check_box label="Venda" name="chk5"/> - <check_box label="Contratar" name="chk7"/> - <line_editor name="want_to_edit"> - (carregando...) - </line_editor> - <text name="Skills:"> - Habilidades: - </text> - <check_box label="Texturas" name="schk0"/> - <check_box label="Arquitetura" name="schk1"/> - <check_box label="Modelo" name="schk3"/> - <check_box label="Planejamento de evento" name="schk2"/> - <check_box label="Scripts" name="schk4"/> - <check_box label="Personagens personalizados" name="schk5"/> - <line_editor name="skills_edit"> - (carregando...) - </line_editor> - <text name="Languages:"> - Idiomas: - </text> - <line_editor name="languages_edit"> - (carregando...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_twitter_account.xml b/indra/newview/skins/default/xui/pt/panel_twitter_account.xml deleted file mode 100644 index 32ab437786..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Você está conectado ao Twitter como:"/> - <string name="twitter_disconnected" value="Não conectado ao Twitter"/> - <text name="account_caption_label"> - Não conectado ao Twitter. - </text> - <panel name="panel_buttons"> - <button label="Conectar..." name="connect_btn"/> - <button label="Desconectar" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Aprenda a publicar no Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml b/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml deleted file mode 100644 index 7c4990f71e..0000000000 --- a/indra/newview/skins/default/xui/pt/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Próximas etapas? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Incluir localização do SL" name="add_location_cb"/> - <check_box initial_value="true" label="Incluir uma foto" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Resolução da imagem"> - <combo_box.item label="Janela atual" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Filtros de imagem"> - <combo_box.item label="Sem filtro" name="NoFilter"/> - </combo_box> - <button label="Atualizar" name="new_snapshot_btn" tool_tip="Clique para atualizar"/> - <button label="Visualizar" name="big_preview_btn" tool_tip="Clique para alternar entre visualizações"/> - <button label="Enviar tweet" name="post_photo_btn"/> - <button label="Cancelar" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/floater_about.xml b/indra/newview/skins/default/xui/ru/floater_about.xml index 44216e0430..a65a979ccd 100644 --- a/indra/newview/skins/default/xui/ru/floater_about.xml +++ b/indra/newview/skins/default/xui/ru/floater_about.xml @@ -29,6 +29,7 @@ SDL (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga SSLeay (C) 1995-1998 Eric Young (eay@cryptsoft.com) xmlrpc-epi (C) 2000 Epinions, Inc. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib (C) 1995-2012 Jean-loup Gailly и Mark Adler. Ð’ клиенте Second Life иÑпользуетÑÑ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Havok (TM) Physics. (C) 1999-2010 Havok.com Inc. (и лицензиары компании). Ð’Ñе права защищены. Подробнее Ñм. веб-Ñайт www.havok.com. diff --git a/indra/newview/skins/default/xui/ru/floater_chat_bar.xml b/indra/newview/skins/default/xui/ru/floater_chat_bar.xml deleted file mode 100644 index f6b2fc81e1..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="ЛОКÐЛЬÐЫЙ ЧÐТ"> - <panel name="bottom_panel"> - <line_editor label="Щелкните здеÑÑŒ Ð´Ð»Ñ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ." name="chat_box" tool_tip="Ðажмите Enter, чтобы Ñказать, Ctrl+Enter, чтобы прокричать"/> - <button name="show_nearby_chat" tool_tip="Показать/Ñкрыть лог локального чата"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml deleted file mode 100644 index 61d708c567..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Изменить Ñуточный цикл"> - <string name="title_new"> - Создать Ñуточный цикл - </string> - <string name="title_edit"> - Изменить Ñуточный цикл - </string> - <string name="hint_new"> - Введите Ð¸Ð¼Ñ Ñуточного цикла, задайте его параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить Ñуточный цикл, задайте его параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¸Ð¶Ðµ и нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор наÑтройки- - </string> - <text name="label"> - Ð˜Ð¼Ñ Ð½Ð°Ñтройки: - </text> - <text name="note"> - Примечание. ЕÑли изменить Ð¸Ð¼Ñ Ð½Ð°Ñтройки, будет Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð½Ð°Ñтройка, а Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑущеÑтвующей не будут Ñохранены. - </text> - <text name="hint_item1"> - - Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроек неба и времени выберите ÑоответÑтвующую вкладку. - </text> - <text name="hint_item2"> - - Чтобы задать Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¾Ð², перетаÑкивайте вкладки. - </text> - <text name="hint_item3"> - - Скребок Ñлужит Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ñуточного цикла. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="+ отметку" label_selected="+ отметку" name="WLAddKey"/> - <button label="- отметку" label_selected="- отметку" name="WLDeleteKey"/> - <text name="WL12am"> - 12 ночи - </text> - <text name="WL3am"> - 3 ночи - </text> - <text name="WL6am"> - 6 утра - </text> - <text name="WL9amHash"> - 9 утра - </text> - <text name="WL12pmHash"> - 12 Ð´Ð½Ñ - </text> - <text name="WL3pm"> - 3 Ð´Ð½Ñ - </text> - <text name="WL6pm"> - 6 вечера - </text> - <text name="WL9pm"> - 9 вечера - </text> - <text name="WL12am2"> - 12 ночи - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Ðебо: - </text> - <combo_box label="Стандарт" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - ВремÑ: - </text> - <time name="time" value="6:00"/> - <check_box label="УÑтановить как новый Ñуточный цикл" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml deleted file mode 100644 index 041474f659..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Изменить наÑтройку неба"> - <string name="title_new"> - Создать наÑтройку неба - </string> - <string name="title_edit"> - Изменить наÑтройку неба - </string> - <string name="hint_new"> - Введите Ð¸Ð¼Ñ Ð½Ð°Ñтройки, задайте ее параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить наÑтройку неба, задайте ее параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор наÑтройки- - </string> - <text name="hint"> - Чтобы изменить наÑтройку, задайте ее параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </text> - <text name="label"> - Ð˜Ð¼Ñ Ð½Ð°Ñтройки: - </text> - <text name="note"> - Примечание: еÑли изменить Ð¸Ð¼Ñ Ð½Ð°Ñтройки, будет Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð½Ð°Ñтройка, а ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð½Ð°Ñтройка оÑтанетÑÑ Ð±ÐµÐ· изменениÑ. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ÐТМОСФЕРÐ" name="Atmosphere"> - <text name="BHText"> - Голубой горизонт - </text> - <text name="BDensText"> - Дымка на горизонте - </text> - <text name="BDensText2"> - ÐаÑыщенноÑÑ‚ÑŒ голубого - </text> - <text name="HDText"> - ПлотноÑÑ‚ÑŒ дымки - </text> - <text name="DensMultText"> - КоÑффициент плотноÑти - </text> - <text name="WLDistanceMultText"> - КоÑффициент раÑÑтоÑÐ½Ð¸Ñ - </text> - <text name="MaxAltText"> - МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ñ‹Ñота - </text> - </panel> - <panel label="ОСВЕЩЕÐИЕ" name="Lighting"> - <text name="SLCText"> - Цвет Ñолнца/луны - </text> - <text name="WLAmbientText"> - ÐžÐºÑ€ÑƒÐ¶Ð°ÑŽÑ‰Ð°Ñ Ñреда - </text> - <text name="SunGlowText"> - СиÑние Ñолнца - </text> - <slider label="ФокуÑ" name="WLGlowB"/> - <slider label="Размер" name="WLGlowR"/> - <text name="WLStarText"> - ЯркоÑÑ‚ÑŒ звезд - </text> - <text name="SceneGammaText"> - Гамма-ÐºÐ¾Ñ€Ñ€ÐµÐºÑ†Ð¸Ñ Ñцены - </text> - <text name="TODText"> - Положение Ñолнца/луны - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 12 чаÑов ночи - </text> - <text name="WL6am"> - 6 чаÑов утра - </text> - <text name="WL12pmHash"> - 12 чаÑов пополудни - </text> - <text name="WL6pm"> - 6 чаÑов вечера - </text> - <text name="WL12am2"> - 12 чаÑов ночи - </text> - <time name="WLDayTime" value="6:00 чаÑов утра"/> - <text name="WLEastAngleText"> - Смещение отноÑительно воÑтока - </text> - </panel> - <panel label="ОБЛÐКÐ" name="Clouds"> - <text name="WLCloudColorText"> - Цвет облака - </text> - <text name="WLCloudColorText2"> - Координаты XY/плотноÑÑ‚ÑŒ облака - </text> - <slider label="Ð¥" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - ОблачноÑÑ‚ÑŒ - </text> - <text name="WLCloudScaleText"> - Шкала облачноÑти - </text> - <text name="WLCloudDetailText"> - Ð”ÐµÑ‚Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±Ð»Ð°ÐºÐ° (координаты XY/плотноÑÑ‚ÑŒ) - </text> - <slider label="Ð¥" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Перемещение облака по координате X - </text> - <check_box label="ФикÑациÑ" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Перемещение облака по координате Y - </text> - <check_box label="ФикÑациÑ" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Применить Ñту наÑтройку неба" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml deleted file mode 100644 index 2ebbb11fce..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Изменить наÑтройку воды"> - <string name="title_new"> - Создать новую наÑтройку воды - </string> - <string name="title_edit"> - Изменение наÑтройки воды - </string> - <string name="hint_new"> - Введите Ð¸Ð¼Ñ Ð½Ð°Ñтройки, задайте ее параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </string> - <string name="hint_edit"> - Чтобы изменить наÑтройку воды, задайте параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </string> - <string name="combo_label"> - -Выбор наÑтройки- - </string> - <text name="hint"> - Чтобы изменить наÑтройку, задайте ее параметры Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñлементов ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ нажмите кнопку «Сохранить». - </text> - <text name="label"> - Ð˜Ð¼Ñ Ð½Ð°Ñтройки: - </text> - <text name="note"> - Примечание: еÑли изменить Ð¸Ð¼Ñ Ð½Ð°Ñтройки, будет Ñоздана Ð½Ð¾Ð²Ð°Ñ Ð½Ð°Ñтройка, а ÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð½Ð°Ñтройка оÑтанетÑÑ Ð±ÐµÐ· изменениÑ. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Цвет водÑного тумана - </text> - <text name="water_fog_density_label"> - Показатель плотноÑти тумана - </text> - <text name="underwater_fog_modifier_label"> - Модификатор тумана подземных вод - </text> - <text name="BHText"> - Ðаправление больших волн - </text> - <slider label="Ð¥" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - МаÑштаб отражённого импульÑа - </text> - <text name="HDText"> - ФренелевÑкий маÑштаб - </text> - <text name="FresnelOffsetText"> - Ð£Ð³Ð»Ð¾Ð²Ð°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ - </text> - <text name="BHText2"> - Ðаправление Ñ€Ñби - </text> - <slider label="Ð¥" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Преломление (над водой) - </text> - <text name="WaterScaleBelowText"> - Преломление (под водой) - </text> - <text name="MaxAltText"> - КоÑффициент Ñ€Ð°Ð·Ð¼Ñ‹Ñ‚Ð¸Ñ - </text> - <text name="BHText3"> - Карта нормалей - </text> - </panel> - <check_box label="Применить Ñту новую наÑтройку воды" name="make_default_cb"/> - <button label="Сохранить" name="save"/> - <button label="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml b/indra/newview/skins/default/xui/ru/floater_environment_settings.xml deleted file mode 100644 index 226f07face..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="ÐÐСТРОЙКИ СРЕДЫ"> - <text name="note"> - Приведенные ниже параметры позволÑÑŽÑ‚ наÑтроить окружающую Ñреду Ð´Ð»Ñ ÑредÑтва проÑмотра. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="ИÑпользовать наÑтройки региона" name="use_region_settings"/> - <radio_item label="ÐаÑтроить Ñреду" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Примечание: ваши наÑтройки не будут видны другим пользователÑм. - </text> - <text name="water_settings_title"> - ÐаÑтройка воды - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Выбор наÑтройки-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Ðебо/Ñуточный цикл - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="ЗафикÑированное небо" name="my_sky_settings"/> - <radio_item label="Суточный цикл" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Выбор наÑтройки-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Выбор наÑтройки-" name="item0"/> - </combo_box> - </panel> - <button label="ОК" name="ok_btn"/> - <button label="Отмена" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_facebook.xml b/indra/newview/skins/default/xui/ru/floater_facebook.xml deleted file mode 100644 index cbf32cb682..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="ОПУБЛИКОВÐТЬ Ð’ FACEBOOK"> - <tab_container name="tabs"> - <panel label="СТÐТУС" name="panel_facebook_status"/> - <panel label="ФОТО" name="panel_facebook_photo"/> - <panel label="ВХОД" name="panel_facebook_place"/> - <panel label="ДРУЗЬЯ" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_flickr.xml b/indra/newview/skins/default/xui/ru/floater_flickr.xml deleted file mode 100644 index 67a3bedc6b..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="ПОДЕЛИТЬСЯ Ð’ FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="ФОТО" name="panel_flickr_photo"/> - <panel label="ÐККÐУÐТ" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml deleted file mode 100644 index d7da112a27..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="ÐППÐÐ ÐТÐЫЕ ÐÐСТРОЙКИ"> - <text name="Filtering:"> - ФильтрациÑ: - </text> - <check_box label="ÐÐ½Ð¸Ð·Ð¾Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ (медленнее, еÑли включено)" name="ani"/> - <text name="antialiasing label"> - Сглаживание: - </text> - <combo_box label="Сглаживание" name="fsaa"> - <combo_box.item label="Выключено" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (требуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿ÑƒÑк) - </text> - <spinner label="Гамма:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (чем меньше, тем Ñрче. 0 – ÑркоÑÑ‚ÑŒ по умолчанию) - </text> - <text name="Enable VBO:"> - Включить VBO: - </text> - <check_box initial_value="true" label="Включить объекты вершинных буферов OpenGL" name="vbo" tool_tip="Включение Ñтого параметра на Ñовременном оборудовании даÑÑ‚ увеличение производительноÑти. Однако на Ñтаром оборудовании Ñто может привеÑти к Ñбою приложениÑ."/> - <text name="tc label"> - Включить S3TC: - </text> - <check_box initial_value="true" label="Разрешить Ñжатие текÑтур (требует перезагрузки)" name="texture compression" tool_tip="Сжатие текÑтур в видеопамÑти, что позволÑет загружать текÑтуры большего размера за Ñчет некоторого Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÐºÐ°Ñ‡ÐµÑтва цвета."/> - <slider label="ПамÑÑ‚ÑŒ Ð´Ð»Ñ Ñ‚ÐµÐºÑтур (Мб):" name="GraphicsCardTextureMemory" tool_tip="КоличеÑтво памÑти, отводимое Ð´Ð»Ñ Ñ‚ÐµÐºÑтур. По умолчанию равно памÑти видеокарты. Уменьшение поможет увеличить производительноÑÑ‚ÑŒ, но текÑтуры могут Ñтать размытыми."/> - <spinner label="ДиÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ñ‚ÑƒÐ¼Ð°Ð½Ð°:" name="fog"/> - <button label="OK" label_selected="OK" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_perm_prefs.xml b/indra/newview/skins/default/xui/ru/floater_perm_prefs.xml deleted file mode 100644 index 626f3c9321..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_perm_prefs.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="СТÐÐДÐРТÐЫЕ Ð ÐЗРЕШЕÐИЯ ÐРПЕРЕДÐЧУ"> - <panel label="РазрешениÑ" name="permissions"> - <check_box label="ПоделитьÑÑ Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð¾Ð¹" name="share_with_group"/> - <check_box label="Разрешить вÑем копировать" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Следующий владелец может: - </text> - <check_box label="изменÑÑ‚ÑŒ" name="next_owner_modify"/> - <check_box label="копировать" name="next_owner_copy"/> - <check_box initial_value="true" label="перепродавать/отдавать" name="next_owner_transfer"/> - </panel> - <button label="ОК" label_selected="ОК" name="ok"/> - <button label="Отмена" label_selected="Отмена" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_twitter.xml b/indra/newview/skins/default/xui/ru/floater_twitter.xml deleted file mode 100644 index 3b9493ce98..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="ÐÐПИСÐТЬ" name="panel_twitter_photo"/> - <panel label="ÐККÐУÐТ" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Ошибка - </text> - <text name="connection_loading_text"> - Загрузка... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml b/indra/newview/skins/default/xui/ru/floater_voice_controls.xml deleted file mode 100644 index 2b23086062..0000000000 --- a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="УПРÐВЛЕÐИЕ ГОЛОСОМ"> - <string name="title_nearby"> - ÐÐСТРОЙКИ ГОЛОСР- </string> - <string name="title_group"> - ЗВОÐОК ГРУППЕ [GROUP] - </string> - <string name="title_adhoc"> - КОÐФЕРЕÐЦИЯ - </string> - <string name="title_peer_2_peer"> - ЗВОÐОК ПОЛЬЗОВÐТЕЛЮ [NAME] - </string> - <string name="no_one_near"> - Ðет никого Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ‹Ð¼ голоÑом - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Мой аватар:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Прервать звонок" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/ru/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/ru/menu_inspect_avatar_gear.xml deleted file mode 100644 index 957609a7a3..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Смотреть профиль" name="view_profile"/> - <menu_item_call label="Ð’ друзьÑ" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="Звонок" name="call"/> - <menu_item_call label="Телепорт" name="teleport"/> - <menu_item_call label="ПриглаÑить в группу" name="invite_to_group"/> - <menu_item_call label="Заблокировать" name="block"/> - <menu_item_call label="Разблокировать" name="unblock"/> - <menu_item_call label="ПожаловатьÑÑ" name="report"/> - <menu_item_call label="Заморозить" name="freeze"/> - <menu_item_call label="Выкинуть" name="eject"/> - <menu_item_call label="Выкинуть" name="kick"/> - <menu_item_call label="Поддержка" name="csr"/> - <menu_item_call label="Отладка текÑтур" name="debug"/> - <menu_item_call label="Ðайти на карте" name="find_on_map"/> - <menu_item_call label="Приблизить" name="zoom_in"/> - <menu_item_call label="Заплатить" name="pay"/> - <menu_item_call label="ПоделитьÑÑ" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/ru/menu_inspect_self_gear.xml deleted file mode 100644 index 901bb615e0..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="СеÑÑ‚ÑŒ" name="Sit Down Here"/> - <menu_item_call label="Ð’Ñтать" name="Stand Up"/> - <context_menu label="СнÑÑ‚ÑŒ" name="Take Off >"> - <context_menu label="одежду" name="Clothes >"> - <menu_item_call label="рубашку" name="Shirt"/> - <menu_item_call label="брюки" name="Pants"/> - <menu_item_call label="юбку" name="Skirt"/> - <menu_item_call label="обувь" name="Shoes"/> - <menu_item_call label="ноÑки" name="Socks"/> - <menu_item_call label="пиджак" name="Jacket"/> - <menu_item_call label="перчатки" name="Gloves"/> - <menu_item_call label="майку" name="Self Undershirt"/> - <menu_item_call label="труÑÑ‹" name="Self Underpants"/> - <menu_item_call label="тату" name="Self Tattoo"/> - <menu_item_call label="альфа-маÑку" name="Self Alpha"/> - <menu_item_call label="вÑÑŽ одежду" name="All Clothes"/> - </context_menu> - <context_menu label="данные в игре" name="Object Detach HUD"/> - <context_menu label="ОтÑоединить" name="Object Detach"/> - <menu_item_call label="ОтÑоединить вÑе" name="Detach All"/> - </context_menu> - <menu_item_call label="Сменить коÑтюм" name="Chenge Outfit"/> - <menu_item_call label="Изменить коÑтюм" name="Edit Outfit"/> - <menu_item_call label="Изменить фигуру" name="Edit My Shape"/> - <menu_item_call label="Мои друзьÑ" name="Friends..."/> - <menu_item_call label="Мои группы" name="Groups..."/> - <menu_item_call label="Мой профиль" name="Profile..."/> - <menu_item_call label="Отладка текÑтур" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_name_field.xml b/indra/newview/skins/default/xui/ru/menu_name_field.xml deleted file mode 100644 index 889f3c37ab..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Копировать отображаемое имÑ" name="copy_display"/> - <menu_item_call label="Копировать Ð¸Ð¼Ñ Ð°Ð³ÐµÐ½Ñ‚Ð°" name="copy_name"/> - <menu_item_call label="Копировать Id агента" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/ru/menu_people_friends_view_sort.xml deleted file mode 100644 index 0fa252aa99..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Сортировать по имени" name="sort_name"/> - <menu_item_check label="Сортировать по ÑтатуÑу" name="sort_status"/> - <menu_item_check label="Показывать значки" name="view_icons"/> - <menu_item_check label="Показывать разрешенные дейÑтвиÑ" name="view_permissions"/> - <menu_item_call label="Показать черный ÑпиÑок" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/ru/menu_people_groups_view_sort.xml deleted file mode 100644 index 0358068db9..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <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/ru/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/ru/menu_people_nearby_view_sort.xml deleted file mode 100644 index 4589815f6b..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Сортировать по недавно говорившим" name="sort_by_recent_speakers"/> - <menu_item_check label="Сортировать по имени" name="sort_name"/> - <menu_item_check label="Сортировать по раÑÑтоÑнию" name="sort_distance"/> - <menu_item_check label="Показывать значки учаÑтников" name="view_icons"/> - <menu_item_check label="Смотреть карту" name="view_map"/> - <menu_item_call label="Показать черный ÑпиÑок жителей и объектов" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/ru/menu_people_recent_view_sort.xml deleted file mode 100644 index 2ac83ffe52..0000000000 --- a/indra/newview/skins/default/xui/ru/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Сортировать по времени" name="sort_most"/> - <menu_item_check label="Сортировать по имени" name="sort_name"/> - <menu_item_check label="Показывать значки людей" name="view_icons"/> - <menu_item_call label="Показать черный ÑпиÑок" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/ru/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/ru/panel_adhoc_control_panel.xml deleted file mode 100644 index ae2240593d..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Звонок" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Прервать звонок" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Управление голоÑом" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_classified.xml b/indra/newview/skins/default/xui/ru/panel_edit_classified.xml deleted file mode 100644 index ec457c4565..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Изменить рекламу" name="panel_edit_classified"> - <panel.string name="location_notice"> - (будет обновлено поÑле ÑохранениÑ) - </panel.string> - <string name="publish_label"> - Опубликовать - </string> - <string name="save_label"> - Сохранить - </string> - <text name="title"> - Изменить рекламу - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Щелкните Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° изображениÑ"/> - </panel> - <text name="Name:"> - Ðазвание: - </text> - <text name="description_label"> - ОпиÑание: - </text> - <text name="location_label"> - МеÑто: - </text> - <text name="classified_location"> - загрузка... - </text> - <button label="ИÑпользовать текущее меÑто" name="set_to_curr_location_btn"/> - <text name="category_label" value="КатегориÑ:"/> - <text name="content_type_label" value="Тип контента:"/> - <icons_combo_box label="General-контент" name="content_type"> - <icons_combo_box.item label="Moderate-контент" name="mature_ci" value="Mature-контент"/> - <icons_combo_box.item label="General-контент" name="pg_ci" value="PG-контент"/> - </icons_combo_box> - <check_box label="ÐвтоматичеÑÐºÐ°Ñ Ð¾Ð¿Ð»Ð°Ñ‚Ð° каждую неделю" name="auto_renew"/> - <text name="price_for_listing_label" value="СтоимоÑÑ‚ÑŒ размещениÑ:"/> - <spinner label="L$" name="price_for_listing" tool_tip="СтоимоÑÑ‚ÑŒ размещениÑ." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Отменить" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_pick.xml b/indra/newview/skins/default/xui/ru/panel_edit_pick.xml deleted file mode 100644 index 6be1448ac5..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Изменить подборку" name="panel_edit_pick"> - <panel.string name="location_notice"> - (будет обновлено поÑле ÑохранениÑ) - </panel.string> - <text name="title"> - Изменить подборку - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Щелкните Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° изображениÑ"/> - <text name="Name:"> - Ðазвание: - </text> - <text name="description_label"> - ОпиÑание: - </text> - <text name="location_label"> - МеÑто: - </text> - <text name="pick_location"> - загрузка… - </text> - <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="Сохранить подборку" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Отмена" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_edit_profile.xml b/indra/newview/skins/default/xui/ru/panel_edit_profile.xml deleted file mode 100644 index e9a6a781db..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Редактирование профилÑ" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Житель"/> - <string name="AcctTypeTrial" value="ГоÑÑ‚ÑŒ"/> - <string name="AcctTypeCharterMember" value="Учредитель"/> - <string name="AcctTypeEmployee" value="Сотрудник Linden Lab"/> - <string name="PaymentInfoUsed" value="ИÑпользована Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ платежах"/> - <string name="PaymentInfoOnFile" value="ЗарегиÑтрирована Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ платежах"/> - <string name="NoPaymentInfoOnFile" value="Ðе зарегиÑтрирована Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ платежах"/> - <string name="AgeVerified" value="ВозраÑÑ‚ проверен"/> - <string name="NotAgeVerified" value="ВозраÑÑ‚ не проверен"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Ðет"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Ðкранное имÑ:"/> - <text name="solo_username_label" value="Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:"/> - <button name="set_name" tool_tip="Задать Ñкранное имÑ"/> - <text name="user_label" value="Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Щелкните Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° изображениÑ"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Реальный мир:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Щелкните Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° изображениÑ"/> - <text name="title_homepage_text"> - ДомашнÑÑ Ñтраница: - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="Мой аккаунт:"/> - <text_editor name="acc_status_text" value="Житель. Ð’ файле нет информации о платежах."/> - <text name="my_account_link" value="[[URL] Перейти на информационную панель]"/> - <text name="title_partner_text" value="Мой партнер:"/> - <panel name="partner_data_panel"> - <text initial_value="(получение информации)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Редактировать]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="Сохранить изменениÑ" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Отмена" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_account.xml b/indra/newview/skins/default/xui/ru/panel_facebook_account.xml deleted file mode 100644 index 22b4e46897..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Ð’Ñ‹ подключилиÑÑŒ к Facebook как:"/> - <string name="facebook_disconnected" value="Ðе подключено к Facebook"/> - <text name="account_caption_label"> - Ðе подключено к Facebook. - </text> - <panel name="panel_buttons"> - <button label="Подключение..." name="connect_btn"/> - <button label="Отключить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 О публикации в Facebook] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml b/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml deleted file mode 100644 index 1e4d1346f7..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ñƒ Ð²Ð°Ñ Ð½ÐµÑ‚ друзей в Facebook, которые ÑвлÑÑŽÑ‚ÑÑ Ñ‚Ð°ÐºÐ¶Ðµ жителÑми Second Life. Предложите Ñвоим друзьÑм в Facebook приÑоединитьÑÑ Ðº Second Life!"/> - <string name="facebook_friends_no_connected" value="Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹ не подключены к Facebook. Перейдите на вкладку «СтатуÑ», чтобы подключитьÑÑ Ð¸ включить Ñту функцию."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="Ð”Ñ€ÑƒÐ·ÑŒÑ Ð¿Ð¾ SL"/> - <accordion_tab name="tab_suggested_friends" title="Добавить Ñтих людей как друзей по SL"/> - </accordion> - <text name="facebook_friends_status"> - Ðе подключено к Facebook. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml b/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml deleted file mode 100644 index 50296778ff..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображениÑ"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640 x 480" name="640x480"/> - <combo_box.item label="800 x 600" name="800x600"/> - <combo_box.item label="1024 x 768" name="1024x768"/> - <combo_box.item label="1200 x 630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкнуть Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ"/> - <button label="ПредпроÑмотр" name="big_preview_btn" tool_tip="Щелкнуть Ð´Ð»Ñ Ñмены вида"/> - <text name="caption_label"> - Комментарий (не обÑзательно): - </text> - <button label="Опубликовать" name="post_photo_btn"/> - <button label="Отменить" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_place.xml b/indra/newview/skins/default/xui/ru/panel_facebook_place.xml deleted file mode 100644 index a7fadca059..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - Сообщите, где вы находитеÑÑŒ: - </text> - <check_box initial_value="false" label="Включить вид меÑта Ñверху" name="add_place_view_cb"/> - <button label="Опубликовать" name="post_place_btn"/> - <button label="Отменить" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_facebook_status.xml b/indra/newview/skins/default/xui/ru/panel_facebook_status.xml deleted file mode 100644 index 826ac6a08c..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Ð’Ñ‹ подключилиÑÑŒ к Facebook как:"/> - <string name="facebook_disconnected" value="Ðет Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Facebook"/> - <text name="account_caption_label"> - Ðет Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº Facebook. - </text> - <panel name="panel_buttons"> - <button label="Соединение..." name="connect_btn"/> - <button label="Разъединить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Узнать о публикации в Facebook] - </text> - </panel> - <text name="status_caption_label"> - О чем вы думаете? - </text> - <button label="Опубликовать" name="post_status_btn"/> - <button label="Отменить" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_flickr_account.xml b/indra/newview/skins/default/xui/ru/panel_flickr_account.xml deleted file mode 100644 index 9f70bf8042..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Ð’Ñ‹ подключилиÑÑŒ к Flickr как:"/> - <string name="flickr_disconnected" value="Ðе подключено к Flickr"/> - <text name="account_caption_label"> - Ðе подключено к Flickr. - </text> - <panel name="panel_buttons"> - <button label="Подключение..." name="connect_btn"/> - <button label="Отключить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 О публикации в Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml b/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml deleted file mode 100644 index f4cff55db2..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_flickr_photo.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображениÑ"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкните Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ"/> - <button label="ПроÑмотр" name="big_preview_btn" tool_tip="Щелкните Ð´Ð»Ñ Ñмены вида"/> - <text name="title_label"> - Ðазвание: - </text> - <text name="description_label"> - ОпиÑание: - </text> - <check_box initial_value="true" label="Добавить в конец опиÑÐ°Ð½Ð¸Ñ Ñ€Ð°Ñположение в SL" name="add_location_cb"/> - <text name="tags_label"> - Теги: - </text> - <text name="tags_help_label"> - РазделÑйте теги пробелами. Теги из неÑкольких Ñлов заключайте в кавычки. - </text> - <combo_box name="rating_combobox" tool_tip="Рейтинг контента Flickr"> - <combo_box.item label="БезопаÑный рейтинг Flickr" name="SafeRating"/> - <combo_box.item label="Умеренный рейтинг Flickr" name="ModerateRating"/> - <combo_box.item label="Ограниченный рейтинг Flickr" name="RestrictedRating"/> - </combo_box> - <button label="ПоделитьÑÑ" name="post_photo_btn"/> - <button label="Отмена" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_group_control_panel.xml b/indra/newview/skins/default/xui/ru/panel_group_control_panel.xml deleted file mode 100644 index 2e6f3502b6..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Профиль группы" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Звонок группе" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Прервать звонок" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Открыть голоÑовое управление" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml deleted file mode 100644 index 2a23cdb800..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Профиль" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="Добавить в друзьÑ" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="ТелепортациÑ" name="teleport_btn" tool_tip="Предложить телепортацию Ñтому жителю"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="ПоделитьÑÑ" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Заплатить" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Звонок" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Завершить звонок" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Управление голоÑом" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_pick_info.xml b/indra/newview/skins/default/xui/ru/panel_pick_info.xml deleted file mode 100644 index 373cf211fb..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="О подборке"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[название]"/> - <text_editor name="pick_location" value="[загрузка...]"/> - <text_editor name="pick_desc" value="[опиÑание]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Телепорт" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Карта" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Изменить" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_picks.xml b/indra/newview/skins/default/xui/ru/panel_picks.xml deleted file mode 100644 index d6770e0eeb..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Подборка" name="panel_picks"> - <string name="no_picks" value="Ðет подборки"/> - <string name="no_classifieds" value="Ðет рекламы"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Подборка"/> - <accordion_tab name="tab_classifieds" title="Реклама"/> - </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="Создать подборку или рекламу на Ñтом меÑте"/> - </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="Показать данные о подборке"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <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="Показать ÑоответÑтвующую облаÑÑ‚ÑŒ на карте мира"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_profile_interests.xml b/indra/newview/skins/default/xui/ru/panel_profile_interests.xml deleted file mode 100644 index ba1c3d0357..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Круг интереÑов" name="panel_profile_interests"> - <text name="I Want To:"> - Я ÑобираюÑÑŒ: - </text> - <check_box label="ПоÑтроить" name="chk0"/> - <check_box label="ПроÑмотреть" name="chk1"/> - <check_box label="Ð’Ñтретить" name="chk2"/> - <check_box label="Получить работу" name="chk6"/> - <check_box label="Группа" name="chk3"/> - <check_box label="Купить" name="chk4"/> - <check_box label="Продать" name="chk5"/> - <check_box label="ÐанÑÑ‚ÑŒ" name="chk7"/> - <line_editor name="want_to_edit"> - (загрузка…) - </line_editor> - <text name="Skills:"> - Ðавыки: - </text> - <check_box label="ТекÑтуры" name="schk0"/> - <check_box label="Ðрхитектура" name="schk1"/> - <check_box label="Моделирование" name="schk3"/> - <check_box label="Планирование мероприÑтиÑ" name="schk2"/> - <check_box label="Создавать Ñценарии" name="schk4"/> - <check_box label="ПользовательÑкие Ñимволы" name="schk5"/> - <line_editor name="skills_edit"> - (загрузка…) - </line_editor> - <text name="Languages:"> - Языки: - </text> - <line_editor name="languages_edit"> - (загрузка…) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_twitter_account.xml b/indra/newview/skins/default/xui/ru/panel_twitter_account.xml deleted file mode 100644 index 140554f5c6..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Ð’Ñ‹ подключилиÑÑŒ к Twitter как:"/> - <string name="twitter_disconnected" value="Ðе подключено к Twitter"/> - <text name="account_caption_label"> - Ðе подключено к Twitter. - </text> - <panel name="panel_buttons"> - <button label="Подключение..." name="connect_btn"/> - <button label="Отключить" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 О публикации в Twitter] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml b/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml deleted file mode 100644 index 6c9035323a..0000000000 --- a/indra/newview/skins/default/xui/ru/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Что ÑлучилоÑÑŒ? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="Включить раÑположение в SL" name="add_location_cb"/> - <check_box initial_value="true" label="Включить фото" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Разрешение изображениÑ"> - <combo_box.item label="Текущее окно" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Фильтры изображений"> - <combo_box.item label="Без фильтра" name="NoFilter"/> - </combo_box> - <button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкните Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ"/> - <button label="ПроÑмотр" name="big_preview_btn" tool_tip="Щелкните Ð´Ð»Ñ Ñмены вида"/> - <button label="Твит" name="post_photo_btn"/> - <button label="Отмена" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/floater_about.xml b/indra/newview/skins/default/xui/tr/floater_about.xml index faa504a996..40ca3707c3 100644 --- a/indra/newview/skins/default/xui/tr/floater_about.xml +++ b/indra/newview/skins/default/xui/tr/floater_about.xml @@ -29,6 +29,7 @@ açık kaynak kod katkısında bulunanlar ÅŸunlardır:</text> SDL Telif Hakkı (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga SSLeay Telif Hakkı (C) 1995-1998 Eric Young (eay@cryptsoft.com) xmlrpc-epi Telif Hakkı (C) 2000 Epinions, Inc. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Telif Hakkı (C) 1995-2012 Jean-loup Gailly ve Mark Adler. Second Life Görüntüleyicisi Havok (TM) Fizik motorunu kullanmaktadır. (c)Telif Hakkı 1999-2010 Havok.com Inc. (ve Lisans Verenleri). Tüm Hakları Saklıdır. Ayrıntılı bilgi için bkz. www.havok.com diff --git a/indra/newview/skins/default/xui/tr/floater_chat_bar.xml b/indra/newview/skins/default/xui/tr/floater_chat_bar.xml deleted file mode 100644 index cd999b4b7a..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="nearby_chat" title="YAKINDAKÄ° SOHBET"> - <panel name="bottom_panel"> - <line_editor label="Sohbet etmek için buraya tıklayın." name="chat_box" tool_tip="Söylemek için Enter, bağırmak için Ctrl+Enter yapın"/> - <button name="show_nearby_chat" tool_tip="Yakın sohbet günlüğünü gösterir/gizler"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml deleted file mode 100644 index 4be1068dcc..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="Gün Döngüsünü Düzenle"> - <string name="title_new"> - Yeni Bir Gün Döngüsü OluÅŸtur - </string> - <string name="title_edit"> - Gün Döngüsünü Düzenle - </string> - <string name="hint_new"> - Gün döngünüzü adlandırın, bunu oluÅŸturmak için denetimleri ayarlayın ve "Kaydet" üzerine tıklayın. - </string> - <string name="hint_edit"> - Gün döngünüzü düzenlemek için alttaki denetimleri ayarlayın ve "Kaydet" üzerine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: Ön ayarınızın adını deÄŸiÅŸtirirseniz, yeni bir ön ayar oluÅŸturursunuz ve mevcut ön ayar deÄŸiÅŸmez. - </text> - <text name="hint_item1"> - - Birine tıklayarak gökyüzü ayarlarını/zamanı düzenleyin. - </text> - <text name="hint_item2"> - - Sekmelere tıklayıp sürükleyerek geçiÅŸ sürlrn. ayarlayın. - </text> - <text name="hint_item3"> - - Gün döngünüzü önizlemek için fırçayı kullanın. - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="Anahtar Ekle" label_selected="Anahtar Ekle" name="WLAddKey"/> - <button label="Anahtarı Sil" label_selected="Anahtarı Sil" name="WLDeleteKey"/> - <text name="WL12am"> - 12 - </text> - <text name="WL3am"> - 3 - </text> - <text name="WL6am"> - 6 - </text> - <text name="WL9amHash"> - 9 - </text> - <text name="WL12pmHash"> - 24 - </text> - <text name="WL3pm"> - 15 - </text> - <text name="WL6pm"> - 18 - </text> - <text name="WL9pm"> - 21 - </text> - <text name="WL12am2"> - 12 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - Gökyüzü Ayarı: - </text> - <combo_box label="Ön Ayar" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - Zaman: - </text> - <time name="time" value="6:00"/> - <check_box label="Bunu yeni gün döngüm yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="Ä°ptal" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml deleted file mode 100644 index b09115332b..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="Gökyüzü Ön Ayarını Düzenle"> - <string name="title_new"> - Yeni bir Gökyüzü Ön Ayarı OluÅŸtur - </string> - <string name="title_edit"> - Gökyüzü Ön Ayarını Düzenle - </string> - <string name="hint_new"> - Ön ayarınızı adlandırın, bunu oluÅŸturmak için denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="hint_edit"> - Gökyüzü ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="hint"> - Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "Kaydet» düğmesine tıklayın. - </text> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: ön ayarınızın adını deÄŸiÅŸtirirseniz, yeni bir ön ayar oluÅŸturursunuz ve mevcut ön ayar deÄŸiÅŸmez. - </text> - <tab_container name="WindLight Tabs"> - <panel label="ATMOSFER" name="Atmosphere"> - <text name="BHText"> - Mavi Ufuk - </text> - <text name="BDensText"> - Puslu Ufuk - </text> - <text name="BDensText2"> - Mavi YoÄŸunluÄŸu - </text> - <text name="HDText"> - Pus YoÄŸunluÄŸu - </text> - <text name="DensMultText"> - YoÄŸunluk Çarpanı - </text> - <text name="WLDistanceMultText"> - Mesafe Çarpanı - </text> - <text name="MaxAltText"> - Maks. Ä°rtifa - </text> - </panel> - <panel label="AYDINLATMA" name="Lighting"> - <text name="SLCText"> - GüneÅŸ/Ay Rengi - </text> - <text name="WLAmbientText"> - Ortam - </text> - <text name="SunGlowText"> - GüneÅŸ Parıltısı - </text> - <slider label="Odak" name="WLGlowB"/> - <slider label="Büyüklük" name="WLGlowR"/> - <text name="WLStarText"> - Yıldız Parlaklığı - </text> - <text name="SceneGammaText"> - Sahne Gama Ayarı - </text> - <text name="TODText"> - GüneÅŸ/Ay Konumu - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - 00:00 - </text> - <text name="WL6am"> - 06:00 - </text> - <text name="WL12pmHash"> - 12:00 - </text> - <text name="WL6pm"> - 18:00 - </text> - <text name="WL12am2"> - 00:00 - </text> - <time name="WLDayTime" value="06:00"/> - <text name="WLEastAngleText"> - DoÄŸu Açısı - </text> - </panel> - <panel label="BULUTLAR" name="Clouds"> - <text name="WLCloudColorText"> - Bulut Rengi - </text> - <text name="WLCloudColorText2"> - Bulut XY/YoÄŸunluÄŸu - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - Bulut Örtüsü - </text> - <text name="WLCloudScaleText"> - Bulut Hacmi - </text> - <text name="WLCloudDetailText"> - Bulut Ayrıntısı (XY/YoÄŸunluÄŸu) - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - Bulut Kaydırma X - </text> - <check_box label="Kilitle" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - Bulut Kaydırma Y - </text> - <check_box label="Kilitle" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="Bu ön ayarı yeni gökyüzü ayarım yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="Ä°ptal Et" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml deleted file mode 100644 index f44af3c6e6..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="Su Ön Ayarını Düzenle"> - <string name="title_new"> - Yeni bir Su Ön Ayarı OluÅŸtur - </string> - <string name="title_edit"> - Bir Su Ön Ayarını Düzenle - </string> - <string name="hint_new"> - Ön ayarınızı adlandırın, bunu oluÅŸturmak için denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="hint_edit"> - Su ön ayarınızı düzenlemek için, denetimleri ayarlayın ve "Kaydet" düğmesine tıklayın. - </string> - <string name="combo_label"> - -Bir ön ayar seçin- - </string> - <text name="hint"> - Ön ayarınızı düzenlemek için, denetimleri ayarlayın, sonra "Kaydet» düğmesine tıklayın. - </text> - <text name="label"> - Ön Ayar Adı: - </text> - <text name="note"> - Not: ön ayarınızın adını deÄŸiÅŸtirirseniz, yeni bir ön ayar oluÅŸturursunuz ve mevcut ön ayar deÄŸiÅŸmez. - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - Su Sisi Rengi - </text> - <text name="water_fog_density_label"> - Sis YoÄŸunluÄŸu Ãœssü - </text> - <text name="underwater_fog_modifier_label"> - Sualtı Sis DeÄŸiÅŸtiricisi - </text> - <text name="BHText"> - Büyük Dalga Yönü - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - Yansıma Dalgacığı ÖlçeÄŸi - </text> - <text name="HDText"> - Fresnel ÖlçeÄŸi - </text> - <text name="FresnelOffsetText"> - Fresnel Dengeleme - </text> - <text name="BHText2"> - Küçük Dalga Yönü - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - Yukarıdan Kırılma ÖlçeÄŸi - </text> - <text name="WaterScaleBelowText"> - AÅŸağıdan Kırılma ÖlçeÄŸi - </text> - <text name="MaxAltText"> - BulanıklaÅŸtırma Çarpanı - </text> - <text name="BHText3"> - Normal Harita - </text> - </panel> - <check_box label="Bu ön ayarı yeni su ayarım yap" name="make_default_cb"/> - <button label="Kaydet" name="save"/> - <button label="Ä°ptal Et" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml b/indra/newview/skins/default/xui/tr/floater_environment_settings.xml deleted file mode 100644 index 0ddd46994b..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="ORTAM AYARLARI"> - <text name="note"> - Görüntüleyicinizin ortam ayarlarını özelleÅŸtirmek için aÅŸağıdaki seçenekleri kullanın. - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="Bölge ayarlarını kullan" name="use_region_settings"/> - <radio_item label="Ortamımı özelleÅŸtir" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - Not: özel ayarlarınız diÄŸer kullanıcılar tarafından görülmez. - </text> - <text name="water_settings_title"> - Su Ayarı - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - Gökyüzü / Gün Döngüsü - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="Sabit gökyüzü" name="my_sky_settings"/> - <radio_item label="Gün döngüsü" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-Bir ön ayar seçin-" name="item0"/> - </combo_box> - </panel> - <button label="Tamam" name="ok_btn"/> - <button label="Ä°ptal Et" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_facebook.xml b/indra/newview/skins/default/xui/tr/floater_facebook.xml deleted file mode 100644 index d8cbd84ed1..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="FACEBOOK'TA YAYINLA"> - <tab_container name="tabs"> - <panel label="DURUM" name="panel_facebook_status"/> - <panel label="FOTOÄžRAF" name="panel_facebook_photo"/> - <panel label="GÄ°RÄ°Åž YAP" name="panel_facebook_place"/> - <panel label="ARKADAÅžLAR" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_flickr.xml b/indra/newview/skins/default/xui/tr/floater_flickr.xml deleted file mode 100644 index f559808f44..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="FLICKR'DA PAYLAÅž"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="FOTOÄžRAF" name="panel_flickr_photo"/> - <panel label="HESAP" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml deleted file mode 100644 index b204389083..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="DONANIM AYARLARI"> - <text name="Filtering:"> - Filtreleme: - </text> - <check_box label="Anisotropik Filtreleme (etkinken daha yavaÅŸ)" name="ani"/> - <text name="antialiasing label"> - DüzgünleÅŸtirme: - </text> - <combo_box label="Antialiasing" name="fsaa"> - <combo_box.item label="Devre dışı" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - (görüntülemeyi eniden baÅŸlatma gerekir) - </text> - <spinner label="Gama:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = varsayılan parlaklık, düşük = daha parlak) - </text> - <text name="Enable VBO:"> - VBO EtkinleÅŸtir: - </text> - <check_box initial_value="true" label="OpenGL Vertex Tampon Nesnelerini EtkinleÅŸtir" name="vbo" tool_tip="Modern donanımlarda bunun etkinleÅŸtirilmesi performans artışı saÄŸlar. Ancak, eski donanımlardaki VBO uygulamaları yetersizdir ve etkinleÅŸtirildiÄŸinde bilgisayarınız çökebilir."/> - <text name="tc label"> - S3TC'ü EtkinleÅŸtir: - </text> - <check_box initial_value="true" label="Doku Sıkıştırmasını EtkinleÅŸtir (yeniden baÅŸlatma gerektirir)" name="texture compression" tool_tip="Video bellekteki dokuları sıkıştırır, renk kalitesinde bazı kayıplar olmasına karşın daha yüksek çözünürlükte dokuların yüklenmesine imkan tanır."/> - <slider label="Doku BelleÄŸi (MB):" name="GraphicsCardTextureMemory" tool_tip="Dokular için tahsis edilecek bellek miktarı. Varsayılan deÄŸer video kartı belleÄŸidir. Bu deÄŸerin küçültülmesi performansı artırabilir, ama ayrıca dokuları bulanıklaÅŸtırabilir."/> - <spinner label="Sis Mesafe Oranı:" name="fog"/> - <button label="Tamam" label_selected="Tamam" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_perm_prefs.xml b/indra/newview/skins/default/xui/tr/floater_perm_prefs.xml deleted file mode 100644 index 669b833c26..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_perm_prefs.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="VARSAYILAN KARÅžIYA YÃœKLEME Ä°ZÄ°NLERÄ°"> - <panel label="Ä°zinler" name="permissions"> - <check_box label="Grupla paylaÅŸ" name="share_with_group"/> - <check_box label="Herkese kopyalama izni ver" name="everyone_copy"/> - <text name="NextOwnerLabel"> - Sonraki sahip ÅŸunu yapabilir: - </text> - <check_box label="DeÄŸiÅŸtir" name="next_owner_modify"/> - <check_box label="Kopyala" name="next_owner_copy"/> - <check_box initial_value="true" label="Tekrar sat/Ver" name="next_owner_transfer"/> - </panel> - <button label="Tamam" label_selected="Tamam" name="ok"/> - <button label="Ä°ptal" label_selected="Ä°ptal" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_twitter.xml b/indra/newview/skins/default/xui/tr/floater_twitter.xml deleted file mode 100644 index 93c1b0b073..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="TWITTER"> - <tab_container name="tabs"> - <panel label="OLUÅžTUR" name="panel_twitter_photo"/> - <panel label="HESAP" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - Hata - </text> - <text name="connection_loading_text"> - Yükleniyor... - </text> -</floater> diff --git a/indra/newview/skins/default/xui/tr/floater_voice_controls.xml b/indra/newview/skins/default/xui/tr/floater_voice_controls.xml deleted file mode 100644 index 5ff0804f17..0000000000 --- a/indra/newview/skins/default/xui/tr/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="SES DENETÄ°MLERÄ°"> - <string name="title_nearby"> - SES AYARLARI - </string> - <string name="title_group"> - [GROUP] Ä°LE GRUP ARAMASI - </string> - <string name="title_adhoc"> - KONFERANS ARAMASI - </string> - <string name="title_peer_2_peer"> - [NAME] Ä°LE ARAMA - </string> - <string name="no_one_near"> - Yakındaki kimsede ses etkin deÄŸil - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="Avatarım:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="Aramadan Ayrıl" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> diff --git a/indra/newview/skins/default/xui/tr/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/tr/menu_inspect_avatar_gear.xml deleted file mode 100644 index 69432e967b..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="Profili Göster" name="view_profile"/> - <menu_item_call label="ArkadaÅŸ Ekle" name="add_friend"/> - <menu_item_call label="AÄ°" name="im"/> - <menu_item_call label="Ara" name="call"/> - <menu_item_call label="Işınla" name="teleport"/> - <menu_item_call label="Gruba Davet Et" name="invite_to_group"/> - <menu_item_call label="Engelle" name="block"/> - <menu_item_call label="Engellemeyi Kaldır" name="unblock"/> - <menu_item_call label="Raporla" name="report"/> - <menu_item_call label="Dondur" name="freeze"/> - <menu_item_call label="Çıkar" name="eject"/> - <menu_item_call label="Çıkar" name="kick"/> - <menu_item_call label="CSR" name="csr"/> - <menu_item_call label="Dokularda Hata Ayıkla" name="debug"/> - <menu_item_call label="Haritada Bul" name="find_on_map"/> - <menu_item_call label="YakınlaÅŸtır" name="zoom_in"/> - <menu_item_call label="Öde" name="pay"/> - <menu_item_call label="PaylaÅŸ" name="share"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/tr/menu_inspect_self_gear.xml deleted file mode 100644 index 0655db8196..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="Otur" name="Sit Down Here"/> - <menu_item_call label="Kalk" name="Stand Up"/> - <context_menu label="Çıkar" name="Take Off >"> - <context_menu label="Giysiler" name="Clothes >"> - <menu_item_call label="Gömlek" name="Shirt"/> - <menu_item_call label="Pantolon" name="Pants"/> - <menu_item_call label="Etek" name="Skirt"/> - <menu_item_call label="Ayakkabılar" name="Shoes"/> - <menu_item_call label="Çoraplar" name="Socks"/> - <menu_item_call label="Ceket" name="Jacket"/> - <menu_item_call label="Eldivenler" name="Gloves"/> - <menu_item_call label="Fanila" name="Self Undershirt"/> - <menu_item_call label="Külot" name="Self Underpants"/> - <menu_item_call label="Dövme" name="Self Tattoo"/> - <menu_item_call label="Alfa" name="Self Alpha"/> - <menu_item_call label="Tüm Giysiler" name="All Clothes"/> - </context_menu> - <context_menu label="BÃœG" name="Object Detach HUD"/> - <context_menu label="Ayır" name="Object Detach"/> - <menu_item_call label="Tümünü Ayır" name="Detach All"/> - </context_menu> - <menu_item_call label="Dış Görünümü DeÄŸiÅŸtir" name="Chenge Outfit"/> - <menu_item_call label="Dış Görünümümü Düzenle" name="Edit Outfit"/> - <menu_item_call label="Åžeklimi Düzenle" name="Edit My Shape"/> - <menu_item_call label="ArkadaÅŸlarım" name="Friends..."/> - <menu_item_call label="Gruplarım" name="Groups..."/> - <menu_item_call label="Profilim" name="Profile..."/> - <menu_item_call label="Dokularda Hata Ayıkla" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_name_field.xml b/indra/newview/skins/default/xui/tr/menu_name_field.xml deleted file mode 100644 index b1afd737c3..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="Görünen Adı Kopyala" name="copy_display"/> - <menu_item_call label="Aracı Adını Kopyala" name="copy_name"/> - <menu_item_call label="Aracı KimliÄŸini Kopyala" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/tr/menu_people_friends_view_sort.xml deleted file mode 100644 index 404fab17e6..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Ada Göre Sırala" name="sort_name"/> - <menu_item_check label="Duruma Göre Sırala" name="sort_status"/> - <menu_item_check label="KiÅŸi Simgelerini Göster" name="view_icons"/> - <menu_item_check label="Verilen Ä°zinleri Göster" name="view_permissions"/> - <menu_item_call label="EngellenmiÅŸ Sakinleri ve Nesneleri Göster" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/tr/menu_people_groups_view_sort.xml deleted file mode 100644 index a1e5ad9a50..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Grup Simgelerini Göster" name="Display Group Icons"/> - <menu_item_call label="Seçilen Gruptan Ayrıl" name="Leave Selected Group"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/tr/menu_people_nearby_view_sort.xml deleted file mode 100644 index 0ff2111e9e..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="Son KonuÅŸanlara Göre Sırala" name="sort_by_recent_speakers"/> - <menu_item_check label="Ada Göre Sırala" name="sort_name"/> - <menu_item_check label="Mesafeye Göre Sırala" name="sort_distance"/> - <menu_item_check label="KiÅŸi Simgelerini Göster" name="view_icons"/> - <menu_item_check label="Haritayı Göster" name="view_map"/> - <menu_item_call label="EngellenmiÅŸ Sakinleri ve Nesneleri Göster" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/tr/menu_people_recent_view_sort.xml deleted file mode 100644 index adfba50138..0000000000 --- a/indra/newview/skins/default/xui/tr/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="En Sonunculara Göre Sırala" name="sort_most"/> - <menu_item_check label="Ada Göre Sırala" name="sort_name"/> - <menu_item_check label="KiÅŸi Simgelerini Göster" name="view_icons"/> - <menu_item_call label="EngellenmiÅŸ Sakinleri ve Nesneleri Göster" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/tr/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/tr/panel_adhoc_control_panel.xml deleted file mode 100644 index 602818de94..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="Ara" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Aramadan Ayrıl" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ses Denetimleri" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_classified.xml b/indra/newview/skins/default/xui/tr/panel_edit_classified.xml deleted file mode 100644 index 78c34a3ac0..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Ä°lanı Düzenle" name="panel_edit_classified"> - <panel.string name="location_notice"> - (kaydedildikten sonra güncelleÅŸtirilir) - </panel.string> - <string name="publish_label"> - Yayınla - </string> - <string name="save_label"> - Kaydet - </string> - <text name="title"> - Ä°lanı Düzenle - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - </panel> - <text name="Name:"> - BaÅŸlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <text name="location_label"> - Konum: - </text> - <text name="classified_location"> - yükleniyor... - </text> - <button label="Geçerli Konuma Ayarla" name="set_to_curr_location_btn"/> - <text name="category_label" value="Kategori:"/> - <text name="content_type_label" value="İçerik türü:"/> - <icons_combo_box label="Genel İçerik" name="content_type"> - <icons_combo_box.item label="Orta Seviyede İçerik" name="mature_ci" value="Orta Seviyede"/> - <icons_combo_box.item label="Genel İçerik" name="pg_ci" value="PG"/> - </icons_combo_box> - <check_box label="Her hafta otomatik yenile" name="auto_renew"/> - <text name="price_for_listing_label" value="Ä°lan ücreti:"/> - <spinner label="L$" name="price_for_listing" tool_tip="Ä°lan ücreti." value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="Ä°ptal Et" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_pick.xml b/indra/newview/skins/default/xui/tr/panel_edit_pick.xml deleted file mode 100644 index 98b02d27df..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favori Düzenle" name="panel_edit_pick"> - <panel.string name="location_notice"> - (kaydedildikten sonra güncelleÅŸtirilir) - </panel.string> - <text name="title"> - Seçme Düzenle - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - <text name="Name:"> - BaÅŸlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <text name="location_label"> - Konum: - </text> - <text name="pick_location"> - yükleniyor... - </text> - <button label="Geçerli Konuma Ayarla" 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="Seçme Kaydet" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="Ä°ptal" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_edit_profile.xml b/indra/newview/skins/default/xui/tr/panel_edit_profile.xml deleted file mode 100644 index 21f4e419bc..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Profil Düzenlemesi" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="Sakin"/> - <string name="AcctTypeTrial" value="Deneme"/> - <string name="AcctTypeCharterMember" value="Ayrıcalıklı Ãœye"/> - <string name="AcctTypeEmployee" value="Linden Lab Çalışanı"/> - <string name="PaymentInfoUsed" value="Kullanılan Ödeme Bilgisi"/> - <string name="PaymentInfoOnFile" value="Dosyadaki Ödeme Bilgisi"/> - <string name="NoPaymentInfoOnFile" value="Dosyada Ödeme Bilgisi Yok"/> - <string name="AgeVerified" value="Yaşı DoÄŸrulanmış"/> - <string name="NotAgeVerified" value="Yaşı DoÄŸrulanmamış"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="Hiçbiri"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="Ekran Adı:"/> - <text name="solo_username_label" value="Kullanıcı Adı:"/> - <button name="set_name" tool_tip="Ekran Adını Ayarla"/> - <text name="user_label" value="Kullanıcı Adı:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="Gerçek Dünya:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="Bir görüntü seçmek için tıklayın"/> - <text name="title_homepage_text"> - Ana sayfa: - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="Hesabım:"/> - <text_editor name="acc_status_text" value="Sakin. Dosyada ödeme bilgisi yok."/> - <text name="my_account_link" value="[[URL] Kontrol Panelime Git]"/> - <text name="title_partner_text" value="Partnerim:"/> - <panel name="partner_data_panel"> - <text initial_value="(alınıyor)" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] Düzenle]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="DeÄŸiÅŸiklikleri Kaydet" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Ä°ptal" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_account.xml b/indra/newview/skins/default/xui/tr/panel_facebook_account.xml deleted file mode 100644 index e2d2b193a6..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="Facebook'a ÅŸu kimlikle baÄŸlandınız:"/> - <string name="facebook_disconnected" value="Facebook'a baÄŸlanılmadı"/> - <text name="account_caption_label"> - Facebook'a baÄŸlanılmadı. - </text> - <panel name="panel_buttons"> - <button label="BaÄŸlan..." name="connect_btn"/> - <button label="BaÄŸlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook'ta içerik yayınlama hakkında bilgi edinin] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml b/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml deleted file mode 100644 index edbe87d74c..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="Åžu anda aynı zamanda bir Second Life sakini olan hiçbir Facebook arkadaşınız yok. Facebook arkadaÅŸlarınızdan bugün Second Life'a katılmalarını isteyin!"/> - <string name="facebook_friends_no_connected" value="Åžu anda Facebook'a baÄŸlı deÄŸilsiniz. BaÄŸlanmak ve bu özelliÄŸi etkinleÅŸtirmek için lütfen Durum sekmesine gidin."/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="SL arkadaÅŸları"/> - <accordion_tab name="tab_suggested_friends" title="Bu kiÅŸileri SL arkadaÅŸları olarak ekle"/> - </accordion> - <text name="facebook_friends_status"> - Facebook'a baÄŸlanılamadı. - </text> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml b/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml deleted file mode 100644 index e3150f258d..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Geçerli Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizlemeye geçmek için tıklayın"/> - <text name="caption_label"> - Yorum (isteÄŸe baÄŸlı): - </text> - <button label="Yayınla" name="post_photo_btn"/> - <button label="Ä°ptal Et" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_place.xml b/indra/newview/skins/default/xui/tr/panel_facebook_place.xml deleted file mode 100644 index 96c34d03d0..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - BulunduÄŸunuz yer hakkında bir ÅŸeyler söyleyin: - </text> - <check_box initial_value="false" label="Konumun üstten görünümünü ekle" name="add_place_view_cb"/> - <button label="Yayınla" name="post_place_btn"/> - <button label="Ä°ptal Et" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_facebook_status.xml b/indra/newview/skins/default/xui/tr/panel_facebook_status.xml deleted file mode 100644 index f5dba088de..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="Facebook'a ÅŸu kimlikle baÄŸlandınız:"/> - <string name="facebook_disconnected" value="Facebook'a baÄŸlanılamadı"/> - <text name="account_caption_label"> - Facebook'a baÄŸlanılamadı. - </text> - <panel name="panel_buttons"> - <button label="BaÄŸlan..." name="connect_btn"/> - <button label="BaÄŸlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 Facebook'ta içerik yayınlama hakkında bilgi edinin] - </text> - </panel> - <text name="status_caption_label"> - Aklınızdan ne geçiyor? - </text> - <button label="Yayınla" name="post_status_btn"/> - <button label="Ä°ptal Et" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_flickr_account.xml b/indra/newview/skins/default/xui/tr/panel_flickr_account.xml deleted file mode 100644 index 57b940d5f1..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="Flickr'a ÅŸu kimlikle baÄŸlandınız:"/> - <string name="flickr_disconnected" value="Flickr'la baÄŸlantı kurulmadı"/> - <text name="account_caption_label"> - Flickr'la baÄŸlantı kurulmadı. - </text> - <panel name="panel_buttons"> - <button label="BaÄŸlan..." name="connect_btn"/> - <button label="BaÄŸlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Flickr/ta-p/2435609 Flickr'da içerik yayınlama hakkında bilgi edinin] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml b/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml deleted file mode 100644 index c34f608e3c..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizleme ayarları arasında geçiÅŸ yapmak için tıklayın"/> - <text name="title_label"> - BaÅŸlık: - </text> - <text name="description_label"> - Açıklama: - </text> - <check_box initial_value="true" label="Açıklamanın sonuna SL konumunu ekle" name="add_location_cb"/> - <text name="tags_label"> - Etiketler: - </text> - <text name="tags_help_label"> - Etiketleri boÅŸlukla ayır -Birden çok kelime içeren etiketler için "" kullan - </text> - <combo_box name="rating_combobox" tool_tip="Filckr içerik seviyesi"> - <combo_box.item label="Güvenli Flickr seviyesi" name="SafeRating"/> - <combo_box.item label="Orta Flickr seviyesi" name="ModerateRating"/> - <combo_box.item label="Kısıtlı Flickr seviyesi" name="RestrictedRating"/> - </combo_box> - <button label="PaylaÅŸ" name="post_photo_btn"/> - <button label="Ä°ptal" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_group_control_panel.xml b/indra/newview/skins/default/xui/tr/panel_group_control_panel.xml deleted file mode 100644 index 58bb68a5c3..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="Grup Profili" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Grubu Ara" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Aramadan Ayrıl" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ses Denetimlerini Aç" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_im_control_panel.xml b/indra/newview/skins/default/xui/tr/panel_im_control_panel.xml deleted file mode 100644 index aebdc6b48d..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="Profil" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="ArkadaÅŸ Ekle" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="Işınla" name="teleport_btn" tool_tip="Bu kiÅŸiyi ışınlamayı teklif et"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="PaylaÅŸ" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="Öde" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="Ara" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="Aramayı Bitir" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="Ses Denetimleri" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_pick_info.xml b/indra/newview/skins/default/xui/tr/panel_pick_info.xml deleted file mode 100644 index f2bbfac232..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="Seçme Bilgileri"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[ad]"/> - <text_editor name="pick_location" value="[yükleniyor...]"/> - <text_editor name="pick_desc" value="[açıklama]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="Işınla" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Harita" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="Düzenle" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_picks.xml b/indra/newview/skins/default/xui/tr/panel_picks.xml deleted file mode 100644 index 26beac7854..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Favorilerim" name="panel_picks"> - <string name="no_picks" value="Seçme Yok"/> - <string name="no_classifieds" value="Ä°lan Yok"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="Seçmelerim"/> - <accordion_tab name="tab_classifieds" title="Ä°lanlar"/> - </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="Mevcut konumda yeni bir seçme veya ilan oluÅŸturun"/> - </layout_panel> - </layout_stack> - </panel> - <panel name="buttons_cucks"> - <layout_stack name="buttons_cucks_ls"> - <layout_panel name="info_btn_lp"> - <button label="Bilgi" name="info_btn" tool_tip="Seçme bilgilerini göster"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <button label="Işınla" name="teleport_btn" tool_tip="Ä°liÅŸkili alana ışınlanın"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="Harita" name="show_on_map_btn" tool_tip="Ä°liÅŸkili alanı Dünya Haritasında göster"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_profile_interests.xml b/indra/newview/skins/default/xui/tr/panel_profile_interests.xml deleted file mode 100644 index b068aa3dad..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="Ä°lgi alanları" name="panel_profile_interests"> - <text name="I Want To:"> - Åžunu Yapmak Ä°stiyorum: - </text> - <check_box label="Ä°nÅŸa Et" name="chk0"/> - <check_box label="KeÅŸfet" name="chk1"/> - <check_box label="Tanış" name="chk2"/> - <check_box label="Ä°ÅŸe Gir" name="chk6"/> - <check_box label="Gruplandır" name="chk3"/> - <check_box label="Satın Al" name="chk4"/> - <check_box label="Sat" name="chk5"/> - <check_box label="Ä°ÅŸe Al" name="chk7"/> - <line_editor name="want_to_edit"> - (yükleniyor...) - </line_editor> - <text name="Skills:"> - Beceriler: - </text> - <check_box label="Dokular" name="schk0"/> - <check_box label="Mimari" name="schk1"/> - <check_box label="Modelleme" name="schk3"/> - <check_box label="Etkinlik Planlama" name="schk2"/> - <check_box label="Kodlama" name="schk4"/> - <check_box label="Özel Karakterler" name="schk5"/> - <line_editor name="skills_edit"> - (yükleniyor...) - </line_editor> - <text name="Languages:"> - Diller: - </text> - <line_editor name="languages_edit"> - (yükleniyor...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_twitter_account.xml b/indra/newview/skins/default/xui/tr/panel_twitter_account.xml deleted file mode 100644 index 704027e1ba..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="Twitter'a ÅŸu kimlikle baÄŸlandınız:"/> - <string name="twitter_disconnected" value="Twitter'la baÄŸlantı kurulmadı"/> - <text name="account_caption_label"> - Twitter'la baÄŸlantı kurulmadı. - </text> - <panel name="panel_buttons"> - <button label="BaÄŸlan..." name="connect_btn"/> - <button label="BaÄŸlantıyı kes" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Twitter/ta-p/2435453 Tweet atma hakkında bilgi edinin] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml b/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml deleted file mode 100644 index 511ecb690d..0000000000 --- a/indra/newview/skins/default/xui/tr/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - Neler oluyor? - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="SL konumunu dahil et" name="add_location_cb"/> - <check_box initial_value="true" label="FotoÄŸraf ekle" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="Görüntü çözünürlüğü"> - <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="Görüntü filtreleri"> - <combo_box.item label="Filtre Yok" name="NoFilter"/> - </combo_box> - <button label="Yenile" name="new_snapshot_btn" tool_tip="Yenilemek için tıklayın"/> - <button label="Önizleme" name="big_preview_btn" tool_tip="Önizleme ayarları arasında geçiÅŸ yapmak için tıklayın"/> - <button label="Tweet" name="post_photo_btn"/> - <button label="Ä°ptal" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/floater_about.xml b/indra/newview/skins/default/xui/zh/floater_about.xml index d7d2a52750..a56ae753d1 100644 --- a/indra/newview/skins/default/xui/zh/floater_about.xml +++ b/indra/newview/skins/default/xui/zh/floater_about.xml @@ -29,6 +29,7 @@ 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. + xxHash Copyright (C) 2012-2020 Yann Collet. zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler. 第二人生 Viewer 採用 Havok (TM) 物ç†å¼•æ“Žã€‚ (c)Copyright 1999-2010 Havok.com Inc.(åŠå…¶æ”¾ç…§äººï¼‰ã€‚ ä¿ç•™ä¸€åˆ‡æ¬Šåˆ©ã€‚ 詳情見 www.havok.com。 diff --git a/indra/newview/skins/default/xui/zh/floater_chat_bar.xml b/indra/newview/skins/default/xui/zh/floater_chat_bar.xml deleted file mode 100644 index f1a69a7688..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_chat_bar.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="chat_bar" title="附近的èŠå¤©"> - <panel name="bottom_panel"> - <line_editor label="點按æ¤è™•é–‹å§‹èŠå¤©ã€‚" name="chat_box" tool_tip="按下 Enter éµä¾†èªªæˆ–按下 Ctrl+Enter 來喊å«"/> - <button name="show_nearby_chat" tool_tip="顯示 / éš±è— é™„è¿‘çš„èŠå¤©ç´€éŒ„"/> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml deleted file mode 100644 index b84a4027ea..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_day_cycle.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Day cycle" title="編輯日循環"> - <string name="title_new"> - 新建一個日循環 - </string> - <string name="title_edit"> - 編輯日循環 - </string> - <string name="hint_new"> - 為日循環定å,調整å„é …æŽ§åˆ¶ç¢ºå®šç´°ç¯€ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="hint_edit"> - è‹¥è¦ç·¨è¼¯ä½ 的日循環,請調整下方å„é …æŽ§åˆ¶ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="combo_label"> - -é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®- - </string> - <text name="label"> - 自訂é…ç½®å稱: - </text> - <text name="note"> - 注æ„:更改自訂é…置的å稱將會新建一個自訂é…置,ä¸æœƒæ”¹è®ŠåŽŸæœ‰çš„自訂é…置。 - </text> - <text name="hint_item1"> - - 點按一個é 籤,編輯特定的天空è¨å®šå’Œæ™‚間。 - </text> - <text name="hint_item2"> - - 點按並拖曳å„個é 籤,å³å¯è¨å®šéŽæ¸¡æ™‚間。 - </text> - <text name="hint_item3"> - - 使用 scrubber é è¦½ä½ çš„æ—¥å¾ªç’°ã€‚ - </text> - <panel name="day_cycle_slider_panel"> - <multi_slider initial_value="0" name="WLTimeSlider"/> - <multi_slider initial_value="0" name="WLDayCycleKeys"/> - <button label="新增éµ" label_selected="新增éµ" name="WLAddKey"/> - <button label="刪除éµ" label_selected="刪除éµ" name="WLDeleteKey"/> - <text name="WL12am"> - åˆå¤œ 12 點 - </text> - <text name="WL3am"> - 凌晨 3 點 - </text> - <text name="WL6am"> - ä¸Šåˆ 6 點 - </text> - <text name="WL9amHash"> - ä¸Šåˆ 9 點 - </text> - <text name="WL12pmHash"> - ä¸åˆ 12 點 - </text> - <text name="WL3pm"> - ä¸‹åˆ 3 點 - </text> - <text name="WL6pm"> - ä¸‹åˆ 6 點 - </text> - <text name="WL9pm"> - ä¸‹åˆ 9 點 - </text> - <text name="WL12am2"> - åˆå¤œ 12 點 - </text> - <text name="WL12amHash"> - | - </text> - <text name="WL3amHash"> - I - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL9amHash2"> - I - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL3pmHash"> - I - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL9pmHash"> - I - </text> - <text name="WL12amHash2"> - | - </text> - </panel> - <text name="WLCurKeyPresetText"> - 天空è¨å®šï¼š - </text> - <combo_box label="é è¨å€¼" name="WLSkyPresets"/> - <text name="WLCurKeyTimeText"> - 時間: - </text> - <time name="time" value="ä¸Šåˆ 6 點"/> - <check_box label="æ ¹æ“šé€™è¨å®šè®Šæ›´æˆ‘的日循環" name="make_default_cb"/> - <button label="儲å˜" name="save"/> - <button label="å–消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml deleted file mode 100644 index 18e6cfb9d2..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_sky_preset.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Sky Preset" title="編輯天空自訂é…ç½®"> - <string name="title_new"> - 建立新的天空自訂é…ç½® - </string> - <string name="title_edit"> - 編輯天空自訂é…ç½® - </string> - <string name="hint_new"> - 為自訂é…置定å,調整å„é …æŽ§åˆ¶ç¢ºå®šé…置細節,完æˆå¾Œé»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="hint_edit"> - è‹¥è¦ç·¨è¼¯ä½ 的天空自訂é…置,請調整å„é …æŽ§åˆ¶ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="combo_label"> - -é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®- - </string> - <text name="hint"> - è‹¥è¦ç·¨è¼¯ä½ 的自訂é…置,請調整å„é …æŽ§åˆ¶ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </text> - <text name="label"> - 自訂é…ç½®å稱: - </text> - <text name="note"> - 注æ„:更改自訂é…置的å稱將會新建一個自訂é…置,ä¸æœƒæ”¹è®ŠåŽŸæœ‰çš„自訂é…置。 - </text> - <tab_container name="WindLight Tabs"> - <panel label="大氣" name="Atmosphere"> - <text name="BHText"> - è—天水平線 - </text> - <text name="BDensText"> - 陰霾水平線 - </text> - <text name="BDensText2"> - è—天密度 - </text> - <text name="HDText"> - 陰霾密度 - </text> - <text name="DensMultText"> - 密度å€å¢ž - </text> - <text name="WLDistanceMultText"> - è·é›¢å€å¢ž - </text> - <text name="MaxAltText"> - 最大高度 - </text> - </panel> - <panel label="照明" name="Lighting"> - <text name="SLCText"> - æ—¥ï¼æœˆ é¡è‰² - </text> - <text name="WLAmbientText"> - 環境光 - </text> - <text name="SunGlowText"> - å¤ªé™½å…‰è¼ - </text> - <slider label="èšç„¦" name="WLGlowB"/> - <slider label="尺寸" name="WLGlowR"/> - <text name="WLStarText"> - 星空亮度 - </text> - <text name="SceneGammaText"> - å ´æ™¯ Gamma 值 - </text> - <text name="TODText"> - æ—¥ï¼æœˆä½ç½® - </text> - <multi_slider initial_value="0" name="WLSunPos"/> - <text name="WL12amHash"> - | - </text> - <text name="WL6amHash"> - | - </text> - <text name="WL12pmHash2"> - | - </text> - <text name="WL6pmHash"> - | - </text> - <text name="WL12amHash2"> - | - </text> - <text name="WL12am"> - åˆå¤œ 12 點 - </text> - <text name="WL6am"> - ä¸Šåˆ 6 點 - </text> - <text name="WL12pmHash"> - ä¸åˆ 12 點 - </text> - <text name="WL6pm"> - ä¸‹åˆ 6 點 - </text> - <text name="WL12am2"> - åˆå¤œ 12 點 - </text> - <time name="WLDayTime" value="ä¸Šåˆ 6 點"/> - <text name="WLEastAngleText"> - æ±å‡è§’度 - </text> - </panel> - <panel label="雲彩" name="Clouds"> - <text name="WLCloudColorText"> - 雲彩é¡è‰² - </text> - <text name="WLCloudColorText2"> - 雲彩 XY 軸ï¼å¯†åº¦ - </text> - <slider label="X" name="WLCloudX"/> - <slider label="Y" name="WLCloudY"/> - <slider label="D" name="WLCloudDensity"/> - <text name="WLCloudCoverageText"> - 雲彩覆蓋 - </text> - <text name="WLCloudScaleText"> - 雲彩è¦æ¨¡ - </text> - <text name="WLCloudDetailText"> - 雲彩細節(XY 軸ï¼å¯†åº¦ï¼‰ - </text> - <slider label="X" name="WLCloudDetailX"/> - <slider label="Y" name="WLCloudDetailY"/> - <slider label="D" name="WLCloudDetailDensity"/> - <text name="WLCloudScrollXText"> - 雲彩 X 滾軸 - </text> - <check_box label="鎖定" name="WLCloudLockX"/> - <text name="WLCloudScrollYText"> - 雲彩 Y 滾軸 - </text> - <check_box label="鎖定" name="WLCloudLockY"/> - </panel> - </tab_container> - <check_box label="æ ¹æ“šé€™è‡ªè¨‚é…置變更我的天空è¨å®š" name="make_default_cb"/> - <button label="儲å˜" name="save"/> - <button label="å–消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml deleted file mode 100644 index 7943866e72..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_edit_water_preset.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Edit Water Preset" title="編輯水的自訂é…ç½®"> - <string name="title_new"> - 新建水的自訂é…ç½® - </string> - <string name="title_edit"> - 編輯水的自訂é…ç½® - </string> - <string name="hint_new"> - 為自訂é…置定å,調整å„é …æŽ§åˆ¶ç¢ºå®šé…置細節,完æˆå¾Œé»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="hint_edit"> - è‹¥è¦ç·¨è¼¯æ°´çš„自訂é…置,請調整å„é …æŽ§åˆ¶ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </string> - <string name="combo_label"> - -é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®- - </string> - <text name="hint"> - è‹¥è¦ç·¨è¼¯ä½ 的自訂é…置,請調整å„é …æŽ§åˆ¶ï¼Œå†é»žæŒ‰ã€Œå„²å˜ã€ã€‚ - </text> - <text name="label"> - 自訂é…ç½®å稱: - </text> - <text name="note"> - 注æ„:更改自訂é…置的å稱將會新建一個自訂é…置,ä¸æœƒæ”¹è®ŠåŽŸæœ‰çš„自訂é…置。 - </text> - <panel name="panel_water_preset"> - <text name="water_color_label"> - 水霧é¡è‰² - </text> - <text name="water_fog_density_label"> - 霧密度指數 - </text> - <text name="underwater_fog_modifier_label"> - 水底霧修飾元 - </text> - <text name="BHText"> - å¤§æ³¢æµªæ–¹å‘ - </text> - <slider label="X" name="WaterWave1DirX"/> - <slider label="Y" name="WaterWave1DirY"/> - <text name="BDensText"> - åå°„å波比例 - </text> - <text name="HDText"> - è²æ¶…耳比例 - </text> - <text name="FresnelOffsetText"> - è²æ¶…耳åè· - </text> - <text name="BHText2"> - å°æ³¢æµªæ–¹å‘ - </text> - <slider label="X" name="WaterWave2DirX"/> - <slider label="Y" name="WaterWave2DirY"/> - <text name="DensMultText"> - 上折射比例 - </text> - <text name="WaterScaleBelowText"> - 下折射比例 - </text> - <text name="MaxAltText"> - 模糊å€æ•¸ - </text> - <text name="BHText3"> - æ£å¸¸åœ°åœ– - </text> - </panel> - <check_box label="æ ¹æ“šé€™è‡ªè¨‚é…置變更我水的è¨å®š" name="make_default_cb"/> - <button label="儲å˜" name="save"/> - <button label="å–消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml b/indra/newview/skins/default/xui/zh/floater_environment_settings.xml deleted file mode 100644 index 862c576dc0..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_environment_settings.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Environment Editor Floater" title="環境è¨å®š"> - <text name="note"> - 使用以下的é¸é …è‡ªè¨‚ä½ Viewer 的環境è¨å®šã€‚ - </text> - <radio_group name="region_settings_radio_group"> - <radio_item label="使用地å€è¨å®š" name="use_region_settings"/> - <radio_item label="自訂我的環境" name="use_my_settings"/> - </radio_group> - <panel name="user_environment_settings"> - <text name="note"> - 注æ„ï¼šä½ çš„è‡ªè¨‚è¨å®šä¸æœƒè¢«å…¶ä»–使用者看見。 - </text> - <text name="water_settings_title"> - æ°´çš„è¨å®š - </text> - <combo_box name="water_settings_preset_combo"> - <combo_box.item label="-é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®-" name="item0"/> - </combo_box> - <text name="sky_dayc_settings_title"> - 天空ï¼æ—¥å¾ªç’° - </text> - <radio_group name="sky_dayc_settings_radio_group"> - <radio_item label="固定天空" name="my_sky_settings"/> - <radio_item label="日循環" name="my_dayc_settings"/> - </radio_group> - <combo_box name="sky_settings_preset_combo"> - <combo_box.item label="-é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®-" name="item0"/> - </combo_box> - <combo_box name="dayc_settings_preset_combo"> - <combo_box.item label="-é¸æ“‡ä¸€å€‹è‡ªè¨‚é…ç½®-" name="item0"/> - </combo_box> - </panel> - <button label="確定" name="ok_btn"/> - <button label="å–消" name="cancel_btn"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_facebook.xml b/indra/newview/skins/default/xui/zh/floater_facebook.xml deleted file mode 100644 index 9a71a26333..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_facebook.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_facebook" title="發佈到臉書"> - <tab_container name="tabs"> - <panel label="狀態" name="panel_facebook_status"/> - <panel label="相片" name="panel_facebook_photo"/> - <panel label="打å¡" name="panel_facebook_place"/> - <panel label="朋å‹" name="panel_facebook_friends"/> - </tab_container> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入ä¸â€¦ - </text> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_flickr.xml b/indra/newview/skins/default/xui/zh/floater_flickr.xml deleted file mode 100644 index c4576baea5..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_flickr.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_flickr" title="分享到FLICKR"> - <panel name="background"> - <tab_container name="tabs"> - <panel label="相片" name="panel_flickr_photo"/> - <panel label="帳號" name="panel_flickr_account"/> - </tab_container> - <panel name="connection_status_panel"> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入ä¸â€¦ - </text> - </panel> - </panel> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml b/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml deleted file mode 100644 index 9e3bb88ac0..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_hardware_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="Hardware Settings Floater" title="硬體è¨å®š"> - <text name="Filtering:"> - éŽæ¿¾ï¼š - </text> - <check_box label="å„å‘異性éŽæ¿¾ï¼ˆè‹¥å•Ÿç”¨æœƒè®Šæ…¢ï¼‰" name="ani"/> - <text name="antialiasing label"> - 消除鋸齒: - </text> - <combo_box label="消除鋸齒" name="fsaa"> - <combo_box.item label="å·²åœç”¨" name="FSAADisabled"/> - <combo_box.item label="2x" name="2x"/> - <combo_box.item label="4x" name="4x"/> - <combo_box.item label="8x" name="8x"/> - <combo_box.item label="16x" name="16x"/> - </combo_box> - <text name="antialiasing restart"> - ï¼ˆé ˆé‡æ–°å•Ÿå‹•ç€è¦½å™¨ï¼‰ - </text> - <spinner label="伽瑪值:" name="gamma"/> - <text name="(brightness, lower is brighter)"> - (0 = é è¨äº®åº¦ï¼›å€¼è¶Šå° = 亮度越高) - </text> - <text name="Enable VBO:"> - å•Ÿç”¨é ‚é»žç·©è¡ç‰©ä»¶(VBO): - </text> - <check_box initial_value="true" label="啟用 OpenGL é ‚é»žç·©è¡ç‰©ä»¶(VBO)" name="vbo" tool_tip="在較新硬體上啟用,å¯æå‡æ•ˆèƒ½ã€‚ 但是,較舊硬體的 VBO 實作ä¸ä½³ï¼Œè‹¥å•Ÿç”¨å¯èƒ½å°Žè‡´ç•¶æ©Ÿã€‚"/> - <text name="tc label"> - 啟用 S3TC: - </text> - <check_box initial_value="true" label="啟用æè³ªå£“ç¸®ï¼ˆé ˆé‡æ–°å•Ÿå‹•ï¼‰" name="texture compression" tool_tip="在影片記憶體ä¸å£“縮æ質,讓高解æžåº¦æ質å¯ä»¥è¼‰å…¥ï¼Œä½†è‰²å½©å“質ç¨å·®ã€‚"/> - <slider label="æ質記憶體(MB):" name="GraphicsCardTextureMemory" tool_tip="é…置給æ質使用的記憶體é‡ã€‚ é è¨ç‚ºé¡¯åƒå¡è¨˜æ†¶é«”。 é™ä½Žæ¤å€¼å¯ä»¥æå‡æ•ˆèƒ½ï¼Œä½†æ質也會變模糊。"/> - <spinner label="霧è·é›¢æ¯”率:" name="fog"/> - <button label="確定" label_selected="確定" name="OK"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_perm_prefs.xml b/indra/newview/skins/default/xui/zh/floater_perm_prefs.xml deleted file mode 100644 index b38db59ff3..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_perm_prefs.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="perm prefs" title="é è¨ä¸Šå‚³æ¬Šé™"> - <panel label="權é™" name="permissions"> - <check_box label="與群組分享" name="share_with_group"/> - <check_box label="å…許任何人覆製" name="everyone_copy"/> - <text name="NextOwnerLabel"> - 下一個所有人å¯ä»¥ï¼š - </text> - <check_box label="修改" name="next_owner_modify"/> - <check_box label="æšåº¨" name="next_owner_copy"/> - <check_box initial_value="true" label="轉售 / é€äºº" name="next_owner_transfer"/> - </panel> - <button label="確定" label_selected="確定" name="ok"/> - <button label="å–消" label_selected="å–消" name="cancel"/> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_twitter.xml b/indra/newview/skins/default/xui/zh/floater_twitter.xml deleted file mode 100644 index ac49b2a967..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_twitter.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_twitter" title="推特"> - <tab_container name="tabs"> - <panel label="編撰" name="panel_twitter_photo"/> - <panel label="帳號" name="panel_twitter_account"/> - </tab_container> - <text name="connection_error_text"> - 錯誤 - </text> - <text name="connection_loading_text"> - 載入ä¸â€¦ - </text> -</floater> diff --git a/indra/newview/skins/default/xui/zh/floater_voice_controls.xml b/indra/newview/skins/default/xui/zh/floater_voice_controls.xml deleted file mode 100644 index a3a7679957..0000000000 --- a/indra/newview/skins/default/xui/zh/floater_voice_controls.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<floater name="floater_voice_controls" title="語音控制"> - <string name="title_nearby"> - 語音è¨å®š - </string> - <string name="title_group"> - 與 [GROUP] 進行群組通話 - </string> - <string name="title_adhoc"> - 多方通話 - </string> - <string name="title_peer_2_peer"> - å’Œ [NAME] 通話 - </string> - <string name="no_one_near"> - 附近沒有一人開啟語音 - </string> - <layout_stack name="my_call_stack"> - <layout_panel name="my_panel"> - <text name="user_text" value="我的化身:"/> - </layout_panel> - <layout_panel name="leave_call_panel"> - <layout_stack name="voice_effect_and_leave_call_stack"> - <layout_panel name="leave_call_btn_panel"> - <button label="離開通話" name="leave_call_btn"/> - </layout_panel> - </layout_stack> - </layout_panel> - </layout_stack> -</floater> 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 deleted file mode 100644 index f4e886ff67..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_inspect_avatar_gear.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<toggleable_menu name="Gear Menu"> - <menu_item_call label="察看檔案" name="view_profile"/> - <menu_item_call label="åŠ ç‚ºæœ‹å‹" name="add_friend"/> - <menu_item_call label="IM" name="im"/> - <menu_item_call label="通話" name="call"/> - <menu_item_call label="瞬間傳é€" name="teleport"/> - <menu_item_call label="é‚€è«‹åŠ å…¥ç¾¤çµ„" name="invite_to_group"/> - <menu_item_call label="å°éŽ–" name="block"/> - <menu_item_call label="解除å°éŽ–" name="unblock"/> - <menu_item_call label="å›žå ±" name="report"/> - <menu_item_call label="å‡çµ" name="freeze"/> - <menu_item_call label="踢出" name="eject"/> - <menu_item_call label="踢出" name="kick"/> - <menu_item_call label="客æœ" name="csr"/> - <menu_item_call label="æ質除錯" name="debug"/> - <menu_item_call label="在地圖上尋找" name="find_on_map"/> - <menu_item_call label="放大" name="zoom_in"/> - <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_self_gear.xml b/indra/newview/skins/default/xui/zh/menu_inspect_self_gear.xml deleted file mode 100644 index c48ee0c9be..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_inspect_self_gear.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="Self Pie"> - <menu_item_call label="å下" name="Sit Down Here"/> - <menu_item_call label="èµ·ç«‹" name="Stand Up"/> - <context_menu label="脫下" name="Take Off >"> - <context_menu label="è¡£æœ" name="Clothes >"> - <menu_item_call label="襯衫" name="Shirt"/> - <menu_item_call label="褲å" name="Pants"/> - <menu_item_call label="裙å" name="Skirt"/> - <menu_item_call label="éž‹å" name="Shoes"/> - <menu_item_call label="襪å" name="Socks"/> - <menu_item_call label="夾克" name="Jacket"/> - <menu_item_call label="手套" name="Gloves"/> - <menu_item_call label="內衣" name="Self Undershirt"/> - <menu_item_call label="內褲" name="Self Underpants"/> - <menu_item_call label="刺é’" name="Self Tattoo"/> - <menu_item_call label="åŠé€æ˜Ž" name="Self Alpha"/> - <menu_item_call label="全部衣æœ" name="All Clothes"/> - </context_menu> - <context_menu label="æ“¡é 顯示" name="Object Detach HUD"/> - <context_menu label="å¸ä¸‹" name="Object Detach"/> - <menu_item_call label="全部å¸ä¸‹" name="Detach All"/> - </context_menu> - <menu_item_call label="變更è£æ‰®" name="Chenge Outfit"/> - <menu_item_call label="編輯我的è£æ‰®" name="Edit Outfit"/> - <menu_item_call label="編輯我的體形" name="Edit My Shape"/> - <menu_item_call label="我的朋å‹" name="Friends..."/> - <menu_item_call label="我的群組" name="Groups..."/> - <menu_item_call label="我的個人檔案" name="Profile..."/> - <menu_item_call label="æ質除錯" name="Debug..."/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_name_field.xml b/indra/newview/skins/default/xui/zh/menu_name_field.xml deleted file mode 100644 index 5eaf3461cd..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_name_field.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="CopyMenu"> - <menu_item_call label="複製顯示å稱" name="copy_display"/> - <menu_item_call label="複製代ç†å稱" name="copy_name"/> - <menu_item_call label="複製代ç†ID" name="copy_id"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/zh/menu_people_friends_view_sort.xml deleted file mode 100644 index 59854faeec..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_people_friends_view_sort.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="ä¾å稱排åº" name="sort_name"/> - <menu_item_check label="ä¾ç‹€æ…‹æŽ’åº" name="sort_status"/> - <menu_item_check label="察看人群圖示" name="view_icons"/> - <menu_item_check label="察看許å¯æ¬Šé™" name="view_permissions"/> - <menu_item_call label="顯示被å°éŽ–的居民與物件" name="show_blocked_list"/> -</toggleable_menu> 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 deleted file mode 100644 index 1be5c69b94..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_people_groups_view_sort.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <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_view_sort.xml b/indra/newview/skins/default/xui/zh/menu_people_nearby_view_sort.xml deleted file mode 100644 index 6cb0ac3c89..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_people_nearby_view_sort.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="ä¾æœ€è¿‘說話者排åº" name="sort_by_recent_speakers"/> - <menu_item_check label="ä¾å稱排åº" name="sort_name"/> - <menu_item_check label="ä¾è·é›¢æŽ’åº" name="sort_distance"/> - <menu_item_check label="察看人群圖示" name="view_icons"/> - <menu_item_check label="察看地圖" name="view_map"/> - <menu_item_call label="顯示被å°éŽ–的居民與物件" name="show_blocked_list"/> -</toggleable_menu> diff --git a/indra/newview/skins/default/xui/zh/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/zh/menu_people_recent_view_sort.xml deleted file mode 100644 index 5b6e7335d6..0000000000 --- a/indra/newview/skins/default/xui/zh/menu_people_recent_view_sort.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<toggleable_menu name="menu_group_plus"> - <menu_item_check label="ä¾æœ€è¿‘排åº" name="sort_most"/> - <menu_item_check label="ä¾å稱排åº" name="sort_name"/> - <menu_item_check label="察看人群圖示" name="view_icons"/> - <menu_item_call label="顯示被å°éŽ–的居民與物件" name="show_blocked_list"/> -</toggleable_menu> 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 deleted file mode 100644 index 7d16ac4129..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_adhoc_control_panel.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?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="通話" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="離開通話" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="語音控制" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_classified.xml b/indra/newview/skins/default/xui/zh/panel_edit_classified.xml deleted file mode 100644 index 4d3248db46..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_classified.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="編輯個人廣告" name="panel_edit_classified"> - <panel.string name="location_notice"> - (儲å˜å¾Œå°‡æœƒæ›´æ–°ï¼‰ - </panel.string> - <string name="publish_label"> - 發布 - </string> - <string name="save_label"> - å„²å˜ - </string> - <text name="title"> - 編輯個人廣告 - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="snapshot_panel"> - <icon label="" name="edit_icon" tool_tip="點按以é¸æ“‡åœ–åƒ"/> - </panel> - <text name="Name:"> - 標題: - </text> - <text name="description_label"> - æ述: - </text> - <text name="location_label"> - ä½ç½®ï¼š - </text> - <text name="classified_location"> - 載入ä¸... - </text> - <button label="è¨å®šç‚ºç›®å‰ä½ç½®" name="set_to_curr_location_btn"/> - <text name="category_label" value="分類:"/> - <text name="content_type_label" value="內容類型:"/> - <icons_combo_box label="一般普級內容" name="content_type"> - <icons_combo_box.item label="é©åº¦æˆäººå…§å®¹" name="mature_ci" value="é©åº¦æˆäºº"/> - <icons_combo_box.item label="一般普級內容" name="pg_ci" value="一般普級"/> - </icons_combo_box> - <check_box label="æ¯æ˜ŸæœŸè‡ªå‹•çºŒè¨‚" name="auto_renew"/> - <text name="price_for_listing_label" value="刊登費:"/> - <spinner label="L$" name="price_for_listing" tool_tip="刊登費。" value="50"/> - </panel> - </scroll_container> - <panel label="bottom_panel" name="bottom_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="[LABEL]" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="cancel_btn_lp"> - <button label="å–消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml b/indra/newview/skins/default/xui/zh/panel_edit_pick.xml deleted file mode 100644 index faee42fd0e..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_pick.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="編輯精é¸åœ°é»ž" name="panel_edit_pick"> - <panel.string name="location_notice"> - (儲å˜å¾Œå°‡æœƒæ›´æ–°ï¼‰ - </panel.string> - <text name="title"> - 編輯精é¸åœ°é»ž - </text> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <icon label="" name="edit_icon" tool_tip="點按以é¸æ“‡åœ–åƒ"/> - <text name="Name:"> - 標題: - </text> - <text name="description_label"> - æ述: - </text> - <text name="location_label"> - ä½ç½®ï¼š - </text> - <text name="pick_location"> - 載入ä¸... - </text> - <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="儲å˜ç²¾é¸åœ°é»ž" name="save_changes_btn"/> - </layout_panel> - <layout_panel name="layout_panel2"> - <button label="å–消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_edit_profile.xml b/indra/newview/skins/default/xui/zh/panel_edit_profile.xml deleted file mode 100644 index 849b82c71a..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_edit_profile.xml +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="檔案編輯" name="edit_profile_panel"> - <string name="CaptionTextAcctInfo"> - [ACCTTYPE] -[PAYMENTINFO] [AGEVERIFICATION] - </string> - <string name="RegisterDateFormat"> - [REG_DATE] ([AGE]) - </string> - <string name="AcctTypeResident" value="å±…æ°‘"/> - <string name="AcctTypeTrial" value="試用"/> - <string name="AcctTypeCharterMember" value="è€ç‰Œ Charter æˆå“¡"/> - <string name="AcctTypeEmployee" value="林登實驗室員工"/> - <string name="PaymentInfoUsed" value="使用的付款資料"/> - <string name="PaymentInfoOnFile" value="é 留付款資料"/> - <string name="NoPaymentInfoOnFile" value="未é 留付款資料"/> - <string name="AgeVerified" value="通éŽå¹´é½¡é©—è‰"/> - <string name="NotAgeVerified" value="未通éŽå¹´é½¡é©—è‰"/> - <string name="partner_edit_link_url"> - http://www.secondlife.com/account/partners.php?lang=en - </string> - <string name="my_account_link_url"> - http://secondlife.com/my - </string> - <string name="no_partner_text" value="ç„¡"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <panel name="data_panel"> - <text name="display_name_label" value="顯示å稱:"/> - <text name="solo_username_label" value="使用者å稱:"/> - <button name="set_name" tool_tip="è¨å®šé¡¯ç¤ºå稱"/> - <text name="user_label" value="使用者å稱:"/> - <panel name="lifes_images_panel"> - <panel name="second_life_image_panel"> - <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> - </panel> - <icon label="" name="2nd_life_edit_icon" tool_tip="點按以é¸æ“‡åœ–åƒ"/> - </panel> - <panel name="first_life_image_panel"> - <text name="real_world_photo_title_text" value="真實世界:"/> - </panel> - <icon label="" name="real_world_edit_icon" tool_tip="點按以é¸æ“‡åœ–åƒ"/> - <text name="title_homepage_text"> - 首é : - </text> - <line_editor name="homepage_edit" value="http://"/> - <text name="title_acc_status_text" value="我的帳戶:"/> - <text_editor name="acc_status_text" value="居民。 未é 留付款資料。"/> - <text name="my_account_link" value="[[URL] å‰å¾€æˆ‘的塗鴉牆]"/> - <text name="title_partner_text" value="我的é…å¶ï¼š"/> - <panel name="partner_data_panel"> - <text initial_value="(檢索ä¸ï¼‰" name="partner_text"/> - </panel> - <text name="partner_edit_link" value="[[URL] 編輯]"/> - </panel> - </panel> - </scroll_container> - <panel name="profile_me_buttons_panel"> - <layout_stack name="bottom_panel_ls"> - <layout_panel name="save_changes_btn_lp"> - <button label="儲å˜è®Šæ›´" name="save_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="å–消" name="cancel_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_account.xml b/indra/newview/skins/default/xui/zh/panel_facebook_account.xml deleted file mode 100644 index e8c31c69c5..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_account"> - <string name="facebook_connected" value="å·²æˆåŠŸé€£é€šè‡‰æ›¸ï¼Œèº«åˆ†ç‚ºï¼š"/> - <string name="facebook_disconnected" value="未連通臉書"/> - <text name="account_caption_label"> - 未連通臉書。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="ä¸æ–·" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 如何發佈到臉書] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml b/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml deleted file mode 100644 index 2cf3eb0cf5..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_friends.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_friends"> - <string name="facebook_friends_empty" value="ä½ çš„è‡‰æ›¸æœ‹å‹ä¸ï¼Œæ²’有åŒæ™‚也是第二人生居民的人。 ä»Šå¤©å°±è«‹ä½ çš„è‡‰æ›¸æœ‹å‹åŠ 入第二人生ï¼"/> - <string name="facebook_friends_no_connected" value="ä½ ç›®å‰å°šæœªé€£çµè‡‰æ›¸ã€‚ 請到「帳戶ã€é ç±¤é–‹å•Ÿé€™é …åŠŸèƒ½ä¸¦é€²è¡Œé€£çµã€‚"/> - <accordion name="friends_accordion"> - <accordion_tab name="tab_second_life_friends" title="第二人生的朋å‹"/> - <accordion_tab name="tab_suggested_friends" title="æŠŠé€™äº›äººåŠ ç‚ºç¬¬äºŒäººç”Ÿçš„æœ‹å‹"/> - </accordion> - <text name="facebook_friends_status"> - 未連通臉書。 - </text> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml b/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml deleted file mode 100644 index 85d2ac36f3..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_photo.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_photo"> - <combo_box name="resolution_combobox" tool_tip="圖åƒè§£æžåº¦"> - <combo_box.item label="ç›®å‰è¦–窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - <combo_box.item label="1200x630" name="1200x630"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖åƒæ¿¾é¡"> - <combo_box.item label="ä¸ç”¨æ¿¾é¡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按å³å¯åˆ·æ–°"/> - <button label="é 覽" name="big_preview_btn" tool_tip="點按å³å¯åˆ‡æ›é 覽"/> - <text name="caption_label"> - 說明(å¯ç•™ç©ºï¼‰ï¼š - </text> - <button label="發佈" name="post_photo_btn"/> - <button label="å–消" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_place.xml b/indra/newview/skins/default/xui/zh/panel_facebook_place.xml deleted file mode 100644 index 56d4d687ef..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_place.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_place"> - <text name="place_caption_label"> - æè¿°ä¸€ä¸‹ä½ æ‰€åœ¨çš„åœ°æ–¹ï¼š - </text> - <check_box initial_value="false" label="包括地點的俯瞰圖" name="add_place_view_cb"/> - <button label="發佈" name="post_place_btn"/> - <button label="å–消" name="cancel_place_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_facebook_status.xml b/indra/newview/skins/default/xui/zh/panel_facebook_status.xml deleted file mode 100644 index 3a7cbd07b0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_facebook_status.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_facebook_status"> - <string name="facebook_connected" value="å·²æˆåŠŸé€£é€šè‡‰æ›¸ï¼Œèº«åˆ†ç‚ºï¼š"/> - <string name="facebook_disconnected" value="未連通臉書"/> - <text name="account_caption_label"> - 未連通臉書。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="ä¸æ–·" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share-Facebook/ta-p/2149711 如何發佈到臉書] - </text> - </panel> - <text name="status_caption_label"> - ä½ åœ¨æƒ³äº›ä»€éº¼ï¼Ÿ - </text> - <button label="發佈" name="post_status_btn"/> - <button label="å–消" name="cancel_status_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_flickr_account.xml b/indra/newview/skins/default/xui/zh/panel_flickr_account.xml deleted file mode 100644 index 63cd547cd0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_flickr_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_account"> - <string name="flickr_connected" value="ä½ å·²æˆåŠŸé€£é€š Flickr,身分為:"/> - <string name="flickr_disconnected" value="尚未連通 Flickr"/> - <text name="account_caption_label"> - 尚未連通 Flickr。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="ä¸æ–·" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share/ta-p/2435609 çžè§£å¦‚何發佈到 Flickr] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml b/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml deleted file mode 100644 index 928fd4c640..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_flickr_photo.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_flickr_photo"> - <combo_box name="resolution_combobox" tool_tip="圖åƒè§£æžåº¦"> - <combo_box.item label="ç›®å‰è¦–窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖åƒæ¿¾é¡"> - <combo_box.item label="ä¸ç”¨æ¿¾é¡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按å³å¯åˆ·æ–°"/> - <button label="é 覽" name="big_preview_btn" tool_tip="點按å³å¯åˆ‡æ›é 覽"/> - <text name="title_label"> - 標題: - </text> - <text name="description_label"> - æ述: - </text> - <check_box initial_value="true" label="在æè¿°çµå°¾åŠ 上第二人生的地點" name="add_location_cb"/> - <text name="tags_label"> - 標籤: - </text> - <text name="tags_help_label"> - ä¸åŒæ¨™ç±¤ä¹‹é–“以åŠå½¢ç©ºæ ¼åˆ†éš” -標籤若å«ç©ºæ ¼ï¼Œç”¨ "" åŠå½¢ç¬¦è™Ÿæ‹¬ä½ - </text> - <combo_box name="rating_combobox" tool_tip="Flickr 內容分級"> - <combo_box.item label="安全級 Flickr 內容" name="SafeRating"/> - <combo_box.item label="é©ä¸ç´š Flickr 內容" name="ModerateRating"/> - <combo_box.item label="é™åˆ¶ç´š Flickr 內容" name="RestrictedRating"/> - </combo_box> - <button label="分享" name="post_photo_btn"/> - <button label="å–消" name="cancel_photo_btn"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_group_control_panel.xml b/indra/newview/skins/default/xui/zh/panel_group_control_panel.xml deleted file mode 100644 index f468aba514..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_group_control_panel.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="vertical_stack"> - <layout_panel name="group_info_btn_panel"> - <button label="群組檔案" name="group_info_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="群組通話" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="離開通話" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="開啟語音控制" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> 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 deleted file mode 100644 index e937368a2b..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_im_control_panel.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_im_control_panel"> - <layout_stack name="button_stack"> - <layout_panel name="view_profile_btn_panel"> - <button label="檔案" name="view_profile_btn"/> - </layout_panel> - <layout_panel name="add_friend_btn_panel"> - <button label="åŠ ç‚ºæœ‹å‹" name="add_friend_btn"/> - </layout_panel> - <layout_panel name="teleport_btn_panel"> - <button label="瞬間傳é€" name="teleport_btn" tool_tip="發出瞬間傳é€é‚€è«‹çµ¦æ¤äºº"/> - </layout_panel> - <layout_panel name="share_btn_panel"> - <button label="分享" name="share_btn"/> - </layout_panel> - <layout_panel name="pay_btn_panel"> - <button label="支付" name="pay_btn"/> - </layout_panel> - <layout_panel name="call_btn_panel"> - <button label="通話" name="call_btn"/> - </layout_panel> - <layout_panel name="end_call_btn_panel"> - <button label="çµæŸé€šè©±" name="end_call_btn"/> - </layout_panel> - <layout_panel name="voice_ctrls_btn_panel"> - <button label="語音控制" name="voice_ctrls_btn"/> - </layout_panel> - </layout_stack> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/zh/panel_navmesh_rebake.xml deleted file mode 100644 index bb52c13a11..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_navmesh_rebake.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_navmesh_rebake"> - <button label="é‡æ–°ç”¢å‡ºåœ°å€" name="navmesh_btn" tool_tip="點按å³å¯é‡æ–°ç”¢å‡ºè©²åœ°å€çš„導航網é¢ã€‚"/> - <button label="æ£åœ¨è«‹æ±‚é‡æ–°ç”¢å‡º" name="navmesh_btn_sending" tool_tip="æ£å‘伺æœå™¨ç™¼é€é‡æ–°ç”¢å‡ºè«‹æ±‚。"/> - <button label="地å€æ£åœ¨é‡æ–°ç”¢å‡º" name="navmesh_btn_baking" tool_tip="地å€æ£åœ¨é‡æ–°ç”¢å‡ºã€‚ 完æˆå¾Œï¼Œé€™å€‹æŒ‰éˆ•å°‡æœƒæ¶ˆå¤±ã€‚"/> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_pick_info.xml b/indra/newview/skins/default/xui/zh/panel_pick_info.xml deleted file mode 100644 index cd4cdbf999..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_pick_info.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_pick_info"> - <text name="title" value="ç²¾é¸åœ°é»žè³‡è¨Š"/> - <scroll_container name="profile_scroll"> - <panel name="scroll_content_panel"> - <text_editor name="pick_name" value="[name]"/> - <text_editor name="pick_location" value="[loading...]"/> - <text_editor name="pick_desc" value="[description]"/> - </panel> - </scroll_container> - <panel name="buttons"> - <layout_stack name="layout_stack1"> - <layout_panel name="layout_panel1"> - <button label="瞬間傳é€" name="teleport_btn"/> - </layout_panel> - <layout_panel name="show_on_map_btn_lp"> - <button label="地圖" name="show_on_map_btn"/> - </layout_panel> - <layout_panel name="edit_btn_lp"> - <button label="編輯" name="edit_btn"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_picks.xml b/indra/newview/skins/default/xui/zh/panel_picks.xml deleted file mode 100644 index 98d36eaea0..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_picks.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="ç²¾é¸åœ°é»ž" name="panel_picks"> - <string name="no_picks" value="ç„¡ç²¾é¸åœ°é»ž"/> - <string name="no_classifieds" value="ç¦æ¢å€‹äººå»£å‘Š"/> - <accordion name="accordion"> - <accordion_tab name="tab_picks" title="ç²¾é¸åœ°é»ž"/> - <accordion_tab name="tab_classifieds" title="個人廣告"/> - </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="以目å‰ä½ç½®å»ºç«‹æ–°çš„ç²¾é¸åœ°é»žæˆ–個人廣告"/> - </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="顯示精é¸åœ°é»žè³‡è¨Š"/> - </layout_panel> - <layout_panel name="teleport_btn_lp"> - <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="在世界地圖上顯示相å°æ‡‰çš„å€åŸŸ"/> - </layout_panel> - </layout_stack> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_profile_interests.xml b/indra/newview/skins/default/xui/zh/panel_profile_interests.xml deleted file mode 100644 index 150f3cca4f..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_profile_interests.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel label="興趣" name="panel_profile_interests"> - <text name="I Want To:"> - 我想è¦ï¼š - </text> - <check_box label="å»ºé€ " name="chk0"/> - <check_box label="探索" name="chk1"/> - <check_box label="見é¢" name="chk2"/> - <check_box label="å—雇" name="chk6"/> - <check_box label="群組" name="chk3"/> - <check_box label="購買" name="chk4"/> - <check_box label="出售" name="chk5"/> - <check_box label="招人" name="chk7"/> - <line_editor name="want_to_edit"> - (載入ä¸...) - </line_editor> - <text name="Skills:"> - 技能: - </text> - <check_box label="æ質" name="schk0"/> - <check_box label="架構" name="schk1"/> - <check_box label="建模" name="schk3"/> - <check_box label="計畫活動" name="schk2"/> - <check_box label="建腳本" name="schk4"/> - <check_box label="定製角色" name="schk5"/> - <line_editor name="skills_edit"> - (載入ä¸...) - </line_editor> - <text name="Languages:"> - 語言: - </text> - <line_editor name="languages_edit"> - (載入ä¸...) - </line_editor> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_twitter_account.xml b/indra/newview/skins/default/xui/zh/panel_twitter_account.xml deleted file mode 100644 index a8b57d7453..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_twitter_account.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_account"> - <string name="twitter_connected" value="ä½ å·²æˆåŠŸé€£é€šæŽ¨ç‰¹ï¼Œèº«åˆ†ç‚ºï¼š"/> - <string name="twitter_disconnected" value="尚未連通推特。"/> - <text name="account_caption_label"> - 尚未連通推特。 - </text> - <panel name="panel_buttons"> - <button label="連通…" name="connect_btn"/> - <button label="ä¸æ–·" name="disconnect_btn"/> - <text name="account_learn_more_label"> - [http://community.secondlife.com/t5/English-Knowledge-Base/Second-Life-Share/ta-p/2435453 çžè§£å¦‚何發佈到推特] - </text> - </panel> -</panel> diff --git a/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml b/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml deleted file mode 100644 index 19eb23eac7..0000000000 --- a/indra/newview/skins/default/xui/zh/panel_twitter_photo.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<panel name="panel_twitter_photo"> - <text name="status_label"> - èªªä¸€èªªä½ æ£åœ¨åšä»€éº¼ - </text> - <text name="status_counter_label"> - 140 - </text> - <check_box initial_value="true" label="åŠ å…¥æ‰€åœ¨ä½ç½®" name="add_location_cb"/> - <check_box initial_value="true" label="附上照片" name="add_photo_cb"/> - <combo_box name="resolution_combobox" tool_tip="圖åƒè§£æžåº¦"> - <combo_box.item label="ç›®å‰è¦–窗" name="CurrentWindow"/> - <combo_box.item label="640x480" name="640x480"/> - <combo_box.item label="800x600" name="800x600"/> - <combo_box.item label="1024x768" name="1024x768"/> - </combo_box> - <combo_box name="filters_combobox" tool_tip="圖åƒæ¿¾é¡"> - <combo_box.item label="ä¸ç”¨æ¿¾é¡" name="NoFilter"/> - </combo_box> - <button label="刷新" name="new_snapshot_btn" tool_tip="點按å³å¯åˆ·æ–°"/> - <button label="é 覽" name="big_preview_btn" tool_tip="點按å³å¯åˆ‡æ›é 覽"/> - <button label="發到推特" name="post_photo_btn"/> - <button label="å–消" name="cancel_photo_btn"/> -</panel> |