diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 7bc9e97eb16ac858b3df1268f089c45aae147694..ab48ff4a43721e4d2fef03e04926f3922fdc6544 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -1213,7 +1213,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) if (!dp.unpackS32(temp_priority, "base_priority")) { - llwarns << "can't read priority" << llendl; + llwarns << "can't read animation base_priority" << llendl; return FALSE; } mJointMotionList->mBasePriority = (LLJoint::JointPriority) temp_priority; @@ -1223,6 +1223,11 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) mJointMotionList->mBasePriority = (LLJoint::JointPriority)((int)LLJoint::ADDITIVE_PRIORITY-1); mJointMotionList->mMaxPriority = mJointMotionList->mBasePriority; } + else if (mJointMotionList->mBasePriority < LLJoint::USE_MOTION_PRIORITY) + { + llwarns << "bad animation base_priority " << mJointMotionList->mBasePriority << llendl; + return FALSE; + } //------------------------------------------------------------------------- // get duration @@ -1233,7 +1238,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) return FALSE; } - if (mJointMotionList->mDuration > MAX_ANIM_DURATION ) + if (mJointMotionList->mDuration > MAX_ANIM_DURATION || + !llfinite(mJointMotionList->mDuration)) { llwarns << "invalid animation duration" << llendl; return FALSE; @@ -1257,13 +1263,15 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) //------------------------------------------------------------------------- // get loop //------------------------------------------------------------------------- - if (!dp.unpackF32(mJointMotionList->mLoopInPoint, "loop_in_point")) + if (!dp.unpackF32(mJointMotionList->mLoopInPoint, "loop_in_point") || + !llfinite(mJointMotionList->mLoopInPoint)) { llwarns << "can't read loop point" << llendl; return FALSE; } - if (!dp.unpackF32(mJointMotionList->mLoopOutPoint, "loop_out_point")) + if (!dp.unpackF32(mJointMotionList->mLoopOutPoint, "loop_out_point") || + !llfinite(mJointMotionList->mLoopOutPoint)) { llwarns << "can't read loop point" << llendl; return FALSE; @@ -1278,13 +1286,15 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) //------------------------------------------------------------------------- // get easeIn and easeOut //------------------------------------------------------------------------- - if (!dp.unpackF32(mJointMotionList->mEaseInDuration, "ease_in_duration")) + if (!dp.unpackF32(mJointMotionList->mEaseInDuration, "ease_in_duration") || + !llfinite(mJointMotionList->mEaseInDuration)) { llwarns << "can't read easeIn" << llendl; return FALSE; } - if (!dp.unpackF32(mJointMotionList->mEaseOutDuration, "ease_out_duration")) + if (!dp.unpackF32(mJointMotionList->mEaseOutDuration, "ease_out_duration") || + !llfinite(mJointMotionList->mEaseOutDuration)) { llwarns << "can't read easeOut" << llendl; return FALSE; @@ -1374,7 +1384,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) LLPointer<LLJointState> joint_state = new LLJointState; mJointStates.push_back(joint_state); - joint_state->setJoint( joint ); + joint_state->setJoint( joint ); // note: can accept NULL joint_state->setUsage( 0 ); //--------------------------------------------------------------------- @@ -1386,10 +1396,16 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) llwarns << "can't read joint priority." << llendl; return FALSE; } + + if (joint_priority < LLJoint::USE_MOTION_PRIORITY) + { + llwarns << "joint priority unknown - too low." << llendl; + return FALSE; + } joint_motion->mPriority = (LLJoint::JointPriority)joint_priority; if (joint_priority != LLJoint::USE_MOTION_PRIORITY && - joint_priority > mJointMotionList->mMaxPriority) + joint_priority > mJointMotionList->mMaxPriority) { mJointMotionList->mMaxPriority = (LLJoint::JointPriority)joint_priority; } @@ -1399,7 +1415,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) //--------------------------------------------------------------------- // scan rotation curve header //--------------------------------------------------------------------- - if (!dp.unpackS32(joint_motion->mRotationCurve.mNumKeys, "num_rot_keys")) + if (!dp.unpackS32(joint_motion->mRotationCurve.mNumKeys, "num_rot_keys") || joint_motion->mRotationCurve.mNumKeys < 0) { llwarns << "can't read number of rotation keys" << llendl; return FALSE; @@ -1423,7 +1439,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) if (old_version) { - if (!dp.unpackF32(time, "time")) + if (!dp.unpackF32(time, "time") || + !llfinite(time)) { llwarns << "can't read rotation key (" << k << ")" << llendl; return FALSE; @@ -1456,7 +1473,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) if (old_version) { - success = dp.unpackVector3(rot_angles, "rot_angles"); + success = dp.unpackVector3(rot_angles, "rot_angles") && rot_angles.isFinite(); LLQuaternion::Order ro = StringToOrder("ZYX"); rot_key.mRotation = mayaQ(rot_angles.mV[VX], rot_angles.mV[VY], rot_angles.mV[VZ], ro); @@ -1492,7 +1509,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) //--------------------------------------------------------------------- // scan position curve header //--------------------------------------------------------------------- - if (!dp.unpackS32(joint_motion->mPositionCurve.mNumKeys, "num_pos_keys")) + if (!dp.unpackS32(joint_motion->mPositionCurve.mNumKeys, "num_pos_keys") || joint_motion->mPositionCurve.mNumKeys < 0) { llwarns << "can't read number of position keys" << llendl; return FALSE; @@ -1516,7 +1533,8 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) if (old_version) { - if (!dp.unpackF32(pos_key.mTime, "time")) + if (!dp.unpackF32(pos_key.mTime, "time") || + !llfinite(pos_key.mTime)) { llwarns << "can't read position key (" << k << ")" << llendl; return FALSE; @@ -1585,9 +1603,9 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) return FALSE; } - if (num_constraints > MAX_CONSTRAINTS) + if (num_constraints > MAX_CONSTRAINTS || num_constraints < 0) { - llwarns << "Too many constraints... ignoring" << llendl; + llwarns << "Bad number of constraints... ignoring: " << num_constraints << llendl; } else { @@ -1632,7 +1650,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) constraintp->mConstraintType = (EConstraintType)byte; const S32 BIN_DATA_LENGTH = 16; - U8 bin_data[BIN_DATA_LENGTH]; + U8 bin_data[BIN_DATA_LENGTH+1]; if (!dp.unpackBinaryDataFixed(bin_data, BIN_DATA_LENGTH, "source_volume")) { llwarns << "can't read source volume name" << llendl; @@ -1640,7 +1658,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) return FALSE; } - bin_data[BIN_DATA_LENGTH-1] = 0; // Ensure null termination + bin_data[BIN_DATA_LENGTH] = 0; // Ensure null termination str = (char*)bin_data; constraintp->mSourceConstraintVolume = mCharacter->getCollisionVolumeID(str); @@ -1665,7 +1683,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) return FALSE; } - bin_data[BIN_DATA_LENGTH-1] = 0; // Ensure null termination + bin_data[BIN_DATA_LENGTH] = 0; // Ensure null termination str = (char*)bin_data; if (str == "GROUND") { @@ -1712,28 +1730,28 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) // constraintp->mTargetConstraintDir *= constraintp->mSourceConstraintOffset.magVec(); } - if (!dp.unpackF32(constraintp->mEaseInStartTime, "ease_in_start")) + if (!dp.unpackF32(constraintp->mEaseInStartTime, "ease_in_start") || !llfinite(constraintp->mEaseInStartTime)) { llwarns << "can't read constraint ease in start time" << llendl; delete constraintp; return FALSE; } - if (!dp.unpackF32(constraintp->mEaseInStopTime, "ease_in_stop")) + if (!dp.unpackF32(constraintp->mEaseInStopTime, "ease_in_stop") || !llfinite(constraintp->mEaseInStopTime)) { llwarns << "can't read constraint ease in stop time" << llendl; delete constraintp; return FALSE; } - if (!dp.unpackF32(constraintp->mEaseOutStartTime, "ease_out_start")) + if (!dp.unpackF32(constraintp->mEaseOutStartTime, "ease_out_start") || !llfinite(constraintp->mEaseOutStartTime)) { llwarns << "can't read constraint ease out start time" << llendl; delete constraintp; return FALSE; } - if (!dp.unpackF32(constraintp->mEaseOutStopTime, "ease_out_stop")) + if (!dp.unpackF32(constraintp->mEaseOutStopTime, "ease_out_stop") || !llfinite(constraintp->mEaseOutStopTime)) { llwarns << "can't read constraint ease out stop time" << llendl; delete constraintp; @@ -1742,7 +1760,7 @@ BOOL LLKeyframeMotion::deserialize(LLDataPacker& dp) mJointMotionList->mConstraints.push_front(constraintp); - constraintp->mJointStateIndices = new S32[constraintp->mChainLength + 1]; + constraintp->mJointStateIndices = new S32[constraintp->mChainLength + 1]; // note: mChainLength is size-limited - comes from a byte LLJoint* joint = mCharacter->findCollisionVolume(constraintp->mSourceConstraintVolume); // get joint to which this collision volume is attached diff --git a/indra/llcommon/lldate.cpp b/indra/llcommon/lldate.cpp index a7ef28b431fdcef779fe9ac4ad54aa0d27c0b3f7..04583cdd4a03bbd287898f8f66886d6669ca6232 100644 --- a/indra/llcommon/lldate.cpp +++ b/indra/llcommon/lldate.cpp @@ -121,7 +121,12 @@ std::string LLDate::toHTTPDateString (tm * gmt, std::string fmt) // use strftime() as it appears to be faster than std::time_put char buffer[128]; strftime(buffer, 128, fmt.c_str(), gmt); - return std::string(buffer); + std::string res(buffer); +#if LL_WINDOWS + // Convert from locale-dependant charset to UTF-8 (EXT-8524). + res = ll_convert_string_to_utf8_string(res); +#endif + return res; } void LLDate::toStream(std::ostream& s) const diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp index 2693c0e22b96ffcc20c1eeefab370d4a98083af3..faf7aa51f1ed2d0e81b4f450d511a33aede1290d 100644 --- a/indra/llcommon/llstring.cpp +++ b/indra/llcommon/llstring.cpp @@ -758,6 +758,7 @@ void LLStringOps::setupDatetimeInfo (bool daylight) datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 @@ -1127,6 +1128,11 @@ bool LLStringUtil::formatDatetime(std::string& replacement, std::string token, replacement = LLStringOps::sDayFormat; LLStringUtil::format(replacement, args); } + else if (code == "%-d") + { + struct tm * gmt = gmtime (&loc_seconds); + replacement = llformat ("%d", gmt->tm_mday); // day of the month without leading zero + } else if( !LLStringOps::sAM.empty() && !LLStringOps::sPM.empty() && code == "%p" ) { struct tm * gmt = gmtime (&loc_seconds); diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index 0fc5ca1ad6e79575c157b9f7e59db634423a0f21..1566389e30e452d649fdd1d2ed28edd9bc59b0e0 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -1553,6 +1553,7 @@ void LLImageFormatted::appendData(U8 *data, S32 size) S32 newsize = cursize + size; reallocateData(newsize); memcpy(getData() + cursize, data, size); + delete[] data; } } } diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 672fcf33b759c58620d612c482567d0c82f31b7c..29ead762d75111ff2b1c3411970e070ec71882cc 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -396,7 +396,11 @@ void LLCOFWearables::refresh() return; } - if (mCOFVersion == catp->getVersion()) return; + // BAP - this check has to be removed because an item name change does not + // change cat version - ie, checking version is not a complete way + // of finding out whether anything has changed in this category. + //if (mCOFVersion == catp->getVersion()) return; + mCOFVersion = catp->getVersion(); typedef std::vector<LLSD> values_vector_t; diff --git a/indra/newview/llinventorylistitem.cpp b/indra/newview/llinventorylistitem.cpp index ea57d36c063e99435b2bb656a3180db77e8c71d0..b1f5b3be2fd988a29f3cd6f71845f413ff84b2e0 100644 --- a/indra/newview/llinventorylistitem.cpp +++ b/indra/newview/llinventorylistitem.cpp @@ -96,9 +96,12 @@ void LLPanelInventoryListItemBase::draw() if (mSeparatorVisible && mSeparatorImage) { - // stretch along bottom of listitem, using image height + // place under bottom of listitem, using image height + // item_pad in list using the item should be >= image height + // to avoid cropping of top of the next item. LLRect separator_rect = getLocalRect(); - separator_rect.mTop = mSeparatorImage->getHeight(); + separator_rect.mTop = separator_rect.mBottom; + separator_rect.mBottom -= mSeparatorImage->getHeight(); mSeparatorImage->draw(separator_rect); } diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp index 5416f0103385c61e0f4a2cb84049e3d37e980284..54b8f3a8a4e00f446325f67086d730a558d2d475 100644 --- a/indra/newview/llinventoryobserver.cpp +++ b/indra/newview/llinventoryobserver.cpp @@ -708,7 +708,7 @@ void LLInventoryCategoriesObserver::changed(U32 mask) const S32 current_num_known_descendents = cats->count() + items->count(); - LLCategoryData cat_data = (*iter).second; + LLCategoryData& cat_data = (*iter).second; bool cat_changed = false; @@ -722,11 +722,17 @@ void LLInventoryCategoriesObserver::changed(U32 mask) } // If any item names have changed, update the name hash - LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); - if (cat_data.mItemNameHash != item_name_hash) + // Only need to check if (a) name hash has not previously been + // computed, or (b) a name has changed. + if (!cat_data.mIsNameHashInitialized || (mask & LLInventoryObserver::LABEL)) { - cat_data.mItemNameHash = item_name_hash; - cat_changed = true; + LLMD5 item_name_hash = gInventory.hashDirectDescendentNames(cat_id); + if (cat_data.mItemNameHash != item_name_hash) + { + cat_data.mIsNameHashInitialized = true; + cat_data.mItemNameHash = item_name_hash; + cat_changed = true; + } } // If anything has changed above, fire the callback. @@ -773,7 +779,8 @@ bool LLInventoryCategoriesObserver::addCategory(const LLUUID& cat_id, callback_t if (can_be_added) { - mCategoryMap.insert(category_map_value_t(cat_id, LLCategoryData(cb, version, current_num_known_descendents))); + mCategoryMap.insert(category_map_value_t( + cat_id,LLCategoryData(cat_id, cb, version, current_num_known_descendents))); } return can_be_added; @@ -783,3 +790,15 @@ void LLInventoryCategoriesObserver::removeCategory(const LLUUID& cat_id) { mCategoryMap.erase(cat_id); } + +LLInventoryCategoriesObserver::LLCategoryData::LLCategoryData( + const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents) + + : mCatID(cat_id) + , mCallback(cb) + , mVersion(version) + , mDescendentsCount(num_descendents) + , mIsNameHashInitialized(false) +{ + mItemNameHash.finalize(); +} diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h index ccd5fa5f4e905188ca3359d284ffe5ff5e474999..d535250970f20b076bdd39251e5295d6db4c07e8 100644 --- a/indra/newview/llinventoryobserver.h +++ b/indra/newview/llinventoryobserver.h @@ -295,18 +295,14 @@ class LLInventoryCategoriesObserver : public LLInventoryObserver protected: struct LLCategoryData { - LLCategoryData(callback_t cb, S32 version, S32 num_descendents) - : mCallback(cb) - , mVersion(version) - , mDescendentsCount(num_descendents) - { - mItemNameHash.finalize(); - } + LLCategoryData(const LLUUID& cat_id, callback_t cb, S32 version, S32 num_descendents); callback_t mCallback; S32 mVersion; S32 mDescendentsCount; LLMD5 mItemNameHash; + bool mIsNameHashInitialized; + LLUUID mCatID; }; typedef std::map<LLUUID, LLCategoryData> category_map_t; diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 74bb972eb0a5128765a757c11d3dd661dbf2700a..8b88a848cf7763e4e17500d4eeefcdc30cd7e7a7 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -1321,6 +1321,13 @@ void LLPanelOutfitEdit::getSelectedItemsUUID(uuid_vec_t& uuid_list) void LLPanelOutfitEdit::onCOFChanged() { + //the panel is only updated when is visible to a user + + // BAP - this check has to be removed because otherwise item name + // changes made when the panel is not visible will not be + // propagated to the panel. + // if (!isInVisibleChain()) return; + update(); } @@ -1348,8 +1355,6 @@ void LLPanelOutfitEdit::saveListSelection() if(!selected_ids.size()) return; - mWearableItemsList->resetSelection(); - for (std::set<LLUUID>::const_iterator item_id = selected_ids.begin(); item_id != selected_ids.end(); ++item_id) { mWearableItemsList->selectItemByUUID(*item_id, true); diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp index f4f8241b99d30c44357640af1df6a354b76664e3..1feb987682fb7609fcbba34bd3e9075122c031dc 100644 --- a/indra/newview/lltexlayer.cpp +++ b/indra/newview/lltexlayer.cpp @@ -542,8 +542,7 @@ void LLTexLayerSetBuffer::doUpload() args["TIME"] = llformat("%d",(U32)mNeedsUploadTimer.getElapsedTimeF32()); args["BODYREGION"] = mTexLayerSet->getBodyRegionName(); args["RESOLUTION"] = lod_str; - args["ACTION"] = "uploaded"; - LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args); + LLNotificationsUtil::add("AvatarRezSelfBakedTextureUploadNotification",args); llinfos << "Uploading [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUploadTimer.getElapsedTimeF32() << " ]" << llendl; } } @@ -593,8 +592,7 @@ void LLTexLayerSetBuffer::doUpdate() args["TIME"] = llformat("%d",(U32)mNeedsUpdateTimer.getElapsedTimeF32()); args["BODYREGION"] = mTexLayerSet->getBodyRegionName(); args["RESOLUTION"] = lod_str; - args["ACTION"] = "locally updated"; - LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args); + LLNotificationsUtil::add("AvatarRezSelfBakedTextureUpdateNotification",args); llinfos << "Locally updating [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUpdateTimer.getElapsedTimeF32() << " ]" << llendl; } } diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 63bcdcda2dc5bcf4ca375ea02f7016fe592d8caa..65a40a5b3ad4295bc745ff1898e85555d3184173 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1707,7 +1707,7 @@ bool LLTextureFetch::isHTTPThrottled(S32 requested_size) if(mHTTPTextureQueue.size() >= MAX_HTTP_QUEUE_SIZE)//if the http queue is full. { - if(!mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES - 1]) + if(!mHTTPThrottleFlag[type + 1]) { for(S32 i = type + 1 ; i < TOTAL_TEXTURE_TYPES; i++) //block all requests with fetching size larger than this request. { diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index bae2ceff7232f09978b08100f07faba347ce9845..c31c38b04a5e7c78cacb1f2bb47a2ad3c55a984f 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -141,6 +141,7 @@ class LLTextureFetch : public LLWorkerThread SMALL_TEXTURE = 0 , //size <= 64 * 64 MEDIUM_TEXTURE, //size <= 256 * 256 LARGE_TEXTURE, //size > 256 * 256 + DUMMY, TOTAL_TEXTURE_TYPES }; BOOL mHTTPThrottleFlag[TOTAL_TEXTURE_TYPES]; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 004d1382218869bc11c6b5f356a4e7627ebdf25e..82fef1d916ea4032600def3b459b25d5d11c66d8 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -79,6 +79,8 @@ // format changes. JC const U32 INDRA_OBJECT_CACHE_VERSION = 14; +// Format string used to construct filename for the object cache +static const char OBJECT_CACHE_FILENAME[] = "objects_%d_%d.slc"; extern BOOL gNoRender; @@ -323,13 +325,25 @@ LLViewerRegion::~LLViewerRegion() delete mEventPoll; LLHTTPSender::clearSender(mHost); - saveCache(); + saveObjectCache(); std::for_each(mObjectPartition.begin(), mObjectPartition.end(), DeletePointer()); } -void LLViewerRegion::loadCache() +const std::string LLViewerRegion::getObjectCacheFilename(U64 mHandle) const +{ + std::string filename; + U32 region_x, region_y; + + grid_from_region_handle(mHandle, ®ion_x, ®ion_y); + filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, + llformat(OBJECT_CACHE_FILENAME, region_x, region_y)); + + return filename; +} + +void LLViewerRegion::loadObjectCache() { if (mCacheLoaded) { @@ -341,9 +355,8 @@ void LLViewerRegion::loadCache() LLVOCacheEntry *entry; - std::string filename; - filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() + - llformat("objects_%d_%d.slc",U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS ); + std::string filename = getObjectCacheFilename(mHandle); + LL_DEBUGS("ObjectCache") << filename << LL_ENDL; LLFILE* fp = LLFile::fopen(filename, "rb"); /* Flawfinder: ignore */ if (!fp) @@ -414,7 +427,7 @@ void LLViewerRegion::loadCache() } -void LLViewerRegion::saveCache() +void LLViewerRegion::saveObjectCache() { if (!mCacheLoaded) { @@ -427,9 +440,8 @@ void LLViewerRegion::saveCache() return; } - std::string filename; - filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() + - llformat("objects_%d_%d.slc", U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS ); + std::string filename = getObjectCacheFilename(mHandle); + LL_DEBUGS("ObjectCache") << filename << LL_ENDL; LLFILE* fp = LLFile::fopen(filename, "wb"); /* Flawfinder: ignore */ if (!fp) @@ -1454,7 +1466,7 @@ void LLViewerRegion::unpackRegionHandshake() // Now that we have the name, we can load the cache file // off disk. - loadCache(); + loadObjectCache(); // After loading cache, signal that simulator can start // sending data. diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index a9e7ef771ccf7d502af0df22bfdece307e4b1915..8254cf1caddb2531274ffe2375037c0546720cf5 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -99,9 +99,8 @@ class LLViewerRegion: public LLCapabilityProvider // implements this interface ~LLViewerRegion(); // Call this after you have the region name and handle. - void loadCache(); - - void saveCache(); + void loadObjectCache(); + void saveObjectCache(); void sendMessage(); // Send the current message to this region's simulator void sendReliableMessage(); // Send the current message to this region's simulator @@ -330,6 +329,9 @@ class LLViewerRegion: public LLCapabilityProvider // implements this interface LLDynamicArray<LLUUID> mMapAvatarIDs; private: + // determine the cache filename for the region from the region handle + const std::string getObjectCacheFilename(U64 mHandle) const; + // The surfaces and other layers LLSurface* mLandp; @@ -404,7 +406,7 @@ class LLViewerRegion: public LLCapabilityProvider // implements this interface // Cache ID is unique per-region, across renames, moving locations, // etc. LLUUID mCacheID; - + typedef std::map<std::string, std::string> CapabilityMap; CapabilityMap mCapabilities; diff --git a/indra/newview/skins/default/xui/da/language_settings.xml b/indra/newview/skins/default/xui/da/language_settings.xml index fa8a788605495c567d21c1f9d095bbe57f79ddf3..3e46f69af1e40febcb2dae6c61f25bc996ad836c 100644 --- a/indra/newview/skins/default/xui/da/language_settings.xml +++ b/indra/newview/skins/default/xui/da/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/de/language_settings.xml b/indra/newview/skins/default/xui/de/language_settings.xml index 3e357007fff470d8126717f6306cabd8cb9581d5..d54f548fe135494240f9ae206785a9059a77842c 100644 --- a/indra/newview/skins/default/xui/de/language_settings.xml +++ b/indra/newview/skins/default/xui/de/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/en/language_settings.xml b/indra/newview/skins/default/xui/en/language_settings.xml index c523185034117f78269505161a2c8b15ff321155..c8a06fe401df7ebba74a72e56090cd040a7f8c8a 100644 --- a/indra/newview/skins/default/xui/en/language_settings.xml +++ b/indra/newview/skins/default/xui/en/language_settings.xml @@ -23,6 +23,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml index c3adbb7904e10029cb31ac13110d55082adccdf9..8af2e1eaca41a871596628c598afe033d112687b 100644 --- a/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml +++ b/indra/newview/skins/default/xui/en/menu_wearable_list_item.xml @@ -59,7 +59,7 @@ function="Wearable.Edit" /> </menu_item_call> <menu_item_call - label="Object Profile" + label="Item Profile" layout="topleft" name="object_profile"> <on_click diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 95ee374e3999d0f249bab29637ab22f16d2a162d..3576462cca57611a3c2f797a97d7d6ed8d53a0ce 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6340,10 +6340,18 @@ Avatar '[NAME]' left as fully loaded. <notification icon="notifytip.tga" - name="AvatarRezSelfBakeNotification" + name="AvatarRezSelfBakedTextureUploadNotification" type="notifytip"> ( [EXISTENCE] seconds alive ) -You [ACTION] a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. +You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. + </notification> + + <notification + icon="notifytip.tga" + name="AvatarRezSelfBakedTextureUpdateNotification" + type="notifytip"> +( [EXISTENCE] seconds alive ) +You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds. </notification> <notification diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 185e458a85875fb83ea49ca40f8f2e823c47ee45..0499873fb071365dd126ca161374489917f1dc72 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -156,6 +156,7 @@ width="135" visible="false" /> </layout_panel> <layout_panel +tab_stop="false" follows="right|bottom" name="links" width="200" diff --git a/indra/newview/skins/default/xui/es/language_settings.xml b/indra/newview/skins/default/xui/es/language_settings.xml index 1ade4ba300e3d244793c64bd0c57c0489d11d026..f172994077b9843c9f5fecd4e0fda061abe06596 100644 --- a/indra/newview/skins/default/xui/es/language_settings.xml +++ b/indra/newview/skins/default/xui/es/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml index 4fa91b87ef68326156cae02fe669ac6a9686889d..e7c7385fc87cce746e4e0c204bf5e1f4cbf5ca5d 100644 --- a/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Bibliothèque : </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="Animation"/> + <scroll_list.rows name="action_sound" value="Son"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Attente"/> + </scroll_list> <button label="Ajouter >>" name="add_btn"/> <text name="steps_label"> Étapes : diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml index 0047a3bb040f892bf5ec5a10f5b4dda2a4dbe5aa..f5dab91924c52eee0eb7192c07684d1488d48e74 100644 --- a/indra/newview/skins/default/xui/fr/floater_world_map.xml +++ b/indra/newview/skins/default/xui/fr/floater_world_map.xml @@ -19,12 +19,12 @@ <text name="land_sale_label"> Vente de terrains </text> - <text name="by_owner_label"> - propriétaire - </text> <text name="auction_label"> enchères </text> + <text name="by_owner_label"> + propriétaire + </text> <button name="Go Home" tool_tip="Me téléporter jusqu’à mon domicile"/> <text name="Home_label"> Domicile @@ -58,6 +58,9 @@ <search_editor label="Régions par nom" name="location" tool_tip="Tapez le nom d'une région"/> <button label="Trouver" name="DoSearch" tool_tip="Rechercher une région"/> <button name="Clear" tool_tip="Effacer les lignes de suivi et réinitialiser la carte"/> + <text name="events_label"> + Endroit : + </text> <button label="Téléporter" name="Teleport" tool_tip="Me téléporter à l'emplacement sélectionné"/> <button label="Copier la SLurl" name="copy_slurl" tool_tip="Copie l’emplacement actuel sous la forme d’une SLurl à utiliser sur le Web."/> <button label="Afficher la sélection" name="Show Destination" tool_tip="Centrer la carte sur l'emplacement sélectionné"/> diff --git a/indra/newview/skins/default/xui/fr/language_settings.xml b/indra/newview/skins/default/xui/fr/language_settings.xml index 117ae16ee84cafd8572c40dda57849deee2267a2..bd272e1f284b76a3ad20dfbcee5b7d4c332dd462 100644 --- a/indra/newview/skins/default/xui/fr/language_settings.xml +++ b/indra/newview/skins/default/xui/fr/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index 6338fa0cd0809d03c2e6d95a1b899fd4064ae17e..cd0e41e49646119ae9c5072d8697665a755f862d 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Définir les scripts sur Pas d'exécution" name="Set Scripts to Not Running"/> </menu> <menu label="Options" name="Options"> + <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> <menu_item_check label="Afficher les droits avancés" name="DebugPermissions"/> <menu_item_check label="Sélectionner mes objets uniquement" name="Select Only My Objects"/> <menu_item_check label="Sélectionner les objets déplaçables uniquement" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/> - <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/> </menu> </menu> <menu label="Aide" name="Help"> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 5cb42a04354160464647b7bb4ab6c0fd6ab54708..6cfc2b5c6664fc001af6a4a3251378efee724bcc 100644 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -358,7 +358,7 @@ Voulez-vous vraiment continuer ? <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="DeleteOutfits"> - Supprimer la tenue sélectionnée ? + Supprimer la ou les tenues sélectionnées ? <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/> </notification> <notification name="PromptGoToEventsPage"> @@ -2746,7 +2746,7 @@ Départ de l'avatar [NAME] entièrement chargé. </notification> <notification name="AvatarRezSelfBakeNotification"> ([EXISTENCE] secondes d'existence) -Texture figée de [RESOLUTION] chargée pour [BODYREGION] au bout de [TIME] secondes. +Vous avez [ACTION] une texture figée de [RESOLUTION] pour [BODYREGION] au bout de [TIME] secondes. </notification> <notification name="ConfirmLeaveCall"> Voulez-vous vraiment quitter cet appel ? @@ -2784,4 +2784,7 @@ Si vous avez toujours des problèmes, veuillez consulter la page [SUPPORT_SITE]. Si vous possédez un terrain, vous pouvez le définir comme domicile. Sinon, consultez la carte et trouvez les " infohubs ". </global> + <global name="You died and have been teleported to your home location"> + Vous êtes mort et avez été téléporté à votre domicile. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/fr/panel_group_notices.xml b/indra/newview/skins/default/xui/fr/panel_group_notices.xml index 5fc1397763696a8b73b945a94f0b6ce2d9b92fc9..bcf2cc8ec98259ff94fff7d99f4ce8c59fa35171 100644 --- a/indra/newview/skins/default/xui/fr/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_notices.xml @@ -21,7 +21,7 @@ Vous pouvez désactiver la réception des notices dans l'onglet Général. <text name="notice_list_none_found"> Aucun résultat </text> - <button label="Créer une notice" label_selected="Créer une notice" name="create_new_notice" tool_tip="Créer une notice"/> + <button label="Nouvelle notice" label_selected="Créer une notice" name="create_new_notice" tool_tip="Créer une notice"/> <button label="Rafraîchir" label_selected="Rafraîchir la liste" name="refresh_notices" tool_tip="Actualiser la liste des notices"/> <panel label="Créer une notice" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml index e1eeaa8601f371a673a90b8e8bc2c4a25f1c2a14..0bd2e0bdab7064f3a405efa2da96aa94e3c85156 100644 --- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml @@ -12,6 +12,9 @@ Vous pouvez ajouter ou supprimer les rôles assignés aux membres. Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la touche Ctrl enfoncée. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtrer les membres" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Membre" name="name"/> diff --git a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml index bd29bd676c8b317f611bcad1327be177babe38f7..60507f191d25501c5a04ce9a20cd8fc2c54c01d3 100644 --- a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml @@ -16,7 +16,7 @@ Les informations sur ce lieu ne sont pas disponibles car l'accès y est restreint. Veuillez vérifier vos droits avec le propriétaire de la parcelle. </string> <string name="acquired_date"> - [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] + [weekday,datetime,local] [sday,datetime,local] [month,datetime,local] [year,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] </string> <button name="back_btn" tool_tip="Précédent"/> <text name="title" value="Profil du lieu"/> diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml index 66bfd01a2aa5fc6064e954caa459de2c097aa59f..d19a4770077e0a73f6cdfc8704aa51cf7f39bf50 100644 --- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml @@ -27,7 +27,7 @@ Médias proches </text> <text name="show_text"> - Voir : + Afficher : </text> <combo_box name="show_combo"> <combo_box.item label="Tout" name="All"/> diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml index c9676c898b6660fdc1f24b9ed60cd46bef7109d0..b82d8bcd18b53127c9792491f2e771352c50d55e 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Activé" name="enable_media"/> <slider label="Chat vocal" name="Voice Volume"/> <check_box label="Activé" name="enable_voice_check"/> - <check_box label="Autoriser la lecture automatique du média" name="media_auto_play_btn" tool_tip="Cochez pour autoriser la lecture automatique du média"/> - <check_box label="Jouer le média aux autres avatars" name="media_show_on_others_btn" tool_tip="Décochez pour masquer le média aux autres avatars près de vous"/> + <check_box label="Autoriser la lecture automatique du média" name="media_auto_play_btn" tool_tip="Cochez pour autoriser la lecture automatique du média" value="true"/> + <check_box label="Jouer le média aux autres avatars" name="media_show_on_others_btn" tool_tip="Décochez pour masquer le média aux autres avatars près de vous" value="true"/> <text name="voice_chat_settings"> Paramètres du chat vocal </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Défaut </panel.string> + <panel.string name="default system device"> + Périphérique système par défaut + </panel.string> + <panel.string name="no device"> + Aucun périphérique + </panel.string> <text name="Input"> Entrée </text> diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml index 3c56fa68e7b939e6855f57d42abb7f755a7280a2..85429a18c736ca9b2c86645b36f5c2eed39572aa 100644 --- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml @@ -16,7 +16,7 @@ [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt] </panel.string> <panel.string name="timeTooltip"> - [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt] + [weekday, datetime, slt] [sday, datetime, slt] [month, datetime, slt] [year, datetime, slt] </panel.string> <panel.string name="buycurrencylabel"> [AMT] L$ diff --git a/indra/newview/skins/default/xui/fr/panel_teleport_history.xml b/indra/newview/skins/default/xui/fr/panel_teleport_history.xml index bfd7a869c52260f90445c9a3dbabc2d9760833c4..1586c201dafb265925b89e49d2acea798a2750be 100644 --- a/indra/newview/skins/default/xui/fr/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/fr/panel_teleport_history.xml @@ -1,6 +1,8 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/places/Rechercher [SEARCH_TERM]]."/> + <no_visible_tabs_text name="no_teleports_msg" value="L'historique des téléportations est vide. Essayez [secondlife:///app/search/places/ Rechercher]."/> <accordion_tab name="today" title="Aujourd'hui"/> <accordion_tab name="yesterday" title="Hier"/> <accordion_tab name="2_days_ago" title="Il y a 2 jours"/> diff --git a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml index 0350ea5116bdae3570e053496d06489aa614e791..77c6f4877c2be72beaf505a4c5438ddc6805ccae 100644 --- a/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_item_info.xml @@ -23,10 +23,9 @@ </panel.string> <text name="title" value="Profil de l'article"/> <text name="origin" value="(inventaire)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> - Nom : + Nom : </text> <text name="LabelItemDescTitle"> Description : @@ -37,12 +36,12 @@ <text name="LabelCreatorName"/> <button label="Profil" name="BtnCreator"/> <text name="LabelOwnerTitle"> - Propriétaire : + Propriétaire : </text> <text name="LabelOwnerName"/> <button label="Profil" name="BtnOwner"/> <text name="LabelAcquiredTitle"> - Acquis : + Acquis le : </text> <text name="LabelAcquiredDate"/> <panel name="perms_inv"> @@ -53,26 +52,26 @@ <check_box label="Copier" name="CheckOwnerCopy"/> <check_box label="Transférer" name="CheckOwnerTransfer"/> <text name="AnyoneLabel"> - N'importe qui : + N'importe qui : </text> <check_box label="Copier" name="CheckEveryoneCopy"/> <text name="GroupLabel"> - Groupe : + Groupe : </text> - <check_box label="Partager" name="CheckShareWithGroup" tool_tip="Autorisez tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d'abord cliquer sur Transférer."/> + <check_box label="Partager" name="CheckShareWithGroup" tool_tip="Autoriser tous les membres du groupe choisi à partager vos droits de modification pour cet objet. Pour activer les restrictions de rôles, vous devez d'abord cliquer sur Céder."/> <text name="NextOwnerLabel"> - Le prochain propriétaire : + Prochain propriétaire : </text> <check_box label="Modifier" name="CheckNextOwnerModify"/> <check_box label="Copier" name="CheckNextOwnerCopy"/> - <check_box label="Transférer" name="CheckNextOwnerTransfer" tool_tip="Le prochain propriétaire peut donner ou revendre cet objet"/> + <check_box label="Transférer" name="CheckNextOwnerTransfer" tool_tip="Le prochain propriétaire peut donner ou revendre cet objet."/> </panel> <check_box label="À vendre" name="CheckPurchase"/> <combo_box name="combobox sale copy"> <combo_box.item label="Copier" name="Copy"/> <combo_box.item label="Original" name="Original"/> </combo_box> - <spinner label="Prix : L$" name="Edit Cost"/> + <spinner label="Prix : L$" name="Edit Cost"/> </panel> <panel name="button_panel"> <button label="Annuler" name="cancel_btn"/> diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index 7aadaed209549121aabfec287e6e565d4f4cbe86..6cab902ab6c5a876096b7bc23771e0aa0b6820cf 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -541,7 +541,7 @@ Va te faire voir ! </string> <string name="anim_express_kiss"> - Baiser + Envoyer un baiser </string> <string name="anim_laugh_short"> Rire @@ -663,6 +663,9 @@ <string name="worldmap_offline"> Hors ligne </string> + <string name="worldmap_item_tooltip_format"> + [AREA] m² [PRICE] L$ + </string> <string name="worldmap_results_none_found"> Aucun résultat. </string> @@ -1061,6 +1064,7 @@ <string name="AnimFlagStop" value=" Arrêter l'animation :"/> <string name="AnimFlagStart" value=" Démarrer l'animation :"/> <string name="Wave" value=" Faire signe"/> + <string name="GestureActionNone" value="Aucune"/> <string name="HelloAvatar" value=" Bonjour, avatar !"/> <string name="ViewAllGestures" value=" Tout afficher >>"/> <string name="GetMoreGestures" value="Plus >>"/> @@ -1143,12 +1147,12 @@ <string name="InvFolder Favorite"> Favoris </string> - <string name="InvFolder favorite"> - Favoris - </string> <string name="InvFolder Current Outfit"> Tenue actuelle </string> + <string name="InvFolder Initial Outfits"> + Tenues initiales + </string> <string name="InvFolder My Outfits"> Mes tenues </string> @@ -1468,6 +1472,7 @@ <string name="SummaryForTheWeek" value="Récapitulatif de la semaine, début le "/> <string name="NextStipendDay" value="Prochaine prime le "/> <string name="GroupIndividualShare" value=" Groupe Part individuelle"/> + <string name="GroupColumn" value="Groupe"/> <string name="Balance"> Solde </string> @@ -1687,6 +1692,12 @@ <string name="BusyModeResponseDefault"> Le résident auquel vous avez envoyé un message est en mode Occupé, ce qui signifie qu'il a demandé à ne pas être dérangé. Votre message restera affiché dans son panneau IM afin qu'il puisse le lire ultérieurement. </string> + <string name="NoOutfits"> + Aucune tenue n'est actuellement en votre possession. Essayez [secondlife:///app/search/all Rechercher]. + </string> + <string name="NoOutfitsTabsMatched"> + Vous n'avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/all/Rechercher [SEARCH_TERM]]. + </string> <string name="MuteByName"> (par nom) </string> @@ -3676,6 +3687,9 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE]. <string name="group_role_owners"> Propriétaires </string> + <string name="group_member_status_online"> + En ligne + </string> <string name="uploading_abuse_report"> Chargement en cours... @@ -3729,9 +3743,15 @@ de l'infraction signalée <string name="Invalid Wearable"> Objet à porter non valide </string> + <string name="New Gesture"> + Nouveau geste + </string> <string name="New Script"> Nouveau script </string> + <string name="New Note"> + Nouvelle note + </string> <string name="New Folder"> Nouveau dossier </string> @@ -3789,6 +3809,15 @@ de l'infraction signalée <string name="Male - Wow"> Homme - Ouah ! </string> + <string name="Female - Chuckle"> + Femme - Glousser + </string> + <string name="Female - Cry"> + Femme - Pleurer + </string> + <string name="Female - Embarrassed"> + Femme - Gêne + </string> <string name="Female - Excuse me"> Femme - Demander pardon </string> @@ -3807,9 +3836,21 @@ de l'infraction signalée <string name="Female - Hey"> Femme - Hé ! </string> + <string name="Female - Hey baby"> + Femme - Hey baby + </string> <string name="Female - Laugh"> Femme - Rire </string> + <string name="Female - Looking good"> + Femme - Looking good + </string> + <string name="Female - Over here"> + Femme - Over here + </string> + <string name="Female - Please"> + Femme - Please + </string> <string name="Female - Repulsed"> Femme - Dégoût </string> @@ -3859,5 +3900,46 @@ de l'infraction signalée <string name="dateTimePM"> PM </string> - <string name="LocalEstimateUSD">[AMOUNT] US$</string> + <string name="LocalEstimateUSD"> + [AMOUNT] US$ + </string> + <string name="Membership"> + Inscription + </string> + <string name="Roles"> + Rôles + </string> + <string name="Group Identity"> + Identité du groupe + </string> + <string name="Parcel Management"> + Gestion des parcelles + </string> + <string name="Parcel Identity"> + Identité des parcelles + </string> + <string name="Parcel Settings"> + Paramètres des parcelles + </string> + <string name="Parcel Powers"> + Pouvoirs sur les parcelles + </string> + <string name="Parcel Access"> + Accès aux parcelles + </string> + <string name="Parcel Content"> + Contenu des parcelles + </string> + <string name="Object Management"> + Gestion des objets + </string> + <string name="Accounting"> + Comptabilité + </string> + <string name="Notices"> + Notices + </string> + <string name="Chat"> + Chat + </string> </strings> diff --git a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml index cc9d42b3cb521a29e70484f94024996de54be261..9c4006b4e6db23c3c3100f6ca318463ff46f40b5 100644 --- a/indra/newview/skins/default/xui/it/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/it/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Libreria: </text> - <scroll_list name="library_list"/> + <scroll_list name="library_list"> + <scroll_list.rows name="action_animation" value="Animazione"/> + <scroll_list.rows name="action_sound" value="Suono"/> + <scroll_list.rows name="action_chat" value="Chat"/> + <scroll_list.rows name="action_wait" value="Attendi"/> + </scroll_list> <button label="Aggiungi >>" name="add_btn"/> <text name="steps_label"> Fasi: diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml index a6bd4ffbaf73fa0a2688c261e9bf90e6e302867d..8da17a4034b0add755825357f5cdc50df236c66b 100644 --- a/indra/newview/skins/default/xui/it/floater_world_map.xml +++ b/indra/newview/skins/default/xui/it/floater_world_map.xml @@ -19,12 +19,12 @@ <text name="land_sale_label"> Vendita terreno </text> - <text name="by_owner_label"> - da parte del proprietario - </text> <text name="auction_label"> asta di terreni </text> + <text name="by_owner_label"> + da parte del proprietario + </text> <button name="Go Home" tool_tip="Teleport a casa"/> <text name="Home_label"> Home @@ -35,7 +35,7 @@ <text name="pg_label"> Generale </text> - <check_box name="events_mature_chk"/> + <check_box initial_value="true" name="events_mature_chk"/> <text name="events_mature_label"> Moderato </text> @@ -58,6 +58,9 @@ <search_editor label="Regioni secondo il nome" name="location" tool_tip="Digita il nome di una regione"/> <button label="Trova" name="DoSearch" tool_tip="Cerca la regione"/> <button name="Clear" tool_tip="Elimina le linee di monitoraggio e reimposta la mappa"/> + <text name="events_label"> + Luogo: + </text> <button label="Teleport" name="Teleport" tool_tip="Teleport al luogo selezionato"/> <button label="Copia SLurl" name="copy_slurl" tool_tip="Copia la posizione attuale come un SLurl da usare nel Web."/> <button label="Mostra la selezione" name="Show Destination" tool_tip="Centra la mappa sul luogo selezionato"/> diff --git a/indra/newview/skins/default/xui/it/language_settings.xml b/indra/newview/skins/default/xui/it/language_settings.xml index 82cf789a6b3604341a5bd10692f775fbab539902..312b8e21aa91bb088b5eaca6b64e287c672bd029 100644 --- a/indra/newview/skins/default/xui/it/language_settings.xml +++ b/indra/newview/skins/default/xui/it/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index f0dd035b5d61d29fbb3bf93c839194be1d4f66d8..6290b79211d1c9877430a04965b62b0703584ce2 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Imposta script come non in esecuzione" name="Set Scripts to Not Running"/> </menu> <menu label="Opzioni" name="Options"> + <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> <menu_item_check label="Mostra autorizzazioni avanzate" name="DebugPermissions"/> <menu_item_check label="Seleziona solo i miei oggetti" name="Select Only My Objects"/> <menu_item_check label="Seleziona solo gli oggetti spostabili" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Suono ([COST] L$)..." name="Upload Sound"/> <menu_item_call label="Animazione ([COST] L$)..." name="Upload Animation"/> <menu_item_call label="In blocco ([COST] L$ per file)..." name="Bulk Upload"/> - <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/> </menu> </menu> <menu label="Aiuto" name="Help"> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 44b8211bdb541965f71f60d4171fc93cc85694ae..474bdca55f3ed1aad46109314d7485af2975af3c 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -2749,7 +2749,7 @@ Avatar '[NAME]' è partito completamente caricato. </notification> <notification name="AvatarRezSelfBakeNotification"> ( in esistenza da [EXISTENCE] secondi ) -Hai caricato una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. +Effettuata l'azione: [ACTION] di una texture [RESOLUTION] completata per '[BODYREGION]' dopo [TIME] secondi. </notification> <notification name="ConfirmLeaveCall"> Sei sicuro di volere uscire dalla chiamata? @@ -2787,4 +2787,7 @@ Se continui ad avere problemi, visita la pagina [SUPPORT_SITE]. Se sei proprietario di un appezzamento di terreno, puoi definirlo come la tua posizione iniziale. In alternativa, puoi guardare sulla mappa e trovare luoghi segnalati come "Infohub". </global> + <global name="You died and have been teleported to your home location"> + Sei deceduto e sei stato teleportato a casa tua. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/it/panel_group_notices.xml b/indra/newview/skins/default/xui/it/panel_group_notices.xml index 8dd945830e298fcd3592012da792e0b5a92a7526..2e2f0dc7b0349ccbe4dd7c2127f569829ae551b9 100644 --- a/indra/newview/skins/default/xui/it/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/it/panel_group_notices.xml @@ -19,7 +19,7 @@ Massimo 200 per gruppo al giorno <text name="notice_list_none_found"> Nessuno trovato </text> - <button label="Crea un nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/> + <button label="Nuovo avviso" label_selected="Crea una nuova notice" name="create_new_notice" tool_tip="Crea un nuovo avviso"/> <button label="Aggiorna" label_selected="Aggiorna l'elenco" name="refresh_notices" tool_tip="Aggiorna la lista degli avvisi"/> <panel label="Crea una nuova notice" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml index 1769ef748d0ea6cedf616774e90629a2b8cebd23..478b35e628c43ed23867c95ba3a4973ac5dfa9fe 100644 --- a/indra/newview/skins/default/xui/it/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml @@ -13,6 +13,9 @@ Seleziona più membri tenendo premuto il tasto Ctrl e cliccando sui loro nomi. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtra Membri" name="filter_input"/> <name_list name="member_list"> <name_list.columns label="Socio" name="name"/> @@ -66,21 +69,15 @@ in questo gruppo. C'è una vasta gamma di abilità . <text name="static"> Nome del ruolo </text> - <line_editor name="role_name"> - Addetti - </line_editor> + <line_editor name="role_name"/> <text name="static3"> Titolo del ruolo </text> - <line_editor name="role_title"> - (attendi) - </line_editor> + <line_editor name="role_title"/> <text name="static2"> Descrizione </text> - <text_editor name="role_description"> - (attendi) - </text_editor> + <text_editor name="role_description"/> <text name="static4"> Ruoli assegnati </text> @@ -91,9 +88,6 @@ in questo gruppo. C'è una vasta gamma di abilità . <scroll_list name="role_allowed_actions" tool_tip="Per i dettagli di ogni abilità consentita vedi la scheda abilità ."/> </panel> <panel name="actions_footer"> - <text name="static"> - Descrizione abilità - </text> <text_editor name="action_description"> Questa abilità è 'Espelli i membri dal gruppo'. Solo un Capogruppo puo espellere un'altro Capogruppo. </text_editor> diff --git a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml index 9f8a13fedc6c26a2302fbb782e3a95eb4d8946d3..2ddb226020bd64f40da11d852950030b0c99f2f5 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Abilitato" name="enable_media"/> <slider label="Chat vocale" name="Voice Volume"/> <check_box label="Abilitato" name="enable_voice_check"/> - <check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica"/> - <check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni"/> + <check_box label="Consenti riproduzione multimediale automatica" name="media_auto_play_btn" tool_tip="Seleziona qui per consentire la riproduzione multimediale automatica" value="true"/> + <check_box label="Riproduci media in uso da altri avatar" name="media_show_on_others_btn" tool_tip="Deseleziona qui per nascondere i media in uso dagli altri avatar nei dintorni" value="true"/> <text name="voice_chat_settings"> Impostazioni Chat vocale </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Predefinito </panel.string> + <panel.string name="default system device"> + Dispositivo di sistema predefinito + </panel.string> + <panel.string name="no device"> + Nessun dispositivo + </panel.string> <text name="Input"> Input </text> diff --git a/indra/newview/skins/default/xui/it/panel_teleport_history.xml b/indra/newview/skins/default/xui/it/panel_teleport_history.xml index 85f8f87e6867f9c2a2a470a7d4a1ef717634b21e..f4fa59babee576fd7991d76fc39d0e814a9d4812 100644 --- a/indra/newview/skins/default/xui/it/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/it/panel_teleport_history.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/places/[SEARCH_TERM] Cerca]."/> + <no_visible_tabs_text name="no_teleports_msg" value="La cronologia dei teleport è vuota. Prova [secondlife:///app/search/places/ Cerca]."/> <accordion_tab name="today" title="Oggi"/> <accordion_tab name="yesterday" title="Ieri"/> <accordion_tab name="2_days_ago" title="2 giorni fa"/> - 5 <accordion_tab name="3_days_ago" title="3 giorni fa"/> <accordion_tab name="4_days_ago" title="4 giorni fa"/> <accordion_tab name="5_days_ago" title="5 giorni fa"/> diff --git a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml index 627aeb5cb574207638eb1f220da1d0a4da49475c..6f650ea55d068f8073f7fda4a5087781a14eec5b 100644 --- a/indra/newview/skins/default/xui/it/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/it/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Profilo articolo"/> <text name="origin" value="(Inventario)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Nome: </text> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 69c84be22c10ce54b04907993de52ebb2aac359d..fb479b4653a4e847bb6324126518a503ca86ce61 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -651,6 +651,9 @@ <string name="worldmap_offline"> Offline </string> + <string name="worldmap_item_tooltip_format"> + L$ [PRICE] - [AREA] m² + </string> <string name="worldmap_results_none_found"> Nessun risultato. </string> @@ -1040,6 +1043,7 @@ <string name="AnimFlagStop" value="Ferma l'animazione :"/> <string name="AnimFlagStart" value="Inizia l'animazione :"/> <string name="Wave" value="Saluta con la mano"/> + <string name="GestureActionNone" value="Nessuna"/> <string name="HelloAvatar" value="Ciao, avatar!"/> <string name="ViewAllGestures" value="Visualizza tutto >>"/> <string name="GetMoreGestures" value="Altre >>"/> @@ -1122,12 +1126,12 @@ <string name="InvFolder Favorite"> Preferiti </string> - <string name="InvFolder favorite"> - Preferiti - </string> <string name="InvFolder Current Outfit"> Abbigliamento attuale </string> + <string name="InvFolder Initial Outfits"> + Vestiario iniziale + </string> <string name="InvFolder My Outfits"> Il mio vestiario </string> @@ -1447,6 +1451,7 @@ <string name="SummaryForTheWeek" value="Riassunto della settimana, partendo dal"/> <string name="NextStipendDay" value="Il prossimo giorno di stipendio è"/> <string name="GroupIndividualShare" value="Gruppo Dividendi individuali"/> + <string name="GroupColumn" value="Gruppo"/> <string name="Balance"> Saldo </string> @@ -1660,6 +1665,12 @@ <string name="BusyModeResponseDefault"> Il residente al quale hai inviato un messaggio è in modalità 'occupato', ovvero ha chiesto di non essere disturbato. Il tuo messaggio comparirà nel suo pannello IM, dove potrà essere letto in un secondo momento. </string> + <string name="NoOutfits"> + Non hai ancora vestiario da indossare. Prova [secondlife:///app/search/all Cerca]. + </string> + <string name="NoOutfitsTabsMatched"> + Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all/[SEARCH_TERM] Cerca]. + </string> <string name="MuteByName"> (In base al nome) </string> @@ -3580,6 +3591,9 @@ Se il messaggio persiste, contatta [SUPPORT_SITE]. <string name="group_role_owners"> Proprietari </string> + <string name="group_member_status_online"> + Online + </string> <string name="uploading_abuse_report"> Caricamento in corso... @@ -3633,9 +3647,15 @@ Segnala abuso <string name="Invalid Wearable"> Capo da indossare non valido </string> + <string name="New Gesture"> + Nuova gesture + </string> <string name="New Script"> Nuovo script </string> + <string name="New Note"> + Nuovo appunto + </string> <string name="New Folder"> Nuova cartella </string> @@ -3693,6 +3713,15 @@ Segnala abuso <string name="Male - Wow"> Maschio - Accipicchia </string> + <string name="Female - Chuckle"> + Femmina - Risatina + </string> + <string name="Female - Cry"> + Femmina - Pianto + </string> + <string name="Female - Embarrassed"> + Femmina - Imbarazzata + </string> <string name="Female - Excuse me"> Femmina - Chiedere scusa </string> @@ -3711,9 +3740,21 @@ Segnala abuso <string name="Female - Hey"> Femmina - Ehi </string> + <string name="Female - Hey baby"> + Femmina - Ehi tu + </string> <string name="Female - Laugh"> Femmina - Ridere </string> + <string name="Female - Looking good"> + Femmina - Sei in forma + </string> + <string name="Female - Over here"> + Femmina - Per di qua + </string> + <string name="Female - Please"> + Femmina - Per cortesia + </string> <string name="Female - Repulsed"> Femmina - Disgustata </string> @@ -3763,4 +3804,46 @@ Segnala abuso <string name="dateTimePM"> pomeridiane </string> + <string name="LocalEstimateUSD"> + US$ [AMOUNT] + </string> + <string name="Membership"> + Abbonamento + </string> + <string name="Roles"> + Ruoli + </string> + <string name="Group Identity"> + Identità gruppo + </string> + <string name="Parcel Management"> + Gestione lotto + </string> + <string name="Parcel Identity"> + Identità lotto + </string> + <string name="Parcel Settings"> + Impostazioni lotto + </string> + <string name="Parcel Powers"> + Poteri lotto + </string> + <string name="Parcel Access"> + Accesso al lotto + </string> + <string name="Parcel Content"> + Contenuto lotto + </string> + <string name="Object Management"> + Gestione oggetti + </string> + <string name="Accounting"> + Contabilità + </string> + <string name="Notices"> + Avvisi + </string> + <string name="Chat"> + Chat + </string> </strings> diff --git a/indra/newview/skins/default/xui/ja/language_settings.xml b/indra/newview/skins/default/xui/ja/language_settings.xml index 72382417d9cd79168192a8e2882c2fddf50ab2f4..a6023f9b56d8284f05cb100d24954783ea3d3bec 100644 --- a/indra/newview/skins/default/xui/ja/language_settings.xml +++ b/indra/newview/skins/default/xui/ja/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/nl/language_settings.xml b/indra/newview/skins/default/xui/nl/language_settings.xml index dc4663705fb44fdab83f6e3f47877c1ff8f881dd..53501d5dcb57849df6a1a42f65fa249c76227407 100644 --- a/indra/newview/skins/default/xui/nl/language_settings.xml +++ b/indra/newview/skins/default/xui/nl/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/pl/language_settings.xml b/indra/newview/skins/default/xui/pl/language_settings.xml index debc451a338beee6b159e58ec5867a72af30345e..681b38e9cf6d5c0b2cdc8b8a75db616f5affa9c9 100644 --- a/indra/newview/skins/default/xui/pl/language_settings.xml +++ b/indra/newview/skins/default/xui/pl/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml index a01bee94a123d8de8913b2977a8777cd68fd74de..80bdbb0fb40ae0bab4d8f0fa10b329dc793cc38e 100644 --- a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml +++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml @@ -42,7 +42,12 @@ <text name="library_label"> Biblioteca: </text> - <scroll_list name="library_list" width="84"/> + <scroll_list name="library_list" width="84"> + <scroll_list.rows name="action_animation" value="Animação"/> + <scroll_list.rows name="action_sound" value="Som"/> + <scroll_list.rows name="action_chat" value="Bate-papo"/> + <scroll_list.rows name="action_wait" value="Espere"/> + </scroll_list> <button label="Incluir" left="118" name="add_btn" width="87"/> <text name="steps_label"> Passos: diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml index 77d0c787e753b8fa4e6af1a727585c4eec94d58e..490a975e8076450da5044d6d671595f89dd46897 100644 --- a/indra/newview/skins/default/xui/pt/floater_world_map.xml +++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml @@ -6,7 +6,7 @@ </text> </panel> <panel name="layout_panel_2"> - <button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar" /> + <button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar"/> <text name="me_label"> Eu </text> @@ -22,12 +22,12 @@ <text name="land_sale_label"> Terreno à venda </text> - <text name="by_owner_label"> - pelo dono - </text> <text name="auction_label"> leilão </text> + <text name="by_owner_label"> + pelo dono + </text> <button label="Voltar ao meu inÃcio" label_selected="Voltar ao meu inÃcio" name="Go Home" tool_tip="Teletransportar para meu inÃcio"/> <text name="Home_label"> InÃcio @@ -39,7 +39,7 @@ <text name="pg_label"> Geral </text> - <check_box label="Mature" name="events_mature_chk"/> + <check_box initial_value="true" label="Mature" name="events_mature_chk"/> <text name="events_mature_label"> Moderado </text> @@ -63,6 +63,9 @@ <search_editor label="Regiões por nome" name="location" tool_tip="Digite o nome da região"/> <button label="Buscar" name="DoSearch" tool_tip="Buscar região"/> <button name="Clear" tool_tip="Limpar linhas e redefinir mapa"/> + <text name="events_label"> + Local: + </text> <button font="SansSerifSmall" label="Teletransportar" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para o lugar selecionado"/> <button font="SansSerifSmall" label="Copiar SLurl" name="copy_slurl" tool_tip="Copia a localização atual como um SLurl para usar na web."/> <button font="SansSerifSmall" label="Mostrar seleção" label_selected="Mostrar Destino" left_delta="91" name="Show Destination" tool_tip="Centrar mapa no local selecionado" width="135"/> diff --git a/indra/newview/skins/default/xui/pt/language_settings.xml b/indra/newview/skins/default/xui/pt/language_settings.xml index f25e77574d24c1c41b9e60352c334508aa7fdcb2..e1de6ffea76f7a79094dd5e88fd659c3c4f6ce48 100644 --- a/indra/newview/skins/default/xui/pt/language_settings.xml +++ b/indra/newview/skins/default/xui/pt/language_settings.xml @@ -17,6 +17,7 @@ datetimeToCodes["month"] = "%B"; // August datetimeToCodes["mthnum"] = "%m"; // 08 datetimeToCodes["day"] = "%d"; // 31 + datetimeToCodes["sday"] = "%-d"; // 9 datetimeToCodes["hour24"] = "%H"; // 14 datetimeToCodes["hour"] = "%H"; // 14 datetimeToCodes["hour12"] = "%I"; // 02 diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index d5e08080005a4df91f569d56f6fa4f9653f0d611..33fccbedcce7bd75bd4d96a02313f64cf41a5ad6 100644 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -94,6 +94,7 @@ <menu_item_call label="Scripts em modo não execução" name="Set Scripts to Not Running"/> </menu> <menu label="Opções" name="Options"> + <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> <menu_item_check label="Mostrar permissões avançadas" name="DebugPermissions"/> <menu_item_check label="Só selecionar meus objetos" name="Select Only My Objects"/> <menu_item_check label="Só selecionar objetos móveis" name="Select Only Movable Objects"/> @@ -111,7 +112,6 @@ <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/> <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/> <menu_item_call label="Volume (L$[COST] por arquivo)..." name="Bulk Upload"/> - <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/> </menu> </menu> <menu label="Ajuda" name="Help"> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index 2a1b5f995a9581807f76807d44bfc3f2547d5a8a..a6645d8b134dc1f10c0c367c0e614c000975f765 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -356,7 +356,7 @@ Tem certeza de que quer prosseguir? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/> </notification> <notification name="DeleteOutfits"> - Excluir o look selecionado? + Excluir look(s) selecionado(s)? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="PromptGoToEventsPage"> @@ -2729,7 +2729,7 @@ Avatar '[NAME]' saiu totalmente carregado. </notification> <notification name="AvatarRezSelfBakeNotification"> ( [EXISTENCE] segundos de vida ) -Você carregou uma textura com [RESOLUTION] para o(a) '[BODYREGION]' em [TIME] segundos. +[ACTION] de textura com [RESOLUTION] para o(a) '[BODYREGION]' em [TIME] segundos. </notification> <notification name="ConfirmLeaveCall"> Tem certeza de que quer sair desta ligação? @@ -2767,4 +2767,7 @@ Se você continuar a receber esta mensagem, consulte o [SUPPORT_SITE]. Se você tem um terreno, seu terreno pode ser seu inÃcio. Outra opção é procurar por lugares com a tag 'Infohub' no mapa. </global> + <global name="You died and have been teleported to your home location"> + Você morreu e foi reenviado ao seu inÃcio. + </global> </notifications> diff --git a/indra/newview/skins/default/xui/pt/panel_group_notices.xml b/indra/newview/skins/default/xui/pt/panel_group_notices.xml index 9ccb85cdf62a97dfd4f6a488793675e0f44a9bca..21136d06fb8e7f9366055849480bfaf9418eb5f1 100644 --- a/indra/newview/skins/default/xui/pt/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_notices.xml @@ -18,7 +18,7 @@ Cada grupo pode enviar no máximo 200 avisos/dia <text name="notice_list_none_found"> Nenhum resultado foi encontrado. </text> - <button label="Criar um novo aviso" label_selected="Criar nova notÃcia" name="create_new_notice" tool_tip="Criar um novo aviso"/> + <button label="Novo aviso" label_selected="Criar nova notÃcia" name="create_new_notice" tool_tip="Criar um novo aviso"/> <button label="Atualizar" label_selected="Atualizar lista" name="refresh_notices" tool_tip="Atualizar lista de avisos"/> <panel label="Criar nova notÃcia" name="panel_create_new_notice"> <text name="lbl"> diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml index 9c3792ec433403ef2c493e98457381e36697de35..c861e296240a100465b1e71c1e8c0ff809923a74 100644 --- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml @@ -11,6 +11,9 @@ <panel.string name="help_text"> Você pode adicionar ou remover as funções designadas aos membros. Selecione vários membros, segurando a tecla Ctrl e clicando em seus nomes. </panel.string> + <panel.string name="donation_area"> + [AREA] m² + </panel.string> <filter_editor label="Filtrar por membro" name="filter_input"/> <name_list bottom_delta="-105" height="104" name="member_list"> <name_list.columns label="Membro" name="name"/> @@ -63,21 +66,15 @@ Há uma grande variedade de habilidades. <text name="static"> Nome da função </text> - <line_editor name="role_name"> - Empregados - </line_editor> + <line_editor name="role_name"/> <text name="static3"> TÃtulo da função </text> - <line_editor name="role_title"> - (esperando) - </line_editor> + <line_editor name="role_title"/> <text name="static2"> Descrição </text> - <text_editor name="role_description"> - (esperando) - </text_editor> + <text_editor name="role_description"/> <text name="static4"> Cargos desempenhados </text> @@ -88,9 +85,6 @@ Há uma grande variedade de habilidades. <scroll_list name="role_allowed_actions" tool_tip="Clique na guia Funções para ver mais detalhes"/> </panel> <panel name="actions_footer"> - <text name="static"> - Descrição da função - </text> <text_editor name="action_description"> Essa habilidade permite tirar alguem do grupo. Somente o dono do grupo poderá retirar outro dono do grupo. </text_editor> diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml index 43c970841a8522813b0f2bc906faaf125a3ea83b..5be07f4d1f9abe710b2fcffa3234470a92f59b35 100644 --- a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml @@ -11,8 +11,8 @@ <check_box label="Ativado" name="enable_media"/> <slider label="Bate-papo de voz" name="Voice Volume"/> <check_box label="Ativado" name="enable_voice_check"/> - <check_box label="Autorizar auto-play de mÃdias" name="media_auto_play_btn" tool_tip="Marque esta opção para auto-executar mÃdias, se elas quiserem"/> - <check_box label="Tocar mÃdia anexada em outros avatares" name="media_show_on_others_btn" tool_tip="Desmarque esta opção para ocultar mÃdias anexadas em avatares por perto"/> + <check_box label="Autorizar auto-play de mÃdias" name="media_auto_play_btn" tool_tip="Marque esta opção para auto-executar mÃdias, se elas quiserem" value="true"/> + <check_box label="Tocar mÃdia anexada em outros avatares" name="media_show_on_others_btn" tool_tip="Desmarque esta opção para ocultar mÃdias anexadas em avatares por perto" value="true"/> <text name="voice_chat_settings"> Configuração de bate-papo de voz </text> @@ -28,6 +28,12 @@ <panel.string name="default_text"> Padrão </panel.string> + <panel.string name="default system device"> + Dispositivo padrão do sistema + </panel.string> + <panel.string name="no device"> + Nenhum + </panel.string> <text name="Input"> Entrada </text> diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml index ba83fee7ba3267d43e08c6694dd6f3ad8dbc2e9d..b77064a1ff9784ebfb9f9681c2a6b8ce25ee2b4a 100644 --- a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel name="Teleport History"> <accordion name="history_accordion"> + <no_matched_tabs_text name="no_matched_teleports_msg" value="Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/groups/[SEARCH_TERM] Busca]."/> + <no_visible_tabs_text name="no_teleports_msg" value="Histórico de teletransportes vazio. Tente fazer uma [secondlife:///app/search/groups Busca]."/> <accordion_tab name="today" title="Hoje"/> <accordion_tab name="yesterday" title="Ontem"/> <accordion_tab name="2_days_ago" title="2 dias atrás"/> - 5 <accordion_tab name="3_days_ago" title="3 dias atrás"/> <accordion_tab name="4_days_ago" title="4 dias atrás"/> <accordion_tab name="5_days_ago" title="5 dias atrás"/> diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml index d2050f46600c7e2f45ab7cd322a0c2f9e799b526..5af3a73d3d3061a521c31d57c51532b7d38bbf2f 100644 --- a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml @@ -23,8 +23,7 @@ </panel.string> <text name="title" value="Perfil do item"/> <text name="origin" value="(Inventário)"/> - <panel label="" - name="item_profile"> + <panel label="" name="item_profile"> <text name="LabelItemNameTitle"> Nome: </text> diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index f0a4a4e2a6e5975aeaa773603c0950f2b3f8ccec..4bf2bda248f2c39bbcc2b99630a18f31bfac22b8 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -645,6 +645,9 @@ <string name="worldmap_offline"> Offline </string> + <string name="worldmap_item_tooltip_format"> + L$[PRICE] por [AREA] m² + </string> <string name="worldmap_results_none_found"> Nenhum encontrado. </string> @@ -1034,6 +1037,7 @@ <string name="AnimFlagStop" value="Parar animação"/> <string name="AnimFlagStart" value="Iniciar animação"/> <string name="Wave" value="Acenar"/> + <string name="GestureActionNone" value="Nenhum"/> <string name="HelloAvatar" value="Olá, avatar!"/> <string name="ViewAllGestures" value="Ver todos>>"/> <string name="GetMoreGestures" value="Mais >>"/> @@ -1116,12 +1120,12 @@ <string name="InvFolder Favorite"> Favoritos </string> - <string name="InvFolder favorite"> - Favoritos - </string> <string name="InvFolder Current Outfit"> Look atual </string> + <string name="InvFolder Initial Outfits"> + Looks iniciais + </string> <string name="InvFolder My Outfits"> Meus looks </string> @@ -1441,6 +1445,7 @@ <string name="SummaryForTheWeek" value="Resumo para esta semana, com inÃcio em"/> <string name="NextStipendDay" value="Próximo dia de salário é"/> <string name="GroupIndividualShare" value="Grupo Divisão individualI"/> + <string name="GroupColumn" value="Grupo"/> <string name="Balance"> Balanço </string> @@ -1654,6 +1659,12 @@ <string name="BusyModeResponseDefault"> O residente para o qual escreveu está no modo 'ocupado', ou seja, ele prefere não receber nada no momento. Sua mensagem será exibida como uma MI mais tarde. </string> + <string name="NoOutfits"> + Você ainda não tem nenhum look. Tente encontrar um na [secondlife:///app/search/groups Busca]. + </string> + <string name="NoOutfitsTabsMatched"> + Não encontrou o que procura? Tente fazer uma [secondlife:///app/search/people/[SEARCH_TERM] Busca]. + </string> <string name="MuteByName"> (por nome) </string> @@ -3573,6 +3584,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. <string name="group_role_owners"> Proprietários </string> + <string name="group_member_status_online"> + Conectado + </string> <string name="uploading_abuse_report"> Carregando... @@ -3626,9 +3640,15 @@ Denunciar abuso <string name="Invalid Wearable"> Item inválido </string> + <string name="New Gesture"> + Novo gesto + </string> <string name="New Script"> Novo script </string> + <string name="New Note"> + Nova nota + </string> <string name="New Folder"> Nova pasta </string> @@ -3686,6 +3706,15 @@ Denunciar abuso <string name="Male - Wow"> Wow - masculino </string> + <string name="Female - Chuckle"> + Engraçado - Feminino + </string> + <string name="Female - Cry"> + Chorar - Feminino + </string> + <string name="Female - Embarrassed"> + Com vergonha - Feminino + </string> <string name="Female - Excuse me"> Perdão - fem </string> @@ -3704,9 +3733,21 @@ Denunciar abuso <string name="Female - Hey"> Ôpa - feminino </string> + <string name="Female - Hey baby"> + E aÃ, beliza? - Feminino + </string> <string name="Female - Laugh"> Risada - feminina </string> + <string name="Female - Looking good"> + Que chique - Feminino + </string> + <string name="Female - Over here"> + Acenar - Feminino + </string> + <string name="Female - Please"> + Por favor - Feminino + </string> <string name="Female - Repulsed"> Quero distância! - feminino </string> @@ -3756,4 +3797,46 @@ Denunciar abuso <string name="dateTimePM"> PM </string> + <string name="LocalEstimateUSD"> + US$ [AMOUNT] + </string> + <string name="Membership"> + Plano + </string> + <string name="Roles"> + Cargos + </string> + <string name="Group Identity"> + Identidade do lote + </string> + <string name="Parcel Management"> + Gestão do lote + </string> + <string name="Parcel Identity"> + ID do lote + </string> + <string name="Parcel Settings"> + Configurações do lote + </string> + <string name="Parcel Powers"> + Poderes do lote + </string> + <string name="Parcel Access"> + Acesso ao lote + </string> + <string name="Parcel Content"> + Conteúdo do lote + </string> + <string name="Object Management"> + Gestão de objetos + </string> + <string name="Accounting"> + Contabilidade + </string> + <string name="Notices"> + Avisos + </string> + <string name="Chat"> + Bate-papo + </string> </strings>