Commits

Anonymous committed eb70a51

skinning-22 -> viewer-2 trunk to pick up bug fixes, including crash on script compile when cursor is at the end of the script editor window. Replaced panel_pick_info.xml and panel_profile_view.xml with our versions, which stomped some PE changes. Panels still work, however, and Kurt is still working on layout.

CHANGES:
minor layout change: "start location" and "remember password" weren't on the same horizontal line.

DEV-35120 image_unselected art was "transparent.j2c" - switched it out for PushButton_Off

I18N: more things are missing a.. you guessed it, a name= parameter. Breaks localization.

forgot to check this in earlier...fixes off-by-one crash when editing a script

DEV-36740 change the displayed string per Erica's request re 'You can only set your Home Location...' VIEWER-SIDE text change. This does not change the actual message coming from the server

EXT-689 Odd spinner behaviour - For Sale Price -- reviewed by james

DEV-26973 Internationalize the server msg Youcan'tset this place as home -- reviewed by james

EXT-618 Low/Mid/High response is broken in Preferences > Graphics -- reviewed by james

EXT-618 Low/Mid/High response is broken in Preferences > Graphics -- to be reviewed

EXT-655 Cannot choose Both logging options in Preferences -- to be reviewed

Changes to notifications.xml text to fit Style Guide and some renamed menu items

EXT-147 Ongoing revisions to new gestures layout.

DEV-35097 catch more instances of 'SLURL' and make them 'SLurl'

Removed Info Displays and Buy Currency Test from top menus.

Clean up code to use proper childGetFoo and childSetFoo calls, as well as setCommitCallback using slots.

De-inlined LLAvatarIconCtrl paramblock constructor because I was doing a full rebuild anyhow.

Commented about use of childSetCommitCallback(). De-inlined LocalizedString paramblock constructor.

eliminated memory leak

I18N: more things are missing a name= parameter, breaks localization.

EXT-714 Updated panels in sidetray that were not using the scroll_container element to adjust for viewer heights.

fix for llmessage_test crash in Windows Release builds

DEV-11254 I18N: replace all string instances of "Second Life" - do this in the foreign languages too

DEV-11254 I18N: replace all string instances of "Second Life" - found new instances from merged code

potential fix for unit test crash on parabuild, moved statics into singleton member variables to get around potential dual instantation of statics on different modules

DEV-36809 Click target for slider handles is too small -- reviewed by steve

EXT-403 change getChild<LLSpiner> to LLUICtrl to make it generic -- reviewed by richard

DEV-35938 Horizontal scroll thumb too high -- to be reviewed

EXT-386 clean up warnings - initCommitCallback...

Rename Product Engine's LLFloaterMiniInspector to LLInspectAvatar, clean up XUI XML, clean up construction code, move refresh method to postBuild() so widgets are constructed before refresh, fixed a member variable in llavatarlistitem.cpp. Reviewed with Leyla.

Login menu > Debug > Avatar Inspector shows test avatar inspector. Also added to main menu > Debug > XUI > Avatar Inspector. Changed text/layout of dummy inspector. Not reviewed.

Merging revisions 131558-131975 of svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-22 into D:\viewer-2.0.0-3, respecting ancestry

  • Participants
  • Parent commits b4f79df

Comments (0)

Files changed (104)

File indra/llui/llkeywords.cpp

 		return;
 	}
 	
-	S32 text_len = wtext.size();
+	S32 text_len = wtext.size() + 1;
 
 	seg_list->push_back( new LLNormalTextSegment( defaultColor, 0, text_len, editor ) ); 
 

File indra/llui/llpanel.cpp

 
 static LLDefaultChildRegistry::Register<LLPanel> r1("panel", &LLPanel::fromXML);
 
+LLPanel::LocalizedString::LocalizedString()
+:	name("name"),
+	value("value")
+{}
+
 const LLPanel::Params& LLPanel::getDefaultParams() 
 { 
 	return LLUICtrlFactory::getDefaultParams<LLPanel>(); 
 }
 
 // *TODO: Deprecate; for backwards compatability only:
+// Prefer getChild<LLUICtrl>("foo")->setCommitCallback(boost:bind(...)),
+// which takes a generic slot.  Or use mCommitCallbackRegistrar.add() with
+// a named callback and reference it in XML.
 void LLPanel::childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data)
 {
 	LLUICtrl* child = findChild<LLUICtrl>(id);

File indra/llui/llpanel.h

 		Mandatory<std::string>	name;
 		Mandatory<std::string>	value;
 		
-		LocalizedString()
-		:	name("name"),
-			value("value")
-		{}
+		LocalizedString();
 	};
 
 	struct Params 
 	BOOL childHasFocus(const std::string& id);
 	
 	// *TODO: Deprecate; for backwards compatability only:
+	// Prefer getChild<LLUICtrl>("foo")->setCommitCallback(boost:bind(...)),
+	// which takes a generic slot.  Or use mCommitCallbackRegistrar.add() with
+	// a named callback and reference it in XML.
 	void childSetCommitCallback(const std::string& id, boost::function<void (LLUICtrl*,void*)> cb, void* data);	
+	
 	void childSetValidate(const std::string& id, boost::function<bool (const LLSD& data)> cb );
 
 	void childSetColor(const std::string& id, const LLColor4& color);

File indra/llui/llspinctrl.cpp

 {
 	if( getEnabled() )
 	{
-		// use getValue()/setValue() to force reload from/to control
-		F32 val = (F32)getValue().asReal() + mIncrement;
-		val = clamp_precision(val, mPrecision);
-		val = llmin( val, mMaxValue );
+		std::string text = mEditor->getText();
+		if( LLLineEditor::postvalidateFloat( text ) )
+		{
+			
+			LLLocale locale(LLLocale::USER_LOCALE);
+			F32 cur_val = (F32) atof(text.c_str());
 		
-		F32 saved_val = (F32)getValue().asReal();
-		setValue(val);
-		if( !mValidateSignal( this, val ) )
-		{
-			setValue( saved_val );
-			reportInvalidData();
-			updateEditor();
-			return;
-		}
+			// use getValue()/setValue() to force reload from/to control
+			F32 val = cur_val + mIncrement;
+			val = clamp_precision(val, mPrecision);
+			val = llmin( val, mMaxValue );
+			if (val < mMinValue) val = mMinValue;
+			if (val > mMaxValue) val = mMaxValue;
+		
+			F32 saved_val = (F32)getValue().asReal();
+			setValue(val);
+			if( !mValidateSignal( this, val ) )
+			{
+				setValue( saved_val );
+				reportInvalidData();
+				updateEditor();
+				return;
+			}
 
 		updateEditor();
 		onCommit();
+		}
 	}
 }
 
 {
 	if( getEnabled() )
 	{
-		F32 val = (F32)getValue().asReal() - mIncrement;
-		val = clamp_precision(val, mPrecision);
-		val = llmax( val, mMinValue );
+		std::string text = mEditor->getText();
+		if( LLLineEditor::postvalidateFloat( text ) )
+		{
 
-		F32 saved_val = (F32)getValue().asReal();
-		setValue(val);
-		if( !mValidateSignal( this, val ) )
-		{
-			setValue( saved_val );
-			reportInvalidData();
+			LLLocale locale(LLLocale::USER_LOCALE);
+			F32 cur_val = (F32) atof(text.c_str());
+		
+			F32 val = cur_val - mIncrement;
+			val = clamp_precision(val, mPrecision);
+			val = llmax( val, mMinValue );
+
+			if (val < mMinValue) val = mMinValue;
+			if (val > mMaxValue) val = mMaxValue;
+			
+			F32 saved_val = (F32)getValue().asReal();
+			setValue(val);
+			if( !mValidateSignal( this, val ) )
+			{
+				setValue( saved_val );
+				reportInvalidData();
+				updateEditor();
+				return;
+			}
+		
 			updateEditor();
-			return;
+			onCommit();
 		}
-		
-		updateEditor();
-		onCommit();
 	}
 }
 

File indra/newview/CMakeLists.txt

     llfloaterlandholdings.cpp
     llfloatermap.cpp
     llfloatermemleak.cpp
-    llfloaterminiinspector.cpp
     llfloatermute.cpp
     llfloaternamedesc.cpp
     llfloaternotificationsconsole.cpp
     llimpanel.cpp
     llimview.cpp
     llimcontrolpanel.cpp
+    llinspectavatar.cpp
     llinventorybridge.cpp
     llinventoryclipboard.cpp
     llinventoryfilter.cpp
     llfloaterlandholdings.h
     llfloatermap.h
     llfloatermemleak.h
-    llfloaterminiinspector.h
     llfloatermute.h
     llfloaternamedesc.h
     llfloaternotificationsconsole.h
     llimpanel.h
     llimview.h
     llimcontrolpanel.h
+    llinspectavatar.h
     llinventorybridge.h
     llinventoryclipboard.h
     llinventoryfilter.h

File indra/newview/llavatariconctrl.cpp

 
 LLAvatarIconCtrl::avatar_image_map_t LLAvatarIconCtrl::sImagesCache;
 
+
+LLAvatarIconCtrl::Params::Params()
+:	avatar_id("avatar_id"),
+	draw_tooltip("draw_tooltip", true)
+{
+	name = "avatar_icon";
+}
+
+
 LLAvatarIconCtrl::LLAvatarIconCtrl(const LLAvatarIconCtrl::Params& p)
 :	LLIconCtrl(p),
 	mDrawTooltip(p.draw_tooltip)

File indra/newview/llavatariconctrl.h

 	{
 		Optional <LLUUID> avatar_id;
 		Optional <bool> draw_tooltip;
-		Params()
-		:	avatar_id("avatar_id"),
-			draw_tooltip("draw_tooltip", true)
-		{
-			name = "avatar_icon";
-		}
+		Params();
 	};
+	
 protected:
 	LLAvatarIconCtrl(const Params&);
 	friend class LLUICtrlFactory;

File indra/newview/llavatarlistitem.cpp

 	mStatus = NULL;
 	mInfo = NULL;
 	mProfile = NULL;
-	mini_inspector = NULL;
+	mInspector = NULL;
 
 	mAvatar = getChild<LLAvatarIconCtrl>("avatar_icon");
 	//mAvatar->setValue(p.avatar_icon);
 //---------------------------------------------------------------------------------
 void LLAvatarListItem::onInfoBtnClick()
 {
-	mini_inspector = LLFloaterReg::showInstance("mini_inspector", gAgent.getID());
+	mInspector = LLFloaterReg::showInstance("inspect_avatar", gAgent.getID());
 
-	if (!mini_inspector)
+	if (!mInspector)
 		return;
 
 	LLRect rect;
 	
 
 	// *TODO Vadim: rewrite this. "+= -" looks weird.
-	S32 delta = mYPos - mini_inspector->getRect().getHeight();
+	S32 delta = mYPos - mInspector->getRect().getHeight();
 	if(delta < 0)
 	{
 		mYPos += -delta;
 	}
 
-	rect.setLeftTopAndSize(mXPos, mYPos, mini_inspector->getRect().getWidth(), mini_inspector->getRect().getHeight()); 
-	mini_inspector->setRect(rect);
-	mini_inspector->setFrontmost(true);
-	mini_inspector->setVisible(true);
+	rect.setLeftTopAndSize(mXPos, mYPos,
+		mInspector->getRect().getWidth(), mInspector->getRect().getHeight()); 
+	mInspector->setRect(rect);
+	mInspector->setFrontmost(true);
+	mInspector->setVisible(true);
 
 }
 

File indra/newview/llavatarlistitem.h

 #include <llbutton.h>
 #include <lluuid.h>
 
-#include "llfloaterminiinspector.h"
+//#include "llfloaterminiinspector.h"
 
 class LLAvatarListItem : public LLPanel 
 {
 	S32 mYPos;
 	S32 mXPos;
 
-	LLFloater*	mini_inspector;
+	LLFloater*	mInspector;
     bool        mNeedsArrange;
 
     //

File indra/newview/llchatitemscontainerctrl.cpp

 	S32 local_y = y - msg_inspector->getRect().mBottom - caption->getRect().mBottom;
 	if(msg_inspector->pointInView(local_x, local_y))
 	{
-		LLFloaterReg::showInstance("mini_inspector", mOriginalMessage.mFromID);
+		LLFloaterReg::showInstance("inspect_avatar", mOriginalMessage.mFromID);
 	}
 	return LLPanel::handleMouseDown(x,y,mask);
 }

File indra/newview/llfloaterpreference.cpp

 {
 	gAgent.sendAgentUserInfoRequest();
 	LLPanelLogin::setAlwaysRefresh(true);
+	refresh();
 }
 
 void LLFloaterPreference::onVertexShaderEnable()
 		{
 			cur_focus->onCommit();
 		}
+		refresh();
 	}
 	closeFloater(); // side effect will also cancel any unsaved changes.
 }
 	// sliders and their text boxes
 	//	mPostProcess = gSavedSettings.getS32("RenderGlowResolutionPow");
 	// slider text boxes
-	updateSliderText(getChild<LLSliderCtrl>("ObjectMeshDetail"), getChild<LLTextBox>("ObjectMeshDetailText"));
-	updateSliderText(getChild<LLSliderCtrl>("FlexibleMeshDetail"), getChild<LLTextBox>("FlexibleMeshDetailText"));
-	updateSliderText(getChild<LLSliderCtrl>("TreeMeshDetail"), getChild<LLTextBox>("TreeMeshDetailText"));
-	updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail"), getChild<LLTextBox>("AvatarMeshDetailText"));
-	updateSliderText(getChild<LLSliderCtrl>("TerrainMeshDetail"), getChild<LLTextBox>("TerrainMeshDetailText"));
-	updateSliderText(getChild<LLSliderCtrl>("RenderPostProcess"), getChild<LLTextBox>("PostProcessText"));
-	updateSliderText(getChild<LLSliderCtrl>("SkyMeshDetail"), getChild<LLTextBox>("SkyMeshDetailText"));
+	updateSliderText(getChild<LLSliderCtrl>("ObjectMeshDetail",		true), getChild<LLTextBox>("ObjectMeshDetailText",		true));
+	updateSliderText(getChild<LLSliderCtrl>("FlexibleMeshDetail",	true), getChild<LLTextBox>("FlexibleMeshDetailText",	true));
+	updateSliderText(getChild<LLSliderCtrl>("TreeMeshDetail",		true), getChild<LLTextBox>("TreeMeshDetailText",		true));
+	updateSliderText(getChild<LLSliderCtrl>("AvatarMeshDetail",		true), getChild<LLTextBox>("AvatarMeshDetailText",		true));
+	updateSliderText(getChild<LLSliderCtrl>("TerrainMeshDetail",	true), getChild<LLTextBox>("TerrainMeshDetailText",		true));
+	updateSliderText(getChild<LLSliderCtrl>("RenderPostProcess",	true), getChild<LLTextBox>("PostProcessText",			true));
+	updateSliderText(getChild<LLSliderCtrl>("SkyMeshDetail",		true), getChild<LLTextBox>("SkyMeshDetailText",			true));
 	
 	refreshEnabledState();
 }
 
 void LLFloaterPreference::onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name)
 {
-	if(name.asString() =="" || !hasChild("name"))
+	std::string ctrl_name = name.asString();
+	
+	if((ctrl_name =="" )|| !hasChild(ctrl_name, true))
 		return;
 	
 	LLTextBox* text_box = getChild<LLTextBox>(name.asString());

File indra/newview/llfloaterproperties.cpp

 #include "llavataractions.h"
 #include "llinventorymodel.h"
 #include "lllineeditor.h"
-#include "llspinctrl.h"
+//#include "llspinctrl.h"
 #include "llradiogroup.h"
 #include "llresmgr.h"
 #include "roles_constants.h"
 			sale_type = LLSaleInfo::FS_ORIGINAL;
 		}
 
-	//	LLLineEditor* EditPrice = getChild<LLLineEditor>("EditPrice");
-		LLSpinCtrl *EditPrice = getChild<LLSpinCtrl>("Edit Cost");
+	     
 		
 		S32 price = -1;
-		if(EditPrice)
-		{
-			price =  EditPrice->getValue().asInteger();;
-		}
+		price =  getChild<LLUICtrl>("Edit Cost")->getValue().asInteger();;
+
 		// Invalid data - turn off the sale
 		if (price < 0)
 		{

File indra/newview/llinspectavatar.cpp

+/** 
+ * @file llinspectavatar.cpp
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * 
+ * Copyright (c) 2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llinspectavatar.h"
+
+// viewer files
+#include "llagentdata.h"
+#include "llavataractions.h"
+#include "llcallingcard.h"
+
+// linden libraries
+#include "lluictrl.h"
+
+
+LLInspectAvatar::LLInspectAvatar(const LLSD& avatar_id)
+:	LLFloater(avatar_id),
+	mAvatarID( avatar_id.asUUID() ),
+	mFirstName(),
+	mLastName()
+{
+}
+
+LLInspectAvatar::~LLInspectAvatar()
+{
+}
+
+/*virtual*/
+BOOL LLInspectAvatar::postBuild(void)
+{
+	getChild<LLUICtrl>("add_friend_btn")->setCommitCallback(
+		boost::bind(&LLInspectAvatar::onClickAddFriend, this) );
+
+	getChild<LLUICtrl>("view_profile_btn")->setCommitCallback(
+		boost::bind(&LLInspectAvatar::onClickViewProfile, this) );
+
+	// can't call from constructor as widgets are not built yet
+	refresh();
+
+	return TRUE;
+}
+
+void LLInspectAvatar::setAvatarID(const LLUUID &avatar_id)
+{
+	mAvatarID = avatar_id;
+	refresh();
+}
+
+void LLInspectAvatar::refresh()
+{
+	// *HACK: Don't stomp data when spawning from login screen
+	if (mAvatarID.isNull()) return;
+
+	// You can't re-add someone as a friend if they are already your friend
+	bool is_friend = LLAvatarTracker::instance().getBuddyInfo(mAvatarID) != NULL;
+	bool is_self = (mAvatarID == gAgentID);
+	childSetEnabled("add_friend_btn", !is_friend && !is_self);
+
+	// *TODO: replace with generic
+	// LLAvatarPropertiesProcessor::getInstance()->addObserver()
+	// ->sendDataRequest()
+	childSetValue("avatar_icon", LLSD(mAvatarID) );
+
+	gCacheName->get(mAvatarID, FALSE,
+		boost::bind(&LLInspectAvatar::nameUpdatedCallback,
+			this, _1, _2, _3, _4));
+}
+
+void LLInspectAvatar::nameUpdatedCallback(
+	const LLUUID& id,
+	const std::string& first,
+	const std::string& last,
+	BOOL is_group)
+{
+	// Possibly a request for an older inspector
+	if (id != mAvatarID) return;
+
+	mFirstName = first;
+	mLastName = last;
+	std::string name = first + " " + last;
+
+	childSetValue("user_name", LLSD(name) );
+}
+
+void LLInspectAvatar::onClickAddFriend()
+{
+	std::string name;
+	name.assign(getFirstName());
+	name.append(" ");
+	name.append(getLastName());
+
+	LLAvatarActions::requestFriendshipDialog(getAvatarID(), name);
+}
+
+void LLInspectAvatar::onClickViewProfile()
+{
+	LLAvatarActions::showProfile(getAvatarID());
+}

File indra/newview/llinspectavatar.h

+/** 
+ * @file llinspectavatar.h
+ * @brief Avatar Inspector, a small information window used when clicking
+ * on avatar names in the 2D UI and in the ambient inspector widget for
+ * the 3D world.
+ *
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * 
+ * Copyright (c) 2009, Linden Research, Inc.
+ * 
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab.  Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * 
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * 
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ * 
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LLINSPECTAVATAR_H
+#define LLINSPECTAVATAR_H
+
+#include "llfloater.h"
+
+class LLInspectAvatar : public LLFloater
+{
+	friend class LLFloaterReg;
+
+public:
+	// key is the UUID of avatar for whom to show information
+	// *TODO: Needs to take a spawn location
+	LLInspectAvatar(const LLSD& avatar_id);
+	virtual ~LLInspectAvatar();
+
+	/*virtual*/ BOOL postBuild(void);
+
+	void setAvatarID(const LLUUID &avatar_id);
+
+	const LLUUID&		getAvatarID() const	{ return mAvatarID; }
+	const std::string&	getFirstName() const { return mFirstName; }
+	const std::string&	getLastName() const { return mLastName; }
+
+private:
+	// Update widgets, including avatar name, buttons enabled, etc.
+	// Used after avatar id changes.
+	void refresh();
+
+	void onClickAddFriend();
+	void onClickViewProfile();
+
+	void nameUpdatedCallback(
+		const LLUUID& id,
+		const std::string& first,
+		const std::string& last,
+		BOOL is_group);
+
+private:
+	LLUUID				mAvatarID;
+	// Need avatar name information to spawn friend add request
+	std::string			mFirstName;
+	std::string			mLastName;
+};
+
+
+#endif

File indra/newview/llpanelpeople.cpp

 #include "llavatarlist.h"
 #include "llcallingcard.h"			// for LLAvatarTracker
 #include "llfloateravatarpicker.h"
-#include "llfloaterminiinspector.h"
+//#include "llfloaterminiinspector.h"
 #include "llavataractions.h"
 #include "llgroupactions.h"
 #include "llgrouplist.h"

File indra/newview/llpanelplaces.cpp

 	// FIXME: it can throw notification about non existent string in strings.xml
 	if (cat->getParentUUID().notNull() && cat->getParentUUID() == gInventory.getRootFolderID())
 	{
-		name = LLTrans::getString("InvFolder " + name);
+		LLTrans::findString(name, "InvFolder " + name);
 	}
 
 	// we don't want "My Inventory" to appear in the name

File indra/newview/llviewerfloaterreg.cpp

 #include "llfloaterwater.h"
 #include "llfloaterwindlight.h"
 #include "llfloaterworldmap.h"
+#include "llinspectavatar.h"
 #include "llmediaremotectrl.h"
 #include "llmoveview.h"
 #include "llnearbychat.h"
-
 #include "llpreviewanim.h"
 #include "llpreviewgesture.h"
 #include "llpreviewnotecard.h"
 #include "llpreviewscript.h"
 #include "llpreviewsound.h"
 #include "llpreviewtexture.h"
-#include "llfloaterminiinspector.h"
 #include "llsyswellwindow.h"
+// *NOTE: Please add files in alphabetical order to keep merges easy.
 
-//class LLLLFloaterObjectIMInfo;
 
 void LLViewerFloaterReg::registerFloaters()
 {
 	LLFloaterReg::add("impanel", "floater_im_session.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloater>);
 	LLFloaterReg::add("inventory", "floater_inventory.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInventory>);
 	LLFloaterReg::add("inspect", "floater_inspect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterInspect>);
+	LLFloaterReg::add("inspect_avatar", "inspect_avatar.xml",
+		&LLFloaterReg::build<LLInspectAvatar>);
 	
 	LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>);
 	LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);
 	LLFloaterReg::add("mute", "floater_mute.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMute>);
 	LLFloaterReg::add("mute_object", "floater_mute_object.xml", &LLFloaterMute::buildFloaterMuteObjectUI);
 	LLFloaterReg::add("mini_map", "floater_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMap>);
-	LLFloaterReg::add("mini_inspector", "panel_mini_inspector.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMiniInspector>);
 	LLFloaterReg::add("syswell_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLSysWellWindow>);
 	
 	LLFloaterReg::add("notifications_console", "floater_notifications_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotificationConsole>);

File indra/newview/llviewermenu.cpp

 }
 };
 
+class LLAdvancedAvatarInspector : public view_listener_t
+{
+	bool handleEvent(const LLSD& avatar_id)
+	{
+		LLFloaterReg::showInstance("inspect_avatar", avatar_id);
+		return true;
+	}
+};
 
 ///////////////
 // XUI NAMES //
 	view_listener_t::addMenu(new LLAdvancedToggleXUINames(), "Advanced.ToggleXUINames");
 	view_listener_t::addMenu(new LLAdvancedCheckXUINames(), "Advanced.CheckXUINames");
 	view_listener_t::addMenu(new LLAdvancedSendTestIms(), "Advanced.SendTestIMs");
+	view_listener_t::addMenu(new LLAdvancedAvatarInspector(), "Advanced.AvatarInspector");
 
 	// Advanced > Character > Grab Baked Texture
 	view_listener_t::addMenu(new LLAdvancedGrabBakedTexture(), "Advanced.GrabBakedTexture");

File indra/newview/llviewermessage.cpp

 		}
 		else
 		{
-			// *TODO: Translate
-			args["MESSAGE"] = text;
+			std::string new_msg =LLNotifications::instance().getGlobalString(text);
+			args["MESSAGE"] = new_msg;
 			LLNotifications::instance().add("SystemMessage", args);
 		}
 	}
 	else if (modal)
 	{
-		// *TODO: Translate
 		LLSD args;
-		args["ERROR_MESSAGE"] = message;
+		std::string new_msg =LLNotifications::instance().getGlobalString(message);
+		args["ERROR_MESSAGE"] = new_msg;
 		LLNotifications::instance().add("ErrorMessage", args);
 	}
 	else
 	{
-		// *TODO: Translate
 		LLSD args;
-		args["MESSAGE"] = message;
+		std::string new_msg =LLNotifications::instance().getGlobalString(message);
+		args["MESSAGE"] = new_msg;
 		LLNotifications::instance().add("SystemMessageTip", args);
 	}
 }

File indra/newview/skins/default/textures/textures.xml

   <texture name="ScrollArrow_Right" file_name="widgets/ScrollArrow_Right.png" preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
   <texture name="ScrollArrow_Up" file_name="widgets/ScrollArrow_Up.png"	preload="true" scale.left="2" scale.top="13" scale.right="13" scale.bottom="2" />
 
-  <texture name="ScrollThumb_Horiz" file_name="widgets/ScrollThumb_Horiz.png" preload="true" scale.left="0" scale.top="0" scale.bottom="0" scale.right="0" />
+  <texture name="ScrollThumb_Horiz" file_name="widgets/ScrollThumb_Horiz.png" preload="true" scale.left="4" scale.top="0" scale.bottom="0" scale.right="2" />
   <texture name="ScrollThumb_Vert" file_name="widgets/ScrollThumb_Vert.png" preload="true" scale.left="4" scale.top="53" scale.bottom="10" scale.right="4" />
   <texture name="ScrollTrack_Vert" file_name="widgets/ScrollTrack_Vert.png" preload="true" scale.left="2" scale.top="40" scale.bottom="13" scale.right="0" />
-  <texture name="ScrollTrack_Horiz" file_name="widgets/ScrollTrack_Horiz.png" preload="true" scale.left="0" scale.top="0" scale.bottom="0" scale.right="2" />
+  <texture name="ScrollTrack_Horiz" file_name="widgets/ScrollTrack_Horiz.png" preload="true" scale.left="4" scale.top="0" scale.bottom="0" scale.right="2" />
 
   <texture name="Search" file_name="navbar/Search.png" preload="false"/>
 

File indra/newview/skins/default/xui/da/floater_about.xml

 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="floater_about" title="Om Second Life">
+<floater name="floater_about" title="Om [APP_NAME]">
 	<text_editor name="credits_editor">
-		Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les and many others.
+		Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
 
-Tak til følgende beboerne for at bidrage til at sikre, at dette er den bedste version til dato: afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop
+Tak til følgende beboerne for at bidrage til at sikre, at dette er den bedste version til dato: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
 
   3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
   APR Copyright (C) 2000-2004 The Apache Software Foundation

File indra/newview/skins/default/xui/da/floater_postcard.xml

 	<button label="Annullér" name="cancel_btn" />
 	<button label="Send" name="send_btn" />
 	<string name="default_subject">
-		Postkort fra Second Life.
+		Postkort fra [SECOND_LIFE]
 	</string>
 	<string name="default_message">
 		Tjek det her ud!

File indra/newview/skins/default/xui/da/floater_tos.xml

 	<button label="Annullér" label_selected="Annullér" name="Cancel" />
 	<check_box label="Jeg accepterer vilkårene for brug af tjenesten" name="agree_chk" />
 	<text name="tos_heading">
-		Læs venligst de almindelige bestemmelser og vilkår igennem, for at fortsætte til Second Life skal du acceptere vilkårene.
+		Læs venligst de almindelige bestemmelser og vilkår igennem, for at fortsætte til [SECOND_LIFE] 
+skal du acceptere vilkårene.
 	</text>
 	<text_editor name="tos_text">
 		TOS_TEXT

File indra/newview/skins/default/xui/da/menu_login.xml

 		<menu_item_call label="Indstillinger..." name="Preferences..." />
 	</menu>
 	<menu label="Hjælp" name="Help">
-		<menu_item_call label="Second Life hjælp" name="Second Life Help" />
-		<menu_item_call label="Om Second Life..." name="About Second Life..." />
+		<menu_item_call label="[SECOND_LIFE] hjælp" name="Second Life Help" />
+		<menu_item_call label="Om [APP_NAME]..." name="About Second Life..." />
 	</menu>
 </menu_bar>

File indra/newview/skins/default/xui/da/menu_viewer.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <menu_bar name="Main Menu">
 	<menu label="Filer" name="File">
-		<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~" />
+		<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
 		<menu label="Hent" name="upload">
-		<menu_item_call label="Hent billede (L$[COST])..." name="Upload Image" />
-		<menu_item_call label="Hent lyd (L$[COST])..." name="Upload Sound" />
-		<menu_item_call label="Hent animation (L$[COST])..." name="Upload Animation" />
-		<menu_item_call label="Hent mange (L$[COST] per file)..." name="Bulk Upload" />
+			<menu_item_call label="Billede (L$[COST])..." name="Upload Image"/>
+			<menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/>
+			<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/>
+			<menu_item_call label="Hent mange (L$[COST] per file)..." name="Bulk Upload"/>
+			<menu_item_separator label="-----------" name="separator"/>
+			<menu_item_call label="Sæt standard rettigheder..." name="perm prefs"/>
 		</menu>
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_call label="Luk vindue" name="Close Window" />
-		<menu_item_call label="Luk alle vinduer" name="Close All Windows" />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_call label="Gem tekstur som..." name="Save Texture As..." />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_call label="Tag foto" name="Take Snapshot" />
-		<menu_item_call label="Tag foto til disk" name="Snapshot to Disk" />
-		<menu_item_separator label="-----------" name="separator4" />
-		<menu_item_call label="Afslut" name="Quit" />
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_call label="Luk vindue" name="Close Window"/>
+		<menu_item_call label="Luk alle vinduer" name="Close All Windows"/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_call label="Gem tekstur som..." name="Save Texture As..."/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_call label="Tag foto" name="Take Snapshot"/>
+		<menu_item_call label="Tag foto til disk" name="Snapshot to Disk"/>
+		<menu_item_separator label="-----------" name="separator4"/>
+		<menu_item_call label="Afslut" name="Quit"/>
 	</menu>
 	<menu label="Redigér" name="Edit">
-		<menu_item_call label="Annullér" name="Undo" />
-		<menu_item_call label="Gentag" name="Redo" />
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_call label="Klip" name="Cut" />
-		<menu_item_call label="Kopier" name="Copy" />
-		<menu_item_call label="Sæt ind" name="Paste" />
-		<menu_item_call label="Slet" name="Delete" />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_call label="Søg..." name="Search..." />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_call label="Vælg alt" name="Select All" />
-		<menu_item_call label="Vælg intet" name="Deselect" />
-		<menu_item_separator label="-----------" name="separator4" />
-		<menu_item_call label="Duplikér" name="Duplicate" />
-		<menu_item_separator label="-----------" name="separator5" />
-		<menu label="Vedhæft objekt" name="Attach Object" />
-		<menu label="Tag objekt af" name="Detach Object" />
+		<menu_item_call label="Annullér" name="Undo"/>
+		<menu_item_call label="Gentag" name="Redo"/>
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_call label="Klip" name="Cut"/>
+		<menu_item_call label="Kopier" name="Copy"/>
+		<menu_item_call label="Sæt ind" name="Paste"/>
+		<menu_item_call label="Slet" name="Delete"/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_call label="Søg..." name="Search..."/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_call label="Vælg alt" name="Select All"/>
+		<menu_item_call label="Vælg intet" name="Deselect"/>
+		<menu_item_separator label="-----------" name="separator4"/>
+		<menu_item_call label="Duplikér" name="Duplicate"/>
+		<menu_item_separator label="-----------" name="separator5"/>
+		<menu label="Vedhæft objekt" name="Attach Object"/>
+		<menu label="Tag objekt af" name="Detach Object"/>
 		<menu label="Tag tøj af" name="Take Off Clothing">
-			<menu_item_call label="Trøje" name="Shirt" />
-			<menu_item_call label="Bukser" name="Pants" />
-			<menu_item_call label="Sko" name="Shoes" />
-			<menu_item_call label="Strømper" name="Socks" />
-			<menu_item_call label="Jakke" name="Jacket" />
-			<menu_item_call label="Handsker" name="Gloves" />
-			<menu_item_call label="Undertrøje" name="Menu Undershirt" />
-			<menu_item_call label="Underbukser" name="Menu Underpants" />
-			<menu_item_call label="Nederdel" name="Skirt" />
-			<menu_item_call label="Alt tøj" name="All Clothes" />
+			<menu_item_call label="Trøje" name="Shirt"/>
+			<menu_item_call label="Bukser" name="Pants"/>
+			<menu_item_call label="Sko" name="Shoes"/>
+			<menu_item_call label="Strømper" name="Socks"/>
+			<menu_item_call label="Jakke" name="Jacket"/>
+			<menu_item_call label="Handsker" name="Gloves"/>
+			<menu_item_call label="Undertrøje" name="Menu Undershirt"/>
+			<menu_item_call label="Underbukser" name="Menu Underpants"/>
+			<menu_item_call label="Nederdel" name="Skirt"/>
+			<menu_item_call label="Alt tøj" name="All Clothes"/>
 		</menu>
-		<menu_item_separator label="-----------" name="separator6" />
-		<menu_item_call label="Bevægelser..." name="Gestures..." />
-		<menu_item_call label="Profil..." name="Profile..." />
-		<menu_item_call label="Udseende..." name="Appearance..." />
-		<menu_item_separator label="-----------" name="separator7" />
-		<menu_item_check label="Venner..." name="Friends..." />
-		<menu_item_call label="Grupper..." name="Groups..." />
-		<menu_item_separator label="-----------" name="separator8" />
-		<menu_item_call label="Indstillinger..." name="Preferences..." />
+		<menu_item_separator label="-----------" name="separator6"/>
+		<menu_item_call label="Bevægelser..." name="Gestures..."/>
+		<menu_item_call label="Profil..." name="Profile..."/>
+		<menu_item_call label="Udseende..." name="Appearance..."/>
+		<menu_item_separator label="-----------" name="separator7"/>
+		<menu_item_check label="Venner..." name="Friends..."/>
+		<menu_item_call label="Grupper..." name="Groups..."/>
+		<menu_item_separator label="-----------" name="separator8"/>
+		<menu_item_call label="Indstillinger..." name="Preferences..."/>
 	</menu>
 	<menu label="Vis" name="View">
-		<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~" />
-		<menu_item_call label="Første person" name="Mouselook" />
-		<menu_item_check label="Byg" name="Build" />
-		<menu_item_check label="Flyv via joystick" name="Joystick Flycam" />
-		<menu_item_call label="Nulstil kamera" name="Reset View" />
-		<menu_item_call label="Se på sidste chatter" name="Look at Last Chatter" />
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_check label="Værktøjslinie" name="Toolbar" />
-		<menu_item_check label="Local chat" name="Chat History" />
-		<menu_item_check label="Kommunikér" name="Instant Message" />
-		<menu_item_check label="Beholdning" name="Inventory" />
-		<menu_item_check label="Aktive talere" name="Active Speakers" />
-		<menu_item_check label="Vis blokerede avatarer" name="Mute List" />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_check label="Kamera kontrol" name="Camera Controls" />
-		<menu_item_check label="Bevægelses kontrol" name="Movement Controls" />
-		<menu_item_check label="Verdenskort" name="World Map" />
-		<menu_item_check label="Lokalt kort" name="Mini-Map" />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_check label="Teknisk info" name="Statistics Bar" />
-		<menu_item_check label="Parcel skel" name="Property Lines" />
-		<menu_item_check label="Grundejere" name="Land Owners" />
-		<menu_item_separator label="-----------" name="separator4" />
+		<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
+		<menu_item_call label="Første person" name="Mouselook"/>
+		<menu_item_check label="Byg" name="Build"/>
+		<menu_item_check label="Flyv via joystick" name="Joystick Flycam"/>
+		<menu_item_call label="Nulstil kamera" name="Reset View"/>
+		<menu_item_call label="Se på sidste chatter" name="Look at Last Chatter"/>
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_check label="Værktøjslinie" name="Toolbar"/>
+		<menu_item_check label="Local chat" name="Chat History"/>
+		<menu_item_check label="Kommunikér" name="Instant Message"/>
+		<menu_item_check label="Beholdning" name="Inventory"/>
+		<menu_item_check label="Aktive talere" name="Active Speakers"/>
+		<menu_item_check label="Vis blokerede avatarer" name="Mute List"/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_check label="Kamera kontrol" name="Camera Controls"/>
+		<menu_item_check label="Bevægelses kontrol" name="Movement Controls"/>
+		<menu_item_check label="Verdenskort" name="World Map"/>
+		<menu_item_check label="Lokalt kort" name="Mini-Map"/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_check label="Teknisk info" name="Statistics Bar"/>
+		<menu_item_check label="Parcel skel" name="Property Lines"/>
+		<menu_item_check label="Visning af ingen adgang" name="Banlines"/>
+		<menu_item_check label="Grundejere" name="Land Owners"/>
+		<menu_item_separator label="-----------" name="separator4"/>
 		<menu label="Tips visning" name="Hover Tips">
-			<menu_item_check label="Vis tips" name="Show Tips" />
-			<menu_item_separator label="-----------" name="separator" />
-			<menu_item_check label="Tips om land" name="Land Tips" />
-			<menu_item_check label="Tips på alle objekter" name="Tips On All Objects" />
+			<menu_item_check label="Vis tips" name="Show Tips"/>
+			<menu_item_separator label="-----------" name="separator"/>
+			<menu_item_check label="Tips om land" name="Land Tips"/>
+			<menu_item_check label="Tips på alle objekter" name="Tips On All Objects"/>
 		</menu>
-		<menu_item_check label="Fremhæv gennemsigtigt" name="Highlight Transparent" />
-		<menu_item_check label="Pejlelys" name="beacons" />
-		<menu_item_check label="Skjul partikler" name="Hide Particles" />
-		<menu_item_check label="Vis HUD vedhæftninger" name="Show HUD Attachments" />
-		<menu_item_separator label="-----------" name="separator5" />
-		<menu_item_call label="Zoom ind" name="Zoom In" />
-		<menu_item_call label="Zoom standard" name="Zoom Default" />
-		<menu_item_call label="Zoom ud" name="Zoom Out" />
-		<menu_item_separator label="-----------" name="separator6" />
-		<menu_item_call label="Skift fuld skærm/vindue" name="Toggle Fullscreen" />
-		<menu_item_call label="Sæt brugerfladestørrelse til normal" name="Set UI Size to Default" />
+		<menu_item_check label="Fremhæv gennemsigtigt" name="Highlight Transparent"/>
+		<menu_item_check label="Pejlelys" name="beacons"/>
+		<menu_item_check label="Skjul partikler" name="Hide Particles"/>
+		<menu_item_check label="Vis HUD vedhæftninger" name="Show HUD Attachments"/>
+		<menu_item_separator label="-----------" name="separator5"/>
+		<menu_item_call label="Zoom ind" name="Zoom In"/>
+		<menu_item_call label="Zoom standard" name="Zoom Default"/>
+		<menu_item_call label="Zoom ud" name="Zoom Out"/>
+		<menu_item_separator label="-----------" name="separator6"/>
+		<menu_item_call label="Skift fuld skærm/vindue" name="Toggle Fullscreen"/>
+		<menu_item_call label="Sæt brugerfladestørrelse til normal" name="Set UI Size to Default"/>
 	</menu>
 	<menu label="Verden" name="World">
-		<menu_item_call label="Chat" name="Chat" />
-		<menu_item_check label="Løb" name="Always Run" />
-		<menu_item_check label="Flyv" name="Fly" />
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_call label="Opret landemærke her" name="Create Landmark Here" />
-		<menu_item_call label="Sæt hjem til her" name="Set Home to Here" />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_call label="Teleporter hjem" name="Teleport Home" />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_call label="Sæt &apos;ikke til stede&apos;" name="Set Away" />
-		<menu_item_call label="Sæt &apos;optaget&apos;" name="Set Busy" />
-		<menu_item_call label="Stop all animationer" name="Stop All Animations" />
-		<menu_item_call label="Frigiv taster" name="Release Keys" />
-		<menu_item_separator label="-----------" name="separator4" />
-		<menu_item_call label="Konto historik..." name="Account History..." />
-		<menu_item_call label="Vedligehold konto..." name="Manage My Account..." />
-		<menu_item_call label="Køb L$..." name="Buy and Sell L$..." />
-		<menu_item_separator label="-----------" name="separator5" />
-		<menu_item_call label="Mit land..." name="My Land..." />
-		<menu_item_call label="Om land..." name="About Land..." />
-		<menu_item_call label="Køb land..." name="Buy Land..." />
-		<menu_item_call label="Region/Estate..." name="Region/Estate..." />
-		<menu_item_separator label="-----------" name="separator6" />
+		<menu_item_call label="Chat" name="Chat"/>
+		<menu_item_check label="Løb" name="Always Run"/>
+		<menu_item_check label="Flyv" name="Fly"/>
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_call label="Opret landemærke her" name="Create Landmark Here"/>
+		<menu_item_call label="Sæt hjem til her" name="Set Home to Here"/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_call label="Teleporter hjem" name="Teleport Home"/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_call label="Sæt &apos;ikke til stede&apos;" name="Set Away"/>
+		<menu_item_call label="Sæt &apos;optaget&apos;" name="Set Busy"/>
+		<menu_item_call label="Stop animering af min avatar" name="Stop Animating My Avatar"/>
+		<menu_item_call label="Frigiv taster" name="Release Keys"/>
+		<menu_item_separator label="-----------" name="separator4"/>
+		<menu_item_call label="Konto historik..." name="Account History..."/>
+		<menu_item_call label="Vedligehold konto..." name="Manage My Account..."/>
+		<menu_item_call label="Køb L$..." name="Buy and Sell L$..."/>
+		<menu_item_separator label="-----------" name="separator5"/>
+		<menu_item_call label="Mit land..." name="My Land..."/>
+		<menu_item_call label="Om land..." name="About Land..."/>
+		<menu_item_call label="Køb land..." name="Buy Land..."/>
+		<menu_item_call label="Region/Estate..." name="Region/Estate..."/>
+		<menu_item_separator label="-----------" name="separator6"/>
 		<menu label="Indstillinger for omgivelser" name="Environment Settings">
-			<menu_item_call label="Solopgang" name="Sunrise" />
-			<menu_item_call label="Middag" name="Noon" />
-			<menu_item_call label="Solnedgang" name="Sunset" />
-			<menu_item_call label="Midnat" name="Midnight" />
-			<menu_item_call label="Gendan til standard for region" name="Revert to Region Default" />
-			<menu_item_separator label="-----------" name="separator" />
-			<menu_item_call label="Redigering af omgivelser" name="Environment Editor" />
+			<menu_item_call label="Solopgang" name="Sunrise"/>
+			<menu_item_call label="Middag" name="Noon"/>
+			<menu_item_call label="Solnedgang" name="Sunset"/>
+			<menu_item_call label="Midnat" name="Midnight"/>
+			<menu_item_call label="Gendan til standard for region" name="Revert to Region Default"/>
+			<menu_item_separator label="-----------" name="separator"/>
+			<menu_item_call label="Redigering af omgivelser" name="Environment Editor"/>
 		</menu>
 	</menu>
 	<menu label="Funktioner" name="Tools">
 		<menu label="Vælg værktøj" name="Select Tool">
-			<menu_item_call label="Fokus" name="Focus" />
-			<menu_item_call label="Flyt" name="Move" />
-			<menu_item_call label="Rediger" name="Edit" />
-			<menu_item_call label="Byg" name="Create" />
-			<menu_item_call label="Land" name="Land" />
+			<menu_item_call label="Fokus" name="Focus"/>
+			<menu_item_call label="Flyt" name="Move"/>
+			<menu_item_call label="Rediger" name="Edit"/>
+			<menu_item_call label="Byg" name="Create"/>
+			<menu_item_call label="Land" name="Land"/>
 		</menu>
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects" />
-		<menu_item_check label="Vælg kun flytbare objekter" name="Select Only Movable Objects" />
-		<menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding" />
-		<menu_item_check label="Vis skjulte objekter" name="Show Hidden Selection" />
-		<menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection" />
-		<menu_item_check label="Vis guidelys for valgte" name="Show Selection Beam" />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_check label="Ret ind til gitter" name="Snap to Grid" />
-		<menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid" />
-		<menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid" />
-		<menu_item_call label="Gitter indstillinger..." name="Grid Options..." />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_check label="Rediger sammekædede objekter" name="Edit Linked Parts" />
-		<menu_item_call label="Sammenkæd" name="Link" />
-		<menu_item_call label="Adskil" name="Unlink" />
-		<menu_item_separator label="-----------" name="separator4" />
-		<menu_item_call label="Fokusér på valgte" name="Focus on Selection" />
-		<menu_item_call label="Zoom på valgte" name="Zoom to Selection" />
-		<menu_item_call label="Køb objekt" name="Menu Object Take" />
-		<menu_item_call label="Tag kopi" name="Take Copy" />
-		<menu_item_call label="Opdatér objekt i beholdning med ændringer"
-		     name="Save Object Back to My Inventory" />
-		<menu_item_call label="Opdatér ændringer i indhold på objekt"
-		     name="Save Object Back to Object Contents" />
-		<menu_item_separator label="-----------" name="separator6" />
-		<menu_item_call label="Vis vindue med advarsler/fejl fra scripts"
-		     name="Show Script Warning/Error Window" />
-		<menu label="Rekompilér scripts i valgte objekter"
-		     name="Recompile Scripts in Selection">
-			<menu_item_call label="Mono" name="Mono" />
-			<menu_item_call label="LSL" name="LSL" />
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects"/>
+		<menu_item_check label="Vælg kun flytbare objekter" name="Select Only Movable Objects"/>
+		<menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding"/>
+		<menu_item_check label="Vis skjulte objekter" name="Show Hidden Selection"/>
+		<menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection"/>
+		<menu_item_check label="Vis guidelys for valgte" name="Show Selection Beam"/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_check label="Ret ind til gitter" name="Snap to Grid"/>
+		<menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid"/>
+		<menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid"/>
+		<menu_item_call label="Gitter indstillinger..." name="Grid Options..."/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_check label="Rediger sammekædede objekter" name="Edit Linked Parts"/>
+		<menu_item_call label="Sammenkæd" name="Link"/>
+		<menu_item_call label="Adskil" name="Unlink"/>
+		<menu_item_separator label="-----------" name="separator4"/>
+		<menu_item_call label="Fokusér på valgte" name="Focus on Selection"/>
+		<menu_item_call label="Zoom på valgte" name="Zoom to Selection"/>
+		<menu_item_call label="Køb objekt" name="Menu Object Take">
+			<on_enable userdata="Køb,Tag" name="EnableBuyOrTake"/>
+		</menu_item_call>
+		<menu_item_call label="Tag kopi" name="Take Copy"/>
+		<menu_item_call label="Opdatér ændringer i indhold på objekt" name="Save Object Back to Object Contents"/>
+		<menu_item_separator label="-----------" name="separator6"/>
+		<menu_item_call label="Vis vindue med advarsler/fejl fra scripts" name="Show Script Warning/Error Window"/>
+		<menu label="Rekompilér scripts i valgte objekter" name="Recompile Scripts in Selection">
+			<menu_item_call label="Mono" name="Mono"/>
+			<menu_item_call label="LSL" name="LSL"/>
 		</menu>
-		<menu_item_call label="Genstart scripts i valgte objekter" name="Reset Scripts in Selection" />
-		<menu_item_call label="Sæt scripts til &apos;Running&apos; i valgte objekter"
-		     name="Set Scripts to Running in Selection" />
-		<menu_item_call label="Sæt scripts til &apos; Not running&apos; i valgte objekter"
-		     name="Set Scripts to Not Running in Selection" />
+		<menu_item_call label="Genstart scripts i valgte objekter" name="Reset Scripts in Selection"/>
+		<menu_item_call label="Sæt scripts til &apos;Running&apos; i valgte objekter" name="Set Scripts to Running in Selection"/>
+		<menu_item_call label="Sæt scripts til &apos; Not running&apos; i valgte objekter" name="Set Scripts to Not Running in Selection"/>
 	</menu>
 	<menu label="Hjælp" name="Help">
-		<menu_item_call label="Second Life Hjælp" name="Second Life Help" />
-		<menu_item_call label="Tutorial" name="Tutorial" />
-		<menu_item_separator label="-----------" name="separator" />
-		<menu_item_call label="Officiel Linden Blog..." name="Official Linden Blog..." />
-		<menu_item_separator label="-----------" name="separator2" />
-		<menu_item_call label="Portal om scripts..." name="Scripting Portal..." />
-		<menu_item_separator label="-----------" name="separator3" />
-		<menu_item_call label="Rapporter misbrug..." name="Report Abuse..." />
-		<menu_item_call label="Stød, skub &amp; slag..." name="Bumps, Pushes &amp;amp; Hits..." />
-		<menu_item_call label="Lag meter" name="Lag Meter" />
-		<menu_item_separator label="-----------" name="separator7" />
+		<menu_item_call label="[SECOND_LIFE] Hjælp" name="Second Life Help"/>
+		<menu_item_call label="Tutorial" name="Tutorial"/>
+		<menu_item_separator label="-----------" name="separator"/>
+		<menu_item_call label="Officiel Linden Blog..." name="Official Linden Blog..."/>
+		<menu_item_separator label="-----------" name="separator2"/>
+		<menu_item_call label="Portal om scripts..." name="Scripting Portal..."/>
+		<menu_item_separator label="-----------" name="separator3"/>
+		<menu_item_call label="Rapporter misbrug..." name="Report Abuse..."/>
+		<menu_item_call label="Stød, skub &amp; slag..." name="Bumps, Pushes &amp;amp; Hits..."/>
+		<menu_item_call label="Lag meter" name="Lag Meter"/>
+		<menu_item_separator label="-----------" name="separator7"/>
 		<menu label="Fejlrapport" name="Bug Reporting">
-			<menu_item_call label="Second Life sagsstyring..." name="Public Issue Tracker..." />
-			<menu_item_call label="Hjælp til Second Life sagsstyring..."
-			     name="Publc Issue Tracker Help..." />
-			<menu_item_separator label="-----------" name="separator7" />
-			<menu_item_call label="Om fejlrapportering..." name="Bug Reporing 101..." />
-			<menu_item_call label="Anmeld sikkerhedshændelser..." name="Security Issues..." />
-			<menu_item_call label="QA Wiki..." name="QA Wiki..." />
-			<menu_item_separator label="-----------" name="separator9" />
-			<menu_item_call label="Anmeld fejl..." name="Report Bug..." />
+			<menu_item_call label="[SECOND_LIFE] sagsstyring..." name="Public Issue Tracker..."/>
+			<menu_item_call label="Hjælp til [SECOND_LIFE] sagsstyring..." name="Publc Issue Tracker Help..."/>
+			<menu_item_separator label="-----------" name="separator7"/>
+			<menu_item_call label="Om fejlrapportering..." name="Bug Reporing 101..."/>
+			<menu_item_call label="Anmeld sikkerhedshændelser..." name="Security Issues..."/>
+			<menu_item_call label="QA Wiki..." name="QA Wiki..."/>
+			<menu_item_separator label="-----------" name="separator9"/>
+			<menu_item_call label="Anmeld fejl..." name="Report Bug..."/>
 		</menu>
-		<menu_item_call label="Om Second Life..." name="About Second Life..." />
-		,
+		<menu_item_call label="Om [APP_NAME]..." name="About Second Life..."/>
 	</menu>
 </menu_bar>

File indra/newview/skins/default/xui/da/notifications.xml

     </form>
   </template>
 	<notification functor="GenericAcknowledge" label="Ukendt advarsels-besked" name="MissingAlert">
-		Din version af Second Life kan ikke vise den advarselsbesked den modtog.
+		Din version af [APP_NAME] kan ikke vise den advarselsbesked den modtog.
 
 Fejl detaljer: Advarslen &apos;[_NAME]&apos; blev ikke fundet i notifications.xml.
 		<usetemplate name="okbutton" yestext="OK"/>
 		<usetemplate name="okcancelbuttons" notext="Annullér" yestext="Ja"/>
 	</notification>
 	<notification name="BadInstallation">
-		Der opstod en fejl ved opdatering af Second Life. Hent venligst den nyeste version fra secondlife.com.
+		Der opstod en fejl ved opdatering af [APP_NAME]. Hent venligst den nyeste version fra secondlife.com.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
 		<usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/>
 	</notification>
 	<notification name="ChangeSkin">
-		Det nye udseende vil vises efter du har genstartet [SECOND_LIFE].
+		Det nye udseende vil vises efter du har genstartet [APP_NAME].
 	</notification>
 	<notification name="UnsupportedHardware"/>
 	<notification name="UnknownGPU">
 	<notification name="YouHaveBeenLoggedOut">
 		Du er blevet logget ud af [SECOND_LIFE]:
             [MESSAGE]
-Du kan stadig se eksiterende PB&apos;er og chat ved at klikke&apos;Se PB &amp; Chat&apos;. Ellers, klik &apos;Afslut&apos; for at afslutte [SECOND_LIFE] nu.
+Du kan stadig se eksiterende PB&apos;er og chat ved at klikke&apos;Se PB &amp; Chat&apos;. Ellers, klik &apos;Afslut&apos; for at afslutte [APP_NAME] nu.
 		<usetemplate name="okcancelbuttons" notext="Afslut" yestext="Se PB &amp; Chat"/>
 	</notification>
 	<notification label="Tilføj ven" name="AddFriend">
 	<notification name="RegionEntryAccessBlocked">
 		Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder.
 
-Undersøg venligst om du har installeret den nyeste Second Life klient, og gå til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
+Undersøg venligst om du har installeret den nyeste [APP_NAME] klient, og gå til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
 	<notification name="LandClaimAccessBlocked">
 		Du kan ikke kræve dette land på grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder.
 
-Undersøg om du har den nyeste Second Life klient og gå venligst til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
+Undersøg om du har den nyeste [APP_NAME] klient og gå venligst til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
 	<notification name="LandBuyAccessBlocked">
 		Du kan ikke købe dette land på grund af din nuværende indholdsrating indstillinge . Dette kan skyldes manglende validering af din alder.
 
-Undersøg om du har den nyeste Second Life klient og gå venligst til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
+Undersøg om du har den nyeste [APP_NAME] klient og gå venligst til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
 
 Du ser ud til at være ved at rapportere noget vedr. krænkelse af intellektuelle ejendomsrettigheder. Sørg for, at du rapporterer dette korrekt:
 
-(1) Misbrugs processen. Du kan indsende en misbrugs rapport, hvis du mener, at en Beboer udnytter Second Life&apos;s rettigheds system, for eksempel ved hjælp af en CopyBot eller lignende kopierings værktøjer, at de krænker intellektuelle ejendomsrettigheder. Det team vil undersøge og spørgsmål passende disciplinære sanktioner for adfærd, der overtræder Second Life EF-standarderne eller Servicevilkår. Men det team vil ikke håndtere og vil ikke reagere på anmodninger om at fjerne indhold fra Second Life&apos;s verden.
+(1) Misbrugs processen. Du kan indsende en misbrugs rapport, hvis du mener, at en Beboer udnytter [SECOND_LIFE]&apos;s rettigheds system, for eksempel ved hjælp af en CopyBot eller lignende kopierings værktøjer, at de krænker intellektuelle ejendomsrettigheder. Det team vil undersøge og spørgsmål passende disciplinære sanktioner for adfærd, der overtræder [SECOND_LIFE] EF-standarderne eller Servicevilkår. Men det team vil ikke håndtere og vil ikke reagere på anmodninger om at fjerne indhold fra [SECOND_LIFE]&apos;s verden.
 
-(2) DMCA eller Indholds fjernelses processen. For at anmode om fjernelse af indhold fra Second Life, skal du sende en gyldig anmeldelse af overtrædelsen som beskrevet i vores DMCA-politik på http://secondlife.com/corporate/dmca.php.
+(2) DMCA eller Indholds fjernelses processen. For at anmode om fjernelse af indhold fra [SECOND_LIFE], skal du sende en gyldig anmeldelse af overtrædelsen som beskrevet i vores DMCA-politik på http://secondlife.com/corporate/dmca.php.
 
 Hvis du stadig ønsker at fortsætte med misbrugs processen, luk da venligst dette vindue og færdiggør indsendelsen af din rapport. Du kan være nødt til at vælge den særlige kategori »CopyBot eller Tilladelses Ydnyttelse.
 
 		Du kan kun gøre krav på offentlig land i den region, du befinder dig i.
 	</notification>
 	<notification name="RegionTPAccessBlocked">
-		Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste Second Life klient.
+		Du har ikke adgang til denne region på grund af din valgte indholdsrating. Dette kan skyldes manglende validering af din alder eller at du ikke benytter den nyeste [APP_NAME] klient.
 
 Gå venligst til &apos;Knowledge Base&apos; for yderligere detaljer om adgang til områder med denne indholdsrating.
 	</notification>
 		Kunne ikke skabe fast forbindelse.
 	</notification>
 	<notification name="InternalUsherError">
-		Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med Second Life lige nu.
+		Der opstod en intern fejl ved teleportering til din teleport destination.. Der kan være generelle problemer med [SECOND_LIFE] lige nu.
 	</notification>
 	<notification name="NoGoodTPDestination">
 		Kunne ikke finde et egnet teleport sted i denne region.
 	</notification>
 	<notification name="InternalErrorRegionResolver">
-		Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med Second Life lige nu.
+		Der opstod en intern fejl ved beregning af globale koordinater for din teleport forespørgsel. Der kan være generelle problemer med [SECOND_LIFE] lige nu.
 	</notification>
 	<notification name="NoValidLanding">
 		Kunne ikke finde et gyldigt landingspunkt.
 		Det lykkedes ikke at finde [TYPE] med navnet [DESC] i databasen.
 	</notification>
 	<notification name="InvalidWearable">
-		Den genstand du prøver at tage på benytter funktioner som din klient ikke kan forstå. Opdatér din version af Second Life for at tage genstanden på.
+		Den genstand du prøver at tage på benytter funktioner som din klient ikke kan forstå. Opdatér din version af [APP_NAME] for at tage genstanden på.
 	</notification>
 	<notification name="ScriptQuestion">
 		&apos;[OBJECTNAME]&apos;, en genstand, ejet af &apos;[NAME]&apos;, vil gerne:
 	</notification>
 	<notification name="FirstDebugMenus">
 		Du har sat avanceret menu til.
-Denne menu indeholder funktioner brugbare for udviklere, der udbedrer fejl i Second Life.
+Denne menu indeholder funktioner brugbare for udviklere, der udbedrer fejl i [SECOND_LIFE].
 For at vise denne menu, skal man i Windows trykke Ctrl-Alt-D. På Mac tryk &#8984;-Opt-Shift-D.
 	</notification>
 	<notification name="FirstSculptedPrim">

File indra/newview/skins/default/xui/da/panel_status_bar.xml

 		Henter...
 	</text>
 	<button label="" label_selected="" name="buycurrency" tool_tip="Køb valuta" />
-	<text type="string" length="12" name="TimeText" tool_tip="Nuværende Second Life tid">
+	<text type="string" length="12" name="TimeText" tool_tip="Nuværende [SECOND_LIFE] tid">
 		12:00
 	</text>
 	<string name="StatBarDaysOfWeek">
 	     tool_tip="Stemme chat ikke tilgængelig" />
 	<button label="" label_selected="" name="buyland" tool_tip="Køb denne parcel" />
 	<button label="" name="menubar_search_bevel_bg" />
-	<line_editor label="Søg" name="search_editor" tool_tip="Søg Second Life" />
-	<button label="" label_selected="" name="search_btn" tool_tip="Søg Second Life" />
+	<line_editor label="Søg" name="search_editor" tool_tip="Søg [SECOND_LIFE]" />
+	<button label="" label_selected="" name="search_btn" tool_tip="Søg [SECOND_LIFE]" />
 	<string name="packet_loss_tooltip">
 		Packet Loss
 	</string>

File indra/newview/skins/default/xui/da/strings.xml

-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- This file contains strings that used to be hardcoded in the source.
+     It is only for those strings which do not belong in a floater.
+     For example, the strings used in avatar chat bubbles, and strings 
+     that are returned from one component and may appear in many places-->
 <strings>
 	<string name="LoginInProgress">
 		Logger p. [APP_NAME] kan virke laast.  Vent venligst.
 	<string name="LoginDownloadingClothing">
 		Henter tøj...
 	</string>
-	<string name="LoginFailedNoNetwork">
-		Netværks fejl: Kunne ikke oprette forbindelse, tjek venligst din netværksforbindelse.
-	</string>
 	<string name="AgentLostConnection">
 		Denne region kan have problemer. Tjek venligst din forbindelse til internettet.
 	</string>
+	<string name="TooltipPerson">
+		Person
+	</string>
+	<string name="TooltipNoName">
+		(intet navn)
+	</string>
 	<string name="TooltipOwner">
 		Ejer:
 	</string>
 	<string name="TooltipFlagL$">
 		L$
 	</string>
+	<string name="TooltipFlagDropInventory">
+		Drop beholdning
+	</string>
 	<string name="TooltipFlagPhantom">
 		Fantom
 	</string>
 	<string name="TooltipFlagTemporary">
 		Temporær
 	</string>
+	<string name="TooltipFlagRightClickMenu">
+		(Højre-klik for menu)
+	</string>
 	<string name="TooltipFreeToCopy">
 		Kan kopieres
 	</string>
 	<string name="AssetErrorCircuitGone">
 		Forbindelsen mistet
 	</string>
+	<string name="AssetErrorPriceMismatch">
+		[APP_NAME] klient og server er uenige om prisen
+	</string>
 	<string name="AssetErrorUnknownStatus">
 		Ukendt status
 	</string>
 	<string name="shout">
 		råber:
 	</string>
+	<string name="SIM_ACCESS_PG">
+		PG
+	</string>
+	<string name="SIM_ACCESS_MATURE">
+		Mature
+	</string>
+	<string name="SIM_ACCESS_ADULT">
+		Adult
+	</string>
+	<string name="SIM_ACCESS_DOWN">
+		logget af
+	</string>
+	<string name="SIM_ACCESS_MIN">
+		Ukendt
+	</string>
+	<string name="land_type_unknown">
+		(ukendt)
+	</string>
+	<string name="covenant_never_modified">Sidst ændret: (aldrig)</string>
+	<string name="covenant_modified">Sidst ændret: </string>
+	<string name="all_files">
+		Alle filer
+	</string>
+	<string name="sound_files">
+		Lyde
+	</string>
+	<string name="animation_files">
+		Animationer
+	</string>
+	<string name="image_files">
+		Billeder
+	</string>
+	<string name="save_file_verb">
+		Gem
+	</string>
+	<string name="load_file_verb">
+		Hent
+	</string>
+	<string name="targa_image_files">
+		Targa billeder
+	</string>
+	<string name="bitmap_image_files">
+		Bitmap billeder
+	</string>
+	<string name="avi_movie_file">
+		AVI film fil
+	</string>
+	<string name="xaf_animation_file">
+		XAF Anim Fil
+	</string>
+	<string name="xml_file">
+		XML Fil
+	</string>
+	<string name="dot_raw_file">
+		RAW Fil
+	</string>
+	<string name="compressed_image_files">
+		Komprimerede billeder
+	</string>
+	<string name="load_files">
+		Hent filer
+	</string>
+	<string name="choose_the_directory">
+		Vælg bibliotek
+	</string>
 </strings>

File indra/newview/skins/default/xui/de/floater_about.xml

 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="floater_about" title="Über Second Life">
+<floater name="floater_about" title="Über [APP_NAME]">
 	<text_editor name="credits_editor">
-		Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les und vielen anderen.
+		Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl und vielen anderen.
 
-Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: afon shepherd, Aimee Trescothick, Alexandrea Fride, Alissa Sabre, Amber DeCuir, Asuka Neely, Auron Forcella, Blue Revolution, Bocan Undercroft, Boroondas Gupte, Brandon Shinobu, Bri Gufler, Buckaroo Mu, Celierra Darling, Christos Atlantis, Coder Kas, Cummere Mayo, dakota schwade, Dirk Talamasca, Dizzy Banjo, Drew Dwi, Duckling Kwak, Ellla McMahon, Erikah Jameson, Erinyse Planer, Eyana Yohkoh, Ezian Ecksol, Faron Karu, Fenoe Lowey, Fox Hwasung, Francisca Biedermann, Gally Young, Gellan Glenelg, Geneko Nemeth, Glenn Rotaru, Hagar Qinan, Harleen Gretzky, Holger Gilruth, hotrodjohnny gears, IAm Zabelin, Inigo Catteneo, Iustinian Tomsen, Jacek Antonell, James Benedek, Jim Kupferberg, Joeseph Albanese, JPT62089 Agnon, Kardargo Adamczyk, Kirstenlee Cinquetti, Latif Khalifa, lea Parnall, Lex Neva, Lillith Anatine, Lilly Zenovka, Lim Catteneo, Lindal Kidd, Mark Rosenbaum, MasterJ Chaplin, McCabe Maxsted, Melvin Starbrook, Meni Kaiousei, Mero Collas, Minakothegothicgeisha Kamachi, Moon Metty, neofilo aabye, Neutron Chesnokov, Nomad Ingwer, norritt Xi, Opensource Obscure, Oracle Weatherwax, Ourasi Ferraris, Pabl0 Roffo, Peyton Aleixandre, Phli Foxchase, Psi Merlin, r2d2 Wunderlich, Regi Yifu, Saijanai Kuhn, Sandor Balczo, Sarkan Dreamscape, Scree Raymaker, Sedona Mills, Selena Beale, Sheet Spotter, Shibari Twine, Silver Key, Simon Kline, SLB Wirefly, Stacy Wombat, Sugarcult Dagger, Tayra Dagostino, Tetsuryu Vlodovic, ThaBiGGDoGG Richez, Timo Gufler, tx Oh, wayfinder wishbringer, Wizzytoe McCullough, Wundur Primbee, Yann Dufaux, Yuu Nakamichi, Aminom Marvin, Andred Qinan, arminasx saiman, caroline apollo, Iskar Ariantho, Jenika Connolly, Maghnus Balogh, Nefertiti Nefarious, RodneyLee Jessop
+Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
 
 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
 APR Copyright (C) 2000-2004 The Apache Software Foundation

File indra/newview/skins/default/xui/de/floater_postcard.xml

 	<button label="Abbrechen" name="cancel_btn" />
 	<button label="Senden" name="send_btn" />
 	<text name="default_subject">
-		Postkarte aus Second Life.
+		Postkarte aus [SECOND_LIFE]
 	</text>
 	<text name="default_message">
 		Sehen Sie hier!

File indra/newview/skins/default/xui/de/floater_tos.xml

 	<check_box label="Ich stimme den Nutzungsbedingungen zu" name="agree_chk" />
 	<text name="tos_heading">
 		Lesen Sie die folgenden Nutzungsbedingungen sorgfältig durch. Sie müssen dieser Vereinbarung
-zustimmen, um Second Life benutzen zu können.
+zustimmen, um [SECOND_LIFE] benutzen zu können.
 	</text>
 	<text_editor name="tos_text">
 		TOS_TEXT

File indra/newview/skins/default/xui/de/menu_login.xml

 		<menu_item_call label="Einstellungen..." name="Preferences..." />
 	</menu>
 	<menu label="Hilfe" name="Help">
-		<menu_item_call label="Hilfe zu Second Life" name="Second Life Help" />
-		<menu_item_call label="Über Second Life..." name="About Second Life..." />
+		<menu_item_call label="Hilfe zu [SECOND_LIFE]" name="Second Life Help" />
+		<menu_item_call label="Über [APP_NAME]..." name="About Second Life..." />
 	</menu>
 </menu_bar>

File indra/newview/skins/default/xui/de/menu_viewer.xml

 		<menu_item_separator label="-----------" name="separator4"/>
 		<menu_item_call label="Fokus auf Auswahl" name="Focus on Selection"/>
 		<menu_item_call label="Auf Auswahl zoomen" name="Zoom to Selection"/>
-		<menu_item_call label="Objekt kaufen" name="Menu Object Take"/>
+		<menu_item_call label="Objekt kaufen" name="Menu Object Take">
+			<on_enable userdata="Kaufen,Nehmen" name="EnableBuyOrTake"/>
+		</menu_item_call>
 		<menu_item_call label="Kopie nehmen/machen" name="Take Copy"/>
 		<menu_item_call label="Objekt wieder in Objektinhalt speichern" name="Save Object Back to Object Contents"/>
 		<menu_item_separator label="-----------" name="separator6"/>
 		<menu_item_call label="Skripte in Auswahl so einstellen, dass sie nicht ausgeführt werden" name="Set Scripts to Not Running in Selection"/>
 	</menu>
 	<menu label="Hilfe" name="Help">
-		<menu_item_call label="Hilfe zu Second Life" name="Second Life Help"/>
+		<menu_item_call label="Hilfe zu [SECOND_LIFE]" name="Second Life Help"/>
 		<menu_item_call label="Tutorial" name="Tutorial"/>
 		<menu_item_separator label="-----------" name="separator"/>
 		<menu_item_call label="Offizielles Linden-Blog..." name="Official Linden Blog..."/>
 			<menu_item_separator label="-----------" name="separator9"/>
 			<menu_item_call label="Fehler melden..." name="Report Bug..."/>
 		</menu>
-		<menu_item_call label="Über Second Life..." name="About Second Life..."/>
+		<menu_item_call label="Über [APP_NAME]..." name="About Second Life..."/>
 	</menu>
 </menu_bar>

File indra/newview/skins/default/xui/de/notifications.xml

     </form>
   </template>
 	<notification functor="GenericAcknowledge" label="Unbekannter Warnhinweis" name="MissingAlert">
-		Ihre Version von Second Life kann den gerade empfangenen Warnhinweis nicht anzeigen.
+		Ihre Version von [APP_NAME] kann den gerade empfangenen Warnhinweis nicht anzeigen.
 
 Fehlerdetails: Der Warnhinweis „[_NAME]“ wurde in notifications.xml nicht gefunden.
 		<usetemplate name="okbutton" yestext="OK"/>
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Ja"/>
 	</notification>
 	<notification name="BadInstallation">
-		Beim Aktualisieren von Second Life ist ein Fehler aufgetreten. Bitte laden Sie die aktuellste Version von secondlife.com herunter.
+		Beim Aktualisieren von [APP_NAME] ist ein Fehler aufgetreten. Bitte laden Sie die aktuellste Version von secondlife.com herunter.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="LoginFailedNoNetwork">
 		<usetemplate canceltext="Abbrechen" name="yesnocancelbuttons" notext="Nicht speichern" yestext="Alles speichern"/>
 	</notification>
 	<notification name="GrantModifyRights">
-		Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern oder an sich zu nehmen, das Sie in der Second Life-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis.
+		Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern oder an sich zu nehmen, das Sie in der [SECOND_LIFE]-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis.
 Möchten Sie [FIRST_NAME] [LAST_NAME] Änderungsrechte gewähren?
 		<usetemplate name="okcancelbuttons" notext="Nein" yestext="Ja"/>
 	</notification>
 	<notification name="GrantModifyRightsMultiple">
-		Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern, das Sie in der Second Life-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis.
+		Die Gewährung von Änderungsrechten an andere Einwohner ermöglicht es diesen, JEDES BELIEBIGE Objekt zu ändern, das Sie in der [SECOND_LIFE]-Welt besitzen. Seien Sie SEHR vorsichtig beim Erteilen dieser Erlaubnis.
 Möchten Sie den ausgewählten Einwohnern Änderungsrechte gewähren?
 		<usetemplate name="okcancelbuttons" notext="Nein" yestext="Ja"/>
 	</notification>
 	<notification name="ClickPartnerHelpAvatar">
 		Auf der [SECOND_LIFE] Website können Sie anderen Einwohnern eine Partnerschaft vorschlagen und bestehende Partnerschaften lösen.
 
-Die Second Life Website für weitere Informationen über Partnerschaften öffnen?
+Die [SECOND_LIFE] Website für weitere Informationen über Partnerschaften öffnen?
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Gehe zu Seite"/>
 	</notification>
 	<notification name="ClickUploadHelpPermissions">
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
 	</notification>
 	<notification name="ConfirmLandSaleToAnyoneChange">
-		ACHTUNG: Wenn Sie auf „An jeden verkaufen“ klicken, kann jeder in Second Life Ihr Land kaufen, auch Einwohner in anderen Regionen.
+		ACHTUNG: Wenn Sie auf „An jeden verkaufen“ klicken, kann jeder in [SECOND_LIFE] Ihr Land kaufen, auch Einwohner in anderen Regionen.
 
 Die ausgewählten [LAND_SIZE] qm Land werden zum Verkauf freigegeben.
 Der Verkaufspreis beträgt [SALE_PRICE] L$ und wird automatisch für den Verkauf an [NAME] autorisiert.
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
 	</notification>
 	<notification name="CacheWillClear">
-		Der Cache wird nach einem Neustart von [SECOND_LIFE] geleert.
+		Der Cache wird nach einem Neustart von [APP_NAME] geleert.
 	</notification>
 	<notification name="CacheWillBeMoved">
-		Der Cache wird nach einem Neustart von [SECOND_LIFE] verschoben.
+		Der Cache wird nach einem Neustart von [APP_NAME] verschoben.
 Hinweis: Der Cache wird dabei gelöscht/geleert.
 	</notification>
 	<notification name="ChangeConnectionPort">
-		Die Port-Einstellungen werden nach einem Neustart von [SECOND_LIFE] wirksam.
+		Die Port-Einstellungen werden nach einem Neustart von [APP_NAME] wirksam.
 	</notification>
 	<notification name="ChangeSkin">
-		Die neue Benutzeroberfläche wird nach einem Neustart von [SECOND_LIFE] angewendet.
+		Die neue Benutzeroberfläche wird nach einem Neustart von [APP_NAME] angewendet.
 	</notification>
 	<notification name="GoToAuctionPage">
 		Zur [SECOND_LIFE]-Webseite, um Auktionen anzuzeigen oder ein Gebot abzugeben?
 		Datei [[FILE]] kann nicht geschrieben werden
 	</notification>
 	<notification name="UnsupportedHardware">
-		Achtung: Ihr System erfüllt nicht die Mindestanforderungen von Second Life. Dies kann eine schlechte Darstellungsleistung in Second Life zur Folge haben. Für nicht unterstützte Systemkonfigurationen bieten wir keinen technischen Support.
+		Achtung: Ihr System erfüllt nicht die Mindestanforderungen von [APP_NAME]. Dies kann eine schlechte Darstellungsleistung in [APP_NAME] zur Folge haben. Für nicht unterstützte Systemkonfigurationen bieten wir keinen technischen Support.
 
 MINSPECS
 Die Seite [_URL] für weitere Informationen öffnen?
 	<notification name="UnknownGPU">
 		Ihr System verwendet eine uns zurzeit unbekannte Grafikkarte.
 Dies ist häufig der Fall bei neuer Hardware, die wir noch nicht testen konnten.
-Second Life funktioniert aller Voraussicht nach normal, möglicherweise müssen Sie aber die Grafikeinstellungen anpassen.
+[APP_NAME] funktioniert aller Voraussicht nach normal, möglicherweise müssen Sie aber die Grafikeinstellungen anpassen.
 (Bearbeiten &gt; Einstellungen &gt; Grafik).
 		<form name="form">
 			<ignore name="ignore" text="Bei Entdeckung einer unbekannten Grafikkarte"/>
 		</form>
 	</notification>
 	<notification name="DisplaySettingsNoShaders">
-		[SECOND_LIFE] ist bei der Initialisierung der Grafiktreiber abgestürzt.
+		[APP_NAME] ist bei der Initialisierung der Grafiktreiber abgestürzt.
 Die Grafikqualität wird auf eine niedrige Stufe zurückgesetzt, um einige typische Treiberfehler zu vermeiden.
 Einige Grafikfunktionen werden ausgeschaltet.
 Wir empfehlen die Aktualisierung Ihrer Grafikkartentreiber.
 Kann die Region nicht finden, in der sich dieses Land befindet.
 	</notification>
 	<notification name="CannotCloseFloaterBuyLand">
-		Das Fenster „Land kaufen“ kann erst geschlossen werden,
-nachdem Second Life den Transaktionspreis geschätzt hat.
+		Das Fenster „Land kaufen“ kann erst geschlossen werden, nachdem [APP_NAME] den Transaktionspreis geschätzt hat.
 	</notification>
 	<notification name="CannotDeedLandNothingSelected">
 		Land kann nicht übertragen werden:
 	<notification name="YouHaveBeenLoggedOut">
 		Sie wurden von [SECOND_LIFE] abgemeldet:
             [MESSAGE]
-Klicken Sie auf „IM &amp; Chat anzeigen“, um vorhandene Nachrichten und Chat weiterhin anzuzeigen. Klicken Sie andernfalls auf „Beenden“, um [SECOND_LIFE] sofort zu beenden.
+Klicken Sie auf „IM &amp; Chat anzeigen“, um vorhandene Nachrichten und Chat weiterhin anzuzeigen. Klicken Sie andernfalls auf „Beenden“, um [APP_NAME] sofort zu beenden.
 		<usetemplate name="okcancelbuttons" notext="Beenden" yestext="IM &amp; Chat anzeigen"/>
 	</notification>
 	<notification name="OnlyOfficerCanBuyLand">
 		</form>
 	</notification>
 	<notification name="FirstRun">