summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/app_settings/settings.xml16
-rw-r--r--indra/newview/llface.cpp2
-rw-r--r--indra/newview/llfolderview.cpp2
-rw-r--r--indra/newview/llinventorybridge.cpp31
-rw-r--r--indra/newview/llinventorybridge.h18
-rw-r--r--indra/newview/llinventorypanel.cpp2
-rw-r--r--indra/newview/llpaneloutfitedit.cpp53
-rw-r--r--indra/newview/llpaneloutfitedit.h4
-rw-r--r--indra/newview/llplacesinventorybridge.cpp2
-rw-r--r--indra/newview/lltexlayer.cpp144
-rw-r--r--indra/newview/lltexlayer.h78
-rw-r--r--indra/newview/lltextureview.cpp4
-rw-r--r--indra/newview/lltoolmorph.cpp2
-rw-r--r--indra/newview/llviewermessage.cpp2
-rw-r--r--indra/newview/llviewertexture.cpp5
-rw-r--r--indra/newview/llvoavatar.h5
-rw-r--r--indra/newview/llvotree.cpp2
-rw-r--r--indra/newview/llwearable.cpp1
-rw-r--r--indra/newview/skins/default/xui/da/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/da/menu_inventory.xml1
-rw-r--r--indra/newview/skins/default/xui/da/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/da/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/da/notifications.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/da/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/de/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_people.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml7
-rw-r--r--indra/newview/skins/default/xui/es/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/es/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/fr/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml63
-rw-r--r--indra/newview/skins/default/xui/it/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/it/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/ja/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/pl/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inventory.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/pl/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/pl/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/pl/strings.xml62
-rw-r--r--indra/newview/skins/default/xui/pt/floater_camera.xml29
-rw-r--r--indra/newview/skins/default/xui/pt/floater_land_holdings.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/floater_tools.xml26
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory_add.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/menu_viewer.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_nearby_media.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/panel_place_profile.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_general.xml28
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml62
76 files changed, 1030 insertions, 259 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index af296f918e..810b2d9a1d 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -585,7 +585,7 @@
<key>Value</key>
<integer>2</integer>
</map>
- <key>AvatarBakedTextureTimeout</key>
+ <key>AvatarBakedTextureUploadTimeout</key>
<map>
<key>Comment</key>
<string>Specifes the maximum time in seconds to wait before sending your baked textures for avatar appearance. Set to 0 to disable and wait until all baked textures are at highest resolution.</string>
@@ -594,8 +594,20 @@
<key>Type</key>
<string>U32</string>
<key>Value</key>
- <integer>120</integer>
+ <integer>60</integer>
</map>
+ <key>AvatarBakedLocalTextureUpdateTimeout</key>
+ <map>
+ <key>Comment</key>
+ <string>Specifes the maximum time in seconds to wait before updating your appearance during appearance mode.</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>10</integer>
+ </map>
+
<key>AvatarSex</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index dbbcb6e7c4..f299518474 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -1364,7 +1364,7 @@ F32 LLFace::getTextureVirtualSize()
F32 cos_angle_to_view_dir;
BOOL in_frustum = calcPixelArea(cos_angle_to_view_dir, radius);
- if (mPixelArea < 0.0001f || !in_frustum)
+ if (mPixelArea < F_ALMOST_ZERO || !in_frustum)
{
setVirtualSize(0.f) ;
return 0.f;
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 87c5a830e9..14d3bda8e9 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -1195,7 +1195,7 @@ void LLFolderView::propertiesSelectedItems( void )
void LLFolderView::changeType(LLInventoryModel *model, LLFolderType::EType new_folder_type)
{
- LLFolderBridge *folder_bridge = LLFolderBridge::sSelf;
+ LLFolderBridge *folder_bridge = LLFolderBridge::sSelf.get();
if (!folder_bridge) return;
LLViewerInventoryCategory *cat = folder_bridge->getCategory();
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 578c68410b..4ac9edecbe 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -1444,7 +1444,7 @@ bool LLItemBridge::isRemoveAction(std::string action) const
// | LLFolderBridge |
// +=================================================+
-LLFolderBridge* LLFolderBridge::sSelf=NULL;
+LLHandle<LLFolderBridge> LLFolderBridge::sSelf;
// Can be moved to another folder
BOOL LLFolderBridge::isItemMovable() const
@@ -2388,8 +2388,11 @@ void LLFolderBridge::pasteLinkFromClipboard()
void LLFolderBridge::staticFolderOptionsMenu()
{
- if (!sSelf) return;
- sSelf->folderOptionsMenu();
+ LLFolderBridge* selfp = sSelf.get();
+ if (selfp)
+ {
+ selfp->folderOptionsMenu();
+ }
}
void LLFolderBridge::folderOptionsMenu()
@@ -2466,11 +2469,15 @@ void LLFolderBridge::folderOptionsMenu()
}
mItems.push_back(std::string("Outfit Separator"));
}
- hide_context_entries(*mMenu, mItems, disabled_items, TRUE);
+ LLMenuGL* menup = dynamic_cast<LLMenuGL*>(mMenu.get());
+ if (menup)
+ {
+ hide_context_entries(*menup, mItems, disabled_items, TRUE);
- // Reposition the menu, in case we're adding items to an existing menu.
- mMenu->needsArrange();
- mMenu->arrangeAndClear();
+ // Reposition the menu, in case we're adding items to an existing menu.
+ menup->needsArrange();
+ menup->arrangeAndClear();
+ }
}
BOOL LLFolderBridge::checkFolderForContentsOfType(LLInventoryModel* model, LLInventoryCollectFunctor& is_type)
@@ -2512,6 +2519,10 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
mDisabledItems.push_back(std::string("New Body Parts"));
}
+ // clear out old menu and folder pointers
+ mMenu.markDead();
+ sSelf.markDead();
+
if(trash_id == mUUID)
{
// This is the trash.
@@ -2587,9 +2598,8 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
mWearables=TRUE;
}
-
- mMenu = &menu;
- sSelf = this;
+ mMenu = menu.getHandle();
+ sSelf = getHandle();
}
// Preemptively disable system folder removal if more than one item selected.
@@ -2619,6 +2629,7 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
folders.push_back(category->getUUID());
}
+
LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(folders, FALSE);
fetch->startFetch();
inc_busy_count();
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 9dc50b542d..91055eb906 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -230,8 +230,8 @@ public:
const LLUUID& uuid) :
LLInvFVBridge(inventory, root, uuid),
mCallingCards(FALSE),
- mWearables(FALSE),
- mMenu(NULL) {}
+ mWearables(FALSE)
+ {}
BOOL dragItemIntoFolder(LLInventoryItem* inv_item, BOOL drop);
BOOL dragCategoryIntoFolder(LLInventoryCategory* inv_category, BOOL drop);
@@ -272,6 +272,7 @@ public:
static void createWearable(LLFolderBridge* bridge, LLWearableType::EType type);
LLViewerInventoryCategory* getCategory() const;
+ LLHandle<LLFolderBridge> getHandle() { mHandle.bind(this); return mHandle; }
protected:
//--------------------------------------------------------------------
@@ -305,16 +306,17 @@ protected:
// Messy hacks for handling folder options
//--------------------------------------------------------------------
public:
- static LLFolderBridge* sSelf;
+ static LLHandle<LLFolderBridge> sSelf;
static void staticFolderOptionsMenu();
void folderOptionsMenu();
private:
- BOOL mCallingCards;
- BOOL mWearables;
- LLMenuGL* mMenu;
- menuentry_vec_t mItems;
- menuentry_vec_t mDisabledItems;
+ BOOL mCallingCards;
+ BOOL mWearables;
+ LLHandle<LLView> mMenu;
+ menuentry_vec_t mItems;
+ menuentry_vec_t mDisabledItems;
+ LLRootHandle<LLFolderBridge> mHandle;
};
class LLTextureBridge : public LLItemBridge
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 5af99f3c8f..ac92f41624 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -790,7 +790,7 @@ void LLInventoryPanel::doToSelected(const LLSD& userdata)
void LLInventoryPanel::doCreate(const LLSD& userdata)
{
- menu_create_inventory_item(mFolderRoot, LLFolderBridge::sSelf, userdata);
+ menu_create_inventory_item(mFolderRoot, LLFolderBridge::sSelf.get(), userdata);
}
bool LLInventoryPanel::beginIMSession()
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index f764d1802b..767b01f039 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -629,24 +629,35 @@ void LLPanelOutfitEdit::onShopButtonClicked()
if (isAgentAvatarValid())
{
// try to get wearable type from 'Add More' panel first (EXT-7639)
- LLWearableType::EType type = getAddMorePanelSelectionType();
+ selection_info_t selection_info = getAddMorePanelSelectionType();
- if (type == LLWearableType::WT_NONE)
+ LLWearableType::EType type = selection_info.first;
+
+ if (selection_info.second > 1)
{
- type = getCOFWearablesSelectionType();
+ // the second argument is not important in this case: generic market place will be opened
+ url = url_resolver.resolveURL(LLWearableType::WT_NONE, SEX_FEMALE);
}
+ else
+ {
+ if (type == LLWearableType::WT_NONE)
+ {
+ type = getCOFWearablesSelectionType();
+ }
- ESex sex = gAgentAvatarp->getSex();
+ ESex sex = gAgentAvatarp->getSex();
- // WT_INVALID comes for attachments
- if (type != LLWearableType::WT_INVALID && type != LLWearableType::WT_NONE)
- {
- url = url_resolver.resolveURL(type, sex);
- }
+ // WT_INVALID comes for attachments
+ if (type != LLWearableType::WT_INVALID && type != LLWearableType::WT_NONE)
+ {
+ url = url_resolver.resolveURL(type, sex);
+ }
- if (url.empty())
- {
- url = url_resolver.resolveURL(mCOFWearables->getExpandedAccordionAssetType(), sex);
+ if (url.empty())
+ {
+ url = url_resolver.resolveURL(
+ mCOFWearables->getExpandedAccordionAssetType(), sex);
+ }
}
}
else
@@ -685,9 +696,9 @@ LLWearableType::EType LLPanelOutfitEdit::getCOFWearablesSelectionType() const
return type;
}
-LLWearableType::EType LLPanelOutfitEdit::getAddMorePanelSelectionType() const
+LLPanelOutfitEdit::selection_info_t LLPanelOutfitEdit::getAddMorePanelSelectionType() const
{
- LLWearableType::EType type = LLWearableType::WT_NONE;
+ selection_info_t result = std::make_pair(LLWearableType::WT_NONE, 0);
if (mAddWearablesPanel != NULL && mAddWearablesPanel->getVisible())
{
@@ -695,9 +706,11 @@ LLWearableType::EType LLPanelOutfitEdit::getAddMorePanelSelectionType() const
{
std::set<LLUUID> selected_uuids = mInventoryItemsPanel->getRootFolder()->getSelectionList();
- if (selected_uuids.size() == 1)
+ result.second = selected_uuids.size();
+
+ if (result.second == 1)
{
- type = getWearableTypeByItemUUID(*(selected_uuids.begin()));
+ result.first = getWearableTypeByItemUUID(*(selected_uuids.begin()));
}
}
else if (mWearableItemsList != NULL && mWearableItemsList->getVisible())
@@ -705,14 +718,16 @@ LLWearableType::EType LLPanelOutfitEdit::getAddMorePanelSelectionType() const
std::vector<LLUUID> selected_uuids;
mWearableItemsList->getSelectedUUIDs(selected_uuids);
- if (selected_uuids.size() == 1)
+ result.second = selected_uuids.size();
+
+ if (result.second == 1)
{
- type = getWearableTypeByItemUUID(selected_uuids.front());
+ result.first = getWearableTypeByItemUUID(selected_uuids.front());
}
}
}
- return type;
+ return result;
}
LLWearableType::EType LLPanelOutfitEdit::getWearableTypeByItemUUID(const LLUUID& item_uuid) const
diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h
index 770e2a229b..fe10215f27 100644
--- a/indra/newview/llpaneloutfitedit.h
+++ b/indra/newview/llpaneloutfitedit.h
@@ -198,8 +198,10 @@ private:
void getCurrentItemUUID(LLUUID& selected_id);
void onCOFChanged();
+ typedef std::pair<LLWearableType::EType, size_t> selection_info_t;
+
LLWearableType::EType getCOFWearablesSelectionType() const;
- LLWearableType::EType getAddMorePanelSelectionType() const;
+ selection_info_t getAddMorePanelSelectionType() const;
LLWearableType::EType getWearableTypeByItemUUID(const LLUUID& item_uuid) const;
LLTextBox* mCurrentOutfitName;
diff --git a/indra/newview/llplacesinventorybridge.cpp b/indra/newview/llplacesinventorybridge.cpp
index f59a55cb8b..18a91b0eb0 100644
--- a/indra/newview/llplacesinventorybridge.cpp
+++ b/indra/newview/llplacesinventorybridge.cpp
@@ -115,7 +115,7 @@ void LLPlacesFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
// they should be synchronized with Places/My Landmarks/Gear menu. See EXT-1601
// repeat parent functionality
- sSelf = this; // necessary for "New Folder" functionality
+ sSelf = getHandle(); // necessary for "New Folder" functionality
hide_context_entries(menu, items, disabled_items);
}
diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp
index 46bd55de43..f4f8241b99 100644
--- a/indra/newview/lltexlayer.cpp
+++ b/indra/newview/lltexlayer.cpp
@@ -119,14 +119,16 @@ LLTexLayerSetBuffer::LLTexLayerSetBuffer(LLTexLayerSet* const owner,
S32 width, S32 height) :
// ORDER_LAST => must render these after the hints are created.
LLViewerDynamicTexture( width, height, 4, LLViewerDynamicTexture::ORDER_LAST, TRUE ),
- mNeedsUpdate(TRUE),
- mNeedsUpload(FALSE),
mUploadPending(FALSE), // Not used for any logic here, just to sync sending of updates
+ mNeedsUpload(FALSE),
mNumLowresUploads(0),
+ mNeedsUpdate(TRUE),
+ mNumLowresUpdates(0),
mTexLayerSet(owner)
{
LLTexLayerSetBuffer::sGLByteCount += getSize();
mNeedsUploadTimer.start();
+ mNeedsUpdateTimer.start();
}
LLTexLayerSetBuffer::~LLTexLayerSetBuffer()
@@ -165,8 +167,9 @@ void LLTexLayerSetBuffer::dumpTotalByteCount()
void LLTexLayerSetBuffer::requestUpdate()
{
- conditionalRestartUploadTimer();
+ restartUpdateTimer();
mNeedsUpdate = TRUE;
+ mNumLowresUpdates = 0;
// If we're in the middle of uploading a baked texture, we don't care about it any more.
// When it's downloaded, ignore it.
mUploadID.setNull();
@@ -196,6 +199,12 @@ void LLTexLayerSetBuffer::conditionalRestartUploadTimer()
}
}
+void LLTexLayerSetBuffer::restartUpdateTimer()
+{
+ mNeedsUpdateTimer.reset();
+ mNeedsUpdateTimer.start();
+}
+
void LLTexLayerSetBuffer::cancelUpload()
{
mNeedsUpload = FALSE;
@@ -229,25 +238,31 @@ BOOL LLTexLayerSetBuffer::needsRender()
llassert(mTexLayerSet->getAvatar() == gAgentAvatarp);
if (!isAgentAvatarValid()) return FALSE;
- const BOOL upload_now = isReadyToUpload();
- BOOL needs_update = (mNeedsUpdate || upload_now) && !gAgentAvatarp->mAppearanceAnimating;
- if (needs_update)
+ const BOOL upload_now = mNeedsUpload && isReadyToUpload();
+ const BOOL update_now = mNeedsUpdate && isReadyToUpdate();
+
+ // Don't render if we don't want to (or aren't ready to) upload or update.
+ if (!(update_now || upload_now))
{
- BOOL invalid_skirt = gAgentAvatarp->getBakedTE(mTexLayerSet) == LLVOAvatarDefines::TEX_SKIRT_BAKED && !gAgentAvatarp->isWearingWearableType(LLWearableType::WT_SKIRT);
- if (invalid_skirt)
- {
- // we were trying to create a skirt texture
- // but we're no longer wearing a skirt...
- needs_update = FALSE;
- cancelUpload();
- }
- else
- {
- needs_update &= mTexLayerSet->isLocalTextureDataAvailable();
- }
+ return FALSE;
+ }
+
+ // Don't render if we're animating our appearance.
+ if (gAgentAvatarp->getIsAppearanceAnimating())
+ {
+ return FALSE;
}
- return needs_update;
+ // Don't render if we are trying to create a shirt texture but aren't wearing a skirt.
+ if (gAgentAvatarp->getBakedTE(mTexLayerSet) == LLVOAvatarDefines::TEX_SKIRT_BAKED &&
+ !gAgentAvatarp->isWearingWearableType(LLWearableType::WT_SKIRT))
+ {
+ cancelUpload();
+ return FALSE;
+ }
+
+ // Render if we have at least minimal level of detail for each local texture.
+ return mTexLayerSet->isLocalTextureDataAvailable();
}
void LLTexLayerSetBuffer::preRender(BOOL clear_depth)
@@ -272,11 +287,12 @@ BOOL LLTexLayerSetBuffer::render()
gGL.setColorMask(true, true);
// do we need to upload, and do we have sufficient data to create an uploadable composite?
- // When do we upload the texture if gAgent.mNumPendingQueries is non-zero?
- const BOOL upload_now = isReadyToUpload();
+ // TODO: When do we upload the texture if gAgent.mNumPendingQueries is non-zero?
+ const BOOL upload_now = mNeedsUpload && isReadyToUpload();
+ const BOOL update_now = mNeedsUpdate && isReadyToUpdate();
+
BOOL success = TRUE;
-
// Composite the color data
LLGLSUIDefault gls_ui;
success &= mTexLayerSet->render( mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight );
@@ -294,7 +310,7 @@ BOOL LLTexLayerSetBuffer::render()
if (mTexLayerSet->isVisible())
{
mTexLayerSet->getAvatar()->debugBakedTextureUpload(mTexLayerSet->getBakedTexIndex(), FALSE); // FALSE for start of upload, TRUE for finish.
- readBackAndUpload();
+ doUpload();
}
else
{
@@ -305,6 +321,11 @@ BOOL LLTexLayerSetBuffer::render()
}
}
}
+
+ if (update_now)
+ {
+ doUpdate();
+ }
// reset GL state
gGL.setColorMask(true, true);
@@ -312,7 +333,6 @@ BOOL LLTexLayerSetBuffer::render()
// we have valid texture data now
mGLTexturep->setGLTextureCreated(true);
- mNeedsUpdate = FALSE;
return success;
}
@@ -339,16 +359,16 @@ BOOL LLTexLayerSetBuffer::uploadInProgress() const
BOOL LLTexLayerSetBuffer::isReadyToUpload() const
{
- if (!mNeedsUpload) return FALSE; // Don't need to upload if we haven't requested one.
if (!gAgentQueryManager.hasNoPendingQueries()) return FALSE; // Can't upload if there are pending queries.
if (isAgentAvatarValid() && !gAgentAvatarp->isUsingBakedTextures()) return FALSE; // Don't upload if avatar is using composites.
// If we requested an upload and have the final LOD ready, then upload.
- const BOOL can_highest_lod = mTexLayerSet->isLocalTextureDataFinal();
- if (can_highest_lod) return TRUE;
+ if (mTexLayerSet->isLocalTextureDataFinal()) return TRUE;
- const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureTimeout");
- if (texture_timeout)
+ // Upload if we've hit a timeout. Upload is a pretty expensive process so we need to make sure
+ // we aren't doing uploads too frequently.
+ const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureUploadTimeout");
+ if (texture_timeout != 0)
{
// The timeout period increases exponentially between every lowres upload in order to prevent
// spamming the server with frequent uploads.
@@ -359,10 +379,33 @@ BOOL LLTexLayerSetBuffer::isReadyToUpload() const
const BOOL has_lower_lod = mTexLayerSet->isLocalTextureDataAvailable();
if (has_lower_lod && is_upload_textures_timeout) return TRUE;
}
+
return FALSE;
}
-BOOL LLTexLayerSetBuffer::updateImmediate()
+BOOL LLTexLayerSetBuffer::isReadyToUpdate() const
+{
+ // If we requested an update and have the final LOD ready, then update.
+ if (mTexLayerSet->isLocalTextureDataFinal()) return TRUE;
+
+ // If we haven't done an update yet, then just do one now regardless of state of textures.
+ if (mNumLowresUpdates == 0) return TRUE;
+
+ // Update if we've hit a timeout. Unlike for uploads, we can make this timeout fairly small
+ // since render unnecessarily doesn't cost much.
+ const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedLocalTextureUpdateTimeout");
+ if (texture_timeout != 0)
+ {
+ // If we hit our timeout and have textures available at even lower resolution, then update.
+ const BOOL is_update_textures_timeout = mNeedsUpdateTimer.getElapsedTimeF32() >= texture_timeout;
+ const BOOL has_lower_lod = mTexLayerSet->isLocalTextureDataAvailable();
+ if (has_lower_lod && is_update_textures_timeout) return TRUE;
+ }
+
+ return FALSE;
+}
+
+BOOL LLTexLayerSetBuffer::requestUpdateImmediate()
{
mNeedsUpdate = TRUE;
BOOL result = FALSE;
@@ -377,7 +420,9 @@ BOOL LLTexLayerSetBuffer::updateImmediate()
return result;
}
-void LLTexLayerSetBuffer::readBackAndUpload()
+// Create the baked texture, send it out to the server, then wait for it to come
+// back so we can switch to using it.
+void LLTexLayerSetBuffer::doUpload()
{
llinfos << "Uploading baked " << mTexLayerSet->getBodyRegionName() << llendl;
LLViewerStats::getInstance()->incStat(LLViewerStats::ST_TEX_BAKES);
@@ -447,6 +492,7 @@ void LLTexLayerSetBuffer::readBackAndUpload()
LLBakedUploadData* baked_upload_data = new LLBakedUploadData(gAgentAvatarp,
this->mTexLayerSet,
asset_id);
+ // upload ID is used to avoid overlaps, e.g. when the user rapidly makes two changes outside of Face Edit.
mUploadID = asset_id;
// Upload the image
@@ -490,12 +536,13 @@ void LLTexLayerSetBuffer::readBackAndUpload()
// Print out notification that we uploaded this texture.
if (gSavedSettings.getBOOL("DebugAvatarRezTime"))
{
- std::string lod_str = highest_lod ? "HighRes" : "LowRes";
+ const std::string lod_str = highest_lod ? "HighRes" : "LowRes";
LLSD args;
args["EXISTENCE"] = llformat("%d",(U32)mTexLayerSet->getAvatar()->debugGetExistenceTimeElapsedF32());
args["TIME"] = llformat("%d",(U32)mNeedsUploadTimer.getElapsedTimeF32());
args["BODYREGION"] = mTexLayerSet->getBodyRegionName();
args["RESOLUTION"] = lod_str;
+ args["ACTION"] = "uploaded";
LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args);
llinfos << "Uploading [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUploadTimer.getElapsedTimeF32() << " ]" << llendl;
}
@@ -520,6 +567,37 @@ void LLTexLayerSetBuffer::readBackAndUpload()
delete [] baked_color_data;
}
+// Mostly bookkeeping; don't need to actually "do" anything since
+// render() will actually do the update.
+void LLTexLayerSetBuffer::doUpdate()
+{
+ const BOOL highest_lod = mTexLayerSet->isLocalTextureDataFinal();
+ if (highest_lod)
+ {
+ mNeedsUpdate = FALSE;
+ }
+ else
+ {
+ mNumLowresUpdates++;
+ }
+
+ restartUpdateTimer();
+
+ // Print out notification that we uploaded this texture.
+ if (gSavedSettings.getBOOL("DebugAvatarRezTime"))
+ {
+ const BOOL highest_lod = mTexLayerSet->isLocalTextureDataFinal();
+ const std::string lod_str = highest_lod ? "HighRes" : "LowRes";
+ LLSD args;
+ args["EXISTENCE"] = llformat("%d",(U32)mTexLayerSet->getAvatar()->debugGetExistenceTimeElapsedF32());
+ args["TIME"] = llformat("%d",(U32)mNeedsUpdateTimer.getElapsedTimeF32());
+ args["BODYREGION"] = mTexLayerSet->getBodyRegionName();
+ args["RESOLUTION"] = lod_str;
+ args["ACTION"] = "locally updated";
+ LLNotificationsUtil::add("AvatarRezSelfBakeNotification",args);
+ llinfos << "Locally updating [ name: " << mTexLayerSet->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUpdateTimer.getElapsedTimeF32() << " ]" << llendl;
+ }
+}
// static
void LLTexLayerSetBuffer::onTextureUploadComplete(const LLUUID& uuid,
@@ -931,7 +1009,7 @@ void LLTexLayerSet::setUpdatesEnabled( BOOL b )
void LLTexLayerSet::updateComposite()
{
createComposite();
- mComposite->updateImmediate();
+ mComposite->requestUpdateImmediate();
}
LLTexLayerSetBuffer* LLTexLayerSet::getComposite()
diff --git a/indra/newview/lltexlayer.h b/indra/newview/lltexlayer.h
index cb2e1faaa6..745cd88c47 100644
--- a/indra/newview/lltexlayer.h
+++ b/indra/newview/lltexlayer.h
@@ -270,47 +270,69 @@ class LLTexLayerSetBuffer : public LLViewerDynamicTexture
public:
LLTexLayerSetBuffer(LLTexLayerSet* const owner, S32 width, S32 height);
virtual ~LLTexLayerSetBuffer();
- /*virtual*/ S8 getType() const;
- virtual void preRender(BOOL clear_depth);
- virtual void postRender(BOOL success);
- virtual BOOL render();
- BOOL updateImmediate();
+public:
+ /*virtual*/ S8 getType() const;
BOOL isInitialized(void) const;
- BOOL uploadPending() const; // We are expecting a new texture to be uploaded at some point
- BOOL uploadNeeded() const; // We need to upload a new texture
- BOOL uploadInProgress() const; // We have started uploading a new texture and are awaiting the result
+ static void dumpTotalByteCount();
+ const std::string dumpTextureInfo() const;
+ virtual void restoreGLTexture();
+ virtual void destroyGLTexture();
+protected:
+ void pushProjection() const;
+ void popProjection() const;
+private:
+ LLTexLayerSet* const mTexLayerSet;
+ static S32 sGLByteCount;
+ //--------------------------------------------------------------------
+ // Render
+ //--------------------------------------------------------------------
+public:
/*virtual*/ BOOL needsRender();
- void requestUpdate();
+protected:
+ BOOL render(S32 x, S32 y, S32 width, S32 height);
+ virtual void preRender(BOOL clear_depth);
+ virtual void postRender(BOOL success);
+ virtual BOOL render();
+
+ //--------------------------------------------------------------------
+ // Uploads
+ //--------------------------------------------------------------------
+public:
void requestUpload();
void cancelUpload();
- BOOL render(S32 x, S32 y, S32 width, S32 height);
- void readBackAndUpload();
+ BOOL uploadNeeded() const; // We need to upload a new texture
+ BOOL uploadInProgress() const; // We have started uploading a new texture and are awaiting the result
+ BOOL uploadPending() const; // We are expecting a new texture to be uploaded at some point
static void onTextureUploadComplete(const LLUUID& uuid,
void* userdata,
S32 result, LLExtStat ext_status);
- static void dumpTotalByteCount();
- const std::string dumpTextureInfo() const;
- virtual void restoreGLTexture();
- virtual void destroyGLTexture();
-
-
protected:
- void pushProjection() const;
- void popProjection() const;
BOOL isReadyToUpload() const;
+ void doUpload(); // Does a read back and upload.
void conditionalRestartUploadTimer();
-
private:
- LLTexLayerSet* const mTexLayerSet;
- BOOL mNeedsUpdate; // whether we need to update our baked textures
- BOOL mNeedsUpload; // whether we need to send our baked textures to the server
- U32 mNumLowresUploads; // number of times we've sent a lowres version of our baked textures to the server
- BOOL mUploadPending; // whether we have received back the new baked textures
- LLUUID mUploadID; // the current upload process (null if none). Used to avoid overlaps, e.g. when the user rapidly makes two changes outside of Face Edit.
- static S32 sGLByteCount;
- LLFrameTimer mNeedsUploadTimer; // Tracks time since upload was requested
+ BOOL mNeedsUpload; // Whether we need to send our baked textures to the server
+ U32 mNumLowresUploads; // Number of times we've sent a lowres version of our baked textures to the server
+ BOOL mUploadPending; // Whether we have received back the new baked textures
+ LLUUID mUploadID; // The current upload process (null if none).
+ LLFrameTimer mNeedsUploadTimer; // Tracks time since upload was requested and performed.
+
+ //--------------------------------------------------------------------
+ // Updates
+ //--------------------------------------------------------------------
+public:
+ void requestUpdate();
+ BOOL requestUpdateImmediate();
+protected:
+ BOOL isReadyToUpdate() const;
+ void doUpdate();
+ void restartUpdateTimer();
+private:
+ BOOL mNeedsUpdate; // Whether we need to locally update our baked textures
+ U32 mNumLowresUpdates; // Number of times we've locally updated with lowres version of our baked textures
+ LLFrameTimer mNeedsUpdateTimer; // Tracks time since update was requested and performed.
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index 8ea4dbeb04..b588ff91d1 100644
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -450,14 +450,14 @@ void LLAvatarTexBar::draw()
text_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
line_num++;
}
- const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureTimeout");
+ const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureUploadTimeout");
const U32 override_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel");
LLColor4 header_color(1.f, 1.f, 1.f, 0.9f);
const std::string texture_timeout_str = texture_timeout ? llformat("%d",texture_timeout) : "Disabled";
const std::string override_tex_discard_level_str = override_tex_discard_level ? llformat("%d",override_tex_discard_level) : "Disabled";
- std::string header_text = llformat("[ Timeout('AvatarBakedTextureTimeout'):%s ] [ LOD_Override('TextureDiscardLevel'):%s ]", texture_timeout_str.c_str(), override_tex_discard_level_str.c_str());
+ std::string header_text = llformat("[ Timeout('AvatarBakedTextureUploadTimeout'):%s ] [ LOD_Override('TextureDiscardLevel'):%s ]", texture_timeout_str.c_str(), override_tex_discard_level_str.c_str());
LLFontGL::getFontMonospace()->renderUTF8(header_text, 0, l_offset, v_offset + line_height*line_num,
header_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
line_num++;
diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp
index fa21b1a866..81559429b0 100644
--- a/indra/newview/lltoolmorph.cpp
+++ b/indra/newview/lltoolmorph.cpp
@@ -147,7 +147,7 @@ void LLVisualParamHint::requestHintUpdates( LLVisualParamHint* exception1, LLVis
BOOL LLVisualParamHint::needsRender()
{
- return mNeedsUpdate && mDelayFrames-- <= 0 && !gAgentAvatarp->mAppearanceAnimating && mAllowsUpdates;
+ return mNeedsUpdate && mDelayFrames-- <= 0 && !gAgentAvatarp->getIsAppearanceAnimating() && mAllowsUpdates;
}
void LLVisualParamHint::preRender(BOOL clear_depth)
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index fe6988c526..04eb8164f8 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5106,7 +5106,7 @@ void process_alert_message(LLMessageSystem *msgsystem, void **user_data)
void process_alert_core(const std::string& message, BOOL modal)
{
- // HACK -- handle callbacks for specific alerts
+ // HACK -- handle callbacks for specific alerts. It also is localized in notifications.xml
if ( message == "You died and have been teleported to your home location")
{
LLViewerStats::getInstance()->incStat(LLViewerStats::ST_KILLED_COUNT);
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 928525244c..e38608bcfc 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -1615,6 +1615,7 @@ F32 LLViewerFetchedTexture::calcDecodePriority()
S32 ddiscard = MAX_DISCARD_LEVEL - (S32)desired;
ddiscard = llclamp(ddiscard, 0, MAX_DELTA_DISCARD_LEVEL_FOR_PRIORITY);
priority = (ddiscard + 1) * PRIORITY_DELTA_DISCARD_LEVEL_FACTOR;
+ setAdditionalDecodePriority(1.0f) ;//boost the textures without any data so far.
}
else if ((mMinDiscardLevel > 0) && (cur_discard <= mMinDiscardLevel))
{
@@ -3698,7 +3699,7 @@ void LLTexturePipelineTester::updateStablizingTime()
{
F32 t = mEndStablizingTime - mStartStablizingTime ;
- if(t > 0.0001f && (t - mTotalStablizingTime) < 0.0001f)
+ if(t > F_ALMOST_ZERO && (t - mTotalStablizingTime) < F_ALMOST_ZERO)
{
//already stablized
mTotalStablizingTime = LLImageGL::sLastFrameTime - mStartStablizingTime ;
@@ -3823,7 +3824,7 @@ LLMetricPerformanceTester::LLTestSession* LLTexturePipelineTester::loadTestSessi
//time
F32 start_time = (*log)[label]["StartFetchingTime"].asReal() ;
F32 cur_time = (*log)[label]["Time"].asReal() ;
- if(start_time - start_fetching_time > 0.0001f) //fetching has paused for a while
+ if(start_time - start_fetching_time > F_ALMOST_ZERO) //fetching has paused for a while
{
sessionp->mTotalFetchingTime += total_fetching_time ;
sessionp->mTotalGrayTime += total_gray_time ;
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 49b9fe1536..22fc595ea2 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -611,8 +611,9 @@ public:
// Appearance morphing
//--------------------------------------------------------------------
public:
- BOOL mAppearanceAnimating;
+ BOOL getIsAppearanceAnimating() const { return mAppearanceAnimating; }
private:
+ BOOL mAppearanceAnimating;
LLFrameTimer mAppearanceMorphTimer;
F32 mLastAppearanceBlendTime;
@@ -622,7 +623,7 @@ private:
public:
void setClothesColor(LLVOAvatarDefines::ETextureIndex te, const LLColor4& new_color, BOOL upload_bake);
LLColor4 getClothesColor(LLVOAvatarDefines::ETextureIndex te);
- static BOOL teToColorParams(LLVOAvatarDefines::ETextureIndex te, U32 *param_name);
+ static BOOL teToColorParams(LLVOAvatarDefines::ETextureIndex te, U32 *param_name);
//--------------------------------------------------------------------
// Global colors
diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp
index 10537a6eb5..0efe6682be 100644
--- a/indra/newview/llvotree.cpp
+++ b/indra/newview/llvotree.cpp
@@ -73,7 +73,7 @@ S32 LLVOTree::sLODVertexCount[sMAX_NUM_TREE_LOD_LEVELS];
S32 LLVOTree::sLODIndexOffset[sMAX_NUM_TREE_LOD_LEVELS];
S32 LLVOTree::sLODIndexCount[sMAX_NUM_TREE_LOD_LEVELS];
S32 LLVOTree::sLODSlices[sMAX_NUM_TREE_LOD_LEVELS] = {10, 5, 4, 3};
-F32 LLVOTree::sLODAngles[sMAX_NUM_TREE_LOD_LEVELS] = {30.f, 20.f, 15.f, 0.00001f};
+F32 LLVOTree::sLODAngles[sMAX_NUM_TREE_LOD_LEVELS] = {30.f, 20.f, 15.f, F_ALMOST_ZERO};
F32 LLVOTree::sTreeFactor = 1.f;
diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp
index 401e2cdb1b..dfa7ca7136 100644
--- a/indra/newview/llwearable.cpp
+++ b/indra/newview/llwearable.cpp
@@ -444,7 +444,6 @@ BOOL LLWearable::importFile( LLFILE* file )
delete mSavedTEMap[te];
}
- image->setBoostLevel(LLViewerTexture::BOOST_AVATAR_SELF) ;
image->setLoadedCallback(LLVOAvatarSelf::debugOnTimingLocalTexLoaded,0,TRUE,FALSE, new LLVOAvatarSelf::LLAvatarTexData(id, (LLVOAvatarDefines::ETextureIndex)te), NULL);
LLUUID textureid(text_buffer);
diff --git a/indra/newview/skins/default/xui/da/floater_camera.xml b/indra/newview/skins/default/xui/da/floater_camera.xml
index a1b98ec4ce..5b7ef6db54 100644
--- a/indra/newview/skins/default/xui/da/floater_camera.xml
+++ b/indra/newview/skins/default/xui/da/floater_camera.xml
@@ -22,6 +22,35 @@
Se objekt
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Se forfra
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Se fra siden
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Se bagfra
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Se fra objekt
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Førsteperson
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Zoom kamera mod fokus">
<joystick_rotate name="cam_rotate_stick" tool_tip="Kamera kredser rundt om fokus"/>
<slider_bar name="zoom_slider" tool_tip="Zoom kamera mod fokus"/>
diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml
index 96da784fe4..35551318d1 100644
--- a/indra/newview/skins/default/xui/da/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/da/menu_inventory.xml
@@ -59,6 +59,7 @@
<menu_item_call label="Kopiér" name="Copy"/>
<menu_item_call label="Indsæt" name="Paste"/>
<menu_item_call label="Sæt ind som link" name="Paste As Link"/>
+ <menu_item_call label="Slet" name="Remove Link"/>
<menu_item_call label="Slet" name="Delete"/>
<menu_item_call label="Slet systemfolder" name="Delete System Folder"/>
<menu_item_call label="start konference chat" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/da/menu_inventory_add.xml b/indra/newview/skins/default/xui/da/menu_inventory_add.xml
index dc79e4109e..07f70d7190 100644
--- a/indra/newview/skins/default/xui/da/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/da/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Hent mange (L$[COST] pr. fil)..." name="Bulk Upload"/>
+ <menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/>
</menu>
<menu_item_call label="Ny mappe" name="New Folder"/>
<menu_item_call label="Nyt script" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml
index 0d36a08652..bb4ee1800a 100644
--- a/indra/newview/skins/default/xui/da/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/da/menu_viewer.xml
@@ -92,7 +92,6 @@
<menu_item_call label="Sæt scripts til &quot;Not Running&quot;" name="Set Scripts to Not Running"/>
</menu>
<menu label="Valg" name="Options">
- <menu_item_call label="Sæt standard rettigheder" name="perm prefs"/>
<menu_item_check label="Vis avancerede rettigheder" name="DebugPermissions"/>
<menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects"/>
<menu_item_check label="Vis kun flytbare objekter" name="Select Only Movable Objects"/>
@@ -110,6 +109,7 @@
<menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Mange (L$[COST] pr. fil)..." name="Bulk Upload"/>
+ <menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/>
</menu>
</menu>
<menu label="Hjælp" name="Help">
diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml
index 163df5b8d2..73a42e7fb8 100644
--- a/indra/newview/skins/default/xui/da/notifications.xml
+++ b/indra/newview/skins/default/xui/da/notifications.xml
@@ -231,7 +231,7 @@ Er du sikker på at du vil fortsætte?
Slet favorit &lt;nolink&gt;[PICK]&lt;/nolink&gt;?
</notification>
<notification name="DeleteOutfits">
- Slet valgte sæt?
+ Slet det valgte sæt?
<usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/>
</notification>
<notification name="CacheWillClear">
diff --git a/indra/newview/skins/default/xui/da/panel_nearby_media.xml b/indra/newview/skins/default/xui/da/panel_nearby_media.xml
index 9b8b70bb34..7d25b2af99 100644
--- a/indra/newview/skins/default/xui/da/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/da/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Mere &gt;&gt;" label_selected="Mindre &lt;&lt;" name="less_btn" tool_tip="Advancerede kontroller"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Media tæt på
+ </text>
+ <text name="show_text">
+ Vis:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Overalt" name="All"/>
<combo_box.item label="På dette sted" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Navn" name="media_name"/>
<scroll_list.columns label="Debug" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Stop valgte medie"/>
diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml
index b6580a4515..9b33ca6f0d 100644
--- a/indra/newview/skins/default/xui/da/strings.xml
+++ b/indra/newview/skins/default/xui/da/strings.xml
@@ -181,6 +181,7 @@
<string name="TooltipMustSingleDrop">
Kun et enkelt element kan trækkes ind her
</string>
+ <string name="TooltipPrice" value="L$[BELØB]:"/>
<string name="TooltipHttpUrl">
Klik for at se denne hjemmeside
</string>
@@ -233,7 +234,6 @@
Klik for at starte secondlife:// kommando
</string>
<string name="CurrentURL" value=" Nuværende URL: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportér til
</string>
@@ -882,12 +882,57 @@
<string name="invalid_not_worn">
ugyldig
</string>
+ <string name="create_new_shape">
+ Opret ny figur
+ </string>
+ <string name="create_new_skin">
+ Opret nyt hud
+ </string>
+ <string name="create_new_hair">
+ Opret nyt hår
+ </string>
+ <string name="create_new_eyes">
+ Opret nye øjne
+ </string>
+ <string name="create_new_shirt">
+ Opret ny trøje
+ </string>
+ <string name="create_new_pants">
+ Opret nye bukser
+ </string>
+ <string name="create_new_shoes">
+ Opret nye sko
+ </string>
+ <string name="create_new_socks">
+ Opret nye strømper
+ </string>
+ <string name="create_new_jacket">
+ Opret ny jakke
+ </string>
+ <string name="create_new_gloves">
+ Opret nye handsker
+ </string>
+ <string name="create_new_undershirt">
+ Opret ny undertrøje
+ </string>
+ <string name="create_new_underpants">
+ Opret nye underbukser
+ </string>
+ <string name="create_new_skirt">
+ Opret ny nederdel
+ </string>
+ <string name="create_new_alpha">
+ Opret ny alpha
+ </string>
+ <string name="create_new_tattoo">
+ Opret ny tatovering
+ </string>
+ <string name="create_new_invalid">
+ ugyldig
+ </string>
<string name="NewWearable">
Ny [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Opret [WEARABLE_TYPE]
- </string>
<string name="next">
Næste
</string>
@@ -1068,6 +1113,9 @@
<string name="InvFolder Favorite">
Favoritter
</string>
+ <string name="InvFolder favorite">
+ Favoritter
+ </string>
<string name="InvFolder Current Outfit">
Nuværende sæt
</string>
@@ -1603,12 +1651,6 @@
<string name="BusyModeResponseDefault">
Beboeren du sendte en besked er &apos;optaget&apos;, hvilket betyder at han/hun ikke vil forstyrres. Din besked vil blive vis i hans/hendes IM panel til senere visning.
</string>
- <string name="NoOutfits">
- Du har ikke nogen sæt endnu. Prøv [secondlife:///app/search/all/ Search]
- </string>
- <string name="NoOutfitsTabsMatched">
- Fandt du ikke hvad du søgte? Prøv [secondlife:///app/search/all/[SEARCH_TERM] Search].
- </string>
<string name="MuteByName">
(Efter navn)
</string>
diff --git a/indra/newview/skins/default/xui/de/floater_camera.xml b/indra/newview/skins/default/xui/de/floater_camera.xml
index 418e717bf6..d49c207f98 100644
--- a/indra/newview/skins/default/xui/de/floater_camera.xml
+++ b/indra/newview/skins/default/xui/de/floater_camera.xml
@@ -22,6 +22,35 @@
Objekt ansehen
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Vorderansicht
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Seitenansicht
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Hinteransicht
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Objektansicht
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Mouselook
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Kamera auf Fokus zoomen">
<joystick_rotate name="cam_rotate_stick" tool_tip="Kamera um Fokus kreisen"/>
<slider_bar name="zoom_slider" tool_tip="Kamera auf Fokus zoomen"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index 59e93b113d..43722e0dcf 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="Kopieren" name="Copy"/>
<menu_item_call label="Einfügen" name="Paste"/>
<menu_item_call label="Als Link einfügen" name="Paste As Link"/>
- <menu_item_call label="Link entfernen" name="Remove Link"/>
+ <menu_item_call label="Löschen" name="Remove Link"/>
<menu_item_call label="Löschen" name="Delete"/>
<menu_item_call label="Systemordner löschen" name="Delete System Folder"/>
<menu_item_call label="Konferenz-Chat starten" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
index 531edc02f1..dccee6712d 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/>
+ <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/>
</menu>
<menu_item_call label="Neuer Ordner" name="New Folder"/>
<menu_item_call label="Neues Skript" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index b9b6a8ed50..45ae8a0c95 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="Skripts auf nicht ausführen einstellen" name="Set Scripts to Not Running"/>
</menu>
<menu label="Optionen" name="Options">
- <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/>
<menu_item_check label="Erweiterte Berechtigungen anzeigen" name="DebugPermissions"/>
<menu_item_check label="Nur meine Objekte auswählen" name="Select Only My Objects"/>
<menu_item_check label="Nur bewegliche Objekte auswählen" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/>
+ <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/>
</menu>
</menu>
<menu label="Hilfe" name="Help">
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index 968f0f9ed1..24582e4be3 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -366,7 +366,7 @@ Sind Sie sicher, dass Sie fortfahren wollen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="DeleteOutfits">
- Das/Die ausgewählte(n) Outfit(s) löschen?
+ Das ausgewählte Outfit löschen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="PromptGoToEventsPage">
diff --git a/indra/newview/skins/default/xui/de/panel_nearby_media.xml b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
index 7c819c28af..e7886fa149 100644
--- a/indra/newview/skins/default/xui/de/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Mehr &gt;&gt;" label_selected="Weniger &lt;&lt;" name="less_btn" tool_tip="Erweiterte Steuerung"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Medien in der Nähe
+ </text>
+ <text name="show_text">
+ Anzeigen:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Alle" name="All"/>
<combo_box.item label="Auf dieser Parzelle" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Name" name="media_name"/>
<scroll_list.columns label="Fehler beseitigen" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Ausgewählte Medien stoppen"/>
diff --git a/indra/newview/skins/default/xui/de/panel_people.xml b/indra/newview/skins/default/xui/de/panel_people.xml
index 6db4cf76f1..8acb680175 100644
--- a/indra/newview/skins/default/xui/de/panel_people.xml
+++ b/indra/newview/skins/default/xui/de/panel_people.xml
@@ -56,7 +56,7 @@ Sie suchen nach Leuten? Verwenden Sie die [secondlife:///app/worldmap Karte].
<button label="IM" name="im_btn" tool_tip="Instant Messenger öffnen"/>
<button label="Anrufen" name="call_btn" tool_tip="Diesen Einwohner anrufen"/>
<button label="Teilen" name="share_btn" tool_tip="Inventarobjekt teilen"/>
- <button label="Teleportieren" name="teleport_btn" tool_tip="Teleport anbieten"/>
+ <button label="Teleport" name="teleport_btn" tool_tip="Teleport anbieten"/>
<button label="Gruppenprofil" name="group_info_btn" tool_tip="Gruppeninformationen anzeigen"/>
<button label="Gruppen-Chat" name="chat_btn" tool_tip="Chat öffnen"/>
<button label="Gruppe anrufen" name="group_call_btn" tool_tip="Diese Gruppe anrufen"/>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index 91aad12e72..abe03e1adb 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -196,6 +196,7 @@
<string name="TooltipMustSingleDrop">
Sie können nur ein einzelnes Objekt hierher ziehen
</string>
+ <string name="TooltipPrice" value="[AMOUNT] L$"/>
<string name="TooltipHttpUrl">
Anklicken, um Webseite anzuzeigen
</string>
@@ -248,7 +249,6 @@
Anklicken, um Befehl secondlife:// auszuführen
</string>
<string name="CurrentURL" value=" CurrentURL: [CurrentURL]"/>
- <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Teleportieren nach
</string>
@@ -906,12 +906,57 @@
<string name="invalid_not_worn">
ungültig
</string>
+ <string name="create_new_shape">
+ Neue Form/Gestalt erstellen
+ </string>
+ <string name="create_new_skin">
+ Neue Haut erstellen
+ </string>
+ <string name="create_new_hair">
+ Neue Haare erstellen
+ </string>
+ <string name="create_new_eyes">
+ Neue Augen erstellen
+ </string>
+ <string name="create_new_shirt">
+ Neues Hemd erstellen
+ </string>
+ <string name="create_new_pants">
+ Neue Hose erstellen
+ </string>
+ <string name="create_new_shoes">
+ Neue Schuhe erstellen
+ </string>
+ <string name="create_new_socks">
+ Neue Socken erstellen
+ </string>
+ <string name="create_new_jacket">
+ Neue Jacke erstellen
+ </string>
+ <string name="create_new_gloves">
+ Neue Handschuhe erstellen
+ </string>
+ <string name="create_new_undershirt">
+ Neues Unterhemd erstellen
+ </string>
+ <string name="create_new_underpants">
+ Neue Unterhose erstellen
+ </string>
+ <string name="create_new_skirt">
+ Neuer Rock erstellen
+ </string>
+ <string name="create_new_alpha">
+ Neue Alpha erstellen
+ </string>
+ <string name="create_new_tattoo">
+ Neue Tätowierung erstellen
+ </string>
+ <string name="create_new_invalid">
+ ungültig
+ </string>
<string name="NewWearable">
Neue/r/s [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- [WEARABLE_TYPE] erstellen
- </string>
<string name="next">
Weiter
</string>
@@ -1098,6 +1143,9 @@
<string name="InvFolder Favorite">
Favoriten
</string>
+ <string name="InvFolder favorite">
+ Favoriten
+ </string>
<string name="InvFolder Current Outfit">
Aktuelles Outfit
</string>
@@ -1639,12 +1687,6 @@
<string name="BusyModeResponseDefault">
Der Einwohner/Die Einwohnerin ist „beschäftigt”, d.h. er/sie möchte im Moment nicht gestört werden. Ihre Nachricht wird dem Einwohner/der Einwohnerin als IM angezeigt, und kann später beantwortet werden.
</string>
- <string name="NoOutfits">
- Sie haben noch Outfits. Versuchen Sie es mit der [secondlife:///app/search/all Suche].
- </string>
- <string name="NoOutfitsTabsMatched">
- Sie haben nicht das Richtige gefunden? Versuchen Sie es mit der [secondlife:///app/search/all/[SEARCH_TERM] Suche].
- </string>
<string name="MuteByName">
(Nach Namen)
</string>
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 04bdb4302c..95ee374e39 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -6343,7 +6343,7 @@ Avatar '[NAME]' left as fully loaded.
name="AvatarRezSelfBakeNotification"
type="notifytip">
( [EXISTENCE] seconds alive )
-You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds.
+You [ACTION] a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds.
</notification>
<notification
@@ -6402,11 +6402,14 @@ If you continue to have problems, please visit the [SUPPORT_SITE].
- Your system memory does not meet the minimum requirements.
</global>
-<!-- this is alert string from server. the name needs to match entire the server string, and needs to be changed
+<!-- these are alert strings from server. the name needs to match entire the server string, and needs to be changed
whenever the server string changes -->
<global name="You can only set your 'Home Location' on your land or at a mainland Infohub.">
If you own a piece of land, you can make it your home location.
Otherwise, you can look at the Map and find places marked &quot;Infohub&quot;.
</global>
+ <global name="You died and have been teleported to your home location">
+You died and have been teleported to your home location.
+ </global>
</notifications>
diff --git a/indra/newview/skins/default/xui/es/floater_camera.xml b/indra/newview/skins/default/xui/es/floater_camera.xml
index c625407ba2..ccf3d4bf91 100644
--- a/indra/newview/skins/default/xui/es/floater_camera.xml
+++ b/indra/newview/skins/default/xui/es/floater_camera.xml
@@ -22,6 +22,35 @@
Centrar el objeto
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ De frente
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Vista lateral
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Desde detrás
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Vista de objeto
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Vista subjetiva
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Hacer zoom con la cámara en lo enfocado">
<joystick_rotate name="cam_rotate_stick" tool_tip="La cámara gira alrededor del punto de vista"/>
<slider_bar name="zoom_slider" tool_tip="Hacer zoom en lo enfocado"/>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index 2937b0c4e3..94ee162bbc 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="Copiar" name="Copy"/>
<menu_item_call label="Pegar" name="Paste"/>
<menu_item_call label="Pegar como enlace" name="Paste As Link"/>
- <menu_item_call label="Quitar el enlace" name="Remove Link"/>
+ <menu_item_call label="Borrar" name="Remove Link"/>
<menu_item_call label="Borrar" name="Delete"/>
<menu_item_call label="Borrar carpeta del sistema" name="Delete System Folder"/>
<menu_item_call label="Empezar multiconferencia" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory_add.xml b/indra/newview/skins/default/xui/es/menu_inventory_add.xml
index 91cb4a08ff..ba106e8335 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/>
+ <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/>
</menu>
<menu_item_call label="Carpeta nueva" name="New Folder"/>
<menu_item_call label="Script nuevo" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index 66c0bf9311..f6ad18cf3a 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="Configurar scripts como no ejecutándose" name="Set Scripts to Not Running"/>
</menu>
<menu label="Opciones" name="Options">
- <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/>
<menu_item_check label="Mostrar los permisos avanzados" name="DebugPermissions"/>
<menu_item_check label="Seleccionar sólo mis objetos" name="Select Only My Objects"/>
<menu_item_check label="Seleccionar sólo los objetos movibles" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/>
+ <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/>
</menu>
</menu>
<menu label="Ayuda" name="Help">
diff --git a/indra/newview/skins/default/xui/es/panel_nearby_media.xml b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
index a3139dc099..b78ecd0cd0 100644
--- a/indra/newview/skins/default/xui/es/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="less_btn" tool_tip="Controles avanzados"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Media cercanos
+ </text>
+ <text name="show_text">
+ Mostrar:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Todo" name="All"/>
<combo_box.item label="En esta parcela" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Nombre" name="media_name"/>
<scroll_list.columns label="Depurar" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Parar los media seleccionados"/>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 917b0641cc..392e289a75 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -184,6 +184,7 @@
<string name="TooltipMustSingleDrop">
Aquí se puede arrastrar sólo un ítem
</string>
+ <string name="TooltipPrice" value="[AMOUNT] L$:"/>
<string name="TooltipHttpUrl">
Pulsa para ver esta página web
</string>
@@ -236,7 +237,6 @@
Pulsa para ejecutar el comando secondlife://
</string>
<string name="CurrentURL" value="URL actual: [CurrentURL]"/>
- <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Teleportarse a
</string>
@@ -885,12 +885,57 @@
<string name="invalid_not_worn">
no válido/a
</string>
+ <string name="create_new_shape">
+ Crear una anatomía nueva
+ </string>
+ <string name="create_new_skin">
+ Crear una piel nueva
+ </string>
+ <string name="create_new_hair">
+ Crear pelo nuevo
+ </string>
+ <string name="create_new_eyes">
+ Crear ojos nuevos
+ </string>
+ <string name="create_new_shirt">
+ Crear una camisa nueva
+ </string>
+ <string name="create_new_pants">
+ Crear unos pantalones nuevos
+ </string>
+ <string name="create_new_shoes">
+ Crear unos zapatos nuevos
+ </string>
+ <string name="create_new_socks">
+ Crear unos calcetines nuevos
+ </string>
+ <string name="create_new_jacket">
+ Crear una chaqueta nueva
+ </string>
+ <string name="create_new_gloves">
+ Crear unos guantes nuevos
+ </string>
+ <string name="create_new_undershirt">
+ Crear una camiseta nueva
+ </string>
+ <string name="create_new_underpants">
+ Crear ropa interior nueva
+ </string>
+ <string name="create_new_skirt">
+ Crear una falda nueva
+ </string>
+ <string name="create_new_alpha">
+ Crear una capa alfa nueva
+ </string>
+ <string name="create_new_tattoo">
+ Crear un tatuaje nuevo
+ </string>
+ <string name="create_new_invalid">
+ no válido/a
+ </string>
<string name="NewWearable">
Nuevo [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Crear [WEARABLE_TYPE]
- </string>
<string name="next">
Siguiente
</string>
@@ -1071,6 +1116,9 @@
<string name="InvFolder Favorite">
Favoritos
</string>
+ <string name="InvFolder favorite">
+ Favoritos
+ </string>
<string name="InvFolder Current Outfit">
Vestuario actual
</string>
@@ -1606,12 +1654,6 @@
<string name="BusyModeResponseDefault">
El Residente al que has enviado un mensaje ha solicitado que no se le moleste porque está en modo ocupado. Podrá ver tu mensaje más adelante, ya que éste aparecerá en su panel de MI.
</string>
- <string name="NoOutfits">
- Todavía no tienes vestuario. Intenta con [secondlife:///app/search/all/ Buscar]
- </string>
- <string name="NoOutfitsTabsMatched">
- ¿No encuentras lo que buscas? Intenta con [secondlife:///app/search/all/[SEARCH_TERM] Buscar].
- </string>
<string name="MuteByName">
(Por el nombre)
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_camera.xml b/indra/newview/skins/default/xui/fr/floater_camera.xml
index b0834fe170..1d62a89ff2 100644
--- a/indra/newview/skins/default/xui/fr/floater_camera.xml
+++ b/indra/newview/skins/default/xui/fr/floater_camera.xml
@@ -22,6 +22,35 @@
Voir l&apos;objet
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Vue frontale
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Vue latérale
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Vue arrière
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Vue de l&apos;objet
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Vue subjective
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Zoomer en direction du point central">
<joystick_rotate name="cam_rotate_stick" tool_tip="Faire tourner la caméra autour du point central"/>
<slider_bar name="zoom_slider" tool_tip="Zoomer en direction du point central"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index 39aa22f5cd..a2279cf0ac 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="Copier" name="Copy"/>
<menu_item_call label="Coller" name="Paste"/>
<menu_item_call label="Coller comme lien" name="Paste As Link"/>
- <menu_item_call label="Supprimer le lien" name="Remove Link"/>
+ <menu_item_call label="Supprimer" name="Remove Link"/>
<menu_item_call label="Supprimer" name="Delete"/>
<menu_item_call label="Supprimer le dossier système" name="Delete System Folder"/>
<menu_item_call label="Démarrer le chat conférence" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory_add.xml b/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
index 57b0a768c2..fe096b4a7e 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/>
+ <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/>
</menu>
<menu_item_call label="Nouveau dossier" name="New Folder"/>
<menu_item_call label="Nouveau script" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index cd0e41e496..6338fa0cd0 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="Définir les scripts sur Pas d&apos;exécution" name="Set Scripts to Not Running"/>
</menu>
<menu label="Options" name="Options">
- <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/>
<menu_item_check label="Afficher les droits avancés" name="DebugPermissions"/>
<menu_item_check label="Sélectionner mes objets uniquement" name="Select Only My Objects"/>
<menu_item_check label="Sélectionner les objets déplaçables uniquement" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/>
+ <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/>
</menu>
</menu>
<menu label="Aide" name="Help">
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 59c978bb6b..5cb42a0435 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -358,7 +358,7 @@ Voulez-vous vraiment continuer ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="DeleteOutfits">
- Supprimer la ou les tenues sélectionnées ?
+ Supprimer la tenue sélectionnée ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="PromptGoToEventsPage">
diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
index 0b92dddeb7..978ca86d62 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Plus &gt;&gt;" label_selected="Moins &lt;&lt;" name="less_btn" tool_tip="Options avancées"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Médias proches
+ </text>
+ <text name="show_text">
+ Afficher :
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Tout" name="All"/>
<combo_box.item label="Sur cette parcelle" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Nom" name="media_name"/>
<scroll_list.columns label="Débogage" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Arrêter le média sélectionné"/>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index e6da5f4a3d..0a269016f5 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -196,6 +196,7 @@
<string name="TooltipMustSingleDrop">
Impossible de faire glisser plus d&apos;un objet ici
</string>
+ <string name="TooltipPrice" value="[AMOUNT] L$ :"/>
<string name="TooltipHttpUrl">
Cliquez pour afficher cette page web
</string>
@@ -248,7 +249,6 @@
Cliquez pour exécuter la commande secondlife:// command
</string>
<string name="CurrentURL" value=" URL actuelle : [CurrentURL]"/>
- <string name="TooltipPrice" value="[AMOUNT]L$: "/>
<string name="SLurlLabelTeleport">
Me téléporter vers
</string>
@@ -906,12 +906,57 @@
<string name="invalid_not_worn">
non valide
</string>
+ <string name="create_new_shape">
+ Créer une nouvelle silhouette
+ </string>
+ <string name="create_new_skin">
+ Créer une nouvelle peau
+ </string>
+ <string name="create_new_hair">
+ Créer de nouveaux cheveux
+ </string>
+ <string name="create_new_eyes">
+ Créer de nouveaux yeux
+ </string>
+ <string name="create_new_shirt">
+ Créer une nouvelle chemise
+ </string>
+ <string name="create_new_pants">
+ Créer un nouveau pantalon
+ </string>
+ <string name="create_new_shoes">
+ Créer de nouvelles chaussures
+ </string>
+ <string name="create_new_socks">
+ Créer de nouvelles chaussettes
+ </string>
+ <string name="create_new_jacket">
+ Créer une nouvelle veste
+ </string>
+ <string name="create_new_gloves">
+ Créer de nouveaux gants
+ </string>
+ <string name="create_new_undershirt">
+ Créer un nouveau débardeur
+ </string>
+ <string name="create_new_underpants">
+ Créer un nouveau caleçon
+ </string>
+ <string name="create_new_skirt">
+ Créer une nouvelle jupe
+ </string>
+ <string name="create_new_alpha">
+ Créer un nouvel alpha
+ </string>
+ <string name="create_new_tattoo">
+ Créer un nouveau tatouage
+ </string>
+ <string name="create_new_invalid">
+ non valide
+ </string>
<string name="NewWearable">
Nouv. [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Créer [WEARABLE_TYPE]
- </string>
<string name="next">
Suivant
</string>
@@ -1098,6 +1143,9 @@
<string name="InvFolder Favorite">
Favoris
</string>
+ <string name="InvFolder favorite">
+ Favoris
+ </string>
<string name="InvFolder Current Outfit">
Tenue actuelle
</string>
@@ -1639,12 +1687,6 @@
<string name="BusyModeResponseDefault">
Le résident auquel vous avez envoyé un message est en mode Occupé, ce qui signifie qu&apos;il a demandé à ne pas être dérangé. Votre message restera affiché dans son panneau IM afin qu&apos;il puisse le lire ultérieurement.
</string>
- <string name="NoOutfits">
- Aucune tenue n&apos;est actuellement en votre possession. Essayez [secondlife:///app/search/all Rechercher].
- </string>
- <string name="NoOutfitsTabsMatched">
- Vous n&apos;avez pas trouvé ce que vous cherchiez ? Essayez [secondlife:///app/search/all/Rechercher [SEARCH_TERM]].
- </string>
<string name="MuteByName">
(par nom)
</string>
@@ -3817,5 +3859,4 @@ de l&apos;infraction signalée
<string name="dateTimePM">
PM
</string>
- <string name="LocalEstimateUSD">[AMOUNT] US$</string>
</strings>
diff --git a/indra/newview/skins/default/xui/it/floater_camera.xml b/indra/newview/skins/default/xui/it/floater_camera.xml
index f524bf9874..3fdf4f48a2 100644
--- a/indra/newview/skins/default/xui/it/floater_camera.xml
+++ b/indra/newview/skins/default/xui/it/floater_camera.xml
@@ -22,6 +22,35 @@
Vedi oggetto
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Visuale frontale
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Visuale laterale
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Visuale posteriore
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Visuale oggetto
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Visuale soggettiva
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Avvicina la telecamera nell&apos;inquadratura">
<joystick_rotate name="cam_rotate_stick" tool_tip="Ruota la visuale intorno al punto focale"/>
<slider_bar name="zoom_slider" tool_tip="Zoom verso il centro focale"/>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index 0f879ad9cc..f2eb8b1bf7 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="Copia" name="Copy"/>
<menu_item_call label="Incolla" name="Paste"/>
<menu_item_call label="Incolla come link" name="Paste As Link"/>
- <menu_item_call label="Rimuovi link" name="Remove Link"/>
+ <menu_item_call label="Elimina" name="Remove Link"/>
<menu_item_call label="Cancella" name="Delete"/>
<menu_item_call label="Elimina la cartella di sistema" name="Delete System Folder"/>
<menu_item_call label="Inizia la conferenza chat" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory_add.xml b/indra/newview/skins/default/xui/it/menu_inventory_add.xml
index 05f53f44ba..5e61625f84 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Suono ([COST]L$)..." name="Upload Sound"/>
<menu_item_call label="Animazione ([COST]L$)..." name="Upload Animation"/>
<menu_item_call label="In blocco ([COST]L$ per file)..." name="Bulk Upload"/>
+ <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
</menu>
<menu_item_call label="Nuova cartella" name="New Folder"/>
<menu_item_call label="Nuovo script" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index 6290b79211..f0dd035b5d 100644
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="Imposta script come non in esecuzione" name="Set Scripts to Not Running"/>
</menu>
<menu label="Opzioni" name="Options">
- <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
<menu_item_check label="Mostra autorizzazioni avanzate" name="DebugPermissions"/>
<menu_item_check label="Seleziona solo i miei oggetti" name="Select Only My Objects"/>
<menu_item_check label="Seleziona solo gli oggetti spostabili" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="Suono ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animazione ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="In blocco ([COST] L$ per file)..." name="Bulk Upload"/>
+ <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
</menu>
</menu>
<menu label="Aiuto" name="Help">
diff --git a/indra/newview/skins/default/xui/it/panel_nearby_media.xml b/indra/newview/skins/default/xui/it/panel_nearby_media.xml
index a5d42dce2d..bec36fd427 100644
--- a/indra/newview/skins/default/xui/it/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/it/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Più &gt;&gt;" label_selected="Meno &lt;&lt;" name="less_btn" tool_tip="Opzioni avanzate"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Multimedia vicini
+ </text>
+ <text name="show_text">
+ Mostra:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Tutto" name="All"/>
<combo_box.item label="In questo lotto" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Nome" name="media_name"/>
<scroll_list.columns label="Debug" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Interrompi supporto selezionato"/>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 52fbd87420..69c84be22c 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -190,6 +190,7 @@
<string name="TooltipMustSingleDrop">
Solo un singolo oggetto può essere creato qui
</string>
+ <string name="TooltipPrice" value="L$ [AMOUNT]:"/>
<string name="TooltipHttpUrl">
Clicca per visitare questa pagina web
</string>
@@ -242,7 +243,6 @@
Clicca per avviare il comando secondlife://
</string>
<string name="CurrentURL" value="URL attuale: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportati a
</string>
@@ -891,12 +891,57 @@
<string name="invalid_not_worn">
non valido
</string>
+ <string name="create_new_shape">
+ Crea nuova figura corporea
+ </string>
+ <string name="create_new_skin">
+ Crea nuova pelle
+ </string>
+ <string name="create_new_hair">
+ Crea nuovi capelli
+ </string>
+ <string name="create_new_eyes">
+ Crea nuovi occhi
+ </string>
+ <string name="create_new_shirt">
+ Crea nuova camicia
+ </string>
+ <string name="create_new_pants">
+ Crea nuovi pantaloni
+ </string>
+ <string name="create_new_shoes">
+ Crea nuove scarpe
+ </string>
+ <string name="create_new_socks">
+ Crea nuove calze
+ </string>
+ <string name="create_new_jacket">
+ Crea nuova giacca
+ </string>
+ <string name="create_new_gloves">
+ Crea nuovi guanti
+ </string>
+ <string name="create_new_undershirt">
+ Crea nuova maglietta intima
+ </string>
+ <string name="create_new_underpants">
+ Crea nuovi slip
+ </string>
+ <string name="create_new_skirt">
+ Crea nuova gonna
+ </string>
+ <string name="create_new_alpha">
+ Crea nuovo Alpha
+ </string>
+ <string name="create_new_tattoo">
+ Crea un nuovo tatuaggio
+ </string>
+ <string name="create_new_invalid">
+ non valido
+ </string>
<string name="NewWearable">
Nuovo [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Crea [WEARABLE_TYPE]
- </string>
<string name="next">
Avanti
</string>
@@ -1077,6 +1122,9 @@
<string name="InvFolder Favorite">
Preferiti
</string>
+ <string name="InvFolder favorite">
+ Preferiti
+ </string>
<string name="InvFolder Current Outfit">
Abbigliamento attuale
</string>
@@ -1612,12 +1660,6 @@
<string name="BusyModeResponseDefault">
Il residente al quale hai inviato un messaggio è in modalità &apos;occupato&apos;, ovvero ha chiesto di non essere disturbato. Il tuo messaggio comparirà nel suo pannello IM, dove potrà essere letto in un secondo momento.
</string>
- <string name="NoOutfits">
- Non hai ancora vestiario da indossare. Prova [secondlife:///app/search/all Cerca].
- </string>
- <string name="NoOutfitsTabsMatched">
- Non riesci a trovare quello che cerchi? Prova [secondlife:///app/search/all/[SEARCH_TERM] Cerca].
- </string>
<string name="MuteByName">
(In base al nome)
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_camera.xml b/indra/newview/skins/default/xui/ja/floater_camera.xml
index ec5c2a64a5..71a20c8e18 100644
--- a/indra/newview/skins/default/xui/ja/floater_camera.xml
+++ b/indra/newview/skins/default/xui/ja/floater_camera.xml
@@ -22,6 +22,35 @@
オブジェクトを見る
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ 前方視界
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ グループ視界
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ 後方視界
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ オブジェクト視点
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ 一人称視点
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="向いている方法にカメラをズーム">
<joystick_rotate name="cam_rotate_stick" tool_tip="自分を軸にカメラを回す"/>
<slider_bar name="zoom_slider" tool_tip="向いている方向にカメラをズーム"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index ceae7f7d9c..6999f9a3f3 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="コピー" name="Copy"/>
<menu_item_call label="貼り付け" name="Paste"/>
<menu_item_call label="リンクを貼り付ける" name="Paste As Link"/>
- <menu_item_call label="リンクを外す" name="Remove Link"/>
+ <menu_item_call label="削除" name="Remove Link"/>
<menu_item_call label="削除" name="Delete"/>
<menu_item_call label="システムフォルダを削除する" name="Delete System Folder"/>
<menu_item_call label="コンファレンスチャットを開始する" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory_add.xml b/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
index 14ad7900e1..42dcd06a07 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="サウンド (L$[COST] )..." name="Upload Sound"/>
<menu_item_call label="アニメーション (L$ [COST] )..." name="Upload Animation"/>
<menu_item_call label="一括 (ファイルにつき L$[COST] )..." name="Bulk Upload"/>
+ <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/>
</menu>
<menu_item_call label="新規フォルダ" name="New Folder"/>
<menu_item_call label="新規スクリプト" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index 7c4912fa07..164341ad2f 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="スクリプトを実行停止にする" name="Set Scripts to Not Running"/>
</menu>
<menu label="オプション" name="Options">
- <menu_item_call label="デフォルトのアップロード権限を設定する" name="perm prefs"/>
<menu_item_check label="権限の詳細を表示する" name="DebugPermissions"/>
<menu_item_check label="私のオブジェクトだけを選択する" name="Select Only My Objects"/>
<menu_item_check label="動的オブジェクトだけを選択する" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="サウンド(L$[COST])..." name="Upload Sound"/>
<menu_item_call label="アニメーション(L$[COST])..." name="Upload Animation"/>
<menu_item_call label="一括 (ファイルにつきL$[COST])..." name="Bulk Upload"/>
+ <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/>
</menu>
</menu>
<menu label="ヘルプ" name="Help">
diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
index 645f111135..b3df3503bb 100644
--- a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="詳細 &gt;&gt;" label_selected="簡易 &lt;&lt;" name="less_btn" tool_tip="アドバンスコントロール"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ 近くのメディア
+ </text>
+ <text name="show_text">
+ 表示:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="すべて" name="All"/>
<combo_box.item label="この区画内" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="名前" name="media_name"/>
<scroll_list.columns label="デバッグ" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="選択したメディアを停止"/>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index 3ed110df4d..350a98aaf0 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -196,6 +196,7 @@
<string name="TooltipMustSingleDrop">
アイテムは 1 つだけここにドラッグできます
</string>
+ <string name="TooltipPrice" value="L$[AMOUNT]:"/>
<string name="TooltipHttpUrl">
クリックしてこの Web ページを見ます
</string>
@@ -248,7 +249,6 @@
クリックして secondlife:// コマンドを出します
</string>
<string name="CurrentURL" value=" 現在の URL: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
テレポート
</string>
@@ -906,12 +906,57 @@
<string name="invalid_not_worn">
無効
</string>
+ <string name="create_new_shape">
+ 新しいシェイプを作成
+ </string>
+ <string name="create_new_skin">
+ 新しいスキンを作成
+ </string>
+ <string name="create_new_hair">
+ 新しい髪を作成
+ </string>
+ <string name="create_new_eyes">
+ 新しい目を作成
+ </string>
+ <string name="create_new_shirt">
+ 新しいシャツを作成
+ </string>
+ <string name="create_new_pants">
+ 新しいパンツを作成
+ </string>
+ <string name="create_new_shoes">
+ 新しい靴を作成
+ </string>
+ <string name="create_new_socks">
+ 新しい靴下を作成
+ </string>
+ <string name="create_new_jacket">
+ 新しい上着を作成
+ </string>
+ <string name="create_new_gloves">
+ 新しい手袋を作成
+ </string>
+ <string name="create_new_undershirt">
+ 新しい下着シャツを作成
+ </string>
+ <string name="create_new_underpants">
+ 新しい下着パンツを作成
+ </string>
+ <string name="create_new_skirt">
+ 新しいスカートを作成
+ </string>
+ <string name="create_new_alpha">
+ 新しいアルファを作成
+ </string>
+ <string name="create_new_tattoo">
+ 新しいタトゥを作成
+ </string>
+ <string name="create_new_invalid">
+ 無効
+ </string>
<string name="NewWearable">
新しい [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- [WEARABLE_TYPE]を作成
- </string>
<string name="next">
次へ
</string>
@@ -1098,6 +1143,9 @@
<string name="InvFolder Favorite">
お気に入り
</string>
+ <string name="InvFolder favorite">
+ お気に入り
+ </string>
<string name="InvFolder Current Outfit">
着用中のアウトフィット
</string>
@@ -1639,12 +1687,6 @@
<string name="BusyModeResponseDefault">
メッセージを送った住人は、誰にも邪魔をされたくないため現在「取り込み中」モードです。 あなたのメッセージは、あとで確認できるように IM パネルに表示されます。
</string>
- <string name="NoOutfits">
- アウトフィットがまだありません。[secondlife:///app/search/all/ 検索]をお試しください。
- </string>
- <string name="NoOutfitsTabsMatched">
- お探しのものは見つかりましたか?[secondlife:///app/search/all/[SEARCH_TERM] 検索]をお試しください。
- </string>
<string name="MuteByName">
(名称別)
</string>
diff --git a/indra/newview/skins/default/xui/pl/floater_camera.xml b/indra/newview/skins/default/xui/pl/floater_camera.xml
index b11da91b5b..bdff791609 100644
--- a/indra/newview/skins/default/xui/pl/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pl/floater_camera.xml
@@ -22,6 +22,35 @@
Zobacz obiekt
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Widok z przodu
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Podgląd grupy
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Widok z tyłu
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Widok obiektu
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Widok panoramiczny
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Najedź kamerą w kierunku obiektu">
<joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerę wokoł osi"/>
<slider_bar name="zoom_slider" tool_tip="Przybliż kamerę do ogniskowej"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_inventory.xml b/indra/newview/skins/default/xui/pl/menu_inventory.xml
index f26bc10c26..f1f7d0d855 100644
--- a/indra/newview/skins/default/xui/pl/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inventory.xml
@@ -59,6 +59,7 @@
<menu_item_call label="Kopiuj" name="Copy"/>
<menu_item_call label="Wklej" name="Paste"/>
<menu_item_call label="Wklej jako link" name="Paste As Link"/>
+ <menu_item_call label="Usuń" name="Remove Link"/>
<menu_item_call label="Usuń" name="Delete"/>
<menu_item_call label="Skasuj Folder Systemu" name="Delete System Folder"/>
<menu_item_call label="Rozpocznij konferencję czatową" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_inventory_add.xml b/indra/newview/skins/default/xui/pl/menu_inventory_add.xml
index b4d85c2c5c..8f520113c0 100644
--- a/indra/newview/skins/default/xui/pl/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="dźwięk (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="animację (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/>
+ <menu_item_call label="Ustaw domyślne pozwolenia ładowania" name="perm prefs"/>
</menu>
<menu_item_call label="Nowy folder" name="New Folder"/>
<menu_item_call label="Nowy skrypt" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml
index 5907e6b3f4..16a89b2b27 100644
--- a/indra/newview/skins/default/xui/pl/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml
@@ -92,7 +92,6 @@
<menu_item_call label="Wstrzymaj Działanie Skryptów w Selekcji" name="Set Scripts to Not Running"/>
</menu>
<menu label="Opcje" name="Options">
- <menu_item_call label="Ustaw Domyślne Pozwolenia Ładowania" name="perm prefs"/>
<menu_item_check label="Pokaż Zaawansowane Pozwolenia" name="DebugPermissions"/>
<menu_item_check label="Wybierz Tylko Moje Obiekty" name="Select Only My Objects"/>
<menu_item_check label="Wybierz Tylko Obiekty Przesuwalne" name="Select Only Movable Objects"/>
@@ -110,6 +109,7 @@
<menu_item_call label="dźwięk (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="animację (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="zbiór plików (L$[COST] za jeden plik)..." name="Bulk Upload"/>
+ <menu_item_call label="Ustaw domyślne pozwolenia ładowania" name="perm prefs"/>
</menu>
</menu>
<menu label="Pomoc" name="Help">
diff --git a/indra/newview/skins/default/xui/pl/panel_nearby_media.xml b/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
index 02ef002891..86c7275e79 100644
--- a/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/pl/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Więcej &gt;&gt;" label_selected="Mniej &lt;&lt;" name="less_btn" tool_tip="Zaawansowane"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Media w pobliżu
+ </text>
+ <text name="show_text">
+ Pokaż:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Wszystkie" name="All"/>
<combo_box.item label="Na obecnej Parceli" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Nazwa" name="media_name"/>
<scroll_list.columns label="Debugowanie" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Wyłącz wybrane media"/>
diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml
index 4a21b1447b..bd1fb6a5da 100644
--- a/indra/newview/skins/default/xui/pl/strings.xml
+++ b/indra/newview/skins/default/xui/pl/strings.xml
@@ -181,6 +181,7 @@
<string name="TooltipMustSingleDrop">
Tylko pojedynczy obiekt może być tutaj przeciągnięty
</string>
+ <string name="TooltipPrice" value="L$[AMOUNT]:"/>
<string name="TooltipHttpUrl">
Kliknij by zobaczyć zawartość tej strony internetowej
</string>
@@ -233,7 +234,6 @@
Kliknij by uruchomić secondlife:// command
</string>
<string name="CurrentURL" value=" Obecny Adres: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teleportuj do
</string>
@@ -882,12 +882,57 @@
<string name="invalid_not_worn">
nieważny
</string>
+ <string name="create_new_shape">
+ Nowy kształt
+ </string>
+ <string name="create_new_skin">
+ Nowa skórka
+ </string>
+ <string name="create_new_hair">
+ Nowe włosy
+ </string>
+ <string name="create_new_eyes">
+ Nowe oczy
+ </string>
+ <string name="create_new_shirt">
+ Nowa koszula
+ </string>
+ <string name="create_new_pants">
+ Nowe spodnie
+ </string>
+ <string name="create_new_shoes">
+ Nowe buty
+ </string>
+ <string name="create_new_socks">
+ Nowe skarpetki
+ </string>
+ <string name="create_new_jacket">
+ Nowa kurtka
+ </string>
+ <string name="create_new_gloves">
+ Nowe rękawiczki
+ </string>
+ <string name="create_new_undershirt">
+ Nowy podkoszulek
+ </string>
+ <string name="create_new_underpants">
+ Nowa bielizna
+ </string>
+ <string name="create_new_skirt">
+ Nowa spódnica
+ </string>
+ <string name="create_new_alpha">
+ Nowe alpha
+ </string>
+ <string name="create_new_tattoo">
+ Nowy tatuaż
+ </string>
+ <string name="create_new_invalid">
+ nieważny
+ </string>
<string name="NewWearable">
Nowa [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Stwórz [WEARABLE_TYPE]
- </string>
<string name="next">
Następne
</string>
@@ -1065,6 +1110,9 @@
<string name="InvFolder Gestures">
Gesturki
</string>
+ <string name="InvFolder favorite">
+ Ulubione
+ </string>
<string name="InvFolder Current Outfit">
Obecne Ubranie
</string>
@@ -1600,12 +1648,6 @@
<string name="BusyModeResponseDefault">
Rezydent, do którego wysłałeś wiadomość prywatną znajduje się w trybie pracy. Oznacza to, iż Twoja wiadomość zostanie zapisana do przeglądnięcia poźniej.
</string>
- <string name="NoOutfits">
- Nie posiadasz żadnych strojów. Spróbuj [secondlife:///app/search/all/ Szukaj]
- </string>
- <string name="NoOutfitsTabsMatched">
- Nie znaleziono tego czego szukasz? Spróbuj [secondlife:///app/search/all/[SEARCH_TERM] Szukaj].
- </string>
<string name="MuteByName">
(Nazwa)
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_camera.xml b/indra/newview/skins/default/xui/pt/floater_camera.xml
index 7343bd9aa8..4f3729c623 100644
--- a/indra/newview/skins/default/xui/pt/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pt/floater_camera.xml
@@ -22,6 +22,35 @@
Visualizar objeto
</floater.string>
<panel name="controls">
+ <panel name="preset_views_list">
+ <panel_camera_item name="front_view">
+ <panel_camera_item.text name="front_view_text">
+ Vista frontal
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="group_view">
+ <panel_camera_item.text name="side_view_text">
+ Vista lateral
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="rear_view">
+ <panel_camera_item.text name="rear_view_text">
+ Vista de trás
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
+ <panel name="camera_modes_list">
+ <panel_camera_item name="object_view">
+ <panel_camera_item.text name="object_view_text">
+ Vista de objetos
+ </panel_camera_item.text>
+ </panel_camera_item>
+ <panel_camera_item name="mouselook_view">
+ <panel_camera_item.text name="mouselook_view_text">
+ Vista do mouse
+ </panel_camera_item.text>
+ </panel_camera_item>
+ </panel>
<panel name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco">
<joystick_rotate name="cam_rotate_stick" tool_tip="Girar câmera ao redor do foco"/>
<slider_bar name="zoom_slider" tool_tip="Zoom de câmera para focalizar"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_land_holdings.xml b/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
index 2b0d6790f2..7475bdd5b8 100644
--- a/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
@@ -7,28 +7,28 @@
<column label="Área" name="area"/>
</scroll_list>
<button label="Teletransporte" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para o centro do terreno."/>
- <button label="Mapa" label_selected="Mapa" name="Show on Map" tool_tip="Mostrar terreno na mápa-mundi" width="130"/>
+ <button label="Mostrar no mapa" label_selected="Mapa" name="Show on Map" tool_tip="Mostrar terreno no mápa-mundi" width="130"/>
<text name="contrib_label">
- Contribuições para os seus grupos:
+ Contribuições de grupos:
</text>
<scroll_list name="grant list">
<column label="Grupo" name="group"/>
<column label="Área" name="area"/>
</scroll_list>
<text name="allowed_label" width="380">
- Propriedades de terreno permitidas com o plano de pagamento atual:
+ Metragem permitida com o plano atual:
</text>
<text left_delta="390" name="allowed_text">
[AREA] m²
</text>
<text name="current_label">
- Propriedades de terrenos atuais:
+ Metragem atual:
</text>
<text left_delta="390" name="current_text">
[AREA] m²
</text>
<text name="available_label">
- Disponível para compra de terras:
+ Metragem disponível para compra:
</text>
<text left_delta="390" name="available_text">
[AREA] m²
diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml
index e70bd0575e..67d8e35cf2 100644
--- a/indra/newview/skins/default/xui/pt/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tools.xml
@@ -342,9 +342,9 @@
<text name="text revolutions">
Revoluções
</text>
- <texture_picker label="Texture de Escultura" name="sculpt texture control" tool_tip="Click to choose a picture"/>
- <check_box label="Espelho" name="sculpt mirror control" tool_tip="Flips sculpted prim along the X axis"/>
- <check_box label="De dentro para fora" name="sculpt invert control" tool_tip="Inverts the sculpted prims normals, making it appear inside-out"/>
+ <texture_picker label="Textura de escultura" name="sculpt texture control" tool_tip="Selecionar imagem"/>
+ <check_box label="Espelho" name="sculpt mirror control" tool_tip="Inverte o prim esculpido no eixo X"/>
+ <check_box label="De dentro para fora" name="sculpt invert control" tool_tip="Inverte o prim esculpido normals, making it appear inside-out"/>
<text name="label sculpt type">
Tipo costura
</text>
@@ -361,9 +361,9 @@
Selecione apenas um prim para editar suas características.
</text>
<text name="edit_object">
- Editar características do Objeto:
+ Editar características do objeto:
</text>
- <check_box label="Flexíbilidade" name="Flexible1D Checkbox Ctrl" tool_tip="Allows object to flex about the Z axis (Client-side only)"/>
+ <check_box label="Flexibilidade" name="Flexible1D Checkbox Ctrl" tool_tip="Allows object to flex about the Z axis (Client-side only)"/>
<spinner label="Suavidade" name="FlexNumSections"/>
<spinner label="Gravidade" name="FlexGravity"/>
<spinner label="Arrastar" name="FlexFriction"/>
@@ -438,17 +438,17 @@
<combo_box.item label="Weave" name="weave"/>
</combo_box>
<text name="tex scale">
- Repeats / Face
+ Repetições/Face
</text>
<spinner label="Horizontal (U)" name="TexScaleU"/>
- <check_box label="Flip" name="checkbox flip s"/>
+ <check_box label="Inverter" name="checkbox flip s"/>
<spinner label="Vertical (V)" name="TexScaleV"/>
- <check_box label="Flip" name="checkbox flip t"/>
- <spinner label="Rotation˚" name="TexRot"/>
- <spinner label="Repeats / Meter" name="rptctrl"/>
+ <check_box label="Inverter" name="checkbox flip t"/>
+ <spinner label="Rotação˚" name="TexRot"/>
+ <spinner label="Repetições/Metro" name="rptctrl"/>
<button label="Aplicar" label_selected="Aplicar" name="button apply"/>
<text name="tex offset">
- Texture Offset
+ Offset de textura
</text>
<spinner label="Horizontal (U)" name="TexOffsetU"/>
<spinner label="Vertical (V)" name="TexOffsetV"/>
@@ -463,13 +463,13 @@
</panel>
</panel>
<panel label="Conteúdo" name="Contents">
- <button label="Novo Script" label_selected="Novo script" name="button new script"/>
+ <button label="Novo script" label_selected="Novo script" name="button new script"/>
<button label="Autorizações" name="button permissions"/>
</panel>
</tab_container>
<panel name="land info panel">
<text name="label_parcel_info">
- Informações do Lote
+ Informações do lote
</text>
<text name="label_area_price">
Preço: L$[PRICE] por [AREA] m²
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index 1ee197ce30..1b1efd3270 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -61,7 +61,7 @@
<menu_item_call label="Copiar" name="Copy"/>
<menu_item_call label="Colar" name="Paste"/>
<menu_item_call label="Colar como link" name="Paste As Link"/>
- <menu_item_call label="Remover link" name="Remove Link"/>
+ <menu_item_call label="Excluir" name="Remove Link"/>
<menu_item_call label="Apagar" name="Delete"/>
<menu_item_call label="Excluir pasta do sistema" name="Delete System Folder"/>
<menu_item_call label="Pasta conversa em conferência" name="Conference Chat Folder"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
index fc40384891..2723f39287 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/>
+ <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/>
</menu>
<menu_item_call label="Nova pasta" name="New Folder"/>
<menu_item_call label="Novo script" name="New Script"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index d9ff847647..d5e0808000 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -94,7 +94,6 @@
<menu_item_call label="Scripts em modo não execução" name="Set Scripts to Not Running"/>
</menu>
<menu label="Opções" name="Options">
- <menu_item_call label="Definir permissões padrão de upload" name="perm prefs"/>
<menu_item_check label="Mostrar permissões avançadas" name="DebugPermissions"/>
<menu_item_check label="Só selecionar meus objetos" name="Select Only My Objects"/>
<menu_item_check label="Só selecionar objetos móveis" name="Select Only Movable Objects"/>
@@ -112,6 +111,7 @@
<menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Volume (L$[COST] por arquivo)..." name="Bulk Upload"/>
+ <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/>
</menu>
</menu>
<menu label="Ajuda" name="Help">
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index 5ab5de59d9..2a1b5f995a 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -356,7 +356,7 @@ Tem certeza de que quer prosseguir?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/>
</notification>
<notification name="DeleteOutfits">
- Excluir look(s) selecionado(s)?
+ Excluir o look selecionado?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="PromptGoToEventsPage">
diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
index acab2cb897..672b8e6735 100644
--- a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
@@ -23,6 +23,12 @@
<button label="Mais &gt;&gt;" label_selected="Menos &lt;&lt;" name="less_btn" tool_tip="Controles avançados"/>
</panel>
<panel name="nearby_media_panel">
+ <text name="nearby_media_title">
+ Mídia por perto
+ </text>
+ <text name="show_text">
+ Mostrar:
+ </text>
<combo_box name="show_combo">
<combo_box.item label="Tudo" name="All"/>
<combo_box.item label="Neste lote" name="WithinParcel"/>
@@ -36,7 +42,7 @@
<scroll_list.columns label="Nome" name="media_name"/>
<scroll_list.columns label="Depurar" name="media_debug"/>
</scroll_list>
- <panel name="media_controls_panel">
+ <panel>
<layout_stack name="media_controls">
<layout_panel name="stop">
<button name="stop_btn" tool_tip="Parar mídia selecionada"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_place_profile.xml b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
index 554c4d897d..af6c9ea346 100644
--- a/indra/newview/skins/default/xui/pt/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
@@ -7,7 +7,7 @@
<string name="allocated" value="alocados"/>
<string name="title_place" value="Perfil da região"/>
<string name="title_teleport_history" value="Teletransportes"/>
- <string name="not_available" value="(N\A)"/>
+ <string name="not_available" value="(N/A)"/>
<string name="unknown" value="(Desconhecido)"/>
<string name="public" value="(público)"/>
<string name="none_text" value="(nenhum)"/>
@@ -56,7 +56,7 @@
<text name="voice_value" value="Ligado"/>
<text name="fly_label" value="Voar:"/>
<text name="fly_value" value="Ligado"/>
- <text name="push_label" value="Empurrar:"/>
+ <text name="push_label" value="Empurrões:"/>
<text name="push_value" value="Desligado"/>
<text name="build_label" value="Construir:"/>
<text name="build_value" value="Ligado"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_general.xml b/indra/newview/skins/default/xui/pt/panel_region_general.xml
index d1a5eaa11e..e06f3c74bf 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_general.xml
@@ -18,26 +18,26 @@
<text name="region_type">
desconhecido
</text>
- <check_box label="Bloquear Terraform" name="block_terraform_check"/>
- <check_box label="Bloquear Vôo" name="block_fly_check"/>
- <check_box label="Permitir Dano" name="allow_damage_check"/>
- <check_box label="Restringir Empurrar" name="restrict_pushobject"/>
- <check_box label="Permitir Revenda de Terra" name="allow_land_resell_check"/>
- <check_box label="Permitir Unir/Dividir Terra" name="allow_parcel_changes_check"/>
- <check_box label="Bloquear Mostrar Terra na Busca" name="block_parcel_search_check" tool_tip="Permitir que as pessoas vejam esta região e seus lotes nos resultados de busca"/>
- <spinner label="Limit do Agente" name="agent_limit_spin"/>
- <spinner label="Objeto Bonus" name="object_bonus_spin"/>
+ <check_box label="Bloquear terraplenagem" name="block_terraform_check"/>
+ <check_box label="Bloquear voos" name="block_fly_check"/>
+ <check_box label="Permitir dano" name="allow_damage_check"/>
+ <check_box label="Restringir empurrões" name="restrict_pushobject"/>
+ <check_box label="Permitir revenda do terreno" name="allow_land_resell_check"/>
+ <check_box label="Permitir junção/divisão do terreno" name="allow_parcel_changes_check"/>
+ <check_box label="Bloquear exibição do terreno na busca" name="block_parcel_search_check" tool_tip="Permitir que as pessoas vejam esta região e seus lotes nos resultados de busca"/>
+ <spinner label="Limite do agente" name="agent_limit_spin"/>
+ <spinner label="Bônus de objetos" name="object_bonus_spin"/>
<text label="Maturidade" name="access_text">
Classificação:
</text>
<icons_combo_box label="Mature" name="access_combo">
- <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="Adulto" name="Adult" value="42"/>
+ <icons_combo_box.item label="Moderado" name="Mature" value="21"/>
+ <icons_combo_box.item label="Geral" name="PG" value="13"/>
</icons_combo_box>
<button label="Aplicar" name="apply_btn"/>
<button label="Teletransportar um residente para início..." name="kick_btn"/>
<button label="Teletransportar todos para início..." name="kick_all_btn"/>
- <button label="Enviar Mensagem para a Região..." name="im_btn"/>
- <button label="Gerenciar Telehub..." name="manage_telehub_btn"/>
+ <button label="Enviar mensagem para a região..." name="im_btn"/>
+ <button label="Gerenciar telehub..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 9d9f33fdc8..f0a4a4e2a6 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -184,6 +184,7 @@
<string name="TooltipMustSingleDrop">
Apenas um item único pode ser arrastado para este local
</string>
+ <string name="TooltipPrice" value="L$[AMOUNT]"/>
<string name="TooltipHttpUrl">
Clique para ver a página web
</string>
@@ -236,7 +237,6 @@
Clique para ativar no secondlife:// comando
</string>
<string name="CurrentURL" value="URL atual: [CurrentURL]"/>
- <string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="SLurlLabelTeleport">
Teletransportar para
</string>
@@ -885,12 +885,57 @@
<string name="invalid_not_worn">
inválido
</string>
+ <string name="create_new_shape">
+ Criar novo físico
+ </string>
+ <string name="create_new_skin">
+ Criar pele nova
+ </string>
+ <string name="create_new_hair">
+ Criar cabelo novo
+ </string>
+ <string name="create_new_eyes">
+ Criar olhos novos
+ </string>
+ <string name="create_new_shirt">
+ Criar camisa nova
+ </string>
+ <string name="create_new_pants">
+ Criar calças novas
+ </string>
+ <string name="create_new_shoes">
+ Criar sapatos novos
+ </string>
+ <string name="create_new_socks">
+ Criar meias novas
+ </string>
+ <string name="create_new_jacket">
+ Criar jaqueta nova
+ </string>
+ <string name="create_new_gloves">
+ Criar luvas novas
+ </string>
+ <string name="create_new_undershirt">
+ Criar camiseta nova
+ </string>
+ <string name="create_new_underpants">
+ Criar roupa de baixo nova
+ </string>
+ <string name="create_new_skirt">
+ Criar saia nova
+ </string>
+ <string name="create_new_alpha">
+ Criar Alpha novo
+ </string>
+ <string name="create_new_tattoo">
+ Criar nova tatuagem
+ </string>
+ <string name="create_new_invalid">
+ inválido
+ </string>
<string name="NewWearable">
Novo [WEARABLE_ITEM]
</string>
- <string name="CreateNewWearable">
- Criar [WEARABLE_TYPE]
- </string>
<string name="next">
Próximo
</string>
@@ -1071,6 +1116,9 @@
<string name="InvFolder Favorite">
Favoritos
</string>
+ <string name="InvFolder favorite">
+ Favoritos
+ </string>
<string name="InvFolder Current Outfit">
Look atual
</string>
@@ -1606,12 +1654,6 @@
<string name="BusyModeResponseDefault">
O residente para o qual escreveu está no modo &apos;ocupado&apos;, ou seja, ele prefere não receber nada no momento. Sua mensagem será exibida como uma MI mais tarde.
</string>
- <string name="NoOutfits">
- Você ainda não tem nenhum look. Tente fazer uma [secondlife:///app/search/groups Busca].
- </string>
- <string name="NoOutfitsTabsMatched">
- Não encontrou o que procura? Tente buscar no [secondlife:///app/search/people/[SEARCH_TERM] Search].
- </string>
<string name="MuteByName">
(por nome)
</string>