diff options
Diffstat (limited to 'indra')
60 files changed, 531 insertions, 151 deletions
| diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 7bc9e97eb1..ab48ff4a43 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 a7ef28b431..04583cdd4a 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 2693c0e22b..faf7aa51f1 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 0fc5ca1ad6..1566389e30 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 672fcf33b7..29ead762d7 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 ea57d36c06..b1f5b3be2f 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 5416f01033..54b8f3a8a4 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 ccd5fa5f4e..d535250970 100644 --- a/indra/newview/llinventoryobserver.h +++ b/indra/newview/llinventoryobserver.h @@ -295,18 +295,14 @@ public:  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 74bb972eb0..8b88a848cf 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 f4f8241b99..1feb987682 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 63bcdcda2d..65a40a5b3a 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 bae2ceff72..c31c38b04a 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -141,6 +141,7 @@ private:  		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 004d138221..82fef1d916 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 a9e7ef771c..8254cf1cad 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -99,9 +99,8 @@ public:  	~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 @@ public:  	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 @@ private:  	// 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 fa8a788605..3e46f69af1 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 3e357007ff..d54f548fe1 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 c523185034..c8a06fe401 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 c3adbb7904..8af2e1eaca 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 95ee374e39..3576462cca 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 185e458a85..0499873fb0 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 1ade4ba300..f172994077 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 4fa91b87ef..e7c7385fc8 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 0047a3bb04..f5dab91924 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 117ae16ee8..bd272e1f28 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 6338fa0cd0..cd0e41e496 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 5cb42a0435..6cfc2b5c66 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 5fc1397763..bcf2cc8ec9 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 e1eeaa8601..0bd2e0bdab 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 bd29bd676c..60507f191d 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 66bfd01a2a..d19a477007 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 c9676c898b..b82d8bcd18 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 3c56fa68e7..85429a18c7 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 bfd7a869c5..1586c201da 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 0350ea5116..77c6f4877c 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 7aadaed209..6cab902ab6 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 cc9d42b3cb..9c4006b4e6 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 a6bd4ffbaf..8da17a4034 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 82cf789a6b..312b8e21aa 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 f0dd035b5d..6290b79211 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 44b8211bdb..474bdca55f 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 8dd945830e..2e2f0dc7b0 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 1769ef748d..478b35e628 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 9f8a13fedc..2ddb226020 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 85f8f87e68..f4fa59babe 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 627aeb5cb5..6f650ea55d 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 69c84be22c..fb479b4653 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 72382417d9..a6023f9b56 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 dc4663705f..53501d5dcb 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 debc451a33..681b38e9cf 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 a01bee94a1..80bdbb0fb4 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 77d0c787e7..490a975e80 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 f25e77574d..e1de6ffea7 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 d5e0808000..33fccbedcc 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 2a1b5f995a..a6645d8b13 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 9ccb85cdf6..21136d06fb 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 9c3792ec43..c861e29624 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 43c970841a..5be07f4d1f 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 ba83fee7ba..b77064a1ff 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 d2050f4660..5af3a73d3d 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 f0a4a4e2a6..4bf2bda248 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> | 
