summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llaudio/llaudioengine.cpp2
-rw-r--r--indra/llui/llflatlistview.cpp6
-rw-r--r--indra/newview/llappearancemgr.cpp5
-rw-r--r--indra/newview/llfloaterland.cpp69
-rw-r--r--indra/newview/llfolderview.cpp9
-rw-r--r--indra/newview/llfolderviewitem.cpp82
-rw-r--r--indra/newview/llfolderviewitem.h10
-rw-r--r--indra/newview/llgrouplist.cpp2
-rw-r--r--indra/newview/llloginhandler.cpp8
-rw-r--r--indra/newview/llpanelclassified.cpp131
-rw-r--r--indra/newview/llpanelclassified.h23
-rw-r--r--indra/newview/llpanelobjectinventory.cpp2
-rw-r--r--indra/newview/llpanelpicks.cpp110
-rw-r--r--indra/newview/llpanelpicks.h43
-rw-r--r--indra/newview/llpopupview.cpp4
-rw-r--r--indra/newview/llscriptfloater.cpp7
-rw-r--r--indra/newview/lltoastnotifypanel.cpp15
-rw-r--r--indra/newview/lltoastnotifypanel.h12
-rw-r--r--indra/newview/llviewertexture.cpp14
-rw-r--r--indra/newview/llviewertexture.h2
-rw-r--r--indra/newview/skins/default/xui/de/floater_about_land.xml15
-rw-r--r--indra/newview/skins/default/xui/de/floater_buy_land.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_god_tools.xml6
-rw-r--r--indra/newview/skins/default/xui/de/floater_im.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_publish_classified.xml15
-rw-r--r--indra/newview/skins/default/xui/de/floater_report_abuse.xml8
-rw-r--r--indra/newview/skins/default/xui/de/floater_tools.xml6
-rw-r--r--indra/newview/skins/default/xui/de/floater_world_map.xml17
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml32
-rw-r--r--indra/newview/skins/default/xui/de/panel_classified_info.xml36
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_classified.xml27
-rw-r--r--indra/newview/skins/default/xui/de/panel_people.xml10
-rw-r--r--indra/newview/skins/default/xui/de/panel_place_profile.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_chat.xml4
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_estate.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_general.xml24
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_general_layout.xml4
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_texture.xml24
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_task_info.xml7
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml10
-rw-r--r--indra/newview/skins/default/xui/de/teleport_strings.xml5
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml7
-rw-r--r--indra/newview/skins/default/xui/en/floater_script.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml4
-rw-r--r--indra/newview/skins/default/xui/en/menu_picks.xml15
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_classified.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_pick.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/slider_bar.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/fr/floater_god_tools.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_im.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_publish_classified.xml15
-rw-r--r--indra/newview/skins/default/xui/fr/floater_snapshot.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_world_map.xml36
-rw-r--r--indra/newview/skins/default/xui/fr/menu_attachment_other.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_avatar_other.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_profile_overflow.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml30
-rw-r--r--indra/newview/skins/default/xui/fr/panel_classified_info.xml36
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_classified.xml27
-rw-r--r--indra/newview/skins/default/xui/fr/panel_people.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/panel_place_profile.xml52
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_chat.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_estate.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_general.xml28
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_general_layout.xml14
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_texture.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/role_actions.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_task_info.xml39
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/teleport_strings.xml5
72 files changed, 755 insertions, 457 deletions
diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp
index ed06c85e1a..b92ccd1d77 100644
--- a/indra/llaudio/llaudioengine.cpp
+++ b/indra/llaudio/llaudioengine.cpp
@@ -592,7 +592,7 @@ LLAudioBuffer * LLAudioEngine::getFreeBuffer()
if (buffer_id >= 0)
{
- llinfos << "Taking over unused buffer " << buffer_id << llendl;
+ lldebugs << "Taking over unused buffer " << buffer_id << llendl;
//llinfos << "Flushing unused buffer!" << llendl;
mBuffers[buffer_id]->mAudioDatap->mBufferp = NULL;
delete mBuffers[buffer_id];
diff --git a/indra/llui/llflatlistview.cpp b/indra/llui/llflatlistview.cpp
index 2481249f91..2e5aeec41d 100644
--- a/indra/llui/llflatlistview.cpp
+++ b/indra/llui/llflatlistview.cpp
@@ -492,6 +492,12 @@ void LLFlatListView::onItemMouseClick(item_pair_t* item_pair, MASK mask)
{
if (!item_pair) return;
+ if (!item_pair->first)
+ {
+ llwarning("Attempt to selet an item pair containing null panel item", 0);
+ return;
+ }
+
setFocus(TRUE);
bool select_item = !isSelected(item_pair);
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index f08d8decfe..f686eccf37 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -494,11 +494,12 @@ bool LLWearableHoldingPattern::pollFetchCompletion()
bool completed = isFetchCompleted();
bool timed_out = isTimedOut();
bool done = completed || timed_out;
-
- llinfos << "polling, done status: " << completed << " timed out " << timed_out << " elapsed " << mWaitTime.getElapsedTimeF32() << llendl;
if (done)
{
+ llinfos << "polling, done status: " << completed << " timed out " << timed_out
+ << " elapsed " << mWaitTime.getElapsedTimeF32() << llendl;
+
mFired = true;
if (timed_out)
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 7051447409..26a179074d 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -86,6 +86,7 @@
static std::string OWNER_ONLINE = "0";
static std::string OWNER_OFFLINE = "1";
static std::string OWNER_GROUP = "2";
+static std::string MATURITY = "[MATURITY]";
// constants used in callbacks below - syntactic sugar.
static const BOOL BUY_GROUP_LAND = TRUE;
@@ -102,9 +103,21 @@ public:
virtual void changed() { LLFloaterLand::refreshAll(); }
};
-// fills target textbox with maturity info(icon and text)
+// class needed to get full access to textbox inside checkbox, because LLCheckBoxCtrl::setLabel() has string as its argument.
+// It was introduced while implementing EXT-4706
+class LLCheckBoxWithTBAcess : public LLCheckBoxCtrl
+{
+public:
+ LLTextBox* getTextBox()
+ {
+ return mLabel;
+ }
+};
+
+// inserts maturity info(icon and text) into target textbox
// names_floater - pointer to floater which contains strings with maturity icons filenames
-void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater);
+// str_to_parse is string in format "txt1[MATURITY]txt2" where maturity icon and text will be inserted instead of [MATURITY]
+void insert_maturity_into_textbox(LLTextBox* target_textbox, LLFloater* names_floater, std::string str_to_parse);
//---------------------------------------------------------------------------
// LLFloaterLand
@@ -558,7 +571,7 @@ void LLPanelLandGeneral::refresh()
if (regionp)
{
- FillMaturityTextBox(mContentRating, gFloaterView->getParentFloater(this));
+ insert_maturity_into_textbox(mContentRating, gFloaterView->getParentFloater(this), MATURITY);
mLandType->setText(regionp->getSimProductName());
}
@@ -2062,8 +2075,14 @@ void LLPanelLandOptions::refresh()
{
// not teen so fill in the data for the maturity control
mMatureCtrl->setVisible(TRUE);
- mMatureCtrl->setLabel(getString("mature_check_mature"));
- mMatureCtrl->setToolTip(getString("mature_check_mature_tooltip"));
+ LLStyle::Params style;
+ style.image(LLUI::getUIImage(gFloaterView->getParentFloater(this)->getString("maturity_icon_moderate")));
+ LLCheckBoxWithTBAcess* fullaccess_mature_ctrl = (LLCheckBoxWithTBAcess*)mMatureCtrl;
+ fullaccess_mature_ctrl->getTextBox()->setText(std::string("icon"),style);
+ fullaccess_mature_ctrl->getTextBox()->appendText(getString("mature_check_mature"), false);
+ fullaccess_mature_ctrl->setToolTip(getString("mature_check_mature_tooltip"));
+ fullaccess_mature_ctrl->reshape(fullaccess_mature_ctrl->getRect().getWidth(), fullaccess_mature_ctrl->getRect().getHeight(), FALSE);
+
// they can see the checkbox, but its disposition depends on the
// state of the region
LLViewerRegion* regionp = LLViewerParcelMgr::getInstance()->getSelectionRegion();
@@ -2464,19 +2483,26 @@ void LLPanelLandAccess::refresh()
}
}
+ LLCheckBoxWithTBAcess* maturity_checkbox = (LLCheckBoxWithTBAcess*) getChild<LLCheckBoxCtrl>( "public_access");
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if(region)
{
- std::string region_access = "(";
- region_access += region->getSimAccessString();
- region_access += ")";
- childSetLabelArg( "public_access", "[MATURITY]", region_access );
+ LLTextBox* maturity_textbox = maturity_checkbox->getTextBox();
+ insert_maturity_into_textbox(maturity_textbox, gFloaterView->getParentFloater(this), getString("allow_public_access"));
+ maturity_checkbox->reshape(maturity_checkbox->getRect().getWidth(), maturity_checkbox->getRect().getHeight(), FALSE);
}
else
{
- childSetLabelArg( "public_access", "[MATURITY]", std::string() );
- }
+ std::string maturity_string = getString("allow_public_access");
+ size_t maturity_pos = maturity_string.find(MATURITY);
+ if (maturity_pos != std::string::npos)
+ {
+ maturity_string.replace(maturity_pos, MATURITY.length(), std::string(""));
+ }
+
+ maturity_checkbox->setLabel(maturity_string);
+ }
if(parcel->getRegionDenyAnonymousOverride())
{
@@ -2862,7 +2888,7 @@ void LLPanelLandCovenant::refresh()
LLTextBox* region_maturity = getChild<LLTextBox>("region_maturity_text");
if (region_maturity)
{
- FillMaturityTextBox(region_maturity, gFloaterView->getParentFloater(this));
+ insert_maturity_into_textbox(region_maturity, gFloaterView->getParentFloater(this), MATURITY);
}
LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
@@ -2944,9 +2970,10 @@ void LLPanelLandCovenant::updateEstateOwnerName(const std::string& name)
}
}
-// fills target textbox with maturity info(icon and text)
+// inserts maturity info(icon and text) into target textbox
// names_floater - pointer to floater which contains strings with maturity icons filenames
-void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater)
+// str_to_parse is string in format "txt1[MATURITY]txt2" where maturity icon and text will be inserted instead of [MATURITY]
+void insert_maturity_into_textbox(LLTextBox* target_textbox, LLFloater* names_floater, std::string str_to_parse)
{
LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
if (!region)
@@ -2974,7 +3001,19 @@ void FillMaturityTextBox(LLTextBox* target_textbox, LLFloater* names_floater)
break;
}
+ size_t maturity_pos = str_to_parse.find(MATURITY);
+
+ if (maturity_pos == std::string::npos)
+ {
+ return;
+ }
+
+ std::string text_before_rating = str_to_parse.substr(0, maturity_pos);
+ std::string text_after_rating = str_to_parse.substr(maturity_pos + MATURITY.length());
+
+ target_textbox->setText(text_before_rating);
// any text may be here instead of "icon" except ""
- target_textbox->setText(std::string("icon"),style);
+ target_textbox->appendText(std::string("icon"), false, style);
target_textbox->appendText(LLViewerParcelMgr::getInstance()->getSelectionRegion()->getSimAccessString(), false);
+ target_textbox->appendText(text_after_rating, false);
}
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index cc807c2370..23062bafec 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -837,11 +837,14 @@ void LLFolderView::sanitizeSelection()
void LLFolderView::clearSelection()
{
- if (mSelectedItems.size() > 0)
+ for (selected_items_t::const_iterator item_it = mSelectedItems.begin();
+ item_it != mSelectedItems.end();
+ ++item_it)
{
- recursiveDeselect(FALSE);
- mSelectedItems.clear();
+ (*item_it)->setUnselected();
}
+
+ mSelectedItems.clear();
mSelectThisID.setNull();
}
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 76607e4874..d3e3d2b57b 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -121,7 +121,6 @@ LLFolderViewItem::LLFolderViewItem(const LLFolderViewItem::Params& p)
mHasVisibleChildren(FALSE),
mIndentation(0),
mItemHeight(p.item_height),
- mNumDescendantsSelected(0),
mPassedFilter(FALSE),
mLastFilterGeneration(-1),
mStringMatchOffset(std::string::npos),
@@ -497,22 +496,6 @@ BOOL LLFolderViewItem::changeSelection(LLFolderViewItem* selection, BOOL selecte
return FALSE;
}
-void LLFolderViewItem::recursiveDeselect(BOOL deselect_self)
-{
- if (mIsSelected && deselect_self)
- {
- mIsSelected = FALSE;
-
- // update ancestors' count of selected descendents
- LLFolderViewFolder* parent_folder = getParentFolder();
- while(parent_folder)
- {
- parent_folder->mNumDescendantsSelected--;
- parent_folder = parent_folder->getParentFolder();
- }
- }
-}
-
BOOL LLFolderViewItem::isMovable()
{
@@ -1459,7 +1442,6 @@ BOOL LLFolderViewFolder::setSelection(LLFolderViewItem* selection, BOOL openitem
{
rv = TRUE;
child_selected = TRUE;
- mNumDescendantsSelected++;
}
}
for (items_t::iterator iter = mItems.begin();
@@ -1470,7 +1452,6 @@ BOOL LLFolderViewFolder::setSelection(LLFolderViewItem* selection, BOOL openitem
{
rv = TRUE;
child_selected = TRUE;
- mNumDescendantsSelected++;
}
}
if(openitem && child_selected)
@@ -1503,14 +1484,6 @@ BOOL LLFolderViewFolder::changeSelection(LLFolderViewItem* selection,
folders_t::iterator fit = iter++;
if((*fit)->changeSelection(selection, selected))
{
- if (selected)
- {
- mNumDescendantsSelected++;
- }
- else
- {
- mNumDescendantsSelected--;
- }
rv = TRUE;
}
}
@@ -1520,14 +1493,6 @@ BOOL LLFolderViewFolder::changeSelection(LLFolderViewItem* selection,
items_t::iterator iit = iter++;
if((*iit)->changeSelection(selection, selected))
{
- if (selected)
- {
- mNumDescendantsSelected++;
- }
- else
- {
- mNumDescendantsSelected--;
- }
rv = TRUE;
}
}
@@ -1544,7 +1509,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie
{
folders_t::iterator fit = iter++;
num_selected += (*fit)->extendSelection(selection, last_selected, selected_items);
- mNumDescendantsSelected += num_selected;
}
// handle selection of our immediate children...
@@ -1637,7 +1601,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie
if (item->changeSelection(item, TRUE))
{
selected_items.put(item);
- mNumDescendantsSelected++;
num_selected++;
}
}
@@ -1648,7 +1611,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie
if (selection->changeSelection(selection, TRUE))
{
selected_items.put(selection);
- mNumDescendantsSelected++;
num_selected++;
}
}
@@ -1656,47 +1618,6 @@ S32 LLFolderViewFolder::extendSelection(LLFolderViewItem* selection, LLFolderVie
return num_selected;
}
-void LLFolderViewFolder::recursiveDeselect(BOOL deselect_self)
-{
- // make sure we don't have negative values
- llassert(mNumDescendantsSelected >= 0);
-
- if (mIsSelected && deselect_self)
- {
- mIsSelected = FALSE;
-
- // update ancestors' count of selected descendents
- LLFolderViewFolder* parent_folder = getParentFolder();
- while(parent_folder)
- {
- parent_folder->mNumDescendantsSelected--;
- parent_folder = parent_folder->getParentFolder();
- }
- }
-
- if (0 == mNumDescendantsSelected)
- {
- return;
- }
-
- for (items_t::iterator iter = mItems.begin();
- iter != mItems.end();)
- {
- items_t::iterator iit = iter++;
- LLFolderViewItem* item = (*iit);
- item->recursiveDeselect(TRUE);
- }
-
- for (folders_t::iterator iter = mFolders.begin();
- iter != mFolders.end();)
- {
- folders_t::iterator fit = iter++;
- LLFolderViewFolder* folder = (*fit);
- folder->recursiveDeselect(TRUE);
- }
-
-}
-
void LLFolderViewFolder::destroyView()
{
for (items_t::iterator iter = mItems.begin();
@@ -1730,8 +1651,6 @@ BOOL LLFolderViewFolder::removeItem(LLFolderViewItem* item)
{
if(item->remove())
{
- //RN: this seem unneccessary as remove() moves to trash
- //removeView(item);
return TRUE;
}
return FALSE;
@@ -1746,7 +1665,6 @@ void LLFolderViewFolder::removeView(LLFolderViewItem* item)
return;
}
// deselect without traversing hierarchy
- item->recursiveDeselect(TRUE);
getRoot()->removeFromSelectionList(item);
extractItem(item);
delete item;
diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h
index be8e73a5a9..655ad89e99 100644
--- a/indra/newview/llfolderviewitem.h
+++ b/indra/newview/llfolderviewitem.h
@@ -150,7 +150,6 @@ protected:
BOOL mHasVisibleChildren;
S32 mIndentation;
S32 mItemHeight;
- S32 mNumDescendantsSelected;
BOOL mPassedFilter;
S32 mLastFilterGeneration;
std::string::size_type mStringMatchOffset;
@@ -231,9 +230,6 @@ public:
// this method is used to group select items
virtual S32 extendSelection(LLFolderViewItem* selection, LLFolderViewItem* last_selected, LLDynamicArray<LLFolderViewItem*>& items){ return FALSE; }
- // this method is used to group select items
- virtual void recursiveDeselect(BOOL deselect_self);
-
// gets multiple-element selection
virtual BOOL getSelectionList(std::set<LLUUID> &selection) const {return TRUE;}
@@ -246,10 +242,10 @@ public:
// destroys this item recursively
virtual void destroyView();
- S32 getNumSelectedDescendants() { return mNumDescendantsSelected; }
-
BOOL isSelected() { return mIsSelected; }
+ void setUnselected() { mIsSelected = FALSE; }
+
void setIsCurSelection(BOOL select) { mIsCurSelection = select; }
BOOL getIsCurSelection() { return mIsCurSelection; }
@@ -441,8 +437,6 @@ public:
// this method is used to group select items
virtual S32 extendSelection(LLFolderViewItem* selection, LLFolderViewItem* last_selected, LLDynamicArray<LLFolderViewItem*>& items);
- virtual void recursiveDeselect(BOOL deselect_self);
-
// Returns true is this object and all of its children can be removed.
virtual BOOL isRemovable();
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index bcfb516b81..8a056f836f 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -127,7 +127,7 @@ BOOL LLGroupList::handleRightMouseDown(S32 x, S32 y, MASK mask)
BOOL handled = LLUICtrl::handleRightMouseDown(x, y, mask);
LLMenuGL* context_menu = (LLMenuGL*)mContextMenuHandle.get();
- if (context_menu)
+ if (context_menu && size() > 0)
{
context_menu->buildDrawLabels();
context_menu->updateParent(LLMenuGL::sMenuContainer);
diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp
index 1be3430e07..e3817eecc4 100644
--- a/indra/newview/llloginhandler.cpp
+++ b/indra/newview/llloginhandler.cpp
@@ -35,6 +35,7 @@
#include "llloginhandler.h"
// viewer includes
+#include "lllogininstance.h" // to check if logged in yet
#include "llpanellogin.h" // save_password_to_disk()
#include "llstartup.h" // getStartupState()
#include "llurlsimstring.h"
@@ -169,6 +170,13 @@ bool LLLoginHandler::handle(const LLSD& tokens,
const LLSD& query_map,
LLMediaCtrl* web)
{
+ // do nothing if we are already logged in
+ if (LLLoginInstance::getInstance()->authSuccess())
+ {
+ LL_WARNS_ONCE("SLURL") << "Already logged in! Ignoring login SLapp." << LL_ENDL;
+ return true;
+ }
+
if (tokens.size() == 1
&& tokens[0].asString() == "show")
{
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index 115c7a1aa5..021e1f5159 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -1410,6 +1410,11 @@ void LLPanelClassifiedInfo::setClassifiedLocation(const std::string& location)
childSetValue("classified_location", location);
}
+std::string LLPanelClassifiedInfo::getClassifiedLocation()
+{
+ return childGetValue("classified_location").asString();
+}
+
void LLPanelClassifiedInfo::setSnapshotId(const LLUUID& id)
{
mSnapshotCtrl->setValue(id);
@@ -1651,6 +1656,7 @@ static const S32 CB_ITEM_PG = 1;
LLPanelClassifiedEdit::LLPanelClassifiedEdit()
: LLPanelClassifiedInfo()
, mIsNew(false)
+ , mIsNewWithErrors(false)
, mCanClose(false)
, mPublishFloater(NULL)
{
@@ -1709,21 +1715,12 @@ BOOL LLPanelClassifiedEdit::postBuild()
return TRUE;
}
-void LLPanelClassifiedEdit::onOpen(const LLSD& key)
+void LLPanelClassifiedEdit::fillIn(const LLSD& key)
{
- LLUUID classified_id = key["classified_id"];
+ setAvatarId(gAgent.getID());
- mIsNew = classified_id.isNull();
-
- scrollToTop();
-
- if(mIsNew)
+ if(key.isUndefined())
{
- setAvatarId(gAgent.getID());
-
- resetData();
- resetControls();
-
setPosGlobal(gAgent.getPositionGlobal());
LLUUID snapshot_id = LLUUID::null;
@@ -1746,25 +1743,55 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)
childSetValue("classified_name", makeClassifiedName());
childSetValue("classified_desc", desc);
setSnapshotId(snapshot_id);
-
setClassifiedLocation(createLocationText(getLocationNotice(), region_name, getPosGlobal()));
-
// server will set valid parcel id
setParcelId(LLUUID::null);
+ }
+ else
+ {
+ setClassifiedId(key["classified_id"]);
+ setClassifiedName(key["name"]);
+ setDescription(key["desc"]);
+ setSnapshotId(key["snapshot_id"]);
+ setCategory((U32)key["category"].asInteger());
+ setContentType((U32)key["content_type"].asInteger());
+ setClassifiedLocation(key["location_text"]);
+ childSetValue("auto_renew", key["auto_renew"]);
+ childSetValue("price_for_listing", key["price_for_listing"].asInteger());
+ }
+}
+
+void LLPanelClassifiedEdit::onOpen(const LLSD& key)
+{
+ mIsNew = key.isUndefined();
+
+ scrollToTop();
+
+ // classified is not created yet
+ bool is_new = isNew() || isNewWithErrors();
+
+ if(is_new)
+ {
+ resetData();
+ resetControls();
+
+ fillIn(key);
- enableVerbs(true);
- enableEditing(true);
+ if(isNew())
+ {
+ LLAvatarPropertiesProcessor::getInstance()->addObserver(getAvatarId(), this);
+ }
}
else
{
LLPanelClassifiedInfo::onOpen(key);
- enableVerbs(false);
- enableEditing(false);
}
- std::string save_btn_label = isNew() ? getString("publish_label") : getString("save_label");
+ std::string save_btn_label = is_new ? getString("publish_label") : getString("save_label");
childSetLabelArg("save_changes_btn", "[LABEL]", save_btn_label);
+ enableVerbs(is_new);
+ enableEditing(is_new);
resetDirty();
setInfoLoaded(false);
}
@@ -1776,6 +1803,14 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t
LLAvatarClassifiedInfo* c_info = static_cast<LLAvatarClassifiedInfo*>(data);
if(c_info && getClassifiedId() == c_info->classified_id)
{
+ // see LLPanelClassifiedEdit::sendUpdate() for notes
+ mIsNewWithErrors = false;
+ // for just created classified - panel will probably be closed when we get here.
+ if(!getVisible())
+ {
+ return;
+ }
+
enableEditing(true);
setClassifiedName(c_info->name);
@@ -1785,19 +1820,22 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t
setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global));
// *HACK see LLPanelClassifiedEdit::sendUpdate()
- getChild<LLComboBox>("category")->setCurrentByIndex(c_info->category - 1);
- getChild<LLComboBox>("category")->resetDirty();
+ setCategory(c_info->category - 1);
bool mature = is_cf_mature(c_info->flags);
bool auto_renew = is_cf_auto_renew(c_info->flags);
- getChild<LLIconsComboBox>("content_type")->setCurrentByIndex(mature ? CB_ITEM_MATURE : CB_ITEM_PG);
+ setContentType(mature ? CB_ITEM_MATURE : CB_ITEM_PG);
childSetValue("auto_renew", auto_renew);
childSetValue("price_for_listing", c_info->price_for_listing);
childSetEnabled("price_for_listing", isNew());
resetDirty();
setInfoLoaded(true);
+ enableVerbs(false);
+
+ // for just created classified - in case user opened edit panel before processProperties() callback
+ childSetLabelArg("save_changes_btn", "[LABEL]", getString("save_label"));
}
}
}
@@ -1828,7 +1866,12 @@ void LLPanelClassifiedEdit::resetDirty()
LLPanelClassifiedInfo::resetDirty();
getChild<LLUICtrl>("classified_snapshot")->resetDirty();
getChild<LLUICtrl>("classified_name")->resetDirty();
- getChild<LLUICtrl>("classified_desc")->resetDirty();
+
+ LLTextEditor* desc = getChild<LLTextEditor>("classified_desc");
+ // call blockUndo() to really reset dirty(and make isDirty work as intended)
+ desc->blockUndo();
+ desc->resetDirty();
+
getChild<LLUICtrl>("category")->resetDirty();
getChild<LLUICtrl>("content_type")->resetDirty();
getChild<LLUICtrl>("auto_renew")->resetDirty();
@@ -1877,15 +1920,31 @@ void LLPanelClassifiedEdit::stretchSnapshot()
getChild<LLUICtrl>("edit_icon")->setShape(mSnapshotCtrl->getRect());
}
+U32 LLPanelClassifiedEdit::getContentType()
+{
+ LLComboBox* ct_cb = getChild<LLComboBox>("content_type");
+ return ct_cb->getCurrentIndex();
+}
+
+void LLPanelClassifiedEdit::setContentType(U32 content_type)
+{
+ LLIconsComboBox* ct_cb = getChild<LLIconsComboBox>("content_type");
+ ct_cb->setCurrentByIndex(content_type);
+ ct_cb->resetDirty();
+}
+
+bool LLPanelClassifiedEdit::getAutoRenew()
+{
+ return childGetValue("auto_renew").asBoolean();
+}
+
void LLPanelClassifiedEdit::sendUpdate()
{
LLAvatarClassifiedInfo c_data;
if(getClassifiedId().isNull())
{
- LLUUID id;
- id.generate();
- setClassifiedId(id);
+ setClassifiedId(LLUUID::generateNewID());
}
c_data.agent_id = gAgent.getID();
@@ -1902,6 +1961,14 @@ void LLPanelClassifiedEdit::sendUpdate()
c_data.price_for_listing = getPriceForListing();
LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoUpdate(&c_data);
+
+ if(isNew())
+ {
+ // Lets assume there will be some error.
+ // Successful sendClassifiedInfoUpdate will trigger processProperties and
+ // let us know there was no error.
+ mIsNewWithErrors = true;
+ }
}
U32 LLPanelClassifiedEdit::getCategory()
@@ -1910,6 +1977,13 @@ U32 LLPanelClassifiedEdit::getCategory()
return cat_cb->getCurrentIndex();
}
+void LLPanelClassifiedEdit::setCategory(U32 category)
+{
+ LLComboBox* cat_cb = getChild<LLComboBox>("category");
+ cat_cb->setCurrentByIndex(category);
+ cat_cb->resetDirty();
+}
+
U8 LLPanelClassifiedEdit::getFlags()
{
bool auto_renew = childGetValue("auto_renew").asBoolean();
@@ -2005,17 +2079,14 @@ void LLPanelClassifiedEdit::onSaveClick()
notifyInvalidName();
return;
}
- if(isNew())
+ if(isNew() || isNewWithErrors())
{
if(gStatusBar->getBalance() < getPriceForListing())
{
LLNotificationsUtil::add("ClassifiedInsufficientFunds");
return;
}
- }
- if(isNew())
- {
mPublishFloater = LLFloaterReg::findTypedInstance<LLPublishClassifiedFloater>(
"publish_classified", LLSD());
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index 58e7c9a4b4..1157649a16 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -256,6 +256,8 @@ public:
void setClassifiedLocation(const std::string& location);
+ std::string getClassifiedLocation();
+
void setPosGlobal(const LLVector3d& pos) { mPosGlobal = pos; }
LLVector3d& getPosGlobal() { return mPosGlobal; }
@@ -366,6 +368,8 @@ public:
/*virtual*/ BOOL postBuild();
+ void fillIn(const LLSD& key);
+
/*virtual*/ void onOpen(const LLSD& key);
/*virtual*/ void processProperties(void* data, EAvatarProcessorType type);
@@ -382,28 +386,38 @@ public:
bool isNew() { return mIsNew; }
+ bool isNewWithErrors() { return mIsNewWithErrors; }
+
bool canClose();
void draw();
void stretchSnapshot();
+ U32 getCategory();
+
+ void setCategory(U32 category);
+
+ U32 getContentType();
+
+ void setContentType(U32 content_type);
+
+ bool getAutoRenew();
+
+ S32 getPriceForListing();
+
protected:
LLPanelClassifiedEdit();
void sendUpdate();
- U32 getCategory();
-
void enableVerbs(bool enable);
void enableEditing(bool enable);
std::string makeClassifiedName();
- S32 getPriceForListing();
-
void setPriceForListing(S32 price);
U8 getFlags();
@@ -429,6 +443,7 @@ protected:
private:
bool mIsNew;
+ bool mIsNewWithErrors;
bool mCanClose;
LLPublishClassifiedFloater* mPublishFloater;
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 6fcba80845..dedd1afcde 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1642,7 +1642,7 @@ void LLPanelObjectInventory::updateInventory()
// We're still interested in this task's inventory.
std::set<LLUUID> selected_items;
BOOL inventory_has_focus = FALSE;
- if (mHaveInventory && mFolders->getNumSelectedDescendants())
+ if (mHaveInventory)
{
mFolders->getSelectionList(selected_items);
inventory_has_focus = gFocusMgr.childHasKeyboardFocus(mFolders);
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index f0860e7027..0a7c39db46 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -192,7 +192,6 @@ LLPanelPicks::LLPanelPicks()
mPicksAccTab(NULL),
mClassifiedsAccTab(NULL),
mPanelClassifiedInfo(NULL),
- mPanelClassifiedEdit(NULL),
mNoClassifieds(false),
mNoPicks(false)
{
@@ -385,6 +384,9 @@ BOOL LLPanelPicks::postBuild()
registar.add("Pick.Teleport", boost::bind(&LLPanelPicks::onClickTeleport, this));
registar.add("Pick.Map", boost::bind(&LLPanelPicks::onClickMap, this));
registar.add("Pick.Delete", boost::bind(&LLPanelPicks::onClickDelete, this));
+ LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registar;
+ enable_registar.add("Pick.Enable", boost::bind(&LLPanelPicks::onEnableMenuItem, this, _2));
+
mPopupMenu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>("menu_picks.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar plus_registar;
@@ -421,6 +423,22 @@ bool LLPanelPicks::isActionEnabled(const LLSD& userdata) const
return true;
}
+bool LLPanelPicks::isClassifiedPublished(LLClassifiedItem* c_item)
+{
+ if(c_item)
+ {
+ LLPanelClassifiedEdit* panel = mEditClassifiedPanels[c_item->getClassifiedId()];
+ if(panel)
+ {
+ return !panel->isNewWithErrors();
+ }
+
+ // we've got this classified from server - it's published
+ return true;
+ }
+ return false;
+}
+
void LLPanelPicks::onAccordionStateChanged(const LLAccordionCtrlTab* acc_tab)
{
if(!mPicksAccTab->getDisplayChildren())
@@ -657,6 +675,12 @@ void LLPanelPicks::updateButtons()
childSetEnabled(XML_BTN_INFO, has_selected);
childSetEnabled(XML_BTN_TELEPORT, has_selected);
childSetEnabled(XML_BTN_SHOW_ON_MAP, has_selected);
+
+ LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
+ if(c_item)
+ {
+ childSetEnabled(XML_BTN_INFO, isClassifiedPublished(c_item));
+ }
}
void LLPanelPicks::setProfilePanel(LLPanelProfile* profile_panel)
@@ -693,9 +717,10 @@ void LLPanelPicks::createNewPick()
void LLPanelPicks::createNewClassified()
{
- createClassifiedEditPanel();
+ LLPanelClassifiedEdit* panel = NULL;
+ createClassifiedEditPanel(&panel);
- getProfilePanel()->openPanel(mPanelClassifiedEdit, LLSD());
+ getProfilePanel()->openPanel(panel, LLSD());
}
void LLPanelPicks::onClickInfo()
@@ -780,11 +805,10 @@ void LLPanelPicks::onPanelClassifiedSave(LLPanelClassifiedEdit* panel)
if(panel->isNew())
{
+ mEditClassifiedPanels[panel->getClassifiedId()] = panel;
+
LLClassifiedItem* c_item = new LLClassifiedItem(getAvatarId(), panel->getClassifiedId());
-
- c_item->setClassifiedName(panel->getClassifiedName());
- c_item->setDescription(panel->getDescription());
- c_item->setSnapshotId(panel->getSnapshotId());
+ c_item->fillIn(panel);
LLSD c_value;
c_value.insert(CLASSIFIED_ID, c_item->getClassifiedId());
@@ -800,6 +824,11 @@ void LLPanelPicks::onPanelClassifiedSave(LLPanelClassifiedEdit* panel)
mClassifiedsAccTab->changeOpenClose(false);
showAccordion("tab_classifieds", true);
}
+ else if(panel->isNewWithErrors())
+ {
+ LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
+ c_item->fillIn(panel);
+ }
else
{
onPanelClassifiedClose(panel);
@@ -860,15 +889,16 @@ void LLPanelPicks::createClassifiedInfoPanel()
}
}
-void LLPanelPicks::createClassifiedEditPanel()
+void LLPanelPicks::createClassifiedEditPanel(LLPanelClassifiedEdit** panel)
{
- if(!mPanelClassifiedEdit)
+ if(panel)
{
- mPanelClassifiedEdit = LLPanelClassifiedEdit::create();
- mPanelClassifiedEdit->setExitCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, mPanelClassifiedEdit));
- mPanelClassifiedEdit->setSaveCallback(boost::bind(&LLPanelPicks::onPanelClassifiedSave, this, mPanelClassifiedEdit));
- mPanelClassifiedEdit->setCancelCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, mPanelClassifiedEdit));
- mPanelClassifiedEdit->setVisible(FALSE);
+ LLPanelClassifiedEdit* new_panel = LLPanelClassifiedEdit::create();
+ new_panel->setExitCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, new_panel));
+ new_panel->setSaveCallback(boost::bind(&LLPanelPicks::onPanelClassifiedSave, this, new_panel));
+ new_panel->setCancelCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, new_panel));
+ new_panel->setVisible(FALSE);
+ *panel = new_panel;
}
}
@@ -941,16 +971,26 @@ void LLPanelPicks::onPanelClassifiedEdit()
LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
- createClassifiedEditPanel();
-
LLSD params;
params["classified_id"] = c_item->getClassifiedId();
- params["avatar_id"] = c_item->getAvatarId();
+ params["classified_creator_id"] = c_item->getAvatarId();
params["snapshot_id"] = c_item->getSnapshotId();
params["name"] = c_item->getClassifiedName();
params["desc"] = c_item->getDescription();
-
- getProfilePanel()->openPanel(mPanelClassifiedEdit, params);
+ params["category"] = (S32)c_item->getCategory();
+ params["content_type"] = (S32)c_item->getContentType();
+ params["auto_renew"] = c_item->getAutoRenew();
+ params["price_for_listing"] = c_item->getPriceForListing();
+ params["location_text"] = c_item->getLocationText();
+
+ LLPanelClassifiedEdit* panel = mEditClassifiedPanels[c_item->getClassifiedId()];
+ if(!panel)
+ {
+ createClassifiedEditPanel(&panel);
+ mEditClassifiedPanels[c_item->getClassifiedId()] = panel;
+ }
+ getProfilePanel()->openPanel(panel, params);
+ panel->setPosGlobal(c_item->getPosGlobal());
}
void LLPanelPicks::onClickMenuEdit()
@@ -965,6 +1005,20 @@ void LLPanelPicks::onClickMenuEdit()
}
}
+bool LLPanelPicks::onEnableMenuItem(const LLSD& user_data)
+{
+ std::string param = user_data.asString();
+
+ LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
+ if(c_item && "info" == param)
+ {
+ // dont show Info panel if classified was not created
+ return isClassifiedPublished(c_item);
+ }
+
+ return true;
+}
+
inline LLPanelProfile* LLPanelPicks::getProfilePanel()
{
llassert_always(NULL != mProfilePanel);
@@ -1153,6 +1207,24 @@ void LLClassifiedItem::setValue(const LLSD& value)
childSetVisible("selected_icon", value["selected"]);
}
+void LLClassifiedItem::fillIn(LLPanelClassifiedEdit* panel)
+{
+ if(!panel)
+ {
+ return;
+ }
+
+ setClassifiedName(panel->getClassifiedName());
+ setDescription(panel->getDescription());
+ setSnapshotId(panel->getSnapshotId());
+ setCategory(panel->getCategory());
+ setContentType(panel->getContentType());
+ setAutoRenew(panel->getAutoRenew());
+ setPriceForListing(panel->getPriceForListing());
+ setPosGlobal(panel->getPosGlobal());
+ setLocationText(panel->getClassifiedLocation());
+}
+
void LLClassifiedItem::setClassifiedName(const std::string& name)
{
childSetValue("name", name);
diff --git a/indra/newview/llpanelpicks.h b/indra/newview/llpanelpicks.h
index 11e811275b..a98b8c413e 100644
--- a/indra/newview/llpanelpicks.h
+++ b/indra/newview/llpanelpicks.h
@@ -98,6 +98,8 @@ private:
void onPlusMenuItemClicked(const LLSD& param);
bool isActionEnabled(const LLSD& userdata) const;
+ bool isClassifiedPublished(LLClassifiedItem* c_item);
+
void onListCommit(const LLFlatListView* f_list);
void onAccordionStateChanged(const LLAccordionCtrlTab* acc_tab);
@@ -114,6 +116,8 @@ private:
void onPanelClassifiedEdit();
void onClickMenuEdit();
+ bool onEnableMenuItem(const LLSD& user_data);
+
void createNewPick();
void createNewClassified();
@@ -140,7 +144,7 @@ private:
void createPickInfoPanel();
void createPickEditPanel();
void createClassifiedInfoPanel();
- void createClassifiedEditPanel();
+ void createClassifiedEditPanel(LLPanelClassifiedEdit** panel);
LLMenuGL* mPopupMenu;
LLPanelProfile* mProfilePanel;
@@ -149,10 +153,16 @@ private:
LLFlatListView* mClassifiedsList;
LLPanelPickInfo* mPanelPickInfo;
LLPanelClassifiedInfo* mPanelClassifiedInfo;
- LLPanelClassifiedEdit* mPanelClassifiedEdit;
LLPanelPickEdit* mPanelPickEdit;
LLToggleableMenu* mPlusMenu;
+ // <classified_id, edit_panel>
+ typedef std::map<LLUUID, LLPanelClassifiedEdit*> panel_classified_edit_map_t;
+
+ // This map is needed for newly created classifieds. The purpose of panel is to
+ // sit in this map and listen to LLPanelClassifiedEdit::processProperties callback.
+ panel_classified_edit_map_t mEditClassifiedPanels;
+
LLAccordionCtrlTab* mPicksAccTab;
LLAccordionCtrlTab* mClassifiedsAccTab;
@@ -245,6 +255,8 @@ public:
/*virtual*/ void setValue(const LLSD& value);
+ void fillIn(LLPanelClassifiedEdit* panel);
+
LLUUID getAvatarId() {return mAvatarId;}
void setAvatarId(const LLUUID& avatar_id) {mAvatarId = avatar_id;}
@@ -255,7 +267,11 @@ public:
void setPosGlobal(const LLVector3d& pos) { mPosGlobal = pos; }
- const LLVector3d& getPosGlobal() { return mPosGlobal; }
+ const LLVector3d getPosGlobal() { return mPosGlobal; }
+
+ void setLocationText(const std::string location) { mLocationText = location; }
+
+ std::string getLocationText() { return mLocationText; }
void setClassifiedName (const std::string& name);
@@ -269,10 +285,31 @@ public:
LLUUID getSnapshotId();
+ void setCategory(U32 cat) { mCategory = cat; }
+
+ U32 getCategory() { return mCategory; }
+
+ void setContentType(U32 ct) { mContentType = ct; }
+
+ U32 getContentType() { return mContentType; }
+
+ void setAutoRenew(U32 renew) { mAutoRenew = renew; }
+
+ bool getAutoRenew() { return mAutoRenew; }
+
+ void setPriceForListing(S32 price) { mPriceForListing = price; }
+
+ S32 getPriceForListing() { return mPriceForListing; }
+
private:
LLUUID mAvatarId;
LLUUID mClassifiedId;
LLVector3d mPosGlobal;
+ std::string mLocationText;
+ U32 mCategory;
+ U32 mContentType;
+ bool mAutoRenew;
+ S32 mPriceForListing;
};
#endif // LL_LLPANELPICKS_H
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp
index 1668a91eed..d8ad59c90c 100644
--- a/indra/newview/llpopupview.cpp
+++ b/indra/newview/llpopupview.cpp
@@ -220,10 +220,6 @@ void LLPopupView::removePopup(LLView* popup)
{
if (popup)
{
- if (gFocusMgr.childHasKeyboardFocus(popup))
- {
- gFocusMgr.setKeyboardFocus(NULL);
- }
popup_list_t::iterator iter = std::find(mPopups.begin(), mPopups.end(), popup->getHandle());
if(iter != mPopups.end())
{
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index eb71cc52c8..f35cb3516a 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -154,14 +154,17 @@ void LLScriptFloater::createForm(const LLUUID& notification_id)
}
// create new form
- mScriptForm = new LLToastNotifyPanel(notification);
+ LLRect toast_rect = getRect();
+ // LLToastNotifyPanel will fit own content in vertical direction,
+ // but it needs an initial rect to properly calculate its width
+ // Use an initial rect of the script floater to make the floater window more configurable.
+ mScriptForm = new LLToastNotifyPanel(notification, toast_rect);
addChild(mScriptForm);
// position form on floater
mScriptForm->setOrigin(0, 0);
// make floater size fit form size
- LLRect toast_rect = getRect();
LLRect panel_rect = mScriptForm->getRect();
toast_rect.setLeftTopAndSize(toast_rect.mLeft, toast_rect.mTop, panel_rect.getWidth(), panel_rect.getHeight() + getHeaderHeight());
setShape(toast_rect);
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index c47c017143..e6d13a7613 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -53,7 +53,7 @@ S32 BUTTON_WIDTH = 90;
const LLFontGL* LLToastNotifyPanel::sFont = NULL;
const LLFontGL* LLToastNotifyPanel::sFontSmall = NULL;
-LLToastNotifyPanel::LLToastNotifyPanel(LLNotificationPtr& notification) :
+LLToastNotifyPanel::LLToastNotifyPanel(LLNotificationPtr& notification, const LLRect& rect) :
LLToastPanel(notification),
mTextBox(NULL),
mInfoPanel(NULL),
@@ -63,6 +63,10 @@ mNumButtons(0),
mAddedDefaultBtn(false)
{
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_notification.xml");
+ if(rect != LLRect::null)
+ {
+ this->setShape(rect);
+ }
mInfoPanel = getChild<LLPanel>("info_panel");
mControlPanel = getChild<LLPanel>("control_panel");
BUTTON_WIDTH = gSavedSettings.getS32("ToastButtonWidth");
@@ -159,7 +163,12 @@ mAddedDefaultBtn(false)
* for a scriptdialog toast h_pad can be < 2*HPAD if we have a lot of buttons.
* In last case set default h_pad to avoid heaping of buttons
*/
- h_pad = 2*HPAD;
+ S32 button_per_row = button_panel_width / BUTTON_WIDTH;
+ h_pad = (button_panel_width % BUTTON_WIDTH) / (button_per_row - 1);// -1 because we do not need space after last button in a row
+ if(h_pad < 2*HPAD) // still not enough space between buttons ?
+ {
+ h_pad = 2*HPAD;
+ }
}
if (mIsScriptDialog)
{
@@ -224,7 +233,7 @@ LLButton* LLToastNotifyPanel::createButton(const LLSD& form_element, BOOL is_opt
p.click_callback.function(boost::bind(&LLToastNotifyPanel::onClickButton, userdata));
p.rect.width = BUTTON_WIDTH;
p.auto_resize = false;
- p.follows.flags(FOLLOWS_RIGHT | FOLLOWS_LEFT | FOLLOWS_BOTTOM);
+ p.follows.flags(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
if (mIsCaution)
{
p.image_color(LLUIColorTable::instance().getColor("ButtonCautionImageColor"));
diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h
index e791eea469..152975e7de 100644
--- a/indra/newview/lltoastnotifypanel.h
+++ b/indra/newview/lltoastnotifypanel.h
@@ -53,7 +53,15 @@ class LLNotificationForm;
class LLToastNotifyPanel: public LLToastPanel
{
public:
- LLToastNotifyPanel(LLNotificationPtr&);
+ /**
+ * Constructor for LLToastNotifyPanel.
+ *
+ * @param pNotification a shared pointer to LLNotification
+ * @param rect an initial rectangle of the toast panel.
+ * If it is null then a loaded from xml rectangle will be used.
+ * @see LLNotification
+ */
+ LLToastNotifyPanel(LLNotificationPtr& pNotification, const LLRect& rect = LLRect::null);
virtual ~LLToastNotifyPanel();
LLPanel * getControlPanel() { return mControlPanel; }
@@ -77,7 +85,7 @@ private:
/*
* It lays out buttons of the notification in mControlPanel.
* Buttons will be placed from BOTTOM to TOP.
- * @param h_pad horizontal space between buttons. It is depent on number of buttons.
+ * @param h_pad horizontal space between buttons. It is depend on number of buttons.
* @param buttons vector of button to be added.
*/
void updateButtonsLayout(const std::vector<index_button_pair_t>& buttons, S32 h_pad);
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 01d437f9eb..133b6ee8c9 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -82,7 +82,7 @@ LLTexturePipelineTester* LLViewerTextureManager::sTesterp = NULL ;
S32 LLViewerTexture::sImageCount = 0;
S32 LLViewerTexture::sRawCount = 0;
S32 LLViewerTexture::sAuxCount = 0;
-LLTimer LLViewerTexture::sEvaluationTimer;
+LLFrameTimer LLViewerTexture::sEvaluationTimer;
F32 LLViewerTexture::sDesiredDiscardBias = 0.f;
F32 LLViewerTexture::sDesiredDiscardScale = 1.1f;
S32 LLViewerTexture::sBoundTextureMemoryInBytes = 0;
@@ -102,7 +102,7 @@ F32 LLViewerTexture::sCurrentTime = 0.0f ;
BOOL LLViewerTexture::sUseTextureAtlas = FALSE ;
const F32 desired_discard_bias_min = -2.0f; // -max number of levels to improve image quality by
-const F32 desired_discard_bias_max = 1.5f; // max number of levels to reduce image quality by
+const F32 desired_discard_bias_max = (F32)MAX_DISCARD_LEVEL; // max number of levels to reduce image quality by
const F64 log_2 = log(2.0);
//----------------------------------------------------------------------------------------------
@@ -369,7 +369,7 @@ S32 LLViewerTexture::getCategoryFromIndex(S32 index)
}
// tuning params
-const F32 discard_bias_delta = .05f;
+const F32 discard_bias_delta = .25f;
const F32 discard_delta_time = 0.5f;
const S32 min_non_tex_system_mem = (128<<20); // 128 MB
// non-const (used externally
@@ -1417,9 +1417,8 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
if (!mForceToSaveRawImage)
{
mNeedsAux = FALSE;
- }
destroyRawImage();
-
+ }
return res;
}
@@ -2742,7 +2741,7 @@ void LLViewerLODTexture::processTextureStats()
mCalculatedDiscardLevel = discard_level;
}
}
- if (mBoostLevel < LLViewerTexture::BOOST_HIGH)
+ if (mBoostLevel < LLViewerTexture::BOOST_SCULPTED)
{
discard_level += sDesiredDiscardBias;
discard_level *= sDesiredDiscardScale; // scale
@@ -2768,8 +2767,7 @@ void LLViewerLODTexture::processTextureStats()
//
S32 current_discard = getDiscardLevel();
- if ((sDesiredDiscardBias > 0.0f) &&
- (current_discard >= 0 && mDesiredDiscardLevel >= current_discard))
+ if (sDesiredDiscardBias > 0.0f && mBoostLevel < LLViewerTexture::BOOST_SCULPTED && current_discard >= 0)
{
// Limit the amount of GL memory bound each frame
if ( BYTES_TO_MEGA_BYTES(sBoundTextureMemoryInBytes) > sMaxBoundTextureMemInMegaBytes * texmem_middle_bound_scale &&
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 6dc18085e0..a09a711cc7 100644
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -300,7 +300,7 @@ public:
static S32 sImageCount;
static S32 sRawCount;
static S32 sAuxCount;
- static LLTimer sEvaluationTimer;
+ static LLFrameTimer sEvaluationTimer;
static F32 sDesiredDiscardBias;
static F32 sDesiredDiscardScale;
static S32 sBoundTextureMemoryInBytes;
diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml
index 05e2d4d754..186c2932c3 100644
--- a/indra/newview/skins/default/xui/de/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_about_land.xml
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="LAND-INFO">
+ <floater.string name="maturity_icon_general">
+ &quot;Parcel_PG_Dark&quot;
+ </floater.string>
+ <floater.string name="maturity_icon_moderate">
+ &quot;Parcel_M_Dark&quot;
+ </floater.string>
+ <floater.string name="maturity_icon_adult">
+ &quot;Parcel_R_Dark&quot;
+ </floater.string>
<floater.string name="Minutes">
[MINUTES] Minuten
</floater.string>
@@ -15,7 +24,7 @@
<tab_container name="landtab" tab_min_width="40" width="489">
<panel label="ALLGEMEIN" name="land_general_panel">
<panel.string name="new users only">
- Nur neue Benutzer
+ Nur neue Einwohner
</panel.string>
<panel.string name="anyone">
Jeder
@@ -388,10 +397,6 @@ Nur große Parzellen können in der Suche aufgeführt werden.
Homepage:
</text>
<button label="Festlegen" label_selected="Einstellen..." name="set_media_url"/>
- <text name="CurrentURL:">
- Aktuelle Seite:
- </text>
- <button label="Zurücksetzen..." label_selected="Zurücksetzen..." name="reset_media_url" tool_tip="URL aktualisieren"/>
<check_box label="URL ausblenden" name="hide_media_url" tool_tip="Aktivieren Sie diese Option, wenn Sie nicht möchten, dass unautorisierte Personen die Medien-URL sehen können. Diese Option ist für HTML-Medien nicht verfügbar."/>
<text name="Description:">
Inhalt:
diff --git a/indra/newview/skins/default/xui/de/floater_buy_land.xml b/indra/newview/skins/default/xui/de/floater_buy_land.xml
index 7426e97d9e..f380393163 100644
--- a/indra/newview/skins/default/xui/de/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_buy_land.xml
@@ -41,8 +41,8 @@ Verkleinern Sie Ihre Auswahl.
Das ausgewählte Land beinhaltet kein öffentliches Land.
</floater.string>
<floater.string name="not_owned_by_you">
- Sie haben Land ausgewählt, das einer anderen Person gehört.
-Verkleinern Sie Ihre Auswahl.
+ Sie haben Land ausgewählt, das einem anderen Einwohner gehört.
+Wählen Sie ein kleineres Gebiet aus.
</floater.string>
<floater.string name="processing">
Kauf wird abgewickelt...
diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml
index 2bb123ad51..108baee4a4 100644
--- a/indra/newview/skins/default/xui/de/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_god_tools.xml
@@ -2,7 +2,7 @@
<floater name="godtools floater" title="GOTT-WERKZEUGE">
<tab_container name="GodTools Tabs">
<panel label="Raster" name="grid">
- <button label="Alle Benutzer hinauswerfen" label_selected="Alle Benutzer hinauswerfen" name="Kick all users" width="175"/>
+ <button label="Alle Einwohner hinauswerfen" label_selected="Alle Einwohner hinauswerfen" name="Kick all users" width="175"/>
<button label="Sichtbarkeits-Cache dieser Regionskarte leeren" label_selected="Sichtbarkeits-Cache dieser Regionskarte leeren" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
</panel>
<panel label="Region" name="region">
@@ -35,8 +35,8 @@
<text name="Redirect to Grid: " width="110">
Auf Raster umleiten:
</text>
- <line_editor left_delta="110" name="redirectx" width="35" left_pad="0"/>
- <line_editor left_delta="45" name="redirecty" width="35" />
+ <line_editor left_delta="110" left_pad="0" name="redirectx" width="35"/>
+ <line_editor left_delta="45" name="redirecty" width="35"/>
<text font="SansSerifSmall" name="billable factor text">
Abrechnungsfaktor:
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_im.xml b/indra/newview/skins/default/xui/de/floater_im.xml
index 6aa35f2900..8ae8f120cf 100644
--- a/indra/newview/skins/default/xui/de/floater_im.xml
+++ b/indra/newview/skins/default/xui/de/floater_im.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<multi_floater name="im_floater" title="Instant Message">
<string name="only_user_message">
- Sie sind der einzige Benutzer in dieser Sitzung.
+ Sie sind der einzige Einwohner in dieser Sitzung.
</string>
<string name="offline_message">
[FIRST] [LAST] ist offline.
@@ -32,7 +32,7 @@
</string>
<!-- ALL of the event strings should have [RECIPIENT] in them -->
<string name="add_session_event">
- Es konnten keine Benutzer zur Chat-Sitzung mit [RECIPIENT] hinzugefügt werden.
+ Es konnten keine Einwohner zur Chat-Sitzung mit [RECIPIENT] hinzugefügt werden.
</string>
<string name="message_session_event">
Ihre Nachricht konnte nicht an die Chat-Sitzung mit [RECIPIENT] gesendet werden.
diff --git a/indra/newview/skins/default/xui/de/floater_publish_classified.xml b/indra/newview/skins/default/xui/de/floater_publish_classified.xml
new file mode 100644
index 0000000000..993382727b
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_publish_classified.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="publish_classified" title="Anzeige wird veröffentlicht">
+ <text name="explanation_text">
+ Ihr Anzeige wird für eine Woche veröffentlicht.
+
+Anzeigengebühren werden nicht zurückerstattet.
+ </text>
+ <spinner label="Anzeigenpreis:" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/>
+ <text name="l$_text" value="L$"/>
+ <text name="more_info_text">
+ Weitere Infos (Link zur Hilfe)
+ </text>
+ <button label="Veröffentlichen" name="publish_btn"/>
+ <button label="Abbrechen" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml
index 49e6d031d6..e37e298478 100644
--- a/indra/newview/skins/default/xui/de/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/de/floater_report_abuse.xml
@@ -41,11 +41,11 @@ Objekt:
</text>
<combo_box name="category_combo" tool_tip="Kategorie -- wählen Sie die Kategorie aus, die am besten auf diesen Bericht zutrifft">
<combo_box.item label="Kategorie auswählen" name="Select_category"/>
- <combo_box.item label="Alter&gt; Age-Play" name="Age__Age_play"/>
+ <combo_box.item label="Alter &gt; Age-Play" name="Age__Age_play"/>
<combo_box.item label="Alter &gt; Erwachsener Einwohner in Teen Second Life" name="Age__Adult_resident_on_Teen_Second_Life"/>
<combo_box.item label="Alter &gt; Minderjähriger Einwohner außerhalb Teen Second Life" name="Age__Underage_resident_outside_of_Teen_Second_Life"/>
- <combo_box.item label="Angriff&gt; Kampf-Sandbox / unsichere Region" name="Assault__Combat_sandbox___unsafe_area"/>
- <combo_box.item label="Angriff&gt; Sichere Region" name="Assault__Safe_area"/>
+ <combo_box.item label="Angriff &gt; Kampf-Sandbox / unsichere Region" name="Assault__Combat_sandbox___unsafe_area"/>
+ <combo_box.item label="Angriff &gt; Sichere Region" name="Assault__Safe_area"/>
<combo_box.item label="Angriff &gt; Sandbox für Waffentest" name="Assault__Weapons_testing_sandbox"/>
<combo_box.item label="Handel &gt; Produkt nicht geliefert oder Dienstleistung nicht erbracht" name="Commerce__Failure_to_deliver_product_or_service"/>
<combo_box.item label="Offenlegung &gt; Informationen aus realer Welt" name="Disclosure__Real_world_information"/>
@@ -57,7 +57,7 @@ Objekt:
<combo_box.item label="Ruhestörung &gt; Ständige Spam-Wiederholung" name="Disturbing_the_peace__Repetitive_spam"/>
<combo_box.item label="Ruhestörung &gt; Unerwünschte Spam-Werbung" name="Disturbing_the_peace__Unwanted_advert_spam"/>
<combo_box.item label="Betrug &gt; L$" name="Fraud__L$"/>
- <combo_box.item label="Betrug&gt; Land" name="Fraud__Land"/>
+ <combo_box.item label="Betrug &gt; Land" name="Fraud__Land"/>
<combo_box.item label="Betrug &gt; Schneeballsystem oder Kettenbrief" name="Fraud__Pyramid_scheme_or_chain_letter"/>
<combo_box.item label="Betrug &gt; US$" name="Fraud__US$"/>
<combo_box.item label="Belästigung &gt; Werbefarmen / visueller Spam" name="Harassment__Advert_farms___visual_spam"/>
diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml
index 303ca2b883..7091e35a6e 100644
--- a/indra/newview/skins/default/xui/de/floater_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_tools.xml
@@ -369,9 +369,9 @@
<spinner label="Ziehen" name="FlexFriction"/>
<spinner label="Wind" name="FlexWind"/>
<spinner label="Spannung" name="FlexTension"/>
- <spinner label="Erzwingen X" name="FlexForceX"/>
- <spinner label="Erzwingen Y" name="FlexForceY"/>
- <spinner label="Erzwingen Z" name="FlexForceZ"/>
+ <spinner label="Kraft X" name="FlexForceX"/>
+ <spinner label="Kraft Y" name="FlexForceY"/>
+ <spinner label="Kraft Z" name="FlexForceZ"/>
<check_box label="Licht" name="Light Checkbox Ctrl" tool_tip="Verursacht, dass Objekt Licht emittiert"/>
<color_swatch label="" name="colorswatch" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
<texture_picker label="" name="light texture control" tool_tip="Klicken, um eine Bild auszuwählen (dieser Effekt funktioniert nur, wenn zeitversetzte Wiedergabe aktiviert ist)"/>
diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml
index a80be2b594..008a9d63b7 100644
--- a/indra/newview/skins/default/xui/de/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/de/floater_world_map.xml
@@ -5,8 +5,7 @@
Legende
</text>
</panel>
- <panel
- name="layout_panel_2">
+ <panel name="layout_panel_2">
<button label="Meine Position" label_selected="Wo bin ich?" name="Show My Location" tool_tip="Karte auf Position meines Avatars zentrieren"/>
<text name="me_label">
Ich
@@ -40,7 +39,7 @@
<text name="pg_label">
Generell
</text>
- <check_box initial_value="true" label="Mature" name="event_mature_chk"/>
+ <check_box initial_value="wahr" label="Mature" name="event_mature_chk"/>
<text name="mature_label">
Moderat
</text>
@@ -49,14 +48,12 @@
Adult
</text>
</panel>
- <panel
- name="layout_panel_3">
+ <panel name="layout_panel_3">
<text name="find_on_map_label">
Auf Karte anzeigen
</text>
</panel>
- <panel
- name="layout_panel_4">
+ <panel name="layout_panel_4">
<combo_box label="Online-Freunde" name="friend combo" tool_tip="Freunde auf Karte anzeigen">
<combo_box.item label="Meine Freunde: Online" name="item1"/>
</combo_box>
@@ -74,14 +71,12 @@
<button font="SansSerifSmall" label="SLurl kopieren" name="copy_slurl" tool_tip="Kopiert die aktuelle Position als SLurl zur Verwendung im Web."/>
<button label="Auswahl anzeigen" label_selected="Ziel anzeigen" name="Show Destination" tool_tip="Karte auf ausgewählte Position zentrieren"/>
</panel>
- <panel
- name="layout_panel_5">
+ <panel name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel
- name="layout_panel_6">
+ <panel name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index acfbee7f36..2db126bcb0 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -107,7 +107,7 @@ Wählen Sie ein einzelnes Objekt aus und versuchen Sie es erneut.
</notification>
<notification name="FriendsAndGroupsOnly">
Leute, die nicht auf Ihrer Freundesliste stehen, werden nicht wissen, dass Sie deren Anrufe oder Sofortnachrichten ignoriert haben.
- <usetemplate name="okbutton" yestext="Ja"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="GrantModifyRights">
Wenn Sie einem anderen Einwohner, das die Erlaubnis zum Bearbeiten erteilen, dann kann dieser JEDES Objekt, das Sie inworld besitzen, verändern, löschen oder nehmen. Seien Sie SEHR vorsichtig, wenn Sie diese Erlaubnis gewähren!
@@ -185,7 +185,7 @@ Fortfahren?
<notification name="JoinGroupNoCost">
Sie treten der Gruppe [NAME] bei.
Fortfahren?
- <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Zusammenlegen"/>
+ <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Beitreten"/>
</notification>
<notification name="JoinGroupCannotAfford">
Der Beitritt zu dieser Gruppe kostet [COST] L$.
@@ -920,13 +920,13 @@ Dies ist ein temporärer Fehler. Bitte passen Sie das Kleidungsstück in einigen
Sie sind nicht berechtigt, Land für die aktive Gruppe zu kaufen.
</notification>
<notification label="Freund hinzufügen" name="AddFriend">
- Freunde können sich gegenseitig die Berechtigung erteilen, sich auf der Karte zu verfolgen und Online-Status Benachrichtigungen zu empfangen.
+ Freunde können sich gegenseitig die Berechtigung erteilen, sich auf der Karte zu sehen und den Online-Status anzuzeigen.
[NAME] Freundschaft anbieten?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification label="Freund hinzufügen" name="AddFriendWithMessage">
- Freunde können sich gegenseitig die Berechtigung erteilen, sich auf der Karte zu verfolgen und Online-Status Benachrichtigungen zu empfangen.
+ Freunde können sich gegenseitig die Berechtigung erteilen, sich auf der Karte zu sehen und den Online-Status anzuzeigen.
[NAME] Freundschaft anbieten?
<form name="form">
@@ -1314,8 +1314,8 @@ Diese Gruppe verlassen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="ConfirmKick">
- Möchten Sie WIRKLICH alle Benutzer aus dem Grid werfen?
- <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Alle Benutzer hinauswerfen"/>
+ Möchten Sie WIRKLICH alle Einwohner aus dem Grid werfen?
+ <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Alle Einwohner hinauswerfen"/>
</notification>
<notification name="MuteLinden">
Lindens können nicht ignoriert werden.
@@ -1355,7 +1355,7 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="KickUser">
- Beim Hinauswerfen dieses Benutzers welche Meldung anzeigen?
+ Beim Hinauswerfen dieses Einwohners welche Meldung anzeigen?
<form name="form">
<input name="message">
Sie wurden von einem Administrator abgemeldet.
@@ -1375,7 +1375,7 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
</form>
</notification>
<notification name="FreezeUser">
- Beim Einfrieren dieses Benutzers welche Meldung anzeigen?
+ Beim Einfrieren dieses Einwohners welche Meldung anzeigen?
<form name="form">
<input name="message">
Sie wurden eingefroren. Bewegen oder Chatten ist nicht mehr möglich. Ein Administrator wird sich über IM an Sie wenden
@@ -1385,7 +1385,7 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
</form>
</notification>
<notification name="UnFreezeUser">
- Beim Auftauen dieses Benutzers welche Meldung anzeigen?
+ Beim Auftauen dieses Einwohners welche Meldung anzeigen?
<form name="form">
<input name="message">
Sie sind nicht mehr eingefroren.
@@ -1405,7 +1405,7 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
</form>
</notification>
<notification name="OfferTeleportFromGod">
- Benutzer an Ihrem Standort herbeirufen?
+ Einwohner an Ihrem Standort herbeirufen?
<form name="form">
<input name="message">
Triff mich in [REGION]
@@ -1435,9 +1435,9 @@ Chat und Instant Messages werden ausgeblendet. Instant Messages (Sofortnachricht
</form>
</notification>
<notification label="Linden-Grundstück ändern" name="ChangeLindenEstate">
- Sie sind im Begriff, ein Grundstück in Linden-Besitz (Mainland, Teen-Raster, Orientierung usw.) zu verändern.
+ Sie sind im Begriff, ein Grundstück in Linden-Besitz (Mainland, Teen-Grid, Orientation, usw.) zu verändern.
-Dies ist ÄUSSERST GEFÄHRLICH, da es grundlegende Auswirkungen auf das Benutzererlebnis hat. Auf dem Mainland werden tausende Regionen geändert, was den Spaceserver stark belastet.
+Dies hat EXTREME KONSEQUENZEN und wirkt sich auf die Einwohner aus! Auf dem Mainland kann dies zu Veränderungen in Tausenden von Regionen und zu Problemen mit dem Spaceserver führen!
Fortfahren?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
@@ -2200,10 +2200,10 @@ Bitte besuchen Sie unsere Knowledgebase, um mehr Details über Zugang zu Regione
Die für den Zutritt zu dieser Region erforderlichen Zahlungsinformationen liegen nicht vor.
</notification>
<notification name="MustGetAgeRgion">
- Sie müssen alterüberprüft sein, um diese Region betreten zu können.
+ Sie müssen altersüberprüft sein, um diese Region betreten zu können.
</notification>
<notification name="MustGetAgeParcel">
- Sie müssen alterüberprüft sein, um diese Parzelle betreten zu können.
+ Sie müssen altersüberprüft sein, um diese Parzelle betreten zu können.
</notification>
<notification name="NoDestRegion">
Keine Zielregion gefunden.
@@ -2367,7 +2367,7 @@ Ihrem Inventar wird ein Lesezeichen erstellt, damit Sie diesem Einwohner einfach
</form>
</notification>
<notification name="RegionRestartMinutes">
- Diese Region wird in [Minuten] neu gestartet.
+ Diese Region wird in [MINUTES] neu gestartet.
Wenn Sie in dieser Region bleiben, werden Sie abgemeldet.
</notification>
<notification name="RegionRestartSeconds">
@@ -2433,7 +2433,7 @@ Anfrage gestatten?
</form>
</notification>
<notification name="ScriptToast">
- [FIRST] [LAST]s &apos;[TITLE]&apos; fordert Eingaben vom Benutzer an.
+ [FIRST] [LAST]s &apos;[TITLE]&apos; fordert Eingaben vom Einwohner an.
<form name="form">
<button name="Open" text="Dialog öffnen"/>
<button name="Ignore" text="Ignorieren"/>
diff --git a/indra/newview/skins/default/xui/de/panel_classified_info.xml b/indra/newview/skins/default/xui/de/panel_classified_info.xml
index 2bbbaf2537..6480b640cd 100644
--- a/indra/newview/skins/default/xui/de/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/de/panel_classified_info.xml
@@ -9,16 +9,46 @@
<panel.string name="l$_price">
[PRICE] L$
</panel.string>
+ <panel.string name="click_through_text_fmt">
+ [TELEPORT] teleportieren, [MAP] Karte, [PROFILE] Profil
+ </panel.string>
+ <panel.string name="date_fmt">
+ [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
+ </panel.string>
+ <panel.string name="auto_renew_on">
+ Aktiviert
+ </panel.string>
+ <panel.string name="auto_renew_off">
+ Deaktiviert
+ </panel.string>
<text name="title" value="Anzeigen-Info"/>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text_editor name="classified_name" value="[name]"/>
+ <text name="classified_location_label" value="Standort:"/>
<text_editor name="classified_location" value="[wird geladen...]"/>
+ <text name="content_type_label" value="Inhaltsart:"/>
<text_editor name="content_type" value="[Inhalts-Art]"/>
+ <text name="category_label" value="Kategorie:"/>
<text_editor name="category" value="[Kategorie]"/>
- <check_box label="Jede Woche automatisch erneuern" name="auto_renew"/>
- <text_editor name="price_for_listing" tool_tip="Preis für Anzeige."/>
- <text_editor name="classified_desc" value="[description]"/>
+ <text name="creation_date_label" value="Erstellungsdatum:"/>
+ <text_editor name="creation_date" tool_tip="Erstellungsdatum" value="[date]"/>
+ <text name="price_for_listing_label" value="Preis für Anzeige:"/>
+ <text_editor name="price_for_listing" tool_tip="Preis für Anzeige." value="[price]"/>
+ <layout_stack name="descr_stack">
+ <layout_panel name="clickthrough_layout_panel">
+ <text name="click_through_label" value="Klicks:"/>
+ <text_editor name="click_through_text" tool_tip="Click-Through-Daten" value="[clicks]"/>
+ </layout_panel>
+ <layout_panel name="price_layout_panel">
+ <text name="auto_renew_label" value="Autom. erneuern:"/>
+ <text name="auto_renew" value="Aktiviert"/>
+ </layout_panel>
+ <layout_panel name="descr_layout_panel">
+ <text name="classified_desc_label" value="Beschreibung:"/>
+ <text_editor name="classified_desc" value="[description]"/>
+ </layout_panel>
+ </layout_stack>
</panel>
</scroll_container>
<panel name="buttons">
diff --git a/indra/newview/skins/default/xui/de/panel_edit_classified.xml b/indra/newview/skins/default/xui/de/panel_edit_classified.xml
index 2e0370c579..0d9487e895 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_classified.xml
@@ -3,12 +3,20 @@
<panel.string name="location_notice">
(wird nach Speichern aktualisiert)
</panel.string>
+ <string name="publish_label">
+ Veröffentlichen
+ </string>
+ <string name="save_label">
+ Speichern
+ </string>
<text name="title">
Anzeige bearbeiten
</text>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
- <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/>
+ <panel name="snapshot_panel">
+ <icon label="" name="edit_icon" tool_tip="Klicken, um ein Bild auszuwählen"/>
+ </panel>
<text name="Name:">
Titel:
</text>
@@ -22,20 +30,19 @@
wird geladen...
</text>
<button label="Aktuellen Standort verwenden" name="set_to_curr_location_btn"/>
- <combo_box name="content_type">
- <combo_item name="mature_ci">
- Moderater Inhalt
- </combo_item>
- <combo_item name="pg_ci">
- Allgemeiner Inhalt
- </combo_item>
- </combo_box>
+ <text name="category_label" value="Kategorie:"/>
+ <text name="content_type_label" value="Inhaltsart:"/>
+ <icons_combo_box label="Genereller Inhalt" name="content_type">
+ <icons_combo_box.item label="Moderater Inhalt" name="mature_ci" value="Moderat"/>
+ <icons_combo_box.item label="Genereller Inhalt" name="pg_ci" value="G"/>
+ </icons_combo_box>
+ <text name="price_for_listing_label" value="Preis für Anzeige:"/>
<spinner label="L$" name="price_for_listing" tool_tip="Preis für Anzeige." value="50"/>
<check_box label="Jede Woche automatisch erneuern" name="auto_renew"/>
</panel>
</scroll_container>
<panel label="bottom_panel" name="bottom_panel">
- <button label="Speichern" name="save_changes_btn"/>
+ <button label="[LABEL]" name="save_changes_btn"/>
<button label="Abbrechen" name="cancel_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_people.xml b/indra/newview/skins/default/xui/de/panel_people.xml
index cf61f0870d..cc45f25c82 100644
--- a/indra/newview/skins/default/xui/de/panel_people.xml
+++ b/indra/newview/skins/default/xui/de/panel_people.xml
@@ -7,6 +7,8 @@
<string name="no_friends" value="Keine Freunde"/>
<string name="people_filter_label" value="Nach Leuten filtern"/>
<string name="groups_filter_label" value="Nach Gruppen filtern"/>
+ <string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Suche verwenden, um die Gruppe zu finden?]"/>
+ <string name="no_groups_msg" value="[secondlife:///app/search/groups Suche verwenden, um Gruppen zu finden?]"/>
<filter_editor label="Filter" name="filter_input"/>
<tab_container name="tabs">
<panel label="IN DER NÄHE" name="nearby_panel">
@@ -20,15 +22,15 @@
<accordion_tab name="tab_online" title="Online"/>
<accordion_tab name="tab_all" title="Alle"/>
</accordion>
- <text name="no_friends_msg">
- Verwenden Sie [secondlife:///app/search/people die globale Suche], um Freunde hinzuzufügen. Oder klicken Sie mit rechts auf einen Einwohner und fügen Sie diesen als Freund hinzu.
-Wenn Sie nach Orten suchen, an denen sich Leute befinden, verwenden Sie [secondlife:///app/worldmap die Karte].
- </text>
<panel label="bottom_panel" name="bottom_panel">
<button name="friends_viewsort_btn" tool_tip="Optionen"/>
<button name="add_btn" tool_tip="Bieten Sie einem Einwohner die Freundschaft an"/>
<button name="del_btn" tool_tip="Ausgewählte Person von Ihrer Freundesliste entfernen"/>
</panel>
+ <text name="no_friends_msg">
+ Verwenden Sie [secondlife:///app/search/people die globale Suche], um Freunde hinzuzufügen. Oder klicken Sie mit rechts auf einen Einwohner und fügen Sie diesen als Freund hinzu.
+Wenn Sie nach Orten suchen, an denen sich Leute befinden, verwenden Sie [secondlife:///app/worldmap die Karte].
+ </text>
</panel>
<panel label="MEINE GRUPPEN" name="groups_panel">
<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/de/panel_place_profile.xml b/indra/newview/skins/default/xui/de/panel_place_profile.xml
index 3af4ee5a1e..82e5febf8d 100644
--- a/indra/newview/skins/default/xui/de/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/de/panel_place_profile.xml
@@ -83,7 +83,7 @@
<text name="scripts_value" value="Ein"/>
<text name="damage_label" value="Schaden:"/>
<text name="damage_value" value="Aus"/>
- <button label="Über Land" name="about_land_btn"/>
+ <button label="Land-Info" name="about_land_btn"/>
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Region">
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
index 626e35dd0b..45b560c759 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
@@ -9,7 +9,7 @@
<radio_item label="Groß" name="radio3" value="2"/>
</radio_group>
<text name="font_colors">
- Schriftfarbe:
+ Schriftfarben:
</text>
<color_swatch label="Sie" name="user"/>
<text name="text_box1">
@@ -45,7 +45,7 @@
</text>
<check_box initial_value="true" label="Beim Chatten Tippanimation abspielen" name="play_typing_animation"/>
<check_box label="IMs per Email zuschicken, wenn ich offline bin" name="send_im_to_email"/>
- <check_box label="Text-Chatverlauf aktivieren" name="plain_text_chat_history"/>
+ <check_box label="Kompakten Text-Chatverlauf aktivieren" name="plain_text_chat_history"/>
<radio_group name="chat_window" tool_tip="Zeigen Sie Ihre Sofortnachrichten (Instant Messages) in einem anderen Fenster oder in einem einzigen Fenster mit viele Registerkarten an (Neustart erforderlich).">
<radio_item label="Getrennte Fenster" name="radio" value="0"/>
<radio_item label="Registerkarten" name="radio2" value="1"/>
diff --git a/indra/newview/skins/default/xui/de/panel_region_estate.xml b/indra/newview/skins/default/xui/de/panel_region_estate.xml
index 59a4c148a8..92ad9741bc 100644
--- a/indra/newview/skins/default/xui/de/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_estate.xml
@@ -70,5 +70,5 @@
<button label="Hinzufügen..." name="add_banned_avatar_btn"/>
<button label="Entfernen..." name="remove_banned_avatar_btn"/>
<button label="Nachricht an Grundstück" name="message_estate_btn"/>
- <button label="Einwohner hinauswerfen" name="kick_user_from_estate_btn"/>
+ <button label="Einwohner hinauswerfen..." name="kick_user_from_estate_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml
index 2885e5bd3a..2bf8721c86 100644
--- a/indra/newview/skins/default/xui/de/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_general.xml
@@ -19,35 +19,25 @@
unbekannt
</text>
<check_box label="Terraformen blockieren" name="block_terraform_check"/>
- <button label="?" name="terraform_help"/>
<check_box label="Fliegen blockieren" name="block_fly_check"/>
- <button label="?" name="fly_help"/>
<check_box label="Schaden zulassen" name="allow_damage_check"/>
- <button label="?" name="damage_help"/>
<check_box label="Stoßen beschränken" name="restrict_pushobject"/>
- <button label="?" name="restrict_pushobject_help"/>
<check_box label="Landwiederverkauf zulassen" name="allow_land_resell_check"/>
- <button label="?" name="land_resell_help"/>
<check_box label="Landumverteilung zulassen" name="allow_parcel_changes_check"/>
- <button label="?" name="parcel_changes_help"/>
<check_box label="Landanzeige in Suche blockieren" name="block_parcel_search_check" tool_tip="Diese Region und ihre Parzellen in Suchergebnissen anzeigen"/>
- <button label="?" name="parcel_search_help"/>
<spinner label="Avatar-Limit" name="agent_limit_spin"/>
- <button label="?" name="agent_limit_help"/>
<spinner label="Objektbonus" name="object_bonus_spin"/>
- <button label="?" name="object_bonus_help"/>
<text label="Inhaltseinstufung" name="access_text">
Einstufung:
</text>
- <combo_box label="Moderat" name="access_combo">
- <combo_box.item label="Adult" name="Adult"/>
- <combo_box.item label="Moderat" name="Mature"/>
- <combo_box.item label="Allgemein" name="PG"/>
- </combo_box>
- <button label="?" name="access_help"/>
+ <icons_combo_box label="Moderat" name="access_combo">
+ <icons_combo_box.item label="Adult" name="Adult" value="42"/>
+ <icons_combo_box.item label="Moderat" name="Mature" value="21"/>
+ <icons_combo_box.item label="Allgemein" name="PG" value="13"/>
+ </icons_combo_box>
<button label="Übernehmen" name="apply_btn"/>
- <button label="Einen Benutzer nach Hause teleportieren..." name="kick_btn"/>
- <button label="Alle Benutzer nach Hause teleportieren..." name="kick_all_btn"/>
+ <button label="Einen Einwohner nach Hause teleportieren..." name="kick_btn"/>
+ <button label="Alle Einwohner nach Hause teleportieren..." name="kick_all_btn"/>
<button label="Nachricht an Region senden..." name="im_btn"/>
<button label="Telehub verwalten..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_general_layout.xml b/indra/newview/skins/default/xui/de/panel_region_general_layout.xml
index 732249df35..09142ada6f 100644
--- a/indra/newview/skins/default/xui/de/panel_region_general_layout.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_general_layout.xml
@@ -36,8 +36,8 @@
<combo_box.item label="Allgemein" name="PG"/>
</combo_box>
<button label="Übernehmen" name="apply_btn"/>
- <button label="Einen Benutzer nach Hause teleportieren..." name="kick_btn"/>
- <button label="Alle Benutzer nach Hause teleportieren..." name="kick_all_btn"/>
+ <button label="Einen Einwohner nach Hause teleportieren..." name="kick_btn"/>
+ <button label="Alle Einwohner nach Hause teleportieren..." name="kick_all_btn"/>
<button label="Nachricht an Region senden..." name="im_btn"/>
<button label="Telehub verwalten..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_texture.xml b/indra/newview/skins/default/xui/de/panel_region_texture.xml
index f9997f300a..2f4904730b 100644
--- a/indra/newview/skins/default/xui/de/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_texture.xml
@@ -25,25 +25,25 @@
Texturhöhenbereich
</text>
<text name="height_text_lbl6">
- Südwest
+ Nordwest
</text>
<text name="height_text_lbl7">
- Nordwest
+ Nordost
</text>
<text name="height_text_lbl8">
- Südost
+ Südwest
</text>
<text name="height_text_lbl9">
- Nordost
+ Südost
</text>
- <spinner label="Niedrig" name="height_start_spin_0" label_width="40"/>
- <spinner label="Niedrig" name="height_start_spin_1" label_width="40"/>
- <spinner label="Niedrig" name="height_start_spin_2" label_width="40"/>
- <spinner label="Niedrig" name="height_start_spin_3" label_width="40"/>
- <spinner label="Hoch" name="height_range_spin_0" label_width="40"/>
- <spinner label="Hoch" name="height_range_spin_1" label_width="40"/>
- <spinner label="Hoch" name="height_range_spin_2" label_width="40"/>
- <spinner label="Hoch" name="height_range_spin_3" label_width="40"/>
+ <spinner label="Niedrig" label_width="40" name="height_start_spin_0"/>
+ <spinner label="Niedrig" label_width="40" name="height_start_spin_1"/>
+ <spinner label="Niedrig" label_width="40" name="height_start_spin_2"/>
+ <spinner label="Niedrig" label_width="40" name="height_start_spin_3"/>
+ <spinner label="Hoch" label_width="40" name="height_range_spin_0"/>
+ <spinner label="Hoch" label_width="40" name="height_range_spin_1"/>
+ <spinner label="Hoch" label_width="40" name="height_range_spin_2"/>
+ <spinner label="Hoch" label_width="40" name="height_range_spin_3"/>
<text name="height_text_lbl10">
Diese Werte geben den Mischungsgrad für die obigen Texturen an.
</text>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
index 81f1ebdf91..990543b725 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Objektprofil"/>
<text name="where" value="(inworld)"/>
- <panel name="properties_panel" label="">
+ <panel label="" name="properties_panel">
<text name="Name:">
Name:
</text>
@@ -85,7 +85,7 @@
<text name="GroupLabel">
Gruppe:
</text>
- <check_box label="Teilen" name="checkbox share with group" tool_tip="Mit allen Mitgliedern der zugeordneten Gruppe, Ihre Berechtigungen dieses Objekt zu ändern teilen. Sie müssen Übereignen, um Rollenbeschränkungen zu aktivieren."/>
+ <check_box label="Teilen" name="checkbox share with group" tool_tip="Mit allen Mitgliedern der zugeordneten Gruppe, Ihre Berechtigungen dieses Objekt zu ändern, teilen. Sie müssen Übereignen, um Rollenbeschränkungen zu aktivieren."/>
<text name="NextOwnerLabel">
Nächster Eigentümer:
</text>
@@ -96,7 +96,7 @@
<check_box label="Zum Verkauf" name="checkbox for sale"/>
<combo_box name="sale type">
<combo_box.item label="Kopieren" name="Copy"/>
- <combo_box.item label="Inhalte" name="Contents"/>
+ <combo_box.item label="Inhalt" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
<spinner label="Preis: L$" name="Edit Cost"/>
@@ -124,5 +124,6 @@
<button label="Öffnen" name="open_btn"/>
<button label="Bezahlen" name="pay_btn"/>
<button label="Kaufen" name="buy_btn"/>
+ <button label="Details" name="details_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index c4b540d08a..fc01b69461 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -753,11 +753,14 @@
Alpha
</string>
<string name="tattoo">
- Taetowierung
+ Tätowierung
</string>
<string name="invalid">
ungültig
</string>
+ <string name="NewWearable">
+ Neue/r/s [WEARABLE_ITEM]
+ </string>
<string name="next">
Weiter
</string>
@@ -1256,7 +1259,7 @@
(unbekannt)
</string>
<string name="SummaryForTheWeek" value="Zusammenfassung für diese Woche, beginnend am "/>
- <string name="NextStipendDay" value="Der nächste Stipendium-Tag ist "/>
+ <string name="NextStipendDay" value=". Der nächste Stipendium-Tag ist "/>
<string name="GroupIndividualShare" value=" Gruppenanteil Einzelanteil"/>
<string name="Balance">
Kontostand
@@ -1468,6 +1471,9 @@
<string name="PanelContentsNewScript">
Neues Skript
</string>
+ <string name="BusyModeResponseDefault">
+ Der Einwohner/Die Einwohnerin ist „beschäftigt&quot;, 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="MuteByName">
(nach Namen)
</string>
diff --git a/indra/newview/skins/default/xui/de/teleport_strings.xml b/indra/newview/skins/default/xui/de/teleport_strings.xml
index 2c56eff0a3..69c952c532 100644
--- a/indra/newview/skins/default/xui/de/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/de/teleport_strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<teleport_messages name="">
+<teleport_messages>
<message_set name="errors">
<message name="invalid_tport">
Bei der Bearbeitung Ihrer Teleport-Anfrage ist ein Problem aufgetreten. Sie müssen sich zum Teleportieren eventuell neu anmelden.
@@ -62,6 +62,9 @@ Ihre Teleport-Anfrage kann nicht sofort bearbeitet werden. Versuchen Sie es in e
<message name="completing">
Teleport wird abgeschlossen.
</message>
+ <message name="completed_from">
+ Teleport aus [T_SLURL] wurde erfolgreich abgeschlossen.
+ </message>
<message name="resolving">
Ziel wird ermittelt.
</message>
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 2b0cb66f61..2764befeac 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1119,7 +1119,7 @@ Leyla Linden </text>
label="Type"
name="type"
sort_column="online_status"
- width="24" />
+ width="50" />
<name_list.columns
name="online_status"
width="-1" />
@@ -1886,6 +1886,10 @@ Only large parcels can be listed in search.
name="access_estate_defined">
(Defined by the Estate)
</panel.string>
+ <panel.string
+ name="allow_public_access">
+ Allow Public Access ([MATURITY])
+ </panel.string>
<panel.string
name="estate_override">
One or more of these options is set at the estate level
@@ -1906,7 +1910,6 @@ Only large parcels can be listed in search.
<check_box
follows="top|left"
height="16"
- label="Allow Public Access [MATURITY]"
layout="topleft"
left_delta="0"
name="public_access"
diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml
index 663899d4b3..12ade86b5f 100644
--- a/indra/newview/skins/default/xui/en/floater_script.xml
+++ b/indra/newview/skins/default/xui/en/floater_script.xml
@@ -3,7 +3,7 @@
legacy_header_height="18"
background_visible="true"
follows="left|top|right|bottom"
- height="369"
+ height="250"
layout="topleft"
left="0"
name="script_floater"
@@ -11,8 +11,8 @@
can_dock="true"
can_minimize="true"
visible="false"
- width="520"
+ width="350"
can_resize="false"
min_width="350"
- min_height="369">
+ min_height="200">
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index 3b1ecb4c20..12d169b70a 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -290,11 +290,11 @@
width="134" />
<check_box
control_name="SnapEnabled"
- height="20"
+ height="18"
initial_value="true"
label="Snap to grid"
layout="topleft"
- top_pad="0"
+ top_pad="7"
name="checkbox snap to grid"
width="134" />
<combo_box
diff --git a/indra/newview/skins/default/xui/en/menu_picks.xml b/indra/newview/skins/default/xui/en/menu_picks.xml
index 7e07a97016..ebb49c9004 100644
--- a/indra/newview/skins/default/xui/en/menu_picks.xml
+++ b/indra/newview/skins/default/xui/en/menu_picks.xml
@@ -8,6 +8,9 @@
name="pick_info">
<menu_item_call.on_click
function="Pick.Info" />
+ <menu_item_call.on_enable
+ function="Pick.Enable"
+ parameter="info" />
</menu_item_call>
<menu_item_call
label="Edit"
@@ -16,6 +19,9 @@
visible="false">
<menu_item_call.on_click
function="Pick.Edit" />
+ <menu_item_call.on_enable
+ function="Pick.Enable"
+ parameter="edit" />
</menu_item_call>
<menu_item_call
label="Teleport"
@@ -23,6 +29,9 @@
name="pick_teleport">
<menu_item_call.on_click
function="Pick.Teleport" />
+ <menu_item_call.on_enable
+ function="Pick.Enable"
+ parameter="teleport" />
</menu_item_call>
<menu_item_call
label="Map"
@@ -30,6 +39,9 @@
name="pick_map">
<menu_item_call.on_click
function="Pick.Map" />
+ <menu_item_call.on_enable
+ function="Pick.Enable"
+ parameter="map" />
</menu_item_call>
<menu_item_separator
layout="topleft"
@@ -42,5 +54,8 @@
visible="false">
<menu_item_call.on_click
function="Pick.Delete" />
+ <menu_item_call.on_enable
+ function="Pick.Enable"
+ parameter="delete" />
</menu_item_call>
</context_menu>
diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
index 74d63ab328..7383edf63d 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
@@ -186,7 +186,7 @@
left="10"
top_pad="5"
name="set_to_curr_location_btn"
- width="156" />
+ width="200" />
<text
follows="left|top"
font.style="BOLD"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml
index 657e369beb..7445bb339d 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml
@@ -164,7 +164,7 @@
left="8"
top_pad="0"
name="set_to_curr_location_btn"
- width="156" />
+ width="200" />
</panel>
</scroll_container>
<panel
diff --git a/indra/newview/skins/default/xui/en/widgets/slider_bar.xml b/indra/newview/skins/default/xui/en/widgets/slider_bar.xml
index 89d5950e98..ea63cac790 100644
--- a/indra/newview/skins/default/xui/en/widgets/slider_bar.xml
+++ b/indra/newview/skins/default/xui/en/widgets/slider_bar.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!--All horizontal sliders are configured to have no highlighted track. See EXT-5939. -->
<slider_bar track_color="SliderTrackColor"
thumb_outline_color="SliderThumbOutlineColor"
thumb_center_color="SliderThumbCenterColor"
@@ -7,6 +8,6 @@
thumb_image_disabled="SliderThumb_Disabled"
track_image_horizontal="SliderTrack_Horiz"
track_image_vertical="SliderTrack_Vert"
- track_highlight_horizontal_image="SliderTrack_Horiz"
+ track_highlight_horizontal_image="transparent.j2c"
track_highlight_vertical_image="SliderTrack_Vert"
font="SansSerif" />
diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml
index d0e96583f0..ac3bd17c85 100644
--- a/indra/newview/skins/default/xui/fr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="À PROPOS DES TERRAINS">
+ <floater.string name="maturity_icon_general">
+ &quot;Parcel_PG_Dark&quot;
+ </floater.string>
+ <floater.string name="maturity_icon_moderate">
+ &quot;Parcel_M_Dark&quot;
+ </floater.string>
+ <floater.string name="maturity_icon_adult">
+ &quot;Parcel_R_Dark&quot;
+ </floater.string>
<floater.string name="Minutes">
[MINUTES] minutes
</floater.string>
@@ -15,7 +24,7 @@
<tab_container name="landtab" tab_min_width="60">
<panel label="GÉNÉRAL" name="land_general_panel">
<panel.string name="new users only">
- Nouveaux utilisateurs uniquement
+ Nouveaux résidents uniquement
</panel.string>
<panel.string name="anyone">
Tout le monde
@@ -380,7 +389,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
<combo_box.item label="Lieu d&apos;arrivée fixe" name="LandingPoint"/>
<combo_box.item label="Lieu d&apos;arrivée libre" name="Anywhere"/>
</combo_box>
- </panel>
+ </panel>
<panel label="MÉDIA" name="land_media_panel">
<text name="with media:" width="85">
Type :
@@ -392,10 +401,6 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
</text>
<line_editor left="97" name="media_url"/>
<button label="Choisir" label_selected="Définir..." name="set_media_url"/>
- <text name="CurrentURL:">
- Page actuelle :
- </text>
- <button label="Réinitialiser..." label_selected="Réinitialiser..." name="reset_media_url" tool_tip="Actualiser l&apos;URL"/>
<check_box label="Masquer l&apos;URL" left="97" name="hide_media_url" tool_tip="Si vous cochez cette option, les personnes non autorisées à accéder aux infos de cette parcelle ne verront pas l&apos;URL du média. Cette option n&apos;est pas disponible pour les fichiers HTML."/>
<text name="Description:">
Description :
diff --git a/indra/newview/skins/default/xui/fr/floater_god_tools.xml b/indra/newview/skins/default/xui/fr/floater_god_tools.xml
index 187814eba2..e20da40bcf 100644
--- a/indra/newview/skins/default/xui/fr/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/fr/floater_god_tools.xml
@@ -2,7 +2,7 @@
<floater name="godtools floater" title="OUTILS DIVINS">
<tab_container name="GodTools Tabs">
<panel label="Grille" name="grid">
- <button label="Éjecter tous" label_selected="Éjecter tous" name="Kick all users" width="175"/>
+ <button label="Éjecter tous les résidents" label_selected="Éjecter tous les résidents" name="Kick all users" width="175"/>
<button label="Vider le cache cartographique de la région" label_selected="Vider le cache cartographique de la région" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
</panel>
<panel label="Région" name="region">
diff --git a/indra/newview/skins/default/xui/fr/floater_im.xml b/indra/newview/skins/default/xui/fr/floater_im.xml
index 0e4039d3af..15b01dbf12 100644
--- a/indra/newview/skins/default/xui/fr/floater_im.xml
+++ b/indra/newview/skins/default/xui/fr/floater_im.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<multi_floater name="im_floater" title="Message instantané">
<text name="only_user_message">
- Vous êtes le seul participant à cette session.
+ Vous êtes le seul résident participant à cette session.
</text>
<text name="offline_message">
[FIRST] [LAST] est déconnecté(e).
@@ -31,7 +31,7 @@
Un modérateur de groupe a désactivé votre chat écrit.
</string>
<string name="add_session_event">
- Impossible d&apos;ajouter des participants à la session de chat avec [RECIPIENT].
+ Impossible d&apos;ajouter des résidents à la session de chat avec [RECIPIENT].
</string>
<string name="message_session_event">
Impossible d&apos;envoyer votre message à la session de chat avec [RECIPIENT].
diff --git a/indra/newview/skins/default/xui/fr/floater_publish_classified.xml b/indra/newview/skins/default/xui/fr/floater_publish_classified.xml
new file mode 100644
index 0000000000..39a2b086f1
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_publish_classified.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="publish_classified" title="Publication de l&apos;annonce">
+ <text name="explanation_text">
+ Votre petite annonce sera visible pendant une semaine à partir de sa date de publication.
+
+Rappel : les frais liés aux annonces passées ne sont pas remboursables.
+ </text>
+ <spinner label="Coût de l&apos;annonce :" name="price_for_listing" tool_tip="Coût de l’annonce." value="50"/>
+ <text name="l$_text" value="L$"/>
+ <text name="more_info_text">
+ En savoir plus (lien vers l&apos;aide sur les annonces)
+ </text>
+ <button label="Publier" name="publish_btn"/>
+ <button label="Annuler" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index f01d865f29..ccb862acac 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -63,7 +63,7 @@
<check_box label="HUD" name="hud_check"/>
<check_box label="Garder ouvert après enregistrement" name="keep_open_check"/>
<check_box label="Conserver les proportions" name="keep_aspect_check"/>
- <check_box label="Figer l'image (plein écran)" name="freeze_frame_check"/>
+ <check_box label="Figer l&apos;image (plein écran)" name="freeze_frame_check"/>
<button label="Rafraîchir" name="new_snapshot_btn"/>
<check_box label="Rafraîchissement automatique" name="auto_snapshot_check"/>
<button label="Enregistrer ([AMOUNT] L$)" name="upload_btn" width="118"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml
index addbaf2199..f8e1926586 100644
--- a/indra/newview/skins/default/xui/fr/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/fr/floater_world_map.xml
@@ -5,20 +5,17 @@
Légende
</text>
</panel>
- <panel>
- <button label="Afficher mon emplacement" label_selected="Afficher mon emplacement" name="Show My Location" tool_tip="Centrer la carte sur l&apos;emplacement de mon avatar"/>
+ <panel name="layout_panel_2">
+ <button name="Show My Location" tool_tip="Centrer la carte sur l’emplacement de mon avatar"/>
<text name="me_label">
Moi
</text>
- <check_box label="Résident" name="people_chk"/>
<text name="person_label">
Résident
</text>
- <check_box label="Infohub" name="infohub_chk"/>
<text name="infohub_label">
Infohub
</text>
- <check_box label="Terrain à vendre" name="land_for_sale_chk"/>
<text name="land_sale_label">
Vente de terrains
</text>
@@ -28,55 +25,46 @@
<text name="auction_label">
enchères
</text>
- <button label="Aller chez moi" label_selected="Aller chez moi" name="Go Home" tool_tip="Me téléporter jusqu&apos;à mon domicile"/>
+ <button name="Go Home" tool_tip="Me téléporter jusqu’à mon domicile"/>
<text name="Home_label">
Domicile
</text>
<text name="events_label">
Événements :
</text>
- <check_box label="PG" name="event_chk"/>
<text name="pg_label">
Général
</text>
- <check_box initial_value="true" label="Mature" name="event_mature_chk"/>
+ <check_box initial_value="true" name="event_mature_chk"/>
<text name="mature_label">
Modéré
</text>
- <check_box label="Adult" name="event_adult_chk"/>
<text name="adult_label">
Adulte
</text>
</panel>
- <panel>
+ <panel name="layout_panel_3">
<text name="find_on_map_label">
Situer sur la carte
</text>
</panel>
- <panel>
+ <panel name="layout_panel_4">
<combo_box label="Amis connectés" name="friend combo" tool_tip="Afficher les amis sur la carte">
<combo_box.item label="Mes amis connectés" name="item1"/>
</combo_box>
<combo_box label="Mes repères" name="landmark combo" tool_tip="Repère à afficher sur la carte">
<combo_box.item label="Mes repères" name="item1"/>
</combo_box>
- <search_editor label="Régions par nom" name="location" tool_tip="Saisissez le nom d&apos;une région"/>
- <button label="Trouver" label_selected="&gt;" name="DoSearch" tool_tip="Recherchez sur la carte"/>
+ <search_editor label="Régions par nom" name="location" tool_tip="Tapez le nom d&apos;une région"/>
+ <button label="Trouver" name="DoSearch" tool_tip="Rechercher une région"/>
<button name="Clear" tool_tip="Effacer les lignes de suivi et réinitialiser la carte"/>
- <scroll_list name="search_results">
- <scroll_list.columns label="" name="icon"/>
- <scroll_list.columns label="" name="sim_name"/>
- </scroll_list>
- <button label="Téléporter" label_selected="Téléporter" name="Teleport" tool_tip="Téléporter à l&apos;endroit sélectionné"/>
- <button label="Copier la SLurl" name="copy_slurl" tool_tip="Copie l&apos;emplacement actuel sous la forme d&apos;une SLurl à utiliser sur le Web."/>
- <button label="Afficher la sélection" label_selected="Afficher la destination" name="Show Destination" tool_tip="Centrer la carte sur l&apos;endroit sélectionné"/>
+ <button label="Téléporter" name="Teleport" tool_tip="Me téléporter à l&apos;emplacement sélectionné"/>
+ <button label="Copier la SLurl" name="copy_slurl" tool_tip="Copie l’emplacement actuel sous la forme d’une SLurl à utiliser sur le Web."/>
+ <button label="Afficher la sélection" name="Show Destination" tool_tip="Centrer la carte sur l&apos;emplacement sélectionné"/>
</panel>
- <panel>
+ <panel name="layout_panel_5">
<text name="zoom_label">
Zoomer
</text>
</panel>
- <panel>
- <slider label="Zoom" name="zoom slider"/>
- </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/menu_attachment_other.xml b/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
index ccb93f129e..8d51c1b4e3 100644
--- a/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/fr/menu_attachment_other.xml
@@ -8,7 +8,7 @@
<menu_item_call label="Inviter dans le groupe" name="Invite..."/>
<menu_item_call label="Ignorer" name="Avatar Mute"/>
<menu_item_call label="Signaler" name="abuse"/>
- <menu_item_call label="Geler" name="Freeze..."/>
+ <menu_item_call label="Figer" name="Freeze..."/>
<menu_item_call label="Expulser" name="Eject..."/>
<menu_item_call label="Débogage" name="Debug..."/>
<menu_item_call label="Zoomer en avant" name="Zoom In"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_other.xml b/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
index 289912cd05..b42271e969 100644
--- a/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
+++ b/indra/newview/skins/default/xui/fr/menu_avatar_other.xml
@@ -8,7 +8,7 @@
<menu_item_call label="Inviter dans le groupe" name="Invite..."/>
<menu_item_call label="Ignorer" name="Avatar Mute"/>
<menu_item_call label="Signaler" name="abuse"/>
- <menu_item_call label="Geler" name="Freeze..."/>
+ <menu_item_call label="Figer" name="Freeze..."/>
<menu_item_call label="Expulser" name="Eject..."/>
<menu_item_call label="Débogage" name="Debug..."/>
<menu_item_call label="Zoomer en avant" name="Zoom In"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
index e5746dd4c2..0da9a1806d 100644
--- a/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inspect_avatar_gear.xml
@@ -9,7 +9,7 @@
<menu_item_call label="Ignorer" name="block"/>
<menu_item_call label="Ne plus ignorer" name="unblock"/>
<menu_item_call label="Signaler" name="report"/>
- <menu_item_call label="Geler" name="freeze"/>
+ <menu_item_call label="Figer" name="freeze"/>
<menu_item_call label="Expulser" name="eject"/>
<menu_item_call label="Débogage" name="debug"/>
<menu_item_call label="Situer sur la carte" name="find_on_map"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml b/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml
index ab5016465d..58bd16064a 100644
--- a/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml
+++ b/indra/newview/skins/default/xui/fr/menu_profile_overflow.xml
@@ -5,7 +5,7 @@
<menu_item_call label="Ignorer" name="block"/>
<menu_item_call label="Ne plus ignorer" name="unblock"/>
<menu_item_call label="Éjecter" name="kick"/>
- <menu_item_call label="Geler" name="freeze"/>
- <menu_item_call label="Dégeler" name="unfreeze"/>
+ <menu_item_call label="Figer" name="freeze"/>
+ <menu_item_call label="Libérer" name="unfreeze"/>
<menu_item_call label="Représentant du service consommateur" name="csr"/>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 7d2a33509b..0fb609d653 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -107,7 +107,7 @@ Veuillez ne sélectionner qu&apos;un seul objet.
</notification>
<notification name="FriendsAndGroupsOnly">
Les résidents qui ne sont pas vos amis ne sauront pas que vous avez choisi d&apos;ignorer leurs appels et leurs messages instantanés.
- <usetemplate name="okbutton" yestext="Oui"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="GrantModifyRights">
Lorsque vous accordez des droits d&apos;édition à un autre résident, vous lui permettez de changer, supprimer ou prendre n&apos;importe lequel de vos objets dans le Monde. Réfléchissez bien avant d&apos;accorder ces droits.
@@ -495,14 +495,14 @@ Souhaitez-vous vraiment donner ces objets ?
Vous n&apos;êtes pas autorisé à transférer le dossier sélectionné.
</notification>
<notification name="FreezeAvatar">
- Geler cet avatar ?
+ Figer cet avatar ?
Il ou elle ne pourra temporairement plus bouger, chatter, ou interagir dans le Monde.
- <usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Dégeler" yestext="Geler"/>
+ <usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Libérer" yestext="Figer"/>
</notification>
<notification name="FreezeAvatarFullname">
- Geler [AVATAR_NAME] ?
+ Figer [AVATAR_NAME] ?
Il ou elle ne pourra temporairement plus bouger, chatter, ou interagir dans le Monde.
- <usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Dégeler" yestext="Geler"/>
+ <usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Libérer" yestext="Figerf"/>
</notification>
<notification name="EjectAvatarFullname">
Expulser [AVATAR_NAME] de votre terrain ?
@@ -1295,8 +1295,8 @@ Quitter le groupe ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="ConfirmKick">
- Souhaitez-vous vraiment éjecter tous les utilisateurs de la grille ?
- <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Éjecter tous"/>
+ Souhaitez-vous vraiment éjecter tous les résidents de la grille ?
+ <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Éjecter tous les résidents"/>
</notification>
<notification name="MuteLinden">
Désolé, vous ne pouvez pas ignorer un Linden.
@@ -1336,7 +1336,7 @@ Les chats et les messages instantanés ne s&apos;afficheront pas. Les messages i
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="KickUser">
- Éjecter cet utilisateur avec quel message ?
+ Éjecter ce résident avec quel message ?
<form name="form">
<input name="message">
Un administrateur vous a déconnecté.
@@ -1356,20 +1356,20 @@ Les chats et les messages instantanés ne s&apos;afficheront pas. Les messages i
</form>
</notification>
<notification name="FreezeUser">
- Geler cet utilisateur avec quel message ?
+ Figer ce résident avec quel message ?
<form name="form">
<input name="message">
- Vous avez été gelé. Vous ne pouvez ni bouger ni chatter. Un administrateur va vous envoyer un message instantané (IM).
+ Vous avez été figé. Vous ne pouvez ni bouger ni chatter. Un administrateur va vous envoyer un message instantané (IM).
</input>
<button name="OK" text="OK"/>
<button name="Cancel" text="Annuler"/>
</form>
</notification>
<notification name="UnFreezeUser">
- Dégeler cet utilisateur avec quel message ?
+ Libérer ce résident avec quel message ?
<form name="form">
<input name="message">
- Vous n&apos;êtes plus gelé.
+ Vous n&apos;êtes plus figé.
</input>
<button name="OK" text="OK"/>
<button name="Cancel" text="Annuler"/>
@@ -1386,7 +1386,7 @@ Les chats et les messages instantanés ne s&apos;afficheront pas. Les messages i
</form>
</notification>
<notification name="OfferTeleportFromGod">
- Demander au résident de venir vous rejoindre ?
+ Exiger du résident qu&apos;il vienne vous rejoindre ?
<form name="form">
<input name="message">
On se rejoint à [REGION] ?
@@ -1418,7 +1418,7 @@ Les chats et les messages instantanés ne s&apos;afficheront pas. Les messages i
<notification label="Modifier un domaine Linden" name="ChangeLindenEstate">
Vous vous apprêtez à modifier un domaine appartenant aux Lindens (continent, zone réservée aux ados, orientation etc.).
-Cela est extrêmement délicat car l&apos;expérience des résidents est en jeu. Sur le continent, cela modifiera des milliers de régions et sera difficile à digérer pour le serveur.
+Cela est extrêmement délicat car l&apos;expérience des résidents est en jeu. Sur le continent, cette action modifiera des milliers de régions et sera difficile à digérer pour le serveur.
Continuer ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
@@ -2415,7 +2415,7 @@ Accepter cette requête ?
</form>
</notification>
<notification name="ScriptToast">
- [FIRST] [LAST]&apos;s &apos;[TITLE]&apos; demande la participation de l&apos;utilisateur.
+ Le/La [TITLE] de [FIRST] [LAST] demande la participation du résident.
<form name="form">
<button name="Open" text="Ouvrir la boîte de dialogue"/>
<button name="Ignore" text="Ignorer"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_classified_info.xml b/indra/newview/skins/default/xui/fr/panel_classified_info.xml
index 784c6baae9..e064846c48 100644
--- a/indra/newview/skins/default/xui/fr/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/fr/panel_classified_info.xml
@@ -9,16 +9,46 @@
<panel.string name="l$_price">
[PRICE] L$
</panel.string>
+ <panel.string name="click_through_text_fmt">
+ [TELEPORT] téléporter, [MAP] carte, [PROFILE] profil
+ </panel.string>
+ <panel.string name="date_fmt">
+ [day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
+ </panel.string>
+ <panel.string name="auto_renew_on">
+ Activé
+ </panel.string>
+ <panel.string name="auto_renew_off">
+ Désactivé
+ </panel.string>
<text name="title" value="Infos sur la petite annonce"/>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text_editor name="classified_name" value="[name]"/>
+ <text name="classified_location_label" value="Emplacement :"/>
<text_editor name="classified_location" value="[loading...]"/>
+ <text name="content_type_label" value="Type de contenu :"/>
<text_editor name="content_type" value="[content type]"/>
+ <text name="category_label" value="Catégorie :"/>
<text_editor name="category" value="[category]"/>
- <check_box label="Renouvellement automatique toutes les semaines" name="auto_renew"/>
- <text_editor name="price_for_listing" tool_tip="Coût de l&apos;annonce."/>
- <text_editor name="classified_desc" value="[description]"/>
+ <text name="creation_date_label" value="Date de création :"/>
+ <text_editor name="creation_date" tool_tip="Date de création" value="[date]"/>
+ <text name="price_for_listing_label" value="Coût de l&apos;annonce :"/>
+ <text_editor name="price_for_listing" tool_tip="Coût de l&apos;annonce." value="[prix]"/>
+ <layout_stack name="descr_stack">
+ <layout_panel name="clickthrough_layout_panel">
+ <text name="click_through_label" value="Clics :"/>
+ <text_editor name="click_through_text" tool_tip="Parcourir les données en cliquant" value="[clics]"/>
+ </layout_panel>
+ <layout_panel name="price_layout_panel">
+ <text name="auto_renew_label" value="Renouvellement automatique :"/>
+ <text name="auto_renew" value="Activé"/>
+ </layout_panel>
+ <layout_panel name="descr_layout_panel">
+ <text name="classified_desc_label" value="Description :"/>
+ <text_editor name="classified_desc" value="[description]"/>
+ </layout_panel>
+ </layout_stack>
</panel>
</scroll_container>
<panel name="buttons">
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml b/indra/newview/skins/default/xui/fr/panel_edit_classified.xml
index 1f44f2fe09..9ea7ff8122 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_classified.xml
@@ -3,12 +3,20 @@
<panel.string name="location_notice">
(mise à jour après l&apos;enregistrement)
</panel.string>
+ <string name="publish_label">
+ Publier
+ </string>
+ <string name="save_label">
+ Enregistrer
+ </string>
<text name="title">
Modifier la petite annonce
</text>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
- <icon label="" name="edit_icon" tool_tip="Cliquez pour sélectionner une image"/>
+ <panel name="snapshot_panel">
+ <icon label="" name="edit_icon" tool_tip="Cliquer pour sélectionner une image"/>
+ </panel>
<text name="Name:">
Titre :
</text>
@@ -22,20 +30,19 @@
en cours de chargement...
</text>
<button label="Définir sur l&apos;emplacement actuel" name="set_to_curr_location_btn"/>
- <combo_box name="content_type">
- <combo_item name="mature_ci">
- Contenu Modéré
- </combo_item>
- <combo_item name="pg_ci">
- Contenu Général
- </combo_item>
- </combo_box>
+ <text name="category_label" value="Catégorie :"/>
+ <text name="content_type_label" value="Type de contenu :"/>
+ <icons_combo_box label="Contenu Général" name="content_type">
+ <icons_combo_box.item label="Contenu Modéré" name="mature_ci" value="Mature"/>
+ <icons_combo_box.item label="Contenu Général" name="pg_ci" value="PG"/>
+ </icons_combo_box>
+ <text name="price_for_listing_label" value="Coût de l&apos;annonce :"/>
<spinner label="L$" name="price_for_listing" tool_tip="Coût de l&apos;annonce." value="50"/>
<check_box label="Renouvellement automatique toutes les semaines" name="auto_renew"/>
</panel>
</scroll_container>
<panel label="bottom_panel" name="bottom_panel">
- <button label="Enregistrer" name="save_changes_btn"/>
+ <button label="[LABEL]" name="save_changes_btn"/>
<button label="Annuler" name="cancel_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_people.xml b/indra/newview/skins/default/xui/fr/panel_people.xml
index 39885e1e12..8d17d9ffdf 100644
--- a/indra/newview/skins/default/xui/fr/panel_people.xml
+++ b/indra/newview/skins/default/xui/fr/panel_people.xml
@@ -7,6 +7,8 @@
<string name="no_friends" value="Pas d&apos;amis"/>
<string name="people_filter_label" value="Filtrer les personnes"/>
<string name="groups_filter_label" value="Filtrer les groupes"/>
+ <string name="no_filtered_groups_msg" value="[secondlife:///app/search/groups Trouver le groupe via la recherche ?]"/>
+ <string name="no_groups_msg" value="[secondlife:///app/search/groups Rechercher des groupes à rejoindre.]"/>
<filter_editor label="Filtre" name="filter_input"/>
<tab_container name="tabs">
<panel label="PRÈS DE VOUS" name="nearby_panel">
@@ -20,15 +22,15 @@
<accordion_tab name="tab_online" title="En ligne"/>
<accordion_tab name="tab_all" title="Tout"/>
</accordion>
- <text name="no_friends_msg">
- Pour ajouter des amis, utilisez la [secondlife:///app/search/people recherche] ou cliquez sur un résident pour l&apos;ajouter à vos amis.
-Si vous souhaitez rencontrer d&apos;autres résidents, cliquez sur [secondlife:///app/worldmap la carte].
- </text>
<panel label="bottom_panel" name="bottom_panel">
<button name="friends_viewsort_btn" tool_tip="Options"/>
<button name="add_btn" tool_tip="Proposer à un résident de devenir votre ami"/>
<button name="del_btn" tool_tip="Supprimer le résident sélectionné de votre liste d&apos;amis"/>
</panel>
+ <text name="no_friends_msg">
+ Pour ajouter des amis, utilisez la [secondlife:///app/search/people recherche] ou cliquez-droit sur le résident à ajouter comme ami.
+Si vous souhaitez rencontrer d&apos;autres résidents, cliquez sur [secondlife:///app/worldmap la carte].
+ </text>
</panel>
<panel label="MES GROUPES" name="groups_panel">
<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/fr/panel_place_profile.xml b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
index 2cd8744ae5..f2bdb3d745 100644
--- a/indra/newview/skins/default/xui/fr/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
@@ -69,58 +69,58 @@
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcelle">
<panel name="parcel_characteristics_panel">
- <text name="rating_label" value="Catégorie :"/>
- <text name="rating_value" value="(inconnu)"/>
- <text name="voice_label" value="Voix :"/>
- <text name="voice_value" value="Activée"/>
- <text name="fly_label" value="Voler :"/>
+ <text name="rating_label" value="Catégorie :"/>
+ <text name="rating_value" value="inconnu"/>
+ <text name="voice_label" value="Voix :"/>
+ <text name="voice_value" value="Activé"/>
+ <text name="fly_label" value="Voler :"/>
<text name="fly_value" value="Activé"/>
- <text name="push_label" value="Appuyer :"/>
+ <text name="push_label" value="Pousser :"/>
<text name="push_value" value="Désactivé"/>
- <text name="build_label" value="Construire :"/>
+ <text name="build_label" value="Construire :"/>
<text name="build_value" value="Activé"/>
- <text name="scripts_label" value="Scripts :"/>
- <text name="scripts_value" value="Activés"/>
- <text name="damage_label" value="Dégâts :"/>
- <text name="damage_value" value="Désactivés"/>
- <button label="À propos des terrains" name="about_land_btn"/>
+ <text name="scripts_label" value="Scripts :"/>
+ <text name="scripts_value" value="Activé"/>
+ <text name="damage_label" value="Dégâts :"/>
+ <text name="damage_value" value="Désactivé"/>
+ <button label="À propos du terrain" name="about_land_btn"/>
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Région">
<panel name="region_information_panel">
<text name="region_name_label" value="Région :"/>
<text name="region_name" value="Pays des orignaux"/>
- <text name="region_type_label" value="Type :"/>
+ <text name="region_type_label" value="Type :"/>
<text name="region_type" value="Orignal"/>
- <text name="region_rating_label" value="Catégorie :"/>
+ <text name="region_rating_label" value="Catégorie :"/>
<text name="region_rating" value="Adulte"/>
- <text name="region_owner_label" value="Propriétaire :"/>
+ <text name="region_owner_label" value="Propriétaire :"/>
<text name="region_owner" value="orignal Van Orignal"/>
- <text name="region_group_label" value="Groupe :"/>
+ <text name="region_group_label" value="Groupe :"/>
<text name="region_group">
- Le puissant orignal d&apos;Orignalville
+ Le puissant orignal d’Orignalville
</text>
<button label="Région/Domaine" name="region_info_btn"/>
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Domaine">
<panel name="estate_information_panel">
- <text name="estate_name_label" value="Domaine :"/>
- <text name="estate_rating_label" value="Catégorie :"/>
- <text name="estate_owner_label" value="Propriétaire :"/>
- <text name="covenant_label" value="Règlement :"/>
+ <text name="estate_name_label" value="Domaine :"/>
+ <text name="estate_rating_label" value="Catégorie :"/>
+ <text name="estate_owner_label" value="Propriétaire :"/>
+ <text name="covenant_label" value="Règlement :"/>
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="À vendre">
<panel name="sales_panel">
- <text name="sales_price_label" value="Prix :"/>
+ <text name="sales_price_label" value="Prix :"/>
<text name="area_label" value="Surface :"/>
<text name="traffic_label" value="Trafic :"/>
<text name="primitives_label" value="Prims :"/>
- <text name="parcel_scripts_label" value="Scripts :"/>
- <text name="terraform_limits_label" value="Limites de terraformage :"/>
- <text name="subdivide_label" value="Possibilité de division/fusion :"/>
- <text name="resale_label" value="Possibilité de revente :"/>
+ <text name="parcel_scripts_label" value="Scripts :"/>
+ <text name="terraform_limits_label" value="Limites de terraformage :"/>
+ <text name="subdivide_label" value="Possibilité de sous-division/fusion :"/>
+ <text name="resale_label" value="Possibilité de revente :"/>
<text name="sale_to_label" value="À vendre à :"/>
</panel>
</accordion_tab>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
index 71f7990073..087bba79ec 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat écrit" name="chat">
<text name="font_size">
- Font size:
+ Taille de la police :
</text>
<radio_group name="chat_font_size">
<radio_item label="Moins" name="radio" value="0"/>
@@ -9,7 +9,7 @@
<radio_item label="Plus" name="radio3" value="2"/>
</radio_group>
<text name="font_colors">
- Font colors:
+ Couleurs de police :
</text>
<color_swatch label="Vous" name="user"/>
<text name="text_box1">
diff --git a/indra/newview/skins/default/xui/fr/panel_region_estate.xml b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
index e1acbe3817..2c12547d61 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
@@ -5,7 +5,7 @@
onglet affecteront toutes les régions du
domaine.
</text>
- <text top_pad="8" bottom_delta="-34" name="estate_text">
+ <text bottom_delta="-34" name="estate_text" top_pad="8">
Domaine :
</text>
<text name="estate_name">
@@ -21,7 +21,7 @@ domaine.
Limiter l&apos;accès aux comptes vérifiés par :
</text>
<check_box label="Infos de paiement enregistrées" name="limit_payment" tool_tip="Bannir les résidents non identifiés"/>
- <check_box label="Vérification de l'âge" name="limit_age_verified" tool_tip="Bannir les résidents qui n&apos;ont pas vérifié leur âge. Consultez la page [SUPPORT_SITE] pour plus d&apos;informations."/>
+ <check_box label="Vérification de l&apos;âge" name="limit_age_verified" tool_tip="Bannir les résidents qui n&apos;ont pas vérifié leur âge. Consultez la page [SUPPORT_SITE] pour plus d&apos;informations."/>
<check_box label="Autoriser les chats vocaux" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/>
<text name="abuse_email_text">
@@ -74,5 +74,5 @@ domaine.
<button label="Ajouter..." name="add_banned_avatar_btn"/>
<button label="Supprimer..." name="remove_banned_avatar_btn"/>
<button label="Envoyer un message au domaine..." name="message_estate_btn"/>
- <button label="Éjecter le résident du domaine..." name="kick_user_from_estate_btn"/>
+ <button label="Éjecter un résident du domaine..." name="kick_user_from_estate_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml
index 711278d614..925f4375da 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_general.xml
@@ -19,35 +19,25 @@
(inconnu)
</text>
<check_box label="Interdire le terraformage" name="block_terraform_check"/>
- <button label="?" name="terraform_help"/>
<check_box label="Interdire le vol" name="block_fly_check"/>
- <button label="?" name="fly_help"/>
<check_box label="Autoriser les dégâts" name="allow_damage_check"/>
- <button label="?" name="damage_help"/>
<check_box label="Interdire les bousculades" name="restrict_pushobject"/>
- <button label="?" name="restrict_pushobject_help"/>
<check_box label="Autoriser la revente" name="allow_land_resell_check"/>
- <button label="?" name="land_resell_help"/>
<check_box label="Autoriser la fusion/division" name="allow_parcel_changes_check"/>
- <button label="?" name="parcel_changes_help"/>
<check_box label="Ne pas afficher dans la recherche" name="block_parcel_search_check" tool_tip="Afficher cette région et ses parcelles dans les résultats de recherche"/>
- <button label="?" name="parcel_search_help"/>
- <spinner label="Nombre maximum d&apos;avatars" name="agent_limit_spin" label_width="160" width="240"/>
- <button label="?" name="agent_limit_help"/>
- <spinner label="Bonus objet" name="object_bonus_spin" label_width="160" width="240"/>
- <button label="?" name="object_bonus_help"/>
+ <spinner label="Nombre maximum d&apos;avatars" label_width="160" name="agent_limit_spin" width="240"/>
+ <spinner label="Bonus objet" label_width="160" name="object_bonus_spin" width="240"/>
<text label="Maturité" name="access_text">
Catégorie :
</text>
- <combo_box label="Modéré" name="access_combo">
- <combo_box.item label="Adult" name="Adult"/>
- <combo_box.item label="Modéré" name="Mature"/>
- <combo_box.item label="Général" name="PG"/>
- </combo_box>
- <button label="?" name="access_help"/>
+ <icons_combo_box label="Modéré" name="access_combo">
+ <icons_combo_box.item label="Adult" name="Adult" value="42"/>
+ <icons_combo_box.item label="Modéré" name="Mature" value="21"/>
+ <icons_combo_box.item label="Général" name="PG" value="13"/>
+ </icons_combo_box>
<button label="Appliquer" name="apply_btn"/>
- <button label="Téléporter un résident chez lui..." name="kick_btn"/>
- <button label="Téléporter tous les résidents chez eux..." name="kick_all_btn"/>
+ <button label="Téléporter un résident chez lui…" name="kick_btn"/>
+ <button label="Téléporter tous les résidents chez eux…" name="kick_all_btn"/>
<button label="Envoyer un message à la région..." name="im_btn"/>
<button label="Gérer le Téléhub..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml b/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml
index e709100fa2..663ae55134 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_general_layout.xml
@@ -3,19 +3,19 @@
<text name="region_text_lbl">
Région :
</text>
- <text name="region_text" left_delta="56">
+ <text left_delta="56" name="region_text">
inconnu
</text>
<text name="version_channel_text_lbl">
Version :
</text>
- <text name="version_channel_text" left_delta="56">
+ <text left_delta="56" name="version_channel_text">
inconnu
</text>
<text name="region_type_lbl">
Type :
</text>
- <text name="region_type" left_delta="56">
+ <text left_delta="56" name="region_type">
inconnu
</text>
<check_box label="Interdire le terraformage" name="block_terraform_check"/>
@@ -25,8 +25,8 @@
<check_box label="Autoriser la revente de terrains" name="allow_land_resell_check"/>
<check_box label="Autoriser la fusion/division de terrains" name="allow_parcel_changes_check"/>
<check_box label="Interdire l&apos;affichage du terrain dans les recherches" name="block_parcel_search_check" tool_tip="Permettre aux autres résidents de voir cette région et ses parcelles dans les résultats de recherche"/>
- <spinner label="Nombre maximum d&apos;avatars" name="agent_limit_spin" label_width="160" width="240"/>
- <spinner label="Bonus objet" name="object_bonus_spin" label_width="160" width="240"/>
+ <spinner label="Nombre maximum d&apos;avatars" label_width="160" name="agent_limit_spin" width="240"/>
+ <spinner label="Bonus objet" label_width="160" name="object_bonus_spin" width="240"/>
<text label="Accès" name="access_text">
Catégorie :
</text>
@@ -36,8 +36,8 @@
<combo_box.item label="Général" name="PG"/>
</combo_box>
<button label="Appliquer" name="apply_btn"/>
- <button label="Téléporter un résident chez lui..." name="kick_btn"/>
- <button label="Téléporter tous les résidents chez eux..." name="kick_all_btn"/>
+ <button label="Téléporter un résident chez lui…" name="kick_btn"/>
+ <button label="Téléporter tous les résidents chez eux…" name="kick_all_btn"/>
<button label="Envoyer un message à la région..." name="im_btn"/>
<button label="Gérer le téléhub..." name="manage_telehub_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_texture.xml b/indra/newview/skins/default/xui/fr/panel_region_texture.xml
index e95d911c01..be7ca456f1 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_texture.xml
@@ -28,16 +28,16 @@
Limites d&apos;élévation de texture
</text>
<text name="height_text_lbl6">
- Sud-ouest
+ Nord-ouest
</text>
<text name="height_text_lbl7">
- Nord-ouest
+ Nord-est
</text>
<text name="height_text_lbl8">
- Sud-est
+ Sud-ouest
</text>
<text name="height_text_lbl9">
- Nord-est
+ Sud-est
</text>
<text name="height_text_lbl10" width="460">
Ces valeurs représentent les limites de mélange pour les textures ci-dessus.
diff --git a/indra/newview/skins/default/xui/fr/role_actions.xml b/indra/newview/skins/default/xui/fr/role_actions.xml
index 3367353b28..495810289d 100644
--- a/indra/newview/skins/default/xui/fr/role_actions.xml
+++ b/indra/newview/skins/default/xui/fr/role_actions.xml
@@ -40,11 +40,11 @@
<action description="Toujours autoriser à créer des repères" longdescription="Vous pouvez créer un repère sur une parcelle du groupe, même si l&apos;option est désactivée à partir du menu À propos du terrain &gt; Options." name="land allow landmark" value="26"/>
<action description="Autoriser à définir un domicile sur le terrain du groupe" longdescription="Un membre dans un rôle avec ce pouvoir peut utiliser le menu Monde &gt; Repères &gt; Définir le domicile ici sur une parcelle cédée à ce groupe." name="land allow set home" value="28"/>
</action_set>
- <action_set description="Ces pouvoirs permettent d&apos;autoriser ou d&apos;interdire l&apos;accès à des parcelles du groupe et de geler ou d&apos;expulser des résidents." name="Parcel Access">
+ <action_set description="Ces pouvoirs permettent d&apos;autoriser ou d&apos;interdire l&apos;accès à des parcelles du groupe et de figer ou d&apos;expulser des résidents." name="Parcel Access">
<action description="Gérer la liste d&apos;accès à la parcelle" longdescription="Gérez la liste des résidents autorisés sur la parcelle à partir du menu À propos du terrain &gt; Accès." name="land manage allowed" value="29"/>
<action description="Gérer la liste noire de cette parcelle" longdescription="Gérez les listes des résidents bannis des parcelles dans l&apos;onglet À propos des terrains &gt; Accès." name="land manage banned" value="30"/>
<action description="Modifiez les paramètres Vendre des pass à" longdescription="Modifiez les paramètres Vendre des pass à dans l&apos;onglet À propos des terrains &gt; Accès." name="land manage passes" value="31"/>
- <action description="Expulser et geler des résidents" longdescription="Les membres dans un rôle avec ce pouvoir peuvent se charger des résidents indésirables sur une parcelle appartenant au groupe en cliquant dessus, puis en sélectionnant Expulser ou Geler." name="land admin" value="32"/>
+ <action description="Expulser et figer des résidents" longdescription="Les membres dans un rôle avec ce pouvoir peuvent se charger des résidents indésirables sur une parcelle appartenant au groupe en cliquant dessus, puis en sélectionnant Expulser ou Figer." name="land admin" value="32"/>
</action_set>
<action_set description="Ces pouvoirs permettent de renvoyer des objets du groupe et de placer ou déplacer des plantes Linden pour aménager le paysage. Utilisez ce pouvoir avec précaution car les objets renvoyés le sont définitivement." name="Parcel Content">
<action description="Renvoyer les objets transférés au groupe" longdescription="Vous pouvez renvoyer des objets appartenant au groupe à partir du menu À propos du terrain &gt; Objets." name="land return group owned" value="48"/>
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
index def71d96b4..cc99b1a07c 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
@@ -38,33 +38,33 @@
</panel.string>
<text name="title" value="Profil de l&apos;objet"/>
<text name="where" value="(dans Second Life)"/>
- <panel name="properties_panel" label="">
+ <panel label="" name="properties_panel">
<text name="Name:">
- Nom :
+ Nom :
</text>
<text name="Description:">
Description :
</text>
<text name="CreatorNameLabel">
- Créateur :
+ Créateur :
</text>
<text name="Creator Name">
Erica Linden
</text>
<text name="Owner:">
- Propriétaire :
+ Propriétaire :
</text>
<text name="Owner Name">
Erica Linden
</text>
<text name="Group_label">
- Groupe :
+ Groupe :
</text>
- <button name="button set group" tool_tip="Choisissez un groupe pour partager les droits de cet objet"/>
- <name_box initial_value="Chargement..." name="Group Name Proxy"/>
- <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les droits au prochain propriétaire. Seul un officier peut céder les objets d&apos;un groupe."/>
+ <button name="button set group" tool_tip="Choisir un groupe pour partager les droits relatifs à cet objet"/>
+ <name_box initial_value="Chargement…" name="Group Name Proxy"/>
+ <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les droits au prochain propriétaire. Seul un officier peut céder les objets partagés d&apos;un groupe."/>
<text name="label click action">
- Cliquer pour :
+ Cliquer pour :
</text>
<combo_box name="clickaction">
<combo_box.item label="Toucher (défaut)" name="Touch/grab(default)"/>
@@ -78,16 +78,16 @@
Vous pouvez modifier cet objet
</text>
<text name="Anyone can:">
- N&apos;importe qui :
+ N&apos;importe qui :
</text>
<check_box label="Copier" name="checkbox allow everyone copy"/>
<check_box label="Bouger" name="checkbox allow everyone move"/>
<text name="GroupLabel">
- Groupe :
+ Groupe :
</text>
- <check_box label="Partager" name="checkbox share with group" tool_tip="Autorisez tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d&apos;abord cliquer sur Transférer."/>
+ <check_box label="Partager" name="checkbox share with group" tool_tip="Autoriser tous les membres du groupe choisi à partager vos droits de modification pour cet objet. Pour activer les restrictions de rôles, vous devez d&apos;abord cliquer sur Céder."/>
<text name="NextOwnerLabel">
- Le prochain propriétaire :
+ Le prochain propriétaire :
</text>
<check_box label="Modifier" name="checkbox next owner can modify"/>
<check_box label="Copier" name="checkbox next owner can copy"/>
@@ -99,30 +99,31 @@
<combo_box.item label="Contenus" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
- <spinner label="Prix : L$" name="Edit Cost"/>
+ <spinner label="Prix : L$" name="Edit Cost"/>
<check_box label="Afficher dans les résultats de recherche" name="search_check" tool_tip="Permettre aux autres résidents de voir cet objet dans les résultats de recherche"/>
<text name="B:">
- B :
+ B :
</text>
<text name="O:">
- O :
+ O :
</text>
<text name="G:">
G :
</text>
<text name="E:">
- E :
+ E :
</text>
<text name="N:">
- N :
+ N :
</text>
<text name="F:">
- F :
+ F :
</text>
</panel>
<panel name="button_panel">
<button label="Ouvrir" name="open_btn"/>
<button label="Payer" name="pay_btn"/>
<button label="Acheter" name="buy_btn"/>
+ <button label="Détails" name="details_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index d78b78f7d0..f759f5f41a 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -758,6 +758,9 @@
<string name="invalid">
non valide
</string>
+ <string name="NewWearable">
+ Nouv. [WEARABLE_ITEM]
+ </string>
<string name="next">
Suivant
</string>
@@ -1468,6 +1471,9 @@
<string name="PanelContentsNewScript">
Nouveau script
</string>
+ <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="MuteByName">
(par nom)
</string>
diff --git a/indra/newview/skins/default/xui/fr/teleport_strings.xml b/indra/newview/skins/default/xui/fr/teleport_strings.xml
index b76ae370fd..7c291c0984 100644
--- a/indra/newview/skins/default/xui/fr/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/fr/teleport_strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<teleport_messages name="">
+<teleport_messages>
<message_set name="errors">
<message name="invalid_tport">
Nous avons rencontré des problèmes en essayant de vous téléporter. Vous devrez peut-être vous reconnecter avant de pouvoir vous téléporter.
@@ -61,6 +61,9 @@ Veuillez réessayer dans un moment.
<message name="completing">
Téléportation sur le point d&apos;aboutir.
</message>
+ <message name="completed_from">
+ Téléportation depuis [T_SLURL] terminée
+ </message>
<message name="resolving">
Destination en cours de résolution.
</message>