--HG--
branch : product-engine
master
Dmitry Zaporozhan 2009-11-10 17:03:48 +02:00
commit ebfb32f35b
312 changed files with 32616 additions and 25225 deletions

View File

@ -12,13 +12,13 @@ elseif (WINDOWS)
set(QUICKTIME_SDK_DIR "$ENV{PROGRAMFILES}/QuickTime SDK"
CACHE PATH "Location of the QuickTime SDK.")
find_library(DEBUG_QUICKTIME_LIBRARY qtmlclient
find_library(DEBUG_QUICKTIME_LIBRARY qtmlclient.lib
PATHS
${ARCH_PREBUILT_DIRS_DEBUG}
"${QUICKTIME_SDK_DIR}\\libraries"
)
find_library(RELEASE_QUICKTIME_LIBRARY qtmlclient
find_library(RELEASE_QUICKTIME_LIBRARY qtmlclient.lib
PATHS
${ARCH_PREBUILT_DIRS_RELEASE}
"${QUICKTIME_SDK_DIR}\\libraries"

View File

@ -32,6 +32,13 @@
#ifndef LL_LLINTERP_H
#define LL_LLINTERP_H
#if defined(LL_WINDOWS)
// macro definitions for common math constants (e.g. M_PI) are declared under the _USE_MATH_DEFINES
// on Windows system.
// So, let's define _USE_MATH_DEFINES before including math.h
#define _USE_MATH_DEFINES
#endif
#include "math.h"
// Class from which different types of interpolators can be derived

View File

@ -81,6 +81,11 @@ private:
void savePersistentNotifications()
{
/* NOTE: As of 2009-11-09 the reload of notifications on startup does not
work, and has not worked for months. Skip saving notifications until the
read can be fixed, because this hits the disk once per notification and
causes log spam. James
llinfos << "Saving open notifications to " << mFileName << llendl;
llofstream notify_file(mFileName.c_str());
@ -107,6 +112,7 @@ private:
LLPointer<LLSDFormatter> formatter = new LLSDXMLFormatter();
formatter->format(output, notify_file, LLSDFormatter::OPTIONS_PRETTY);
*/
}
void loadPersistentNotifications()

View File

@ -43,7 +43,6 @@
#include "llrender.h"
#include "llrect.h"
#include "lldir.h"
#include "llfontgl.h"
#include "llgl.h"
// Project includes

View File

@ -40,7 +40,6 @@
#include "llrender.h"
#include "llevent.h"
#include "llfontgl.h"
#include "llfocusmgr.h"
#include "llrect.h"
#include "llstl.h"

View File

@ -1031,7 +1031,6 @@ set(viewer_HEADER_FILES
macmain.h
noise.h
pipeline.h
randgauss.h
VertexCache.h
VorbisFramework.h
)

View File

@ -3598,6 +3598,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>HideSelectedObjects</key>
<map>
<key>Comment</key>
<string>Hide Selected Objects</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>HtmlHelpLastPage</key>
<map>
<key>Comment</key>

View File

@ -245,7 +245,6 @@ RenderVBOEnable 1 0
list Intel
RenderAnisotropic 1 0
RenderLightingDetail 1 0
RenderUseImpostors 0 0
list GeForce2
RenderAnisotropic 1 0
@ -261,51 +260,63 @@ UseOcclusion 0 0
list Intel_830M
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_845G
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_855GM
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_865G
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_900
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_915GM
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_915G
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_945GM
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_945G
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_950
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_965
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
UseOcclusion 0 0
RenderUseImpostors 0 0
list Intel_G33
RenderTerrainDetail 1 0
RenderVBOEnable 1 0
RenderUseImpostors 0 0
list Intel_G45
WindLightUseAtmosShaders 0 0

View File

@ -1243,14 +1243,14 @@ void dumpAttachmentSet(const std::set<LLUUID>& atts, const std::string& msg)
void LLAppearanceManager::registerAttachment(const LLUUID& item_id)
{
sRegisteredAttachments.insert(item_id);
dumpAttachmentSet(sRegisteredAttachments,"after register:");
//dumpAttachmentSet(sRegisteredAttachments,"after register:");
if (sAttachmentInvLinkEnabled)
{
LLViewerInventoryItem *item = gInventory.getItem(item_id);
if (item)
{
LLAppearanceManager::dumpCat(LLAppearanceManager::getCOF(),"Adding attachment link:");
//LLAppearanceManager::dumpCat(LLAppearanceManager::getCOF(),"Adding attachment link:");
LLAppearanceManager::wearItem(item,false); // Add COF link for item.
gInventory.addChangedMask(LLInventoryObserver::LABEL, item_id);
gInventory.notifyObservers();
@ -1258,7 +1258,7 @@ void LLAppearanceManager::registerAttachment(const LLUUID& item_id)
}
else
{
llinfos << "no link changes, inv link not enabled" << llendl;
//llinfos << "no link changes, inv link not enabled" << llendl;
}
}
@ -1266,11 +1266,11 @@ void LLAppearanceManager::registerAttachment(const LLUUID& item_id)
void LLAppearanceManager::unregisterAttachment(const LLUUID& item_id)
{
sRegisteredAttachments.erase(item_id);
dumpAttachmentSet(sRegisteredAttachments,"after unregister:");
//dumpAttachmentSet(sRegisteredAttachments,"after unregister:");
if (sAttachmentInvLinkEnabled)
{
LLAppearanceManager::dumpCat(LLAppearanceManager::getCOF(),"Removing attachment link:");
//LLAppearanceManager::dumpCat(LLAppearanceManager::getCOF(),"Removing attachment link:");
LLAppearanceManager::removeItemLinks(item_id, false);
// BAP - needs to change for label to track link.
gInventory.addChangedMask(LLInventoryObserver::LABEL, item_id);
@ -1278,6 +1278,6 @@ void LLAppearanceManager::unregisterAttachment(const LLUUID& item_id)
}
else
{
llinfos << "no link changes, inv link not enabled" << llendl;
//llinfos << "no link changes, inv link not enabled" << llendl;
}
}

View File

@ -185,6 +185,38 @@ void LLAvatarActions::startIM(const LLUUID& id)
make_ui_sound("UISndStartIM");
}
// static
void LLAvatarActions::startCall(const LLUUID& id)
{
if (id.isNull() || isCalling(id))
{
return;
}
std::string name;
gCacheName->getFullName(id, name);
LLUUID session_id = gIMMgr->addSession(name, IM_NOTHING_SPECIAL, id);
if (session_id != LLUUID::null)
{
// always open IM window when connecting to voice
LLIMFloater::show(session_id);
gIMMgr->startCall(session_id);
}
make_ui_sound("UISndStartIM");
}
// static
bool LLAvatarActions::isCalling(const LLUUID &id)
{
if (id.isNull())
{
return false;
}
LLUUID session_id = gIMMgr->computeSessionID(IM_NOTHING_SPECIAL, id);
return (LLIMModel::getInstance()->findIMSession(session_id) != NULL);
}
// static
void LLAvatarActions::startConference(const std::vector<LLUUID>& ids)
{

View File

@ -66,6 +66,11 @@ public:
*/
static void startIM(const LLUUID& id);
/**
* Start an avatar-to-avatar voice call with another user
*/
static void startCall(const LLUUID& id);
/**
* Start conference chat with the given avatars.
*/
@ -96,6 +101,11 @@ public:
*/
static bool isBlocked(const LLUUID& id);
/**
* Return true if the avatar is in a P2P voice call with a given user
*/
static bool isCalling(const LLUUID &id);
/**
* Invite avatar to a group.
*/

View File

@ -195,14 +195,6 @@ LLAvatarIconCtrl::LLAvatarIconCtrl(const LLAvatarIconCtrl::Params& p)
{
LLIconCtrl::setValue("default_profile_picture.j2c");
}
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
registrar.add("AvatarIcon.Action", boost::bind(&LLAvatarIconCtrl::onAvatarIconContextMenuItemClicked, this, _2));
LLMenuGL* menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_avatar_icon.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
mPopupMenuHandle = menu->getHandle();
}
LLAvatarIconCtrl::~LLAvatarIconCtrl()
@ -212,8 +204,6 @@ LLAvatarIconCtrl::~LLAvatarIconCtrl()
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mAvatarId, this);
// Name callbacks will be automatically disconnected since LLUICtrl is trackable
}
LLView::deleteViewByHandle(mPopupMenuHandle);
}
//virtual
@ -295,32 +285,6 @@ void LLAvatarIconCtrl::processProperties(void* data, EAvatarProcessorType type)
}
}
BOOL LLAvatarIconCtrl::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if(menu)
{
bool is_friend = LLAvatarTracker::instance().getBuddyInfo(mAvatarId) != NULL;
menu->setItemEnabled("Add Friend", !is_friend);
menu->setItemEnabled("Remove Friend", is_friend);
if(gAgentID == mAvatarId)
{
menu->setItemEnabled("Add Friend", false);
menu->setItemEnabled("Send IM", false);
menu->setItemEnabled("Remove Friend", false);
}
menu->buildDrawLabels();
menu->updateParent(LLMenuGL::sMenuContainer);
LLMenuGL::showPopup(this, menu, x, y);
}
return TRUE;
}
void LLAvatarIconCtrl::nameUpdatedCallback(
const LLUUID& id,
const std::string& first,
@ -338,40 +302,3 @@ void LLAvatarIconCtrl::nameUpdatedCallback(
}
}
}
void LLAvatarIconCtrl::onAvatarIconContextMenuItemClicked(const LLSD& userdata)
{
std::string level = userdata.asString();
LLUUID id = getAvatarId();
if (level == "profile")
{
LLAvatarActions::showProfile(id);
}
else if (level == "im")
{
std::string name;
name.assign(getFirstName());
name.append(" ");
name.append(getLastName());
LLUUID session_id = gIMMgr->addSession(name, IM_NOTHING_SPECIAL, id);
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
}
else if (level == "add")
{
std::string name;
name.assign(getFirstName());
name.append(" ");
name.append(getLastName());
LLAvatarActions::requestFriendshipDialog(id, name);
}
else if (level == "remove")
{
LLAvatarActions::removeFriendDialog(id);
}
}

View File

@ -81,8 +81,6 @@ protected:
LLAvatarIconCtrl(const Params&);
friend class LLUICtrlFactory;
void onAvatarIconContextMenuItemClicked(const LLSD& userdata);
public:
virtual ~LLAvatarIconCtrl();
@ -91,8 +89,6 @@ public:
// LLAvatarPropertiesProcessor observer trigger
virtual void processProperties(void* data, EAvatarProcessorType type);
BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
void nameUpdatedCallback(
const LLUUID& id,
const std::string& first,
@ -109,7 +105,6 @@ protected:
LLUUID mAvatarId;
std::string mFirstName;
std::string mLastName;
LLHandle<LLView> mPopupMenuHandle;
bool mDrawTooltip;

View File

@ -50,7 +50,6 @@ LLBottomTray::LLBottomTray(const LLSD&)
mSpeakBtn(NULL),
mNearbyChatBar(NULL),
mToolbarStack(NULL)
{
mFactoryMap["chat_bar"] = LLCallbackMap(LLBottomTray::createNearbyChatBar, NULL);

View File

@ -55,6 +55,10 @@ static LLDefaultChildRegistry::Register<LLNotificationChiclet> t2("chiclet_notif
static LLDefaultChildRegistry::Register<LLIMP2PChiclet> t3("chiclet_im_p2p");
static LLDefaultChildRegistry::Register<LLIMGroupChiclet> t4("chiclet_im_group");
static const LLRect CHICLET_RECT(0, 25, 25, 0);
static const LLRect CHICLET_ICON_RECT(0, 24, 24, 0);
static const LLRect VOICE_INDICATOR_RECT(25, 25, 45, 0);
S32 LLNotificationChiclet::mUreadSystemNotifications = 0;
boost::signals2::signal<LLChiclet* (const LLUUID&),
@ -199,7 +203,9 @@ void LLChiclet::setValue(const LLSD& value)
LLIMChiclet::LLIMChiclet(const LLIMChiclet::Params& p)
: LLChiclet(p)
, mShowSpeaker(false)
, mNewMessagesIcon(NULL)
, mSpeakerCtrl(NULL)
, mCounterCtrl(NULL)
{
// initialize an overlay icon for new messages
@ -218,6 +224,40 @@ LLIMChiclet::LLIMChiclet(const LLIMChiclet::Params& p)
setShowCounter(false);
}
void LLIMChiclet::setShowSpeaker(bool show)
{
bool needs_resize = getShowSpeaker() != show;
if(needs_resize)
{
mShowSpeaker = show;
toggleSpeakerControl();
onChicletSizeChanged();
}
}
void LLIMChiclet::initSpeakerControl()
{
// virtual
}
void LLIMChiclet::toggleSpeakerControl()
{
LLRect speaker_rect = mSpeakerCtrl->getRect();
S32 required_width = getRect().getWidth();
if(getShowSpeaker())
{
required_width = required_width + speaker_rect.getWidth();
initSpeakerControl();
}
else
{
required_width = required_width - speaker_rect.getWidth();
}
reshape(required_width, getRect().getHeight());
mSpeakerCtrl->setVisible(getShowSpeaker());
}
void LLIMChiclet::setShowNewMessagesIcon(bool show)
{
if(mNewMessagesIcon)
@ -300,7 +340,7 @@ LLIMP2PChiclet::Params::Params()
, show_speaker("show_speaker")
{
// *TODO Vadim: Get rid of hardcoded values.
rect(LLRect(0, 25, 25, 0));
rect(CHICLET_RECT);
avatar_icon.name("avatar_icon");
avatar_icon.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP | FOLLOWS_BOTTOM);
@ -309,11 +349,10 @@ LLIMP2PChiclet::Params::Params()
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
avatar_icon.rect(LLRect(0, 24, 25, 0));
avatar_icon.rect(CHICLET_ICON_RECT);
avatar_icon.mouse_opaque(false);
unread_notifications.name("unread");
unread_notifications.rect(LLRect(25, 25, 45, 0));
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
@ -322,7 +361,9 @@ LLIMP2PChiclet::Params::Params()
unread_notifications.visible(false);
speaker.name("speaker");
speaker.rect(LLRect(45, 25, 65, 0));
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
@ -330,7 +371,6 @@ LLIMP2PChiclet::Params::Params()
LLIMP2PChiclet::LLIMP2PChiclet(const Params& p)
: LLIMChiclet(p)
, mChicletIconCtrl(NULL)
, mSpeakerCtrl(NULL)
, mPopupMenu(NULL)
{
LLChicletAvatarIconCtrl::Params avatar_params = p.avatar_icon;
@ -358,18 +398,9 @@ void LLIMP2PChiclet::setCounter(S32 counter)
setShowNewMessagesIcon(counter);
}
LLRect LLIMP2PChiclet::getRequiredRect()
void LLIMP2PChiclet::initSpeakerControl()
{
LLRect rect(0, 0, mChicletIconCtrl->getRect().getWidth(), 0);
if(getShowCounter())
{
rect.mRight += mCounterCtrl->getRequiredRect().getWidth();
}
if(getShowSpeaker())
{
rect.mRight += mSpeakerCtrl->getRect().getWidth();
}
return rect;
mSpeakerCtrl->setSpeakerId(getOtherParticipantId());
}
void LLIMP2PChiclet::setOtherParticipantId(const LLUUID& other_participant_id)
@ -446,18 +477,6 @@ void LLIMP2PChiclet::onMenuItemClicked(const LLSD& user_data)
}
}
void LLIMP2PChiclet::setShowSpeaker(bool show)
{
LLIMChiclet::setShowSpeaker(show);
bool needs_resize = getShowSpeaker() != show;
mSpeakerCtrl->setVisible(getShowSpeaker());
if(needs_resize)
{
onChicletSizeChanged();
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
@ -470,7 +489,7 @@ LLAdHocChiclet::Params::Params()
, avatar_icon_color("avatar_icon_color", LLColor4::green)
{
// *TODO Vadim: Get rid of hardcoded values.
rect(LLRect(0, 25, 25, 0));
rect(CHICLET_RECT);
avatar_icon.name("avatar_icon");
avatar_icon.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP | FOLLOWS_BOTTOM);
@ -479,11 +498,10 @@ LLAdHocChiclet::Params::Params()
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
avatar_icon.rect(LLRect(0, 24, 25, 0));
avatar_icon.rect(CHICLET_ICON_RECT);
avatar_icon.mouse_opaque(false);
unread_notifications.name("unread");
unread_notifications.rect(LLRect(25, 25, 45, 0));
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
@ -493,7 +511,9 @@ LLAdHocChiclet::Params::Params()
speaker.name("speaker");
speaker.rect(LLRect(45, 25, 65, 0));
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
@ -501,7 +521,6 @@ LLAdHocChiclet::Params::Params()
LLAdHocChiclet::LLAdHocChiclet(const Params& p)
: LLIMChiclet(p)
, mChicletIconCtrl(NULL)
, mSpeakerCtrl(NULL)
, mPopupMenu(NULL)
{
LLChicletAvatarIconCtrl::Params avatar_params = p.avatar_icon;
@ -532,26 +551,42 @@ void LLAdHocChiclet::setSessionId(const LLUUID& session_id)
mChicletIconCtrl->setValue(im_session->mOtherParticipantID);
}
void LLAdHocChiclet::draw()
{
switchToCurrentSpeaker();
LLIMChiclet::draw();
}
void LLAdHocChiclet::initSpeakerControl()
{
switchToCurrentSpeaker();
}
void LLAdHocChiclet::switchToCurrentSpeaker()
{
LLUUID speaker_id;
LLSpeakerMgr::speaker_list_t speaker_list;
LLIMModel::getInstance()->findIMSession(getSessionId())->mSpeakers->getSpeakerList(&speaker_list, FALSE);
for (LLSpeakerMgr::speaker_list_t::iterator i = speaker_list.begin(); i != speaker_list.end(); ++i)
{
LLPointer<LLSpeaker> s = *i;
if (s->mSpeechVolume > 0 || s->mStatus == LLSpeaker::STATUS_SPEAKING)
{
speaker_id = s->mID;
break;
}
}
mSpeakerCtrl->setSpeakerId(speaker_id);
}
void LLAdHocChiclet::setCounter(S32 counter)
{
mCounterCtrl->setCounter(counter);
setShowNewMessagesIcon(counter);
}
LLRect LLAdHocChiclet::getRequiredRect()
{
LLRect rect(0, 0, mChicletIconCtrl->getRect().getWidth(), 0);
if(getShowCounter())
{
rect.mRight += mCounterCtrl->getRequiredRect().getWidth();
}
if(getShowSpeaker())
{
rect.mRight += mSpeakerCtrl->getRect().getWidth();
}
return rect;
}
BOOL LLAdHocChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
return TRUE;
@ -564,7 +599,7 @@ BOOL LLAdHocChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask)
LLIMGroupChiclet::Params::Params()
: group_icon("group_icon")
{
rect(LLRect(0, 25, 25, 0));
rect(CHICLET_RECT);
group_icon.name("group_icon");
@ -572,10 +607,9 @@ LLIMGroupChiclet::Params::Params()
// Changed icon height from 25 to 24 to fix ticket EXT-794.
// In some cases(after changing UI scale) 25 pixel height icon was
// drawn incorrectly, i'm not sure why.
group_icon.rect(LLRect(0, 24, 25, 0));
group_icon.rect(CHICLET_ICON_RECT);
unread_notifications.name("unread");
unread_notifications.rect(LLRect(25, 25, 45, 0));
unread_notifications.font(LLFontGL::getFontSansSerif());
unread_notifications.font_halign(LLFontGL::HCENTER);
unread_notifications.v_pad(5);
@ -583,7 +617,9 @@ LLIMGroupChiclet::Params::Params()
unread_notifications.visible(false);
speaker.name("speaker");
speaker.rect(LLRect(45, 25, 65, 0));
speaker.rect(VOICE_INDICATOR_RECT);
speaker.auto_update(true);
speaker.draw_border(false);
show_speaker = false;
}
@ -592,7 +628,6 @@ LLIMGroupChiclet::LLIMGroupChiclet(const Params& p)
: LLIMChiclet(p)
, LLGroupMgrObserver(LLUUID::null)
, mChicletIconCtrl(NULL)
, mSpeakerCtrl(NULL)
, mPopupMenu(NULL)
{
LLChicletGroupIconCtrl::Params avatar_params = p.group_icon;
@ -625,18 +660,34 @@ void LLIMGroupChiclet::setCounter(S32 counter)
setShowNewMessagesIcon(counter);
}
LLRect LLIMGroupChiclet::getRequiredRect()
void LLIMGroupChiclet::draw()
{
LLRect rect(0, 0, mChicletIconCtrl->getRect().getWidth(), 0);
if(getShowCounter())
switchToCurrentSpeaker();
LLIMChiclet::draw();
}
void LLIMGroupChiclet::initSpeakerControl()
{
switchToCurrentSpeaker();
}
void LLIMGroupChiclet::switchToCurrentSpeaker()
{
LLUUID speaker_id;
LLSpeakerMgr::speaker_list_t speaker_list;
LLIMModel::getInstance()->findIMSession(getSessionId())->mSpeakers->getSpeakerList(&speaker_list, FALSE);
for (LLSpeakerMgr::speaker_list_t::iterator i = speaker_list.begin(); i != speaker_list.end(); ++i)
{
rect.mRight += mCounterCtrl->getRequiredRect().getWidth();
LLPointer<LLSpeaker> s = *i;
if (s->mSpeechVolume > 0 || s->mStatus == LLSpeaker::STATUS_SPEAKING)
{
speaker_id = s->mID;
break;
}
}
if(getShowSpeaker())
{
rect.mRight += mSpeakerCtrl->getRect().getWidth();
}
return rect;
mSpeakerCtrl->setSpeakerId(speaker_id);
}
void LLIMGroupChiclet::setSessionId(const LLUUID& session_id)
@ -723,17 +774,6 @@ void LLIMGroupChiclet::onMenuItemClicked(const LLSD& user_data)
}
}
void LLIMGroupChiclet::setShowSpeaker(bool show)
{
LLIMChiclet::setShowSpeaker(show);
bool needs_resize = getShowSpeaker() != show;
mSpeakerCtrl->setVisible(getShowSpeaker());
if(needs_resize)
{
onChicletSizeChanged();
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
@ -742,8 +782,6 @@ void LLIMGroupChiclet::setShowSpeaker(bool show)
LLChicletPanel::Params::Params()
: chiclet_padding("chiclet_padding")
, scrolling_offset("scrolling_offset")
, left_scroll_button("left_scroll_button")
, right_scroll_button("right_scroll_button")
, min_width("min_width")
{
chiclet_padding = 3;
@ -754,24 +792,6 @@ LLChicletPanel::Params::Params()
// min_width = 4 chiclets + 3 paddings
min_width = 179 + 3*chiclet_padding;
}
LLRect scroll_button_rect(0, 25, 19, 5);
left_scroll_button.name("left_scroll");
left_scroll_button.label(LLStringUtil::null);
left_scroll_button.rect(scroll_button_rect);
left_scroll_button.tab_stop(false);
left_scroll_button.image_selected(LLUI::getUIImage("bottom_tray_scroll_left.tga"));
left_scroll_button.image_unselected(LLUI::getUIImage("bottom_tray_scroll_left.tga"));
left_scroll_button.image_hover_selected(LLUI::getUIImage("bottom_tray_scroll_left.tga"));
right_scroll_button.name("right_scroll");
right_scroll_button.label(LLStringUtil::null);
right_scroll_button.rect(scroll_button_rect);
right_scroll_button.tab_stop(false);
right_scroll_button.image_selected(LLUI::getUIImage("bottom_tray_scroll_right.tga"));
right_scroll_button.image_unselected(LLUI::getUIImage("bottom_tray_scroll_right.tga"));
right_scroll_button.image_hover_selected(LLUI::getUIImage("bottom_tray_scroll_right.tga"));
};
LLChicletPanel::LLChicletPanel(const Params&p)
@ -784,23 +804,6 @@ LLChicletPanel::LLChicletPanel(const Params&p)
, mMinWidth(p.min_width)
, mShowControls(true)
{
LLButton::Params scroll_button_params = p.left_scroll_button;
mLeftScrollButton = LLUICtrlFactory::create<LLButton>(scroll_button_params);
addChild(mLeftScrollButton);
LLTransientFloaterMgr::getInstance()->addControlView(mLeftScrollButton);
mLeftScrollButton->setClickedCallback(boost::bind(&LLChicletPanel::onLeftScrollClick,this));
mLeftScrollButton->setEnabled(false);
scroll_button_params = p.right_scroll_button;
mRightScrollButton = LLUICtrlFactory::create<LLButton>(scroll_button_params);
addChild(mRightScrollButton);
LLTransientFloaterMgr::getInstance()->addControlView(mRightScrollButton);
mRightScrollButton->setClickedCallback(boost::bind(&LLChicletPanel::onRightScrollClick,this));
mRightScrollButton->setEnabled(false);
LLPanel::Params panel_params;
mScrollArea = LLUICtrlFactory::create<LLPanel>(panel_params,this);
@ -849,10 +852,38 @@ BOOL LLChicletPanel::postBuild()
LLIMModel::instance().addNewMsgCallback(boost::bind(im_chiclet_callback, this, _1));
LLIMModel::instance().addNoUnreadMsgsCallback(boost::bind(im_chiclet_callback, this, _1));
LLIMChiclet::sFindChicletsSignal.connect(boost::bind(&LLChicletPanel::findChiclet<LLChiclet>, this, _1));
LLVoiceChannel::setCurrentVoiceChannelChangedCallback(boost::bind(&LLChicletPanel::onCurrentVoiceChannelChanged, this, _1));
mLeftScrollButton=getChild<LLButton>("chicklet_left_scroll_button");
LLTransientFloaterMgr::getInstance()->addControlView(mLeftScrollButton);
mLeftScrollButton->setClickedCallback(boost::bind(&LLChicletPanel::onLeftScrollClick,this));
mLeftScrollButton->setEnabled(false);
mRightScrollButton=getChild<LLButton>("chicklet_right_scroll_button");
LLTransientFloaterMgr::getInstance()->addControlView(mRightScrollButton);
mRightScrollButton->setClickedCallback(boost::bind(&LLChicletPanel::onRightScrollClick,this));
mRightScrollButton->setEnabled(false);
return TRUE;
}
void LLChicletPanel::onCurrentVoiceChannelChanged(const LLUUID& session_id)
{
for(chiclet_list_t::iterator it = mChicletList.begin(); it != mChicletList.end(); ++it)
{
LLIMChiclet* chiclet = dynamic_cast<LLIMChiclet*>(*it);
if(chiclet)
{
if(chiclet->getSessionId() == session_id)
{
chiclet->setShowSpeaker(true);
continue;
}
chiclet->setShowSpeaker(false);
}
}
}
S32 LLChicletPanel::calcChickletPanleWidth()
{
S32 res = 0;
@ -896,23 +927,7 @@ bool LLChicletPanel::addChiclet(LLChiclet* chiclet, S32 index)
void LLChicletPanel::onChicletSizeChanged(LLChiclet* ctrl, const LLSD& param)
{
S32 chiclet_width = ctrl->getRect().getWidth();
S32 chiclet_new_width = ctrl->getRequiredRect().getWidth();
if(chiclet_new_width == chiclet_width)
{
return;
}
LLRect chiclet_rect = ctrl->getRect();
chiclet_rect.mRight = chiclet_rect.mLeft + chiclet_new_width;
ctrl->setRect(chiclet_rect);
S32 offset = chiclet_new_width - chiclet_width;
S32 index = getChicletIndex(ctrl);
shiftChiclets(offset, index + 1);
arrange();
trimChiclets();
showScrollButtonsIfNeeded();
}
@ -1024,23 +1039,24 @@ void LLChicletPanel::reshape(S32 width, S32 height, BOOL called_from_parent )
static const S32 SCROLL_BUTTON_PAD = 5;
//Needed once- to avoid error at first call of reshape() before postBuild()
if(!mLeftScrollButton||!mRightScrollButton)
return;
LLRect scroll_button_rect = mLeftScrollButton->getRect();
mLeftScrollButton->setRect(LLRect(0,height,scroll_button_rect.getWidth(),
height - scroll_button_rect.getHeight()));
mLeftScrollButton->setRect(LLRect(0,scroll_button_rect.mTop,scroll_button_rect.getWidth(),
scroll_button_rect.mBottom));
scroll_button_rect = mRightScrollButton->getRect();
mRightScrollButton->setRect(LLRect(width - scroll_button_rect.getWidth(),height,
width, height - scroll_button_rect.getHeight()));
mRightScrollButton->setRect(LLRect(width - scroll_button_rect.getWidth(),scroll_button_rect.mTop,
width, scroll_button_rect.mBottom));
mScrollArea->setRect(LLRect(scroll_button_rect.getWidth() + SCROLL_BUTTON_PAD,
height, width - scroll_button_rect.getWidth() - SCROLL_BUTTON_PAD, 0));
mShowControls = width > mMinWidth;
mScrollArea->setVisible(mShowControls);
trimChiclets();
showScrollButtonsIfNeeded();
}
void LLChicletPanel::arrange()
@ -1327,6 +1343,6 @@ void LLChicletGroupIconCtrl::setValue(const LLSD& value )
//////////////////////////////////////////////////////////////////////////
LLChicletSpeakerCtrl::LLChicletSpeakerCtrl(const Params&p)
: LLIconCtrl(p)
: LLOutputMonitorCtrl(p)
{
}

View File

@ -147,13 +147,13 @@ protected:
};
/*
* Class for displaying status of Voice Chat
* Class for displaying of speaker's voice indicator
*/
class LLChicletSpeakerCtrl : public LLIconCtrl
class LLChicletSpeakerCtrl : public LLOutputMonitorCtrl
{
public:
struct Params : public LLInitParam::Block<Params, LLIconCtrl::Params>
struct Params : public LLInitParam::Block<Params, LLOutputMonitorCtrl::Params>
{
Params(){};
};
@ -266,8 +266,6 @@ private:
* Base class for Instant Message chiclets.
* IMChiclet displays icon, number of unread messages(optional)
* and voice chat status(optional).
* Every chiclet should override LLUICtrl::getRequiredRect and return
* desired width.
*/
class LLIMChiclet : public LLChiclet
{
@ -306,15 +304,25 @@ public:
virtual LLUUID getOtherParticipantId() { return mOtherParticipantId; }
/*
* Shows/hides voice chat status control.
* Init Speaker Control with speaker's ID
*/
virtual void setShowSpeaker(bool show) { mShowSpeaker = show; }
virtual void initSpeakerControl();
/*
* set status (Shows/Hide) for voice control.
*/
virtual void setShowSpeaker(bool show);
/*
* Returns voice chat status control visibility.
*/
virtual bool getShowSpeaker() {return mShowSpeaker;};
/*
* Shows/Hides for voice control for a chiclet.
*/
virtual void toggleSpeakerControl();
/*
* Shows/hides overlay icon concerning new unread messages.
*/
@ -325,10 +333,7 @@ public:
*/
virtual bool getShowNewMessagesIcon();
/*
* Draws border around chiclet.
*/
/*virtual*/ void draw();
virtual void draw();
/**
* Determine whether given ID refers to a group or an IM chat session.
@ -363,6 +368,8 @@ protected:
LLIconCtrl* mNewMessagesIcon;
LLChicletNotificationCounterCtrl* mCounterCtrl;
LLChicletSpeakerCtrl* mSpeakerCtrl;
/** the id of another participant, either an avatar id or a group id*/
LLUUID mOtherParticipantId;
@ -410,25 +417,22 @@ public:
/* virtual */ void setOtherParticipantId(const LLUUID& other_participant_id);
/*virtual*/ void setShowSpeaker(bool show);
/*
* Sets number of unread messages. Will update chiclet's width if number text
* exceeds size of counter and notify it's parent about size change.
*/
/*virtual*/ void setCounter(S32);
/*
* Init Speaker Control with speaker's ID
*/
/*virtual*/ void initSpeakerControl();
/*
* Returns number of unread messages.
*/
/*virtual*/ S32 getCounter() { return mCounterCtrl->getCounter(); }
/*
* Returns rect, required to display chiclet.
* Width is the only valid value.
*/
/*virtual*/ LLRect getRequiredRect();
protected:
LLIMP2PChiclet(const Params& p);
friend class LLUICtrlFactory;
@ -457,7 +461,6 @@ protected:
private:
LLChicletAvatarIconCtrl* mChicletIconCtrl;
LLChicletSpeakerCtrl* mSpeakerCtrl;
LLMenuGL* mPopupMenu;
};
@ -494,17 +497,21 @@ public:
*/
/*virtual*/ void setCounter(S32);
/*
* Keep Speaker Control with actual speaker's ID
*/
/*virtual*/ void draw();
/*
* Init Speaker Control with speaker's ID
*/
/*virtual*/ void initSpeakerControl();
/*
* Returns number of unread messages.
*/
/*virtual*/ S32 getCounter() { return mCounterCtrl->getCounter(); }
/*
* Returns rect, required to display chiclet.
* Width is the only valid value.
*/
/*virtual*/ LLRect getRequiredRect();
protected:
LLAdHocChiclet(const Params& p);
friend class LLUICtrlFactory;
@ -514,10 +521,14 @@ protected:
*/
virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
/*
* Finds a current speaker and resets the SpeakerControl with speaker's ID
*/
/*virtual*/ void switchToCurrentSpeaker();
private:
LLChicletAvatarIconCtrl* mChicletIconCtrl;
LLChicletSpeakerCtrl* mSpeakerCtrl;
LLMenuGL* mPopupMenu;
};
@ -547,37 +558,44 @@ public:
*/
/*virtual*/ void setSessionId(const LLUUID& session_id);
/*
* Keep Speaker Control with actual speaker's ID
*/
/*virtual*/ void draw();
/**
* Callback for LLGroupMgrObserver, we get this when group data is available or changed.
* Sets group icon.
*/
/*virtual*/ void changed(LLGroupChange gc);
/*virtual*/ void setShowSpeaker(bool show);
/*
* Sets number of unread messages. Will update chiclet's width if number text
* exceeds size of counter and notify it's parent about size change.
*/
/*virtual*/ void setCounter(S32);
/*
* Init Speaker Control with speaker's ID
*/
/*virtual*/ void initSpeakerControl();
/*
* Returns number of unread messages.
*/
/*virtual*/ S32 getCounter() { return mCounterCtrl->getCounter(); }
/*
* Returns rect, required to display chiclet.
* Width is the only valid value.
*/
/*virtual*/ LLRect getRequiredRect();
~LLIMGroupChiclet();
protected:
LLIMGroupChiclet(const Params& p);
friend class LLUICtrlFactory;
/*
* Finds a current speaker and resets the SpeakerControl with speaker's ID
*/
/*virtual*/ void switchToCurrentSpeaker();
/*
* Creates chiclet popup menu. Will create P2P or Group IM Chat menu
* based on other participant's id.
@ -597,7 +615,6 @@ protected:
private:
LLChicletGroupIconCtrl* mChicletIconCtrl;
LLChicletSpeakerCtrl* mSpeakerCtrl;
LLMenuGL* mPopupMenu;
};
@ -660,9 +677,6 @@ public:
Optional<S32> chiclet_padding,
scrolling_offset;
Optional<LLButton::Params> left_scroll_button,
right_scroll_button;
Optional<S32> min_width;
Params();
@ -735,6 +749,11 @@ public:
/*virtual*/ BOOL postBuild();
/*
* Handler for the Voice Client's signal. Finds a corresponding chiclet and toggles its SpeakerControl
*/
void onCurrentVoiceChannelChanged(const LLUUID& session_id);
/*
* Reshapes controls and rearranges chiclets if needed.
*/

View File

@ -291,7 +291,7 @@ void LLFloaterPostcard::uploadCallback(const LLUUID& asset_id, void *user_data,
// static
void LLFloaterPostcard::updateUserInfo(const std::string& email)
{
LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("impanel");
LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("postcard");
for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin();
iter != inst_list.end(); ++iter)
{

View File

@ -849,6 +849,7 @@ void LLFloaterUIPreview::displayFloater(BOOL click, S32 ID, bool save)
{
LLUICtrlFactory::getInstance()->buildFloater(*floaterp, path, NULL); // just build it
(*floaterp)->openFloater((*floaterp)->getKey());
(*floaterp)->setCanResize((*floaterp)->isResizable());
}
}

View File

@ -519,7 +519,7 @@ bool LLFriendCardsManager::addFriendCardToInventory(const LLUUID& avatarID)
}
LLUUID friendListFolderID = findFriendAllSubfolderUUIDImpl();
if (shouldBeAdded && !invModel->isCategoryComplete(friendListFolderID))
if (friendListFolderID.notNull() && shouldBeAdded && !invModel->isCategoryComplete(friendListFolderID))
{
mFriendsAllFolderCompleted = false;
shouldBeAdded = false;

View File

@ -181,13 +181,9 @@ void LLGroupList::addNewItem(const LLUUID& id, const std::string& name, const LL
// item->setContextMenu(mContextMenu);
item->childSetVisible("info_btn", false);
item->childSetVisible("profile_btn", false);
item->setGroupIconVisible(mShowIcons);
if (id.isNull())
{
item->childSetVisible("profile_btn", false);
}
addItem(item, id, pos);
// setCommentVisible(false);
@ -254,7 +250,10 @@ void LLGroupListItem::onMouseEnter(S32 x, S32 y, MASK mask)
{
childSetVisible("hovered_icon", true);
if (mGroupID.notNull()) // don't show the info button for the "none" group
{
mInfoBtn->setVisible(true);
childSetVisible("profile_btn", true);
}
LLPanel::onMouseEnter(x, y, mask);
}
@ -263,6 +262,7 @@ void LLGroupListItem::onMouseLeave(S32 x, S32 y, MASK mask)
{
childSetVisible("hovered_icon", false);
mInfoBtn->setVisible(false);
childSetVisible("profile_btn", false);
LLPanel::onMouseLeave(x, y, mask);
}

View File

@ -315,7 +315,7 @@ void LLIMModel::testMessages()
bot2_id.generate(from);
LLUUID bot2_session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, bot2_id);
newSession(bot2_session_id, from, IM_NOTHING_SPECIAL, bot2_id);
addMessage(bot2_session_id, from, bot2_id, "Test Message: Can I haz bear? ");
addMessage(bot2_session_id, from, bot2_id, "Test Message: Hello there, I have a question. Can I bother you for a second? ");
addMessage(bot2_session_id, from, bot2_id, "Test Message: OMGWTFBBQ.");
}
@ -1157,6 +1157,9 @@ void LLIncomingCallDialog::onStartIM(void* user_data)
void LLIncomingCallDialog::processCallResponse(S32 response)
{
if (!gIMMgr)
return;
LLUUID session_id = mPayload["session_id"].asUUID();
EInstantMessage type = (EInstantMessage)mPayload["type"].asInteger();
LLIMMgr::EInvitationType inv_type = (LLIMMgr::EInvitationType)mPayload["inv_type"].asInteger();
@ -1254,6 +1257,9 @@ void LLIncomingCallDialog::processCallResponse(S32 response)
bool inviteUserResponse(const LLSD& notification, const LLSD& response)
{
if (!gIMMgr)
return false;
const LLSD& payload = notification["payload"];
LLUUID session_id = payload["session_id"].asUUID();
EInstantMessage type = (EInstantMessage)payload["type"].asInteger();

View File

@ -284,7 +284,10 @@ void LLInvFVBridge::showProperties()
key["id"] = mUUID;
LLSideTray::getInstance()->showPanel("sidepanel_inventory", key);
// Disable old properties floater; this is replaced by the sidepanel.
/*
LLFloaterReg::showInstance("properties", mUUID);
*/
}
void LLInvFVBridge::removeBatch(LLDynamicArray<LLFolderViewEventListener*>& batch)
@ -2127,6 +2130,7 @@ void LLFolderBridge::openItem()
lldebugs << "LLFolderBridge::openItem()" << llendl;
LLInventoryModel* model = getInventoryModel();
if(!model) return;
if(mUUID.isNull()) return;
bool fetching_inventory = model->fetchDescendentsOf(mUUID);
// Only change folder type if we have the folder contents.
if (!fetching_inventory)
@ -3912,6 +3916,7 @@ void LLObjectBridge::openItem()
key["id"] = mUUID;
LLSideTray::getInstance()->showPanel("sidepanel_inventory", key);
// Disable old properties floater; this is replaced by the sidepanel.
/*
LLFloaterReg::showInstance("properties", mUUID);
*/

View File

@ -81,6 +81,10 @@ BOOL LLInventoryModel::sTimelyFetchPending = FALSE;
LLFrameTimer LLInventoryModel::sFetchTimer;
S16 LLInventoryModel::sBulkFetchCount = 0;
// Increment this if the inventory contents change in a non-backwards-compatible way.
// For viewer 2, the addition of link items makes a pre-viewer-2 cache incorrect.
const S32 LLInventoryModel::sCurrentInvCacheVersion = 2;
// RN: for some reason, using std::queue in the header file confuses the compiler which things it's an xmlrpc_queue
static std::deque<LLUUID> sFetchQueue;
@ -1267,6 +1271,8 @@ void LLInventoryModel::fetchInventoryResponder::error(U32 status, const std::str
bool LLInventoryModel::fetchDescendentsOf(const LLUUID& folder_id)
{
if(folder_id.isNull()) return false;
LLViewerInventoryCategory* cat = getCategory(folder_id);
if(!cat)
{
@ -1823,17 +1829,25 @@ void LLInventoryModel::addCategory(LLViewerInventoryCategory* category)
void LLInventoryModel::addItem(LLViewerInventoryItem* item)
{
//llinfos << "LLInventoryModel::addItem()" << llendl;
// This can happen if assettype enums change. This can be a backwards compatibility issue
// in some viewer prototypes prior to when the AT_LINK enum changed from 23 to 24.
if ((item->getType() == LLAssetType::AT_NONE)
|| LLAssetType::lookup(item->getType()) == LLAssetType::badLookup())
{
llwarns << "Got bad asset type for item ( name: " << item->getName() << " type: " << item->getType() << " inv-type: " << item->getInventoryType() << " ), ignoring." << llendl;
return;
}
if(item)
{
// This condition means that we tried to add a link without the baseobj being in memory.
// The item will show up as a broken link.
if (item->getIsBrokenLink())
{
llwarns << "Add link item without baseobj present ( name: " << item->getName() << " itemID: " << item->getUUID() << " assetID: " << item->getAssetUUID() << " ) parent: " << item->getParentUUID() << llendl;
// llassert_always(FALSE); // DO NOT MERGE THIS IN. This is an AVP debugging line. If this line triggers, it means that you just loaded in a broken link. Unless that happens because you actually deleted a baseobj without deleting the link, it's indicative of a serious problem (likely with your inventory) and should be diagnosed.
llinfos << "Adding broken link ( name: " << item->getName() << " itemID: " << item->getUUID() << " assetID: " << item->getAssetUUID() << " ) parent: " << item->getParentUUID() << llendl;
}
mItemMap[item->getUUID()] = item;
//mInventory[item->getUUID()] = item;
}
}
@ -2101,7 +2115,8 @@ bool LLInventoryModel::loadSkeleton(
llinfos << "Unable to gunzip " << gzip_filename << llendl;
}
}
if(loadFromFile(inventory_filename, categories, items))
bool is_cache_obsolete = false;
if(loadFromFile(inventory_filename, categories, items, is_cache_obsolete))
{
// We were able to find a cache of files. So, use what we
// found to generate a set of categories we should add. We
@ -2175,7 +2190,7 @@ bool LLInventoryModel::loadSkeleton(
// This can happen if the linked object's baseobj is removed from the cache but the linked object is still in the cache.
if (item->getIsBrokenLink())
{
llinfos << "Attempted to cached link item without baseobj present ( itemID: " << item->getUUID() << " assetID: " << item->getAssetUUID() << " ) " << llendl;
llinfos << "Attempted to add cached link item without baseobj present ( name: " << item->getName() << " itemID: " << item->getUUID() << " assetID: " << item->getAssetUUID() << " ). Ignoring and invalidating " << cat->getName() << " . " << llendl;
invalid_categories.insert(cit->second);
continue;
}
@ -2236,6 +2251,12 @@ bool LLInventoryModel::loadSkeleton(
// clean up the gunzipped file.
LLFile::remove(inventory_filename);
}
if(is_cache_obsolete)
{
// If out of date, remove the gzipped file too.
llwarns << "Inv cache out of date, removing" << llendl;
LLFile::remove(gzip_filename);
}
categories.clear(); // will unref and delete entries
}
@ -2634,7 +2655,8 @@ bool LLUUIDAndName::operator>(const LLUUIDAndName& rhs) const
// static
bool LLInventoryModel::loadFromFile(const std::string& filename,
LLInventoryModel::cat_array_t& categories,
LLInventoryModel::item_array_t& items)
LLInventoryModel::item_array_t& items,
bool &is_cache_obsolete)
{
if(filename.empty())
{
@ -2651,11 +2673,32 @@ bool LLInventoryModel::loadFromFile(const std::string& filename,
// *NOTE: This buffer size is hard coded into scanf() below.
char buffer[MAX_STRING]; /*Flawfinder: ignore*/
char keyword[MAX_STRING]; /*Flawfinder: ignore*/
char value[MAX_STRING]; /*Flawfinder: ignore*/
is_cache_obsolete = true; // Obsolete until proven current
while(!feof(file) && fgets(buffer, MAX_STRING, file))
{
sscanf(buffer, " %254s", keyword); /* Flawfinder: ignore */
if(0 == strcmp("inv_category", keyword))
sscanf(buffer, " %126s %126s", keyword, value); /* Flawfinder: ignore */
if(0 == strcmp("inv_cache_version", keyword))
{
S32 version;
int succ = sscanf(value,"%d",&version);
if ((1 == succ) && (version == sCurrentInvCacheVersion))
{
// Cache is up to date
is_cache_obsolete = false;
continue;
}
else
{
// Cache is out of date
break;
}
}
else if(0 == strcmp("inv_category", keyword))
{
if (is_cache_obsolete)
break;
LLPointer<LLViewerInventoryCategory> inv_cat = new LLViewerInventoryCategory(LLUUID::null);
if(inv_cat->importFileLocal(file))
{
@ -2669,6 +2712,9 @@ bool LLInventoryModel::loadFromFile(const std::string& filename,
}
else if(0 == strcmp("inv_item", keyword))
{
if (is_cache_obsolete)
break;
LLPointer<LLViewerInventoryItem> inv_item = new LLViewerInventoryItem;
if( inv_item->importFileLocal(file) )
{
@ -2700,6 +2746,8 @@ bool LLInventoryModel::loadFromFile(const std::string& filename,
}
}
fclose(file);
if (is_cache_obsolete)
return false;
return true;
}
@ -2721,6 +2769,7 @@ bool LLInventoryModel::saveToFile(const std::string& filename,
return false;
}
fprintf(file, "\tinv_cache_version\t%d\n",sCurrentInvCacheVersion);
S32 count = categories.count();
S32 i;
for(i = 0; i < count; ++i)

View File

@ -446,7 +446,8 @@ protected:
// file import/export.
static bool loadFromFile(const std::string& filename,
cat_array_t& categories,
item_array_t& items);
item_array_t& items,
bool& is_cache_obsolete);
static bool saveToFile(const std::string& filename,
const cat_array_t& categories,
const item_array_t& items);
@ -518,6 +519,9 @@ protected:
static F32 sMaxTimeBetweenFetches;
static S16 sBulkFetchCount;
// Expected inventory cache version
const static S32 sCurrentInvCacheVersion;
// This flag is used to handle an invalid inventory state.
bool mIsAgentInvUsable;

View File

@ -371,7 +371,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
// this object was probably moved, check its parent
if ((mask & LLInventoryObserver::STRUCTURE) != LLInventoryObserver::STRUCTURE)
{
llwarns << *id_it << " is in model and in view, but STRUCTURE flag not set" << llendl;
llwarns << *id_it << " is in model and in view, but STRUCTURE flag not set" << " for model (Name :" << model_item->getName() << " )" << llendl;
}
LLFolderViewFolder* new_parent = (LLFolderViewFolder*)mFolders->getItemByID(model_item->getParentUUID());
@ -472,7 +472,7 @@ void LLInventoryPanel::buildNewViews(const LLUUID& id)
if (objectp->getType() <= LLAssetType::AT_NONE ||
objectp->getType() >= LLAssetType::AT_COUNT)
{
lldebugs << "LLInventoryPanel::buildNewViews called with invalid objectp->mType : " <<
llwarns << "LLInventoryPanel::buildNewViews called with invalid objectp->mType : " <<
((S32) objectp->getType()) << " name " << objectp->getName() << " UUID " << objectp->getUUID() << llendl;
return;
}

View File

@ -695,11 +695,6 @@ LLWString LLNearbyChatBar::stripChannelNumber(const LLWString &mesg, S32* channe
}
}
void LLNearbyChatBar::setPTTState(bool state)
{
mSpeakBtn->setSpeakBtnToggleState(state);
}
void send_chat_from_viewer(const std::string& utf8_out_text, EChatType type, S32 channel)
{
LLMessageSystem* msg = gMessageSystem;

View File

@ -96,7 +96,6 @@ public:
std::string getCurrentChat();
virtual BOOL handleKeyHere( KEY key, MASK mask );
void setPTTState(bool state);
static void startChat(const char* line);
static void stopChat();

View File

@ -255,7 +255,7 @@ void LLPanelAvatarNotes::onTeleportButtonClick()
void LLPanelAvatarNotes::onCallButtonClick()
{
//*TODO not implemented.
LLAvatarActions::startCall(getAvatarId());
}
void LLPanelAvatarNotes::onShareButtonClick()
@ -544,7 +544,7 @@ void LLPanelAvatarProfile::onTeleportButtonClick()
void LLPanelAvatarProfile::onCallButtonClick()
{
//*TODO not implemented
LLAvatarActions::startCall(getAvatarId());
}
void LLPanelAvatarProfile::onShareButtonClick()

View File

@ -86,10 +86,8 @@ void LLPanelChatControlPanel::draw()
bool session_initialized = session->mSessionInitialized;
bool callback_enabled = session->mCallBackEnabled;
LLViewerRegion* region = gAgent.getRegion();
BOOL enable_connect = (region && region->getCapability("ChatSessionRequest") != "")
&& session_initialized
BOOL enable_connect = session_initialized
&& voice_enabled
&& callback_enabled;
childSetEnabled("call_btn", enable_connect);
@ -190,7 +188,8 @@ void LLPanelIMControlPanel::nameUpdatedCallback(const LLUUID& id, const std::str
}
}
LLPanelGroupControlPanel::LLPanelGroupControlPanel(const LLUUID& session_id)
LLPanelGroupControlPanel::LLPanelGroupControlPanel(const LLUUID& session_id):
mParticipantList(NULL)
{
mSpeakerManager = LLIMModel::getInstance()->getSpeakerManager(session_id);
}
@ -199,9 +198,6 @@ BOOL LLPanelGroupControlPanel::postBuild()
{
childSetAction("group_info_btn", boost::bind(&LLPanelGroupControlPanel::onGroupInfoButtonClicked, this));
mAvatarList = getChild<LLAvatarList>("speakers_list");
mParticipantList = new LLParticipantList(mSpeakerManager, mAvatarList);
return LLPanelChatControlPanel::postBuild();
}
@ -214,6 +210,8 @@ LLPanelGroupControlPanel::~LLPanelGroupControlPanel()
// virtual
void LLPanelGroupControlPanel::draw()
{
//Remove event does not raised until speakerp->mActivityTimer.hasExpired() is false, see LLSpeakerManager::update()
//so we need update it to raise needed event
mSpeakerManager->update(true);
LLPanelChatControlPanel::draw();
}
@ -241,7 +239,7 @@ void LLPanelGroupControlPanel::onSortMenuItemClicked(const LLSD& userdata)
void LLPanelGroupControlPanel::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state)
{
LLPanelChatControlPanel::onVoiceChannelStateChanged(old_state, new_state);
mAvatarList->setSpeakingIndicatorsVisible(new_state >= LLVoiceChannel::STATE_CALL_STARTED);
mParticipantList->setSpeakingIndicatorsVisible(new_state >= LLVoiceChannel::STATE_CALL_STARTED);
}
void LLPanelGroupControlPanel::setSessionId(const LLUUID& session_id)
@ -249,6 +247,9 @@ void LLPanelGroupControlPanel::setSessionId(const LLUUID& session_id)
LLPanelChatControlPanel::setSessionId(session_id);
mGroupID = LLIMModel::getInstance()->getOtherParticipantID(session_id);
if(!mParticipantList)
mParticipantList = new LLParticipantList(mSpeakerManager, getChild<LLAvatarList>("speakers_list"));
}
@ -258,9 +259,7 @@ LLPanelAdHocControlPanel::LLPanelAdHocControlPanel(const LLUUID& session_id):LLP
BOOL LLPanelAdHocControlPanel::postBuild()
{
mAvatarList = getChild<LLAvatarList>("speakers_list");
mParticipantList = new LLParticipantList(mSpeakerManager, mAvatarList);
//We don't need LLPanelGroupControlPanel::postBuild() to be executed as there is no group_info_btn at AdHoc chat
return LLPanelChatControlPanel::postBuild();
}

View File

@ -100,7 +100,7 @@ public:
protected:
LLUUID mGroupID;
LLSpeakerMgr* mSpeakerManager;
LLAvatarList* mAvatarList;
LLParticipantList* mParticipantList;
private:

View File

@ -165,7 +165,9 @@ void LLTaskInvFVBridge::showProperties()
key["object"] = mPanel->getTaskUUID();
key["id"] = mUUID;
LLSideTray::getInstance()->showPanel("sidepanel_inventory", key);
// Disable old properties floater; this is replaced by the sidepanel.
/*
LLFloaterProperties* floater = LLFloaterReg::showTypedInstance<LLFloaterProperties>("properties", mUUID);
if (floater)

View File

@ -508,6 +508,8 @@ BOOL LLPanelPeople::postBuild()
mNearbyList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
mRecentList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
mAllFriendList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
mOnlineFriendList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
setSortOrder(mRecentList, (ESortOrder)gSavedSettings.getU32("RecentPeopleSortOrder"), false);
setSortOrder(mAllFriendList, (ESortOrder)gSavedSettings.getU32("FriendsSortOrder"), false);
@ -672,14 +674,9 @@ void LLPanelPeople::updateRecentList()
void LLPanelPeople::buttonSetVisible(std::string btn_name, BOOL visible)
{
// Currently all bottom buttons are wrapped with layout panels.
// Hiding a button has no effect: the panel still occupies its space.
// So we have to hide the whole panel (along with its button)
// to free some space up.
LLButton* btn = getChild<LLView>("button_bar")->getChild<LLButton>(btn_name);
LLPanel* btn_parent = dynamic_cast<LLPanel*>(btn->getParent());
if (btn_parent)
btn_parent->setVisible(visible);
// To make sure we're referencing the right widget (a child of the button bar).
LLButton* button = getChild<LLView>("button_bar")->getChild<LLButton>(btn_name);
button->setVisible(visible);
}
void LLPanelPeople::buttonSetEnabled(const std::string& btn_name, bool enabled)
@ -696,6 +693,12 @@ void LLPanelPeople::buttonSetAction(const std::string& btn_name, const commit_si
button->setClickedCallback(cb);
}
bool LLPanelPeople::isFriendOnline(const LLUUID& id)
{
LLAvatarList::uuid_vector_t ids = mOnlineFriendList->getIDs();
return std::find(ids.begin(), ids.end(), id) != ids.end();
}
void LLPanelPeople::updateButtons()
{
std::string cur_tab = getActiveTabName();
@ -708,14 +711,16 @@ void LLPanelPeople::updateButtons()
std::vector<LLUUID> selected_uuids;
getCurrentItemIDs(selected_uuids);
bool item_selected = (selected_uuids.size() == 1);
bool multiple_selected = (selected_uuids.size() >= 1);
buttonSetVisible("group_info_btn", group_tab_active);
buttonSetVisible("chat_btn", group_tab_active);
buttonSetVisible("add_friend_btn", nearby_tab_active || recent_tab_active);
buttonSetVisible("view_profile_btn", !group_tab_active);
buttonSetVisible("im_btn", !group_tab_active);
buttonSetVisible("call_btn", !group_tab_active);
buttonSetVisible("teleport_btn", friends_tab_active);
buttonSetVisible("share_btn", !recent_tab_active && false); // not implemented yet
buttonSetVisible("share_btn", nearby_tab_active || friends_tab_active);
if (group_tab_active)
{
@ -746,10 +751,10 @@ void LLPanelPeople::updateButtons()
childSetEnabled("add_friend_btn", !is_friend);
}
buttonSetEnabled("teleport_btn", friends_tab_active && item_selected);
buttonSetEnabled("teleport_btn", friends_tab_active && item_selected && isFriendOnline(selected_uuids.front()));
buttonSetEnabled("view_profile_btn", item_selected);
buttonSetEnabled("im_btn", (selected_uuids.size() >= 1)); // allow starting the friends conference for multiple selection
buttonSetEnabled("call_btn", item_selected && false); // not implemented yet
buttonSetEnabled("im_btn", multiple_selected); // allow starting the friends conference for multiple selection
buttonSetEnabled("call_btn", item_selected);
buttonSetEnabled("share_btn", item_selected && false); // not implemented yet
bool none_group_selected = item_selected && selected_id.isNull();
@ -1181,7 +1186,18 @@ bool LLPanelPeople::onRecentViewSortMenuItemCheck(const LLSD& userdata)
void LLPanelPeople::onCallButtonClicked()
{
// *TODO: not implemented yet
std::vector<LLUUID> selected_uuids;
getCurrentItemIDs(selected_uuids);
if (selected_uuids.size() == 1)
{
// initiate a P2P voice chat with the selected user
LLAvatarActions::startCall(getCurrentItemID());
}
else if (selected_uuids.size() > 1)
{
// *NOTE: ad-hoc voice chat not implemented yet
}
}
void LLPanelPeople::onTeleportButtonClicked()

View File

@ -71,6 +71,8 @@ private:
void updateNearbyList();
void updateRecentList();
bool isFriendOnline(const LLUUID& id);
void updateButtons();
std::string getActiveTabName() const;
LLUUID getCurrentItemID() const;

View File

@ -41,7 +41,6 @@
#include "llsdutil_math.h"
#include "lliconctrl.h"
#include "llscrollcontainer.h"
#include "lltextbox.h"
#include "llagent.h"
@ -58,8 +57,7 @@ LLPanelPlaceInfo::LLPanelPlaceInfo()
: LLPanel(),
mParcelID(),
mRequestedID(),
mPosRegion(),
mMinHeight(0)
mPosRegion()
{}
//virtual
@ -85,10 +83,6 @@ BOOL LLPanelPlaceInfo::postBuild()
mMaturityRatingIcon = getChild<LLIconCtrl>("maturity_icon");
mMaturityRatingText = getChild<LLTextBox>("maturity_value");
LLScrollContainer* scroll_container = getChild<LLScrollContainer>("place_scroll");
scroll_container->setBorderVisible(FALSE);
mMinHeight = scroll_container->getScrolledViewRect().getHeight();
return TRUE;
}

View File

@ -110,7 +110,6 @@ protected:
LLUUID mRequestedID;
LLVector3 mPosRegion;
std::string mCurrentTitle;
S32 mMinHeight;
INFO_TYPE mInfoType;
LLTextBox* mTitle;

View File

@ -36,10 +36,12 @@
#include "lltrans.h"
#include "llavataractions.h"
#include "llagent.h"
#include "llimview.h"
#include "llparticipantlist.h"
#include "llavatarlist.h"
#include "llspeakers.h"
#include "llviewermenu.h"
//LLParticipantList retrieves add, clear and remove events and updates view accordingly
#if LL_MSVC
@ -64,6 +66,9 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av
mAvatarList->setDoubleClickCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this, mAvatarList));
mAvatarList->setRefreshCompleteCallback(boost::bind(&LLParticipantList::onAvatarListRefreshed, this, _1, _2));
mParticipantListMenu = new LLParticipantListMenu(*this);
mAvatarList->setContextMenu(mParticipantListMenu);
//Lets fill avatarList with existing speakers
LLAvatarList::uuid_vector_t& group_members = mAvatarList->getIDs();
@ -83,8 +88,15 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av
LLParticipantList::~LLParticipantList()
{
delete mParticipantListMenu;
mParticipantListMenu = NULL;
}
void LLParticipantList::setSpeakingIndicatorsVisible(BOOL visible)
{
mAvatarList->setSpeakingIndicatorsVisible(visible);
};
void LLParticipantList::onAvatarListDoubleClicked(LLAvatarList* list)
{
LLUUID clicked_id = list->getSelectedUUID();
@ -265,3 +277,139 @@ bool LLParticipantList::SpeakerModeratorUpdateListener::handleEvent(LLPointer<LL
{
return mParent.onModeratorUpdateEvent(event, userdata);
}
LLContextMenu* LLParticipantList::LLParticipantListMenu::createMenu()
{
// set up the callbacks for all of the avatar menu items
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;
registrar.add("ParticipantList.ToggleAllowTextChat", boost::bind(&LLParticipantList::LLParticipantListMenu::toggleAllowTextChat, this, _2));
registrar.add("ParticipantList.ToggleMuteText", boost::bind(&LLParticipantList::LLParticipantListMenu::toggleMuteText, this, _2));
enable_registrar.add("ParticipantList.EnableItem", boost::bind(&LLParticipantList::LLParticipantListMenu::enableContextMenuItem, this, _2));
enable_registrar.add("ParticipantList.CheckItem", boost::bind(&LLParticipantList::LLParticipantListMenu::checkContextMenuItem, this, _2));
// create the context menu from the XUI
return LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>(
"menu_participant_list.xml", LLMenuGL::sMenuContainer, LLViewerMenuHolderGL::child_registry_t::instance());
}
void LLParticipantList::LLParticipantListMenu::toggleAllowTextChat(const LLSD& userdata)
{
const LLUUID speaker_id = mUUIDs.front();
std::string url = gAgent.getRegion()->getCapability("ChatSessionRequest");
LLSD data;
data["method"] = "mute update";
data["session-id"] = mParent.mSpeakerMgr->getSessionID();
data["params"] = LLSD::emptyMap();
data["params"]["agent_id"] = speaker_id;
data["params"]["mute_info"] = LLSD::emptyMap();
//current value represents ability to type, so invert
data["params"]["mute_info"]["text"] = !mParent.mSpeakerMgr->findSpeaker(speaker_id)->mModeratorMutedText;
class MuteTextResponder : public LLHTTPClient::Responder
{
public:
MuteTextResponder(const LLUUID& session_id)
{
mSessionID = session_id;
}
virtual void error(U32 status, const std::string& reason)
{
llwarns << status << ": " << reason << llendl;
if ( gIMMgr )
{
//403 == you're not a mod
//should be disabled if you're not a moderator
if ( 403 == status )
{
gIMMgr->showSessionEventError(
"mute",
"not_a_moderator",
mSessionID);
}
else
{
gIMMgr->showSessionEventError(
"mute",
"generic",
mSessionID);
}
}
}
private:
LLUUID mSessionID;
};
LLHTTPClient::post(
url,
data,
new MuteTextResponder(mParent.mSpeakerMgr->getSessionID()));
}
void LLParticipantList::LLParticipantListMenu::toggleMuteText(const LLSD& userdata)
{
const LLUUID speaker_id = mUUIDs.front();
BOOL is_muted = LLMuteList::getInstance()->isMuted(speaker_id, LLMute::flagTextChat);
std::string name;
//fill in name using voice client's copy of name cache
LLPointer<LLSpeaker> speakerp = mParent.mSpeakerMgr->findSpeaker(speaker_id);
if (speakerp.isNull())
{
return;
}
name = speakerp->mDisplayName;
LLMute mute(speaker_id, name, speakerp->mType == LLSpeaker::SPEAKER_AGENT ? LLMute::AGENT : LLMute::OBJECT);
if (!is_muted)
{
LLMuteList::getInstance()->add(mute, LLMute::flagTextChat);
}
else
{
LLMuteList::getInstance()->remove(mute, LLMute::flagTextChat);
}
}
bool LLParticipantList::LLParticipantListMenu::enableContextMenuItem(const LLSD& userdata)
{
std::string item = userdata.asString();
if (item == "can_mute_text")
{
return mUUIDs.front() != gAgentID;
}
else
if (item == "can_allow_text_chat")
{
LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(mParent.mSpeakerMgr->getSessionID());
return im_session->mType == IM_SESSION_GROUP_START && mParent.mSpeakerMgr->findSpeaker(gAgentID)->mIsModerator;
}
return true;
}
bool LLParticipantList::LLParticipantListMenu::checkContextMenuItem(const LLSD& userdata)
{
std::string item = userdata.asString();
const LLUUID& id = mUUIDs.front();
if (item == "is_muted")
return LLMuteList::getInstance()->isMuted(id, LLMute::flagTextChat);
else
if (item == "is_allowed_text_chat")
{
LLPointer<LLSpeaker> selected_speakerp = mParent.mSpeakerMgr->findSpeaker(id);
if (selected_speakerp.notNull())
{
return !selected_speakerp->mModeratorMutedText;
}
}
return false;
}

View File

@ -32,6 +32,8 @@
#include "llviewerprecompiledheaders.h"
#include "llevent.h"
#include "llpanelpeoplemenus.h"
#include "llimview.h"
class LLSpeakerMgr;
class LLAvatarList;
@ -43,6 +45,7 @@ class LLParticipantList
public:
LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* avatar_list);
~LLParticipantList();
void setSpeakingIndicatorsVisible(BOOL visible);
typedef enum e_participant_sort_oder {
E_SORT_BY_NAME = 0,
@ -105,6 +108,25 @@ class LLParticipantList
SpeakerModeratorUpdateListener(LLParticipantList& parent) : BaseSpeakerListner(parent) {}
/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);
};
/**
* Menu used in the participant list.
*/
class LLParticipantListMenu : public LLPanelPeopleMenus::ContextMenu
{
public:
LLParticipantListMenu(LLParticipantList& parent):mParent(parent){};
/*virtual*/ LLContextMenu* createMenu();
protected:
LLParticipantList& mParent;
private:
bool enableContextMenuItem(const LLSD& userdata);
bool checkContextMenuItem(const LLSD& userdata);
void toggleAllowTextChat(const LLSD& userdata);
void toggleMuteText(const LLSD& userdata);
};
private:
void onAvatarListDoubleClicked(LLAvatarList* list);
@ -121,5 +143,7 @@ class LLParticipantList
LLPointer<SpeakerClearListener> mSpeakerClearListener;
LLPointer<SpeakerModeratorUpdateListener> mSpeakerModeratorListener;
LLParticipantListMenu* mParticipantListMenu;
EParticipantSortOrder mSortOrder;
};

View File

@ -33,6 +33,7 @@
#include "llviewerprecompiledheaders.h"
#include "llrecentpeople.h"
#include "llgroupmgr.h"
#include "llagent.h"
@ -43,12 +44,18 @@ bool LLRecentPeople::add(const LLUUID& id)
if (id == gAgent.getID())
return false;
LLDate date_added = LLDate::now();
bool is_not_group_id = LLGroupMgr::getInstance()->getGroupData(id) == NULL;
//[] instead of insert to replace existing id->date with new date value
mPeople[id] = date_added;
mChangedSignal();
return true;
if (is_not_group_id)
{
LLDate date_added = LLDate::now();
//[] instead of insert to replace existing id->date with new date value
mPeople[id] = date_added;
mChangedSignal();
}
return is_not_group_id;
}
bool LLRecentPeople::contains(const LLUUID& id) const

View File

@ -62,6 +62,14 @@ LLSpeakButton::Params::Params()
// See widgets/talk_button.xml
}
void LLSpeakButton::draw()
{
// gVoiceClient is the authoritative global source of info regarding our open-mic state, we merely reflect that state.
bool openmic = gVoiceClient->getUserPTTState();
mSpeakBtn->setToggleState(openmic);
LLUICtrl::draw();
}
LLSpeakButton::LLSpeakButton(const Params& p)
: LLUICtrl(p)
, mPrivateCallPanel(NULL)
@ -84,7 +92,8 @@ LLSpeakButton::LLSpeakButton(const Params& p)
addChild(mSpeakBtn);
LLTransientFloaterMgr::getInstance()->addControlView(mSpeakBtn);
mSpeakBtn->setClickedCallback(boost::bind(&LLSpeakButton::onClick_SpeakBtn, this));
mSpeakBtn->setMouseDownCallback(boost::bind(&LLSpeakButton::onMouseDown_SpeakBtn, this));
mSpeakBtn->setMouseUpCallback(boost::bind(&LLSpeakButton::onMouseUp_SpeakBtn, this));
mSpeakBtn->setToggleState(FALSE);
LLButton::Params show_params = p.show_button;
@ -122,15 +131,15 @@ LLSpeakButton::~LLSpeakButton()
{
}
void LLSpeakButton::setSpeakBtnToggleState(bool state)
void LLSpeakButton::onMouseDown_SpeakBtn()
{
mSpeakBtn->setToggleState(state);
bool down = true;
gVoiceClient->inputUserControlState(down); // this method knows/care about whether this translates into a toggle-to-talk or down-to-talk
}
void LLSpeakButton::onClick_SpeakBtn()
void LLSpeakButton::onMouseUp_SpeakBtn()
{
bool speaking = mSpeakBtn->getToggleState();
gVoiceClient->setUserPTTState(speaking);
bool down = false;
gVoiceClient->inputUserControlState(down);
}
void LLSpeakButton::onClick_ShowBtn()

View File

@ -45,7 +45,6 @@ class LLOutputMonitorCtrl;
* clicked.
*/
class LLSpeakButton : public LLUICtrl
{
public:
@ -61,14 +60,14 @@ public:
};
/*virtual*/ ~LLSpeakButton();
void setSpeakBtnToggleState(bool state);
/*virtual*/ void draw();
protected:
friend class LLUICtrlFactory;
LLSpeakButton(const Params& p);
void onClick_SpeakBtn();
void onMouseDown_SpeakBtn();
void onMouseUp_SpeakBtn();
void onClick_ShowBtn();

View File

@ -183,7 +183,6 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL set_by_user)
}
mAvatar->invalidateComposite(mTexLayer->getTexLayerSet(), set_by_user);
mTexLayer->invalidateMorphMasks();
mAvatar->updateMeshTextures();
}
}
}
@ -479,7 +478,6 @@ void LLTexLayerParamColor::setWeight(F32 weight, BOOL set_by_user)
if (mTexLayer)
{
mAvatar->invalidateComposite(mTexLayer->getTexLayerSet(), set_by_user);
mAvatar->updateMeshTextures();
}
}

View File

@ -261,9 +261,18 @@ viewer_media_t LLViewerMedia::updateMediaImpl(LLMediaEntry* media_entry, const s
media_impl->mMediaSource->setSize(media_entry->getWidthPixels(), media_entry->getHeightPixels());
}
if((was_loaded || (media_entry->getAutoPlay() && gSavedSettings.getBOOL("AutoPlayMedia"))) && !update_from_self)
if(media_entry->getCurrentURL().empty())
{
if(!media_entry->getCurrentURL().empty())
// The current media URL is now empty. Unload the media source.
media_impl->unload();
}
else
{
// The current media URL is not empty.
// If (the media was already loaded OR the media was set to autoplay) AND this update didn't come from this agent,
// do a navigate.
if((was_loaded || (media_entry->getAutoPlay() && gSavedSettings.getBOOL("AutoPlayMedia"))) && !update_from_self)
{
needs_navigate = (media_entry->getCurrentURL() != previous_url);
}
@ -450,12 +459,12 @@ LLViewerMedia::impl_list &LLViewerMedia::getPriorityList()
// This is the predicate function used to sort sViewerMediaImplList by priority.
bool LLViewerMedia::priorityComparitor(const LLViewerMediaImpl* i1, const LLViewerMediaImpl* i2)
{
if(i1->isForcedUnloaded())
if(i1->isForcedUnloaded() && !i2->isForcedUnloaded())
{
// Muted or failed items always go to the end of the list, period.
return false;
}
else if(i2->isForcedUnloaded())
else if(i2->isForcedUnloaded() && !i1->isForcedUnloaded())
{
// Muted or failed items always go to the end of the list, period.
return true;
@ -480,6 +489,16 @@ bool LLViewerMedia::priorityComparitor(const LLViewerMediaImpl* i1, const LLView
// i2 is a UI element, i1 is not. This makes i2 "less than" i1, so it sorts earlier in our list.
return false;
}
else if(i1->isParcelMedia())
{
// The parcel media impl sorts above all other inworld media, unless one has focus.
return true;
}
else if(i2->isParcelMedia())
{
// The parcel media impl sorts above all other inworld media, unless one has focus.
return false;
}
else
{
// The object with the larger interest value should be earlier in the list, so we reverse the sense of the comparison here.
@ -677,6 +696,7 @@ LLViewerMediaImpl::LLViewerMediaImpl( const LLUUID& texture_id,
mPreviousMediaState(MEDIA_NONE),
mPreviousMediaTime(0.0f),
mIsDisabled(false),
mIsParcelMedia(false),
mProximity(-1),
mIsUpdated(false)
{
@ -1260,6 +1280,17 @@ void LLViewerMediaImpl::navigateHome()
navigateTo(mHomeURL, "", true, false);
}
//////////////////////////////////////////////////////////////////////////////////////////
void LLViewerMediaImpl::unload()
{
// Unload the media impl and clear its state.
destroyMediaSource();
resetPreviousMediaState();
mMediaURL.clear();
mMimeType.clear();
mCurrentMediaURL.clear();
}
//////////////////////////////////////////////////////////////////////////////////////////
void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type, bool server_request)
{

View File

@ -165,6 +165,7 @@ public:
void navigateForward();
void navigateReload();
void navigateHome();
void unload();
void navigateTo(const std::string& url, const std::string& mime_type = "", bool rediscover_type = false, bool server_request = false);
void navigateInternal();
void navigateStop();
@ -190,14 +191,17 @@ public:
bool isMediaPlaying();
bool isMediaPaused();
bool hasMedia();
bool isMediaFailed() { return mMediaSourceFailed; };
bool isMediaFailed() const { return mMediaSourceFailed; };
void resetPreviousMediaState();
void setDisabled(bool disabled) { mIsDisabled = disabled; };
bool isMediaDisabled() { return mIsDisabled; };
bool isMediaDisabled() const { return mIsDisabled; };
// returns true if this instance should not be loaded (disabled, muted object, crashed, etc.)
bool isForcedUnloaded() const;
void setIsParcelMedia(bool is_parcel_media) { mIsParcelMedia = is_parcel_media; };
bool isParcelMedia() const { return mIsParcelMedia; };
ECursorType getLastSetCursor() { return mLastSetCursor; };
@ -325,6 +329,7 @@ public:
int mPreviousMediaState;
F64 mPreviousMediaTime;
bool mIsDisabled;
bool mIsParcelMedia;
S32 mProximity;
private:

View File

@ -2634,6 +2634,8 @@ void handle_object_edit()
void handle_object_inspect()
{
// Disable sidepanel inspector
/*
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
LLViewerObject* selected_objectp = selection->getFirstRootObject();
if (selected_objectp)
@ -2642,6 +2644,7 @@ void handle_object_inspect()
key["task"] = "task";
LLSideTray::getInstance()->showPanel("sidepanel_inventory", key);
}
*/
LLFloaterReg::showInstance("inspect", LLSD());
}
@ -6249,25 +6252,20 @@ class LLAvatarSendIM : public view_listener_t
LLVOAvatar* avatar = find_avatar_from_object( LLSelectMgr::getInstance()->getSelection()->getPrimaryObject() );
if(avatar)
{
std::string name("IM");
LLNameValue *first = avatar->getNVPair("FirstName");
LLNameValue *last = avatar->getNVPair("LastName");
if (first && last)
{
name.assign( first->getString() );
name.append(" ");
name.append( last->getString() );
}
LLAvatarActions::startIM(avatar->getID());
}
return true;
}
};
//EInstantMessage type = have_agent_callingcard(gLastHitObjectID)
// ? IM_SESSION_ADD : IM_SESSION_CARDLESS_START;
LLUUID session_id = gIMMgr->addSession(name,
IM_NOTHING_SPECIAL,
avatar->getID());
if (session_id != LLUUID::null)
{
LLIMFloater::show(session_id);
}
class LLAvatarCall : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
LLVOAvatar* avatar = find_avatar_from_object( LLSelectMgr::getInstance()->getSelection()->getPrimaryObject() );
if(avatar)
{
LLAvatarActions::startCall(avatar->getID());
}
return true;
}
@ -7938,6 +7936,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLAvatarGiveCard(), "Avatar.GiveCard");
commit.add("Avatar.Eject", boost::bind(&handle_avatar_eject, LLSD()));
view_listener_t::addMenu(new LLAvatarSendIM(), "Avatar.SendIM");
view_listener_t::addMenu(new LLAvatarCall(), "Avatar.Call");
view_listener_t::addMenu(new LLAvatarReportAbuse(), "Avatar.ReportAbuse");
view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend");

View File

@ -226,6 +226,7 @@ void LLViewerParcelMedia::play(LLParcel* parcel)
media_height,
media_auto_scale,
media_loop);
sMediaImpl->setIsParcelMedia(true);
sMediaImpl->navigateTo(media_url, mime_type, true);
}
}
@ -240,6 +241,7 @@ void LLViewerParcelMedia::play(LLParcel* parcel)
media_height,
media_auto_scale,
media_loop);
sMediaImpl->setIsParcelMedia(true);
sMediaImpl->navigateTo(media_url, mime_type, true);
}

View File

@ -5377,7 +5377,6 @@ void LLVOAvatar::updateSexDependentLayerSets( BOOL set_by_user )
invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet, set_by_user );
invalidateComposite( mBakedTextureDatas[BAKED_UPPER].mTexLayerSet, set_by_user );
invalidateComposite( mBakedTextureDatas[BAKED_LOWER].mTexLayerSet, set_by_user );
updateMeshTextures();
}
//-----------------------------------------------------------------------------

View File

@ -757,19 +757,7 @@ void LLVOAvatarSelf::setLocalTextureTE(U8 te, LLViewerTexture* image, BOOL set_b
return;
}
LLTexLayerSet* layer_set = getLayerSet((ETextureIndex)te);
if (layer_set)
{
invalidateComposite(layer_set, set_by_user);
}
setTEImage(te, image);
updateMeshTextures();
if (gAgent.cameraCustomizeAvatar())
{
LLVisualParamHint::requestHintUpdates();
}
}
//virtual
@ -1377,6 +1365,7 @@ void LLVOAvatarSelf::invalidateComposite( LLTexLayerSet* layerset, BOOL set_by_u
ETextureIndex baked_te = getBakedTE( layerset );
setTEImage( baked_te, LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT_AVATAR) );
layerset->requestUpload();
updateMeshTextures();
}
}
@ -1386,7 +1375,6 @@ void LLVOAvatarSelf::invalidateAll()
{
invalidateComposite(mBakedTextureDatas[i].mTexLayerSet, TRUE);
}
updateMeshTextures();
}
//-----------------------------------------------------------------------------

View File

@ -46,6 +46,7 @@ LLVoiceChannel::voice_channel_map_t LLVoiceChannel::sVoiceChannelMap;
LLVoiceChannel::voice_channel_map_uri_t LLVoiceChannel::sVoiceChannelURIMap;
LLVoiceChannel* LLVoiceChannel::sCurrentVoiceChannel = NULL;
LLVoiceChannel* LLVoiceChannel::sSuspendedVoiceChannel = NULL;
LLVoiceChannel::channel_changed_signal_t LLVoiceChannel::sCurrentVoiceChannelChangedSignal;
BOOL LLVoiceChannel::sSuspended = FALSE;
@ -320,6 +321,8 @@ void LLVoiceChannel::activate()
{
setState(STATE_CALL_STARTED);
}
sCurrentVoiceChannelChangedSignal(this->mSessionID);
}
void LLVoiceChannel::getChannelInfo()

View File

@ -54,6 +54,13 @@ public:
typedef boost::function<void(const EState& old_state, const EState& new_state)> state_changed_callback_t;
// on current channel changed signal
typedef boost::function<void(const LLUUID& session_id)> channel_changed_callback_t;
typedef boost::signals2::signal<void(const LLUUID& session_id)> channel_changed_signal_t;
static channel_changed_signal_t sCurrentVoiceChannelChangedSignal;
static boost::signals2::connection setCurrentVoiceChannelChangedCallback(channel_changed_callback_t cb) { return sCurrentVoiceChannelChangedSignal.connect(cb); }
LLVoiceChannel(const LLUUID& session_id, const std::string& session_name);
virtual ~LLVoiceChannel();

View File

@ -68,9 +68,6 @@
#include "llfloaterfriends.h" //VIVOX, inorder to refresh communicate panel
#include "llfloaterchat.h" // for LLFloaterChat::addChat()
// for Talk Button's state updating
#include "llnearbychatbar.h"
// for base64 decoding
#include "apr_base64.h"
@ -5791,7 +5788,6 @@ bool LLVoiceClient::getMuteMic() const
void LLVoiceClient::setUserPTTState(bool ptt)
{
mUserPTTState = ptt;
if (LLNearbyChatBar::instanceExists()) LLNearbyChatBar::getInstance()->setPTTState(ptt);
}
bool LLVoiceClient::getUserPTTState()
@ -5802,7 +5798,6 @@ bool LLVoiceClient::getUserPTTState()
void LLVoiceClient::toggleUserPTTState(void)
{
mUserPTTState = !mUserPTTState;
if (LLNearbyChatBar::instanceExists()) LLNearbyChatBar::getInstance()->setPTTState(mUserPTTState);
}
void LLVoiceClient::setVoiceEnabled(bool enabled)
@ -5930,8 +5925,6 @@ void LLVoiceClient::setMicGain(F32 volume)
void LLVoiceClient::keyDown(KEY key, MASK mask)
{
// LL_DEBUGS("Voice") << "key is " << LLKeyboard::stringFromKey(key) << LL_ENDL;
if (gKeyboard->getKeyRepeated(key))
{
// ignore auto-repeat keys
@ -5940,44 +5933,39 @@ void LLVoiceClient::keyDown(KEY key, MASK mask)
if(!mPTTIsMiddleMouse)
{
if(mPTTIsToggle)
{
if(key == mPTTKey)
{
toggleUserPTTState();
}
}
else if(mPTTKey != KEY_NONE)
{
setUserPTTState(gKeyboard->getKeyDown(mPTTKey));
}
bool down = (mPTTKey != KEY_NONE)
&& gKeyboard->getKeyDown(mPTTKey);
inputUserControlState(down);
}
}
void LLVoiceClient::keyUp(KEY key, MASK mask)
{
if(!mPTTIsMiddleMouse)
{
if(!mPTTIsToggle && (mPTTKey != KEY_NONE))
bool down = (mPTTKey != KEY_NONE)
&& gKeyboard->getKeyDown(mPTTKey);
inputUserControlState(down);
}
}
void LLVoiceClient::inputUserControlState(bool down)
{
if(mPTTIsToggle)
{
if(down) // toggle open-mic state on 'down'
{
setUserPTTState(gKeyboard->getKeyDown(mPTTKey));
toggleUserPTTState();
}
}
else // set open-mic state as an absolute
{
setUserPTTState(down);
}
}
void LLVoiceClient::middleMouseState(bool down)
{
if(mPTTIsMiddleMouse)
{
if(mPTTIsToggle)
{
if(down)
{
toggleUserPTTState();
}
}
else
{
setUserPTTState(down);
}
inputUserControlState(down);
}
}

View File

@ -188,6 +188,7 @@ static void updatePosition(void);
void setUserPTTState(bool ptt);
bool getUserPTTState();
void toggleUserPTTState(void);
void inputUserControlState(bool down); // interpret any sort of up-down mic-open control input according to ptt-toggle prefs
void setVoiceEnabled(bool enabled);
static bool voiceEnabled();
void setUsePTT(bool usePTT);
@ -196,7 +197,7 @@ static void updatePosition(void);
void setEarLocation(S32 loc);
void setVoiceVolume(F32 volume);
void setMicGain(F32 volume);
void setUserVolume(const LLUUID& id, F32 volume); // set's volume for specified agent, from 0-1 (where .5 is nominal)
void setUserVolume(const LLUUID& id, F32 volume); // sets volume for specified agent, from 0-1 (where .5 is nominal)
void setLipSyncEnabled(BOOL enabled);
BOOL lipSyncEnabled();

View File

@ -1640,38 +1640,19 @@ bool LLVOVolume::hasMedia() const
LLVector3 LLVOVolume::getApproximateFaceNormal(U8 face_id)
{
LLVector3 result = LLVector3::zero;
LLFace* facep = mDrawable->getFace(face_id);
if(facep)
LLVolume* volume = getVolume();
LLVector3 result;
if (volume && face_id < volume->getNumVolumeFaces())
{
LLStrider<LLVector3> verticesp;
LLStrider<LLVector3> normalsp;
LLStrider<LLVector2> texCoordsp;
LLStrider<U16> indicesp;
S32 index_offset;
index_offset = facep->getGeometry(verticesp,normalsp,texCoordsp, indicesp);
if(index_offset != -1 && (normalsp.get() != NULL))
const LLVolumeFace& face = volume->getVolumeFace(face_id);
for (S32 i = 0; i < (S32)face.mVertices.size(); ++i)
{
U16 count = facep->getGeomCount();
U16 i;
for(i=0; i < count; i++)
{
LLVector3 normal = *normalsp++;
// llinfos << "adding " << normal << llendl;
result += normal;
}
result += face.mVertices[i].mNormal;
}
}
if(!result.isNull())
{
// llinfos << "before conversion: " << result << llendl;
result = volumeDirectionToAgent(result);
result.normalize();
// llinfos << "after conversion: " << result << llendl;
result.normVec();
}
return result;
@ -1752,6 +1733,10 @@ void LLVOVolume::syncMediaData(S32 texture_index, const LLSD &media_data, bool m
addMediaImpl(media_impl, texture_index) ;
}
else
{
removeMediaImpl(texture_index);
}
//llinfos << "AFTER: texture_index = " << texture_index
// << " hasMedia = " << te->hasMedia() << " : "

View File

@ -55,8 +55,6 @@ const BOOL gUseRoam = FALSE;
///////////////////////////////////
#include "randgauss.h"
template<class T> inline T LERP(T a, T b, F32 factor)
{
return a + (b - a) * factor;

View File

@ -674,8 +674,6 @@ void LLWearable::writeToAvatar( BOOL set_by_user, BOOL update_customize_floater
avatar->updateSexDependentLayerSets( set_by_user );
}
avatar->updateMeshTextures();
// if( set_by_user )
// {
// gAgent.sendAgentSetAppearance();
@ -719,7 +717,7 @@ void LLWearable::removeFromAvatar( EWearableType type, BOOL set_by_user )
}
avatar->updateVisualParams();
avatar->updateMeshTextures();
avatar->wearableUpdated(type);
// if( set_by_user )
// {

View File

@ -30,6 +30,8 @@
<texture name="Blank" file_name="Blank.png" preload="false" />
<texture name="BottomTray_BG" file_name="bottomtray/BottomTray_BG.png" preload="false" />
<texture name="BottomTray_Scroll_Right" file_name="navbar/Arrow_Right_Off.png" preload="false" />
<texture name="BottomTray_Scroll_Left" file_name="navbar/Arrow_Left_Off.png" preload="false" />
<texture name="BuyArrow_Off" file_name="navbar/BuyArrow_Off.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />

View File

@ -1,43 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_about" title="ÜBER [APP_NAME]">
<tab_container name="about_tab">
<panel name="credits_panel">
<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, 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: 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
Um im Geschäftsleben erfolreich zu sein, sei kühn, sei schnell, sei anders. --Henry Marchant
</text_editor>
</panel>
<panel name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
APR Copyright (C) 2000-2004 The Apache Software Foundation
cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
GL Copyright (C) 1999-2004 Brian Paul.
Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
ogg/vorbis Copyright (C) 2001, Xiphophorus
OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler.
google-perftools Copyright (c) 2005, Google Inc.
Alle Rechte vorbehalten. Details siehe licenses.txt.
Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) (ITU-T Empf.G.722.1 Anhang C)
</text_editor>
</panel>
</tab_container>
<text name="you_are_at">
Sie befinden sich in [POSITION]
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_about" title="ÜBER [APP_NAME]">
<tab_container name="about_tab">
<panel label="Danksagung" name="credits_panel">
<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, 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: 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
Um im Geschäftsleben erfolreich zu sein, sei kühn, sei schnell, sei anders. --Henry Marchant
</text_editor>
</panel>
<panel label="Lizenzen" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
APR Copyright (C) 2000-2004 The Apache Software Foundation
cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
GL Copyright (C) 1999-2004 Brian Paul.
Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
ogg/vorbis Copyright (C) 2001, Xiphophorus
OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler.
google-perftools Copyright (c) 2005, Google Inc.
Alle Rechte vorbehalten. Details siehe licenses.txt.
Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) (ITU-T Empf.G.722.1 Anhang C)
</text_editor>
</panel>
</tab_container>
</floater>

View File

@ -1,494 +1,475 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="LAND-INFO">
<tab_container name="landtab">
<panel label="Allgemein" name="land_general_panel">
<text name="Name:">
Name:
</text>
<text name="Description:">
Beschreibung:
</text>
<text name="LandType">
Typ:
</text>
<text name="LandTypeText">
Mainland / Homestead
</text>
<text name="ContentRating">
Einstufung:
</text>
<text name="ContentRatingText">
Adult
</text>
<text name="Owner:">
Eigentümer:
</text>
<text name="OwnerText">
Leyla Linden
</text>
<button label="Profil..." label_selected="Profil..." name="Profile..."/>
<text name="Group:">
Gruppe:
</text>
<button label="Einstellen..." label_selected="Einstellen..." name="Set..."/>
<check_box label="Übertragung an Gruppe zulassen" name="check deed" tool_tip="Ein Gruppen-Officer kann dieses Land der Gruppe übertragen. Das Land wird dann über die Landzuteilung der Gruppe verwaltet."/>
<button label="Übertragen..." label_selected="Übertragen..." name="Deed..." tool_tip="Sie können Land nur übertragen, wenn Sie in der ausgewählten Gruppe Officer sind."/>
<check_box label="Eigentümer leistet Beitrag durch Übertragung" name="check contrib" tool_tip="Wenn das Land an die Gruppe übertragen wird, trägt der frühere Eigentümer ausreichend Landnutzungsrechte bei, um es zu halten."/>
<text name="For Sale:">
Zum Verkauf:
</text>
<text name="Not for sale.">
Nicht zu verkaufen.
</text>
<text name="For Sale: Price L$[PRICE].">
Preis: [PRICE] L$ ([PRICE_PER_SQM] L$/qm.).
</text>
<text name="SalePending"/>
<button bottom="-222" label="Land verkaufen..." label_selected="Land verkaufen..." name="Sell Land..."/>
<text name="For sale to">
Zum Verkauf an: [BUYER]
</text>
<text name="Sell with landowners objects in parcel." width="210">
Objekte sind im Verkauf eingeschlossen.
</text>
<text name="Selling with no objects in parcel." width="237">
Objekte sind im Verkauf nicht eingeschlossen.
</text>
<button bottom="-222" label="Landverkauf abbrechen" label_selected="Landverkauf abbrechen" name="Cancel Land Sale"/>
<text name="Claimed:">
Gekauft am:
</text>
<text name="DateClaimText">
Dienstag, 15. Aug. 2006, 13:47:25
</text>
<text name="PriceLabel">
Gebiet:
</text>
<text name="PriceText">
4048 qm.
</text>
<text name="Traffic:">
Traffic:
</text>
<text name="DwellText">
0
</text>
<button label="Land kaufen..." label_selected="Land kaufen..." name="Buy Land..."/>
<button label="Für Gruppe kaufen..." label_selected="Für Gruppe kaufen..." name="Buy For Group..."/>
<button label="Pass kaufen..." label_selected="Pass kaufen..." name="Buy Pass..." tool_tip="Ein Pass gibt Ihnen zeitbegrenzten Zugang zu diesem Land."/>
<button label="Land aufgeben..." label_selected="Land aufgeben..." name="Abandon Land..."/>
<button label="Land in Besitz nehmen..." label_selected="Land in Besitz nehmen..." name="Reclaim Land..."/>
<button label="Linden-Verkauf..." label_selected="Linden-Verkauf..." name="Linden Sale..." tool_tip="Land muss Eigentum und auf Inhalt gesetzt sein und nicht zur Auktion stehen."/>
<panel.string name="new users only">
Nur neue Benutzer
</panel.string>
<panel.string name="anyone">
Jeder
</panel.string>
<panel.string name="area_text">
Gebiet:
</panel.string>
<panel.string name="area_size_text">
[AREA] qm.
</panel.string>
<panel.string name="auction_id_text">
Auktions-ID: [ID]
</panel.string>
<panel.string name="need_tier_to_modify">
Bestätigen Sie den Kauf, um dieses Land zu bearbeiten.
</panel.string>
<panel.string name="group_owned_text">
(In Gruppenbesitz)
</panel.string>
<panel.string name="profile_text">
Profil...
</panel.string>
<panel.string name="info_text">
Info...
</panel.string>
<panel.string name="public_text">
(öffentlich)
</panel.string>
<panel.string name="none_text">
(keiner)
</panel.string>
<panel.string name="sale_pending_text">
(Wird verkauft)
</panel.string>
<panel.string name="no_selection_text">
Keine Parzelle ausgewählt.
Öffnen Sie „Welt“ &gt; „Land-Info“ oder wählen Sie eine andere Parzelle aus, um Informationen darüber anzuzeigen.
</panel.string>
</panel>
<panel label="Vertrag" name="land_covenant_panel">
<text name="estate_section_lbl">
Grundstück:
</text>
<text name="estate_name_lbl">
Name:
</text>
<text name="estate_name_text">
Mainland
</text>
<text name="estate_owner_lbl">
Eigentümer:
</text>
<text name="estate_owner_text">
(keiner)
</text>
<text_editor name="covenant_editor">
Für dieses Grundstück fehlt der Vertrag.
</text_editor>
<text name="covenant_timestamp_text">
Letzte Änderung am Mittwoch, den 31. Dez. 1969, 16:00:00
</text>
<text name="region_section_lbl">
Region:
</text>
<text name="region_name_lbl">
Name:
</text>
<text name="region_name_text">
leyla
</text>
<text name="region_landtype_lbl">
Typ:
</text>
<text name="region_landtype_text">
Mainland / Homestead
</text>
<text name="region_maturity_lbl">
Einstufung:
</text>
<text name="region_maturity_text">
Adult
</text>
<text name="resellable_lbl">
Wiederverkauf:
</text>
<text name="resellable_clause">
Land in dieser Region kann nicht wiederverkauft werden.
</text>
<text name="changeable_lbl">
Unterteilen:
</text>
<text name="changeable_clause">
Land in dieser Region kann nicht zusammengelegt/geteilt
werden.
</text>
<panel.string name="can_resell">
Gekauftes Land in dieser Region kann wiederverkauft werden.
</panel.string>
<panel.string name="can_not_resell">
Gekauftes Land in dieser Region kann nicht wiederverkauft werden.
</panel.string>
<panel.string name="can_change">
Gekauftes Land in dieser Region kann zusammengelegt und
geteilt werden.
</panel.string>
<panel.string name="can_not_change">
Gekauftes Land in dieser Region kann nicht zusammengelegt
und geteilt werden.
</panel.string>
</panel>
<panel label="Objekte" name="land_objects_panel">
<text name="parcel_object_bonus">
Objektbonusfaktor in Region: [BONUS]
</text>
<text name="Simulator primitive usage:">
Primitive in Simulator:
</text>
<text name="objects_available">
[COUNT] von [MAX] ([AVAILABLE] verfügbar)
</text>
<panel.string name="objects_available_text">
[COUNT] von [MAX] ([AVAILABLE] verfügbar)
</panel.string>
<panel.string name="objects_deleted_text">
[COUNT] von [MAX] ([DELETED] werden gelöscht)
</panel.string>
<text name="Primitives parcel supports:" width="200">
Von Parzelle unterstützte Primitiva:
</text>
<text left="204" name="object_contrib_text" width="152">
[COUNT]
</text>
<text name="Primitives on parcel:">
Primitiva auf Parzelle:
</text>
<text left="204" name="total_objects_text" width="48">
[COUNT]
</text>
<text left="14" name="Owned by parcel owner:" width="200">
Im Eigentum des Parzellenbesitzers:
</text>
<text left="204" name="owner_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOwner..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Set to group:">
Der Gruppe zugeordnet:
</text>
<text left="204" name="group_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnGroup..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Owned by others:" width="128">
Im Eigentum anderer:
</text>
<text left="204" name="other_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowOther" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOther..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Selected / sat upon:" width="140">
Ausgewählt/gesessen auf:
</text>
<text left="204" name="selected_objects_text" width="48">
[COUNT]
</text>
<text left="4" name="Autoreturn" width="380">
Objekte anderer Einwohner automatisch zurückgeben (Minuten, 0 für aus):
</text>
<line_editor name="clean other time" right="-10" width="56"/>
<text name="Object Owners:">
Objekteigentümer:
</text>
<button label="Liste aktualisieren" label_selected="Liste aktualisieren" name="Refresh List"/>
<button label="Objekte zurückgeben..." label_selected="Objekte zurückgeben..." name="Return objects..."/>
<name_list name="owner list">
<column label="Typ" name="type"/>
<column label="Name" name="name"/>
<column label="Zählen" name="count"/>
<column label="Aktuellster" name="mostrecent"/>
</name_list>
</panel>
<panel label="Optionen" name="land_options_panel">
<text name="allow_label">
Anderen Einwohnern gestatten:
</text>
<check_box label="Terrain bearbeiten" name="edit land check" tool_tip="Falls aktiviert, kann jeder Ihr Land terraformen. Am besten ist es, wenn Sie diese Option deaktiviert lassen. Sie können Ihr eigenes Land jederzeit bearbeiten."/>
<check_box label="Landmarken erstellen" name="check landmark"/>
<check_box label="Fliegen" name="check fly" tool_tip="Falls aktiviert, können Einwohner auf Ihrem Land fliegen. Falls nicht aktiviert, können Einwohner lediglich auf Ihr Land fliegen und dort landen (dann jedoch nicht wieder weiterfliegen) oder über Ihr Land hinweg fliegen."/>
<text name="allow_label2">
Objekte erstellen:
</text>
<check_box label="Alle Einwohner" name="edit objects check"/>
<check_box label="Gruppe" name="edit group objects check"/>
<text name="allow_label3">
Objekteintritt:
</text>
<check_box label="Alle Einwohner" name="all object entry check"/>
<check_box label="Gruppe" name="group object entry check"/>
<text name="allow_label4">
Skripts ausführen:
</text>
<check_box label="Alle Einwohner" name="check other scripts"/>
<check_box label="Gruppe" name="check group scripts"/>
<text name="land_options_label">
Landoptionen:
</text>
<check_box label="Sicher (kein Schaden)" name="check safe" tool_tip="Falls aktiviert, wird Land auf Option „Sicher“ eingestellt, Kampfschäden sind deaktiviert. Falls nicht aktiviert, sind Kampfschäden aktiviert."/>
<check_box label="Kein Stoßen" name="PushRestrictCheck" tool_tip="Verhindert Skripte am Stoßen. Durch Aktivieren dieser Option verhindern Sie störendes Verhalten auf Ihrem Land."/>
<check_box label="Ort in Suche anzeigen (30 L$/Woche) unter" name="ShowDirectoryCheck" tool_tip="Diese Parzelle in Suchergebnissen anzeigen."/>
<panel.string name="search_enabled_tooltip">
Diese Parzelle in Suchergebnissen anzeigen.
</panel.string>
<panel.string name="search_disabled_small_tooltip">
Diese Option ist nicht aktiviert, da diese Parzelle nicht größer als 128 qm ist.
Nur große Parzellen können in der Suche aufgeführt werden.
</panel.string>
<panel.string name="search_disabled_permissions_tooltip">
Diese Option ist nicht aktiviert, da Sie die Parzellenoptionen nicht verändern können.
</panel.string>
<combo_box name="land category with adult">
<combo_box.item name="item0" label="Alle Kategorien"
/>
<combo_box.item name="item1" label="Lindenort"
/>
<combo_box.item name="item2" label="Adult"
/>
<combo_box.item name="item3" label="Kunst &amp; Kultur"
/>
<combo_box.item name="item4" label="Business"
/>
<combo_box.item name="item5" label="Bildung"
/>
<combo_box.item name="item6" label="Spielen"
/>
<combo_box.item name="item7" label="Treffpunkt"
/>
<combo_box.item name="item8" label="Anfängergerecht"
/>
<combo_box.item name="item9" label="Parks und Natur"
/>
<combo_box.item name="item10" label="Wohngebiet"
/>
<combo_box.item name="item11" label="Shopping"
/>
<combo_box.item name="item12" label="Sonstige"
/>
</combo_box>
<combo_box left="266" name="land category" width="130">
<combo_box.item name="item0" label="Alle Kategorien"
/>
<combo_box.item name="item1" label="Lindenort"
/>
<combo_box.item name="item3" label="Kunst und Kultur"
/>
<combo_box.item name="item4" label="Business"
/>
<combo_box.item name="item5" label="Bildung"
/>
<combo_box.item name="item6" label="Spielen"
/>
<combo_box.item name="item7" label="Treffpunkt"
/>
<combo_box.item name="item8" label="Anfängergerecht"
/>
<combo_box.item name="item9" label="Parks und Natur"
/>
<combo_box.item name="item10" label="Wohngebiet"
/>
<combo_box.item name="item11" label="Shopping"
/>
<combo_box.item name="item12" label="Sonstige"
/>
</combo_box>
<button label="?" label_selected="?" name="?"/>
<check_box label="Mature-Inhalt" name="MatureCheck" tool_tip=""/>
<panel.string name="mature_check_mature">
Mature-Inhalt
</panel.string>
<panel.string name="mature_check_adult">
Adult-Inhalt
</panel.string>
<panel.string name="mature_check_mature_tooltip">
Die Informationen oder Inhalte Ihrer Parzelle sind „Mature“.
</panel.string>
<panel.string name="mature_check_adult_tooltip">
Die Informationen oder Inhalte Ihrer Parzelle sind „Adult“.
</panel.string>
<text name="Snapshot:">
Foto:
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
<text name="landing_point">
Landepunkt: [LANDING]
</text>
<panel.string name="landing_point_none">
(keiner)
</panel.string>
<button label="Festlegen" label_selected="Festlegen" left="234" name="Set" tool_tip="Legt den Landepunkt fest, an dem Besucher ankommen. Legt die Position Ihres Avatars innerhalb dieser Parzelle fest." width="70"/>
<button label="Löschen" label_selected="Löschen" left="312" name="Clear" tool_tip="Landepunkt löschen." width="70"/>
<text name="Teleport Routing: ">
Teleport-Route:
</text>
<combo_box name="landing type" tool_tip="Teleport-Route -- festlegen, wie Teleports auf Ihrem Land gehandhabt werden sollen.">
<combo_box.item name="Blocked" label="Blockiert"
/>
<combo_box.item name="LandingPoint" label="Landepunkt"
/>
<combo_box.item name="Anywhere" label="Überall"
/>
</combo_box>
<panel.string name="push_restrict_text">
Kein Stoßen
</panel.string>
<panel.string name="push_restrict_region_text">
Kein Stoßen (regional)
</panel.string>
</panel>
<panel label="Medien" name="land_media_panel">
<text name="with media:">
Medientyp:
</text>
<combo_box name="media type" tool_tip="Geben Sie einen URL für den Film, die Webseite oder ein anderes Medium ein"/>
<text name="at URL:">
Medien-URL:
</text>
<button label="Einstellen..." label_selected="Einstellen..." name="set_media_url"/>
<text name="Description:">
Inhalt:
</text>
<line_editor name="url_description" tool_tip="Text, der neben der Abspielen/Laden-Schaltfläche angezeigt wird"/>
<text name="Media texture:">
Textur
ersetzen:
</text>
<texture_picker label="" name="media texture" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
<text name="replace_texture_help">
(Objekte mit dieser Textur zeigen nach Anklicken
des Abspielen-Pfeils den Film oder die Webseite an.)
</text>
<text name="Options:">
Medien-
Optionen:
</text>
<check_box label="Automatisch skalieren" name="media_auto_scale" tool_tip="Aktivieren Sie diese Option, um den Inhalt für diese Parzelle automatisch zu skalieren. Dies ist eventuell langsamer und die Qualität ist schlechter, aber Sie müssen keine weitere Texturskalierung oder -anpassung vornehmen."/>
<check_box label="Als Schleife wiedergeben" name="media_loop" tool_tip="Spielt das Medium in einer Schleife ab. Der Abspielvorgang wird immer wieder von vorne fortgesetzt."/>
<check_box label="Medien-URL verstecken" name="hide_media_url" tool_tip="Aktivieren Sie diese Option, wenn Sie nicht möchten, dass unautorisierte Personen die Medien-URL sehen können. Diese Option ist für HTML-Medien nicht verfügbar."/>
<check_box label="Musik-URL verstecken" name="hide_music_url" tool_tip="Aktivieren Sie diese Option, wenn Sie nicht möchten, dass unautorisierte Personen die Musik-URL sehen können."/>
<text name="media_size" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen.">
Größe:
</text>
<spinner name="media_size_width" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen."/>
<spinner name="media_size_height" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen."/>
<text name="pixels">
Pixel
</text>
<text name="MusicURL:">
Musik-URL:
</text>
<text name="Sound:">
Sound:
</text>
<check_box label="Gesten- und Objektgeräusche auf diese Parzelle beschränken" name="check sound local"/>
<button label="?" label_selected="?" left="418" name="?"/>
<text name="Voice settings:">
Voice:
</text>
<check_box label="Voice-Chat aktivieren" name="parcel_enable_voice_channel"/>
<check_box label="Voice-Chat aktivieren (vom Grundstück festgelegt)" name="parcel_enable_voice_channel_is_estate_disabled"/>
<check_box label="Voice-Chat auf diese Parzelle beschränken" name="parcel_enable_voice_channel_parcel"/>
</panel>
<panel label="Zugang" name="land_access_panel">
<text name="Limit access to this parcel to:">
Zugang zu dieser Parzelle
</text>
<check_box label="Freien Zugang erlauben" name="public_access"/>
<text name="Only Allow">
Zugang verweigern für:
</text>
<check_box label="Einwohner, die keine Zahlungsinformationen bei Linden Lab hinterlegt haben" name="limit_payment" tool_tip="Nicht identifizierte Einwohner verbannen."/>
<check_box label="Einwohner, die keine altersgeprüften Erwachsenen sind" name="limit_age_verified" tool_tip="Einwohner ohne Altersprüfung verbannen. Weitere Informationen finden Sie auf support.secondlife.com."/>
<panel.string name="estate_override">
Eine oder mehrere dieser Optionen gelten auf Grundstücksebene
</panel.string>
<check_box label="Gruppenzugang erlauben: [GROUP]" name="GroupCheck" tool_tip="Gruppe im Register „Allgemein“ festlegen."/>
<check_box label="Pässe verkaufen an:" name="PassCheck" tool_tip="Ermöglicht befristeten Zugang zu dieser Parzelle"/>
<combo_box name="pass_combo">
<combo_box.item name="Anyone" label="Jeden"
/>
<combo_box.item name="Group" label="Gruppe"
/>
</combo_box>
<spinner label="Preis in L$:" name="PriceSpin"/>
<spinner label="Online-Zeit:" name="HoursSpin"/>
<text label="Immer erlauben" name="AllowedText">
Zulässige Einwohner
</text>
<name_list name="AccessList" tool_tip="([LISTED] angezeigt, max. [MAX])"/>
<button label="Hinzufügen..." label_selected="Hinzufügen..." name="add_allowed"/>
<button label="Entfernen" label_selected="Entfernen" name="remove_allowed"/>
<text label="Verbannen" name="BanCheck">
Verbannte Einwohner
</text>
<name_list name="BannedList" tool_tip="([LISTED] angezeigt, max. [MAX])"/>
<button label="Hinzufügen..." label_selected="Hinzufügen..." name="add_banned"/>
<button label="Entfernen" label_selected="Entfernen" name="remove_banned"/>
</panel>
</tab_container>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="LAND-INFO">
<floater.string name="Minutes">
[MINUTES] Minuten
</floater.string>
<floater.string name="Minute">
Minute
</floater.string>
<floater.string name="Seconds">
[SECONDS] Sekunden
</floater.string>
<tab_container name="landtab">
<panel label="Allgemein" name="land_general_panel">
<panel.string name="new users only">
Nur neue Benutzer
</panel.string>
<panel.string name="anyone">
Jeder
</panel.string>
<panel.string name="area_text">
Gebiet:
</panel.string>
<panel.string name="area_size_text">
[AREA] qm.
</panel.string>
<panel.string name="auction_id_text">
Auktions-ID: [ID]
</panel.string>
<panel.string name="need_tier_to_modify">
Bestätigen Sie den Kauf, um dieses Land zu bearbeiten.
</panel.string>
<panel.string name="group_owned_text">
(In Gruppenbesitz)
</panel.string>
<panel.string name="profile_text">
Profil...
</panel.string>
<panel.string name="info_text">
Info...
</panel.string>
<panel.string name="public_text">
(öffentlich)
</panel.string>
<panel.string name="none_text">
(keiner)
</panel.string>
<panel.string name="sale_pending_text">
(Wird verkauft)
</panel.string>
<panel.string name="no_selection_text">
Keine Parzelle ausgewählt.
Öffnen Sie „Welt“ &gt; „Land-Info“ oder wählen Sie eine andere Parzelle aus, um Informationen darüber anzuzeigen.
</panel.string>
<text name="Name:">
Name:
</text>
<text name="Description:">
Beschreibung:
</text>
<text name="LandType">
Typ:
</text>
<text name="LandTypeText">
Mainland / Homestead
</text>
<text name="ContentRating">
Einstufung:
</text>
<text name="ContentRatingText">
Adult
</text>
<text name="Owner:">
Eigentümer:
</text>
<text name="OwnerText">
Leyla Linden
</text>
<button label="Profil..." label_selected="Profil..." name="Profile..."/>
<text name="Group:">
Gruppe:
</text>
<button label="Einstellen..." label_selected="Einstellen..." name="Set..."/>
<check_box label="Übertragung an Gruppe zulassen" name="check deed" tool_tip="Ein Gruppen-Officer kann dieses Land der Gruppe übertragen. Das Land wird dann über die Landzuteilung der Gruppe verwaltet."/>
<button label="Übertragen..." label_selected="Übertragen..." name="Deed..." tool_tip="Sie können Land nur übertragen, wenn Sie in der ausgewählten Gruppe Officer sind."/>
<check_box label="Eigentümer leistet Beitrag durch Übertragung" name="check contrib" tool_tip="Wenn das Land an die Gruppe übertragen wird, trägt der frühere Eigentümer ausreichend Landnutzungsrechte bei, um es zu halten."/>
<text name="For Sale:">
Zum Verkauf:
</text>
<text name="Not for sale.">
Nicht zu verkaufen.
</text>
<text name="For Sale: Price L$[PRICE].">
Preis: [PRICE] L$ ([PRICE_PER_SQM] L$/qm.).
</text>
<text name="SalePending"/>
<button bottom="-222" label="Land verkaufen..." label_selected="Land verkaufen..." name="Sell Land..."/>
<text name="For sale to">
Zum Verkauf an: [BUYER]
</text>
<text name="Sell with landowners objects in parcel." width="210">
Objekte sind im Verkauf eingeschlossen.
</text>
<text name="Selling with no objects in parcel." width="237">
Objekte sind im Verkauf nicht eingeschlossen.
</text>
<button bottom="-222" label="Landverkauf abbrechen" label_selected="Landverkauf abbrechen" name="Cancel Land Sale"/>
<text name="Claimed:">
Gekauft am:
</text>
<text name="DateClaimText">
Dienstag, 15. Aug. 2006, 13:47:25
</text>
<text name="PriceLabel">
Gebiet:
</text>
<text name="PriceText">
4048 qm.
</text>
<text name="Traffic:">
Traffic:
</text>
<text name="DwellText">
0
</text>
<button label="Land kaufen..." label_selected="Land kaufen..." name="Buy Land..."/>
<button label="Für Gruppe kaufen..." label_selected="Für Gruppe kaufen..." name="Buy For Group..."/>
<button label="Pass kaufen..." label_selected="Pass kaufen..." name="Buy Pass..." tool_tip="Ein Pass gibt Ihnen zeitbegrenzten Zugang zu diesem Land."/>
<button label="Land aufgeben..." label_selected="Land aufgeben..." name="Abandon Land..."/>
<button label="Land in Besitz nehmen..." label_selected="Land in Besitz nehmen..." name="Reclaim Land..."/>
<button label="Linden-Verkauf..." label_selected="Linden-Verkauf..." name="Linden Sale..." tool_tip="Land muss Eigentum und auf Inhalt gesetzt sein und nicht zur Auktion stehen."/>
</panel>
<panel label="Vertrag" name="land_covenant_panel">
<panel.string name="can_resell">
Gekauftes Land in dieser Region kann wiederverkauft werden.
</panel.string>
<panel.string name="can_not_resell">
Gekauftes Land in dieser Region kann nicht wiederverkauft werden.
</panel.string>
<panel.string name="can_change">
Gekauftes Land in dieser Region kann zusammengelegt und
geteilt werden.
</panel.string>
<panel.string name="can_not_change">
Gekauftes Land in dieser Region kann nicht zusammengelegt
und geteilt werden.
</panel.string>
<text name="estate_section_lbl">
Grundstück:
</text>
<text name="estate_name_lbl">
Name:
</text>
<text name="estate_name_text">
Mainland
</text>
<text name="estate_owner_lbl">
Eigentümer:
</text>
<text name="estate_owner_text">
(keiner)
</text>
<text_editor name="covenant_editor">
Für dieses Grundstück fehlt der Vertrag.
</text_editor>
<text name="covenant_timestamp_text">
Letzte Änderung am Mittwoch, den 31. Dez. 1969, 16:00:00
</text>
<text name="region_section_lbl">
Region:
</text>
<text name="region_name_lbl">
Name:
</text>
<text name="region_name_text">
leyla
</text>
<text name="region_landtype_lbl">
Typ:
</text>
<text name="region_landtype_text">
Mainland / Homestead
</text>
<text name="region_maturity_lbl">
Einstufung:
</text>
<text name="region_maturity_text">
Adult
</text>
<text name="resellable_lbl">
Wiederverkauf:
</text>
<text name="resellable_clause">
Land in dieser Region kann nicht wiederverkauft werden.
</text>
<text name="changeable_lbl">
Unterteilen:
</text>
<text name="changeable_clause">
Land in dieser Region kann nicht zusammengelegt/geteilt
werden.
</text>
</panel>
<panel label="Objekte" name="land_objects_panel">
<panel.string name="objects_available_text">
[COUNT] von [MAX] ([AVAILABLE] verfügbar)
</panel.string>
<panel.string name="objects_deleted_text">
[COUNT] von [MAX] ([DELETED] werden gelöscht)
</panel.string>
<text name="parcel_object_bonus">
Objektbonusfaktor in Region: [BONUS]
</text>
<text name="Simulator primitive usage:">
Primitive in Simulator:
</text>
<text name="objects_available">
[COUNT] von [MAX] ([AVAILABLE] verfügbar)
</text>
<text name="Primitives parcel supports:" width="200">
Von Parzelle unterstützte Primitiva:
</text>
<text left="204" name="object_contrib_text" width="152">
[COUNT]
</text>
<text name="Primitives on parcel:">
Primitiva auf Parzelle:
</text>
<text left="204" name="total_objects_text" width="48">
[COUNT]
</text>
<text left="14" name="Owned by parcel owner:" width="200">
Im Eigentum des Parzellenbesitzers:
</text>
<text left="204" name="owner_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOwner..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Set to group:">
Der Gruppe zugeordnet:
</text>
<text left="204" name="group_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnGroup..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Owned by others:" width="128">
Im Eigentum anderer:
</text>
<text left="204" name="other_objects_text" width="48">
[COUNT]
</text>
<button label="Anzeigen" label_selected="Anzeigen" name="ShowOther" right="-135" width="60"/>
<button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOther..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/>
<text left="14" name="Selected / sat upon:" width="140">
Ausgewählt/gesessen auf:
</text>
<text left="204" name="selected_objects_text" width="48">
[COUNT]
</text>
<text left="4" name="Autoreturn" width="380">
Objekte anderer Einwohner automatisch zurückgeben (Minuten, 0 für aus):
</text>
<line_editor name="clean other time" right="-10" width="56"/>
<text name="Object Owners:">
Objekteigentümer:
</text>
<button label="Liste aktualisieren" label_selected="Liste aktualisieren" name="Refresh List"/>
<button label="Objekte zurückgeben..." label_selected="Objekte zurückgeben..." name="Return objects..."/>
<name_list name="owner list">
<name_list.columns label="Typ" name="type"/>
<name_list.columns label="Name" name="name"/>
<name_list.columns label="Zählen" name="count"/>
<name_list.columns label="Aktuellster" name="mostrecent"/>
</name_list>
</panel>
<panel label="Optionen" name="land_options_panel">
<panel.string name="search_enabled_tooltip">
Diese Parzelle in Suchergebnissen anzeigen.
</panel.string>
<panel.string name="search_disabled_small_tooltip">
Diese Option ist nicht aktiviert, da diese Parzelle nicht größer als 128 qm ist.
Nur große Parzellen können in der Suche aufgeführt werden.
</panel.string>
<panel.string name="search_disabled_permissions_tooltip">
Diese Option ist nicht aktiviert, da Sie die Parzellenoptionen nicht verändern können.
</panel.string>
<panel.string name="mature_check_mature">
Mature-Inhalt
</panel.string>
<panel.string name="mature_check_adult">
Adult-Inhalt
</panel.string>
<panel.string name="mature_check_mature_tooltip">
Die Informationen oder Inhalte Ihrer Parzelle sind „Mature“.
</panel.string>
<panel.string name="mature_check_adult_tooltip">
Die Informationen oder Inhalte Ihrer Parzelle sind „Adult“.
</panel.string>
<panel.string name="landing_point_none">
(keiner)
</panel.string>
<panel.string name="push_restrict_text">
Kein Stoßen
</panel.string>
<panel.string name="push_restrict_region_text">
Kein Stoßen (regional)
</panel.string>
<text name="allow_label">
Anderen Einwohnern gestatten:
</text>
<check_box label="Terrain bearbeiten" name="edit land check" tool_tip="Falls aktiviert, kann jeder Ihr Land terraformen. Am besten ist es, wenn Sie diese Option deaktiviert lassen. Sie können Ihr eigenes Land jederzeit bearbeiten."/>
<check_box label="Fliegen" name="check fly" tool_tip="Falls aktiviert, können Einwohner auf Ihrem Land fliegen. Falls nicht aktiviert, können Einwohner lediglich auf Ihr Land fliegen und dort landen (dann jedoch nicht wieder weiterfliegen) oder über Ihr Land hinweg fliegen."/>
<text name="allow_label2">
Objekte erstellen:
</text>
<check_box label="Alle Einwohner" name="edit objects check"/>
<check_box label="Gruppe" name="edit group objects check"/>
<text name="allow_label3">
Objekteintritt:
</text>
<check_box label="Alle Einwohner" name="all object entry check"/>
<check_box label="Gruppe" name="group object entry check"/>
<text name="allow_label4">
Skripts ausführen:
</text>
<check_box label="Alle Einwohner" name="check other scripts"/>
<check_box label="Gruppe" name="check group scripts"/>
<text name="land_options_label">
Landoptionen:
</text>
<check_box label="Sicher (kein Schaden)" name="check safe" tool_tip="Falls aktiviert, wird Land auf Option „Sicher“ eingestellt, Kampfschäden sind deaktiviert. Falls nicht aktiviert, sind Kampfschäden aktiviert."/>
<check_box label="Kein Stoßen" name="PushRestrictCheck" tool_tip="Verhindert Skripte am Stoßen. Durch Aktivieren dieser Option verhindern Sie störendes Verhalten auf Ihrem Land."/>
<check_box label="Ort in Suche anzeigen (30 L$/Woche) unter" name="ShowDirectoryCheck" tool_tip="Diese Parzelle in Suchergebnissen anzeigen."/>
<combo_box name="land category with adult">
<combo_box.item label="Alle Kategorien" name="item0"/>
<combo_box.item label="Lindenort" name="item1"/>
<combo_box.item label="Adult" name="item2"/>
<combo_box.item label="Kunst &amp; Kultur" name="item3"/>
<combo_box.item label="Business" name="item4"/>
<combo_box.item label="Bildung" name="item5"/>
<combo_box.item label="Spielen" name="item6"/>
<combo_box.item label="Treffpunkt" name="item7"/>
<combo_box.item label="Anfängergerecht" name="item8"/>
<combo_box.item label="Parks und Natur" name="item9"/>
<combo_box.item label="Wohngebiet" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Sonstige" name="item12"/>
</combo_box>
<combo_box left="266" name="land category" width="130">
<combo_box.item label="Alle Kategorien" name="item0"/>
<combo_box.item label="Lindenort" name="item1"/>
<combo_box.item label="Kunst und Kultur" name="item3"/>
<combo_box.item label="Business" name="item4"/>
<combo_box.item label="Bildung" name="item5"/>
<combo_box.item label="Spielen" name="item6"/>
<combo_box.item label="Treffpunkt" name="item7"/>
<combo_box.item label="Anfängergerecht" name="item8"/>
<combo_box.item label="Parks und Natur" name="item9"/>
<combo_box.item label="Wohngebiet" name="item10"/>
<combo_box.item label="Shopping" name="item11"/>
<combo_box.item label="Sonstige" name="item12"/>
</combo_box>
<check_box label="Mature-Inhalt" name="MatureCheck" tool_tip=""/>
<text name="Snapshot:">
Foto:
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
<text name="landing_point">
Landepunkt: [LANDING]
</text>
<button label="Festlegen" label_selected="Festlegen" left="234" name="Set" tool_tip="Legt den Landepunkt fest, an dem Besucher ankommen. Legt die Position Ihres Avatars innerhalb dieser Parzelle fest." width="70"/>
<button label="Löschen" label_selected="Löschen" left="312" name="Clear" tool_tip="Landepunkt löschen." width="70"/>
<text name="Teleport Routing: ">
Teleport-Route:
</text>
<combo_box name="landing type" tool_tip="Teleport-Route -- festlegen, wie Teleports auf Ihrem Land gehandhabt werden sollen.">
<combo_box.item label="Blockiert" name="Blocked"/>
<combo_box.item label="Landepunkt" name="LandingPoint"/>
<combo_box.item label="Überall" name="Anywhere"/>
</combo_box>
</panel>
<panel label="Medien" name="land_media_panel">
<text name="with media:">
Typ:
</text>
<combo_box name="media type" tool_tip="Geben Sie einen URL für den Film, die Webseite oder ein anderes Medium ein"/>
<text name="at URL:">
Start URL:
</text>
<button label="Einstellen..." label_selected="Einstellen..." name="set_media_url"/>
<text name="CurrentURL:">
Aktuelle URL:
</text>
<button label="Zurücksetzen..." label_selected="Zurücksetzen..." name="reset_media_url"/>
<check_box label="URL ausblenden" name="hide_media_url" tool_tip="Aktivieren Sie diese Option, wenn Sie nicht möchten, dass unautorisierte Personen die Medien-URL sehen können. Diese Option ist für HTML-Medien nicht verfügbar."/>
<text name="Description:">
Inhalt:
</text>
<line_editor name="url_description" tool_tip="Text, der neben der Abspielen/Laden-Schaltfläche angezeigt wird"/>
<text name="Media texture:">
Textur
ersetzen:
</text>
<texture_picker label="" name="media texture" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
<text name="replace_texture_help">
Objekte, die diese Textur verwenden, werden den Film oder die Webseite anzeigen, nachdem Sie auf den Pfeil (Wiedergabe) klicken.
Wählen Sie das kleine Bild aus, um eine andere Textur auszuwählen.
</text>
<check_box label="Automatisch skalieren" name="media_auto_scale" tool_tip="Aktivieren Sie diese Option, um den Inhalt für diese Parzelle automatisch zu skalieren. Dies ist eventuell langsamer und die Qualität ist schlechter, aber Sie müssen keine weitere Texturskalierung oder -anpassung vornehmen."/>
<text name="media_size" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen.">
Größe:
</text>
<spinner name="media_size_width" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen."/>
<spinner name="media_size_height" tool_tip="Darstellungsgröße von Webmedien, für Standard bei 0 belassen."/>
<text name="pixels">
Pixel
</text>
<text name="Options:">
Optionen:
</text>
<check_box label="Schleife" name="media_loop" tool_tip="Spielt das Medium in einer Schleife ab. Der Abspielvorgang wird immer wieder von vorne fortgesetzt."/>
</panel>
<panel label="Audio" name="land_audio_panel">
<text name="MusicURL:">
Musik-URL:
</text>
<text name="Sound:">
Sound:
</text>
<check_box label="Gesten- und Objektgeräusche auf diese Parzelle beschränken" name="check sound local"/>
<text name="Voice settings:">
Voice:
</text>
<check_box label="Voice aktivieren" name="parcel_enable_voice_channel"/>
<check_box label="Voice aktivieren (vom Grundstück eingerichtet)" name="parcel_enable_voice_channel_is_estate_disabled"/>
<check_box label="Voice auf diese Parzelle beschränken" name="parcel_enable_voice_channel_parcel"/>
</panel>
<panel label="Zugang" name="land_access_panel">
<panel.string name="estate_override">
Eine oder mehrere dieser Optionen gelten auf Grundstücksebene
</panel.string>
<text name="Limit access to this parcel to:">
Zugang zu dieser Parzelle
</text>
<check_box label="Freien Zugang erlauben" name="public_access"/>
<text name="Only Allow">
Zugang verweigern für:
</text>
<check_box label="Einwohner, die keine Zahlungsinformationen bei Linden Lab hinterlegt haben" name="limit_payment" tool_tip="Nicht identifizierte Einwohner verbannen."/>
<check_box label="Einwohner, die keine altersgeprüften Erwachsenen sind" name="limit_age_verified" tool_tip="Einwohner ohne Altersüberprüfung verbannen. Weitere Informationen finden Sie auf [SUPPORT_SITE]."/>
<check_box label="Gruppenzugang erlauben: [GROUP]" name="GroupCheck" tool_tip="Gruppe im Register „Allgemein“ festlegen."/>
<check_box label="Pässe verkaufen an:" name="PassCheck" tool_tip="Ermöglicht befristeten Zugang zu dieser Parzelle"/>
<combo_box name="pass_combo">
<combo_box.item label="Jeden" name="Anyone"/>
<combo_box.item label="Gruppe" name="Group"/>
</combo_box>
<spinner label="Preis in L$:" name="PriceSpin"/>
<spinner label="Online-Zeit:" name="HoursSpin"/>
<text label="Immer erlauben" name="AllowedText">
Zulässige Einwohner
</text>
<name_list name="AccessList" tool_tip="([LISTED] angezeigt, max. [MAX])"/>
<button label="Hinzufügen..." label_selected="Hinzufügen..." name="add_allowed"/>
<button label="Entfernen" label_selected="Entfernen" name="remove_allowed"/>
<text label="Verbannen" name="BanCheck">
Verbannte Einwohner
</text>
<name_list name="BannedList" tool_tip="([LISTED] angezeigt, max. [MAX])"/>
<button label="Hinzufügen..." label_selected="Hinzufügen..." name="add_banned"/>
<button label="Entfernen" label_selected="Entfernen" name="remove_banned"/>
</panel>
</tab_container>
</floater>

View File

@ -1,91 +1,184 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Animation Preview" title="">
<text name="name_label">
Name:
</text>
<line_editor name="name_form"/>
<text name="description_label">
Beschreibung:
</text>
<spinner label="Priorität" name="priority" tool_tip="Steuert, welche Animationen von dieser Animation überschrieben werden können."/>
<check_box bottom_delta="-18" label="Schleife" name="loop_check" tool_tip="Erzeugt eine Animationsschleife."/>
<spinner label="In (%)" name="loop_in_point" tool_tip="Anfang einer Animationsschleife festlegen."/>
<spinner label="Aus (%)" name="loop_out_point" tool_tip="Ende einer Animationsschleife festlegen."/>
<text name="hand_label">
Handhaltung
</text>
<combo_box label="" name="hand_pose_combo" tool_tip="Steuert während der Animation die Bewegung der Hände.">
<combo_box.item name="Spread" label="Dehnen" />
<combo_box.item name="Relaxed" label="Entspannt" />
<combo_box.item name="PointBoth" label="Beide zeigen" />
<combo_box.item name="Fist" label="Faust" />
<combo_box.item name="RelaxedLeft" label="Links entspannt" />
<combo_box.item name="PointLeft" label="Nach links zeigen" />
<combo_box.item name="FistLeft" label="Linke Faust" />
<combo_box.item name="RelaxedRight" label="Rechts entspannt" />
<combo_box.item name="PointRight" label="Nach rechts zeigen" />
<combo_box.item name="FistRight" label="Rechte Faust" />
<combo_box.item name="SaluteRight" label="Rechts salutieren" />
<combo_box.item name="Typing" label="Tippt" />
<combo_box.item name="PeaceRight" label="Friedensrecht" />
</combo_box>
<text name="emote_label">
Ausdruck
</text>
<combo_box label="" name="emote_combo" tool_tip="Steuert Gesichtsregungen während der Animation.">
<combo_box.item name="[None]" label="Keine]" />
<combo_box.item name="Aaaaah" label="Aaaaah" />
<combo_box.item name="Afraid" label="Ängstlich" />
<combo_box.item name="Angry" label="Verärgert" />
<combo_box.item name="BigSmile" label="Grinst" />
<combo_box.item name="Bored" label="Gelangweilt" />
<combo_box.item name="Cry" label="Weinen" />
<combo_box.item name="Disdain" label="Verachten" />
<combo_box.item name="Embarrassed" label="Verlegen" />
<combo_box.item name="Frown" label="Stirnrunzeln" />
<combo_box.item name="Kiss" label="Küssen" />
<combo_box.item name="Laugh" label="Lachen" />
<combo_box.item name="Plllppt" label="Bäääh" />
<combo_box.item name="Repulsed" label="Zurückgestoßen" />
<combo_box.item name="Sad" label="Traurig" />
<combo_box.item name="Shrug" label="Schulterzucken" />
<combo_box.item name="Smile" label="Lächeln" />
<combo_box.item name="Surprise" label="Überraschung" />
<combo_box.item name="Wink" label="Zwinkern" />
<combo_box.item name="Worry" label="Sorgenvoll" />
</combo_box>
<text name="preview_label" width="97">
Vorschau während:
</text>
<combo_box label="" left_delta="107" name="preview_base_anim" tool_tip="Hiermit können Sie das Verhalten Ihres Avatars testen, während Ihr Avatar normale Bewegungen ausführt.">
<combo_box.item name="Standing" label="Stehend" />
<combo_box.item name="Walking" label="Geht" />
<combo_box.item name="Sitting" label="Sitzt" />
<combo_box.item name="Flying" label="Fliegend" />
</combo_box>
<spinner label="Eingang glätten (s)" label_width="105" name="ease_in_time" tool_tip="Einblendungsgeschwindigkeit von Animationen (in Sekunden)." width="175"/>
<spinner bottom_delta="-20" label="Ausgang glätten (s)" label_width="105" left="10" name="ease_out_time" tool_tip="Ausblendungsgeschwindigkeit von Animationen (in Sekunden)." width="175"/>
<button bottom_delta="-32" label="" name="play_btn" tool_tip="Animation stoppen/wiedergeben."/>
<button label="" name="stop_btn" tool_tip="Animation anhalten"/>
<slider label="" name="playback_slider"/>
<text name="bad_animation_text">
Animationsdatei konnte nicht gelesen werden.
Wir empfehlen exportierte BVH-Dateien aus Poser 4.
</text>
<button label="Abbrechen" name="cancel_btn"/>
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn"/>
<string name="failed_to_initialize">
Bewegung konnte nicht initialisiert werden
</string>
<string name="anim_too_long">
Animationsdatei ist [LENGTH] Sekunden lang.
Maximal erlaubt sind [MAX_LENGTH] Sekunden.
</string>
<string name="failed_file_read">
Animationsdatei konnte nicht gelesen werden.
[STATUS]
</string>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Animation Preview" title="">
<floater.string name="failed_to_initialize">
Bewegung konnte nicht initialisiert werden
</floater.string>
<floater.string name="anim_too_long">
Animationsdatei ist [LENGTH] Sekunden lang.
Maximal erlaubt sind [MAX_LENGTH] Sekunden.
</floater.string>
<floater.string name="failed_file_read">
Animationsdatei konnte nicht gelesen werden.
[STATUS]
</floater.string>
<floater.string name="E_ST_OK">
OK
</floater.string>
<floater.string name="E_ST_EOF">
Unvollständige Datei
</floater.string>
<floater.string name="E_ST_NO_CONSTRAINT">
Constraint-Definition kann nicht gelesen werden.
</floater.string>
<floater.string name="E_ST_NO_FILE">
BVH-Datei kann nicht geöffnet werden
</floater.string>
<floater.string name="E_ST_NO_HIER">
Ungültiger HIERARCHY-Titel.
</floater.string>
<floater.string name="E_ST_NO_JOINT">
ROOT oder JOINT nicht gefunden.
</floater.string>
<floater.string name="E_ST_NO_NAME">
JOINT-Name nicht erfasst.
</floater.string>
<floater.string name="E_ST_NO_OFFSET">
VERSATZ nicht gefunden.
</floater.string>
<floater.string name="E_ST_NO_CHANNELS">
CHANNELS nicht gefunden.
</floater.string>
<floater.string name="E_ST_NO_ROTATION">
Kann Rotations-Reihenfolge nicht erfassen.
</floater.string>
<floater.string name="E_ST_NO_AXIS">
Kann Rotations-Achse nicht erfassen.
</floater.string>
<floater.string name="E_ST_NO_MOTION">
MOTION nicht gefunden.
</floater.string>
<floater.string name="E_ST_NO_FRAMES">
Anzahl der Bilder kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_FRAME_TIME">
Bildzeit kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_POS">
Positions-Werte können nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_ROT">
Kann Rotations-Werte nicht erfassen.
</floater.string>
<floater.string name="E_ST_NO_XLT_FILE">
Datei kann nicht geöffnet werden
</floater.string>
<floater.string name="E_ST_NO_XLT_HEADER">
Übersetzungstitel kann nicht gelesen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_NAME">
Übersetzungsnamen können nicht geladen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_IGNORE">
Ignorier-Wert kann nicht gelesen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_RELATIVE">
Übersetzungs-Wert kann nicht gelesen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_OUTNAME">
Outname-Wert kann nicht gelesen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_MATRIX">
Übersetzungsmatrix kann nicht geladen werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_MERGECHILD">
Mergechild-Name nicht erfasst.
</floater.string>
<floater.string name="E_ST_NO_XLT_MERGEPARENT">
Mergeparent-Name nicht erfasst.
</floater.string>
<floater.string name="E_ST_NO_XLT_PRIORITY">
Prioritätswert kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_LOOP">
Loop-Wert kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_EASEIN">
Easeln-Wert kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_EASEOUT">
easeOut-Wert kann nicht erfasst werden.
</floater.string>
<floater.string name="E_ST_NO_XLT_HAND">
Hand-Morph-Wert nicht erfasst.
</floater.string>
<floater.string name="E_ST_NO_XLT_EMOTE">
Emote-Name kann nicht gelesen werden.
</floater.string>
<text name="name_label">
Name:
</text>
<line_editor name="name_form"/>
<text name="description_label">
Beschreibung:
</text>
<spinner label="Priorität" name="priority" tool_tip="Steuert, welche Animationen von dieser Animation überschrieben werden können."/>
<check_box bottom_delta="-18" label="Schleife" name="loop_check" tool_tip="Erzeugt eine Animationsschleife."/>
<spinner label="In (%)" name="loop_in_point" tool_tip="Anfang einer Animationsschleife festlegen."/>
<spinner label="Aus (%)" name="loop_out_point" tool_tip="Ende einer Animationsschleife festlegen."/>
<text name="hand_label">
Handhaltung
</text>
<combo_box label="" name="hand_pose_combo" tool_tip="Steuert während der Animation die Bewegung der Hände.">
<combo_box.item label="Dehnen" name="Spread"/>
<combo_box.item label="Entspannt" name="Relaxed"/>
<combo_box.item label="Beide zeigen" name="PointBoth"/>
<combo_box.item label="Faust" name="Fist"/>
<combo_box.item label="Links entspannt" name="RelaxedLeft"/>
<combo_box.item label="Nach links zeigen" name="PointLeft"/>
<combo_box.item label="Linke Faust" name="FistLeft"/>
<combo_box.item label="Rechts entspannt" name="RelaxedRight"/>
<combo_box.item label="Nach rechts zeigen" name="PointRight"/>
<combo_box.item label="Rechte Faust" name="FistRight"/>
<combo_box.item label="Rechts salutieren" name="SaluteRight"/>
<combo_box.item label="Tippt" name="Typing"/>
<combo_box.item label="Friedensrecht" name="PeaceRight"/>
</combo_box>
<text name="emote_label">
Ausdruck
</text>
<combo_box label="" name="emote_combo" tool_tip="Steuert Gesichtsregungen während der Animation.">
<combo_box.item label="Keine]" name="[None]"/>
<combo_box.item label="Aaaaah" name="Aaaaah"/>
<combo_box.item label="Ängstlich" name="Afraid"/>
<combo_box.item label="Verärgert" name="Angry"/>
<combo_box.item label="Grinst" name="BigSmile"/>
<combo_box.item label="Gelangweilt" name="Bored"/>
<combo_box.item label="Weinen" name="Cry"/>
<combo_box.item label="Verachten" name="Disdain"/>
<combo_box.item label="Verlegen" name="Embarrassed"/>
<combo_box.item label="Stirnrunzeln" name="Frown"/>
<combo_box.item label="Küssen" name="Kiss"/>
<combo_box.item label="Lachen" name="Laugh"/>
<combo_box.item label="Bäääh" name="Plllppt"/>
<combo_box.item label="Zurückgestoßen" name="Repulsed"/>
<combo_box.item label="Traurig" name="Sad"/>
<combo_box.item label="Schulterzucken" name="Shrug"/>
<combo_box.item label="Lächeln" name="Smile"/>
<combo_box.item label="Überraschung" name="Surprise"/>
<combo_box.item label="Zwinkern" name="Wink"/>
<combo_box.item label="Sorgenvoll" name="Worry"/>
</combo_box>
<text name="preview_label" width="97">
Vorschau während:
</text>
<combo_box label="" left_delta="107" name="preview_base_anim" tool_tip="Hiermit können Sie das Verhalten Ihres Avatars testen, während Ihr Avatar normale Bewegungen ausführt.">
<combo_box.item label="Stehend" name="Standing"/>
<combo_box.item label="Geht" name="Walking"/>
<combo_box.item label="Sitzt" name="Sitting"/>
<combo_box.item label="Fliegend" name="Flying"/>
</combo_box>
<spinner label="Eingang glätten (s)" label_width="105" name="ease_in_time" tool_tip="Einblendungsgeschwindigkeit von Animationen (in Sekunden)." width="175"/>
<spinner bottom_delta="-20" label="Ausgang glätten (s)" label_width="105" left="10" name="ease_out_time" tool_tip="Ausblendungsgeschwindigkeit von Animationen (in Sekunden)." width="175"/>
<button bottom_delta="-32" label="" name="play_btn" tool_tip="Animation stoppen/wiedergeben."/>
<button label="" name="stop_btn" tool_tip="Animation anhalten"/>
<slider label="" name="playback_slider"/>
<text name="bad_animation_text">
Animationsdatei konnte nicht gelesen werden.
Wir empfehlen exportierte BVH-Dateien aus Poser 4.
</text>
<button label="Abbrechen" name="cancel_btn"/>
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn"/>
</floater>

View File

@ -1,45 +1,43 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="avatarpicker" title="EINWOHNER AUSWÄHLEN">
<tab_container name="ResidentChooserTabs">
<panel label="Suchen" name="SearchPanel">
<text name="InstructSearchResidentName">
Geben Sie einen Teil des Namens des
Einwohners ein:
</text>
<line_editor bottom_delta="-36" name="Edit" />
<button label="Suchen" label_selected="Suchen" name="Find"/>
<scroll_list height="74" name="SearchResults" bottom_delta="-79"/>
</panel>
<panel label="Visitenkarten" name="CallingCardsPanel">
<text name="InstructSelectCallingCard">
Wählen Sie eine Visitenkarte:
</text>
</panel>
<panel label="In meiner Nähe" name="NearMePanel">
<text name="InstructSelectResident">
Einwohner in der Nähe
auswählen:
</text>
<button font="SansSerifSmall" label="Liste aktualisieren" label_selected="Liste aktualisieren" name="Refresh" left_delta="10" width="105"/>
<slider label="Bereich" name="near_me_range" bottom_delta="-36"/>
<text name="meters">
Meter
</text>
<scroll_list bottom_delta="-169" height="159" name="NearMe" />
</panel>
</tab_container>
<button label="Auswählen" label_selected="Auswählen" name="Select"/>
<button label="Abbrechen" label_selected="Abbrechen" name="Cancel"/>
<string name="not_found">
„[TEXT]“ nicht gefunden
</string>
<string name="no_one_near">
Niemand in der Nähe
</string>
<string name="no_results">
Keine Ergebnisse
</string>
<string name="searching">
Suchen...
</string>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="avatarpicker" title="EINWOHNER AUSWÄHLEN">
<tab_container name="ResidentChooserTabs">
<panel label="Suchen" name="SearchPanel">
<text name="InstructSearchResidentName">
Geben Sie einen Teil des Namens einer Person ein:
</text>
<line_editor bottom_delta="-36" name="Edit"/>
<button label="Los" label_selected="Los" name="Find"/>
<scroll_list bottom_delta="-79" height="74" name="SearchResults"/>
</panel>
<panel label="Visitenkarten" name="CallingCardsPanel">
<text name="InstructSelectCallingCard">
Wählen Sie eine Visitenkarte:
</text>
</panel>
<panel label="In meiner Nähe" name="NearMePanel">
<text name="InstructSelectResident">
Wählen Sie eine Person aus, die sich in der Nähe befindet:
</text>
<button font="SansSerifSmall" label="Liste aktualisieren" label_selected="Liste aktualisieren" left_delta="10" name="Refresh" width="105"/>
<slider bottom_delta="-36" label="Bereich" name="near_me_range"/>
<text name="meters">
Meter
</text>
<scroll_list bottom_delta="-169" height="159" name="NearMe"/>
</panel>
</tab_container>
<button label="OK" label_selected="OK" name="Select"/>
<button label="Abbrechen" label_selected="Abbrechen" name="Cancel"/>
<string name="not_found">
„[TEXT]“ nicht gefunden
</string>
<string name="no_one_near">
Niemand in der Nähe
</string>
<string name="no_results">
Keine Ergebnisse
</string>
<string name="searching">
Suchen...
</string>
</floater>

View File

@ -1,15 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="beacons" title="BEACONS">
<panel name="beacons_panel">
<check_box label="Auf Berührung beschränkte Skriptobjekte" name="touch_only"/>
<check_box label="Skripting-Objekte" name="scripted"/>
<check_box label="Physische Objekte" name="physical"/>
<check_box label="Soundquellen" name="sounds"/>
<check_box label="Partikelquellen" name="particles"/>
<check_box label="Glanzlichter anzeigen" name="highlights"/>
<check_box label="Beacons anzeigen" name="beacons"/>
<text name="beacon_width_label">
Beacon-Breite:
</text>
</panel>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="beacons" title="BEACONS">
<panel name="beacons_panel">
<text name="label_show">
Anzeigen:
</text>
<check_box label="Beacons" name="beacons"/>
<check_box label="Glanzlichter" name="highlights"/>
<text name="beacon_width_label" tool_tip="Beacon-Breite">
Breite:
</text>
<text name="label_objects">
Für diese Objekte:
</text>
<check_box label="Physisch" name="physical"/>
<check_box label="Skriptobjekte" name="scripted"/>
<check_box label="Nur berühren" name="touch_only"/>
<check_box label="Soundquellen" name="sounds"/>
<check_box label="Partikelquellen" name="particles"/>
</panel>
</floater>

View File

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="build options floater" title="RASTEROPTIONEN">
<spinner label="Rastereinheit (Meter)" name="GridResolution" />
<spinner label="Rastergröße (Meter)" name="GridDrawSize" />
<check_box label="Einrasten von Untereinheiten aktivieren" name="GridSubUnit" />
<check_box label="Querschnitte anzeigen" name="GridCrossSection" />
<slider label="Rasterdeckkraft" name="GridOpacity" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="build options floater" title="RASTEROPTIONEN">
<spinner label="Rastereinheit (Meter)" name="GridResolution"/>
<spinner label="Rastergröße (Meter)" name="GridDrawSize"/>
<check_box label="An Untereinheiten ausrichten" name="GridSubUnit"/>
<check_box label="Querschnitte anzeigen" name="GridCrossSection"/>
<text name="grid_opacity_label" tool_tip="Rasterdeckkraft">
Deckkraft:
</text>
<slider label="Rasterdeckkraft" name="GridOpacity"/>
</floater>

View File

@ -1,44 +1,53 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterbulkperms" title="MEHRERE INHALTSBERECHTIGUNGEN ÄNDERN">
<text name="applyto">
Inhaltsarten
</text>
<check_box label="Animation" name="check_animation"/>
<check_box label="Körperteile" name="check_bodypart"/>
<check_box label="Kleidung" name="check_clothing"/>
<check_box label="Gesten" name="check_gesture"/>
<check_box label="Landmarken" name="check_landmark"/>
<check_box label="Notizkarten" name="check_notecard"/>
<check_box label="Objekte" name="check_object"/>
<check_box label="Skripts" name="check_script"/>
<check_box label="Sounds" name="check_sound"/>
<check_box label="Texturen" name="check_texture"/>
<button label="Alle auswählen" label_selected="Alle" name="check_all"/>
<button label="Keine" label_selected="Keine" name="check_none"/>
<text name="newperms">
Neue Berechtigungen
</text>
<check_box label="Mit Gruppe teilen" name="share_with_group"/>
<check_box label="Kopieren allen erlauben" name="everyone_copy"/>
<text name="NextOwnerLabel">
Nächster Eigentümer kann:
</text>
<check_box label="Bearbeiten" name="next_owner_modify"/>
<check_box label="Kopieren" name="next_owner_copy"/>
<check_box label="Verkaufen/Weggeben" name="next_owner_transfer"/>
<button label="Hilfe" name="help"/>
<button label="Übernehmen" name="apply"/>
<button label="Schließen" name="close"/>
<string name="nothing_to_modify_text">
Auswahl enthält keinen Inhalt, der bearbeitet werden kann.
</string>
<string name="status_text">
Berechtigungen werden eingestellt auf [NAME]
</string>
<string name="start_text">
Start: Anforderung auf Änderung der Berechtigung...
</string>
<string name="done_text">
Ende: Anforderung auf Änderung der Berechtigung.
</string>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterbulkperms" title="Inhalt-Berechtigungen bearbeiten">
<floater.string name="nothing_to_modify_text">
Auswahl enthält keinen Inhalt, der bearbeitet werden kann.
</floater.string>
<floater.string name="status_text">
Berechtigungen werden eingestellt auf [NAME]
</floater.string>
<floater.string name="start_text">
Start: Anforderung auf Änderung der Berechtigung...
</floater.string>
<floater.string name="done_text">
Ende: Anforderung auf Änderung der Berechtigung.
</floater.string>
<check_box label="Animation" name="check_animation"/>
<icon name="icon_animation" tool_tip="Animation"/>
<check_box label="Körperteile" name="check_bodypart"/>
<icon name="icon_bodypart" tool_tip="Körperteile"/>
<check_box label="Kleidung" name="check_clothing"/>
<icon name="icon_clothing" tool_tip="Kleidung"/>
<check_box label="Gesten" name="check_gesture"/>
<icon name="icon_gesture" tool_tip="Gesten"/>
<check_box label="Notizkarten" name="check_notecard"/>
<icon name="icon_notecard" tool_tip="Notizkarten"/>
<check_box label="Objekte" name="check_object"/>
<icon name="icon_object" tool_tip="Objekte"/>
<check_box label="Skripts" name="check_script"/>
<icon name="icon_script" tool_tip="Skripts"/>
<check_box label="Sounds" name="check_sound"/>
<icon name="icon_sound" tool_tip="Sounds"/>
<check_box label="Texturen" name="check_texture"/>
<button label="√ Alle" label_selected="Alle" name="check_all"/>
<button label="Löschen" label_selected="Keine" name="check_none"/>
<text name="newperms">
Neue Inhalts-Berechtigungen
</text>
<text name="GroupLabel">
Gruppe:
</text>
<check_box label="Freigeben" name="share_with_group"/>
<text name="AnyoneLabel">
Jeder:
</text>
<check_box label="Kopieren" name="everyone_copy"/>
<text name="NextOwnerLabel">
Nächster Eigentümer:
</text>
<check_box label="Bearbeiten" name="next_owner_modify"/>
<check_box label="Kopieren" name="next_owner_copy"/>
<check_box initial_value="true" label="Transferieren" name="next_owner_transfer" tool_tip="Nächster Eigentümer kann dieses Objekt weitergeben oder -verkaufen"/>
<button label="OK" name="apply"/>
<button label="Abbrechen" name="close"/>
</floater>

View File

@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="contents" title="OBJEKTKOPIE KAUFEN">
<text name="contents_text">
samt Inhalt:
</text>
<text name="buy_text">
[AMOUNT] L$ von [NAME] kaufen?
</text>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn" width="73" />
<button label="Kaufen" label_selected="Kaufen" name="buy_btn" />
<text name="title_buy_text">
Kaufen
</text>
<string name="title_buy_copy_text">
Kopie kaufen von
</string>
<text name="no_copy_text">
(kein Kopieren)
</text>
<text name="no_modify_text">
(kein Bearbeiten)
</text>
<text name="no_transfer_text">
(kein Transferieren)
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="contents" title="OBJEKTKOPIE KAUFEN">
<text name="contents_text">
Inhalt:
</text>
<text name="buy_text">
[AMOUNT] L$ von [NAME] kaufen?
</text>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn" width="73"/>
<button label="Kaufen" label_selected="Kaufen" name="buy_btn"/>
<text name="title_buy_text">
Kaufen
</text>
<string name="title_buy_copy_text">
Kopie kaufen von
</string>
<text name="no_copy_text">
(kein Kopieren)
</text>
<text name="no_modify_text">
(kein Bearbeiten)
</text>
<text name="no_transfer_text">
(kein Transferieren)
</text>
</floater>

View File

@ -1,16 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="camera_floater">
<floater.string name="rotate_tooltip">
Kamera um Fokus drehen
</floater.string>
<floater.string name="zoom_tooltip">
Kamera auf Fokus zoomen
</floater.string>
<floater.string name="move_tooltip">
Kamera nach oben, unten, links und rechts bewegen
</floater.string>
<panel name="controls">
<joystick_track name="cam_track_stick" tool_tip="Kamera nach oben, unten, links und rechts bewegen"/>
<joystick_zoom name="zoom" tool_tip="Kamera auf Fokus zoomen"/>
</panel>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="camera_floater">
<floater.string name="rotate_tooltip">
Kamera um Fokus drehen
</floater.string>
<floater.string name="zoom_tooltip">
Kamera auf Fokus zoomen
</floater.string>
<floater.string name="move_tooltip">
Kamera nach oben, unten, links und rechts bewegen
</floater.string>
<panel name="controls">
<joystick_track name="cam_track_stick" tool_tip="Kamera nach oben, unten, links und rechts bewegen"/>
<joystick_zoom name="zoom" tool_tip="Kamera auf Fokus zoomen"/>
<joystick_rotate name="cam_rotate_stick" tool_tip="Kamera um Fokus herum kreisen"/>
</panel>
<panel name="buttons">
<button label="" name="orbit_btn" tool_tip="Kamera kreisen"/>
<button label="" name="pan_btn" tool_tip="Kamera schwenken"/>
<button label="" name="avatarview_btn" tool_tip="Avatarsicht"/>
<button label="" name="freecamera_btn" tool_tip="Objekt ansehen"/>
</panel>
</floater>

View File

@ -1,32 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="ColorPicker" title="FARBAUSWAHL">
<text name="r_val_text">
Rot:
</text>
<text name="g_val_text">
Grün:
</text>
<text name="b_val_text">
Blau:
</text>
<text name="h_val_text">
Farbton:
</text>
<text name="s_val_text">
Sätt.:
</text>
<text name="l_val_text">
Hell.:
</text>
<check_box label="Sofort übernehmen" name="apply_immediate" />
<button label="" label_selected="" name="color_pipette" />
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn" />
<button label="Auswählen" label_selected="Auswählen" name="select_btn" />
<text name="Current color:">
Aktuelle Farbe:
</text>
<text name="(Drag below to save.)">
(Nach unten ziehen,
um zu speichern)
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="ColorPicker" title="FARBAUSWAHL">
<text name="r_val_text">
Rot:
</text>
<text name="g_val_text">
Grün:
</text>
<text name="b_val_text">
Blau:
</text>
<text name="h_val_text">
Farbton:
</text>
<text name="s_val_text">
Sätt.:
</text>
<text name="l_val_text">
Hell.:
</text>
<check_box label="Jetzt übernehmen" name="apply_immediate"/>
<button label="" label_selected="" name="color_pipette"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn"/>
<button label="OK" label_selected="Auswählen" name="select_btn"/>
<text name="Current color:">
Aktuelle Farbe:
</text>
<text name="(Drag below to save.)">
(Nach unten ziehen,
um zu speichern)
</text>
</floater>

View File

@ -1,136 +1,102 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="godtools floater" title="GOTT-WERKZEUGE">
<tab_container name="GodTools Tabs">
<panel label="Raster" name="grid">
<button label="Alle Benutzer hinauswerfen" label_selected="Alle Benutzer hinauswerfen"
name="Kick all users" width="175" />
<button label="Sichtbarkeits-Cache dieser Regionskarte leeren"
label_selected="Sichtbarkeits-Cache dieser Regionskarte leeren"
name="Flush This Region&apos;s Map Visibility Caches" width="285" />
</panel>
<panel label="Region" name="region">
<text name="Sim Name:" width="55">
Sim-Name:
</text>
<check_box label="Startbereich Einleitung" name="check prelude"
tool_tip="Diese Region zu einem Startbereich machen." />
<check_box label="Sonne fest" name="check fixed sun"
tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundstück“ &gt; „Terrain“." />
<check_box label="Zuhause auf Teleport &#10;zurücksetzen" name="check reset home"
tool_tip="Wenn Einwohner wegteleportieren, ihr Zuhause auf Zielposition setzen." height="32" />
<check_box label="Sichtbar" name="check visible"
tool_tip="Diese Region für Nicht-Götter sichtbar machen." bottom_delta="-32" />
<check_box label="Schaden" name="check damage"
tool_tip="Schaden in dieser Region aktivieren." />
<check_box label="Trafficüberwachung blockieren" name="block dwell"
tool_tip="In dieser Region die Traffic-Berechnung abschalten." />
<check_box label="Terraformen blockieren" name="block terraform"
tool_tip="Das Terraformen von Land verbieten (Benutzen Sie dies um Leuten das Terraformen ihres Landes zu verbieten)" />
<check_box label="Sandkasten" name="is sandbox"
tool_tip="Sandkastenregion ein-/ausschalten." />
<button label="Terrain formen" label_selected="Terrain formen" name="Bake Terrain"
tool_tip="Das aktuelle Terrain als Standard speichern." width="118" />
<button label="Terrain zurücksetzen" label_selected="Terrain zurücksetzen"
name="Revert Terrain"
tool_tip="Das aktuelle Terrain mit dem Standard ersetzen." width="118" />
<button label="Terrain tauschen" label_selected="Terrain tauschen" name="Swap Terrain"
tool_tip="Aktuelles Terrain gegen Standard austauschen." width="118" />
<text name="estate id">
Grundstücks-ID:
</text>
<text name="parent id">
Parent ID:
</text>
<line_editor name="parentestate" tool_tip="Das übergeordnete Grundstück dieser Region" />
<text name="Grid Pos: ">
Raster-Pos.:
</text>
<line_editor name="gridposx" tool_tip="Die X-Rasterposition dieser Region" left_delta="110" width="35" />
<line_editor name="gridposy" tool_tip="Die Y-Rasterposition dieser Region" left_delta="45" width="35" />
<text name="Redirect to Grid: " >
Auf Raster umleiten:
</text>
<line_editor left_delta="110" name="redirectx" width="35" />
<line_editor left_delta="45" name="redirecty" width="35" />
<text name="billable factor text" font="SansSerifSmall" >
Abrechnungsfaktor:
</text>
<text name="land cost text">
L$ pro qm:
</text>
<button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh"
tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren." />
<button label="Übernehmen" label_selected="Übernehmen" name="Apply"
tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen." />
<button label="Region auswählen" label_selected="Region auswählen"
name="Select Region"
tool_tip="Die gesamte Region mit dem Landwerkzeug auswählen." width="130" left="136"/>
<button label="Automatisch speichern" label_selected="Automatisch speichern"
name="Autosave now"
tool_tip="gzipped-Status im Autosave-Verzeichnis speichern." width="130" left="136"/>
</panel>
<panel label="Objekte" name="objects">
<text name="Sim Name:" width="55">
Sim-Name:
</text>
<text name="region name">
Welsh
</text>
<check_box label="Skripts &#10;deaktivieren" name="disable scripts"
tool_tip="Skripts in dieser Region komplett abschalten" />
<check_box label="Kollisionen &#10;deaktivieren" name="disable collisions"
tool_tip="Nicht-Avatar-Kollisionen in dieser Region komplett abschalten" />
<check_box label="Physik deaktivieren" name="disable physics"
tool_tip="Die Physik in dieser Region komplett abschalten" />
<button label="Übernehmen" label_selected="Übernehmen" name="Apply"
tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen." />
<button label="Ziel festlegen" label_selected="Ziel festlegen" name="Set Target"
tool_tip="Den Ziel-Avatar für das Löschen von Objekten auswählen." />
<text name="target_avatar_name">
(kein Ziel)
</text>
<button label="Geskriptete Objekte des Ziels auf anderen Ländern löschen"
label_selected="Geskriptete Objekte des Ziels auf anderen Ländern löschen"
name="Delete Target&apos;s Scripted Objects On Others Land"
tool_tip="Alle dem Ziel gehörenden geskripteten Objekte auf Land, das dem Ziel nicht gehört, löschen. Objekte (nicht kopierfähig) werden zurückgegeben." />
<button label="Geskriptete Objekte des Ziels auf *allen* Ländern löschen"
label_selected="Geskriptete Objekte des Ziels auf *allen* Ländern löschen"
name="Delete Target&apos;s Scripted Objects On *Any* Land"
tool_tip="Alle dem Ziel gehörenden geskripteten Objekte in dieser Region löschen. Objekte (nicht kopierfähig) werden zurückgegeben." />
<button label="*ALLE* Objekte des Ziels löschen"
label_selected="*ALLE* Objekte des Ziels löschen"
name="Delete *ALL* Of Target&apos;s Objects"
tool_tip="Alle dem Ziel gehörenden Objekte in dieser Region löschen. Objekte (nicht kopierfähig) werden zurückgegeben." />
<button label="Top-Kollisionsobjekte" label_selected="Top-Kollisionsobjekte"
name="Get Top Colliders"
tool_tip="Zeigt eine Liste der Objekte mit den meisten Callbacks in der nahen Phase an." width="130" />
<button label="Top-Skripts" label_selected="Top-Skripts" name="Get Top Scripts"
tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit über Skripts ausführen." width="130" />
<button label="Scripting-Übersicht" label_selected="Scripting-Übersicht"
name="Scripts digest"
tool_tip="Zeigt eine Liste aller Skripts mit Häufigkeit an." width="130" />
</panel>
<panel label="Anfrage" name="request">
<text name="Destination:">
Ziel:
</text>
<combo_box name="destination">
<combo_box.item name="item1" label="Auswahl" />
<combo_box.item name="item2" label="Avatar-Region" />
</combo_box>
<text name="Request:">
Anfrage:
</text>
<combo_box name="request">
<combo_box.item name="item1" label="Kollisionsobjekte &lt;Schritte&gt;" />
<combo_box.item name="item2" label="Skripts &lt;Zähler&gt;,&lt;Optionales Muster&gt;" />
<combo_box.item name="item3" label="Objekte &lt;Muster&gt;" />
<combo_box.item name="item4" label="lt;asset_id&gt; erstellen" />
</combo_box>
<text name="Parameter:">
Parameter:
</text>
<button label="Anfrage" label_selected="Anfrage" name="Make Request" />
</panel>
</tab_container>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="godtools floater" title="GOTT-WERKZEUGE">
<tab_container name="GodTools Tabs">
<panel label="Raster" name="grid">
<button label="Alle Benutzer hinauswerfen" label_selected="Alle Benutzer hinauswerfen" name="Kick all users" width="175"/>
<button label="Sichtbarkeits-Cache dieser Regionskarte leeren" label_selected="Sichtbarkeits-Cache dieser Regionskarte leeren" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
</panel>
<panel label="Region" name="region">
<text name="Sim Name:" width="55">
Sim-Name:
</text>
<check_box label="Startbereich Einleitung" name="check prelude" tool_tip="Diese Region zu einem Startbereich machen."/>
<check_box label="Sonne fest" name="check fixed sun" tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundstück“ &gt; „Terrain“."/>
<check_box height="32" label="Zuhause auf Teleport
zurücksetzen" name="check reset home" tool_tip="Wenn Einwohner wegteleportieren, ihr Zuhause auf Zielposition setzen."/>
<check_box bottom_delta="-32" label="Sichtbar" name="check visible" tool_tip="Diese Region für Nicht-Götter sichtbar machen."/>
<check_box label="Schaden" name="check damage" tool_tip="Schaden in dieser Region aktivieren."/>
<check_box label="Trafficüberwachung blockieren" name="block dwell" tool_tip="In dieser Region die Traffic-Berechnung abschalten."/>
<check_box label="Terraformen blockieren" name="block terraform" tool_tip="Das Terraformen von Land verbieten (Benutzen Sie dies um Leuten das Terraformen ihres Landes zu verbieten)"/>
<check_box label="Sandkasten" name="is sandbox" tool_tip="Sandkastenregion ein-/ausschalten."/>
<button label="Terrain formen" label_selected="Terrain formen" name="Bake Terrain" tool_tip="Das aktuelle Terrain als Standard speichern." width="118"/>
<button label="Terrain zurücksetzen" label_selected="Terrain zurücksetzen" name="Revert Terrain" tool_tip="Das aktuelle Terrain mit dem Standard ersetzen." width="118"/>
<button label="Terrain tauschen" label_selected="Terrain tauschen" name="Swap Terrain" tool_tip="Aktuelles Terrain gegen Standard austauschen." width="118"/>
<text name="estate id">
Grundstücks-ID:
</text>
<text name="parent id">
Parent ID:
</text>
<line_editor name="parentestate" tool_tip="Das übergeordnete Grundstück dieser Region"/>
<text name="Grid Pos: ">
Raster-Pos.:
</text>
<line_editor left_delta="110" name="gridposx" tool_tip="Die X-Rasterposition dieser Region" width="35"/>
<line_editor left_delta="45" name="gridposy" tool_tip="Die Y-Rasterposition dieser Region" width="35"/>
<text name="Redirect to Grid: ">
Auf Raster umleiten:
</text>
<line_editor left_delta="110" name="redirectx" width="35"/>
<line_editor left_delta="45" name="redirecty" width="35"/>
<text font="SansSerifSmall" name="billable factor text">
Abrechnungsfaktor:
</text>
<text name="land cost text">
L$ pro qm:
</text>
<button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh" tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren."/>
<button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/>
<button label="Region auswählen" label_selected="Region auswählen" left="136" name="Select Region" tool_tip="Die gesamte Region mit dem Landwerkzeug auswählen." width="130"/>
<button label="Automatisch speichern" label_selected="Automatisch speichern" left="136" name="Autosave now" tool_tip="gzipped-Status im Autosave-Verzeichnis speichern." width="130"/>
</panel>
<panel label="Objekte" name="objects">
<panel.string name="no_target">
(kein Ziel)
</panel.string>
<text name="Sim Name:" width="55">
Sim-Name:
</text>
<text name="region name">
Welsh
</text>
<check_box label="Skripts
deaktivieren" name="disable scripts" tool_tip="Skripts in dieser Region komplett abschalten"/>
<check_box label="Kollisionen
deaktivieren" name="disable collisions" tool_tip="Nicht-Avatar-Kollisionen in dieser Region komplett abschalten"/>
<check_box label="Physik deaktivieren" name="disable physics" tool_tip="Die Physik in dieser Region komplett abschalten"/>
<button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/>
<button label="Ziel festlegen" label_selected="Ziel festlegen" name="Set Target" tool_tip="Den Ziel-Avatar für das Löschen von Objekten auswählen."/>
<text name="target_avatar_name">
(kein Ziel)
</text>
<button label="Geskriptete Objekte des Ziels auf anderen Ländern löschen" label_selected="Geskriptete Objekte des Ziels auf anderen Ländern löschen" name="Delete Target&apos;s Scripted Objects On Others Land" tool_tip="Alle dem Ziel gehörenden geskripteten Objekte auf Land, das dem Ziel nicht gehört, löschen. Objekte (nicht kopierfähig) werden zurückgegeben."/>
<button label="Geskriptete Objekte des Ziels auf *allen* Ländern löschen" label_selected="Geskriptete Objekte des Ziels auf *allen* Ländern löschen" name="Delete Target&apos;s Scripted Objects On *Any* Land" tool_tip="Alle dem Ziel gehörenden geskripteten Objekte in dieser Region löschen. Objekte (nicht kopierfähig) werden zurückgegeben."/>
<button label="*ALLE* Objekte des Ziels löschen" label_selected="*ALLE* Objekte des Ziels löschen" name="Delete *ALL* Of Target&apos;s Objects" tool_tip="Alle dem Ziel gehörenden Objekte in dieser Region löschen. Objekte (nicht kopierfähig) werden zurückgegeben."/>
<button label="Top-Kollisionsobjekte" label_selected="Top-Kollisionsobjekte" name="Get Top Colliders" tool_tip="Zeigt eine Liste der Objekte mit den meisten Callbacks in der nahen Phase an." width="130"/>
<button label="Top-Skripts" label_selected="Top-Skripts" name="Get Top Scripts" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit über Skripts ausführen." width="130"/>
<button label="Scripting-Übersicht" label_selected="Scripting-Übersicht" name="Scripts digest" tool_tip="Zeigt eine Liste aller Skripts mit Häufigkeit an." width="130"/>
</panel>
<panel label="Anfrage" name="request">
<text name="Destination:">
Ziel:
</text>
<combo_box name="destination">
<combo_box.item label="Auswahl" name="item1"/>
<combo_box.item label="Avatar-Region" name="item2"/>
</combo_box>
<text name="Request:">
Anfrage:
</text>
<combo_box name="request">
<combo_box.item label="Kollisionsobjekte &lt;Schritte&gt;" name="item1"/>
<combo_box.item label="Skripts &lt;Zähler&gt;,&lt;Optionales Muster&gt;" name="item2"/>
<combo_box.item label="Objekte &lt;Muster&gt;" name="item3"/>
<combo_box.item label="lt;asset_id&gt; erstellen" name="item4"/>
</combo_box>
<text name="Parameter:">
Parameter:
</text>
<button label="Anfrage" label_selected="Anfrage" name="Make Request"/>
</panel>
</tab_container>
</floater>

View File

@ -1,30 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Hardware Settings Floater" title="HARDWARE-EINSTELLUNGEN">
<text name="Filtering:">
Filtern:
</text>
<check_box label="Anisotropische Filterung (langsamer, wenn aktiviert)" name="ani" />
<text name="Antialiasing:">
Antialiasing:
</text>
<combo_box label="Antialiasing" name="fsaa">
<combo_box.item name="FSAADisabled" label="Deaktiviert" />
<combo_box.item name="2x" label="2x" />
<combo_box.item name="4x" label="4x" />
<combo_box.item name="8x" label="8x" />
<combo_box.item name="16x" label="16x" />
</combo_box>
<spinner label="Gamma:" name="gamma" />
<text name="(brightness, lower is brighter)">
(Helligkeit, niedriger ist heller, 0=Standard)
</text>
<text name="Enable VBO:">
VBO aktivieren:
</text>
<check_box label="OpenGL Vertex-Buffer-Objekte aktivieren" name="vbo"
tool_tip="Wenn Sie über moderne Grafikhardware verfügen, können Sie durch Aktivieren dieser Option die Geschwindigkeit verbessern. Bei alter Hardware sind die VBO oft schlecht implementiert, was zu Abstürzen führen kann, wenn diese Option aktiviert ist." />
<slider label="Texturspeicher (MB):" name="GrapicsCardTextureMemory"
tool_tip="Speicherplatz, der für Texturen zur Verfügung steht. In der Regel handelt es sich um Grafikkartenspeicher. Ein kleinerer Wert kann die Geschwindigkeit erhöhen, aber auch zu Texturunschärfen führen." />
<spinner label="Nebeldistanzverhältnis:" name="fog" />
<button label="OK" label_selected="OK" name="OK" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Hardware Settings Floater" title="HARDWARE-EINSTELLUNGEN">
<text name="Filtering:">
Filtern:
</text>
<check_box label="Anisotropische Filterung (langsamer, wenn aktiviert)" name="ani"/>
<text name="Antialiasing:">
Antialiasing:
</text>
<combo_box label="Antialiasing" name="fsaa">
<combo_box.item label="Deaktiviert" name="FSAADisabled"/>
<combo_box.item label="2x" name="2x"/>
<combo_box.item label="4x" name="4x"/>
<combo_box.item label="8x" name="8x"/>
<combo_box.item label="16x" name="16x"/>
</combo_box>
<spinner label="Gamma:" name="gamma"/>
<text name="(brightness, lower is brighter)">
(0 = Standard-Helligkeit, weniger = heller)
</text>
<text name="Enable VBO:">
VBO aktivieren:
</text>
<check_box label="OpenGL Vertex-Buffer-Objekte aktivieren" name="vbo" tool_tip="Wenn Sie über moderne Grafikhardware verfügen, können Sie durch Aktivieren dieser Option die Geschwindigkeit verbessern. Bei alter Hardware sind die VBO oft schlecht implementiert, was zu Abstürzen führen kann, wenn diese Option aktiviert ist."/>
<slider label="Texturspeicher (MB):" name="GrapicsCardTextureMemory" tool_tip="Speicherplatz, der für Texturen zur Verfügung steht. In der Regel handelt es sich um Grafikkartenspeicher. Ein kleinerer Wert kann die Geschwindigkeit erhöhen, aber auch zu Texturunschärfen führen."/>
<spinner label="Nebeldistanzverhältnis:" name="fog"/>
<button label="OK" label_selected="OK" name="OK"/>
</floater>

View File

@ -1,32 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Image Preview" title="">
<text name="name_label">
Name:
</text>
<text name="description_label">
Beschreibung:
</text>
<text name="preview_label">
Bildvorschau als:
</text>
<combo_box label="Kleidungstyp" name="clothing_type_combo">
<combo_box.item name="Image" label="Bild" />
<combo_box.item name="Hair" label="Haar" />
<combo_box.item name="FemaleHead" label="Kopf (Frau)" />
<combo_box.item name="FemaleUpperBody" label="Oberkörper (Frau)" />
<combo_box.item name="FemaleLowerBody" label="Unterkörper (Frau)" />
<combo_box.item name="MaleHead" label="Kopf (Mann)" />
<combo_box.item name="MaleUpperBody" label="Oberkörper (Mann)" />
<combo_box.item name="MaleLowerBody" label="Unterkörper (Mann)" />
<combo_box.item name="Skirt" label="Rock" />
<combo_box.item name="SculptedPrim" label="Geformtes Primitiv" />
</combo_box>
<text name="bad_image_text">
Bild kann nicht gelesen werden.
Speichern Sie das Bild als 24 Bit Targa (.tga).
</text>
<check_box label="Verlustfreie Komprimierung verwenden" name="lossless_check" />
<button label="Abbrechen" name="cancel_btn" />
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Image Preview" title="">
<text name="name_label">
Name:
</text>
<text name="description_label">
Beschreibung:
</text>
<text name="preview_label">
Bildvorschau als:
</text>
<combo_box label="Kleidungstyp" name="clothing_type_combo">
<combo_box.item label="Bild" name="Image"/>
<combo_box.item label="Haare" name="Hair"/>
<combo_box.item label="Kopf (Frau)" name="FemaleHead"/>
<combo_box.item label="Oberkörper (Frau)" name="FemaleUpperBody"/>
<combo_box.item label="Unterkörper (Frau)" name="FemaleLowerBody"/>
<combo_box.item label="Kopf (Mann)" name="MaleHead"/>
<combo_box.item label="Oberkörper (Mann)" name="MaleUpperBody"/>
<combo_box.item label="Unterkörper (Mann)" name="MaleLowerBody"/>
<combo_box.item label="Rock" name="Skirt"/>
<combo_box.item label="Geformtes Primitiv" name="SculptedPrim"/>
</combo_box>
<text name="bad_image_text">
Bild kann nicht gelesen werden.
Speichern Sie das Bild als 24 Bit Targa (.tga).
</text>
<check_box label="Verlustfreie Komprimierung verwenden" name="lossless_check"/>
<button label="Abbrechen" name="cancel_btn"/>
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn"/>
</floater>

View File

@ -1,81 +1,67 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="item properties" title="INVENTAROBJEKT-EIGENSCHAFTEN">
<text name="LabelItemNameTitle">
Name:
</text>
<text name="LabelItemDescTitle">
Beschreibung:
</text>
<text name="LabelCreatorTitle">
Ersteller:
</text>
<text name="LabelCreatorName">
Nicole Linden
</text>
<button label="Profil..." label_selected="" name="BtnCreator" />
<text name="LabelOwnerTitle">
Eigentümer:
</text>
<text name="LabelOwnerName">
Thrax Linden
</text>
<button label="Profil..." label_selected="" name="BtnOwner" />
<text name="LabelAcquiredTitle">
Erworben:
</text>
<text name="LabelAcquiredDate">
Mittwoch, 24. Mai 2006, 12:50:46
</text>
<text name="OwnerLabel">
Sie können:
</text>
<check_box label="Bearbeiten" name="CheckOwnerModify" />
<check_box label="Kopieren" name="CheckOwnerCopy" left_delta="85" />
<check_box label="Verkaufen/Weggeben" name="CheckOwnerTransfer" />
<text name="BaseMaskDebug">
B:
</text>
<text name="OwnerMaskDebug">
O:
</text>
<text name="GroupMaskDebug">
G:
</text>
<text name="EveryoneMaskDebug">
E:
</text>
<text name="NextMaskDebug">
N:
</text>
<check_box label="Mit Gruppe teilen" name="CheckShareWithGroup" />
<check_box label="Kopieren allen erlauben" name="CheckEveryoneCopy" />
<text name="NextOwnerLabel" width="150">
Nächster Eigentümer kann:
</text>
<check_box label="Bearbeiten" name="CheckNextOwnerModify" />
<check_box label="Kopieren" name="CheckNextOwnerCopy" left_delta="85" />
<check_box label="Verkaufen/Weggeben" name="CheckNextOwnerTransfer" />
<text name="SaleLabel">
Objekt markieren:
</text>
<check_box label="Zum Verkauf" name="CheckPurchase" />
<radio_group name="RadioSaleType" left_delta="85" width="245" >
<radio_item name="radio" label="Original" />
<radio_item name="radio2" label="Kopieren" />
</radio_group>
<text name="TextPrice">
Preis: L$
</text>
<text name="unknown">
(unbekannt)
</text>
<text name="public">
(öffentlich)
</text>
<text name="you_can">
Sie können:
</text>
<text name="owner_can">
Eigentümer kann:
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="item properties" title="INVENTAROBJEKT-EIGENSCHAFTEN">
<floater.string name="unknown">
(unbekannt)
</floater.string>
<floater.string name="public">
(öffentlich)
</floater.string>
<floater.string name="you_can">
Sie können:
</floater.string>
<floater.string name="owner_can">
Eigentümer kann:
</floater.string>
<text name="LabelItemNameTitle">
Name:
</text>
<text name="LabelItemDescTitle">
Beschreibung:
</text>
<text name="LabelCreatorTitle">
Ersteller:
</text>
<text name="LabelCreatorName">
Nicole Linden
</text>
<button label="Profil..." label_selected="" name="BtnCreator"/>
<text name="LabelOwnerTitle">
Eigentümer:
</text>
<text name="LabelOwnerName">
Thrax Linden
</text>
<button label="Profil..." label_selected="" name="BtnOwner"/>
<text name="LabelAcquiredTitle">
Erworben:
</text>
<text name="LabelAcquiredDate">
Mittwoch, 24. Mai 2006, 12:50:46
</text>
<text name="OwnerLabel">
Sie:
</text>
<check_box label="Bearbeiten" name="CheckOwnerModify"/>
<check_box label="Kopieren" left_delta="85" name="CheckOwnerCopy"/>
<check_box label="Wiederverkaufen" name="CheckOwnerTransfer"/>
<text name="AnyoneLabel">
Jeder:
</text>
<check_box label="Kopieren" name="CheckEveryoneCopy"/>
<text name="GroupLabel">
Gruppe:
</text>
<check_box label="Teilen" name="CheckShareWithGroup"/>
<text name="NextOwnerLabel" width="150">
Nächster Eigentümer:
</text>
<check_box label="Bearbeiten" name="CheckNextOwnerModify"/>
<check_box label="Kopieren" left_delta="85" name="CheckNextOwnerCopy"/>
<check_box label="Wiederverkaufen" name="CheckNextOwnerTransfer"/>
<check_box label="Zum Verkauf" name="CheckPurchase"/>
<combo_box name="combobox sale copy">
<combo_box.item label="Kopieren" name="Copy"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
<spinner label="Preis: L$" name="Edit Cost"/>
</floater>

View File

@ -1,40 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="land holdings floater" title="MEIN LAND">
<scroll_list name="parcel list">
<column label="Parzellenname" name="name"/>
<column label="Region" name="location"/>
<column label="Typ" name="type"/>
<column label="Gebiet" name="area"/>
<column label="" name="hidden"/>
</scroll_list>
<button label="Teleportieren" label_selected="Teleportieren" name="Teleport" tool_tip="Zum Mittelpunkt dieses Landes teleportieren."/>
<button label="Auf Karte" label_selected="Auf Karte" name="Show on Map" tool_tip="Dieses Land auf der Weltkarte anzeigen."/>
<text name="contrib_label">
Beiträge zu Ihren Gruppen:
</text>
<scroll_list name="grant list">
<column label="Gruppe" name="group"/>
<column label="Gebiet" name="area"/>
</scroll_list>
<text name="allowed_label">
Zulässiger Landbesitz bei aktuellem Zahlungsplan:
</text>
<text name="allowed_text">
[AREA] qm
</text>
<text name="current_label">
Aktueller Landbesitz:
</text>
<text name="current_text">
[AREA] qm
</text>
<text name="available_label">
Für Landkäufe verfügbar:
</text>
<text name="available_text">
[AREA] qm
</text>
<string name="area_string">
[AREA] qm
</string>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="land holdings floater" title="MEIN LAND">
<scroll_list name="parcel list">
<column label="Parzelle" name="name"/>
<column label="Region" name="location"/>
<column label="Typ" name="type"/>
<column label="Gebiet" name="area"/>
<column label="" name="hidden"/>
</scroll_list>
<button label="Teleportieren" label_selected="Teleportieren" name="Teleport" tool_tip="Zum Mittelpunkt dieses Landes teleportieren."/>
<button label="Karte" label_selected="Karte" name="Show on Map" tool_tip="Dieses Land auf der Weltkarte anzeigen."/>
<text name="contrib_label">
Beiträge zu Ihren Gruppen:
</text>
<scroll_list name="grant list">
<column label="Gruppe" name="group"/>
<column label="Gebiet" name="area"/>
</scroll_list>
<text name="allowed_label">
Zulässiger Landbesitz bei aktuellem Zahlungsplan:
</text>
<text name="allowed_text">
[AREA] qm
</text>
<text name="current_label">
Aktueller Landbesitz:
</text>
<text name="current_text">
[AREA] qm
</text>
<text name="available_label">
Für Landkäufe verfügbar:
</text>
<text name="available_text">
[AREA] qm
</text>
<string name="area_string">
[AREA] qm
</string>
</floater>

View File

@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="script ed float" title="SKRIPT: NEUES SKRIPT">
<button label="Zurücksetzen" label_selected="Zurücksetzen" name="Reset" />
<check_box label="Läuft" name="running" />
<check_box label="Mono" name="mono" />
<text name="not_allowed">
Sie können dieses Skript nicht anzeigen.
</text>
<string name="script_running">
Läuft
</string>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="script ed float" title="SKRIPT: NEUES SKRIPT">
<floater.string name="not_allowed">
Dieses Skript kann nicht angezeigt oder bearbeitet werden, da als Berechtigung &quot;kein kopieren&quot; festgelegt wurde. Um ein Skript innerhalb eines Objektes anzuzeigen oder zu bearbeiten, benötigen Sie die vollständige Berechtigung.
</floater.string>
<floater.string name="script_running">
Läuft
</floater.string>
<floater.string name="Title">
Skript: [NAME]
</floater.string>
<button label="Zurücksetzen" label_selected="Zurücksetzen" name="Reset"/>
<check_box initial_value="true" label="Läuft" name="running"/>
<check_box initial_value="true" label="Mono" name="mono"/>
</floater>

View File

@ -1,51 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Map">
<floater.string name="mini_map_north">
N
</floater.string>
<floater.string name="mini_map_east">
O
</floater.string>
<floater.string name="mini_map_west">
W
</floater.string>
<floater.string name="mini_map_south">
S
</floater.string>
<floater.string name="mini_map_southeast">
SO
</floater.string>
<floater.string name="mini_map_northeast">
NO
</floater.string>
<floater.string name="mini_map_southwest">
SW
</floater.string>
<floater.string name="mini_map_northwest">
NW
</floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
<text label="O" name="floater_map_east" text="O">
O
</text>
<text label="W" name="floater_map_west" text="W">
W
</text>
<text label="S" name="floater_map_south" text="S">
S
</text>
<text label="SO" name="floater_map_southeast" text="SO">
SO
</text>
<text label="NO" name="floater_map_northeast" text="NO">
NO
</text>
<text label="SW" name="floater_map_southwest" text="SW">
SW
</text>
<text label="NW" name="floater_map_northwest" text="NW">
NW
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Map">
<floater.string name="mini_map_north">
N
</floater.string>
<floater.string name="mini_map_east">
O
</floater.string>
<floater.string name="mini_map_west">
W
</floater.string>
<floater.string name="mini_map_south">
S
</floater.string>
<floater.string name="mini_map_southeast">
SO
</floater.string>
<floater.string name="mini_map_northeast">
NO
</floater.string>
<floater.string name="mini_map_southwest">
SW
</floater.string>
<floater.string name="mini_map_northwest">
NW
</floater.string>
<floater.string name="ToolTipMsg">
[AGENT][REGION](Karte mit Doppelklick öffnen)
</floater.string>
<text label="N" name="floater_map_north" text="N">
N
</text>
<text label="O" name="floater_map_east" text="O">
O
</text>
<text label="W" name="floater_map_west" text="W">
W
</text>
<text label="S" name="floater_map_south" text="S">
S
</text>
<text label="SO" name="floater_map_southeast" text="SO">
SO
</text>
<text label="NO" name="floater_map_northeast" text="NO">
NO
</text>
<text label="SW" name="floater_map_southwest" text="SW">
SW
</text>
<text label="NW" name="floater_map_northwest" text="NW">
NW
</text>
</floater>

View File

@ -1,19 +1,30 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_about" title="MEDIENBROWSER">
<layout_stack name="stack1">
<layout_panel name="nav_controls">
<button label="Zurück" name="back" />
<button label="Weiter" name="forward" />
<button label="Neu laden" name="reload" />
<button label="Los" name="go" />
</layout_panel>
<layout_panel name="parcel_owner_controls">
<button label="Aktuelle URL an Parzelle senden" name="assign" />
</layout_panel>
<layout_panel name="external_controls">
<button label="In meinem Browser öffnen" name="open_browser" />
<check_box label="Immer in meinem Browser öffnen" name="open_always" />
<button label="Schließen" name="close" />
</layout_panel>
</layout_stack>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_about" title="MEDIENBROWSER">
<floater.string name="home_page_url">
http://www.secondlife.com
</floater.string>
<floater.string name="support_page_url">
http://support.secondlife.com
</floater.string>
<layout_stack name="stack1">
<layout_panel name="nav_controls">
<button label="Zurück" name="back"/>
<button label="Weiter" name="forward"/>
<button label="Neu laden" name="reload"/>
<button label="Los" name="go"/>
</layout_panel>
<layout_panel name="time_controls">
<button label="zurückspulen" name="rewind"/>
<button label="anhalten" name="stop"/>
<button label="vorwärts" name="seek"/>
</layout_panel>
<layout_panel name="parcel_owner_controls">
<button label="Aktuelle URL an Parzelle senden" name="assign"/>
</layout_panel>
<layout_panel name="external_controls">
<button label="In meinem Browser öffnen" name="open_browser"/>
<check_box label="Immer in meinem Browser öffnen" name="open_always"/>
<button label="Schließen" name="close"/>
</layout_panel>
</layout_stack>
</floater>

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="MemLeak" title="SPEICHERVERLUST-SIMULATION">
<spinner label="Verlustgeschwindigkeit (Bytes pro Frame):" name="leak_speed" />
<spinner label="Max. Speicherverlust (MB):" name="max_leak" />
<text name="total_leaked_label">
Aktueller Speicherverlust:[SIZE] KB
</text>
<text name="note_label_1">
[NOTE1]
</text>
<text name="note_label_2">
[NOTE2]
</text>
<button label="Start" name="start_btn" />
<button label="Stopp" name="stop_btn" />
<button label="Freigeben" name="release_btn" />
<button label="Schließen" name="close_btn" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="MemLeak" title="Speicherverlust simulieren">
<spinner label="Verlustgeschwindigkeit (Bytes pro Frame):" name="leak_speed"/>
<spinner label="Max. Speicherverlust (MB):" name="max_leak"/>
<text name="total_leaked_label">
Aktueller Speicherverlust:[SIZE] KB
</text>
<text name="note_label_1">
[NOTE1]
</text>
<text name="note_label_2">
[NOTE2]
</text>
<button label="Start" name="start_btn"/>
<button label="Stopp" name="stop_btn"/>
<button label="Freigeben" name="release_btn"/>
<button label="Schließen" name="close_btn"/>
</floater>

View File

@ -1,16 +1,35 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="move_floater">
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="Nach links" />
<button label="" label_selected="" name="turn right btn" tool_tip="Nach rechts" />
<button label="" label_selected="" name="move up btn"
tool_tip="Springen oder Steigflug" />
<button label="" label_selected="" name="move down btn" tool_tip="Ducken oder Sinkflug" />
<button label="Fliegen" label_selected="Fliegen" name="fly btn"
tool_tip="Fliegen/Landen" />
<joystick_slide name="slide left btn" tool_tip="Nach links" />
<joystick_slide name="slide right btn" tool_tip="Nach rechts" />
<joystick_turn name="forward btn" tool_tip="Nach vorn" />
<joystick_turn name="backward btn" tool_tip="Nach hinten" />
</panel>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="move_floater">
<string name="walk_forward_tooltip">
Vorwärts gehen (Nach-oben-Pfeil oder W drücken)
</string>
<string name="walk_back_tooltip">
Rückwärts gehen (Nach-Unten-Pfeil oder S drücken)
</string>
<string name="run_forward_tooltip">
Vorwärts rennen (Nach-oben-Pfeil oder W drücken)
</string>
<string name="run_back_tooltip">
Rückwärts rennen (Nach-Unten-Pfeil oder S drücken)
</string>
<string name="fly_forward_tooltip">
Vorwärts fliegen (Nach-oben-Pfeil oder W drücken)
</string>
<string name="fly_back_tooltip">
Rückwärts fliegen (Nach-Unten-Pfeil oder S drücken)
</string>
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="Nach links (Links-Pfeil oder A drücken)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Nach rechts (Rechts-Pfeil oder D drücken)"/>
<button label="" label_selected="" name="move up btn" tool_tip="Nach oben fliegen, „E&quot; drücken"/>
<button label="" label_selected="" name="move down btn" tool_tip="Nach unten fliegen, „C&quot; drücken"/>
<joystick_turn name="forward btn" tool_tip="Vorwärts gehen (Nach-oben-Pfeil oder W drücken)"/>
<joystick_turn name="backward btn" tool_tip="Rückwärts gehen (Nach-Unten-Pfeil oder S drücken)"/>
</panel>
<panel name="panel_modes">
<button label="" name="mode_walk_btn" tool_tip="Gehen"/>
<button label="" name="mode_run_btn" tool_tip="Rennen"/>
<button label="" name="mode_fly_btn" tool_tip="Fliegen"/>
<button label="Landen" name="stop_fly_btn" tool_tip="Landen"/>
</panel>
</floater>

View File

@ -1,21 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Give Money" title="">
<button label="1 L$" label_selected="1 L$" name="fastpay 1" />
<button label="5 L$" label_selected="5 L$" name="fastpay 5" />
<button label="10 L$" label_selected="10 L$" name="fastpay 10" />
<button label="20 L$" label_selected="20 L$" name="fastpay 20" />
<button label="Zahlen" label_selected="Zahlen" name="pay btn" />
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn" />
<text name="payee_label" width="130">
Einwohner bezahlen:
</text>
<text name="payee_name" left="130">
[FIRST] [LAST]
</text>
<text name="fastpay text">
Schnellzahlung:
</text>
<text name="amount text">
Betrag:
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Give Money" title="">
<text name="payee_label" width="130">
Zahlen:
</text>
<icon name="icon_person" tool_tip="Person"/>
<text left="130" name="payee_name">
[FIRST] [LAST]
</text>
<button label="1 L$" label_selected="1 L$" name="fastpay 1"/>
<button label="5 L$" label_selected="5 L$" name="fastpay 5"/>
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<text name="amount text">
Oder Betrag auswählen:
</text>
<button label="Zahlen" label_selected="Zahlen" name="pay btn"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn"/>
</floater>

View File

@ -1,30 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Give Money" title="">
<text name="payee_group" width="105">
Gruppe bezahlen:
</text>
<text name="payee_resident" width="118">
Einwohner bezahlen:
</text>
<text name="payee_name" left="128" width="168">
[FIRST] [LAST]
</text>
<text name="object_name_label" halign="left">
Über Objekt:
</text>
<text name="object_name_text" left="105">
...
</text>
<text name="fastpay text" width="95" halign="left">
Schnellzahlung:
</text>
<text name="amount text">
Betrag:
</text>
<button label="1 L$" label_selected="1 L$" name="fastpay 1" left="105" />
<button label="5 L$" label_selected="5 L$" name="fastpay 5" left="190" />
<button label="10 L$" label_selected="10 L$" name="fastpay 10" left="105" />
<button label="20 L$" label_selected="20 L$" name="fastpay 20" left="190" />
<button label="Zahlen" label_selected="Zahlen" name="pay btn" />
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn" width="76" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Give Money" title="">
<string name="payee_group" width="105">
Gruppe bezahlen:
</string>
<string name="payee_resident" width="118">
Einwohner bezahlen:
</string>
<icon name="icon_person" tool_tip="Person"/>
<text left="128" name="payee_name" width="168">
[FIRST] [LAST]
</text>
<text halign="left" name="object_name_label">
Über Objekt:
</text>
<icon name="icon_object" tool_tip="Objekte"/>
<text left="105" name="object_name_text">
...
</text>
<button label="1 L$" label_selected="1 L$" left="105" name="fastpay 1"/>
<button label="5 L$" label_selected="5 L$" left="190" name="fastpay 5"/>
<button label="10 L$" label_selected="10 L$" left="105" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" left="190" name="fastpay 20"/>
<text name="amount text">
Oder Betrag auswählen:
</text>
<button label="Zahlen" label_selected="Zahlen" name="pay btn"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn" width="76"/>
</floater>

View File

@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="preview_anim">
<text name="desc txt">
Beschreibung:
</text>
<line_editor left="98" name="desc" width="189" />
<button label="In Welt abspielen" label_selected="Stopp" name="Anim play btn"
tool_tip="Gibt diese Animation so wieder, dass andere sie sehen können." width="116" />
<button label="Lokal wiedergeben" label_selected="Stopp" name="Anim audition btn"
tool_tip="Gibt diese Animation so wieder, dass nur Sie sie sehen." left="171" width="116" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_anim">
<floater.string name="Title">
Animation: [NAME]
</floater.string>
<text name="desc txt">
Beschreibung:
</text>
<line_editor left="98" name="desc" width="189"/>
<button label="In Welt abspielen" label_selected="Stopp" name="Anim play btn" tool_tip="Gibt diese Animation so wieder, dass andere sie sehen können." width="116"/>
<button label="Lokal wiedergeben" label_selected="Stopp" left="171" name="Anim audition btn" tool_tip="Gibt diese Animation so wieder, dass nur Sie sie sehen." width="116"/>
</floater>

View File

@ -1,2 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="classified_preview" title="VERTRAULICHE INFORMATIONEN" />
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="classified_preview" title="VERTRAULICHE INFORMATIONEN">
<floater.string name="Title">
Anzeige: [NAME]
</floater.string>
</floater>

View File

@ -1,2 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="event_preview" title="EVENT-INFORMATIONEN" />
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="event_preview" title="EVENT-INFORMATIONEN">
<floater.string name="Title">
Veranstaltung: [NAME]
</floater.string>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Gesture" title="Gesten-Tastaturbefehl"/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Gesture" title="Gesten-Tastaturbefehl"/>

View File

@ -1,16 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="preview notecard" title="HINWEIS:">
<button label="Speichern" label_selected="Speichern" name="Save" />
<text name="desc txt">
Beschreibung:
</text>
<text_editor name="Notecard Editor">
Wird geladen...
</text_editor>
<text name="no_object">
Es wurde kein Objekt gefunden, das diese Notiz enthält.
</text>
<text name="not_allowed">
Sie können diese Notiz nicht anzeigen.
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview notecard" title="HINWEIS:">
<floater.string name="no_object">
Es wurde kein Objekt gefunden, das diese Notiz enthält.
</floater.string>
<floater.string name="not_allowed">
Ihnen fehlt die Berechtigung zur Anzeige dieser Notizkarte.
</floater.string>
<floater.string name="Title">
Notizkarte: [NAME]
</floater.string>
<floater.string label="Speichern" label_selected="Speichern" name="Save">
Speichern
</floater.string>
<text name="desc txt">
Beschreibung:
</text>
<text_editor name="Notecard Editor">
Wird geladen...
</text_editor>
<button label="Speichern" label_selected="Speichern" name="Save"/>
</floater>

View File

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="preview_sound">
<text name="desc txt">
Beschreibung:
</text>
<button label="In Welt abspielen" label_selected="In Welt abspielen"
name="Sound play btn"
tool_tip="Gibt diesen Sound so wieder, dass andere ihn hören können." />
<button label="Lokal wiedergeben" label_selected="Lokal wiedergeben"
name="Sound audition btn"
tool_tip="Gibt diesen Sound so wieder, dass nur Sie ihn hören." />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_sound">
<floater.string name="Title">
Sound: [NAME]
</floater.string>
<text name="desc txt">
Beschreibung:
</text>
<button label="In Welt abspielen" label_selected="In Welt abspielen" name="Sound play btn" tool_tip="Gibt diesen Sound so wieder, dass andere ihn hören können."/>
<button label="Lokal wiedergeben" label_selected="Lokal wiedergeben" name="Sound audition btn" tool_tip="Gibt diesen Sound so wieder, dass nur Sie ihn hören."/>
</floater>

View File

@ -1,9 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="preview_texture">
<text name="desc txt">
Beschreibung:
</text>
<text name="dimensions">
Maße: [WIDTH] x [HEIGHT]
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_texture">
<floater.string name="Title">
Textur: [NAME]
</floater.string>
<floater.string name="Copy">
In Inventar kopieren
</floater.string>
<text name="desc txt">
Beschreibung:
</text>
<button label="Speichern" name="Keep"/>
<button label="Löschen" name="Discard"/>
<text name="dimensions">
[WIDTH]px x [HEIGHT]px
</text>
</floater>

View File

@ -1,106 +1,104 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_report_abuse" title="MISSBRAUCH MELDEN">
<texture_picker label="" name="screenshot"/>
<check_box bottom_delta="-20" label="Screenshot einschließen" name="screen_check"/>
<text name="reporter_title">
Melder:
</text>
<text name="reporter_field">
Loremipsum Dolorsitamut
</text>
<text name="sim_title">
Region:
</text>
<text name="sim_field">
Name der Region
</text>
<text name="pos_title">
Position:
</text>
<text name="pos_field">
{128.1, 128.1, 15.4}
</text>
<text bottom_delta="-38" height="32" name="select_object_label">
Klicken Sie auf die Schaltfläche,
dann auf das Objekt:
</text>
<button label="" label_selected="" name="pick_btn" tool_tip="Objektauswahl Wählen Sie ein Objekt als Thema dieses Berichts aus"/>
<text name="object_name_label">
Name:
</text>
<text name="object_name">
Consetetur Sadipscing
</text>
<text name="owner_name_label">
Eigentümer:
</text>
<text name="owner_name">
Hendrerit Vulputate
</text>
<combo_box name="category_combo" tool_tip="Kategorie -- wählen Sie die Kategorie aus, die am besten auf diesen Bericht zutrifft">
<combo_box.item name="Select_category" label="Kategorie auswählen"/>
<combo_box.item name="Age__Age_play" label="Alter&gt; Age-Play"/>
<combo_box.item name="Age__Adult_resident_on_Teen_Second_Life" label="Alter&gt; Erwachsener Einwohner in Teen Second Life"/>
<combo_box.item name="Age__Underage_resident_outside_of_Teen_Second_Life" label="Alter &gt; Minderjähriger Einwohner außerhalb Teen Second Life"/>
<combo_box.item name="Assault__Combat_sandbox___unsafe_area" label="Angriff&gt; Kampf-Sandbox / unsichere Region"/>
<combo_box.item name="Assault__Safe_area" label="Angriff&gt; Sichere Region"/>
<combo_box.item name="Assault__Weapons_testing_sandbox" label="Angriff &gt; Sandbox für Waffentest"/>
<combo_box.item name="Commerce__Failure_to_deliver_product_or_service" label="Handel &gt; Produkt nicht geliefert oder Dienstleistung nicht erbracht"/>
<combo_box.item name="Disclosure__Real_world_information" label="Offenlegung &gt; Informationen aus realer Welt"/>
<combo_box.item name="Disclosure__Remotely_monitoring chat" label="Offenlegung &gt; Abhören eines Chats aus der Ferne"/>
<combo_box.item name="Disclosure__Second_Life_information_chat_IMs" label="Offenlegung &gt; Second Life-Informationen/Chat/IMs"/>
<combo_box.item name="Disturbing_the_peace__Unfair_use_of_region_resources" label="Ruhestörung &gt; Unfaire Nutzung von Regionsressourcen"/>
<combo_box.item name="Disturbing_the_peace__Excessive_scripted_objects" label="Ruhestörung &gt; Exzessive Nutzung geskripteter Objekte"/>
<combo_box.item name="Disturbing_the_peace__Object_littering" label="Ruhestörung &gt; Wildes Erzeugen von Objekten"/>
<combo_box.item name="Disturbing_the_peace__Repetitive_spam" label="Ruhestörung &gt; Ständige Spam-Wiederholung"/>
<combo_box.item name="Disturbing_the_peace__Unwanted_advert_spam" label="Ruhestörung &gt; Unerwünschte Spam-Werbung"/>
<combo_box.item name="Fraud__L$" label="Betrug &gt; L$"/>
<combo_box.item name="Fraud__Land" label="Betrug&gt; Land"/>
<combo_box.item name="Fraud__Pyramid_scheme_or_chain_letter" label="Betrug &gt; Schneeballsystem oder Kettenbrief"/>
<combo_box.item name="Fraud__US$" label="Betrug &gt; US$"/>
<combo_box.item name="Harassment__Advert_farms___visual_spam" label="Belästigung &gt; Werbefarmen / visueller Spam"/>
<combo_box.item name="Harassment__Defaming_individuals_or_groups" label="Belästigung &gt; Diffamieren von Einzelpersonen/Gruppen"/>
<combo_box.item name="Harassment__Impeding_movement" label="Belästigung &gt; Bewegungseinschränkung"/>
<combo_box.item name="Harassment__Sexual_harassment" label="Belästigung &gt; Sexuelle Belästigung"/>
<combo_box.item name="Harassment__Solicting_inciting_others_to_violate_ToS" label="Belästigung &gt; Anstiften Dritter zur Missachtung der Nutzungsbedingungen"/>
<combo_box.item name="Harassment__Verbal_abuse" label="Belästigung &gt; Beschimpfung"/>
<combo_box.item name="Indecency__Broadly_offensive_content_or_conduct" label="Unanständigkeit &gt; Anstößige Inhalte oder Handlungen in der Öffentlichkeit"/>
<combo_box.item name="Indecency__Inappropriate_avatar_name" label="Unanständigkeit &gt; Anstößiger Avatarname"/>
<combo_box.item name="Indecency__Mature_content_in_PG_region" label="Unanständigkeit &gt; Unangemessener Inhalt oder unangemessenes Verhalten in PG-Region"/>
<combo_box.item name="Indecency__Inappropriate_content_in_Mature_region" label="Unanständigkeit &gt; Unangemessener Inhalt oder unangemessenes Verhalten in Mature-Region"/>
<combo_box.item name="Intellectual_property_infringement_Content_Removal" label="Urheberrechtsverletzung &gt; Entfernen von Inhalten"/>
<combo_box.item name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit" label="Urheberrechtsverletzung &gt; CopyBot oder Berechtigungs-Exploit"/>
<combo_box.item name="Intolerance" label="Intoleranz"/>
<combo_box.item name="Land__Abuse_of_sandbox_resources" label="Land &gt; Missbrauch der Sandbox-Ressourcen"/>
<combo_box.item name="Land__Encroachment__Objects_textures" label="Land &gt; Unbefugte Nutzung &gt; Objekte/Texturen"/>
<combo_box.item name="Land__Encroachment__Particles" label="Land &gt; Unbefugte Nutzung &gt; Partikel"/>
<combo_box.item name="Land__Encroachment__Trees_plants" label="Land &gt; Unbefugte Nutzung &gt; Bäume/Pflanzen"/>
<combo_box.item name="Wagering_gambling" label="Wetten/Glücksspiel"/>
<combo_box.item name="Other" label="Sonstige"/>
</combo_box>
<text name="abuser_name_title">
Name des Beschuldigten:
</text>
<button label="Einwohner auswählen" label_selected="" name="select_abuser" tool_tip="Den Namen des Beschuldigten aus einer Liste wählen"/>
<check_box label="Name des Täters ist nicht bekannt" name="omit_abuser_name" tool_tip="Wählen Sie diese Option, wenn Ihnen der Name des Täters unbekannt ist"/>
<text name="abuser_name_title2">
Ort des Missbrauchs:
</text>
<text name="sum_title">
Zusammenfassung:
</text>
<text name="dscr_title">
Details:
</text>
<text name="bug_aviso">
Machen Sie genaue Angaben zu Datum, Ort und Art des
Missbrauchs, relevantem Chat/IM und wählen Sie das
Objekt, wenn möglich.
</text>
<text_editor bottom_delta="-136" height="130" name="details_edit"/>
<text bottom_delta="-20" name="incomplete_title">
Hinweis: Unvollständige Meldungen werden nicht bearbeitet.
</text>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn"/>
<button label="Missbrauch melden" label_selected="Missbrauch melden" name="send_btn"/>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_report_abuse" title="MISSBRAUCH MELDEN">
<floater.string name="Screenshot">
Foto
</floater.string>
<check_box bottom_delta="-20" label="Dieses Foto verwenden" name="screen_check"/>
<text name="reporter_title">
Melder:
</text>
<text name="reporter_field">
Loremipsum Dolorsitamut
</text>
<text name="sim_title">
Region:
</text>
<text name="sim_field">
Name der Region
</text>
<text name="pos_title">
Position:
</text>
<text name="pos_field">
{128.1, 128.1, 15.4}
</text>
<text bottom_delta="-38" height="32" name="select_object_label">
Klicken Sie auf die Schaltfläche, dann auf das entsprechende Objekt:
</text>
<button label="" label_selected="" name="pick_btn" tool_tip="Objektauswahl Wählen Sie ein Objekt als Thema dieses Berichts aus"/>
<text name="object_name_label">
Objekt:
</text>
<text name="object_name">
Consetetur Sadipscing
</text>
<text name="owner_name_label">
Eigentümer:
</text>
<text name="owner_name">
Hendrerit Vulputate
</text>
<combo_box name="category_combo" tool_tip="Kategorie -- wählen Sie die Kategorie aus, die am besten auf diesen Bericht zutrifft">
<combo_box.item label="Kategorie auswählen" name="Select_category"/>
<combo_box.item label="Alter&gt; Age-Play" name="Age__Age_play"/>
<combo_box.item label="Alter&gt; Erwachsener Einwohner in Teen Second Life" name="Age__Adult_resident_on_Teen_Second_Life"/>
<combo_box.item label="Alter &gt; Minderjähriger Einwohner außerhalb Teen Second Life" name="Age__Underage_resident_outside_of_Teen_Second_Life"/>
<combo_box.item label="Angriff&gt; Kampf-Sandbox / unsichere Region" name="Assault__Combat_sandbox___unsafe_area"/>
<combo_box.item label="Angriff&gt; Sichere Region" name="Assault__Safe_area"/>
<combo_box.item label="Angriff &gt; Sandbox für Waffentest" name="Assault__Weapons_testing_sandbox"/>
<combo_box.item label="Handel &gt; Produkt nicht geliefert oder Dienstleistung nicht erbracht" name="Commerce__Failure_to_deliver_product_or_service"/>
<combo_box.item label="Offenlegung &gt; Informationen aus realer Welt" name="Disclosure__Real_world_information"/>
<combo_box.item label="Offenlegung &gt; Abhören eines Chats aus der Ferne" name="Disclosure__Remotely_monitoring chat"/>
<combo_box.item label="Offenlegung &gt; Second Life-Informationen/Chat/IMs" name="Disclosure__Second_Life_information_chat_IMs"/>
<combo_box.item label="Ruhestörung &gt; Unfaire Nutzung von Regionsressourcen" name="Disturbing_the_peace__Unfair_use_of_region_resources"/>
<combo_box.item label="Ruhestörung &gt; Exzessive Nutzung geskripteter Objekte" name="Disturbing_the_peace__Excessive_scripted_objects"/>
<combo_box.item label="Ruhestörung &gt; Wildes Erzeugen von Objekten" name="Disturbing_the_peace__Object_littering"/>
<combo_box.item label="Ruhestörung &gt; Ständige Spam-Wiederholung" name="Disturbing_the_peace__Repetitive_spam"/>
<combo_box.item label="Ruhestörung &gt; Unerwünschte Spam-Werbung" name="Disturbing_the_peace__Unwanted_advert_spam"/>
<combo_box.item label="Betrug &gt; L$" name="Fraud__L$"/>
<combo_box.item label="Betrug&gt; Land" name="Fraud__Land"/>
<combo_box.item label="Betrug &gt; Schneeballsystem oder Kettenbrief" name="Fraud__Pyramid_scheme_or_chain_letter"/>
<combo_box.item label="Betrug &gt; US$" name="Fraud__US$"/>
<combo_box.item label="Belästigung &gt; Werbefarmen / visueller Spam" name="Harassment__Advert_farms___visual_spam"/>
<combo_box.item label="Belästigung &gt; Diffamieren von Einzelpersonen/Gruppen" name="Harassment__Defaming_individuals_or_groups"/>
<combo_box.item label="Belästigung &gt; Bewegungseinschränkung" name="Harassment__Impeding_movement"/>
<combo_box.item label="Belästigung &gt; Sexuelle Belästigung" name="Harassment__Sexual_harassment"/>
<combo_box.item label="Belästigung &gt; Anstiften Dritter zur Missachtung der Nutzungsbedingungen" name="Harassment__Solicting_inciting_others_to_violate_ToS"/>
<combo_box.item label="Belästigung &gt; Beschimpfung" name="Harassment__Verbal_abuse"/>
<combo_box.item label="Unanständigkeit &gt; Anstößige Inhalte oder Handlungen in der Öffentlichkeit" name="Indecency__Broadly_offensive_content_or_conduct"/>
<combo_box.item label="Unanständigkeit &gt; Anstößiger Avatarname" name="Indecency__Inappropriate_avatar_name"/>
<combo_box.item label="Unanständigkeit &gt; Unangemessener Inhalt oder unangemessenes Verhalten in PG-Region" name="Indecency__Mature_content_in_PG_region"/>
<combo_box.item label="Unanständigkeit &gt; Unangemessener Inhalt oder unangemessenes Verhalten in Mature-Region" name="Indecency__Inappropriate_content_in_Mature_region"/>
<combo_box.item label="Urheberrechtsverletzung &gt; Entfernen von Inhalten" name="Intellectual_property_infringement_Content_Removal"/>
<combo_box.item label="Urheberrechtsverletzung &gt; CopyBot oder Berechtigungs-Exploit" name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit"/>
<combo_box.item label="Intoleranz" name="Intolerance"/>
<combo_box.item label="Land &gt; Missbrauch der Sandbox-Ressourcen" name="Land__Abuse_of_sandbox_resources"/>
<combo_box.item label="Land &gt; Unbefugte Nutzung &gt; Objekte/Texturen" name="Land__Encroachment__Objects_textures"/>
<combo_box.item label="Land &gt; Unbefugte Nutzung &gt; Partikel" name="Land__Encroachment__Particles"/>
<combo_box.item label="Land &gt; Unbefugte Nutzung &gt; Bäume/Pflanzen" name="Land__Encroachment__Trees_plants"/>
<combo_box.item label="Wetten/Glücksspiel" name="Wagering_gambling"/>
<combo_box.item label="Sonstige" name="Other"/>
</combo_box>
<text name="abuser_name_title">
Name des Beschuldigten:
</text>
<button label="Auswählen" label_selected="" name="select_abuser" tool_tip="Den Namen des Beschuldigten aus einer Liste wählen"/>
<text name="abuser_name_title2">
Ort des Missbrauchs:
</text>
<text name="sum_title">
Zusammenfassung:
</text>
<text name="dscr_title">
Details:
</text>
<text name="bug_aviso">
Bitte beschreiben Sie so genau wie möglich.
</text>
<text_editor bottom_delta="-136" height="130" name="details_edit"/>
<text bottom_delta="-20" name="incomplete_title">
Hinweis: Unvollständige Meldungen werden nicht bearbeitet.
</text>
<button label="Missbrauch melden" label_selected="Missbrauch melden" name="send_btn"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn"/>
</floater>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="script" short_title="[All scripts]" title="[All scripts]"/>

View File

@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="preview lsl text" title="SKRIPT: ROTATIONSSKRIPT">
<text name="desc txt">
Beschreibung:
</text>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview lsl text" title="SKRIPT: ROTATIONSSKRIPT">
<floater.string name="Title">
Skript: [NAME]
</floater.string>
<text name="desc txt">
Beschreibung:
</text>
</floater>

View File

@ -1,4 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="queue" title="RÜCKGÄNGIG">
<button label="Schließen" label_selected="Schließen" name="close" left="215" width="72"/>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="queue" title="RÜCKGÄNGIG">
<floater.string name="Starting">
[START] von [COUNT] Artikeln.
</floater.string>
<floater.string name="Done">
Fertig.
</floater.string>
<floater.string name="Resetting">
Wird zurückgesetzt
</floater.string>
<floater.string name="Running">
Läuft
</floater.string>
<floater.string name="NotRunning">
Läuft nicht
</floater.string>
<button label="Schließen" label_selected="Schließen" left="215" name="close" width="72"/>
</floater>

View File

@ -1,67 +1,67 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="sell land" title="LAND VERKAUFEN">
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text name="info_parcel_label">
Parzelle:
</text>
<text bottom_delta="-5" height="16" name="info_parcel">
PARZELLENNAME
</text>
<text name="info_size_label">
Größe:
</text>
<text bottom_delta="-21" height="32" name="info_size">
[AREA] qm
</text>
<text height="28" name="info_action" bottom_delta="-57">
Zum Verkauf
dieser Parzelle:
</text>
<icon bottom_delta="-80" name="step_price" />
<text name="price_label">
Preis festlegen:
</text>
<text name="price_text">
Geben Sie einen angemessenen Preis für dieses Land ein.
</text>
<text name="price_ld">
L$
</text>
<text name="price_per_m">
([PER_METER] L$ pro Quadratmeter)
</text>
<icon height="64" left="0" name="step_sell_to" width="64" />
<text bottom_delta="38" left="72" name="sell_to_label" right="-20">
Land verkaufen an:
</text>
<text height="16" left="72" name="sell_to_text" bottom_delta="-16" right="-10">
Wählen Sie, ob der Verkauf offen oder auf eine bestimmte Person
beschränkt ist.
</text>
<combo_box height="16" left="72" name="sell_to" bottom_delta="-32" width="140">
<combo_box.item name="--selectone--" label="select one --" />
<combo_box.item name="Anyone" label="Jeder" />
<combo_box.item name="Specificuser:" label="Bestimmter Benutzer:" />
</combo_box>
<button label="Auswählen..." name="sell_to_select_agent" />
<text name="sell_objects_label">
Die Objekte mit dem Land verkaufen?
</text>
<text name="sell_objects_text">
Die transferierbaren Landeigentümer-Objekte auf der Parzelle
wechseln den Eigentümer.
</text>
<radio_group bottom_delta="-58" name="sell_objects">
<radio_item name="no" label="Nein, Objekte behalten" />
<radio_item name="yes" label="Ja, Objekte mit Land verkaufen" />
</radio_group>
<button label="Objekte anzeigen" name="show_objects" width="116"/>
<text name="nag_message_label">
ACHTUNG: Verkäufe sind endgültig.
</text>
<button label="Land zum Verkauf freigeben" width="180" name="sell_btn" />
<button label="Abbrechen" name="cancel_btn" />
</panel>
</scroll_container>
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="sell land" title="LAND VERKAUFEN">
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
<text name="info_parcel_label">
Parzelle:
</text>
<text bottom_delta="-5" height="16" name="info_parcel">
PARZELLENNAME
</text>
<text name="info_size_label">
Größe:
</text>
<text bottom_delta="-21" height="32" name="info_size">
[AREA] qm
</text>
<text bottom_delta="-57" height="28" name="info_action">
Zum Verkauf
dieser Parzelle:
</text>
<icon bottom_delta="-80" name="step_price"/>
<text name="price_label">
Preis festlegen:
</text>
<text name="price_text">
Einen angemessenen Preis auswählen.
</text>
<text name="price_ld">
L$
</text>
<text name="price_per_m">
([PER_METER] L$ pro Quadratmeter)
</text>
<icon height="64" left="0" name="step_sell_to" width="64"/>
<text bottom_delta="38" left="72" name="sell_to_label" right="-20">
Land verkaufen an:
</text>
<text bottom_delta="-16" height="16" left="72" name="sell_to_text" right="-10">
Wählen Sie, ob der Verkauf offen oder auf eine bestimmte Person
beschränkt ist.
</text>
<combo_box bottom_delta="-32" height="16" left="72" name="sell_to" width="140">
<combo_box.item label="select one --" name="--selectone--"/>
<combo_box.item label="Jeder" name="Anyone"/>
<combo_box.item label="Bestimmte Person:" name="Specificuser:"/>
</combo_box>
<button label="Auswählen..." name="sell_to_select_agent"/>
<text name="sell_objects_label">
Die Objekte mit dem Land verkaufen?
</text>
<text name="sell_objects_text">
Die transferierbaren Landeigentümer-Objekte auf der Parzelle
wechseln den Eigentümer.
</text>
<radio_group bottom_delta="-58" name="sell_objects">
<radio_item label="Nein, Objekte behalten" name="no"/>
<radio_item label="Ja, Objekte mit Land verkaufen" name="yes"/>
</radio_group>
<button label="Objekte anzeigen" name="show_objects" width="116"/>
<text name="nag_message_label">
ACHTUNG: Verkäufe sind endgültig.
</text>
<button label="Land zum Verkauf freigeben" name="sell_btn" width="180"/>
<button label="Abbrechen" name="cancel_btn"/>
</panel>
</scroll_container>
</floater>

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="settings_debug" title="DEBUG-EINSTELLUNGEN">
<combo_box name="boolean_combo">
<combo_box.item name="TRUE" label="WAHR" />
<combo_box.item name="FALSE" label="FALSCH" />
</combo_box>
<color_swatch label="Farbe" name="color_swatch" />
<spinner label="x" name="val_spinner_1" />
<spinner label="x" name="val_spinner_2" />
<spinner label="x" name="val_spinner_3" />
<spinner label="x" name="val_spinner_4" />
<button label="Standard wiederherstellen" name="default_btn" width="170" />
</floater>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="settings_debug" title="DEBUG-EINSTELLUNGEN">
<combo_box name="boolean_combo">
<combo_box.item label="WAHR" name="TRUE"/>
<combo_box.item label="FALSCH" name="FALSE"/>
</combo_box>
<color_swatch label="Farbe" name="val_color_swatch"/>
<spinner label="x" name="val_spinner_1"/>
<spinner label="x" name="val_spinner_2"/>
<spinner label="x" name="val_spinner_3"/>
<spinner label="x" name="val_spinner_4"/>
<button label="Standard wiederherstellen" name="default_btn" width="170"/>
</floater>

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Statistics" title="Statistik">
<scroll_container name="statistics_scroll">
<container_view name="statistics_view">
<stat_view label="Basic" name="basic">
<stat_bar label="FPS" name="fps"/>
<stat_bar label="Bandbreite" name="bandwidth"/>
<stat_bar label="Paketverlust" name="packet_loss"/>
<stat_bar label="Ping Sim" name="ping"/>
</stat_view>
<stat_view label="Erweitert" name="advanced">
<stat_view label="Darstellung" name="render">
<stat_bar label="Gezeichnete KTris" name="ktrisframe"/>
<stat_bar label="Gezeichnete KTris" name="ktrissec"/>
<stat_bar label="Objektanzahl" name="objs"/>
<stat_bar label="Neue Objekte" name="newobjs"/>
</stat_view>
<stat_view label="Textur" name="texture">
<stat_bar label="Zählen" name="numimagesstat"/>
<stat_bar label="Rohanzahl" name="numrawimagesstat"/>
<stat_bar label="GL Sp" name="gltexmemstat"/>
<stat_bar label="Formattierter Sp:" name="formattedmemstat"/>
<stat_bar label="Rohsp" name="rawmemstat"/>
<stat_bar label="Zugeteilter Sp" name="glboundmemstat"/>
</stat_view>
<stat_view label="Netzwerk" name="network">
<stat_bar label="Paketeingang" name="packetsinstat"/>
<stat_bar label="Paketausgang" name="packetsoutstat"/>
<stat_bar label="Objekte" name="objectkbitstat"/>
<stat_bar label="Textur" name="texturekbitstat"/>
<stat_bar label="Bestand" name="assetkbitstat"/>
<stat_bar label="Ebenen" name="layerskbitstat"/>
<stat_bar label="Tatsächlicher Eingang" name="actualinkbitstat"/>
<stat_bar label="Tatsächlicher Ausgang" name="actualoutkbitstat"/>
<stat_bar label="VFS Ausstehende Ops" name="vfspendingoperations"/>
</stat_view>
</stat_view>
<stat_view label="Simulator" name="sim">
<stat_bar label="Zeitdilation" name="simtimedilation"/>
<stat_bar label="Sim FPS" name="simfps"/>
<stat_bar label="Physik FPS" name="simphysicsfps"/>
<stat_view label="Physikdetails" name="physicsdetail">
<stat_bar label="Eingerastete Objekte" name="physicspinnedtasks"/>
<stat_bar label="Niedrig LOD-Objekte" name="physicslodtasks"/>
<stat_bar label="Zugeordneter Speicher" name="physicsmemoryallocated"/>
<stat_bar label="Agent Updates/Sek" name="simagentups"/>
<stat_bar label="Haupt-Agenten" name="simmainagents"/>
<stat_bar label="Child-Agenten" name="simchildagents"/>
<stat_bar label="Objekte" name="simobjects"/>
<stat_bar label="Aktive Objekte" name="simactiveobjects"/>
<stat_bar label="Aktive Skripts" name="simactivescripts"/>
<stat_bar label="Skript-Events" name="simscripteps"/>
<stat_bar label="Paketeingang" name="siminpps"/>
<stat_bar label="Paketausgang" name="simoutpps"/>
<stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/>
<stat_bar label="Ausstehende Uploads" name="simpendinguploads"/>
<stat_bar label="Gesamtanzahl „Unacked&quot; Bytes" name="simtotalunackedbytes"/>
</stat_view>
<stat_view label="Zeit (ms)" name="simperf">
<stat_bar label="Gesamtzeit Frame" name="simframemsec"/>
<stat_bar label="Netto-Zeit" name="simnetmsec"/>
<stat_bar label="Physik-Zeit" name="simsimphysicsmsec"/>
<stat_bar label="Simulationszeit" name="simsimothermsec"/>
<stat_bar label="Agent-Zeit" name="simagentmsec"/>
<stat_bar label="Bilder-Zeit" name="simimagesmsec"/>
<stat_bar label="Skript-Zeit" name="simscriptmsec"/>
</stat_view>
</stat_view>
</container_view>
</scroll_container>
</floater>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--
Not can_close / no title to avoid window chrome
Single instance - only have one at a time, recycle it each spawn
-->
<floater name="inspect_avatar">
<string name="Subtitle">
[AGE]
</string>
<string name="Details">
[ACCTTYPE], [PAYMENTINFO]
Profil: [SL_PROFILE]
</string>
<slider name="volume_slider" tool_tip="Lautstärke" value="0.5"/>
<button label="Freund hinzufügen" name="add_friend_btn"/>
</floater>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Avatar Icon Menu">
<menu_item_call label="Profil anzeigen..." name="Show Profile"/>
<menu_item_call label="IM senden..." name="Send IM"/>
<menu_item_call label="Freund hinzufügen..." name="Add Friend"/>
<menu_item_call label="Freund entfernen..." name="Remove Friend"/>
</menu>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Popup">
<menu_item_call label="Teleportieren" name="Teleport To Landmark"/>
<menu_item_call label="Landmarken anzeigen/bearbeiten" name="Landmark Open"/>
<menu_item_call label="SLurl kopieren" name="Copy slurl"/>
<menu_item_call label="Auf Karte zeigen" name="Show On Map"/>
<menu_item_call label="Kopieren" name="Landmark Copy"/>
<menu_item_call label="Einfügen" name="Landmark Paste"/>
<menu_item_call label="Löschen" name="Delete"/>
</menu>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_group_plus">
<menu_item_call label="Werden Sie Mitglied..." name="item_join"/>
<menu_item_call label="Neue Gruppe..." name="item_new"/>
</menu>

View File

@ -1,66 +1,76 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Popup">
<menu_item_call label="Kaufen" name="Task Buy"/>
<menu_item_call label="Öffnen" name="Task Open"/>
<menu_item_call label="Wiedergeben/Abspielen" name="Task Play"/>
<menu_item_call label="Eigenschaften" name="Task Properties"/>
<menu_item_call label="Umbenennen" name="Task Rename"/>
<menu_item_call label="Löschen" name="Task Remove"/>
<menu_item_call label="Papierkorb ausleeren" name="Empty Trash"/>
<menu_item_call label="Fundstücke ausleeren" name="Empty Lost And Found"/>
<menu_item_call label="Neuer Ordner" name="New Folder"/>
<menu_item_call label="Neues Skript" name="New Script"/>
<menu_item_call label="Neue Notiz" name="New Note"/>
<menu_item_call label="Neue Geste" name="New Gesture"/>
<menu name="New Clothes">
<menu_item_call label="Neues Hemd" name="New Shirt"/>
<menu_item_call label="Neue Hose" name="New Pants"/>
<menu_item_call label="Neue Schuhe" name="New Shoes"/>
<menu_item_call label="Neue Socken" name="New Socks"/>
<menu_item_call label="Neue Jacke" name="New Jacket"/>
<menu_item_call label="Neuer Rock" name="New Skirt"/>
<menu_item_call label="Neue Handschuhe" name="New Gloves"/>
<menu_item_call label="Neues Unterhemd" name="New Undershirt"/>
<menu_item_call label="Neue Unterhose" name="New Underpants"/>
</menu>
<menu name="New Body Parts">
<menu_item_call label="Neue Form/Gestalt" name="New Shape"/>
<menu_item_call label="Neue Haut" name="New Skin"/>
<menu_item_call label="Neues Haar" name="New Hair"/>
<menu_item_call label="Neue Augen" name="New Eyes"/>
</menu>
<menu_item_call label="Teleportieren" name="Landmark Open"/>
<menu_item_call label="Öffnen" name="Animation Open"/>
<menu_item_call label="Öffnen" name="Sound Open"/>
<menu_item_call label="Objekt löschen" name="Purge Item"/>
<menu_item_call label="Objekt wiederherstellen" name="Restore Item"/>
<menu_item_call label="Öffnen" name="Open"/>
<menu_item_call label="Eigenschaften" name="Properties"/>
<menu_item_call label="Umbenennen" name="Rename"/>
<menu_item_call label="Asset-UUID kopieren" name="Copy Asset UUID"/>
<menu_item_call label="Kopieren" name="Copy"/>
<menu_item_call label="Einfügen" name="Paste"/>
<menu_item_call label="Löschen" name="Delete"/>
<menu_item_call label="Objekte abnehmen" name="Take Off Items"/>
<menu_item_call label="Zum Outfit hinzufügen" name="Add To Outfit"/>
<menu_item_call label="Outfit ersetzen" name="Replace Outfit"/>
<menu_item_call label="Konferenz-Chat starten" name="Conference Chat Folder"/>
<menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/>
<menu_item_call label="Landmarken-Info" name="Teleport To Landmark"/>
<menu_item_call label="In Welt abspielen" name="Animation Play"/>
<menu_item_call label="Lokal wiedergeben" name="Animation Audition"/>
<menu_item_call label="Instant Message senden" name="Send Instant Message"/>
<menu_item_call label="Teleport anbieten..." name="Offer Teleport..."/>
<menu_item_call label="Konferenz-Chat starten" name="Conference Chat"/>
<menu_item_call label="Aktivieren" name="Activate"/>
<menu_item_call label="Deaktivieren" name="Deactivate"/>
<menu_item_call label="Von Körper abnehmen" name="Detach From Yourself"/>
<menu_item_call label="Zu letzter Position zurücksetzen" name="Restore to Last Position"/>
<menu_item_call label="Anziehen" name="Object Wear"/>
<menu label="Anhängen an" name="Attach To"/>
<menu label="An HUD hängen" name="Attach To HUD"/>
<menu_item_call label="Bearbeiten" name="Wearable Edit"/>
<menu_item_call label="Anziehen" name="Wearable Wear"/>
<menu_item_call label="Ausziehen" name="Take Off"/>
<menu_item_call label="--keine Optionen--" name="--no options--"/>
</menu>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Popup">
<menu_item_call label="Kaufen" name="Task Buy"/>
<menu_item_call label="Öffnen" name="Task Open"/>
<menu_item_call label="Wiedergeben/Abspielen" name="Task Play"/>
<menu_item_call label="Eigenschaften" name="Task Properties"/>
<menu_item_call label="Umbenennen" name="Task Rename"/>
<menu_item_call label="Löschen" name="Task Remove"/>
<menu_item_call label="Papierkorb ausleeren" name="Empty Trash"/>
<menu_item_call label="Fundstücke ausleeren" name="Empty Lost And Found"/>
<menu_item_call label="Neuer Ordner" name="New Folder"/>
<menu_item_call label="Neues Skript" name="New Script"/>
<menu_item_call label="Neue Notiz" name="New Note"/>
<menu_item_call label="Neue Geste" name="New Gesture"/>
<menu label="Neue Kleider" name="New Clothes">
<menu_item_call label="Neues Hemd" name="New Shirt"/>
<menu_item_call label="Neue Hose" name="New Pants"/>
<menu_item_call label="Neue Schuhe" name="New Shoes"/>
<menu_item_call label="Neue Socken" name="New Socks"/>
<menu_item_call label="Neue Jacke" name="New Jacket"/>
<menu_item_call label="Neuer Rock" name="New Skirt"/>
<menu_item_call label="Neue Handschuhe" name="New Gloves"/>
<menu_item_call label="Neues Unterhemd" name="New Undershirt"/>
<menu_item_call label="Neue Unterhose" name="New Underpants"/>
</menu>
<menu label="Neue Körperteile" name="New Body Parts">
<menu_item_call label="Neue Form/Gestalt" name="New Shape"/>
<menu_item_call label="Neue Haut" name="New Skin"/>
<menu_item_call label="Neues Haar" name="New Hair"/>
<menu_item_call label="Neue Augen" name="New Eyes"/>
</menu>
<menu label="Typ ändern" name="Change Type">
<menu_item_call label="Standard" name="Default"/>
<menu_item_call label="Handschuhe" name="Gloves"/>
<menu_item_call label="Jacke" name="Jacket"/>
<menu_item_call label="Hose" name="Pants"/>
<menu_item_call label="Form" name="Shape"/>
<menu_item_call label="Schuhe" name="Shoes"/>
<menu_item_call label="Hemd" name="Shirt"/>
<menu_item_call label="Rock" name="Skirt"/>
<menu_item_call label="Unterhose" name="Underpants"/>
<menu_item_call label="Unterhemd" name="Undershirt"/>
</menu>
<menu_item_call label="Teleportieren" name="Landmark Open"/>
<menu_item_call label="Öffnen" name="Animation Open"/>
<menu_item_call label="Öffnen" name="Sound Open"/>
<menu_item_call label="Objekt löschen" name="Purge Item"/>
<menu_item_call label="Objekt wiederherstellen" name="Restore Item"/>
<menu_item_call label="Öffnen" name="Open"/>
<menu_item_call label="Eigenschaften" name="Properties"/>
<menu_item_call label="Umbenennen" name="Rename"/>
<menu_item_call label="Asset-UUID kopieren" name="Copy Asset UUID"/>
<menu_item_call label="Kopieren" name="Copy"/>
<menu_item_call label="Einfügen" name="Paste"/>
<menu_item_call label="Löschen" name="Delete"/>
<menu_item_call label="Objekte abnehmen" name="Take Off Items"/>
<menu_item_call label="Zum Outfit hinzufügen" name="Add To Outfit"/>
<menu_item_call label="Outfit ersetzen" name="Replace Outfit"/>
<menu_item_call label="Konferenz-Chat starten" name="Conference Chat Folder"/>
<menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/>
<menu_item_call label="In Welt abspielen" name="Animation Play"/>
<menu_item_call label="Lokal wiedergeben" name="Animation Audition"/>
<menu_item_call label="Instant Message senden" name="Send Instant Message"/>
<menu_item_call label="Teleport anbieten..." name="Offer Teleport..."/>
<menu_item_call label="Konferenz-Chat starten" name="Conference Chat"/>
<menu_item_call label="Aktivieren" name="Activate"/>
<menu_item_call label="Deaktivieren" name="Deactivate"/>
<menu_item_call label="Von Körper abnehmen" name="Detach From Yourself"/>
<menu_item_call label="Anziehen" name="Object Wear"/>
<menu label="Anhängen an" name="Attach To"/>
<menu label="An HUD hängen" name="Attach To HUD"/>
<menu_item_call label="Bearbeiten" name="Wearable Edit"/>
<menu_item_call label="Anziehen" name="Wearable Wear"/>
<menu_item_call label="Ausziehen" name="Take Off"/>
<menu_item_call label="--keine Optionen--" name="--no options--"/>
</menu>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="landmark_overflow_menu">
<menu_item_call label="SLurl kopieren" name="copy"/>
<menu_item_call label="Löschen" name="delete"/>
<menu_item_call label="Auswahl erstellen" name="pick"/>
</toggleable_menu>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="popup">
<menu_item_call label="Zoom Nah" name="Zoom Close"/>
<menu_item_call label="Zoom Mittel" name="Zoom Medium"/>
<menu_item_call label="Zoom Weit" name="Zoom Far"/>
<menu_item_call label="Verfolgung abschalten" name="Stop Tracking"/>
<menu_item_call label="Profil..." name="Profile"/>
</menu>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="popup">
<menu_item_call label="Zoom Nah" name="Zoom Close"/>
<menu_item_call label="Zoom Mittel" name="Zoom Medium"/>
<menu_item_call label="Zoom Weit" name="Zoom Far"/>
<menu_item_call label="Verfolgung abschalten" name="Stop Tracking"/>
<menu_item_call label="Weltkarte" name="World Map"/>
</menu>

Some files were not shown because too many files have changed in this diff Show More