summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/gpu_table.txt83
-rw-r--r--indra/newview/llinventorybridge.cpp77
-rw-r--r--indra/newview/llinventorybridge.h2
-rw-r--r--indra/newview/llpaneloutfitsinventory.cpp9
-rw-r--r--indra/newview/lltexturecache.cpp177
-rw-r--r--indra/newview/lltexturecache.h7
-rw-r--r--indra/newview/skins/default/xui/da/menu_login.xml1
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml13
-rw-r--r--indra/newview/skins/default/xui/es/floater_world_map.xml4
-rw-r--r--indra/newview/skins/default/xui/es/menu_login.xml1
-rw-r--r--indra/newview/skins/default/xui/it/floater_about_land.xml24
-rw-r--r--indra/newview/skins/default/xui/it/floater_report_abuse.xml4
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory.xml32
-rw-r--r--indra/newview/skins/default/xui/it/menu_login.xml1
-rw-r--r--indra/newview/skins/default/xui/it/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/it/panel_group_general.xml4
-rw-r--r--indra/newview/skins/default/xui/it/panel_landmark_info.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_place_profile.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_preferences_general.xml12
-rw-r--r--indra/newview/skins/default/xui/it/panel_region_general.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_region_general_layout.xml2
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/nl/floater_tools.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/menu_login.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/floater_god_tools.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/menu_login.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml115
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_debug.xml22
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_general_layout.xml4
31 files changed, 351 insertions, 298 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 3aab27ab4b..35b5d0c0f5 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3819,6 +3819,17 @@
<key>Value</key>
<real>1.0</real>
</map>
+ <key>InventoryLinking</key>
+ <map>
+ <key>Comment</key>
+ <string>Enable ability to create links to folders and items via "Paste as link".</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>InventorySortOrder</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
index aa0e21ea8f..3754f30a66 100644
--- a/indra/newview/gpu_table.txt
+++ b/indra/newview/gpu_table.txt
@@ -70,43 +70,42 @@ ATI M56 .*ATI.*M56.* 1 1
ATI M71 .*ATI.*M71.* 1 1
ATI M72 .*ATI.*M72.* 1 1
ATI M76 .*ATI.*M76.* 3 1
-ATI Mobility Radeon 7xxx .*ATI.*Mobility.*Radeon 7.* 0 1
-ATI Mobility Radeon 8xxx .*ATI.*Mobility.*Radeon 8.* 0 1
-ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 0 1
-ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 0 1
-ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1
-ATI Mobility Radeon HD 2300 .*ATI.*Mobility.*HD.*23.* 1 1
-ATI Mobility Radeon HD 2400 .*ATI.*Mobility.*HD.*24.* 1 1
-ATI Mobility Radeon HD 2600 .*ATI.*Mobility.*HD.*26.* 3 1
-ATI Mobility Radeon HD 3400 .*ATI.*Mobility.*HD.*34.* 1 1
-ATI Mobility Radeon HD 3600 .*ATI.*Mobility.*HD.*36.* 3 1
-ATI Mobility Radeon HD 3800 .*ATI.*Mobility.*HD.*38.* 3 1
-ATI Mobility Radeon X1xxx .*ATI.*Mobility.*X1.* 0 1
-ATI Mobility Radeon X2xxx .*ATI.*Mobility.*X2.* 0 1
-ATI Mobility Radeon X3xx .*ATI.*Mobility.*X3.* 1 1
-ATI Mobility Radeon X6xx .*ATI.*Mobility.*X6.* 1 1
-ATI Mobility Radeon X7xx .*ATI.*Mobility.*X7.* 1 1
-ATI Mobility Radeon Xxxx .*ATI.*Mobility.*X.* 0 1
-ATI Mobility Radeon .*ATI.*Mobility.* 0 1
-ATI Radeon HD 2300 .*ATI.*Radeon HD 23.* 0 1
-ATI Radeon HD 2400 .*ATI.*Radeon HD.*24.* 1 1
-ATI Radeon HD 2600 .*ATI.*Radeon HD 26.* 2 1
-ATI Radeon HD 2900 .*ATI.*Radeon HD 29.* 3 1
-ATI Radeon HD 3200 .*ATI.*Radeon.*HD.*32.* 1 1
-ATI Radeon HD 3300 .*ATI.*Radeon HD.*33.* 1 1
-ATI Radeon HD 3400 .*ATI.*Radeon HD.*34.* 1 1
-ATI Radeon HD 3600 .*ATI.*Radeon HD.*36.* 3 1
-ATI Radeon HD 3800 .*ATI.*Radeon HD.*38.* 3 1
-ATI Radeon HD 4200 .*ATI.*Radeon HD 42.* 1 1
-ATI Radeon HD 4300 .*ATI.*Radeon HD 43.* 1 1
-ATI Radeon HD 4500 .*ATI.*Radeon HD 45.* 3 1
-ATI Radeon HD 4600 .*ATI.*Radeon HD.*46.* 3 1
-ATI Radeon HD 4700 .*ATI.*Radeon HD 47.* 3 1
-ATI Radeon HD 4800 .*ATI.*Radeon.*HD.*48.* 3 1
-ATI Radeon HD 5600 .*ATI.*Radeon.*HD.*56.* 3 1
-ATI Radeon HD 5700 .*ATI.*Radeon.*HD.*57.* 3 1
-ATI Radeon HD 5800 .*ATI.*Radeon.*HD.*58.* 3 1
-ATI Radeon HD 5900 .*ATI.*Radeon.*HD.*59.* 3 1
+ATI Mobility Radeon 7xxx .*ATI.*Mobility *Radeon 7.* 0 1
+ATI Mobility Radeon 8xxx .*ATI.*Mobility *Radeon 8.* 0 1
+ATI Mobility Radeon 9800 .*ATI.*Mobility *98.* 0 1
+ATI Mobility Radeon 9700 .*ATI.*Mobility *97.* 0 1
+ATI Mobility Radeon 9600 .*ATI.*Mobility *96.* 0 1
+ATI Mobility Radeon HD 2300 .*ATI.*Mobility *HD *23.* 1 1
+ATI Mobility Radeon HD 2400 .*ATI.*Mobility *HD *24.* 1 1
+ATI Mobility Radeon HD 2600 .*ATI.*Mobility *HD *26.* 3 1
+ATI Mobility Radeon HD 3400 .*ATI.*Mobility *HD *34.* 1 1
+ATI Mobility Radeon HD 3600 .*ATI.*Mobility *HD *36.* 3 1
+ATI Mobility Radeon HD 3800 .*ATI.*Mobility *HD *38.* 3 1
+ATI Mobility Radeon X1xxx .*ATI.*Mobility *X1.* 0 1
+ATI Mobility Radeon X2xxx .*ATI.*Mobility *X2.* 0 1
+ATI Mobility Radeon X3xx .*ATI.*Mobility *X3.* 1 1
+ATI Mobility Radeon X6xx .*ATI.*Mobility *X6.* 1 1
+ATI Mobility Radeon X7xx .*ATI.*Mobility *X7.* 1 1
+ATI Mobility Radeon Xxxx .*ATI.*Mobility *X.* 0 1
+ATI Radeon HD 2300 .*ATI.*Radeon HD *23.* 0 1
+ATI Radeon HD 2400 .*ATI.*Radeon HD *24.* 1 1
+ATI Radeon HD 2600 .*ATI.*Radeon HD *26.* 2 1
+ATI Radeon HD 2900 .*ATI.*Radeon HD *29.* 3 1
+ATI Radeon HD 3200 .*ATI.*Radeon *HD *32.* 0 1
+ATI Radeon HD 3300 .*ATI.*Radeon HD *33.* 1 1
+ATI Radeon HD 3400 .*ATI.*Radeon HD *34.* 1 1
+ATI Radeon HD 3600 .*ATI.*Radeon HD *36.* 3 1
+ATI Radeon HD 3800 .*ATI.*Radeon HD *38.* 3 1
+ATI Radeon HD 4200 .*ATI.*Radeon HD *42.* 1 1
+ATI Radeon HD 4300 .*ATI.*Radeon HD *43.* 1 1
+ATI Radeon HD 4500 .*ATI.*Radeon HD *45.* 3 1
+ATI Radeon HD 4600 .*ATI.*Radeon HD *46.* 3 1
+ATI Radeon HD 4700 .*ATI.*Radeon HD *47.* 3 1
+ATI Radeon HD 4800 .*ATI.*Radeon.*HD *48.* 3 1
+ATI Radeon HD 5600 .*ATI.*Radeon.*HD *56.* 3 1
+ATI Radeon HD 5700 .*ATI.*Radeon.*HD *57.* 3 1
+ATI Radeon HD 5800 .*ATI.*Radeon.*HD *58.* 3 1
+ATI Radeon HD 5900 .*ATI.*Radeon.*HD *59.* 3 1
ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
ATI Radeon 2100 .*ATI.*Radeon 21.* 0 1
ATI Radeon 3100 .*ATI.*Radeon 31.* 1 1
@@ -128,12 +127,12 @@ ATI Radeon VE .*ATI.*Radeon.*VE.* 0 0
ATI Radeon X1000 .*ATI.*Radeon *X10.* 0 1
ATI Radeon X1200 .*ATI.*Radeon *X12.* 0 1
ATI Radeon X1300 .*ATI.*Radeon *X13.* 1 1
-ATI Radeon X1400 .*ATI.*Radeon X14.* 1 1
-ATI Radeon X1500 .*ATI.*Radeon X15.* 1 1
+ATI Radeon X1400 .*ATI.*Radeon *X14.* 1 1
+ATI Radeon X1500 .*ATI.*Radeon *X15.* 1 1
ATI Radeon X1600 .*ATI.*Radeon *X16.* 1 1
-ATI Radeon X1700 .*ATI.*Radeon X17.* 1 1
-ATI Radeon X1800 .*ATI.*Radeon X18.* 3 1
-ATI Radeon X1900 .*ATI.*Radeon X19.* 3 1
+ATI Radeon X1700 .*ATI.*Radeon *X17.* 1 1
+ATI Radeon X1800 .*ATI.*Radeon *X18.* 3 1
+ATI Radeon X1900 .*ATI.*Radeon *X19.* 3 1
ATI Radeon X300 .*ATI.*Radeon *X3.* 0 1
ATI Radeon X400 .*ATI.*Radeon X4.* 0 1
ATI Radeon X500 .*ATI.*Radeon X5.* 0 1
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 228ab7ebd6..b9b195c89a 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -645,10 +645,13 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
disabled_items.push_back(std::string("Paste"));
}
- items.push_back(std::string("Paste As Link"));
- if (!isClipboardPasteableAsLink() || (flags & FIRST_SELECTED_ITEM) == 0)
+ if (gSavedSettings.getBOOL("InventoryLinking"))
{
- disabled_items.push_back(std::string("Paste As Link"));
+ items.push_back(std::string("Paste As Link"));
+ if (!isClipboardPasteableAsLink() || (flags & FIRST_SELECTED_ITEM) == 0)
+ {
+ disabled_items.push_back(std::string("Paste As Link"));
+ }
}
items.push_back(std::string("Paste Separator"));
@@ -1405,13 +1408,65 @@ BOOL LLItemBridge::removeItem()
{
return FALSE;
}
+
+
// move it to the trash
LLPreview::hide(mUUID, TRUE);
LLInventoryModel* model = getInventoryModel();
if(!model) return FALSE;
- const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
+ const LLUUID& trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
+ LLViewerInventoryItem* item = getItem();
+ if (!item) return FALSE;
+
+ // Already in trash
+ if (model->isObjectDescendentOf(mUUID, trash_id)) return FALSE;
+
+ LLNotification::Params params("ConfirmItemDeleteHasLinks");
+ params.functor.function(boost::bind(&LLItemBridge::confirmRemoveItem, this, _1, _2));
+
+ // Check if this item has any links. If generic inventory linking is enabled,
+ // we can't do this check because we may have items in a folder somewhere that is
+ // not yet in memory, so we don't want false negatives. (If disabled, then we
+ // know we only have links in the Outfits folder which we explicitly fetch.)
+ if (!gSavedSettings.getBOOL("InventoryLinking"))
+ {
+ if (!item->getIsLinkType())
+ {
+ LLInventoryModel::cat_array_t cat_array;
+ LLInventoryModel::item_array_t item_array;
+ LLLinkedItemIDMatches is_linked_item_match(mUUID);
+ gInventory.collectDescendentsIf(gInventory.getRootFolderID(),
+ cat_array,
+ item_array,
+ LLInventoryModel::INCLUDE_TRASH,
+ is_linked_item_match);
+
+ const U32 num_links = cat_array.size() + item_array.size();
+ if (num_links > 0)
+ {
+ // Warn if the user is will break any links when deleting this item.
+ LLNotifications::instance().add(params);
+ return FALSE;
+ }
+ }
+ }
+
+ LLNotifications::instance().forceResponse(params, 0);
+ return TRUE;
+}
+
+BOOL LLItemBridge::confirmRemoveItem(const LLSD& notification, const LLSD& response)
+{
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+ if (option != 0) return FALSE;
+
+ LLInventoryModel* model = getInventoryModel();
+ if (!model) return FALSE;
+
LLViewerInventoryItem* item = getItem();
+ if (!item) return FALSE;
+ const LLUUID& trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH);
// if item is not already in trash
if(item && !model->isObjectDescendentOf(mUUID, trash_id))
{
@@ -1420,11 +1475,7 @@ BOOL LLItemBridge::removeItem()
// delete was successful
return TRUE;
}
- else
- {
- // tried to delete already item in trash (should purge?)
- return FALSE;
- }
+ return FALSE;
}
BOOL LLItemBridge::isItemCopyable() const
@@ -1589,8 +1640,12 @@ BOOL LLFolderBridge::isUpToDate() const
BOOL LLFolderBridge::isItemCopyable() const
{
- // Can copy folders to paste-as-link, but not for straight paste.
- return TRUE;
+ if (gSavedSettings.getBOOL("InventoryLinking"))
+ {
+ // Can copy folders to paste-as-link, but not for straight paste.
+ return TRUE;
+ }
+ return FALSE;
}
BOOL LLFolderBridge::copyToClipboard() const
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index c45e376cab..aa3b36e7e2 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -267,6 +267,8 @@ protected:
virtual BOOL isItemPermissive() const;
static void buildDisplayName(LLInventoryItem* item, std::string& name);
mutable std::string mDisplayName;
+
+ BOOL confirmRemoveItem(const LLSD& notification, const LLSD& response);
};
class LLFolderBridge : public LLInvFVBridge
diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp
index e36e63521e..111894b31c 100644
--- a/indra/newview/llpaneloutfitsinventory.cpp
+++ b/indra/newview/llpaneloutfitsinventory.cpp
@@ -91,6 +91,15 @@ BOOL LLPanelOutfitsInventory::postBuild()
initTabPanels();
initListCommandsHandlers();
+ // Fetch your outfits folder so that the links are in memory.
+ // ( This is only necessary if we want to show a warning if a user deletes an item that has a
+ // a link in an outfit, see "ConfirmItemDeleteHasLinks". )
+ const LLUUID &outfits_cat = gInventory.findCategoryUUIDForType(LLFolderType::FT_OUTFIT, false);
+ if (outfits_cat.notNull())
+ {
+ LLInventoryModelBackgroundFetch::instance().start(outfits_cat);
+ }
+
return TRUE;
}
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/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/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 10914285dd..149a254f49 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -2124,6 +2124,19 @@ Please enter a higher price.
<notification
icon="alertmodal.tga"
+ name="ConfirmItemDeleteHasLinks"
+ type="alertmodal">
+At least one of the items you has link items that point to it. If you delete this item, its links will permanently stop working. It is strongly advised to delete the links first.
+
+Are you sure you want to delete these items?
+ <usetemplate
+ name="okcancelbuttons"
+ notext="Cancel"
+ yestext="OK"/>
+ </notification>
+
+ <notification
+ icon="alertmodal.tga"
name="ConfirmObjectDeleteLock"
type="alertmodal">
At least one of the items you have selected is locked.
diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml
index 38a12002f5..c3a13980de 100644
--- a/indra/newview/skins/default/xui/es/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/es/floater_world_map.xml
@@ -20,10 +20,10 @@
Venta de terreno
</text>
<text name="by_owner_label">
- por el propietario
+ por el dueño
</text>
<text name="auction_label">
- subasta de terreno
+ subasta
</text>
<button name="Go Home" tool_tip="Teleportar a mi Base"/>
<text name="Home_label">
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ú &apos;Debug&apos;" 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 &gt; 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 &gt; 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 &amp; 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 &gt; Abusi verbali" name="Harassment__Verbal_abuse"/>
<combo_box.item label="Indecenza &gt; Condotta o contenuti largamente offensivi" name="Indecency__Broadly_offensive_content_or_conduct"/>
<combo_box.item label="Indecenza &gt; Nome di un avatar inappropriato" name="Indecency__Inappropriate_avatar_name"/>
- <combo_box.item label="Indecenza &gt; Contenuto o condotta inappropriata in una regione PG" name="Indecency__Mature_content_in_PG_region"/>
- <combo_box.item label="Indecenza &gt; Contenuto o condotta inappropriata in una regione Mature" name="Indecency__Inappropriate_content_in_Mature_region"/>
+ <combo_box.item label="Indecenza &gt; Contenuto o condotta inappropriata in una regione con accesso Generale" name="Indecency__Mature_content_in_PG_region"/>
+ <combo_box.item label="Indecenza &gt; 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 &gt; Rimozione contenuti" name="Intellectual_property_infringement_Content_Removal"/>
<combo_box.item label="Violazione della proprietà intellettuale &gt; 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&apos;oggetto" name="okcancelignore" notext="No" yestext="Sì"/>
+ <usetemplate ignoretext="Conferma prima di eliminare elementi multimediali dall&apos;oggetto" name="okcancelignore" notext="No" yestext="Sì"/>
</notification>
<notification name="ClassifiedSave">
Salva le modifiche all&apos;annuncio [NAME]?
@@ -625,7 +625,7 @@ Attese [VALIDS]
Riprova più tardi.
</notification>
<notification name="LandmarkCreated">
- Hai aggiunto &quot;[LANDMARK_NAME]&quot; alla tua [FOLDER_NAME] cartella.
+ Hai aggiunto &quot;[LANDMARK_NAME]&quot; 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&apos;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&apos;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/nl/floater_tools.xml b/indra/newview/skins/default/xui/nl/floater_tools.xml
index f79d3dbd6b..0f8392428f 100644
--- a/indra/newview/skins/default/xui/nl/floater_tools.xml
+++ b/indra/newview/skins/default/xui/nl/floater_tools.xml
@@ -403,7 +403,7 @@
<text name="glow label">
Gloed
</text>
- <check_box label="Volledige &#10;helderheid" name="checkbox fullbright" bottom_delta="-21"/>
+ <check_box label="Volledige helderheid" name="checkbox fullbright"/>
<text name="tex gen">
Mapping
</text>
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&apos;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&apos;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&apos;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&apos;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&apos;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 &apos;[NAME]&apos; 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 &apos;[NAME]&apos; 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 &apos;[NAME]&apos; neste lote para o inventário dele?
+ Você tem certeza de que deseja devolver todos os objetos do residente &apos;[NAME]&apos; 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 &apos;Classificados&apos; 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 &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
- <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 &apos;[GROUP_NAME]&apos;?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Acionar"/>
+Doar [AREA] m² ao grupo &apos;[GROUP_NAME]&apos;?
+ <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 &apos;[FIRST_NAME] [LAST_NAME]&apos;.
-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 &apos;[FIRST_NAME] [LAST_NAME]&apos;.
+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 &apos;[GROUP_NAME]&apos;?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Acionar"/>
+Doar [AREA] m² para o grupo &apos;[GROUP_NAME]&apos;?
+ <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.
diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
index 2119a06e55..f2cc9f644d 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
@@ -6,15 +6,15 @@
<text name="region_text">
desconhecido
</text>
- <check_box label="Desabilitar Scripts" name="disable_scripts_check" tool_tip="Desabilitar todos os scripts nesta região"/>
+ <check_box label="Desativar scripts" name="disable_scripts_check" tool_tip="Desativar todos os scripts nesta região"/>
<button label="?" name="disable_scripts_help"/>
- <check_box label="Desabilitar colisões" name="disable_collisions_check" tool_tip="Desabilitar colisões de não-avatares nessa região"/>
+ <check_box label="Desativar colisões" name="disable_collisions_check" tool_tip="Desabilitar colisões de não-avatares nessa região"/>
<button label="?" name="disable_collisions_help"/>
- <check_box label="Desabilitar física" name="disable_physics_check" tool_tip="Desabilitar toda a físíca nesta região"/>
+ <check_box label="Desativar física" name="disable_physics_check" tool_tip="Desativar toda a físíca nesta região"/>
<button label="?" name="disable_physics_help"/>
<button label="Aplicar" name="apply_btn"/>
<text name="objret_text_lbl" width="130">
- Retornar objeto
+ Devolver objeto
</text>
<text name="resident_text_lbl">
Residente:
@@ -27,14 +27,14 @@
Opções:
</text>
<check_box label="Com scripts" name="return_scripts" tool_tip="Só devolver objetos com scripts"/>
- <check_box label="No terreno de outra pessoa" name="return_other_land" tool_tip="Retornar apenas objetos que estejam na terra pertencente a alguém"/>
- <check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Retornar objetos em todas as regiões que constituem esta propriedade"/>
- <button label="Retornar" name="return_btn"/>
- <button label="Pegar os principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos que experimentam as mais potenciais colisões" width="280"/>
+ <check_box label="No terreno de outra pessoa" name="return_other_land" tool_tip="Devolver apenas objetos que estejam em terrenos de outra pessoa"/>
+ <check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Devolver objetos em todas as regiões que constituem esta propriedade"/>
+ <button label="Devolver" name="return_btn"/>
+ <button label="Principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos com maior potencial de colisão" width="280"/>
<button label="?" left="297" name="top_colliders_help"/>
- <button label="Pegar Principais Scripts..." name="top_scripts_btn" tool_tip="Lista de objetos gastando mais tempo rodando scripts" width="280"/>
+ <button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/>
<button label="?" left="297" name="top_scripts_help"/>
- <button label="Reiniciar a Região" name="restart_btn" tool_tip="Dar 2 minutos de contagem regressiva e reiniciar a região"/>
+ <button label="Reiniciar a região" name="restart_btn" tool_tip="Após 2 minutos de contagem regressiva, reiniciar a região"/>
<button label="?" name="restart_help"/>
- <button label="Atrasar o Reinicio" name="cancel_restart_btn" tool_tip="Atrasar o reinicio da região por uma hora"/>
+ <button label="Adiar reinício" name="cancel_restart_btn" tool_tip="Adiar o reinício da região por uma hora"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml b/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml
index d2d5fb649c..534b2826af 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml
@@ -18,12 +18,12 @@
<text name="region_type">
(Desconhecido)
</text>
- <check_box label="Bloquear terraplanagem" name="block_terraform_check"/>
+ <check_box label="Bloquear terraplanagens" name="block_terraform_check"/>
<check_box label="Bloquear voos" name="block_fly_check"/>
<check_box label="Permitir danos" name="allow_damage_check"/>
<check_box label="Limitar empurrões" name="restrict_pushobject"/>
<check_box label="Permitir revenda de terrenos" name="allow_land_resell_check"/>
- <check_box label="Permitir junção e divisão de terrenos" name="allow_parcel_changes_check"/>
+ <check_box label="Permitir união e divisão de terrenos" name="allow_parcel_changes_check"/>
<check_box label="Não mostrar nos resultados de pesquisa" name="block_parcel_search_check" tool_tip="Mostrar esta região e lotes nos resultados de pesquisa"/>
<spinner label="Limite do agente" name="agent_limit_spin"/>
<spinner label="Bônus do objeto" name="object_bonus_spin"/>