diff options
author | Roxie Linden <roxie@lindenlab.com> | 2010-05-11 03:22:35 -0700 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2010-05-11 03:22:35 -0700 |
commit | ea7f8da6451c61f15ba455262b7ec97de5b20d35 (patch) | |
tree | 2c970ead9fb8321dbdb114fff31f34b223ce3699 /indra/newview | |
parent | 2fd59393fc3420c37937731b08b5ee9e5f2f2ab6 (diff) | |
parent | 24f54d1dff50fa7d01202f224e4b6aadcaf46887 (diff) |
Automated merge
Diffstat (limited to 'indra/newview')
32 files changed, 335 insertions, 281 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index db1a34e44a..097bb9294f 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1495,6 +1495,8 @@ void LLAgent::propagate(const F32 dt) floater_move->mBackwardButton ->setToggleState( gAgentCamera.getAtKey() < 0 || gAgentCamera.getWalkKey() < 0 ); floater_move->mTurnLeftButton ->setToggleState( gAgentCamera.getYawKey() > 0.f ); floater_move->mTurnRightButton ->setToggleState( gAgentCamera.getYawKey() < 0.f ); + floater_move->mSlideLeftButton ->setToggleState( gAgentCamera.getLeftKey() > 0.f ); + floater_move->mSlideRightButton ->setToggleState( gAgentCamera.getLeftKey() < 0.f ); floater_move->mMoveUpButton ->setToggleState( gAgentCamera.getUpKey() > 0 ); floater_move->mMoveDownButton ->setToggleState( gAgentCamera.getUpKey() < 0 ); } diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp index 2f22512aba..afca9daa67 100644 --- a/indra/newview/llmoveview.cpp +++ b/indra/newview/llmoveview.cpp @@ -91,12 +91,20 @@ BOOL LLFloaterMove::postBuild() LLDockableFloater::postBuild(); + // Code that implements floater buttons toggling when user moves via keyboard is located in LLAgent::propagate() + mForwardButton = getChild<LLJoystickAgentTurn>("forward btn"); mForwardButton->setHeldDownDelay(MOVE_BUTTON_DELAY); mBackwardButton = getChild<LLJoystickAgentTurn>("backward btn"); mBackwardButton->setHeldDownDelay(MOVE_BUTTON_DELAY); + mSlideLeftButton = getChild<LLJoystickAgentSlide>("move left btn"); + mSlideLeftButton->setHeldDownDelay(MOVE_BUTTON_DELAY); + + mSlideRightButton = getChild<LLJoystickAgentSlide>("move right btn"); + mSlideRightButton->setHeldDownDelay(MOVE_BUTTON_DELAY); + mTurnLeftButton = getChild<LLButton>("turn left btn"); mTurnLeftButton->setHeldDownDelay(MOVE_BUTTON_DELAY); mTurnLeftButton->setHeldDownCallback(boost::bind(&LLFloaterMove::turnLeft, this)); @@ -125,8 +133,6 @@ BOOL LLFloaterMove::postBuild() btn = getChild<LLButton>("mode_fly_btn"); btn->setCommitCallback(boost::bind(&LLFloaterMove::onFlyButtonClick, this)); - showFlyControls(false); - initModeTooltips(); initModeButtonMap(); @@ -345,33 +351,38 @@ void LLFloaterMove::setMovementMode(const EMovementMode mode) void LLFloaterMove::updateButtonsWithMovementMode(const EMovementMode newMode) { - showFlyControls(MM_FLY == newMode); setModeTooltip(newMode); setModeButtonToggleState(newMode); setModeTitle(newMode); } -void LLFloaterMove::showFlyControls(bool bShow) -{ - mMoveUpButton->setVisible(bShow); - mMoveDownButton->setVisible(bShow); -} - void LLFloaterMove::initModeTooltips() { control_tooltip_map_t walkTipMap; walkTipMap.insert(std::make_pair(mForwardButton, getString("walk_forward_tooltip"))); walkTipMap.insert(std::make_pair(mBackwardButton, getString("walk_back_tooltip"))); + walkTipMap.insert(std::make_pair(mSlideLeftButton, getString("walk_left_tooltip"))); + walkTipMap.insert(std::make_pair(mSlideRightButton, getString("walk_right_tooltip"))); + walkTipMap.insert(std::make_pair(mMoveUpButton, getString("jump_tooltip"))); + walkTipMap.insert(std::make_pair(mMoveDownButton, getString("crouch_tooltip"))); mModeControlTooltipsMap[MM_WALK] = walkTipMap; control_tooltip_map_t runTipMap; runTipMap.insert(std::make_pair(mForwardButton, getString("run_forward_tooltip"))); runTipMap.insert(std::make_pair(mBackwardButton, getString("run_back_tooltip"))); + runTipMap.insert(std::make_pair(mSlideLeftButton, getString("run_left_tooltip"))); + runTipMap.insert(std::make_pair(mSlideRightButton, getString("run_right_tooltip"))); + runTipMap.insert(std::make_pair(mMoveUpButton, getString("jump_tooltip"))); + runTipMap.insert(std::make_pair(mMoveDownButton, getString("crouch_tooltip"))); mModeControlTooltipsMap[MM_RUN] = runTipMap; control_tooltip_map_t flyTipMap; flyTipMap.insert(std::make_pair(mForwardButton, getString("fly_forward_tooltip"))); flyTipMap.insert(std::make_pair(mBackwardButton, getString("fly_back_tooltip"))); + flyTipMap.insert(std::make_pair(mSlideLeftButton, getString("fly_left_tooltip"))); + flyTipMap.insert(std::make_pair(mSlideRightButton, getString("fly_right_tooltip"))); + flyTipMap.insert(std::make_pair(mMoveUpButton, getString("fly_up_tooltip"))); + flyTipMap.insert(std::make_pair(mMoveDownButton, getString("fly_down_tooltip"))); mModeControlTooltipsMap[MM_FLY] = flyTipMap; setModeTooltip(MM_WALK); diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h index dcca8308d9..fcf643f050 100644 --- a/indra/newview/llmoveview.h +++ b/indra/newview/llmoveview.h @@ -88,7 +88,6 @@ private: void onFlyButtonClick(); void initMovementMode(); void setMovementMode(const EMovementMode mode); - void showFlyControls(bool bShow); void initModeTooltips(); void setModeTooltip(const EMovementMode mode); void setModeTitle(const EMovementMode mode); @@ -102,6 +101,8 @@ public: LLJoystickAgentTurn* mForwardButton; LLJoystickAgentTurn* mBackwardButton; + LLJoystickAgentSlide* mSlideLeftButton; + LLJoystickAgentSlide* mSlideRightButton; LLButton* mTurnLeftButton; LLButton* mTurnRightButton; LLButton* mMoveUpButton; diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 0c24e6ad22..a77ba0c69c 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -145,8 +145,6 @@ BOOL LLPanelGroupRoles::postBuild() llwarns << "Invalid subtab panel: " << panel->getName() << llendl; return FALSE; } - // Add click callbacks to all the tabs. - mSubTabContainer->setCommitCallback(boost::bind(&LLPanelGroupRoles::handleClickSubTab, this)); // Hand the subtab a pointer to this LLPanelGroupRoles, so that it can // look around for the widgets it is interested in. @@ -155,6 +153,8 @@ BOOL LLPanelGroupRoles::postBuild() //subtabp->addObserver(this); } + // Add click callbacks to all the tabs. + mSubTabContainer->setCommitCallback(boost::bind(&LLPanelGroupRoles::handleClickSubTab, this)); // Set the current tab to whatever is currently being shown. mCurrentTab = (LLPanelGroupTab*) mSubTabContainer->getCurrentPanel(); diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index df79725474..9ad2322765 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -401,7 +401,8 @@ bool LLTextureCacheRemoteWorker::doRead() // Second state / stage : identify the cache or not... if (!done && (mState == CACHE)) { - idx = mCache->getHeaderCacheEntry(mID, mImageSize); + LLTextureCache::Entry entry ; + idx = mCache->getHeaderCacheEntry(mID, entry); if (idx < 0) { // The texture is *not* cached. We're done here... @@ -410,6 +411,7 @@ bool LLTextureCacheRemoteWorker::doRead() } else { + mImageSize = entry.mImageSize ; // If the read offset is bigger than the header cache, we read directly from the body // Note that currently, we *never* read with offset from the cache, so the result is *always* HEADER mState = mOffset < TEXTURE_CACHE_ENTRY_SIZE ? HEADER : BODY; @@ -531,13 +533,14 @@ bool LLTextureCacheRemoteWorker::doRead() bool LLTextureCacheRemoteWorker::doWrite() { bool done = false; - S32 idx = -1; + S32 idx = -1; // First state / stage : check that what we're trying to cache is in an OK shape if (mState == INIT) { llassert_always(mOffset == 0); // We currently do not support write offsets llassert_always(mDataSize > 0); // Things will go badly wrong if mDataSize is nul or negative... + llassert_always(mImageSize >= mDataSize); mState = CACHE; } @@ -547,14 +550,19 @@ bool LLTextureCacheRemoteWorker::doWrite() if (!done && (mState == CACHE)) { bool alreadyCached = false; - S32 cur_imagesize = 0; + LLTextureCache::Entry entry ; + // Checks if this image is already in the entry list - idx = mCache->getHeaderCacheEntry(mID, cur_imagesize); - if (idx >= 0 && (cur_imagesize > 0)) + idx = mCache->getHeaderCacheEntry(mID, entry); + if(idx < 0) + { + idx = mCache->setHeaderCacheEntry(mID, entry, mImageSize, mDataSize); // create the new entry. + } + else { - alreadyCached = true; // already there and non empty + alreadyCached = mCache->updateEntry(idx, entry, mImageSize, mDataSize); // update the existing entry. } - idx = mCache->setHeaderCacheEntry(mID, mImageSize); // create or touch the entry + if (idx < 0) { llwarns << "LLTextureCacheWorker: " << mID @@ -564,10 +572,6 @@ bool LLTextureCacheRemoteWorker::doWrite() } else { - if (cur_imagesize > 0 && (mImageSize != cur_imagesize)) - { - alreadyCached = false; // re-write the header if the size changed in all cases - } if (alreadyCached && (mDataSize <= TEXTURE_CACHE_ENTRY_SIZE)) { // Small texture already cached case: we're done with writing @@ -630,7 +634,7 @@ bool LLTextureCacheRemoteWorker::doWrite() { llassert(mDataSize > TEXTURE_CACHE_ENTRY_SIZE); // wouldn't make sense to be here otherwise... S32 file_size = mDataSize - TEXTURE_CACHE_ENTRY_SIZE; - if ((file_size > 0) && mCache->updateTextureEntryList(mID, file_size)) + { // build the cache file name from the UUID std::string filename = mCache->getTextureFileName(mID); @@ -648,10 +652,7 @@ bool LLTextureCacheRemoteWorker::doWrite() done = true; } } - else - { - mDataSize = 0; // no data written - } + // Nothing else to do at that point... done = true; } @@ -825,53 +826,6 @@ std::string LLTextureCache::getTextureFileName(const LLUUID& id) return filename; } -bool LLTextureCache::updateTextureEntryList(const LLUUID& id, S32 bodysize) -{ - bool res = false; - bool purge = false; - { - LLMutexLock lock(&mHeaderMutex); - size_map_t::iterator iter1 = mTexturesSizeMap.find(id); - if (iter1 == mTexturesSizeMap.end() || iter1->second < bodysize) - { - llassert_always(bodysize > 0); - - S32 oldbodysize = 0; - if (iter1 != mTexturesSizeMap.end()) - { - oldbodysize = iter1->second; - } - - Entry entry; - S32 idx = openAndReadEntry(id, entry, false); - if (idx < 0) - { - llwarns << "Failed to open entry: " << id << llendl; - removeCachedTexture(id) ; - return false; - } - else if (oldbodysize != entry.mBodySize) - { - // only happens to 64 bits systems, do not know why. - llwarns << "Entry mismatch in mTextureSizeMap / mHeaderIDMap" - << " idx=" << idx << " oldsize=" << oldbodysize << " entrysize=" << entry.mBodySize << llendl; - } - updateEntry(idx, entry, entry.mImageSize, bodysize); - - if (mTexturesSizeTotal > sCacheMaxTexturesSize) - { - purge = true; - } - res = true; - } - } - if (purge) - { - mDoPurge = TRUE; - } - return res; -} - //debug BOOL LLTextureCache::isInCache(const LLUUID& id) { @@ -1207,55 +1161,64 @@ void LLTextureCache::updateEntryTimeStamp(S32 idx, Entry& entry) { if (!mReadOnly) { - llassert_always(entry.mImageSize > entry.mBodySize); - entry.mTime = time(NULL); mUpdatedEntryMap[idx] = entry ; } } } -//mHeaderMutex is locked before calling this. //update an existing entry, write to header file immediately. -void LLTextureCache::updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_body_size) +bool LLTextureCache::updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_data_size) { - llassert_always(new_image_size > -1) ; - + S32 new_body_size = llmax(0, new_data_size - TEXTURE_CACHE_ENTRY_SIZE) ; + if(new_image_size == entry.mImageSize && new_body_size == entry.mBodySize) { - updateEntryTimeStamp(idx, entry) ; //nothing changed. + return true ; //nothing changed. } - else if (idx >= 0) + else { - if (!mReadOnly) - { - llassert_always(new_image_size > new_body_size) ; + bool purge = false ; - bool update_header = false ; - if(entry.mImageSize < 0) //is a brand-new entry - { - mHeaderIDMap[entry.mID] = idx; - mTexturesSizeMap[entry.mID] = new_body_size ; - mTexturesSizeTotal += new_body_size ; - - // Update Header - update_header = true ; - } - else if (entry.mBodySize != new_body_size) - { - //already in mHeaderIDMap. - mTexturesSizeMap[entry.mID] = new_body_size ; - mTexturesSizeTotal -= entry.mBodySize ; - mTexturesSizeTotal += new_body_size ; - } - entry.mTime = time(NULL); - entry.mImageSize = new_image_size ; - entry.mBodySize = new_body_size ; + lockHeaders() ; + + bool update_header = false ; + if(entry.mImageSize < 0) //is a brand-new entry + { + mHeaderIDMap[entry.mID] = idx; + mTexturesSizeMap[entry.mID] = new_body_size ; + mTexturesSizeTotal += new_body_size ; -// llinfos << "Updating TE: " << idx << ": " << id << " Size: " << entry.mBodySize << " Time: " << entry.mTime << llendl; - writeEntryToHeaderImmediately(idx, entry, update_header) ; + // Update Header + update_header = true ; + } + else if (entry.mBodySize != new_body_size) + { + //already in mHeaderIDMap. + mTexturesSizeMap[entry.mID] = new_body_size ; + mTexturesSizeTotal -= entry.mBodySize ; + mTexturesSizeTotal += new_body_size ; + } + entry.mTime = time(NULL); + entry.mImageSize = new_image_size ; + entry.mBodySize = new_body_size ; + + writeEntryToHeaderImmediately(idx, entry, update_header) ; + + if (mTexturesSizeTotal > sCacheMaxTexturesSize) + { + purge = true; + } + + unlockHeaders() ; + + if (purge) + { + mDoPurge = TRUE; } } + + return false ; } U32 LLTextureCache::openAndReadEntries(std::vector<Entry>& entries) @@ -1658,39 +1621,37 @@ LLTextureCacheWorker* LLTextureCache::getWriter(handle_t handle) // Called from work thread // Reads imagesize from the header, updates timestamp -S32 LLTextureCache::getHeaderCacheEntry(const LLUUID& id, S32& imagesize) +S32 LLTextureCache::getHeaderCacheEntry(const LLUUID& id, Entry& entry) { - LLMutexLock lock(&mHeaderMutex); - Entry entry; + LLMutexLock lock(&mHeaderMutex); S32 idx = openAndReadEntry(id, entry, false); if (idx >= 0) - { - imagesize = entry.mImageSize; + { updateEntryTimeStamp(idx, entry); // updates time } return idx; } // Writes imagesize to the header, updates timestamp -S32 LLTextureCache::setHeaderCacheEntry(const LLUUID& id, S32 imagesize) +S32 LLTextureCache::setHeaderCacheEntry(const LLUUID& id, Entry& entry, S32 imagesize, S32 datasize) { mHeaderMutex.lock(); - llassert_always(imagesize >= 0); - Entry entry; S32 idx = openAndReadEntry(id, entry, true); + mHeaderMutex.unlock(); + if (idx >= 0) { - updateEntry(idx, entry, imagesize, entry.mBodySize); - mHeaderMutex.unlock(); + updateEntry(idx, entry, imagesize, datasize); } else // retry { - mHeaderMutex.unlock(); readHeaderCache(); // We couldn't write an entry, so refresh the LRU + mHeaderMutex.lock(); llassert_always(!mLRU.empty() || mHeaderEntriesInfo.mEntries < sCacheMaxEntries); mHeaderMutex.unlock(); - idx = setHeaderCacheEntry(id, imagesize); // assert above ensures no inf. recursion + + idx = setHeaderCacheEntry(id, entry, imagesize, datasize); // assert above ensures no inf. recursion } return idx; } diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index 5dc06ff401..0fceee3011 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -144,7 +144,6 @@ public: protected: // Accessed by LLTextureCacheWorker - bool updateTextureEntryList(const LLUUID& id, S32 size); std::string getLocalFileName(const LLUUID& id); std::string getTextureFileName(const LLUUID& id); void addCompleted(Responder* responder, bool success); @@ -162,7 +161,7 @@ private: void readEntriesHeader(); void writeEntriesHeader(); S32 openAndReadEntry(const LLUUID& id, Entry& entry, bool create); - void updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_body_size); + bool updateEntry(S32 idx, Entry& entry, S32 new_image_size, S32 new_body_size); void updateEntryTimeStamp(S32 idx, Entry& entry) ; U32 openAndReadEntries(std::vector<Entry>& entries); void writeEntriesAndClose(const std::vector<Entry>& entries); @@ -170,8 +169,8 @@ private: void writeEntryToHeaderImmediately(S32 idx, Entry& entry, bool write_header = false) ; void removeEntry(S32 idx, Entry& entry, std::string& filename); void removeCachedTexture(const LLUUID& id) ; - S32 getHeaderCacheEntry(const LLUUID& id, S32& imagesize); - S32 setHeaderCacheEntry(const LLUUID& id, S32 imagesize); + S32 getHeaderCacheEntry(const LLUUID& id, Entry& entry); + S32 setHeaderCacheEntry(const LLUUID& id, Entry& entry, S32 imagesize, S32 datasize); void writeUpdatedEntries() ; void updatedHeaderEntriesFile() ; void lockHeaders() { mHeaderMutex.lock(); } diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png Binary files differnew file mode 100644 index 0000000000..ded370a46f --- /dev/null +++ b/indra/newview/skins/default/textures/bottomtray/Movement_Left_Off.png diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png Binary files differnew file mode 100644 index 0000000000..98bf415f84 --- /dev/null +++ b/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png b/indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png Binary files differnew file mode 100644 index 0000000000..2d8d55fa91 --- /dev/null +++ b/indra/newview/skins/default/textures/bottomtray/Movement_Right_Off.png diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png Binary files differnew file mode 100644 index 0000000000..a91517d31f --- /dev/null +++ b/indra/newview/skins/default/textures/bottomtray/Movement_Right_On.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index bbb82d86b1..15bac6de0d 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -241,6 +241,10 @@ with the same filename but different name <texture name="Movement_Down_On" file_name="bottomtray/Movement_Down_On.png" preload="false" /> <texture name="Movement_Forward_Off" file_name="bottomtray/Movement_Forward_Off.png" preload="false" /> <texture name="Movement_Forward_On" file_name="bottomtray/Movement_Forward_On.png" preload="false" /> + <texture name="Movement_Left_Off" file_name="bottomtray/Movement_Left_Off.png" preload="false" /> + <texture name="Movement_Left_On" file_name="bottomtray/Movement_Left_On.png" preload="false" /> + <texture name="Movement_Right_Off" file_name="bottomtray/Movement_Right_Off.png" preload="false" /> + <texture name="Movement_Right_On" file_name="bottomtray/Movement_Right_On.png" preload="false" /> <texture name="Movement_TurnLeft_Off" file_name="bottomtray/Movement_TurnLeft_Off.png" preload="false" /> <texture name="Movement_TurnLeft_On" file_name="bottomtray/Movement_TurnLeft_On.png" preload="false" /> <texture name="Movement_TurnRight_Off" file_name="bottomtray/Movement_TurnRight_Off.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/da/menu_login.xml b/indra/newview/skins/default/xui/da/menu_login.xml index 1408702a1c..36e82e8bc4 100644 --- a/indra/newview/skins/default/xui/da/menu_login.xml +++ b/indra/newview/skins/default/xui/da/menu_login.xml @@ -6,6 +6,7 @@ </menu> <menu label="Hjælp" name="Help"> <menu_item_call label="[SECOND_LIFE] hjælp" name="Second Life Help"/> + <menu_item_call label="Om [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Vis debug menu" name="Show Debug Menu"/> <menu label="Debug" name="Debug"> diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml index 8e2c57764b..a685094190 100644 --- a/indra/newview/skins/default/xui/en/floater_moveview.xml +++ b/indra/newview/skins/default/xui/en/floater_moveview.xml @@ -13,7 +13,7 @@ save_rect="true" save_visibility="true" save_dock_state="true" - width="115"> + width="113"> <string name="walk_forward_tooltip"> Walk Forward (press Up Arrow or W) @@ -23,6 +23,14 @@ Walk Backwards (press Down Arrow or S) </string> <string + name="walk_left_tooltip"> + Walk left (press Shift + Left Arrow or A) + </string> + <string + name="walk_right_tooltip"> + Walk right (press Shift + Right Arrow or D) + </string> + <string name="run_forward_tooltip"> Run Forward (press Up Arrow or W) </string> @@ -31,6 +39,14 @@ Run Backwards (press Down Arrow or S) </string> <string + name="run_left_tooltip"> + Run left (press Shift + Left Arrow or A) + </string> + <string + name="run_right_tooltip"> + Run right (press Shift + Right Arrow or D) + </string> + <string name="fly_forward_tooltip"> Fly Forward (press Up Arrow or W) </string> @@ -39,6 +55,30 @@ Fly Backwards (press Down Arrow or S) </string> <string + name="fly_left_tooltip"> + Fly left (press Shift + Left Arrow or A) + </string> + <string + name="fly_right_tooltip"> + Fly right (press Shift + Right Arrow or D) + </string> + <string + name="fly_up_tooltip"> + Fly up (press E) + </string> + <string + name="fly_down_tooltip"> + Fly down (press C) + </string> + <string + name="jump_tooltip"> + Jump (press E) + </string> + <string + name="crouch_tooltip"> + Crouch (press C) + </string> + <string name="walk_title"> Walk </string> @@ -59,59 +99,91 @@ mouse_opaque="false" name="panel_actions" top="0" - width="115"> + width="113"> + <!-- Buttons in panel are organized in 3 columns to enable their easy vertical adjustment via top_pad--> + <!-- Left column --> <button follows="left|bottom" - height="25" + height="24" + image_selected="Movement_Up_On" + image_pressed_selected="Movement_Up_On" + image_unselected="Movement_Up_Off" + layout="topleft" + left="23" + name="move up btn" + scale_image="false" + tool_tip="Fly up (press E)" + top="18" + width="24" /> + <button + follows="left|bottom" + height="24" image_selected="Movement_TurnLeft_On" image_pressed_selected="Movement_TurnLeft_On" image_unselected="Movement_TurnLeft_Off" layout="topleft" - left="17" + left="15" name="turn left btn" scale_image="false" tool_tip="Turn left (press Left Arrow or A)" - top="45" - width="25" /> - <button - follows="left|bottom" - height="25" - image_selected="Movement_TurnRight_On" - image_pressed_selected="Movement_TurnRight_On" - image_unselected="Movement_TurnRight_Off" - layout="topleft" - left_pad="34" - name="turn right btn" - scale_image="false" - tool_tip="Turn right (press Right Arrow or D)" - top_delta="0" - width="25" /> - <button + top_pad="-3" + width="24" /> + <joystick_slide follows="left|bottom" - height="25" - image_selected="Movement_Up_On" - image_pressed_selected="Movement_Up_On" - image_unselected="Movement_Up_Off" + height="24" + image_selected="Movement_Left_On" + image_pressed_selected="Movement_Left_On" + image_unselected="Movement_Left_Off" layout="topleft" - left="10" - name="move up btn" + left="18" + name="move left btn" + quadrant="left" scale_image="false" - tool_tip="Fly up, press E" - top="14" - width="25" /> + tool_tip="Walk left (press Shift + Left Arrow or A)" + top_pad="-3" + width="24" /> + <!-- Right column --> <button follows="left|bottom" - height="25" + height="24" image_selected="Movement_Down_On" image_pressed_selected="Movement_Down_On" image_unselected="Movement_Down_Off" layout="topleft" - left_pad="45" + right="-21" name="move down btn" scale_image="false" - tool_tip="Fly down, press C" - top_delta="0" - width="20" /> + tool_tip="Fly down (press C)" + top="18" + width="24" /> + <button + follows="left|bottom" + height="24" + image_selected="Movement_TurnRight_On" + image_pressed_selected="Movement_TurnRight_On" + image_unselected="Movement_TurnRight_Off" + layout="topleft" + right="-13" + name="turn right btn" + scale_image="false" + tool_tip="Turn left (press Right Arrow or D)" + top_pad="-3" + width="24" /> + <joystick_slide + follows="left|bottom" + height="24" + image_selected="Movement_Right_On" + image_pressed_selected="Movement_Right_On" + image_unselected="Movement_Right_Off" + layout="topleft" + name="move right btn" + quadrant="right" + right="-16" + scale_image="false" + tool_tip="Walk right (press Shift + Right Arrow or D)" + top_pad="-3" + width="24" /> + <!-- Middle column --> <joystick_turn follows="left|bottom" height="25" @@ -124,7 +196,7 @@ quadrant="up" scale_image="false" tool_tip="Walk forward (press up arrow or W)" - top_delta="10" + top="22" width="21" /> <joystick_turn follows="left|bottom" @@ -138,7 +210,7 @@ quadrant="down" scale_image="false" tool_tip="Walk backward (press down arrow or S)" - top_delta="30" + top_pad="7" width="21" /> </panel> <!-- Width and height of this panel should be synchronized with panel_stand_stop_flying.xml --> @@ -149,7 +221,7 @@ left="0" name="panel_modes" top_pad="0" - width="115"> + width="113"> <button follows="left|bottom" height="23" diff --git a/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml index b48943c699..3effc9de89 100644 --- a/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml +++ b/indra/newview/skins/default/xui/en/panel_stand_stop_flying.xml @@ -6,7 +6,7 @@ name="panel_stand_stop_flying" mouse_opaque="false" visible="true" - width="115"> + width="113"> <button follows="left|bottom" height="19" @@ -16,7 +16,7 @@ tool_tip="Click here to stand up." top="2" visible="false" - width="115" /> + width="113" /> <button follows="left|bottom" height="19" @@ -26,5 +26,5 @@ tool_tip="Stop flying" top="2" visible="false" - width="115" /> + width="113" /> </panel> diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml index df21ced9ab..101cddc6aa 100644 --- a/indra/newview/skins/default/xui/es/menu_login.xml +++ b/indra/newview/skins/default/xui/es/menu_login.xml @@ -6,6 +6,7 @@ </menu> <menu label="Ayuda" name="Help"> <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Mostrar el menú 'Debug'" name="Show Debug Menu"/> <menu label="Depurar" name="Debug"> diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml index 742cdf44a5..4c3398de87 100644 --- a/indra/newview/skins/default/xui/it/floater_about_land.xml +++ b/indra/newview/skins/default/xui/it/floater_about_land.xml @@ -79,7 +79,7 @@ Vai al menu Mondo > Informazioni sul terreno oppure seleziona un altro appezz Categoria di accesso: </text> <text left="119" name="ContentRatingText"> - Adult + Adulti </text> <text name="Owner:"> Proprietario: @@ -139,10 +139,10 @@ Vai al menu Mondo > Informazioni sul terreno oppure seleziona un altro appezz <button label="Acquista il terreno..." label_selected="Acquista il terreno..." left="130" name="Buy Land..." width="125"/> <button label="Informazioni script" name="Scripts..."/> <button label="Acquista per il gruppo" name="Buy For Group..."/> - <button label="Compra pass..." label_selected="Compra pass..." left="130" name="Buy Pass..." tool_tip="Un pass ti da un accesso temporaneo in questo territorio." width="125"/> + <button label="Compra Pass..." label_selected="Compra Pass..." left="130" name="Buy Pass..." tool_tip="Un pass ti da un accesso temporaneo in questo territorio." width="125"/> <button label="Abbandona la terra" name="Abandon Land..."/> <button label="Reclama la terra" name="Reclaim Land..."/> - <button label="Vendita Linden" name="Linden Sale..." tool_tip="La terra deve essere posseduta, con contenuto impostato, e non già messa in asta."/> + <button label="Vendita Linden" name="Linden Sale..." tool_tip="La terra deve essere di proprietà, con contenuto impostato, e non già messa all'asta."/> </panel> <panel label="REGOLAMENTO" name="land_covenant_panel"> <panel.string name="can_resell"> @@ -193,7 +193,7 @@ o suddivisa. Categoria di accesso: </text> <text left="125" name="region_maturity_text"> - Adult + Adulti </text> <text name="resellable_lbl"> Rivendita: @@ -294,16 +294,16 @@ Solamente terreni più grandi possono essere abilitati nella ricerca. Questa opzione è disabilitata perchè tu non puoi modificare le opzioni di questo terreno. </panel.string> <panel.string name="mature_check_mature"> - Contenuto Mature + Contenuto Moderato </panel.string> <panel.string name="mature_check_adult"> - Contenuto Adult + Contenuto Adulti </panel.string> <panel.string name="mature_check_mature_tooltip"> - Il contenuto o le informazioni del tuo terreno sono considerate Mature. + Il contenuto o le informazioni del tuo terreno sono considerate di tipo Moderato. </panel.string> <panel.string name="mature_check_adult_tooltip"> - Il contenuto o le informazioni del tuo terreno sono considerate Adult. + Il contenuto o le informazioni del tuo terreno sono considerate di tipo per Adulti. </panel.string> <panel.string name="landing_point_none"> (nessuno) @@ -343,10 +343,10 @@ Solamente terreni più grandi possono essere abilitati nella ricerca. <combo_box left="282" name="land category with adult" width="140"> <combo_box.item label="Tutte le categorie" name="item0"/> <combo_box.item label="Luogo dei Linden" name="item1"/> - <combo_box.item label="Adult" name="item2"/> - <combo_box.item label="Arte & Cultura" name="item3"/> + <combo_box.item label="Adulti" name="item2"/> + <combo_box.item label="Arte e cultura" name="item3"/> <combo_box.item label="Affari" name="item4"/> - <combo_box.item label="Educazione" name="item5"/> + <combo_box.item label="Istruzione" name="item5"/> <combo_box.item label="Gioco" name="item6"/> <combo_box.item label="Divertimento" name="item7"/> <combo_box.item label="Accoglienza nuovi residenti" name="item8"/> @@ -369,7 +369,7 @@ Solamente terreni più grandi possono essere abilitati nella ricerca. <combo_box.item label="Shopping" name="item11"/> <combo_box.item label="Altro" name="item12"/> </combo_box> - <check_box label="Contenuto Mature" name="MatureCheck" tool_tip=" "/> + <check_box label="Contenuti di tipo Moderato" name="MatureCheck" tool_tip=" "/> <text name="Snapshot:"> Fotografia: </text> diff --git a/indra/newview/skins/default/xui/it/floater_report_abuse.xml b/indra/newview/skins/default/xui/it/floater_report_abuse.xml index 4827cc739d..eeba54b0ca 100644 --- a/indra/newview/skins/default/xui/it/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/it/floater_report_abuse.xml @@ -67,8 +67,8 @@ <combo_box.item label="Molestie > Abusi verbali" name="Harassment__Verbal_abuse"/> <combo_box.item label="Indecenza > Condotta o contenuti largamente offensivi" name="Indecency__Broadly_offensive_content_or_conduct"/> <combo_box.item label="Indecenza > Nome di un avatar inappropriato" name="Indecency__Inappropriate_avatar_name"/> - <combo_box.item label="Indecenza > Contenuto o condotta inappropriata in una regione PG" name="Indecency__Mature_content_in_PG_region"/> - <combo_box.item label="Indecenza > Contenuto o condotta inappropriata in una regione Mature" name="Indecency__Inappropriate_content_in_Mature_region"/> + <combo_box.item label="Indecenza > Contenuto o condotta inappropriata in una regione con accesso Generale" name="Indecency__Mature_content_in_PG_region"/> + <combo_box.item label="Indecenza > Contenuto o condotta inappropriata in una regione con accesso Moderato" name="Indecency__Inappropriate_content_in_Mature_region"/> <combo_box.item label="Violazione della proprietà intellettuale > Rimozione contenuti" name="Intellectual_property_infringement_Content_Removal"/> <combo_box.item label="Violazione della proprietà intellettuale > CopyBot o sblocco di permessi" name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit"/> <combo_box.item label="Intolleranza" name="Intolerance"/> diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml index dacb257758..25b7e2d184 100644 --- a/indra/newview/skins/default/xui/it/menu_inventory.xml +++ b/indra/newview/skins/default/xui/it/menu_inventory.xml @@ -9,28 +9,28 @@ <menu_item_call label="Elimina" name="Task Remove"/> <menu_item_call label="Svuota il Cestino" name="Empty Trash"/> <menu_item_call label="Svuota gli oggetti persi e ritrovati" name="Empty Lost And Found"/> - <menu_item_call label="Nuova Cartella" name="New Folder"/> - <menu_item_call label="Nuovo Script" name="New Script"/> + <menu_item_call label="Nuova cartella" name="New Folder"/> + <menu_item_call label="Nuovo script" name="New Script"/> <menu_item_call label="Nuovo biglietto" name="New Note"/> - <menu_item_call label="Nuova Gesture" name="New Gesture"/> + <menu_item_call label="Nuova gesture" name="New Gesture"/> <menu label="Maglietta intima" name="New Clothes"> - <menu_item_call label="Nuova Maglietta" name="New Shirt"/> - <menu_item_call label="Nuovi Pantaloni" name="New Pants"/> - <menu_item_call label="Nuove Scarpe" name="New Shoes"/> - <menu_item_call label="Nuove Calze" name="New Socks"/> - <menu_item_call label="Nuova Giacca" name="New Jacket"/> - <menu_item_call label="Nuova Gonna" name="New Skirt"/> - <menu_item_call label="Nuovi Guanti" name="New Gloves"/> - <menu_item_call label="Nuova Canottiera" name="New Undershirt"/> - <menu_item_call label="Nuove Mutande" name="New Underpants"/> + <menu_item_call label="Nuova maglietta" name="New Shirt"/> + <menu_item_call label="Nuovi pantaloni" name="New Pants"/> + <menu_item_call label="Nuove scarpe" name="New Shoes"/> + <menu_item_call label="Nuove calze" name="New Socks"/> + <menu_item_call label="Nuova giacca" name="New Jacket"/> + <menu_item_call label="Nuova gonna" name="New Skirt"/> + <menu_item_call label="Nuovi guanti" name="New Gloves"/> + <menu_item_call label="Nuova canottiera" name="New Undershirt"/> + <menu_item_call label="Nuove mutande" name="New Underpants"/> <menu_item_call label="Nuovo Alfa Mask" name="New Alpha Mask"/> <menu_item_call label="Nuovo tatuaggio" name="New Tattoo"/> </menu> <menu label="Nuove parti del corpo" name="New Body Parts"> - <menu_item_call label="Nuova Forma del corpo" name="New Shape"/> - <menu_item_call label="Nuova Pelle" name="New Skin"/> - <menu_item_call label="Nuovi Capelli" name="New Hair"/> - <menu_item_call label="Nuovi Occhi" name="New Eyes"/> + <menu_item_call label="Nuova forma del corpo" name="New Shape"/> + <menu_item_call label="Nuova pelle" name="New Skin"/> + <menu_item_call label="Nuovi capelli" name="New Hair"/> + <menu_item_call label="Nuovi occhi" name="New Eyes"/> </menu> <menu label="Cambia tipo" name="Change Type"> <menu_item_call label="Predefinito" name="Default"/> diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml index b0edeb3618..904b819198 100644 --- a/indra/newview/skins/default/xui/it/menu_login.xml +++ b/indra/newview/skins/default/xui/it/menu_login.xml @@ -6,6 +6,7 @@ </menu> <menu label="Aiuto" name="Help"> <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/> <menu label="Debug" name="Debug"> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 8556ac7da0..49a1a1a746 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -30,7 +30,7 @@ <menu_item_check label="Mappa del mondo" name="World Map"/> <menu_item_call label="Istantanea" name="Take Snapshot"/> <menu_item_call label="Crea punto di riferimento per questo luogo" name="Create Landmark Here"/> - <menu label="Profilo del posto" name="Land"> + <menu label="Profilo del luogo" name="Land"> <menu_item_call label="Profilo del luogo" name="Place Profile"/> <menu_item_call label="Informazioni sui terreni" name="About Land"/> <menu_item_call label="Regione/proprietà immobiliare" name="Region/Estate"/> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 0ca404d06b..4739e5cce9 100644 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -341,7 +341,7 @@ Non ci sono rimborsi per la tariffa pagata. <notification name="DeleteMedia"> Hai selezionato la cancellazione del media associato a questa faccia. Vuoi continuare? - <usetemplate ignoretext="Conferma prima di eliminare elemnti multimediali dall'oggetto" name="okcancelignore" notext="No" yestext="Sì"/> + <usetemplate ignoretext="Conferma prima di eliminare elementi multimediali dall'oggetto" name="okcancelignore" notext="No" yestext="Sì"/> </notification> <notification name="ClassifiedSave"> Salva le modifiche all'annuncio [NAME]? @@ -625,7 +625,7 @@ Attese [VALIDS] Riprova più tardi. </notification> <notification name="LandmarkCreated"> - Hai aggiunto "[LANDMARK_NAME]" alla tua [FOLDER_NAME] cartella. + Hai aggiunto "[LANDMARK_NAME]" alla tua cartella [FOLDER_NAME]. </notification> <notification name="LandmarkAlreadyExists"> Hai già il punto di riferimento di questo luogo. @@ -1603,11 +1603,11 @@ Pubblica questo annuncio adesso per [AMOUNT]L$? <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/> </notification> <notification name="SetClassifiedMature"> - Queste inserzioni includono contenuto Mature? + Queste inserzioni includono contenuti di tipo Moderato? <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> </notification> <notification name="SetGroupMature"> - Questo gruppo include contenuto Mature? + Questo gruppo include contenuti di tipo Moderato? <usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="No" yestext="Si"/> </notification> <notification label="Conferma il riavvio" name="ConfirmRestart"> @@ -1622,7 +1622,7 @@ Pubblica questo annuncio adesso per [AMOUNT]L$? <button name="Cancel" text="Annulla"/> </form> </notification> - <notification label="Cambiato il contenuto Mature" name="RegionMaturityChange"> + <notification label="Cambiato il contenuto Moderato" name="RegionMaturityChange"> La classificazione di questa regione è stata aggiornata. Un periodo di tempo è necessario prima che la modifica venga integrata nella mappa. @@ -2092,7 +2092,7 @@ Prova a selezionare una parte di terreno più piccola. Alcuni termini della ricerca sono stati esclusi a causa delle restrizioni di contenuto come esposto negli Standard della comunità. </notification> <notification name="NoContentToSearch"> - Seleziona almeno un tipo di contenuto per la ricerca (PG, Mature, o Adult). + Seleziona almeno un tipo di contenuto per la ricerca (Generale, Moderato o Adulti). </notification> <notification name="GroupVote"> [NAME] ha proposto di votare su: diff --git a/indra/newview/skins/default/xui/it/panel_group_general.xml b/indra/newview/skins/default/xui/it/panel_group_general.xml index 08a5153c73..ffcbdca6f7 100644 --- a/indra/newview/skins/default/xui/it/panel_group_general.xml +++ b/indra/newview/skins/default/xui/it/panel_group_general.xml @@ -50,8 +50,8 @@ Muovi il tuo mouse sopra le opzioni per maggiore aiuto. <combo_item name="select_mature"> - Seleziona categoria di accesso - </combo_item> - <combo_box.item label="Contenuto Mature" name="mature"/> - <combo_box.item label="Contenuto PG" name="pg"/> + <combo_box.item label="Contenuti di tipo Moderato" name="mature"/> + <combo_box.item label="Contenuti di tipo Generale" name="pg"/> </combo_box> <check_box initial_value="true" label="Mostra nella ricerca" name="show_in_group_list" tool_tip="Permetti alle persone di vedere questo gruppo nei risultati della ricerca"/> </panel> diff --git a/indra/newview/skins/default/xui/it/panel_landmark_info.xml b/indra/newview/skins/default/xui/it/panel_landmark_info.xml index 4af59605c1..b4c5ab01bc 100644 --- a/indra/newview/skins/default/xui/it/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/it/panel_landmark_info.xml @@ -19,7 +19,7 @@ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local] </string> <button name="back_btn" tool_tip="Indietro"/> - <text name="title" value="Profilo del posto"/> + <text name="title" value="Profilo del luogo"/> <scroll_container name="place_scroll"> <panel name="scrolling_panel"> <text name="maturity_value" value="sconosciuto"/> diff --git a/indra/newview/skins/default/xui/it/panel_place_profile.xml b/indra/newview/skins/default/xui/it/panel_place_profile.xml index 9a38909d47..eace6c89ce 100644 --- a/indra/newview/skins/default/xui/it/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/it/panel_place_profile.xml @@ -5,7 +5,7 @@ <string name="anyone" value="Chiunque"/> <string name="available" value="disponibile"/> <string name="allocated" value="assegnato"/> - <string name="title_place" value="Profilo del posto"/> + <string name="title_place" value="Profilo del luogo"/> <string name="title_teleport_history" value="Cronologia Teleport"/> <string name="not_available" value="(non pert.)"/> <string name="unknown" value="(sconosciuto)"/> diff --git a/indra/newview/skins/default/xui/it/panel_preferences_general.xml b/indra/newview/skins/default/xui/it/panel_preferences_general.xml index 6bf857366b..e8c826609c 100644 --- a/indra/newview/skins/default/xui/it/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/it/panel_preferences_general.xml @@ -20,20 +20,20 @@ (Richiede il riavvio) </text> <text name="maturity_desired_prompt"> - Voglio accedere al contenuto di tipo: + Voglio accedere ai contenuti di tipo: </text> <text name="maturity_desired_textbox"/> <combo_box name="maturity_desired_combobox"> - <combo_box.item label="PG, Mature e Adult" name="Desired_Adult"/> - <combo_box.item label="PG e Mature" name="Desired_Mature"/> - <combo_box.item label="PG" name="Desired_PG"/> + <combo_box.item label="Generale, Moderato e Adulti" name="Desired_Adult"/> + <combo_box.item label="Generale e Moderato" name="Desired_Mature"/> + <combo_box.item label="Generale" name="Desired_PG"/> </combo_box> <text name="start_location_textbox"> Luogo di partenza: </text> <combo_box name="start_location_combo"> - <combo_box.item label="Ultimo posto visitato" name="MyLastLocation" tool_tip="Vai nell'ultimo posto visitato di default quando fai login."/> - <combo_box.item label="Casa mia" name="MyHome" tool_tip="Vai a casa di default quando fai login"/> + <combo_box.item label="Ultimo luogo visitato" name="MyLastLocation" tool_tip="Vai automaticamente all'ultimo luogo visitato quando effettui l'accesso."/> + <combo_box.item label="Casa mia" name="MyHome" tool_tip="Vai automaticamente a casa quando effettui l'accesso"/> </combo_box> <check_box initial_value="true" label="Mostra con il login" name="show_location_checkbox"/> <text name="name_tags_textbox"> diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml index 7d8b346c17..a30fadcaa6 100644 --- a/indra/newview/skins/default/xui/it/panel_region_general.xml +++ b/indra/newview/skins/default/xui/it/panel_region_general.xml @@ -31,9 +31,9 @@ Categoria di accesso: </text> <icons_combo_box label="Mature" left="126" name="access_combo" width="74"> - <icons_combo_box.item label="Adult" name="Adult" value="42"/> - <icons_combo_box.item label="Mature" name="Mature" value="21"/> - <icons_combo_box.item label="PG" name="PG" value="13"/> + <icons_combo_box.item label="Adulti" name="Adult" value="42"/> + <icons_combo_box.item label="Moderato" name="Mature" value="21"/> + <icons_combo_box.item label="Generale" name="PG" value="13"/> </icons_combo_box> <button label="Applica" name="apply_btn"/> <button label="Teleport a casa un residente..." name="kick_btn"/> diff --git a/indra/newview/skins/default/xui/it/panel_region_general_layout.xml b/indra/newview/skins/default/xui/it/panel_region_general_layout.xml index 232cd0c387..4cf31f4b6e 100644 --- a/indra/newview/skins/default/xui/it/panel_region_general_layout.xml +++ b/indra/newview/skins/default/xui/it/panel_region_general_layout.xml @@ -31,7 +31,7 @@ Categoria: </text> <combo_box label="Moderato" name="access_combo"> - <combo_box.item label="Adulto" name="Adult"/> + <combo_box.item label="Adulti" name="Adult"/> <combo_box.item label="Moderato" name="Mature"/> <combo_box.item label="Generale" name="PG"/> </combo_box> diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index a496d4c8d6..9a6c648c8e 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -703,13 +703,13 @@ Controllare la tua fotocamera </string> <string name="SIM_ACCESS_PG"> - PG + Generale </string> <string name="SIM_ACCESS_MATURE"> - Mature + Moderato </string> <string name="SIM_ACCESS_ADULT"> - Adult + Adulti </string> <string name="SIM_ACCESS_DOWN"> Offline diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml index 2673f5c271..ed4937182f 100644 --- a/indra/newview/skins/default/xui/pl/menu_login.xml +++ b/indra/newview/skins/default/xui/pl/menu_login.xml @@ -6,6 +6,7 @@ </menu> <menu label="Pomoc" name="Help"> <menu_item_call label="[SECOND_LIFE]: Pomoc" name="Second Life Help"/> + <menu_item_call label="O [APP_NAME]" name="About Second Life"/> </menu> <menu label="Debug" name="Debug"> <menu label="Edytuj" name="Edit"> diff --git a/indra/newview/skins/default/xui/pt/floater_god_tools.xml b/indra/newview/skins/default/xui/pt/floater_god_tools.xml index 91dc034907..8003a35d16 100644 --- a/indra/newview/skins/default/xui/pt/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/pt/floater_god_tools.xml @@ -2,7 +2,7 @@ <floater name="godtools floater" title="FERRAMENTAS DE DEUS"> <tab_container name="GodTools Tabs"> <panel label="Grade" name="grid"> - <button label="Limpar os cachês de visibilidade do mapa da região." label_selected="Limpar os cachês de visibilidade do mapa da região." name="Flush This Region's Map Visibility Caches"/> + <button label="Limpar os caches de visibilidade do mapa da região." label_selected="Limpar os caches de visibilidade do mapa da região." name="Flush This Region's Map Visibility Caches"/> </panel> <panel label="Região" name="region"> <text name="Region Name:"> @@ -14,7 +14,7 @@ <check_box label="Visível" name="check visible" tool_tip="Ajustar para fazer essa região visível para os não-deuses"/> <check_box label="Dano" name="check damage" tool_tip="Ajustar para permitir dano nesta região"/> <check_box label="Bloquear ratreamento do Tráfego" name="block dwell" tool_tip="Configure isto para fazer a região não computar o tráfego."/> - <check_box label="Bloquear Terraform" name="block terraform" tool_tip="Ajustar para desabilitar as pessoas a terraplanarem seus terrenos"/> + <check_box label="Bloquear terraplenagens" name="block terraform" tool_tip="Ajustar para desabilitar as pessoas a terraplanarem seus terrenos"/> <check_box label="Sandbox" name="is sandbox" tool_tip="Alterar se esta região for uma sandbox."/> <button label="Nivelar o terreno" label_selected="Nivelar o Terreno" name="Bake Terrain" tool_tip="Salva o terreno atual como padrão."/> <button label="Reverter Terreno" label_selected="Reverter Terreno" name="Revert Terrain" tool_tip="Substituir o terreno atual pelo padrão."/> @@ -63,9 +63,9 @@ <button label="Apagar objetos programados do alvo em outras terras" label_selected="Apagar objetos programados do alvo em outras terras" name="Delete Target's Scripted Objects On Others Land" tool_tip="Apagar todos os objetos programados possuídos pelo alvo nas terras fora do domínio do alvo. Objetos (sem cópia) irão retornar."/> <button label="Apagar objetos programados do Alvo em qualquer terreno" label_selected="Apagar objetos programados do Alvo em qualquer terreno" name="Delete Target's Scripted Objects On *Any* Land" tool_tip="Apagar todos os objetos programados do alvo nesta região. Objetos (sem cópia) irão retornar."/> <button label="Apagar *TODOS* os objetos do alvo" label_selected="Apagar *TODOS* os objetos do alvo" name="Delete *ALL* Of Target's Objects" tool_tip="Apagar todos os objetos possuídos pelo alvo nesta região. Objetos (sem cópia) objetos irão retornar."/> - <button label="Pegar os maiores colidentes" label_selected="Pegar os maiores colidentes" name="Get Top Colliders" tool_tip="Pega a lista de objetos que estão experimentando as chamadas mais freqüentes."/> - <button label="Pegar os scripts principais" label_selected="Pegar os scripts principais" name="Get Top Scripts" tool_tip="Pegar a lista de objetos programados com a maior duração em tempo de execução."/> - <button label="Informações de Scripts" label_selected="Informações de Scripts" name="Scripts digest" tool_tip="Pega uma lista de todos os scripts e o número de ocorrências de cada um."/> + <button label="Principais colidentes" label_selected="Lista dos maiores colidentes" name="Get Top Colliders" tool_tip="Gera a lista de objetos que estão experimentando as chamadas mais frequentes."/> + <button label="Principais scripts" label_selected="Lista dos scripts principais" name="Get Top Scripts" tool_tip="Gera a lista de objetos programados com a maior duração em tempo de execução."/> + <button label="Dados dos scripts" label_selected="Dados dos scripts" name="Scripts digest" tool_tip="Gera uma lista de todos os scripts e o número de ocorrências de cada um."/> </panel> <panel label="Requisição" name="request"> <text name="Destination:"> diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml index a7df67a6b5..8ea87a06d1 100644 --- a/indra/newview/skins/default/xui/pt/menu_login.xml +++ b/indra/newview/skins/default/xui/pt/menu_login.xml @@ -6,6 +6,7 @@ </menu> <menu label="Ajuda" name="Help"> <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/> + <menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/> </menu> <menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/> <menu label="Depurar" name="Debug"> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index 039c6b334c..462dcf2b21 100644 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -199,7 +199,7 @@ Convite outros membros dentro de 48 horas. Por favor, selecione um indivíduo para realizar a venda se o valor for 0 L$. </notification> <notification name="ConfirmLandSaleChange"> - [LAND_SIZE] m² selecionados de terra estão sendo configurados para venda. + [LAND_SIZE] m² selecionados de terreno estão sendo configurados para venda. Seu preço de venda será L$[SALE_PRICE] e está autorizado para venda para [NAME]. Gostaria de continuar a fazer essa alteração? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Continuar"/> </notification> @@ -211,24 +211,24 @@ O preço será L$[SALE_PRICE] e [NAME] pode comprar o terreno. <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="ReturnObjectsDeededToGroup"> - Você tem certeza de que quer retornar todos os objetos compartilhados com o grupo '[NAME]' neste lote de terra, para o inventário do seu antigo Proprietário? + Tem certeza de que quer devolver todos os objetos compartilhados com o grupo '[NAME]' neste lote, para o inventário do seu antigo Proprietário? *AVISO* Isso irá deletar os objetos não transferíveis doados ao grupo! Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="ReturnObjectsOwnedByUser"> - Você tem certeza de que deseja retornar todos os objetos do residente '[NAME]' neste lote para o inventário dele? + Você tem certeza de que deseja devolver todos os objetos do residente '[NAME]' neste lote para o inventário dele? Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="ReturnObjectsOwnedBySelf"> Você tem certeza de que deseja retornar todos os objetos de sua propriedade neste lote para seu inventário? Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="ReturnObjectsNotOwnedBySelf"> Você tem certeza de que deseja retornar todos os objetos que NÃO são seus para o inventário de seus proprietários? @@ -237,7 +237,7 @@ Objetos transferíveis doados ao grupo retornarão para seu proprietários. *AVISO* Isso fará com que os objetos não-transferíveis sejam deletados! Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="ReturnObjectsNotOwnedByUser"> Você tem certeza de que deseja retornar todos os objetos deste lote NÃO pertencentes a [NAME] para o inventário do proprietário? @@ -245,11 +245,11 @@ Objetos: [N] *AVISO* Esta ação irá apagar os objetos não transferíveis doados ao grupo! Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="ReturnAllTopObjects"> Você tem certeza de que deseja enviar todos os objetos listados de volta aos inventários de seus proprietários? - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="DisableAllTopObjects"> Você tem certeza que deseja desativar todos os objetos desta região? @@ -259,10 +259,10 @@ Objetos: [N] Retornar os objetos deste lote que NÃO são compartilhados com o grupo [NAME] de volta para seus proprietários? Objetos: [N] - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retornar"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Devolver"/> </notification> <notification name="UnableToDisableOutsideScripts"> - Não é possível desabilitar scripts externos. + Não é possível desativar scripts externos. Toda esta região possui dano habilitado. Scripts devem ser permitidos para fazer as armas funcionarem. </notification> @@ -301,7 +301,7 @@ Para colocar a mídia em só uma face, selecione Selecionar face e clique na fac Você deve concordar com os Termos de Serviço para continuar a entrar no [SECOND_LIFE]. </notification> <notification name="CouldNotPutOnOutfit"> - Não foi possível vestir o conjunto. A pasta do conjunto não contém roupas, partes do corpo ou acessórios. + Não foi possível vestir o look. A pasta do look não contém roupas, partes do corpo ou acessórios. </notification> <notification name="CannotWearTrash"> Não é possível usar roupas ou partes do corpo que estão no lixo. @@ -311,17 +311,17 @@ Para colocar a mídia em só uma face, selecione Selecionar face e clique na fac Ele ultrapassa o limite de anexos, de [MAX_ATTACHMENTS] objetos. Remova um objeto para poder anexar outro. </notification> <notification name="CannotWearInfoNotComplete"> - Você não pode vestir este item porque ele ainda não carregou. Por favor, tente novamente em um minuto. + Você não pode vestir este item porque ele ainda não carregou. Tente novamente em um minuto. </notification> <notification name="MustHaveAccountToLogIn"> Oops! Alguma coisa foi deixada em branco. Você precisa entrar com ambos os Nome e Sobrenome do seu avatar. -Você precisa de uma conta para entrar no [SECOND_LIFE]. Você gostaria de criar uma conta agora? +Você precisa de uma conta para entrar no [SECOND_LIFE]. Você gostaria de abrir uma conta agora? <url name="url"> https://join.secondlife.com/index.php?lang=pt-BR </url> - <usetemplate name="okcancelbuttons" notext="Tentar novamente" yestext="Criar uma nova conta"/> + <usetemplate name="okcancelbuttons" notext="Tentar novamente" yestext="Abrir conta"/> </notification> <notification name="AddClassified"> Os anúncios serão publicados na seção 'Classificados' das buscas e em [http://secondlife.com/community/classifieds secondlife.com] durante uma semana. @@ -350,7 +350,7 @@ Tem certeza de que quer prosseguir? </notification> <notification name="DeleteAvatarPick"> Excluir destaque <nolink>[PICK]</nolink>? - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Delete"/> + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/> </notification> <notification name="PromptGoToEventsPage"> Ir até a página web de enventos [SECOND_LIFE] ? @@ -360,10 +360,10 @@ Tem certeza de que quer prosseguir? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ir à página"/> </notification> <notification name="SelectProposalToView"> - Por favor, selecione uma proposta para visualizar. + Selecione uma proposta para visualizar. </notification> <notification name="SelectHistoryItemToView"> - Por favor, selecione um item do histórico para exibí-lo. + Selecione um item do histórico para exibi-lo. </notification> <notification name="CacheWillClear"> O cache será limpo quando o [APP_NAME] for iniciado. @@ -406,7 +406,7 @@ O objeto pode estar fora de alcance ou foi deletado. O objeto pode estar fora de alcance ou foi deletado. </notification> <notification name="SaveNotecardFailReason"> - Houve um problema em salvar uma nota devido a seguinte razão: [REASON]. Por favor, tente salvar a nota novamente mais tarde. + Houve um problema em salvar uma nota devido a seguinte razão: [REASON]. Tente salvar a nota novamente mais tarde. </notification> <notification name="ScriptCannotUndo"> Não foi possível desfazer todas as mudanças na sua versão de script. @@ -415,7 +415,7 @@ Gostaria de carregar a última versão salva? <usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/> </notification> <notification name="SaveScriptFailReason"> - Houve um problema em salvar um script devido à seguinte razão: [REASON]. Por favor, tente salvar novamente o script mais tarde. + Houve um problema em salvar um script devido à seguinte razão: [REASON]. Tente salvar novamente o script mais tarde. </notification> <notification name="SaveScriptFailObjectNotFound"> Não foi possível salvar o script pois o objeto em que ele está não pôde ser encontrado. @@ -500,15 +500,15 @@ Ele ou ela vai ficar temporariamente incapaz de se mover, usar o bate-papo ou in <usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Descongelar" yestext="Congelar"/> </notification> <notification name="EjectAvatarFullname"> - Ejetar [AVATAR_NAME] da sua terra? + Ejetar [AVATAR_NAME] do seu terreno? <usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Ejetar e Banir" yestext="Ejetar"/> </notification> <notification name="EjectAvatarNoBan"> - Ejetar este avatar da sua terra? + Ejetar este avatar do seu terreno? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ejetar"/> </notification> <notification name="EjectAvatarFullnameNoBan"> - Ejetar [AVATAR_NAME] da sua terra? + Ejetar [AVATAR_NAME] do seu terreno? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ejetar"/> </notification> <notification name="EjectAvatarFromGroup"> @@ -519,7 +519,7 @@ Ele ou ela vai ficar temporariamente incapaz de se mover, usar o bate-papo ou in </notification> <notification name="AcquireErrorObjectSpan"> Erro de aquisição: Objetos criados em mais de uma região. -Por favor, mova todos os objetos a serem adquiridos para uma mesma região. +Mova todos os objetos a serem adquiridos para uma mesma região. </notification> <notification name="PromptGoToCurrencyPage"> [EXTRA] @@ -766,29 +766,29 @@ Nenhum grupo selecionado. A região do terreno não pôde ser localizada. </notification> <notification name="CannotDeedLandMultipleSelected"> - Impossibilitado de passar a propriedade da terra: -Selecionados vários lotes. + Não é possível doar o terreno: +Vários lotes foram selecionados. Tente selecionar um único lote. </notification> <notification name="CannotDeedLandWaitingForServer"> - Impossibilitado de passar a propriedade da terra: -Esperando pelo servidor informar de quem é a propriedade. + Não é possível doar o terreno: +Esperando o servidor informar de quem é a propriedade. Por favor, tente novamente. </notification> <notification name="CannotDeedLandNoTransfer"> - Não é possível transferir posse do terreno: -A região [REGION] não permite transferência do terreno. + Não é possível doar o terreno: +A região [REGION] não permite transferências de terreno. </notification> <notification name="CannotReleaseLandWatingForServer"> - Impossibilitado de abandonar a terra: + Não é possível abandonar o terreno: Esperando o servidor atualizar as informações do lote. Tente novamente em alguns segundos. </notification> <notification name="CannotReleaseLandSelected"> - Impossibilitado de abandonar a terra: + Não é possível abandonar o terreno: Você não é dono de todos os lotes selecionados. Por favor, selecione um único lote. @@ -807,25 +807,25 @@ A região do terreno não pôde ser localizada. A região [REGION] não permite transferência de terreno. </notification> <notification name="CannotReleaseLandPartialSelection"> - Impossibilitado de abandonar a terra: -Você deve selecionar um lote inteiro para liberá-lo. + Não é possível abandonar o terreno: +Selecione um lote inteiro e abra mão dele. Selecione um lote inteiro ou primeiro divida seu lote. </notification> <notification name="ReleaseLandWarning"> - Você está para liberar [AREA] m² de terra. -Liberando este terreno, o liberará de suas posses, mas não lhe concederá quaisquer L$. + Você está prestes a abrir mão de [AREA] m². +Ao abrir mão deste terreno, ele deixa de ser uma propriedade. Note que você não receberá nenhum L$. -Liberar esta terra? +Abrir mão deste terreno? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Renunciar"/> </notification> <notification name="CannotDivideLandNothingSelected"> - Impossibilitado de dividir a terra: + Não é possível dividir o terreno: -Nenhum lote selecionado. +Nenhum lote foi selecionado. </notification> <notification name="CannotDivideLandPartialSelection"> - Impossibilitado de dividir a terra: + Não é possível dividir o terreno: Você selecionou um lote inteiro. Tente selecionar uma parte do lote. @@ -841,34 +841,34 @@ Quer dividir o terreno? A região do terreno não pôde ser localizada. </notification> <notification name="CannotJoinLandNoRegion"> - Houve um problema ao processar a junção dos terrenos: + Houve um problema ao processar a união dos terrenos: A região do terreno não pôde ser localizada. </notification> <notification name="CannotJoinLandNothingSelected"> - Não é possível unir terreno: + Não é possível unir os terrenos: Nenhum lote selecionado. </notification> <notification name="CannotJoinLandEntireParcelSelected"> - Impossibilitado de unir a terra: + Não é possível unir os terrenos: Você selecionou apenas um lote. Selecione a terra através de ambos os lotes. </notification> <notification name="CannotJoinLandSelection"> - Impossibilitado de unir a terra: + Não é possível unir os terrenos: Você deve selecionar mais de um lote. -Selecione a terra através de ambos os lotes. +Selecione terrenos localizados em dois lotes. </notification> <notification name="JoinLandWarning"> - Unir esta terra vai criar um grande lote que envolve todos os lotes que intersectam o retângulo selecionado. + Unir os terrenos vai criar um grande lote, formado por todos os lotes que intersectam o retângulo selecionado. Você vai ter que redefinir nome e as opções do novo lote. -Unir a terra? +Unir os terrenos? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Unir"/> </notification> <notification name="ConfirmNotecardSave"> - Esta nota precisa ser salva antes do item ser copiado ou visualizado. Salvar nota? + Esta anotação precisa ser salva antes de o item ser copiado ou visualizado. Salvar anotação? <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Salvar"/> </notification> <notification name="ConfirmItemCopy"> @@ -1027,24 +1027,23 @@ Tem certeza de que deseja pegar estes itens? <usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/> </notification> <notification name="CantBuyLandAcrossMultipleRegions"> - Não foi possível comprar terreno, pois a seleção abrange várias regiões. + Não foi possível comprar o terreno, pois a seleção abrange várias regiões. Por favor, selecione uma área menor e tente novamente. </notification> <notification name="DeedLandToGroup"> - Na transferência de propriedade deste lote, o grupo deverá ter e manter créditos suficientes de uso da terra. -O preço de aquisição dos terrenos não é restituído ao o proprietário. Se uma parcela transferida é vendida, o preço de venda é dividido igualmente entre os membros do grupo. + No ato da doação deste lote, o grupo deverá ter e manter créditos suficientes para ter o terreno. +O preço de aquisição dos terrenos não é restituído ao proprietário. Se uma parcela doada for vendida, o preço de venda é dividido igualmente entre os membros do grupo. -Transferir propriedade de [AREA] m² de terra ao grupo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Acionar"/> +Doar [AREA] m² ao grupo '[GROUP_NAME]'? + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="DeedLandToGroupWithContribution"> - Na transferência de propriedade deste lote, o grupo deverá ter e manter créditos suficientes de uso da terra. -A Transferência incluirá uma contribuição de terra simultanea para o grupo de '[FIRST_NAME] [LAST_NAME]'. -O preço da compra não será restituído ao proprietário. Se um lote for vendido, o preço da venda será dividido igualmente entre os membros do grupo. + No ato da doação deste lote, o grupo deverá ter e manter créditos suficientes para ter o terreno. A doação inclui uma contribuição simultânea para o grupo de '[FIRST_NAME] [LAST_NAME]'. +O preço de aquisição dos terrenos não é restituído ao proprietário. Se uma parcela doada for vendida, o preço de venda é dividido igualmente entre os membros do grupo. -Transferir propriedade destes [AREA] m² de terreno para o grupo '[GROUP_NAME]'? - <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Acionar"/> +Doar [AREA] m² para o grupo '[GROUP_NAME]'? + <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/> </notification> <notification name="DisplaySetToSafe"> Configurações de display foram ajustadas para níveis de segurança porque você especificou -- opção de segurança. |