Merge Firestorm LGPL
commit
c35758512e
1
.hgtags
1
.hgtags
|
|
@ -587,3 +587,4 @@ ac3b1332ad4f55b7182a8cbcc1254535a0069f75 5.1.7-release
|
|||
21b7604680ef6b6ea67f8bebaaa588d6e263bdc1 6.0.1-release
|
||||
a3143db58a0f6b005232bf9018e7fef17ff9ec90 6.1.0-release
|
||||
50f0ece62ddb5a244ecb6d00ef5a89d80ad50efa 6.1.1-release
|
||||
82a89165e5929a6c3073d6cd60a543cb395f147b 6.2.0-release
|
||||
|
|
|
|||
|
|
@ -223,6 +223,7 @@ Ansariel Hiller
|
|||
MAINT-8085
|
||||
MAINT-8723
|
||||
SL-10385
|
||||
SL-10891
|
||||
Aralara Rajal
|
||||
Arare Chantilly
|
||||
CHUIBUG-191
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ const U32 ESTATE_ACCESS_MANAGER_REMOVE = 1U << 9;
|
|||
const U32 ESTATE_ACCESS_NO_REPLY = 1U << 10;
|
||||
const U32 ESTATE_ACCESS_FAILED_BAN_ESTATE_MANAGER = 1U << 11;
|
||||
|
||||
const S32 ESTATE_MAX_MANAGERS = 10;
|
||||
const S32 ESTATE_MAX_MANAGERS = 15;
|
||||
const S32 ESTATE_MAX_ACCESS_IDS = 500; // max for access, banned
|
||||
const S32 ESTATE_MAX_GROUP_IDS = (S32) ESTATE_ACCESS_MAX_ENTRIES_PER_PACKET;
|
||||
|
||||
|
|
|
|||
|
|
@ -520,6 +520,13 @@ void LLLineEditor::setCursorToEnd()
|
|||
deselect();
|
||||
}
|
||||
|
||||
void LLLineEditor::resetScrollPosition()
|
||||
{
|
||||
mScrollHPos = 0;
|
||||
// make sure cursor says in visible range
|
||||
setCursor(getCursor());
|
||||
}
|
||||
|
||||
BOOL LLLineEditor::canDeselect() const
|
||||
{
|
||||
return hasSelection();
|
||||
|
|
|
|||
|
|
@ -219,6 +219,9 @@ public:
|
|||
void setCursor( S32 pos );
|
||||
void setCursorToEnd();
|
||||
|
||||
// set scroll to earliest position it can reasonable set
|
||||
void resetScrollPosition();
|
||||
|
||||
// Selects characters 'start' to 'end'.
|
||||
void setSelection(S32 start, S32 end);
|
||||
virtual void getSelectionRange(S32 *position, S32 *length) const;
|
||||
|
|
|
|||
|
|
@ -327,6 +327,7 @@ void LLSpinCtrl::forceSetValue(const LLSD& value )
|
|||
LLF32UICtrl::setValue(value);
|
||||
|
||||
updateEditor();
|
||||
mEditor->resetScrollPosition();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -392,7 +393,9 @@ void LLSpinCtrl::onEditorCommit( const LLSD& data )
|
|||
|
||||
if( success )
|
||||
{
|
||||
updateEditor();
|
||||
// We commited and clamped value
|
||||
// try to display as much as possible
|
||||
mEditor->resetScrollPosition();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -529,6 +532,7 @@ BOOL LLSpinCtrl::handleKeyHere(KEY key, MASK mask)
|
|||
// text editors don't support revert normally (due to user confusion)
|
||||
// but not allowing revert on a spinner seems dangerous
|
||||
updateEditor();
|
||||
mEditor->resetScrollPosition();
|
||||
mEditor->setFocus(FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -264,13 +264,9 @@ void LLUI::dirtyRect(LLRect rect)
|
|||
void LLUI::setMousePositionScreen(S32 x, S32 y)
|
||||
{
|
||||
S32 screen_x, screen_y;
|
||||
#if defined(LL_DARWIN)
|
||||
screen_x = ll_round((F32)x);
|
||||
screen_y = ll_round((F32)y);
|
||||
#else
|
||||
screen_x = ll_round((F32)x * getScaleFactor().mV[VX]);
|
||||
screen_y = ll_round((F32)y * getScaleFactor().mV[VY]);
|
||||
#endif
|
||||
|
||||
LLView::getWindow()->setCursorPosition(LLCoordGL(screen_x, screen_y).convert());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -353,6 +353,10 @@ attributedStringInfo getSegments(NSAttributedString *str)
|
|||
|
||||
- (void) mouseDown:(NSEvent *)theEvent
|
||||
{
|
||||
NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow];
|
||||
mMousePos[0] = mPoint.x;
|
||||
mMousePos[1] = mPoint.y;
|
||||
|
||||
// Apparently people still use this?
|
||||
if ([theEvent modifierFlags] & NSCommandKeyMask &&
|
||||
!([theEvent modifierFlags] & NSControlKeyMask) &&
|
||||
|
|
@ -390,11 +394,17 @@ attributedStringInfo getSegments(NSAttributedString *str)
|
|||
|
||||
- (void) rightMouseDown:(NSEvent *)theEvent
|
||||
{
|
||||
NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow];
|
||||
mMousePos[0] = mPoint.x;
|
||||
mMousePos[1] = mPoint.y;
|
||||
callRightMouseDown(mMousePos, [theEvent modifierFlags]);
|
||||
}
|
||||
|
||||
- (void) rightMouseUp:(NSEvent *)theEvent
|
||||
{
|
||||
NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow];
|
||||
mMousePos[0] = mPoint.x;
|
||||
mMousePos[1] = mPoint.y;
|
||||
callRightMouseUp(mMousePos, [theEvent modifierFlags]);
|
||||
}
|
||||
|
||||
|
|
@ -441,11 +451,17 @@ attributedStringInfo getSegments(NSAttributedString *str)
|
|||
|
||||
- (void) otherMouseDown:(NSEvent *)theEvent
|
||||
{
|
||||
NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow];
|
||||
mMousePos[0] = mPoint.x;
|
||||
mMousePos[1] = mPoint.y;
|
||||
callMiddleMouseDown(mMousePos, [theEvent modifierFlags]);
|
||||
}
|
||||
|
||||
- (void) otherMouseUp:(NSEvent *)theEvent
|
||||
{
|
||||
NSPoint mPoint = gHiDPISupport ? [self convertPointToBacking:[theEvent locationInWindow]] : [theEvent locationInWindow];
|
||||
mMousePos[0] = mPoint.x;
|
||||
mMousePos[1] = mPoint.y;
|
||||
callMiddleMouseUp(mMousePos, [theEvent modifierFlags]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -879,10 +879,11 @@ BOOL LLWindowMacOSX::getSize(LLCoordScreen *size)
|
|||
|
||||
size->mX = sz.width;
|
||||
size->mY = sz.height;
|
||||
err = noErr;
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_ERRS() << "LLWindowMacOSX::getPosition(): no window and not fullscreen!" << LL_ENDL;
|
||||
LL_ERRS() << "LLWindowMacOSX::getSize(): no window and not fullscreen!" << LL_ENDL;
|
||||
}
|
||||
|
||||
return (err == noErr);
|
||||
|
|
@ -904,10 +905,13 @@ BOOL LLWindowMacOSX::getSize(LLCoordWindow *size)
|
|||
|
||||
size->mX = sz.width;
|
||||
size->mY = sz.height;
|
||||
err = noErr;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_ERRS() << "LLWindowMacOSX::getPosition(): no window and not fullscreen!" << LL_ENDL;
|
||||
LL_ERRS() << "LLWindowMacOSX::getSize(): no window and not fullscreen!" << LL_ENDL;
|
||||
}
|
||||
|
||||
return (err == noErr);
|
||||
|
|
|
|||
|
|
@ -4096,9 +4096,7 @@ void LLWindowWin32::setDPIAwareness()
|
|||
|
||||
F32 LLWindowWin32::getSystemUISize()
|
||||
{
|
||||
// <FS:Ansariel> Type fix
|
||||
//float scale_value = 0;
|
||||
F32 scale_value = 0.f;
|
||||
F32 scale_value = 1.f;
|
||||
HWND hWnd = (HWND)getPlatformWindow();
|
||||
HDC hdc = GetDC(hWnd);
|
||||
HMONITOR hMonitor;
|
||||
|
|
|
|||
|
|
@ -159,7 +159,6 @@ set(viewer_SOURCE_FILES
|
|||
fsfloateraddtocontactset.cpp
|
||||
fsfloaterassetblacklist.cpp
|
||||
fsfloateravatarrendersettings.cpp
|
||||
fsfloaterbantime.cpp
|
||||
fsfloaterblocklist.cpp
|
||||
fsfloatercontacts.cpp
|
||||
fsfloatercontactsetconfiguration.cpp
|
||||
|
|
@ -330,6 +329,7 @@ set(viewer_SOURCE_FILES
|
|||
llfloateravatarpicker.cpp
|
||||
llfloateravatarrendersettings.cpp
|
||||
llfloateravatartextures.cpp
|
||||
llfloaterbanduration.cpp
|
||||
llfloaterbeacons.cpp
|
||||
llfloaterbigpreview.cpp
|
||||
llfloaterbuildoptions.cpp
|
||||
|
|
@ -913,7 +913,6 @@ set(viewer_HEADER_FILES
|
|||
fsfloateraddtocontactset.h
|
||||
fsfloaterassetblacklist.h
|
||||
fsfloateravatarrendersettings.h
|
||||
fsfloaterbantime.h
|
||||
fsfloaterblocklist.h
|
||||
fsfloatercontacts.h
|
||||
fsfloatercontactsetconfiguration.h
|
||||
|
|
@ -1087,6 +1086,7 @@ set(viewer_HEADER_FILES
|
|||
llfloateravatarpicker.h
|
||||
llfloateravatarrendersettings.h
|
||||
llfloateravatartextures.h
|
||||
llfloaterbanduration.h
|
||||
llfloaterbeacons.h
|
||||
llfloaterbigpreview.h
|
||||
llfloaterbuildoptions.h
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
6.2.0
|
||||
6.2.1
|
||||
|
|
|
|||
|
|
@ -21500,6 +21500,19 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>ResetUIScaleOnFirstRun</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Resets the UI scale factor on first run due to changed display scaling behavior</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
<key>Backup</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>FSShowServerVersionChangeNotice</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -25159,7 +25172,7 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<real>0</real>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>FSLookAtTargetMaxDistance</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -815,6 +815,11 @@ bool cmd_line_chat(const std::string& revised_text, EChatType type, bool from_ge
|
|||
gSavedPerAccountSettings.setF32("AvatarHoverOffsetZ", gSavedPerAccountSettings.getF32("AvatarHoverOffsetZ") - 0.05f);
|
||||
return false;
|
||||
}
|
||||
else if (command == "/zoffset_reset")
|
||||
{
|
||||
gSavedPerAccountSettings.setF32("AvatarHoverOffsetZ", 0.f);
|
||||
return false;
|
||||
}
|
||||
else if (command == sFSCmdLineOfferTp())
|
||||
{
|
||||
LLUUID target_key;
|
||||
|
|
|
|||
|
|
@ -1,85 +0,0 @@
|
|||
/**
|
||||
* @file fsfloaterbantime.cpp
|
||||
* @brief Floater for ban time dialog
|
||||
*
|
||||
* $LicenseInfo:firstyear=2012&license=fsviewerlgpl$
|
||||
* Phoenix Firestorm Viewer Source Code
|
||||
* Copyright (C) 2018, Liny Odell
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* The Phoenix Firestorm Project, Inc., 1831 Oakwood Drive, Fairmont, Minnesota 56031-3225 USA
|
||||
* http://www.firestormviewer.org
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
#include "fsfloaterbantime.h"
|
||||
|
||||
#include "llfloaterreg.h"
|
||||
#include "llspinctrl.h"
|
||||
|
||||
FSFloaterBanTime::FSFloaterBanTime(const LLSD& target)
|
||||
: LLFloater(target)
|
||||
{
|
||||
}
|
||||
|
||||
BOOL FSFloaterBanTime::postBuild()
|
||||
{
|
||||
childSetAction("BanConfirmButton", boost::bind(&FSFloaterBanTime::onClickBan, this));
|
||||
childSetAction("BanCancelButton", boost::bind(&FSFloaterBanTime::onClickCancel, this));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
FSFloaterBanTime* FSFloaterBanTime::show(select_callback_t callback, const LLUUID& id)
|
||||
{
|
||||
FSFloaterBanTime* floater = LLFloaterReg::showTypedInstance<FSFloaterBanTime>("fs_ban_time");
|
||||
if (!floater)
|
||||
{
|
||||
LL_WARNS() << "Cannot instantiate ban time floater" << LL_ENDL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
floater->mSelectionCallback = callback;
|
||||
floater->mAvatar_id = id;
|
||||
|
||||
return floater;
|
||||
}
|
||||
|
||||
void FSFloaterBanTime::onClickCancel()
|
||||
{
|
||||
closeFloater();
|
||||
}
|
||||
|
||||
void FSFloaterBanTime::onClickBan()
|
||||
{
|
||||
if (mSelectionCallback)
|
||||
{
|
||||
LLSpinCtrl* timectrl = findChild<LLSpinCtrl>("ban_time");
|
||||
if (timectrl)
|
||||
{
|
||||
S32 time = timectrl->getValue().asInteger();
|
||||
if (time != 0)
|
||||
{
|
||||
LLDate now = LLDate::now();
|
||||
time = now.secondsSinceEpoch() + (time * 3600);
|
||||
}
|
||||
mSelectionCallback(mAvatar_id, time);
|
||||
timectrl->set(0.f);
|
||||
}
|
||||
}
|
||||
closeFloater();
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
/**
|
||||
* @file fsfloaterbantime.cpp
|
||||
* @brief Floater for ban time dialog
|
||||
*
|
||||
* $LicenseInfo:firstyear=2012&license=fsviewerlgpl$
|
||||
* Phoenix Firestorm Viewer Source Code
|
||||
* Copyright (C) 2018, Liny Odell
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* The Phoenix Firestorm Project, Inc., 1831 Oakwood Drive, Fairmont, Minnesota 56031-3225 USA
|
||||
* http://www.firestormviewer.org
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#ifndef FS_FLOATERBANTIME_H
|
||||
#define FS_FLOATERBANTIME_H
|
||||
|
||||
#include "llfloater.h"
|
||||
|
||||
class FSFloaterBanTime : public LLFloater
|
||||
{
|
||||
public:
|
||||
FSFloaterBanTime(const LLSD& target);
|
||||
BOOL postBuild();
|
||||
typedef boost::function<void(const LLUUID&, const S32 time)> select_callback_t;
|
||||
static FSFloaterBanTime* show(select_callback_t callback, const LLUUID& id);
|
||||
|
||||
private:
|
||||
~FSFloaterBanTime(){};
|
||||
void onClickBan();
|
||||
void onClickCancel();
|
||||
LLUUID mAvatar_id;
|
||||
select_callback_t mSelectionCallback;
|
||||
};
|
||||
|
||||
#endif // FS_FLOATERBANTIME_H
|
||||
|
|
@ -2298,8 +2298,8 @@ bool LLAvatarActions::callbackEstateBan(const LLSD& notification, const LLSD& re
|
|||
}
|
||||
}
|
||||
|
||||
LLEstateInfoModel::instance().nextInvoice();
|
||||
LLPanelEstateInfo::sendEstateAccessDelta(flags, itAgent->asUUID());
|
||||
LLFloaterRegionInfo::nextInvoice();
|
||||
LLPanelEstateAccess::sendEstateAccessDelta(flags, itAgent->asUUID());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -34,101 +34,15 @@
|
|||
|
||||
// viewer
|
||||
#include "llagent.h"
|
||||
#include "llfloaterregioninfo.h" // for invoice id
|
||||
#include "llviewerregion.h"
|
||||
|
||||
#include "llcorehttputil.h"
|
||||
|
||||
//=========================================================================
|
||||
namespace
|
||||
{
|
||||
class LLDispatchEstateUpdateInfo : public LLDispatchHandler
|
||||
{
|
||||
public:
|
||||
LLDispatchEstateUpdateInfo() {}
|
||||
virtual ~LLDispatchEstateUpdateInfo() {}
|
||||
virtual bool operator()(const LLDispatcher* dispatcher, const std::string& key,
|
||||
const LLUUID& invoice, const sparam_t& strings)
|
||||
{
|
||||
// key = "estateupdateinfo"
|
||||
// strings[0] = estate name
|
||||
// strings[1] = str(owner_id)
|
||||
// strings[2] = str(estate_id)
|
||||
// strings[3] = str(estate_flags)
|
||||
// strings[4] = str((S32)(sun_hour * 1024))
|
||||
// strings[5] = str(parent_estate_id)
|
||||
// strings[6] = str(covenant_id)
|
||||
// strings[7] = str(covenant_timestamp)
|
||||
// strings[8] = str(send_to_agent_only)
|
||||
// strings[9] = str(abuse_email_addr)
|
||||
|
||||
LL_DEBUGS("ESTATEINFOM") << "Received estate update" << LL_ENDL;
|
||||
|
||||
// Update estate info model.
|
||||
// This will call LLPanelEstateInfo::refreshFromEstate().
|
||||
// *TODO: Move estate message handling stuff to llestateinfomodel.cpp.
|
||||
LLEstateInfoModel::instance().updateEstateInfo(strings);
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class LLDispatchSetEstateAccess : public LLDispatchHandler
|
||||
{
|
||||
public:
|
||||
LLDispatchSetEstateAccess() {}
|
||||
virtual ~LLDispatchSetEstateAccess() {}
|
||||
virtual bool operator()(
|
||||
const LLDispatcher* dispatcher, const std::string& key,
|
||||
const LLUUID& invoice, const sparam_t& strings)
|
||||
{
|
||||
// key = "setaccess"
|
||||
// strings[0] = str(estate_id)
|
||||
// strings[1] = str(packed_access_lists)
|
||||
// strings[2] = str(num allowed agent ids)
|
||||
// strings[3] = str(num allowed group ids)
|
||||
// strings[4] = str(num banned agent ids)
|
||||
// strings[5] = str(num estate manager agent ids)
|
||||
// strings[6] = bin(uuid)
|
||||
// strings[7] = bin(uuid)
|
||||
// strings[8] = bin(uuid)
|
||||
// ...
|
||||
|
||||
LLEstateInfoModel::instance().updateAccessInfo(strings);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
class LLDispatchSetEstateExperience : public LLDispatchHandler
|
||||
{
|
||||
public:
|
||||
virtual bool operator()(const LLDispatcher* dispatcher, const std::string& key,
|
||||
const LLUUID& invoice, const sparam_t& strings)
|
||||
{
|
||||
// key = "setexperience"
|
||||
// strings[0] = str(estate_id)
|
||||
// strings[1] = str(send_to_agent_only)
|
||||
// strings[2] = str(num blocked)
|
||||
// strings[3] = str(num trusted)
|
||||
// strings[4] = str(num allowed)
|
||||
// strings[8] = bin(uuid) ...
|
||||
// ...
|
||||
|
||||
LLEstateInfoModel::instance().updateExperienceInfo(strings);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
LLEstateInfoModel::LLEstateInfoModel():
|
||||
mID(0),
|
||||
mFlags(0),
|
||||
mSunHour(0),
|
||||
mRegion(nullptr)
|
||||
LLEstateInfoModel::LLEstateInfoModel()
|
||||
: mID(0)
|
||||
, mFlags(0)
|
||||
, mSunHour(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -137,52 +51,40 @@ boost::signals2::connection LLEstateInfoModel::setUpdateCallback(const update_si
|
|||
return mUpdateSignal.connect(cb);
|
||||
}
|
||||
|
||||
boost::signals2::connection LLEstateInfoModel::setUpdateAccessCallback(const update_flaged_signal_t::slot_type& cb)
|
||||
{
|
||||
return mUpdateAccess.connect(cb);
|
||||
}
|
||||
|
||||
boost::signals2::connection LLEstateInfoModel::setUpdateExperienceCallback(const update_signal_t::slot_type& cb)
|
||||
{
|
||||
return mUpdateExperience.connect(cb);
|
||||
}
|
||||
|
||||
boost::signals2::connection LLEstateInfoModel::setCommitCallback(const update_signal_t::slot_type& cb)
|
||||
{
|
||||
return mCommitSignal.connect(cb);
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::setRegion(LLViewerRegion* region)
|
||||
{
|
||||
if (region != mRegion)
|
||||
{
|
||||
mRegion = region;
|
||||
|
||||
if (mRegion)
|
||||
{
|
||||
nextInvoice();
|
||||
sendEstateOwnerMessage("getinfo", strings_t());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LLEstateInfoModel::clearRegion()
|
||||
{
|
||||
mRegion = nullptr;
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::sendEstateInfo()
|
||||
{
|
||||
if (!commitEstateInfoCaps())
|
||||
{
|
||||
// the caps method failed, try the old way
|
||||
nextInvoice();
|
||||
LLFloaterRegionInfo::nextInvoice();
|
||||
commitEstateInfoDataserver();
|
||||
}
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::updateEstateInfo(const strings_t& strings)
|
||||
bool LLEstateInfoModel::getUseFixedSun() const { return getFlag(REGION_FLAGS_SUN_FIXED); }
|
||||
bool LLEstateInfoModel::getIsExternallyVisible() const { return getFlag(REGION_FLAGS_EXTERNALLY_VISIBLE); }
|
||||
bool LLEstateInfoModel::getAllowDirectTeleport() const { return getFlag(REGION_FLAGS_ALLOW_DIRECT_TELEPORT); }
|
||||
bool LLEstateInfoModel::getDenyAnonymous() const { return getFlag(REGION_FLAGS_DENY_ANONYMOUS); }
|
||||
bool LLEstateInfoModel::getDenyAgeUnverified() const { return getFlag(REGION_FLAGS_DENY_AGEUNVERIFIED); }
|
||||
bool LLEstateInfoModel::getAllowVoiceChat() const { return getFlag(REGION_FLAGS_ALLOW_VOICE); }
|
||||
bool LLEstateInfoModel::getAllowAccessOverride() const { return getFlag(REGION_FLAGS_ALLOW_ACCESS_OVERRIDE); }
|
||||
bool LLEstateInfoModel::getAllowEnvironmentOverride() const { return getFlag(REGION_FLAGS_ALLOW_ENVIRONMENT_OVERRIDE); }
|
||||
|
||||
void LLEstateInfoModel::setUseFixedSun(bool val) { setFlag(REGION_FLAGS_SUN_FIXED, val); }
|
||||
void LLEstateInfoModel::setIsExternallyVisible(bool val) { setFlag(REGION_FLAGS_EXTERNALLY_VISIBLE, val); }
|
||||
void LLEstateInfoModel::setAllowDirectTeleport(bool val) { setFlag(REGION_FLAGS_ALLOW_DIRECT_TELEPORT, val); }
|
||||
void LLEstateInfoModel::setDenyAnonymous(bool val) { setFlag(REGION_FLAGS_DENY_ANONYMOUS, val); }
|
||||
void LLEstateInfoModel::setDenyAgeUnverified(bool val) { setFlag(REGION_FLAGS_DENY_AGEUNVERIFIED, val); }
|
||||
void LLEstateInfoModel::setAllowVoiceChat(bool val) { setFlag(REGION_FLAGS_ALLOW_VOICE, val); }
|
||||
void LLEstateInfoModel::setAllowAccessOverride(bool val) { setFlag(REGION_FLAGS_ALLOW_ACCESS_OVERRIDE, val); }
|
||||
void LLEstateInfoModel::setAllowEnvironmentOverride(bool val) { setFlag(REGION_FLAGS_ALLOW_ENVIRONMENT_OVERRIDE, val); }
|
||||
|
||||
void LLEstateInfoModel::update(const strings_t& strings)
|
||||
{
|
||||
// NOTE: LLDispatcher extracts strings with an extra \0 at the
|
||||
// end. If we pass the std::string direct to the UI/renderer
|
||||
|
|
@ -193,10 +95,10 @@ void LLEstateInfoModel::updateEstateInfo(const strings_t& strings)
|
|||
mFlags = strtoul(strings[3].c_str(), NULL, 10);
|
||||
mSunHour = ((F32)(strtod(strings[4].c_str(), NULL)))/1024.0f;
|
||||
|
||||
LL_DEBUGS("ESTATEINFOM") << "Received estate info: "
|
||||
LL_DEBUGS("WindlightSync") << "Received estate info: "
|
||||
<< "is_sun_fixed = " << getUseFixedSun()
|
||||
<< ", sun_hour = " << getSunHour() << LL_ENDL;
|
||||
LL_DEBUGS("ESTATEINFOM") << getInfoDump() << LL_ENDL;
|
||||
LL_DEBUGS() << getInfoDump() << LL_ENDL;
|
||||
|
||||
// Update region owner.
|
||||
LLViewerRegion* regionp = gAgent.getRegion();
|
||||
|
|
@ -206,205 +108,20 @@ void LLEstateInfoModel::updateEstateInfo(const strings_t& strings)
|
|||
mUpdateSignal();
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::updateAccessInfo(const strings_t& strings)
|
||||
{
|
||||
S32 index = 1; // skip estate_id
|
||||
U32 access_flags = strtoul(strings[index++].c_str(), NULL, 10);
|
||||
S32 num_allowed_agents = strtol(strings[index++].c_str(), NULL, 10);
|
||||
S32 num_allowed_groups = strtol(strings[index++].c_str(), NULL, 10);
|
||||
S32 num_banned_agents = strtol(strings[index++].c_str(), NULL, 10);
|
||||
S32 num_estate_managers = strtol(strings[index++].c_str(), NULL, 10);
|
||||
|
||||
// sanity ckecks
|
||||
if (num_allowed_agents > 0
|
||||
&& !(access_flags & ESTATE_ACCESS_ALLOWED_AGENTS))
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "non-zero count for allowed agents, but no corresponding flag" << LL_ENDL;
|
||||
}
|
||||
if (num_allowed_groups > 0
|
||||
&& !(access_flags & ESTATE_ACCESS_ALLOWED_GROUPS))
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "non-zero count for allowed groups, but no corresponding flag" << LL_ENDL;
|
||||
}
|
||||
if (num_banned_agents > 0
|
||||
&& !(access_flags & ESTATE_ACCESS_BANNED_AGENTS))
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "non-zero count for banned agents, but no corresponding flag" << LL_ENDL;
|
||||
}
|
||||
if (num_estate_managers > 0
|
||||
&& !(access_flags & ESTATE_ACCESS_MANAGERS))
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "non-zero count for managers, but no corresponding flag" << LL_ENDL;
|
||||
}
|
||||
|
||||
// grab the UUID's out of the string fields
|
||||
if (access_flags & ESTATE_ACCESS_ALLOWED_AGENTS)
|
||||
{
|
||||
mAllowedAgents.clear();
|
||||
|
||||
for (S32 i = 0; i < num_allowed_agents && i < ESTATE_MAX_ACCESS_IDS; i++)
|
||||
{
|
||||
LLUUID id;
|
||||
memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */
|
||||
mAllowedAgents.insert(id);
|
||||
}
|
||||
}
|
||||
|
||||
if (access_flags & ESTATE_ACCESS_ALLOWED_GROUPS)
|
||||
{
|
||||
mAllowedGroups.clear();
|
||||
|
||||
for (S32 i = 0; i < num_allowed_groups && i < ESTATE_MAX_GROUP_IDS; i++)
|
||||
{
|
||||
LLUUID id;
|
||||
memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */
|
||||
mAllowedGroups.insert(id);
|
||||
}
|
||||
}
|
||||
|
||||
if (access_flags & ESTATE_ACCESS_BANNED_AGENTS)
|
||||
{
|
||||
mBannedAgents.clear();
|
||||
|
||||
for (S32 i = 0; i < num_banned_agents && i < ESTATE_MAX_ACCESS_IDS; i++)
|
||||
{
|
||||
LLUUID id;
|
||||
memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */
|
||||
mBannedAgents.insert(id);
|
||||
}
|
||||
}
|
||||
|
||||
if (access_flags & ESTATE_ACCESS_MANAGERS)
|
||||
{
|
||||
mEstateManagers.clear();
|
||||
|
||||
// There should be only ESTATE_MAX_MANAGERS people in the list, but if the database gets more (SL-46107) don't
|
||||
// truncate the list unless it's really big. Go ahead and show the extras so the user doesn't get confused,
|
||||
// and they can still remove them.
|
||||
for (S32 i = 0; i < num_estate_managers && i < (ESTATE_MAX_MANAGERS * 4); i++)
|
||||
{
|
||||
LLUUID id;
|
||||
memcpy(id.mData, strings[index++].data(), UUID_BYTES); /* Flawfinder: ignore */
|
||||
mEstateManagers.insert(id);
|
||||
}
|
||||
}
|
||||
|
||||
// Update the buttons which may change based on the list contents but also needs to account for general access features.
|
||||
mUpdateAccess(access_flags);
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::updateExperienceInfo(const strings_t& strings)
|
||||
{
|
||||
strings_t::const_iterator it = strings.begin();
|
||||
++it; // U32 estate_id = strtol((*it).c_str(), NULL, 10);
|
||||
++it; // U32 send_to_agent_only = strtoul((*(++it)).c_str(), NULL, 10);
|
||||
|
||||
LLUUID id;
|
||||
S32 num_blocked = strtol((*(it++)).c_str(), NULL, 10);
|
||||
S32 num_trusted = strtol((*(it++)).c_str(), NULL, 10);
|
||||
S32 num_allowed = strtol((*(it++)).c_str(), NULL, 10);
|
||||
|
||||
mExperienceAllowed.clear();
|
||||
mExperienceTrusted.clear();
|
||||
mExperienceBlocked.clear();
|
||||
|
||||
while (num_blocked-- > 0)
|
||||
{
|
||||
memcpy(id.mData, (*(it++)).data(), UUID_BYTES);
|
||||
mExperienceBlocked.insert(id);
|
||||
}
|
||||
|
||||
while (num_trusted-- > 0)
|
||||
{
|
||||
memcpy(id.mData, (*(it++)).data(), UUID_BYTES);
|
||||
mExperienceTrusted.insert(id);
|
||||
}
|
||||
|
||||
while (num_allowed-- > 0)
|
||||
{
|
||||
memcpy(id.mData, (*(it++)).data(), UUID_BYTES);
|
||||
mExperienceAllowed.insert(id);
|
||||
}
|
||||
|
||||
mUpdateExperience();
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::notifyCommit()
|
||||
{
|
||||
mCommitSignal();
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::initSingleton()
|
||||
{
|
||||
gMessageSystem->setHandlerFunc("EstateOwnerMessage", &processEstateOwnerRequest);
|
||||
|
||||
// name.assign("setowner");
|
||||
// static LLDispatchSetEstateOwner set_owner;
|
||||
// dispatch.addHandler(name, &set_owner);
|
||||
|
||||
static LLDispatchEstateUpdateInfo estate_update_info;
|
||||
mDispatch.addHandler("estateupdateinfo", &estate_update_info);
|
||||
|
||||
static LLDispatchSetEstateAccess set_access;
|
||||
mDispatch.addHandler("setaccess", &set_access);
|
||||
|
||||
static LLDispatchSetEstateExperience set_experience;
|
||||
mDispatch.addHandler("setexperience", &set_experience);
|
||||
|
||||
}
|
||||
|
||||
void LLEstateInfoModel::sendEstateOwnerMessage(const std::string& request, const strings_t& strings)
|
||||
{
|
||||
if (!mRegion)
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "No selected region." << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
LLMessageSystem* msg(gMessageSystem);
|
||||
LLUUID invoice(LLEstateInfoModel::instance().getLastInvoice());
|
||||
|
||||
LL_INFOS() << "Sending estate request '" << request << "'" << LL_ENDL;
|
||||
msg->newMessage("EstateOwnerMessage");
|
||||
msg->nextBlockFast(_PREHASH_AgentData);
|
||||
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
|
||||
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
||||
msg->addUUIDFast(_PREHASH_TransactionID, LLUUID::null); //not used
|
||||
msg->nextBlock("MethodData");
|
||||
msg->addString("Method", request);
|
||||
msg->addUUID("Invoice", invoice);
|
||||
if (strings.empty())
|
||||
{
|
||||
msg->nextBlock("ParamList");
|
||||
msg->addString("Parameter", NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
strings_t::const_iterator it = strings.begin();
|
||||
strings_t::const_iterator end = strings.end();
|
||||
for (; it != end; ++it)
|
||||
{
|
||||
msg->nextBlock("ParamList");
|
||||
msg->addString("Parameter", *it);
|
||||
}
|
||||
}
|
||||
msg->sendReliable(mRegion->getHost());
|
||||
}
|
||||
|
||||
//== PRIVATE STUFF ============================================================
|
||||
|
||||
// tries to send estate info using a cap; returns true if it succeeded
|
||||
bool LLEstateInfoModel::commitEstateInfoCaps()
|
||||
{
|
||||
if (!mRegion)
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "Attempt to update estate caps with no anchor region! Don't do that!" << LL_ENDL;
|
||||
return false;
|
||||
}
|
||||
std::string url = mRegion->getCapability("EstateChangeInfo");
|
||||
std::string url = gAgent.getRegionCapability("EstateChangeInfo");
|
||||
|
||||
if (url.empty())
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "No EstateChangeInfo cap from region." << LL_ENDL;
|
||||
// whoops, couldn't find the cap, so bail out
|
||||
return false;
|
||||
}
|
||||
|
|
@ -433,14 +150,13 @@ void LLEstateInfoModel::commitEstateInfoCapsCoro(std::string url)
|
|||
body["deny_age_unverified"] = getDenyAgeUnverified();
|
||||
body["allow_voice_chat"] = getAllowVoiceChat();
|
||||
body["override_public_access"] = getAllowAccessOverride();
|
||||
body["override_environment"] = getAllowEnvironmentOverride();
|
||||
|
||||
body["invoice"] = getLastInvoice();
|
||||
body["invoice"] = LLFloaterRegionInfo::getLastInvoice();
|
||||
|
||||
LL_DEBUGS("ESTATEINFOM") << "Sending estate caps: "
|
||||
LL_DEBUGS("WindlightSync") << "Sending estate caps: "
|
||||
<< "is_sun_fixed = " << getUseFixedSun()
|
||||
<< ", sun_hour = " << getSunHour() << LL_ENDL;
|
||||
LL_DEBUGS("ESTATEINFOM") << body << LL_ENDL;
|
||||
LL_DEBUGS() << body << LL_ENDL;
|
||||
|
||||
LLSD result = httpAdapter->postAndSuspend(httpRequest, url, body);
|
||||
|
||||
|
|
@ -449,12 +165,12 @@ void LLEstateInfoModel::commitEstateInfoCapsCoro(std::string url)
|
|||
|
||||
if (status)
|
||||
{
|
||||
LL_INFOS("ESTATEINFOM") << "Committed estate info" << LL_ENDL;
|
||||
LL_INFOS() << "Committed estate info" << LL_ENDL;
|
||||
LLEstateInfoModel::instance().notifyCommit();
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "Failed to commit estate info " << LL_ENDL;
|
||||
LL_WARNS() << "Failed to commit estate info " << LL_ENDL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -467,15 +183,10 @@ void LLEstateInfoModel::commitEstateInfoCapsCoro(std::string url)
|
|||
// strings[3] = str((S32)(sun_hour * 1024.f))
|
||||
void LLEstateInfoModel::commitEstateInfoDataserver()
|
||||
{
|
||||
if (!mRegion)
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "No selected region." << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
LL_DEBUGS("ESTATEINFOM") << "Sending estate info: "
|
||||
LL_DEBUGS("WindlightSync") << "Sending estate info: "
|
||||
<< "is_sun_fixed = " << getUseFixedSun()
|
||||
<< ", sun_hour = " << getSunHour() << LL_ENDL;
|
||||
LL_DEBUGS("ESTATEINFOM") << getInfoDump() << LL_ENDL;
|
||||
LL_DEBUGS() << getInfoDump() << LL_ENDL;
|
||||
|
||||
LLMessageSystem* msg = gMessageSystem;
|
||||
msg->newMessage("EstateOwnerMessage");
|
||||
|
|
@ -486,7 +197,7 @@ void LLEstateInfoModel::commitEstateInfoDataserver()
|
|||
|
||||
msg->nextBlock("MethodData");
|
||||
msg->addString("Method", "estatechangeinfo");
|
||||
msg->addUUID("Invoice", getLastInvoice());
|
||||
msg->addUUID("Invoice", LLFloaterRegionInfo::getLastInvoice());
|
||||
|
||||
msg->nextBlock("ParamList");
|
||||
msg->addString("Parameter", getName());
|
||||
|
|
@ -497,7 +208,7 @@ void LLEstateInfoModel::commitEstateInfoDataserver()
|
|||
msg->nextBlock("ParamList");
|
||||
msg->addString("Parameter", llformat("%d", (S32) (getSunHour() * 1024.0f)));
|
||||
|
||||
msg->sendReliable(mRegion->getHost());
|
||||
gAgent.sendMessage();
|
||||
}
|
||||
|
||||
std::string LLEstateInfoModel::getInfoDump()
|
||||
|
|
@ -513,28 +224,9 @@ std::string LLEstateInfoModel::getInfoDump()
|
|||
dump["deny_age_unverified" ] = getDenyAgeUnverified();
|
||||
dump["allow_voice_chat" ] = getAllowVoiceChat();
|
||||
dump["override_public_access"] = getAllowAccessOverride();
|
||||
dump["override_environment"] = getAllowEnvironmentOverride();
|
||||
dump["override_environment"] = getAllowEnvironmentOverride();
|
||||
|
||||
std::stringstream dump_str;
|
||||
dump_str << dump;
|
||||
return dump_str.str();
|
||||
}
|
||||
|
||||
// static
|
||||
void LLEstateInfoModel::processEstateOwnerRequest(LLMessageSystem* msg, void**)
|
||||
{
|
||||
// unpack the message
|
||||
std::string request;
|
||||
LLUUID invoice;
|
||||
LLDispatcher::sparam_t strings;
|
||||
LLDispatcher::unpackMessage(msg, request, invoice, strings);
|
||||
if (invoice != LLEstateInfoModel::instance().getLastInvoice())
|
||||
{
|
||||
LL_WARNS("ESTATEINFOM") << "Mismatched Estate message: " << request << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
|
||||
//dispatch the message
|
||||
LLEstateInfoModel::instance().mDispatch.dispatch(request, invoice, strings);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,123 +32,78 @@ class LLMessageSystem;
|
|||
#include "llsingleton.h"
|
||||
#include "llcoros.h"
|
||||
#include "lleventcoro.h"
|
||||
#include "lldispatcher.h"
|
||||
#include "llregionflags.h"
|
||||
|
||||
class LLViewerRegion;
|
||||
/**
|
||||
* Contains estate info, notifies interested parties of its changes.
|
||||
*/
|
||||
class LLEstateInfoModel : public LLSingleton<LLEstateInfoModel>
|
||||
{
|
||||
LLSINGLETON_C11(LLEstateInfoModel);
|
||||
LLSINGLETON(LLEstateInfoModel);
|
||||
LOG_CLASS(LLEstateInfoModel);
|
||||
|
||||
public:
|
||||
typedef std::vector<std::string> strings_t;
|
||||
typedef boost::signals2::signal<void()> update_signal_t;
|
||||
typedef boost::signals2::signal<void(U32)> update_flaged_signal_t;
|
||||
typedef boost::signals2::connection connection_t;
|
||||
typedef boost::signals2::signal<void()> update_signal_t;
|
||||
boost::signals2::connection setUpdateCallback(const update_signal_t::slot_type& cb); /// the model has been externally updated
|
||||
boost::signals2::connection setCommitCallback(const update_signal_t::slot_type& cb); /// our changes have been applied
|
||||
|
||||
connection_t setUpdateCallback(const update_signal_t::slot_type& cb); /// the model has been externally updated
|
||||
connection_t setUpdateAccessCallback(const update_flaged_signal_t::slot_type& cb);
|
||||
connection_t setUpdateExperienceCallback(const update_signal_t::slot_type& cb);
|
||||
connection_t setCommitCallback(const update_signal_t::slot_type& cb); /// our changes have been applied
|
||||
|
||||
void setRegion(LLViewerRegion* region);
|
||||
void clearRegion();
|
||||
void sendEstateInfo(); /// send estate info to the simulator
|
||||
void sendEstateInfo(); /// send estate info to the simulator
|
||||
|
||||
// getters
|
||||
bool getUseFixedSun() const { return getFlag(REGION_FLAGS_SUN_FIXED); }
|
||||
bool getIsExternallyVisible() const { return getFlag(REGION_FLAGS_EXTERNALLY_VISIBLE); }
|
||||
bool getAllowDirectTeleport() const { return getFlag(REGION_FLAGS_ALLOW_DIRECT_TELEPORT); }
|
||||
bool getDenyAnonymous() const { return getFlag(REGION_FLAGS_DENY_ANONYMOUS); }
|
||||
bool getDenyAgeUnverified() const { return getFlag(REGION_FLAGS_DENY_AGEUNVERIFIED); }
|
||||
bool getAllowVoiceChat() const { return getFlag(REGION_FLAGS_ALLOW_VOICE); }
|
||||
bool getAllowAccessOverride() const { return getFlag(REGION_FLAGS_ALLOW_ACCESS_OVERRIDE); }
|
||||
bool getAllowEnvironmentOverride() const { return getFlag(REGION_FLAGS_ALLOW_ENVIRONMENT_OVERRIDE); }
|
||||
bool getUseFixedSun() const;
|
||||
bool getIsExternallyVisible() const;
|
||||
bool getAllowDirectTeleport() const;
|
||||
bool getDenyAnonymous() const;
|
||||
bool getDenyAgeUnverified() const;
|
||||
bool getAllowVoiceChat() const;
|
||||
bool getAllowAccessOverride() const;
|
||||
bool getAllowEnvironmentOverride() const;
|
||||
|
||||
const std::string& getName() const { return mName; }
|
||||
const LLUUID& getOwnerID() const { return mOwnerID; }
|
||||
U32 getID() const { return mID; }
|
||||
F32 getSunHour() const { return getUseFixedSun() ? mSunHour : 0.f; }
|
||||
const std::string& getName() const { return mName; }
|
||||
const LLUUID& getOwnerID() const { return mOwnerID; }
|
||||
U32 getID() const { return mID; }
|
||||
F32 getSunHour() const { return getUseFixedSun() ? mSunHour : 0.f; }
|
||||
|
||||
// setters
|
||||
void setUseFixedSun(bool val) { setFlag(REGION_FLAGS_SUN_FIXED, val); }
|
||||
void setIsExternallyVisible(bool val) { setFlag(REGION_FLAGS_EXTERNALLY_VISIBLE, val); }
|
||||
void setAllowDirectTeleport(bool val) { setFlag(REGION_FLAGS_ALLOW_DIRECT_TELEPORT, val); }
|
||||
void setDenyAnonymous(bool val) { setFlag(REGION_FLAGS_DENY_ANONYMOUS, val); }
|
||||
void setDenyAgeUnverified(bool val) { setFlag(REGION_FLAGS_DENY_AGEUNVERIFIED, val); }
|
||||
void setAllowVoiceChat(bool val) { setFlag(REGION_FLAGS_ALLOW_VOICE, val); }
|
||||
void setAllowAccessOverride(bool val) { setFlag(REGION_FLAGS_ALLOW_ACCESS_OVERRIDE, val); }
|
||||
void setAllowEnvironmentOverride(bool val) { setFlag(REGION_FLAGS_ALLOW_ENVIRONMENT_OVERRIDE, val); }
|
||||
void setUseFixedSun(bool val);
|
||||
void setIsExternallyVisible(bool val);
|
||||
void setAllowDirectTeleport(bool val);
|
||||
void setDenyAnonymous(bool val);
|
||||
void setDenyAgeUnverified(bool val);
|
||||
void setAllowVoiceChat(bool val);
|
||||
void setAllowAccessOverride(bool val);
|
||||
void setAllowEnvironmentOverride(bool val);
|
||||
|
||||
void setSunHour(F32 sun_hour) { mSunHour = sun_hour; }
|
||||
|
||||
const uuid_set_t & getAllowedAgents() const { return mAllowedAgents; }
|
||||
const uuid_set_t & getAllowedGroups() const { return mAllowedGroups; }
|
||||
const uuid_set_t & getBannedAgents() const { return mBannedAgents; }
|
||||
const uuid_set_t & getEstateManagers() const { return mEstateManagers; }
|
||||
|
||||
const uuid_set_t & getAllowedExperiences() const { return mExperienceAllowed; }
|
||||
const uuid_set_t & getTrustedExperiences() const { return mExperienceTrusted; }
|
||||
const uuid_set_t & getBlockedExperiences() const { return mExperienceBlocked; }
|
||||
|
||||
void sendEstateOwnerMessage(const std::string& request, const strings_t& strings);
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
/// refresh model with data from the incoming server message
|
||||
void updateEstateInfo(const strings_t& strings);
|
||||
void updateAccessInfo(const strings_t& strings);
|
||||
void updateExperienceInfo(const strings_t& strings);
|
||||
|
||||
const LLUUID & getLastInvoice() { return mRequestInvoice; }
|
||||
const LLUUID & nextInvoice() { mRequestInvoice.generate(); return mRequestInvoice; }
|
||||
void setSunHour(F32 sun_hour) { mSunHour = sun_hour; }
|
||||
|
||||
protected:
|
||||
typedef std::vector<std::string> strings_t;
|
||||
|
||||
void notifyCommit();
|
||||
friend class LLDispatchEstateUpdateInfo;
|
||||
|
||||
virtual void initSingleton() override;
|
||||
/// refresh model with data from the incoming server message
|
||||
void update(const strings_t& strings);
|
||||
|
||||
void notifyCommit();
|
||||
|
||||
private:
|
||||
bool commitEstateInfoCaps();
|
||||
void commitEstateInfoDataserver();
|
||||
inline bool getFlag(U64 flag) const;
|
||||
inline void setFlag(U64 flag, bool val);
|
||||
U64 getFlags() const { return mFlags; }
|
||||
std::string getInfoDump();
|
||||
bool commitEstateInfoCaps();
|
||||
void commitEstateInfoDataserver();
|
||||
inline bool getFlag(U64 flag) const;
|
||||
inline void setFlag(U64 flag, bool val);
|
||||
U64 getFlags() const { return mFlags; }
|
||||
std::string getInfoDump();
|
||||
|
||||
// estate info
|
||||
std::string mName; /// estate name
|
||||
LLUUID mOwnerID; /// estate owner id
|
||||
U32 mID; /// estate id
|
||||
U64 mFlags; /// estate flags
|
||||
F32 mSunHour; /// estate sun hour
|
||||
std::string mName; /// estate name
|
||||
LLUUID mOwnerID; /// estate owner id
|
||||
U32 mID; /// estate id
|
||||
U64 mFlags; /// estate flags
|
||||
F32 mSunHour; /// estate sun hour
|
||||
|
||||
uuid_set_t mAllowedAgents;
|
||||
uuid_set_t mAllowedGroups;
|
||||
uuid_set_t mBannedAgents;
|
||||
uuid_set_t mEstateManagers;
|
||||
|
||||
uuid_set_t mExperienceAllowed;
|
||||
uuid_set_t mExperienceTrusted;
|
||||
uuid_set_t mExperienceBlocked;
|
||||
|
||||
update_signal_t mUpdateSignal; /// emitted when we receive update from sim
|
||||
update_flaged_signal_t mUpdateAccess;
|
||||
update_signal_t mUpdateExperience;
|
||||
update_signal_t mCommitSignal; /// emitted when our update gets applied to sim
|
||||
|
||||
LLDispatcher mDispatch;
|
||||
LLUUID mRequestInvoice;
|
||||
LLViewerRegion* mRegion;
|
||||
|
||||
void commitEstateInfoCapsCoro(std::string url);
|
||||
|
||||
static void processEstateOwnerRequest(LLMessageSystem* msg, void**);
|
||||
update_signal_t mUpdateSignal; /// emitted when we receive update from sim
|
||||
update_signal_t mCommitSignal; /// emitted when our update gets applied to sim
|
||||
|
||||
void commitEstateInfoCapsCoro(std::string url);
|
||||
};
|
||||
|
||||
inline bool LLEstateInfoModel::getFlag(U64 flag) const
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
/**
|
||||
* @file llfloaterbanduration.cpp
|
||||
*
|
||||
* $LicenseInfo:firstyear=2004&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2018, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
#include "llfloaterbanduration.h"
|
||||
|
||||
#include "llfloaterreg.h"
|
||||
#include "llspinctrl.h"
|
||||
#include "llradiogroup.h"
|
||||
|
||||
LLFloaterBanDuration::LLFloaterBanDuration(const LLSD& target)
|
||||
: LLFloater(target)
|
||||
{
|
||||
}
|
||||
|
||||
BOOL LLFloaterBanDuration::postBuild()
|
||||
{
|
||||
childSetAction("ok_btn", boost::bind(&LLFloaterBanDuration::onClickBan, this));
|
||||
childSetAction("cancel_btn", boost::bind(&LLFloaterBanDuration::onClickCancel, this));
|
||||
|
||||
getChild<LLUICtrl>("ban_duration_radio")->setCommitCallback(boost::bind(&LLFloaterBanDuration::onClickRadio, this));
|
||||
getChild<LLRadioGroup>("ban_duration_radio")->setSelectedIndex(0);
|
||||
getChild<LLUICtrl>("ban_hours")->setEnabled(FALSE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
LLFloaterBanDuration* LLFloaterBanDuration::show(select_callback_t callback, uuid_vec_t ids)
|
||||
{
|
||||
LLFloaterBanDuration* floater = LLFloaterReg::showTypedInstance<LLFloaterBanDuration>("ban_duration");
|
||||
if (!floater)
|
||||
{
|
||||
LL_WARNS() << "Cannot instantiate ban duration floater" << LL_ENDL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
floater->mSelectionCallback = callback;
|
||||
floater->mAvatar_ids = ids;
|
||||
|
||||
return floater;
|
||||
}
|
||||
|
||||
void LLFloaterBanDuration::onClickRadio()
|
||||
{
|
||||
getChild<LLUICtrl>("ban_hours")->setEnabled(getChild<LLRadioGroup>("ban_duration_radio")->getSelectedIndex() != 0);
|
||||
}
|
||||
|
||||
void LLFloaterBanDuration::onClickCancel()
|
||||
{
|
||||
closeFloater();
|
||||
}
|
||||
|
||||
void LLFloaterBanDuration::onClickBan()
|
||||
{
|
||||
if (mSelectionCallback)
|
||||
{
|
||||
S32 time = 0;
|
||||
if (getChild<LLRadioGroup>("ban_duration_radio")->getSelectedIndex() != 0)
|
||||
{
|
||||
LLSpinCtrl* hours_spin = getChild<LLSpinCtrl>("ban_hours");
|
||||
if (hours_spin)
|
||||
{
|
||||
time = LLDate::now().secondsSinceEpoch() + (hours_spin->getValue().asInteger() * 3600);
|
||||
}
|
||||
}
|
||||
mSelectionCallback(mAvatar_ids, time);
|
||||
}
|
||||
closeFloater();
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* @file llfloaterbanduration.h
|
||||
*
|
||||
* $LicenseInfo:firstyear=2004&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2018, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LL_FLOATERBANDURATION_H
|
||||
#define LL_FLOATERBANDURATION_H
|
||||
|
||||
#include "llfloater.h"
|
||||
|
||||
class LLFloaterBanDuration : public LLFloater
|
||||
{
|
||||
typedef boost::function<void(const uuid_vec_t&, const S32 duration)> select_callback_t;
|
||||
|
||||
public:
|
||||
LLFloaterBanDuration(const LLSD& target);
|
||||
BOOL postBuild();
|
||||
static LLFloaterBanDuration* show(select_callback_t callback, uuid_vec_t id);
|
||||
|
||||
private:
|
||||
~LLFloaterBanDuration() {};
|
||||
void onClickBan();
|
||||
void onClickCancel();
|
||||
void onClickRadio();
|
||||
|
||||
uuid_vec_t mAvatar_ids;
|
||||
select_callback_t mSelectionCallback;
|
||||
};
|
||||
|
||||
#endif // LL_FLOATERBANDURATION_H
|
||||
|
||||
|
|
@ -46,6 +46,7 @@
|
|||
#include "llfloaterreg.h"
|
||||
#include "llfloateravatarpicker.h"
|
||||
#include "llfloaterauction.h"
|
||||
#include "llfloaterbanduration.h"
|
||||
#include "llfloatergroups.h"
|
||||
#include "llfloaterscriptlimits.h"
|
||||
#include "llavataractions.h"
|
||||
|
|
@ -89,7 +90,6 @@
|
|||
#include "llworld.h" // <FS:Ansariel> For FIRE-1292
|
||||
#include "llsdutil.h"
|
||||
#include "llviewernetwork.h"
|
||||
#include "fsfloaterbantime.h"
|
||||
#include "fsnamelistavatarmenu.h"
|
||||
#include "llfloaterauction.h"
|
||||
|
||||
|
|
@ -2759,33 +2759,49 @@ void LLPanelLandAccess::refresh()
|
|||
cit != parcel->mBanList.end(); ++cit)
|
||||
{
|
||||
const LLAccessEntry& entry = (*cit).second;
|
||||
std::string prefix;
|
||||
std::string duration;
|
||||
if (entry.mTime != 0)
|
||||
{
|
||||
LLStringUtil::format_map_t args;
|
||||
S32 now = time(NULL);
|
||||
S32 seconds = entry.mTime - now;
|
||||
S32 seconds = entry.mTime - now;
|
||||
if (seconds < 0) seconds = 0;
|
||||
prefix.assign(" (");
|
||||
if (seconds >= 120)
|
||||
|
||||
if (seconds >= 7200)
|
||||
{
|
||||
args["[MINUTES]"] = llformat("%d", (seconds/60));
|
||||
std::string buf = parent_floater->getString ("Minutes", args);
|
||||
prefix.append(buf);
|
||||
args["[HOURS]"] = llformat("%d", (seconds / 3600));
|
||||
duration = parent_floater->getString("Hours", args);
|
||||
}
|
||||
else if (seconds >= 3600)
|
||||
{
|
||||
duration = "1 " + parent_floater->getString("Hour");
|
||||
}
|
||||
else if (seconds >= 120)
|
||||
{
|
||||
args["[MINUTES]"] = llformat("%d", (seconds / 60));
|
||||
duration = parent_floater->getString("Minutes", args);
|
||||
}
|
||||
else if (seconds >= 60)
|
||||
{
|
||||
prefix.append("1 " + parent_floater->getString("Minute"));
|
||||
duration = "1 " + parent_floater->getString("Minute");
|
||||
}
|
||||
else
|
||||
{
|
||||
args["[SECONDS]"] = llformat("%d", seconds);
|
||||
std::string buf = parent_floater->getString ("Seconds", args);
|
||||
prefix.append(buf);
|
||||
duration = parent_floater->getString("Seconds", args);
|
||||
}
|
||||
prefix.append(" " + parent_floater->getString("Remaining") + ") ");
|
||||
}
|
||||
mListBanned->addNameItem(entry.mID, ADD_DEFAULT, TRUE, "", prefix);
|
||||
else
|
||||
{
|
||||
duration = parent_floater->getString("Always");
|
||||
}
|
||||
LLSD item;
|
||||
item["id"] = entry.mID;
|
||||
LLSD& columns = item["columns"];
|
||||
columns[0]["column"] = "name"; // to be populated later
|
||||
columns[1]["column"] = "duration";
|
||||
columns[1]["value"] = duration;
|
||||
mListBanned->addElement(item);
|
||||
}
|
||||
mListBanned->sortByName(TRUE);
|
||||
}
|
||||
|
|
@ -3158,7 +3174,7 @@ void LLPanelLandAccess::onClickAddBanned()
|
|||
LLView * button = findChild<LLButton>("add_banned");
|
||||
LLFloater * root_floater = gFloaterView->getParentFloater(this);
|
||||
LLFloaterAvatarPicker* picker = LLFloaterAvatarPicker::show(
|
||||
boost::bind(&LLPanelLandAccess::callbackAvatarCBBanned, this, _1), FALSE, FALSE, FALSE, root_floater->getName(), button);
|
||||
boost::bind(&LLPanelLandAccess::callbackAvatarCBBanned, this, _1), TRUE, FALSE, FALSE, root_floater->getName(), button);
|
||||
if (picker)
|
||||
{
|
||||
root_floater->addDependentFloater(picker);
|
||||
|
|
@ -3168,52 +3184,42 @@ void LLPanelLandAccess::onClickAddBanned()
|
|||
// static
|
||||
void LLPanelLandAccess::callbackAvatarCBBanned(const uuid_vec_t& ids)
|
||||
{
|
||||
if (!ids.empty())
|
||||
LLFloater * root_floater = gFloaterView->getParentFloater(this);
|
||||
LLFloaterBanDuration* duration_floater = LLFloaterBanDuration::show(
|
||||
boost::bind(&LLPanelLandAccess::callbackAvatarCBBanned2, this, _1, _2), ids);
|
||||
if (duration_floater)
|
||||
{
|
||||
LLUUID id = ids[0];
|
||||
/* <FS:LO> Add ability to do time based temp bans
|
||||
LLParcel* parcel = mParcel->getParcel();
|
||||
if (parcel && parcel->addToBanList(id, 0))
|
||||
root_floater->addDependentFloater(duration_floater);
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelLandAccess::callbackAvatarCBBanned2(const uuid_vec_t& ids, S32 duration)
|
||||
{
|
||||
LLParcel* parcel = mParcel->getParcel();
|
||||
if (!parcel) return;
|
||||
|
||||
U32 lists_to_update = 0;
|
||||
|
||||
for (uuid_vec_t::const_iterator it = ids.begin(); it < ids.end(); it++)
|
||||
{
|
||||
LLUUID id = *it;
|
||||
if (parcel->addToBanList(id, duration))
|
||||
{
|
||||
U32 lists_to_update = AL_BAN;
|
||||
lists_to_update |= AL_BAN;
|
||||
// agent was successfully added to ban list
|
||||
// but we also need to check access list to ensure that agent will not be in two lists simultaneously
|
||||
if (parcel->removeFromAccessList(id))
|
||||
{
|
||||
lists_to_update |= AL_ACCESS;
|
||||
}
|
||||
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
|
||||
refresh();
|
||||
}
|
||||
*/
|
||||
LLFloater * root_floater = gFloaterView->getParentFloater(this);
|
||||
FSFloaterBanTime* timer = FSFloaterBanTime::show(boost::bind(&LLPanelLandAccess::callbackAvatarCBBannedTimed, this, _1, _2), id);
|
||||
if (timer)
|
||||
{
|
||||
root_floater->addDependentFloater(timer);
|
||||
}
|
||||
// </FS:LO>
|
||||
}
|
||||
}
|
||||
//<FS:LO> Add ability to do time based temp bans
|
||||
// static
|
||||
void LLPanelLandAccess::callbackAvatarCBBannedTimed(const LLUUID& id, S32 time)
|
||||
{
|
||||
LLParcel* parcel = mParcel->getParcel();
|
||||
if (parcel && parcel->addToBanList(id, time))
|
||||
if (lists_to_update > 0)
|
||||
{
|
||||
U32 lists_to_update = AL_BAN;
|
||||
// agent was successfully added to ban list
|
||||
// but we also need to check access list to ensure that agent will not be in two lists simultaneously
|
||||
if (parcel->removeFromAccessList(id))
|
||||
{
|
||||
lists_to_update |= AL_ACCESS;
|
||||
}
|
||||
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
//</FS:LO>
|
||||
|
||||
// static
|
||||
void LLPanelLandAccess::onClickRemoveBanned(void* data)
|
||||
|
|
|
|||
|
|
@ -399,7 +399,7 @@ public:
|
|||
void onClickAddAccess();
|
||||
void onClickAddBanned();
|
||||
void callbackAvatarCBBanned(const uuid_vec_t& ids);
|
||||
void callbackAvatarCBBannedTimed(const LLUUID& id, S32 time); //<FS:LO> Add ability to do time based temp bans
|
||||
void callbackAvatarCBBanned2(const uuid_vec_t& ids, S32 duration);
|
||||
void callbackAvatarCBAccess(const uuid_vec_t& ids);
|
||||
|
||||
protected:
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -29,6 +29,7 @@
|
|||
#define LL_LLFLOATERREGIONINFO_H
|
||||
|
||||
#include <vector>
|
||||
#include "llagent.h"
|
||||
#include "llassettype.h"
|
||||
#include "llfloater.h"
|
||||
#include "llhost.h"
|
||||
|
|
@ -67,6 +68,7 @@ class LLPanelEstateCovenant;
|
|||
class LLPanelExperienceListEditor;
|
||||
class LLPanelExperiences;
|
||||
class LLPanelRegionExperiences;
|
||||
class LLPanelEstateAccess;
|
||||
class LLPanelRegionEnvironment;
|
||||
|
||||
class LLEventTimer;
|
||||
|
|
@ -78,15 +80,21 @@ public:
|
|||
|
||||
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
/*virtual*/ void onClose(bool app_quitting);
|
||||
/*virtual*/ BOOL postBuild();
|
||||
|
||||
static void processEstateOwnerRequest(LLMessageSystem* msg, void**);
|
||||
|
||||
// get and process region info if necessary.
|
||||
static void processRegionInfo(LLMessageSystem* msg);
|
||||
|
||||
static const LLUUID& getLastInvoice() { return sRequestInvoice; }
|
||||
static void nextInvoice() { sRequestInvoice.generate(); }
|
||||
//static S32 getSerial() { return sRequestSerial; }
|
||||
//static void incrementSerial() { sRequestSerial++; }
|
||||
|
||||
static LLPanelEstateInfo* getPanelEstate();
|
||||
static LLPanelEstateAccess* getPanelAccess();
|
||||
static LLPanelEstateCovenant* getPanelCovenant();
|
||||
static LLPanelRegionTerrainInfo* getPanelRegionTerrain();
|
||||
static LLPanelRegionExperiences* getPanelExperiences();
|
||||
|
|
@ -109,20 +117,22 @@ private:
|
|||
LLFloaterRegionInfo(const LLSD& seed);
|
||||
~LLFloaterRegionInfo();
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
void onTabSelected(const LLSD& param);
|
||||
void disableTabCtrls();
|
||||
void refreshFromRegion(LLViewerRegion* region);
|
||||
void onGodLevelChange(U8 god_level);
|
||||
|
||||
// member data
|
||||
LLTabContainer* mTab;
|
||||
typedef std::vector<LLPanelRegionInfo*> info_panels_t;
|
||||
info_panels_t mInfoPanels;
|
||||
LLPanelRegionEnvironment *mEnvironmentPanel;
|
||||
//static S32 sRequestSerial; // serial # of last EstateOwnerRequest
|
||||
static LLUUID sRequestInvoice;
|
||||
|
||||
private:
|
||||
LLAgent::god_level_change_slot_t mGodLevelChangeSlot;
|
||||
boost::signals2::connection mRegionChangedCallback;
|
||||
};
|
||||
|
||||
|
|
@ -158,6 +168,15 @@ protected:
|
|||
|
||||
typedef std::vector<std::string> strings_t;
|
||||
//typedef std::vector<U32> integers_t;
|
||||
void sendEstateOwnerMessage(
|
||||
LLMessageSystem* msg,
|
||||
const std::string& request,
|
||||
const LLUUID& invoice,
|
||||
const strings_t& strings);
|
||||
|
||||
|
||||
// member data
|
||||
LLHost mHost;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
|
@ -283,9 +302,12 @@ private:
|
|||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class LLPanelEstateInfo : public LLPanelRegionInfo
|
||||
{
|
||||
public:
|
||||
static void initDispatch(LLDispatcher& dispatch);
|
||||
|
||||
void onChangeFixedSun();
|
||||
void onChangeUseGlobalTime();
|
||||
void onChangeAccessOverride();
|
||||
|
|
@ -295,35 +317,11 @@ public:
|
|||
void onClickEditDayCycle();
|
||||
void onClickEditDayCycleHelp();
|
||||
|
||||
void onClickAddAllowedAgent();
|
||||
void onClickRemoveAllowedAgent();
|
||||
void onClickAddAllowedGroup();
|
||||
void onClickRemoveAllowedGroup();
|
||||
void onClickAddBannedAgent();
|
||||
void onClickRemoveBannedAgent();
|
||||
void onClickAddEstateManager();
|
||||
void onClickRemoveEstateManager();
|
||||
void onClickKickUser();
|
||||
|
||||
// Group picker callback is different, can't use core methods below
|
||||
bool addAllowedGroup(const LLSD& notification, const LLSD& response);
|
||||
void addAllowedGroup2(LLUUID id);
|
||||
|
||||
// Core methods for all above add/remove button clicks
|
||||
static void accessAddCore(U32 operation_flag, const std::string& dialog_name);
|
||||
static bool accessAddCore2(const LLSD& notification, const LLSD& response);
|
||||
static void accessAddCore3(const uuid_vec_t& ids, void* data);
|
||||
|
||||
static void accessRemoveCore(U32 operation_flag, const std::string& dialog_name, const std::string& list_ctrl_name);
|
||||
static bool accessRemoveCore2(const LLSD& notification, const LLSD& response);
|
||||
|
||||
// used for both add and remove operations
|
||||
static bool accessCoreConfirm(const LLSD& notification, const LLSD& response);
|
||||
bool kickUserConfirm(const LLSD& notification, const LLSD& response);
|
||||
|
||||
// Send the actual EstateOwnerRequest "estateaccessdelta" message
|
||||
static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id);
|
||||
|
||||
void onKickUserCommit(const uuid_vec_t& ids);
|
||||
static void onClickMessageEstate(void* data);
|
||||
bool onMessageCommit(const LLSD& notification, const LLSD& response);
|
||||
|
|
@ -345,7 +343,6 @@ public:
|
|||
virtual void refresh();
|
||||
|
||||
void refreshFromEstate();
|
||||
void refreshAccessFromEstate(U32 flags);
|
||||
|
||||
static bool isLindenEstate();
|
||||
|
||||
|
|
@ -360,7 +357,6 @@ protected:
|
|||
void commitEstateAccess();
|
||||
void commitEstateManagers();
|
||||
|
||||
void clearAccessLists();
|
||||
BOOL checkSunHourSlider(LLUICtrl* child_ctrl);
|
||||
|
||||
U32 mEstateID;
|
||||
|
|
@ -448,7 +444,7 @@ public:
|
|||
void sendPurchaseRequest()const;
|
||||
void processResponse( const LLSD& content );
|
||||
private:
|
||||
void refreshExperiencesFromEstate();
|
||||
void refreshRegionExperiences();
|
||||
|
||||
static std::string regionCapabilityQuery(LLViewerRegion* region, const std::string &cap);
|
||||
|
||||
|
|
@ -463,4 +459,70 @@ private:
|
|||
LLUUID mDefaultExperience;
|
||||
};
|
||||
|
||||
|
||||
class LLPanelEstateAccess : public LLPanelRegionInfo
|
||||
{
|
||||
LOG_CLASS(LLPanelEnvironmentInfo);
|
||||
|
||||
public:
|
||||
LLPanelEstateAccess();
|
||||
|
||||
virtual BOOL postBuild();
|
||||
virtual void updateChild(LLUICtrl* child_ctrl);
|
||||
|
||||
void updateControls(LLViewerRegion* region);
|
||||
void updateLists();
|
||||
|
||||
void setPendingUpdate(bool pending) { mPendingUpdate = pending; }
|
||||
bool getPendingUpdate() { return mPendingUpdate; }
|
||||
|
||||
virtual bool refreshFromRegion(LLViewerRegion* region);
|
||||
|
||||
// <FS:Ansariel> Moved to public
|
||||
static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id);
|
||||
|
||||
private:
|
||||
void onClickAddAllowedAgent();
|
||||
void onClickRemoveAllowedAgent();
|
||||
void onClickCopyAllowedList();
|
||||
void onClickAddAllowedGroup();
|
||||
void onClickRemoveAllowedGroup();
|
||||
void onClickCopyAllowedGroupList();
|
||||
void onClickAddBannedAgent();
|
||||
void onClickRemoveBannedAgent();
|
||||
void onClickCopyBannedList();
|
||||
void onClickAddEstateManager();
|
||||
void onClickRemoveEstateManager();
|
||||
void onAllowedSearchEdit(const std::string& search_string);
|
||||
void onAllowedGroupsSearchEdit(const std::string& search_string);
|
||||
void onBannedSearchEdit(const std::string& search_string);
|
||||
|
||||
// Group picker callback is different, can't use core methods below
|
||||
bool addAllowedGroup(const LLSD& notification, const LLSD& response);
|
||||
void addAllowedGroup2(LLUUID id);
|
||||
|
||||
// Core methods for all above add/remove button clicks
|
||||
static void accessAddCore(U32 operation_flag, const std::string& dialog_name);
|
||||
static bool accessAddCore2(const LLSD& notification, const LLSD& response);
|
||||
static void accessAddCore3(const uuid_vec_t& ids, std::vector<LLAvatarName> names, void* data);
|
||||
|
||||
static void accessRemoveCore(U32 operation_flag, const std::string& dialog_name, const std::string& list_ctrl_name);
|
||||
static bool accessRemoveCore2(const LLSD& notification, const LLSD& response);
|
||||
|
||||
// used for both add and remove operations
|
||||
static bool accessCoreConfirm(const LLSD& notification, const LLSD& response);
|
||||
|
||||
// Send the actual EstateOwnerRequest "estateaccessdelta" message
|
||||
// <FS:Ansariel> Moved to public
|
||||
//static void sendEstateAccessDelta(U32 flags, const LLUUID& agent_id);
|
||||
|
||||
static void requestEstateGetAccessCoro(std::string url);
|
||||
|
||||
void searchAgent(LLNameListCtrl* listCtrl, const std::string& search_string);
|
||||
void copyListToClipboard(std::string list_name);
|
||||
|
||||
bool mPendingUpdate;
|
||||
BOOL mCtrlsEnabled;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
|
||||
#include "llavatarnamecache.h"
|
||||
#include "llcachename.h"
|
||||
#include "llfloater.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llinventory.h"
|
||||
#include "llscrolllistitem.h"
|
||||
|
|
@ -221,7 +222,10 @@ BOOL LLNameListCtrl::handleToolTip(S32 x, S32 y, MASK mask)
|
|||
BOOL handled = FALSE;
|
||||
S32 column_index = getColumnIndexFromOffset(x);
|
||||
LLNameListItem* hit_item = dynamic_cast<LLNameListItem*>(hitItem(x, y));
|
||||
if (hit_item
|
||||
LLFloater* floater = gFloaterView->getParentFloater(this);
|
||||
if (floater
|
||||
&& floater->isFrontmost()
|
||||
&& hit_item
|
||||
&& column_index == mNameColumnIndex)
|
||||
{
|
||||
// ...this is the column with the avatar name
|
||||
|
|
@ -328,8 +332,19 @@ LLScrollListItem* LLNameListCtrl::addNameItemRow(
|
|||
switch(name_item.target)
|
||||
{
|
||||
case GROUP:
|
||||
gCacheName->getGroupName(id, fullname);
|
||||
// fullname will be "nobody" if group not found
|
||||
if (!gCacheName->getGroupName(id, fullname))
|
||||
{
|
||||
avatar_name_cache_connection_map_t::iterator it = mGroupNameCacheConnections.find(id);
|
||||
if (it != mGroupNameCacheConnections.end())
|
||||
{
|
||||
if (it->second.connected())
|
||||
{
|
||||
it->second.disconnect();
|
||||
}
|
||||
mGroupNameCacheConnections.erase(it);
|
||||
}
|
||||
mGroupNameCacheConnections[id] = gCacheName->getGroup(id, boost::bind(&LLNameListCtrl::onGroupNameCache, this, _1, _2, item->getHandle()));
|
||||
}
|
||||
break;
|
||||
case SPECIAL:
|
||||
// just use supplied name
|
||||
|
|
@ -433,6 +448,20 @@ void LLNameListCtrl::removeNameItem(const LLUUID& agent_id)
|
|||
}
|
||||
}
|
||||
|
||||
// public
|
||||
LLScrollListItem* LLNameListCtrl::getNameItemByAgentId(const LLUUID& agent_id)
|
||||
{
|
||||
for (item_list::iterator it = getItemList().begin(); it != getItemList().end(); it++)
|
||||
{
|
||||
LLScrollListItem* item = *it;
|
||||
if (item && item->getUUID() == agent_id)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void LLNameListCtrl::onAvatarNameCache(const LLUUID& agent_id,
|
||||
const LLAvatarName& av_name,
|
||||
std::string suffix,
|
||||
|
|
@ -499,6 +528,31 @@ void LLNameListCtrl::onAvatarNameCache(const LLUUID& agent_id,
|
|||
dirtyColumns();
|
||||
}
|
||||
|
||||
void LLNameListCtrl::onGroupNameCache(const LLUUID& group_id, const std::string name, LLHandle<LLNameListItem> item)
|
||||
{
|
||||
avatar_name_cache_connection_map_t::iterator it = mGroupNameCacheConnections.find(group_id);
|
||||
if (it != mGroupNameCacheConnections.end())
|
||||
{
|
||||
if (it->second.connected())
|
||||
{
|
||||
it->second.disconnect();
|
||||
}
|
||||
mGroupNameCacheConnections.erase(it);
|
||||
}
|
||||
|
||||
LLNameListItem* list_item = item.get();
|
||||
if (list_item && list_item->getUUID() == group_id)
|
||||
{
|
||||
LLScrollListCell* cell = list_item->getColumn(mNameColumnIndex);
|
||||
if (cell)
|
||||
{
|
||||
cell->setValue(name);
|
||||
setNeedsSort();
|
||||
}
|
||||
}
|
||||
|
||||
dirtyColumns();
|
||||
}
|
||||
|
||||
void LLNameListCtrl::updateColumns(bool force_update)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,6 +166,8 @@ public:
|
|||
|
||||
void removeNameItem(const LLUUID& agent_id);
|
||||
|
||||
LLScrollListItem* getNameItemByAgentId(const LLUUID& agent_id);
|
||||
|
||||
// LLView interface
|
||||
/*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask,
|
||||
BOOL drop, EDragAndDropType cargo_type, void *cargo_data,
|
||||
|
|
@ -183,6 +185,7 @@ public:
|
|||
private:
|
||||
void showInspector(const LLUUID& avatar_id, bool is_group, bool is_experience = false);
|
||||
void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name, std::string suffix, std::string prefix, LLHandle<LLNameListItem> item);
|
||||
void onGroupNameCache(const LLUUID& group_id, const std::string name, LLHandle<LLNameListItem> item);
|
||||
|
||||
private:
|
||||
S32 mNameColumnIndex;
|
||||
|
|
@ -191,6 +194,7 @@ private:
|
|||
bool mShortNames; // display name only, no SLID
|
||||
typedef std::map<LLUUID, boost::signals2::connection> avatar_name_cache_connection_map_t;
|
||||
avatar_name_cache_connection_map_t mAvatarNameCacheConnections;
|
||||
avatar_name_cache_connection_map_t mGroupNameCacheConnections;
|
||||
|
||||
// <FS:Ansariel> Fix Baker's NameListCtrl un-fix
|
||||
// S32 mPendingLookupsRemaining;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include "llfloateravatarpicker.h"
|
||||
//#include "llfloateravatarrendersettings.h" // <FS:Ansariel> [FS Persisted Avatar Render Settings]
|
||||
#include "llfloateravatartextures.h"
|
||||
#include "llfloaterbanduration.h"
|
||||
#include "llfloaterbigpreview.h"
|
||||
#include "llfloaterbeacons.h"
|
||||
#include "llfloaterbuildoptions.h"
|
||||
|
|
@ -175,7 +176,6 @@
|
|||
#include "fsfloateraddtocontactset.h"
|
||||
#include "fsfloaterassetblacklist.h"
|
||||
#include "fsfloateravatarrendersettings.h"
|
||||
#include "fsfloaterbantime.h"
|
||||
#include "fsfloatercontacts.h"
|
||||
#include "fsfloatercontactsetconfiguration.h"
|
||||
#include "fsfloaterexport.h"
|
||||
|
|
@ -247,6 +247,7 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
//LLFloaterReg::add("avatar_render_settings", "floater_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarRenderSettings>);
|
||||
LLFloaterReg::add("avatar_textures", "floater_avatar_textures.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarTextures>);
|
||||
|
||||
LLFloaterReg::add("ban_duration", "floater_ban_duration.xml", &LLFloaterReg::build<LLFloaterBanDuration>);
|
||||
LLFloaterReg::add("beacons", "floater_beacons.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBeacons>);
|
||||
LLFloaterReg::add("bulk_perms", "floater_bulk_perms.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterBulkPermission>);
|
||||
LLFloaterReg::add("buy_currency", "floater_buy_currency.xml", &LLFloaterBuyCurrency::buildFloater);
|
||||
|
|
@ -464,7 +465,6 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("floater_profile", "floater_profile_view.xml",&LLFloaterReg::build<FSFloaterProfile>);
|
||||
LLFloaterReg::add("fs_asset_blacklist", "floater_fs_asset_blacklist.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterAssetBlacklist>);
|
||||
LLFloaterReg::add("fs_avatar_render_settings", "floater_fs_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterAvatarRenderSettings>);
|
||||
LLFloaterReg::add("fs_ban_time", "floater_fs_ban_duration.xml", &LLFloaterReg::build<FSFloaterBanTime>);
|
||||
LLFloaterReg::add("fs_blocklist", "floater_fs_blocklist.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterBlocklist>);
|
||||
LLFloaterReg::add("fs_add_contact", "floater_fs_contact_add.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterAddToContactSet>);
|
||||
LLFloaterReg::add("fs_contact_set_config", "floater_fs_contact_set_configuration.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterContactSetConfiguration>);
|
||||
|
|
|
|||
|
|
@ -3080,6 +3080,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)
|
|||
capabilityNames.append("DispatchRegionInfo");
|
||||
capabilityNames.append("DirectDelivery");
|
||||
capabilityNames.append("EnvironmentSettings");
|
||||
capabilityNames.append("EstateAccess");
|
||||
// <FS:CR> Aurora Sim
|
||||
capabilityNames.append("DispatchOpenRegionSettings");
|
||||
// </FS:CR> Aurora Sim
|
||||
|
|
|
|||
|
|
@ -1857,9 +1857,19 @@ LLViewerWindow::LLViewerWindow(const Params& p)
|
|||
LLCoordScreen scr;
|
||||
mWindow->getSize(&scr);
|
||||
|
||||
// Reset UI scale factor on first run if OS's display scaling is not 100%
|
||||
if (gSavedSettings.getBOOL("ResetUIScaleOnFirstRun"))
|
||||
{
|
||||
if (mWindow->getSystemUISize() != 1.f)
|
||||
{
|
||||
gSavedSettings.setF32("UIScaleFactor", 1.f);
|
||||
}
|
||||
gSavedSettings.setBOOL("ResetUIScaleOnFirstRun", FALSE);
|
||||
}
|
||||
|
||||
// Get the real window rect the window was created with (since there are various OS-dependent reasons why
|
||||
// the size of a window or fullscreen context may have been adjusted slightly...)
|
||||
F32 ui_scale_factor = llclamp(gSavedSettings.getF32("UIScaleFactor"), MIN_UI_SCALE, MAX_UI_SCALE) * mWindow->getSystemUISize();
|
||||
F32 ui_scale_factor = llclamp(gSavedSettings.getF32("UIScaleFactor") * mWindow->getSystemUISize(), MIN_UI_SCALE, MAX_UI_SCALE);
|
||||
|
||||
mDisplayScale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f));
|
||||
mDisplayScale *= ui_scale_factor;
|
||||
|
|
@ -6588,7 +6598,7 @@ F32 LLViewerWindow::getWorldViewAspectRatio() const
|
|||
|
||||
void LLViewerWindow::calcDisplayScale()
|
||||
{
|
||||
F32 ui_scale_factor = llclamp(gSavedSettings.getF32("UIScaleFactor"), MIN_UI_SCALE, MAX_UI_SCALE) * mWindow->getSystemUISize();
|
||||
F32 ui_scale_factor = llclamp(gSavedSettings.getF32("UIScaleFactor") * mWindow->getSystemUISize(), MIN_UI_SCALE, MAX_UI_SCALE);
|
||||
LLVector2 display_scale;
|
||||
display_scale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f));
|
||||
display_scale *= ui_scale_factor;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,12 @@
|
|||
<floater.string name="maturity_icon_adult">
|
||||
"Parcel_R_Dark"
|
||||
</floater.string>
|
||||
<floater.string name="Hours">
|
||||
[HOURS] Std.
|
||||
</floater.string>
|
||||
<floater.string name="Hour">
|
||||
Std.
|
||||
</floater.string>
|
||||
<floater.string name="Minutes">
|
||||
[MINUTES] Min.
|
||||
</floater.string>
|
||||
|
|
@ -21,6 +27,9 @@
|
|||
<floater.string name="Remaining">
|
||||
Restzeit
|
||||
</floater.string>
|
||||
<floater.string name="Always">
|
||||
Permanent
|
||||
</floater.string>
|
||||
<tab_container name="landtab" width="489">
|
||||
<panel label="Allgemein" name="land_general_panel">
|
||||
<panel.string name="new users only">
|
||||
|
|
@ -486,9 +495,12 @@ Nur große Parzellen können in der Suche aufgeführt werden.
|
|||
</panel>
|
||||
<panel name="Banned_layout_panel">
|
||||
<text label="Verbannen" name="BanCheck">
|
||||
Immer verbannt ([COUNT]/[MAX])
|
||||
Verbannt ([COUNT]/[MAX])
|
||||
</text>
|
||||
<name_list name="BannedList" tool_tip="([LISTED] aufgeführt, [MAX] max)"/>
|
||||
<name_list name="BannedList" tool_tip="([LISTED] aufgeführt, [MAX] max)">
|
||||
<columns label="Name" name="name"/>
|
||||
<columns label="Dauer" name="duration"/>
|
||||
</name_list>
|
||||
<button label="Hinzufügen" name="add_banned"/>
|
||||
<button label="Entfernen" label_selected="Entfernen" name="remove_banned"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
Parzellen, die bereits zum Verkauf stehen, können nicht auktioniert werden.
|
||||
</floater.string>
|
||||
<check_box initial_value="true" label="Gelben Auswahlrahmen einschließen" name="fence_check"/>
|
||||
<button label="Foto" label_selected="Foto" name="snapshot_btn"/>
|
||||
<button label="Screenshot" label_selected="Screenshot" name="snapshot_btn"/>
|
||||
<button label="An jeden verkaufen" label_selected="An jeden verkaufen" name="sell_to_anyone_btn"/>
|
||||
<button label="Einstellungen löschen" label_selected="Einstellungen löschen" name="reset_parcel_btn"/>
|
||||
<button label="Auktion beginnen" label_selected="Auktion beginnen" name="start_auction_btn"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater name="ban_duration" title="Verbannungsdauer">
|
||||
<text name="duration_textbox">
|
||||
Verbannungsdauer:
|
||||
</text>
|
||||
<radio_group name="ban_duration_radio">
|
||||
<radio_item label="Permanent" name="always_radio"/>
|
||||
<radio_item label="Temporär" name="temporary_radio"/>
|
||||
</radio_group>
|
||||
<text name="hours_textbox">
|
||||
Stunden.
|
||||
</text>
|
||||
<button label="Ok" name="ok_btn"/>
|
||||
<button label="Abbrechen" name="cancel_btn"/>
|
||||
</floater>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater name="Ban duration" title="Ban-Dauer" width="180">
|
||||
<text name="duration_textbox" width="68">
|
||||
Ban-Dauer:
|
||||
</text>
|
||||
<spinner name="ban_time" tool_tip="Legt fest, wie lange der Einwohner gebannt wird - 0 bedeutet unbeschränkt"/>
|
||||
<text name="hours_textbox">
|
||||
Stunden.
|
||||
</text>
|
||||
<text name="info_textbox">
|
||||
0 bedeutet unbeschränkt.
|
||||
</text>
|
||||
<button label="OK" name="BanConfirmButton"/>
|
||||
<button label="Abbrechen" name="BanCancelButton"/>
|
||||
</floater>
|
||||
|
|
@ -226,7 +226,7 @@
|
|||
<combo_box.item label="Objekt bezahlen" name="Payobject"/>
|
||||
<combo_box.item label="Öffnen" name="Open"/>
|
||||
<combo_box.item label="Zoom" name="Zoom"/>
|
||||
<combo_box.item label="Keine Aktion" name="None"/>
|
||||
<combo_box.item label="Keine" name="None"/>
|
||||
</combo_box>
|
||||
<check_box label="Zum Verkauf:" name="checkbox for sale"/>
|
||||
<spinner label="Preis: L$" name="Edit Cost"/>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
<menu_item_call label="Avatar auswählen" name="Avatar Picker"/>
|
||||
<menu label="Bewegung" name="Movement">
|
||||
<menu_item_call label="Hinsetzen" name="Sit Down Here"/>
|
||||
<menu_item_call label="Aufstehen" name="Stand up"/>
|
||||
<menu_item_check label="Fliegen" name="Fly"/>
|
||||
<menu_item_check label="Immer rennen" name="Always Run"/>
|
||||
<menu_item_check label="Sitzen erzwingen" name="Force Toggle Sitting"/>
|
||||
|
|
|
|||
|
|
@ -1596,6 +1596,30 @@ Ersetzen Sie die Textur [TEXTURE_NUM] mit einer Bilddatei von maximal 1024x1024
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
Verbannter Einwohner kann nicht zur Grundbesitzverwalterliste hinzugefügt werden.
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
Grundbesitzverwalter [AGENT] kann nicht zur Bannliste hinzugefügt werden.
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> befindet sich bereits auf der Liste der zulässigen Gruppen.
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] befindet sich bereits auf Ihrer [LIST_TYPE]-Liste.
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] befinden sich bereits auf Ihrer [LIST_TYPE]-Liste.
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] wurde der [LIST_TYPE]-Liste von [ESTATE] hinzugefügt.
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] wurden zur [LIST_TYPE]-Liste von [ESTATE] hinzugefügt.
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] wurden von der [LIST_TYPE]-Liste von [ESTATE] entfernt.
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] wurden von der [LIST_TYPE]-Liste von [ESTATE] entfernt.
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
Das Aussehen lässt sich erst ändern, wenn Kleider und Form/Gestalt geladen sind.
|
||||
</notification>
|
||||
|
|
@ -3356,22 +3380,22 @@ Klicken Sie auf 'Akzeptieren ', um dem Chat beizutreten, oder auf &a
|
|||
Verbindung zu [VOICE_CHANNEL_NAME] nicht möglich. Bitte versuchen Sie es später. Sie werden nun wieder mit dem Chat in Ihrer Nähe verbunden.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
Ein oder mehrere Ihrer Voice-Morph-Abos ist/sind abgelaufen.
|
||||
[[URL] Hier klicken], um Ihr Abo zu erneuern.
|
||||
Ein oder mehrere Ihrer Voice-Morph-Abos sind abgelaufen.
|
||||
[[URL] Klicken Sie hier], um Ihr Abo zu erneuern.
|
||||
|
||||
Falls Sie Premium-Mitglied sind, klicken Sie [[PREMIUM_URL] hier], um Ihren Voice-Morph-Vorteil zu erhalten.
|
||||
Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice-Morphing-Vorteil zu nutzen.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
Das aktive Voice-Morph-Abo ist abgelaufen. Ihre normalen Voice-Einstellungen werden angewendet.
|
||||
[[URL] Hier klicken], um Ihr Abo zu erneuern.
|
||||
Das aktive Voice-Morph-Abo ist abgelaufen. Ihre normalen Voice-Einstellungen werden angewendet.
|
||||
[[URL] Klicken Sie hier], um Ihr Abo zu erneuern.
|
||||
|
||||
Falls Sie Premium-Mitglied sind, klicken Sie [[PREMIUM_URL] hier], um Ihren Voice-Morph-Vorteil zu erhalten.
|
||||
Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice-Morphing-Vorteil zu nutzen.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Ein oder mehrere Ihrer Voice-Morph-Abos werden in weniger als [INTERVAL] Tagen ablaufen.
|
||||
[[URL] Hier klicken], um Ihr Abo zu erneuern.
|
||||
Ein oder mehrere Ihrer Voice-Morph-Abos laufen in weniger als [INTERVAL] Tagen ab.
|
||||
[[URL] Klicken Sie hier], um Ihr Abo zu erneuern.
|
||||
|
||||
Falls Sie Premium-Mitglied sind, klicken Sie [[PREMIUM_URL] hier], um Ihren Voice-Morph-Vorteil zu erhalten.
|
||||
Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice-Morphing-Vorteil zu nutzen.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
Neue Voice-Morph-Effekte sind erhältlich!
|
||||
|
|
@ -3423,6 +3447,9 @@ Diese werden für ein paar Sekunden sicherheitshalber gesperrt.
|
|||
<notification name="SnapshotToComputerFailed">
|
||||
Fehler beim Speichern des Bildes unter [PATH]: Zu wenig Speicherplatz auf dem Medium. [NEED_MEMORY]KB werden benötigt, es stehen jedoch nur [FREE_MEMORY]KB zur Verfügung.
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Fehler beim Speichern des Bildes unter [PATH]: Verzeichnis nicht vorhanden.
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Fehler beim Speichern des Bildes unter [PATH]: Verzeichnis existiert nicht.
|
||||
</notification>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">http://secondlife.com/account/request.php?lang=de</panel.string>
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=de
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="Benutzername" name="username_combo" tool_tip="Bei der Registrierung gewählter Benutzername wie „berndschmidt12“ oder „Liebe Sonne“"/>
|
||||
|
|
@ -11,8 +16,13 @@
|
|||
</combo_box>
|
||||
<button label="Anmelden" name="connect_btn"/>
|
||||
<check_box label="Details speichern" name="remember_check"/>
|
||||
<text name="forgot_password_text">Kennwort vergessen</text>
|
||||
<text name="forgot_password_text">
|
||||
Kennwort vergessen
|
||||
</text>
|
||||
<combo_box label="Grid auswählen" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
Registrieren
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=de
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
|
|
@ -14,6 +17,9 @@
|
|||
<text name="forgot_password_text">
|
||||
Kennwort vergessen
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
Registrieren
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Zugang" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="Grundbesitzverwalter" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
Grundbesitzverwalter:
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="Name" name="name"/>
|
||||
</name_list>
|
||||
<button label="Hinzufügen..." name="add_estate_manager_btn"/>
|
||||
<button label="Entfernen..." name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="Zulässig" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="Zulässige Agenten suchen" name="allowed_search_input"/>
|
||||
<button label="Kopieren" name="copy_allowed_list_btn"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
Immer zugelassen:
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="Name" name="name"/>
|
||||
</name_list>
|
||||
<button label="Hinzufügen..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Entfernen..." name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="Zulässige Gruppen" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="Zulässige Gruppen Suchen" name="allowed_group_search_input"/>
|
||||
<button label="Kopieren" name="copy_allowed_group_list_btn"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
Immer zugelassene Gruppen:
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="Name" name="name"/>
|
||||
</name_list>
|
||||
<button label="Hinzufügen..." name="add_allowed_group_btn"/>
|
||||
<button label="Entfernen..." name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="Verbannt" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="Verbannte Agenten suchen" name="banned_search_input"/>
|
||||
<button label="Kopieren" name="copy_banned_list_btn"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
Immer verbannt:
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="Name" name="name"/>
|
||||
<columns label="Letzter Login" name="last_login_date"/>
|
||||
<columns label="Verbannt am" name="ban_date"/>
|
||||
<columns label="Verbannt von" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="Hinzufügen..." name="add_banned_avatar_btn"/>
|
||||
<button label="Entfernen..." name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -17,52 +17,14 @@
|
|||
</text>
|
||||
|
||||
<radio_group name="externally_visible_radio" width="310">
|
||||
<radio_item label="Nur unten gelistete Einwohner & Gruppen erlauben" name="estate_restricted_access"/>
|
||||
<radio_item label="Nur Einwohner und Gruppen zulassen, die im Reiter "Zugang" aufgelistet sind." name="estate_restricted_access"/>
|
||||
<radio_item label="Zugang für jeden" name="estate_public_access"/>
|
||||
</radio_group>
|
||||
<check_box label="18 Jahre oder älter sind" name="limit_age_verified" tool_tip="Um diesen Grundbesitz besuchen zu können, müssen Einwohner mindestens 18 Jahre oder älter sein. Weitere Informationen finden Sie auf [SUPPORT_SITE]."/>
|
||||
<check_box label="Zahlungsinformationen hinterlegt haben" name="limit_payment" tool_tip="Um diesen Grundbesitz besuchen zu können, müssen Einwohner Zahlungsinformationen hinterlegt haben. Weitere Informationen finden Sie auf [SUPPORT_SITE]."/>
|
||||
<check_box label="Parzellen-Eigentümer können restriktiver sein" name="parcel_access_override"/>
|
||||
<check_box label="Voice-Chat erlauben" name="voice_chat_check" left="325"/>
|
||||
<button label="Übernehmen" name="apply_btn"/>
|
||||
<button label="Hinzufügen..." name="add_estate_manager_btn"/>
|
||||
<button label="Entfernen..." name="remove_estate_manager_btn"/>
|
||||
<check_box label="Globale Zeit verwenden" name="use_global_time_check"/>
|
||||
<button label="?" name="use_global_time_help"/>
|
||||
<check_box label="Sonne fest" name="fixed_sun_check"/>
|
||||
<button label="?" name="fixed_sun_help"/>
|
||||
<slider label="Phase" name="sun_hour_slider"/>
|
||||
<check_box label="Freien Zugang erlauben" name="externally_visible_check"/>
|
||||
<button label="?" name="externally_visible_help"/>
|
||||
<check_box label="Voice-Chat erlauben" name="voice_chat_check"/>
|
||||
<check_box label="Direktteleport zulassen" name="allow_direct_teleport"/>
|
||||
<button label="?" name="allow_direct_teleport_help"/>
|
||||
<text name="region_text_lbl">
|
||||
Zugang nach Zahlungsstatus verweigern:
|
||||
</text>
|
||||
<check_box label="Verweigern - keine archivierte Zahlungsinfo" name="deny_anonymous"/>
|
||||
<check_box label="Verweigern - Zahlungsinfo archiviert" name="deny_identified"/>
|
||||
<check_box label="Verweigern - Zahlungsinfo verwendet" name="deny_transacted"/>
|
||||
<text name="estate_manager_label">
|
||||
Grundbesitzverwalter:
|
||||
</text>
|
||||
<text name="allow_resident_label">
|
||||
Zulässige Einwohner:
|
||||
</text>
|
||||
<button label="?" name="allow_resident_help"/>
|
||||
<button label="Hinzufügen..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Entfernen..." name="remove_allowed_avatar_btn"/>
|
||||
<text name="allow_group_label">
|
||||
Zulässige Gruppen:
|
||||
</text>
|
||||
<button label="?" name="allow_group_help"/>
|
||||
<button label="Hinzufügen..." name="add_allowed_group_btn"/>
|
||||
<button label="Entfernen..." name="remove_allowed_group_btn"/>
|
||||
<text name="ban_resident_label">
|
||||
Verbannte Einwohner:
|
||||
</text>
|
||||
<button label="?" name="ban_resident_help"/>
|
||||
<button label="Hinzufügen..." name="add_banned_avatar_btn"/>
|
||||
<button label="Entfernen..." name="remove_banned_avatar_btn"/>
|
||||
<button label="Nachricht an Grundbesitz" name="message_estate_btn"/>
|
||||
<button label="Einwohner hinauswerfen" name="kick_user_from_estate_btn"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="object properties" title="Objektprofil">
|
||||
<panel.string name="text deed continued">Übertragung</panel.string>
|
||||
<panel.string name="text deed">Übertragung</panel.string>
|
||||
<panel.string name="text modify info 1">Sie können dieses Objekt bearbeiten.</panel.string>
|
||||
<panel.string name="text modify info 2">Sie können diese Objekte bearbeiten.</panel.string>
|
||||
<panel.string name="text modify info 3">Sie können dieses Objekt nicht bearbeiten.</panel.string>
|
||||
<panel.string name="text modify info 4">Sie können diese Objekte nicht bearbeiten.</panel.string>
|
||||
<panel.string name="text modify info 5">Dieses Objekt kann nicht über eine Regionsgrenze hinweg geändert werden.</panel.string>
|
||||
<panel.string name="text modify info 6">Diese Objekte können nicht über eine Regionsgrenze hinweg geändert werden.</panel.string>
|
||||
<panel.string name="text modify warning">Dieses Objekt verfügt über verknüpfte Teile.</panel.string>
|
||||
<panel.string name="Cost Default">Preis: L$</panel.string>
|
||||
<panel.string name="Cost Total">Summe: L$</panel.string>
|
||||
<panel.string name="Cost Per Unit">Stückpreis: L$</panel.string>
|
||||
<panel.string name="Cost Mixed">Mischpreis</panel.string>
|
||||
<panel.string name="Sale Mixed">Mischverkauf</panel.string>
|
||||
<panel.string name="text deed continued">
|
||||
Übertragung
|
||||
</panel.string>
|
||||
<panel.string name="text deed">
|
||||
Übertragung
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 1">
|
||||
Sie können dieses Objekt bearbeiten.
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 2">
|
||||
Sie können diese Objekte bearbeiten.
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 3">
|
||||
Sie können dieses Objekt nicht bearbeiten.
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 4">
|
||||
Sie können diese Objekte nicht bearbeiten.
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 5">
|
||||
Dieses Objekt kann nicht über eine Regionsgrenze hinweg geändert werden
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 6">
|
||||
Diese Objekte können nicht über eine Regionsgrenze hinweg geändert werden
|
||||
</panel.string>
|
||||
<panel.string name="text modify warning">
|
||||
Dieses Objekt verfügt über verknüpfte Teile
|
||||
</panel.string>
|
||||
<panel.string name="Cost Default">
|
||||
Preis: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Total">
|
||||
Summenpreis: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Per Unit">
|
||||
Stückpreis: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Mixed">
|
||||
Mischpreis
|
||||
</panel.string>
|
||||
<panel.string name="Sale Mixed">
|
||||
Mischverkauf
|
||||
</panel.string>
|
||||
<text name="title" value="Objektprofil"/>
|
||||
<text name="where" value="(Inworld)"/>
|
||||
<scroll_container name="item_profile_scroll">
|
||||
<panel label="" name="properties_panel">
|
||||
<text name="Name:">Name:</text>
|
||||
<text name="Description:">Beschreibung:</text>
|
||||
<text name="CreatorNameLabel">Ersteller:</text>
|
||||
<text name="Owner:">Eigentümer:</text>
|
||||
<text name="Group_label">Gruppe:</text>
|
||||
<text name="Name:">
|
||||
Name:
|
||||
</text>
|
||||
<text name="Description:">
|
||||
Beschreibung:
|
||||
</text>
|
||||
<text name="CreatorNameLabel">
|
||||
Ersteller:
|
||||
</text>
|
||||
<text name="Owner:">
|
||||
Eigentümer:
|
||||
</text>
|
||||
<text name="Group_label">
|
||||
Gruppe:
|
||||
</text>
|
||||
<button name="button set group" tool_tip="Eine Gruppe auswählen, um die Berechtigungen des Objekts zu teilen."/>
|
||||
<name_box initial_value="Wird geladen..." name="Group Name Proxy"/>
|
||||
<button label="Übertragung" label_selected="Übertragung" name="button deed" tool_tip="Eine Übertragung bedeutet, dass das Objekt mit den Berechtigungen „Nächster Eigentümer“ weitergegeben wird. Mit der Gruppe geteilte Objekte können von einem Gruppen-Officer übertragen werden."/>
|
||||
<text name="label click action">Bei Linksklick:</text>
|
||||
<text name="label click action">
|
||||
Bei Linksklick:
|
||||
</text>
|
||||
<combo_box name="clickaction">
|
||||
<combo_box.item label="Berühren" name="Touch/grab(default)"/>
|
||||
<combo_box.item label="Sitzen" name="Sitonobject"/>
|
||||
|
|
@ -34,16 +74,24 @@
|
|||
<combo_box.item label="Bezahlen" name="Payobject"/>
|
||||
<combo_box.item label="Öffnen" name="Open"/>
|
||||
<combo_box.item label="Zoomen" name="Zoom"/>
|
||||
<combo_box.item label="Keine Aktion" name="None"/>
|
||||
<combo_box.item label="Keine" name="None"/>
|
||||
</combo_box>
|
||||
<panel name="perms_inv">
|
||||
<text name="perm_modify">Sie können dieses Objekt bearbeiten.</text>
|
||||
<text name="Anyone can:">Jeder:</text>
|
||||
<text name="perm_modify">
|
||||
Sie können dieses Objekt bearbeiten.
|
||||
</text>
|
||||
<text name="Anyone can:">
|
||||
Jeder:
|
||||
</text>
|
||||
<check_box label="Kopieren" name="checkbox allow everyone copy"/>
|
||||
<check_box label="Bewegen" name="checkbox allow everyone move"/>
|
||||
<text name="GroupLabel">Gruppe:</text>
|
||||
<text name="GroupLabel">
|
||||
Gruppe:
|
||||
</text>
|
||||
<check_box label="Teilen" name="checkbox share with group" tool_tip="Mit allen Mitgliedern der zugeordneten Gruppe, Ihre Berechtigungen dieses Objekt zu ändern, teilen. Sie müssen Übereignen, um Rollenbeschränkungen zu aktivieren."/>
|
||||
<text name="NextOwnerLabel">Nächster Eigentümer:</text>
|
||||
<text name="NextOwnerLabel">
|
||||
Nächster Eigentümer:
|
||||
</text>
|
||||
<check_box label="Bearbeiten" name="checkbox next owner can modify"/>
|
||||
<check_box label="Kopieren" name="checkbox next owner can copy"/>
|
||||
<check_box label="Transferieren" name="checkbox next owner can transfer" tool_tip="Nächster Eigentümer kann dieses Objekt weitergeben oder -verkaufen"/>
|
||||
|
|
@ -56,13 +104,27 @@
|
|||
</combo_box>
|
||||
<spinner label="Preis: L$" name="Edit Cost"/>
|
||||
<check_box label="In Suche anzeigen" name="search_check" tool_tip="Dieses Objekt in Suchergebnissen anzeigen"/>
|
||||
<text name="pathfinding_attributes_label">Pathfinding-Attribute:</text>
|
||||
<text name="B:">B:</text>
|
||||
<text name="O:">O:</text>
|
||||
<text name="G:">G:</text>
|
||||
<text name="E:">E:</text>
|
||||
<text name="N:">N:</text>
|
||||
<text name="F:">F:</text>
|
||||
<text name="pathfinding_attributes_label">
|
||||
Pathfinding-Attribute:
|
||||
</text>
|
||||
<text name="B:">
|
||||
B:
|
||||
</text>
|
||||
<text name="O:">
|
||||
O:
|
||||
</text>
|
||||
<text name="G:">
|
||||
G:
|
||||
</text>
|
||||
<text name="E:">
|
||||
E:
|
||||
</text>
|
||||
<text name="N:">
|
||||
N:
|
||||
</text>
|
||||
<text name="F:">
|
||||
F:
|
||||
</text>
|
||||
</panel>
|
||||
</scroll_container>
|
||||
<layout_stack name="buttons_ls">
|
||||
|
|
|
|||
|
|
@ -2446,6 +2446,18 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich unter http://suppo
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
immer verbannter Einwohner
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
alle Grundbesitze
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
verwaltete Grundbesitze
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
dieser Grundbesitz
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
und [EXTRA_COUNT] weitere
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
Parzellenskript-Speicher
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,14 @@
|
|||
name="maturity_icon_adult">
|
||||
"Parcel_R_Dark"
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Hours">
|
||||
[HOURS] hrs.
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Hour">
|
||||
hr.
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Minutes">
|
||||
[MINUTES] min.
|
||||
|
|
@ -37,6 +45,10 @@
|
|||
name="Remaining">
|
||||
remaining
|
||||
</floater.string>
|
||||
<floater.string
|
||||
name="Always">
|
||||
Always
|
||||
</floater.string>
|
||||
<tab_container
|
||||
follows="all"
|
||||
height="410"
|
||||
|
|
@ -2172,19 +2184,29 @@ Only large parcels can be listed in search.
|
|||
name="BanCheck"
|
||||
top="0"
|
||||
width="200">
|
||||
Always banned ([COUNT]/[MAX])
|
||||
Banned ([COUNT]/[MAX])
|
||||
</text>
|
||||
<name_list
|
||||
column_padding="0"
|
||||
follows="top|bottom"
|
||||
heading_height="14"
|
||||
heading_height="16"
|
||||
height="125"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
multi_select="true"
|
||||
draw_heading="true"
|
||||
name="BannedList"
|
||||
tool_tip="([LISTED] listed, [MAX] max)"
|
||||
width="230" />
|
||||
width="230">
|
||||
<columns
|
||||
label="Name"
|
||||
name="name"
|
||||
width="155" />
|
||||
<columns
|
||||
label="Duration"
|
||||
name="duration"
|
||||
width="75" />
|
||||
</name_list>
|
||||
<button
|
||||
follows="bottom"
|
||||
height="23"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater
|
||||
can_minimize="false"
|
||||
can_tear_off="false"
|
||||
can_resize="false"
|
||||
can_drag_on_left="false"
|
||||
can_close="true"
|
||||
height="150"
|
||||
layout="topleft"
|
||||
name="ban_duration"
|
||||
title="Ban duration"
|
||||
single_instance="true"
|
||||
width="180">
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
layout="topleft"
|
||||
left="15"
|
||||
name="duration_textbox"
|
||||
top="10"
|
||||
width="130">
|
||||
Ban duration:
|
||||
</text>
|
||||
|
||||
<radio_group
|
||||
draw_border="false"
|
||||
enabled="true"
|
||||
follows="left|top"
|
||||
height="40"
|
||||
left="20"
|
||||
mouse_opaque="true"
|
||||
name="ban_duration_radio"
|
||||
tab_stop="true"
|
||||
width="200">
|
||||
<radio_item
|
||||
type="string"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
width="200"
|
||||
label="Always"
|
||||
name="always_radio"/>
|
||||
<radio_item
|
||||
type="string"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
width="200"
|
||||
label="Temporary"
|
||||
name="temporary_radio"/>
|
||||
</radio_group>
|
||||
|
||||
<spinner
|
||||
allow_digits_only="true"
|
||||
decimal_digits="0"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
increment="1"
|
||||
max_val="8766"
|
||||
min_val="1"
|
||||
initial_val="1"
|
||||
name="ban_hours"
|
||||
top_delta="50"
|
||||
left="40"
|
||||
width="60"/>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
left_delta="70"
|
||||
name="hours_textbox"
|
||||
top_delta="5"
|
||||
width="75">
|
||||
hours.
|
||||
</text>
|
||||
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Ok"
|
||||
left="10"
|
||||
name="ok_btn"
|
||||
top_delta="30"
|
||||
width="75">
|
||||
</button>
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Cancel"
|
||||
left_pad="5"
|
||||
name="cancel_btn"
|
||||
top_delta="0"
|
||||
width="75">
|
||||
</button>
|
||||
</floater>
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater
|
||||
can_minimize="false"
|
||||
can_tear_off="false"
|
||||
can_resize="false"
|
||||
can_drag_on_left="false"
|
||||
can_close="true"
|
||||
height="75"
|
||||
layout="topleft"
|
||||
name="Ban duration"
|
||||
title="Ban duration"
|
||||
single_instance="true"
|
||||
width="175">
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
layout="topleft"
|
||||
left="5"
|
||||
name="duration_textbox"
|
||||
top="10"
|
||||
width="75">
|
||||
Ban duration:
|
||||
</text>
|
||||
<spinner
|
||||
allow_text_entry="true"
|
||||
decimal_digits="0"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
increment="1"
|
||||
layout="topleft"
|
||||
left_pad="0"
|
||||
max_val="8766"
|
||||
min_val="0"
|
||||
name="ban_time"
|
||||
top_delta="-4"
|
||||
width="50"
|
||||
tool_tip="How long to ban for, 0 means forever"/>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
name="hours_textbox"
|
||||
top="10"
|
||||
width="75">
|
||||
hours.
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
length="200"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
layout="topleft"
|
||||
left="5"
|
||||
name="info_textbox"
|
||||
top_delta="20">
|
||||
0 means forever.
|
||||
</text>
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="OK"
|
||||
layout="topleft"
|
||||
left="5"
|
||||
name="BanConfirmButton"
|
||||
top_delta="20"
|
||||
width="80">
|
||||
</button>
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Cancel"
|
||||
layout="topleft"
|
||||
right="-5"
|
||||
name="BanCancelButton"
|
||||
top_delta="0"
|
||||
width="80">
|
||||
</button>
|
||||
</floater>
|
||||
|
|
@ -3924,6 +3924,62 @@ Cannot add estate owner to estate 'Banned resident' list.
|
|||
type="alertmodal">
|
||||
Unable to add banned resident to estate manager list.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="ProblemBanningEstateManager"
|
||||
type="alertmodal">
|
||||
Unable to add estate manager [AGENT] to banned list.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="GroupIsAlreadyInList"
|
||||
type="alertmodal">
|
||||
<nolink>[GROUP]</nolink> is already in the Allowed Groups list.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentIsAlreadyInList"
|
||||
type="alertmodal">
|
||||
[AGENT] is already in your [LIST_TYPE] list.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentsAreAlreadyInList"
|
||||
type="alertmodal">
|
||||
[AGENT] are already in your [LIST_TYPE] list.
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentWasAddedToList"
|
||||
type="alertmodal">
|
||||
[AGENT] was added to [LIST_TYPE] list of [ESTATE].
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentsWereAddedToList"
|
||||
type="alertmodal">
|
||||
[AGENT] were added to [LIST_TYPE] list of [ESTATE].
|
||||
|
||||
</notification>
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentWasRemovedFromList"
|
||||
type="alertmodal">
|
||||
[AGENT] was removed from [LIST_TYPE] list of [ESTATE].
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="AgentsWereRemovedFromList"
|
||||
type="alertmodal">
|
||||
[AGENT] were removed from [LIST_TYPE] list of [ESTATE].
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
|
|
@ -4830,7 +4886,8 @@ Add to allowed list for this estate only or for [ALL_ESTATES]?
|
|||
icon="alert.tga"
|
||||
label="Select estate"
|
||||
name="EstateAllowedAgentRemove"
|
||||
type="alert">
|
||||
type="alertmodal">
|
||||
<unique/>
|
||||
Remove from allowed list for this estate only or for [ALL_ESTATES]?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
|
|
@ -4859,7 +4916,8 @@ Add to group allowed list for this estate only or for [ALL_ESTATES]?
|
|||
icon="alert.tga"
|
||||
label="Select estate"
|
||||
name="EstateAllowedGroupRemove"
|
||||
type="alert">
|
||||
type="alertmodal">
|
||||
<unique/>
|
||||
Remove from group allowed list for this estate only or [ALL_ESTATES]?
|
||||
<tag>group</tag>
|
||||
<tag>confirm</tag>
|
||||
|
|
@ -4888,8 +4946,9 @@ Deny access for this estate only or for [ALL_ESTATES]?
|
|||
icon="alert.tga"
|
||||
label="Select estate"
|
||||
name="EstateBannedAgentRemove"
|
||||
type="alert">
|
||||
Remove this resident from the ban list for access for this estate only or for [ALL_ESTATES]?
|
||||
type="alertmodal">
|
||||
<unique/>
|
||||
Remove this Resident from the ban list for access for this estate only or for [ALL_ESTATES]?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
canceltext="Cancel"
|
||||
|
|
@ -4916,7 +4975,8 @@ Add estate manager for this estate only or for [ALL_ESTATES]?
|
|||
icon="alert.tga"
|
||||
label="Select estate"
|
||||
name="EstateManagerRemove"
|
||||
type="alert">
|
||||
type="alertmodal">
|
||||
<unique/>
|
||||
Remove estate manager for this estate only or for [ALL_ESTATES]?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
|
|
|
|||
|
|
@ -0,0 +1,414 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
border="true"
|
||||
follows="top|left"
|
||||
height="510"
|
||||
help_topic="panel_region_access_tab"
|
||||
label="Access"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="Access"
|
||||
top="320"
|
||||
width="485">
|
||||
|
||||
|
||||
<tab_container
|
||||
bottom="-10"
|
||||
follows="all"
|
||||
layout="topleft"
|
||||
left="3"
|
||||
name="tabs"
|
||||
tab_min_width="70"
|
||||
tab_position="top"
|
||||
top="10"
|
||||
halign="center"
|
||||
right="-5">
|
||||
|
||||
<!-- ============================= ESTATE MANAGERS tab ====================== -->
|
||||
<panel
|
||||
background_opaque="true"
|
||||
background_visible="true"
|
||||
bg_alpha_color="DkGray"
|
||||
bg_opaque_color="DkGray"
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
label="Estate Managers"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="estate_managers_tab"
|
||||
name="estate_managers_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
bottom="34"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
name="estate_manager_label"
|
||||
top_pad="10"
|
||||
left="10"
|
||||
width="200">
|
||||
Estate Managers:
|
||||
</text>
|
||||
<!-- Estate Managers box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="400"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="-5"
|
||||
width="453" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="400"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
draw_heading="true"
|
||||
name="estate_manager_name_list"
|
||||
top_delta="0"
|
||||
width="453">
|
||||
<columns
|
||||
label="Name"
|
||||
name="name"
|
||||
width="453" />
|
||||
</name_list>
|
||||
<!-- Estate Managers buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="add_estate_manager_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_estate_manager_btn"
|
||||
left_pad="6"
|
||||
width="114" />
|
||||
</panel>
|
||||
|
||||
|
||||
<!-- ================================ ALLOWED tab =========================== -->
|
||||
<panel
|
||||
background_opaque="true"
|
||||
background_visible="true"
|
||||
bg_alpha_color="DkGray"
|
||||
bg_opaque_color="DkGray"
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
label="Allowed"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="allowed_tab"
|
||||
name="allowed_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<panel
|
||||
follows="left|top|right"
|
||||
height="27"
|
||||
label="top_panel"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="allowed_search_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<filter_editor
|
||||
follows="left|top|right"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
label="Search allowed agents"
|
||||
max_length_chars="300"
|
||||
name="allowed_search_input"
|
||||
top="4"
|
||||
width="395" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Copy"
|
||||
layout="topleft"
|
||||
left_pad="3"
|
||||
name="copy_allowed_list_btn"
|
||||
width="58" />
|
||||
</panel>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
bottom="34"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
name="allow_resident_label"
|
||||
top_pad="10"
|
||||
left="10"
|
||||
width="200">
|
||||
Always allowed:
|
||||
</text>
|
||||
<!-- Always allowed box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="-5"
|
||||
width="453" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
draw_heading="true"
|
||||
name="allowed_avatar_name_list"
|
||||
top_delta="0"
|
||||
width="453">
|
||||
<columns
|
||||
label="Name"
|
||||
name="name"
|
||||
width="453" />
|
||||
</name_list>
|
||||
<!-- Always allowed buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="add_allowed_avatar_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_allowed_avatar_btn"
|
||||
left_pad="6"
|
||||
width="114" />
|
||||
</panel>
|
||||
|
||||
<!-- ============================= ALLOWED GROUPS tab ======================= -->
|
||||
<panel
|
||||
background_opaque="true"
|
||||
background_visible="true"
|
||||
bg_alpha_color="DkGray"
|
||||
bg_opaque_color="DkGray"
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
label="Allowed Groups"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="allowed_groups_tab"
|
||||
name="allowed_groups_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<panel
|
||||
follows="left|top|right"
|
||||
height="27"
|
||||
label="top_panel"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="allowed_group_search_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<filter_editor
|
||||
follows="left|top|right"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
label="Search allowed groups"
|
||||
max_length_chars="300"
|
||||
name="allowed_group_search_input"
|
||||
top="4"
|
||||
width="395" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Copy"
|
||||
layout="topleft"
|
||||
left_pad="3"
|
||||
name="copy_allowed_group_list_btn"
|
||||
width="58" />
|
||||
</panel>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="allow_group_label"
|
||||
top_pad="10"
|
||||
width="200">
|
||||
Groups always allowed:
|
||||
</text>
|
||||
<!-- Groups always allowed box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="-5"
|
||||
width="453" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
draw_heading="true"
|
||||
name="allowed_group_name_list"
|
||||
top_delta="0"
|
||||
width="453">
|
||||
<columns
|
||||
label="Name"
|
||||
name="name"
|
||||
width="453" />
|
||||
</name_list>
|
||||
<!-- Groups always allowed buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="add_allowed_group_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_allowed_group_btn"
|
||||
left_pad="6"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
</panel>
|
||||
|
||||
<!-- ================================ BANNED tab ============================ -->
|
||||
<panel
|
||||
background_opaque="true"
|
||||
background_visible="true"
|
||||
bg_alpha_color="DkGray"
|
||||
bg_opaque_color="DkGray"
|
||||
bottom="-1"
|
||||
follows="all"
|
||||
label="Banned"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="banned_tab"
|
||||
name="banned_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<panel
|
||||
follows="left|top|right"
|
||||
height="27"
|
||||
label="top_panel"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="banned_search_panel"
|
||||
right="-1"
|
||||
top="0">
|
||||
<filter_editor
|
||||
follows="left|top|right"
|
||||
height="23"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
label="Search banned agents"
|
||||
max_length_chars="300"
|
||||
name="banned_search_input"
|
||||
top="4"
|
||||
width="395" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Copy"
|
||||
layout="topleft"
|
||||
left_pad="3"
|
||||
name="copy_banned_list_btn"
|
||||
width="58" />
|
||||
</panel>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="ban_resident_label"
|
||||
top_pad="10"
|
||||
width="200">
|
||||
Always banned:
|
||||
</text>
|
||||
<!-- Always banned box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="-5"
|
||||
width="453" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="370"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
draw_heading="true"
|
||||
name="banned_avatar_name_list"
|
||||
top_delta="0"
|
||||
width="453">
|
||||
<columns
|
||||
label="Name"
|
||||
name="name"
|
||||
width="120" />
|
||||
<columns
|
||||
label="Last login date"
|
||||
name="last_login_date"
|
||||
width="100" />
|
||||
<columns
|
||||
label="Date banned"
|
||||
name="ban_date"
|
||||
width="100" />
|
||||
<columns
|
||||
label="Banned by"
|
||||
name="bannedby"
|
||||
width="115" />
|
||||
</name_list>
|
||||
<!-- Always banned buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="add_banned_avatar_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_banned_avatar_btn"
|
||||
left_pad="6"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
</panel>
|
||||
|
||||
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="105"
|
||||
height="185"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
top_pad="5"
|
||||
|
|
@ -96,7 +96,7 @@
|
|||
width="200">
|
||||
<radio_item
|
||||
height="16"
|
||||
label="Allow only residents and groups listed below"
|
||||
label="Allow only residents and groups listed on the Access tab"
|
||||
layout="topleft"
|
||||
name="estate_restricted_access" />
|
||||
<radio_item
|
||||
|
|
@ -137,10 +137,10 @@
|
|||
height="18"
|
||||
label="Allow Voice Chat"
|
||||
layout="topleft"
|
||||
left="290"
|
||||
left="20"
|
||||
name="voice_chat_check"
|
||||
top_delta="-78"
|
||||
width="200" />
|
||||
top_pad="2"
|
||||
width="240" />
|
||||
<check_box
|
||||
height="18"
|
||||
label="Allow Direct Teleport"
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
left_delta="0"
|
||||
name="allow_direct_teleport"
|
||||
top_pad="2"
|
||||
width="80" />
|
||||
width="240" />
|
||||
<button
|
||||
enabled="false"
|
||||
follows="left|top"
|
||||
|
|
@ -156,215 +156,9 @@
|
|||
label="Apply"
|
||||
layout="topleft"
|
||||
name="apply_btn"
|
||||
top_pad="30"
|
||||
top_pad="10"
|
||||
left_delta="0"
|
||||
width="97" />
|
||||
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
bottom="34"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
name="estate_manager_label"
|
||||
top_pad="20"
|
||||
left="6"
|
||||
width="200">
|
||||
Estate Managers:
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="247"
|
||||
name="allow_resident_label"
|
||||
top_delta="0"
|
||||
width="200">
|
||||
Always allowed:
|
||||
</text>
|
||||
|
||||
<!-- Estate Managers box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
top_pad="-5"
|
||||
width="233" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
name="estate_manager_name_list"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
|
||||
<!-- Always allowed box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left="247"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
name="allowed_avatar_name_list"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
|
||||
<!-- Estate Managers buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="6"
|
||||
name="add_estate_manager_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_estate_manager_btn"
|
||||
left_pad="6"
|
||||
width="114" />
|
||||
|
||||
<!-- Always allowed buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
left="247"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
name="add_allowed_avatar_btn"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_allowed_avatar_btn"
|
||||
left_pad="6"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
name="allow_group_label"
|
||||
top_pad="10"
|
||||
width="200">
|
||||
Groups always allowed:
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="247"
|
||||
name="ban_resident_label"
|
||||
top_delta="0"
|
||||
width="200">
|
||||
Always banned:
|
||||
</text>
|
||||
|
||||
<!-- Groups always allowed box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
top_pad="-5"
|
||||
width="233" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
name="allowed_group_name_list"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
|
||||
<!-- Always banned box -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left="247"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
<name_list
|
||||
follows="left|top"
|
||||
height="71"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
multi_select="true"
|
||||
name="banned_avatar_name_list"
|
||||
top_delta="0"
|
||||
width="233" />
|
||||
|
||||
<!-- Groups always allowed buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="6"
|
||||
name="add_allowed_group_btn"
|
||||
top_pad="6"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_allowed_group_btn"
|
||||
left_pad="6"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
|
||||
<!-- Always banned buttons -->
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Add..."
|
||||
layout="topleft"
|
||||
left="247"
|
||||
name="add_banned_avatar_btn"
|
||||
top_delta="0"
|
||||
width="114" />
|
||||
<button
|
||||
follows="left|top"
|
||||
height="23"
|
||||
label="Remove..."
|
||||
layout="topleft"
|
||||
name="remove_banned_avatar_btn"
|
||||
top_delta="0"
|
||||
left_pad="6"
|
||||
width="114" />
|
||||
|
||||
<button
|
||||
follows="left|top"
|
||||
|
|
@ -373,7 +167,7 @@
|
|||
layout="topleft"
|
||||
left="3"
|
||||
name="message_estate_btn"
|
||||
top_pad="8"
|
||||
top_pad="15"
|
||||
width="235" />
|
||||
<button
|
||||
follows="left|top"
|
||||
|
|
|
|||
|
|
@ -1132,6 +1132,10 @@ If you continue to receive this message, please contact Second Life support for
|
|||
<string name="RegionInfoBannedResidents">Always banned: ([BANNEDAGENTS], max [MAXBANNED])</string>
|
||||
<string name="RegionInfoListTypeAllowedAgents">always allowed residents</string>
|
||||
<string name="RegionInfoListTypeBannedAgents">always banned residents</string>
|
||||
<string name="RegionInfoAllEstates">all estates</string>
|
||||
<string name="RegionInfoManagedEstates">managed estates</string>
|
||||
<string name="RegionInfoThisEstate">this estate</string>
|
||||
<string name="AndNMore">and [EXTRA_COUNT] more</string>
|
||||
|
||||
<!-- script limits floater -->
|
||||
<string name="ScriptLimitsParcelScriptMemory">Parcel Script Memory</string>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="floater_auction" title="COMENZAR LA VENTA DE TERRENO LINDEN">
|
||||
<floater.string name="already for sale">
|
||||
No puede subastar parcelas que ya están en venta.
|
||||
No puedes ofertar en parcelas que ya están en venta.
|
||||
</floater.string>
|
||||
<check_box initial_value="true" label="Incluir la valla amarilla de selección" name="fence_check"/>
|
||||
<check_box initial_value="true" label="Incluir la cerca de selección amarilla" name="fence_check"/>
|
||||
<button label="Foto" label_selected="Foto" name="snapshot_btn"/>
|
||||
<button label="Vender a cualquiera" label_selected="Vender a cualquiera" name="sell_to_anyone_btn"/>
|
||||
<button label="Limpiar las configuraciones" label_selected="Limpiar las configuraciones" name="reset_parcel_btn"/>
|
||||
<button label="Borrar las configuraciones" label_selected="Borrar las configuraciones" name="reset_parcel_btn"/>
|
||||
<button label="Comenzar subasta" label_selected="Comenzar subasta" name="start_auction_btn"/>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -215,6 +215,7 @@
|
|||
<combo_box.item label="Pagar al objeto" name="Payobject"/>
|
||||
<combo_box.item label="Abrir el objeto" name="Open"/>
|
||||
<combo_box.item label="Enfocar el objeto" name="Zoom"/>
|
||||
<combo_box.item label="Ninguno" name="None"/>
|
||||
</combo_box>
|
||||
<check_box label="En venta:" name="checkbox for sale"/>
|
||||
<combo_box name="sale type">
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
<menu_item_check label="Controles del movimiento" name="Movement Controls"/>
|
||||
<menu label="Movimiento" name="Movement">
|
||||
<menu_item_call label="Sentarme" name="Sit Down Here"/>
|
||||
<menu_item_call label="Levantarme" name="Stand up"/>
|
||||
<menu_item_check label="Volar" name="Fly"/>
|
||||
<menu_item_call label="Dejar de volar" name="Stop flying"/>
|
||||
<menu_item_check label="Correr siempre" name="Always Run"/>
|
||||
|
|
|
|||
|
|
@ -1573,6 +1573,30 @@ Se superan en [NUM_EXCESS] los [MAX_AGENTS] permitidos en [LIST_TYPE].
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
No se puede añadir un residente expulsado a la lista de administradores de estado.
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
No fue posible agregar al administrador de estado [AGENT] a la lista de prohibidos.
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> ya está en la lista de Grupos autorizados.
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] ya está en tu lista [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] ya está en tu lista [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] fue añadido a la lista [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] fueron añadidos a la lista [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] fue eliminado de la lista [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] fueron eliminados de la lista [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
No puedes cambiar la apariencia hasta que no se carguen la ropa y la anatomía.
|
||||
</notification>
|
||||
|
|
@ -1901,7 +1925,7 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se
|
|||
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todos los estados" yestext="Este estado"/>
|
||||
</notification>
|
||||
<notification label="Seleccionar el estado" name="EstateBannedAgentRemove">
|
||||
¿Quitar de la lista de prohibición de acceso a este residente para que acceda sólo a este estado o a [ALL_ESTATES]?
|
||||
¿Quitar a este Residente de la lista de acceso prohibido para este estado únicamente o para [ALL_ESTATES]?
|
||||
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todos los estados" yestext="Este estado"/>
|
||||
</notification>
|
||||
<notification label="Seleccionar el estado" name="EstateManagerAdd">
|
||||
|
|
@ -3347,16 +3371,22 @@ Pulsa Aceptar o Rehusar para coger o no la llamada. Pulsa Bloquear para ignorar
|
|||
Fallo al conectar a [VOICE_CHANNEL_NAME]; por favor, inténtalo más tarde. Vas a ser reconectado al chat de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
Uno o más filtros de voz a los que estás suscrito han caducado.
|
||||
[Pulsa aquí [URL]] para renovar la suscripción.
|
||||
Una o más de las transformaciones de voz a las que estás suscrito han caducado.
|
||||
[[URL] Pulsa aquí] para renovar la suscripción.
|
||||
|
||||
Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio de transformación de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
El filtro de voz activo ha caducado y se ha aplicado tu configuración de voz normal.
|
||||
[Pulsa aquí [URL]] para renovar la suscripción.
|
||||
La transformación de voz activa ha caducado y se ha aplicado tu configuración de voz normal.
|
||||
[[URL] Pulsa aquí] para renovar la suscripción.
|
||||
|
||||
Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio de transformación de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Una o más filtros de voz caducarán en menos de [INTERVAL] días.
|
||||
[Pulsa aquí [URL]] para renovar la suscripción.
|
||||
Una o más de tus transformaciones de voz caducarán en menos de [INTERVAL] días.
|
||||
[[URL] Pulsa aquí] para renovar la suscripción
|
||||
|
||||
Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio de transformación de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
Están disponibles nuevos filtros de voz.
|
||||
|
|
@ -3405,6 +3435,9 @@ Por tu seguridad, serán bloqueadas durante unos segundos.
|
|||
<notification name="AppearanceToXMLFailed">
|
||||
Error al guardar el aspecto en XML.
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Error al guardar la foto en [PATH]: El directorio no existe.
|
||||
</notification>
|
||||
<notification name="PresetNotSaved">
|
||||
Error al guardar el valor predefinido [NAME].
|
||||
</notification>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">http://secondlife.com/account/request.php?lang=es</panel.string>
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=es
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="Nombre de usuario" name="username_combo" tool_tip="El nombre de usuario que elegiste al registrarte, como bobsmith12 o Steller Sunshine"/>
|
||||
|
|
@ -11,8 +16,13 @@
|
|||
</combo_box>
|
||||
<button label="Iniciar sesión" name="connect_btn"/>
|
||||
<check_box label="Recordarme" name="remember_check"/>
|
||||
<text name="forgot_password_text">Contraseña olvidada</text>
|
||||
<text name="forgot_password_text">
|
||||
Contraseña olvidada
|
||||
</text>
|
||||
<combo_box label="Seleccionar cuadrícula" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
Regístrate
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=es
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
|
|
@ -14,6 +17,9 @@
|
|||
<text name="forgot_password_text">
|
||||
Contraseña olvidada
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
Regístrate
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Acceso" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="ADMINISTRADORES DE ESTADO" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
Administradores de estado:
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="Nombre" name="name"/>
|
||||
</name_list>
|
||||
<button label="Añadir..." name="add_estate_manager_btn"/>
|
||||
<button label="Quitar..." name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="PERMITIDO" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="Buscar agentes autorizados" name="allowed_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
Siempre autorizado:
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="Nombre" name="name"/>
|
||||
</name_list>
|
||||
<button label="Añadir..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Quitar..." name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="GRUPOS AUTORIZADOS:" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="Buscar grupos autorizados" name="allowed_group_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
Grupos siempre autorizados:
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="Nombre" name="name"/>
|
||||
</name_list>
|
||||
<button label="Añadir..." name="add_allowed_group_btn"/>
|
||||
<button label="Quitar..." name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="PROHIBIDO" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="Buscar agentes prohibidos" name="banned_search_input"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
Siempre prohibido:
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="Nombre" name="name"/>
|
||||
<columns label="Última fecha de inicio de sesión" name="last_login_date"/>
|
||||
<columns label="Fecha de prohibición" name="ban_date"/>
|
||||
<columns label="Prohibido por" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="Añadir..." name="add_banned_avatar_btn"/>
|
||||
<button label="Quitar..." name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -15,8 +15,13 @@
|
|||
<text name="estate_owner">
|
||||
(desconocido)
|
||||
</text>
|
||||
<view_border name="wb1" width="505"/>
|
||||
<check_box label="Permitir el acceso público" name="externally_visible_check"/>
|
||||
<radio_group name="externally_visible_radio">
|
||||
<radio_item label="Permitir únicamente a los residentes y grupos indicados en la pestaña Acceso" name="estate_restricted_access"/>
|
||||
<radio_item label="Cualquiera puede visitar" name="estate_public_access"/>
|
||||
</radio_group>
|
||||
<check_box label="Debe ser mayor de 18" name="limit_age_verified" tool_tip="Para poder acceder a este estado, los Residentes deben ser mayores de 18 años. Para más información, consulta [SUPPORT_SITE]."/>
|
||||
<check_box label="Debe haber información archivada sobre el pago" name="limit_payment" tool_tip="Para poder acceder a este estado los Residentes deben haber aportado información de pago en su cuenta. Para más información, ver [SUPPORT_SITE]."/>
|
||||
<check_box label="Los propietarios de parcelas pueden ser más restrictivos" name="parcel_access_override"/>
|
||||
<check_box label="Permitir el chat de voz" name="voice_chat_check"/>
|
||||
<check_box label="Permitir el teleporte a cualquier punto" name="allow_direct_teleport"/>
|
||||
<button label="Aplicar" name="apply_btn"/>
|
||||
|
|
|
|||
|
|
@ -2271,6 +2271,18 @@ Si sigues recibiendo el mismo mensaje, solicita ayuda al personal de asistencia
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
Residentes con acceso prohibido
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
todos los estados
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
estados administrados
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
este estado
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
y [EXTRA_COUNT] más
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
Memoria de scripts de la parcela
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@
|
|||
<combo_box.item label="Payer l'objet" name="Payobject"/>
|
||||
<combo_box.item label="Ouvrir" name="Open"/>
|
||||
<combo_box.item label="Zoomer" name="Zoom"/>
|
||||
<combo_box.item label="Aucun" name="None"/>
|
||||
</combo_box>
|
||||
<check_box label="À vendre :" name="checkbox for sale"/>
|
||||
<combo_box name="sale type">
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<menu_item_call label="Sélectionner un avatar" name="Avatar Picker"/>
|
||||
<menu label="Déplacement" name="Movement">
|
||||
<menu_item_call label="S'asseoir" name="Sit Down Here"/>
|
||||
<menu_item_call label="Se lever" name="Stand up"/>
|
||||
<menu_item_check label="Voler" name="Fly"/>
|
||||
<menu_item_call label="Arrêter de voler" name="Stop flying"/>
|
||||
<menu_item_check label="Toujours courir" name="Always Run"/>
|
||||
|
|
|
|||
|
|
@ -1528,6 +1528,30 @@ Dépasse la limite fixée à [MAX_AGENTS] [LIST_TYPE] de [NUM_EXCESS].
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
Impossible d’ajouter un résident banni à la liste des gérants de domaine.
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
Impossible d'ajouter le gérant de domaine à la liste interdite.
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> est déjà dans la liste des groupes autorisés.
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] est déjà dans votre liste [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] sont déjà dans votre liste [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] a été ajouté à la liste [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] ont été ajoutéq à la liste [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] a été supprimé de la liste [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] ont été supprimés de la liste [LIST_TYPE] de [ESTATE].
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
Impossible de changer d'apparence jusqu'à ce que les habits et la silhouette soient chargés.
|
||||
</notification>
|
||||
|
|
@ -1829,7 +1853,7 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po
|
|||
<usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Tous les domaines" yestext="Ce domaine"/>
|
||||
</notification>
|
||||
<notification label="Choisir le domaine" name="EstateBannedAgentRemove">
|
||||
Supprimer ce résident de la liste des résidents bannis pour ce domaine uniquement ou pour [ALL_ESTATES] ?
|
||||
Supprimer ce résident de la liste des résidents interdits pour ce domaine uniquement ou pour [ALL_ESTATES] ?
|
||||
<usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Tous les domaines" yestext="Ce domaine"/>
|
||||
</notification>
|
||||
<notification label="Choisir le domaine" name="EstateManagerAdd">
|
||||
|
|
@ -3142,16 +3166,22 @@ Pour y participer, cliquez sur Accepter. Sinon, cliquez sur Refuser. Pour ignore
|
|||
Échec de la connexion avec [VOICE_CHANNEL_NAME], veuillez réessayer ultérieurement. Vous allez maintenant être reconnecté(e) au chat vocal près de vous.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
Au moins l'un des effets de voix auxquels vous êtes abonné a expiré.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
Au moins l'un des effets de voix auxquels vous êtes abonné a expiré.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
|
||||
Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votre effet de voix.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
L'effet de voix actif a expiré. Vos paramètres de voix normaux ont été rétablis.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
|
||||
Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votre effet de voix.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Au moins l'un de vos effets de voix expirera dans moins de [INTERVAL] jours.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
Au moins l'un de vos effets de voix expirera dans moins de [INTERVAL] jours.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
|
||||
Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votre effet de voix.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
De nouveaux effets de voix sont disponibles !
|
||||
|
|
@ -3200,6 +3230,9 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité.
|
|||
<notification name="AppearanceToXMLFailed">
|
||||
Échec de l’enregistrement de l’apparence au format XML.
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Échec d’enregistrement de la photo dans [PATH] : Le répertoire n'existe pas.
|
||||
</notification>
|
||||
<notification name="PresetNotSaved">
|
||||
Erreur d’enregistrement du préréglage [NAME].
|
||||
</notification>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=fr
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="Nom d'utilisateur" tool_tip="Le nom d'utilisateur avec lequel vous vous êtes enregistré, comme bobsmith12 ou Steller Sunshine" name="username_combo"/>
|
||||
|
|
@ -10,8 +16,13 @@
|
|||
</combo_box>
|
||||
<button label="Connexion" name="connect_btn"/>
|
||||
<check_box label="Se souvenir de moi" name="remember_check"/>
|
||||
<text name="forgot_password_text">Mot de passe oublié</text>
|
||||
<combo_box label="Sélectionnez le monde" name="server_combo"/>
|
||||
<text name="forgot_password_text">
|
||||
Mot de passe oublié
|
||||
</text>
|
||||
<combo_box label="Sélectionner la grille" left_pad="20" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
S'inscrire
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,37 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=fr
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
<layout_panel name="widget_container">
|
||||
<combo_box label="Nom d'utilisateur" tool_tip="Le nom d'utilisateur avec lequel vous vous êtes enregistré, comme bobsmith12 ou Steller Sunshine" name="username_combo"/>
|
||||
<line_editor name="password_edit" label="Mot de passe"/>
|
||||
<combo_box label="Nom d'utilisateur" name="username_combo" tool_tip="Nom d'utilisateur que vous avez choisi lors de votre inscription (par exemple, bobsmith12 ou Steller Sunshine)."/>
|
||||
<line_editor label="Mot de passe" name="password_edit"/>
|
||||
<button label="Connexion" name="connect_btn"/>
|
||||
<check_box label="Se souvenir de moi" name="remember_check"/>
|
||||
<text name="forgot_password_text">Mot de passe oublié</text>
|
||||
<check_box font="SansSerifSmall" label="Mémoriser mes informations" name="remember_check"/>
|
||||
<text name="forgot_password_text">
|
||||
Mot de passe oublié
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
S'inscrire
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
<layout_panel name="parent_panel3">
|
||||
<layout_stack name="images_stack">
|
||||
<layout_panel name="images_container">
|
||||
<text name="image_caption_left">Vos premiers pas se feront à Learning Island. Trouvez la sortie !</text>
|
||||
<text name="image_caption_right">Explorez ensuite Social Island et rencontrez de nouveaux résidents !</text>
|
||||
<text name="image_caption_left">
|
||||
Votre première étape est Learning Island. Trouvez le portail de sortie.
|
||||
</text>
|
||||
<text name="image_caption_right">
|
||||
Puis explorez Social Island et faites la connaissance d'autres résidents.
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="ACCÈS" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="GÉRANTS DU DOMAINE" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
Gérants du domaine :
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="Nom" name="name"/>
|
||||
</name_list>
|
||||
<button label="Ajouter..." name="add_estate_manager_btn"/>
|
||||
<button label="Supprimer..." name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="AUTORISÉ" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="Rechercher des agents autorisés" name="allowed_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
Toujours autorisé :
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="Nom" name="name"/>
|
||||
</name_list>
|
||||
<button label="Ajouter..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Supprimer..." name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="GROUPES AUTORISÉS" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="Rechercher des groupes autorisés" name="allowed_group_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
Groupes toujours autorisés :
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="Nom" name="name"/>
|
||||
</name_list>
|
||||
<button label="Ajouter..." name="add_allowed_group_btn"/>
|
||||
<button label="Supprimer" name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="INTERDIT" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="Rechercher des agents interdits" name="banned_search_input"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
Toujours interdit :
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="Nom" name="name"/>
|
||||
<columns label="Date de la dernière connexion" name="last_login_date"/>
|
||||
<columns label="Date d'interdiction" name="ban_date"/>
|
||||
<columns label="Interdit par" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="Ajouter..." name="add_banned_avatar_btn"/>
|
||||
<button label="Supprimer..." name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -1,29 +1,52 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Domaine" name="Estate">
|
||||
<text name="estate_help_text">Les modifications de paramètre dans cet onglet affecteront toutes les régions de ce domaine.</text>
|
||||
<text name="estate_text">Domaine :</text>
|
||||
<text name="estate_name">(inconnu)</text>
|
||||
<text name="owner_text">Propriétaire du domaine :</text>
|
||||
<text name="estate_owner">(inconnu)</text>
|
||||
<check_box label="Autoriser l'accès public" name="externally_visible_check"/>
|
||||
<check_box label="Autoriser le chat vocal" name="voice_chat_check"/>
|
||||
<text bottom="-34" name="estate_help_text">
|
||||
Les modifications des paramètres de cet
|
||||
onglet affecteront toutes les régions du
|
||||
domaine.
|
||||
</text>
|
||||
<text bottom_delta="-34" name="estate_text" top_pad="8">
|
||||
Domaine :
|
||||
</text>
|
||||
<text name="estate_name">
|
||||
(inconnu)
|
||||
</text>
|
||||
<text name="owner_text">
|
||||
Propriétaire :
|
||||
</text>
|
||||
<text name="estate_owner">
|
||||
(inconnu)
|
||||
</text>
|
||||
<radio_group name="externally_visible_radio">
|
||||
<radio_item label="Autoriser uniquement les résidents et les groupes indiqués dans l'onglet Accès" name="estate_restricted_access"/>
|
||||
<radio_item label="Visite ouverte à tous" name="estate_public_access"/>
|
||||
</radio_group>
|
||||
<check_box label="Doit avoir plus de 18 ans" name="limit_age_verified" tool_tip="Pour accéder à ce domaine, les résidents doivent avoir au moins 18 ans. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Les infos de paiement doivent être enregistrées" name="limit_payment" tool_tip="Pour pouvoir accéder à ce domaine, les résidents doivent avoir enregistré des informations de paiement. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Les propriétaires de terrain peuvent imposer plus de restrictions" name="parcel_access_override"/>
|
||||
<check_box label="Autoriser les chats vocaux" name="voice_chat_check"/>
|
||||
<check_box label="Autoriser la téléportation directe" name="allow_direct_teleport"/>
|
||||
<button label="Appliquer" name="apply_btn"/>
|
||||
<text name="Only Allow">N'autoriser l'accès aux résidents qui :</text>
|
||||
<check_box label="Ont saisi leurs informations de paiement" name="limit_payment" tool_tip="Les résidents doivent avoir enregistré leurs informations de paiement pour accéder à ce terrain. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Sont majeurs" name="limit_age_verified" tool_tip="Les résidents doivent être majeurs pour accéder à ce terrain. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<text name="estate_manager_label">Gérants du domaine :</text>
|
||||
<text name="allow_resident_label">Résidents autorisés :</text>
|
||||
<text name="estate_manager_label">
|
||||
Gérants du domaine :
|
||||
</text>
|
||||
<text name="allow_resident_label">
|
||||
Toujours autorisé :
|
||||
</text>
|
||||
<button label="Ajouter..." name="add_estate_manager_btn"/>
|
||||
<button label="Supprimer..." name="remove_estate_manager_btn"/>
|
||||
<button label="Ajouter..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Supprimer..." name="remove_allowed_avatar_btn"/>
|
||||
<text name="allow_group_label">Groupes autorisés :</text>
|
||||
<text name="ban_resident_label">Résidents bannis :</text>
|
||||
<text name="allow_group_label">
|
||||
Groupes toujours autorisés :
|
||||
</text>
|
||||
<text name="ban_resident_label">
|
||||
Toujours interdit :
|
||||
</text>
|
||||
<button label="Ajouter..." name="add_allowed_group_btn"/>
|
||||
<button label="Supprimer..." name="remove_allowed_group_btn"/>
|
||||
<button label="Ajouter..." name="add_banned_avatar_btn"/>
|
||||
<button label="Supprimer..." name="remove_banned_avatar_btn"/>
|
||||
<button label="Envoyer un message au domaine..." name="message_estate_btn"/>
|
||||
<button label="Expulser un résident du domaine..." name="kick_user_from_estate_btn"/>
|
||||
<button label="Message au domaine..." name="message_estate_btn"/>
|
||||
<button label="Éjecter du domaine..." name="kick_user_from_estate_btn"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -2177,6 +2177,18 @@ Si vous continuez de recevoir ce message, contactez l’assistance Second Life
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
Toujours interdit
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
tous les domaines
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
domaines gérés
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
ce domaine
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
et [EXTRA_COUNT] plus
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
Mémoire des scripts de parcelles
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="floater_auction" title="Inizia la vendita di terreno Linden">
|
||||
<floater.string name="already for sale">
|
||||
Non si possono mettere in asta terreni che sono già in vendita.
|
||||
Non puoi mettere all’asta terreni che sono già in vendita.
|
||||
</floater.string>
|
||||
<check_box label="Includi barriere di selezione gialle" name="fence_check"/>
|
||||
<button label="Fotografia" name="snapshot_btn"/>
|
||||
<check_box initial_value="true" label="Includi la parte selezionata in giallo" name="fence_check"/>
|
||||
<button label="Istantanea" label_selected="Istantanea" name="snapshot_btn"/>
|
||||
<button label="Vendi a chiunque" name="sell_to_anyone_btn"/>
|
||||
<button label="Cancella impostazioni" name="reset_parcel_btn"/>
|
||||
<button label="Inizia l'asta" name="start_auction_btn"/>
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater name="Ban duration" title="Durata bando">
|
||||
<text name="duration_textbox" width="110">
|
||||
Durata del bando:
|
||||
</text>
|
||||
<spinner name="ban_time" tool_tip="Per quanto tempo bandire, 0 vuol dire per sempre"/>
|
||||
<text name="hours_textbox">
|
||||
ore.
|
||||
</text>
|
||||
<text name="info_textbox">
|
||||
0 significa per sempre.
|
||||
</text>
|
||||
<button label="Annulla" name="BanCancelButton" />
|
||||
</floater>
|
||||
|
|
@ -1499,6 +1499,30 @@ Eccede il [MAX_AGENTS] [LIST_TYPE] limite di [NUM_EXCESS].
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
Impossibile aggiungere un residente bloccato alla lista dei gestori della proprietà.
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
Impossibile aggiunere il gestore della proprietà immobiliare [AGENT] all’elenco degli espulsi.
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> si trova già nell’elenco dei Gruppi ammessi.
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] è gia nel tuo elenco [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] è gia nel tuo elenco [LIST_TYPE].
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] è stato aggiunto all’elenco [LIST_TYPE] di [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] è stato aggiunto all’elenco [LIST_TYPE] di [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] è stato rimosso dall’elenco [LIST_TYPE] di [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] è stato rimosso dall’elenco [LIST_TYPE] di [ESTATE].
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
Impossibile cambiare l'aspetto fisico finchè i vestiti non sono caricati.
|
||||
</notification>
|
||||
|
|
@ -1838,7 +1862,7 @@ Continuare?
|
|||
<usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà" yestext="Questa proprietà"/>
|
||||
</notification>
|
||||
<notification label="Seleziona la proprietà" name="EstateBannedAgentRemove">
|
||||
Rimuovi questo residente dalla lista dei residenti bloccati nell'accesso solo a questa proprietà oppure per [ALL_ESTATES]?
|
||||
Rimuovi questo Residente dall’elenco degli espulsi solo per questa proprietà immobiliare oppure per [ALL_ESTATES]?
|
||||
<usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà" yestext="Questa proprietà"/>
|
||||
</notification>
|
||||
<notification label="Seleziona la proprietà" name="EstateManagerAdd">
|
||||
|
|
@ -3244,20 +3268,20 @@ Clicca su Accetta per unirti alla chat oppure su Rifiuta per declinare l'in
|
|||
Stiamo creando una canale voce per te. Questo può richiedere fino a un minuto.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
Almeno una delle manipolazioni vocali alle quali sei iscritto è scaduta.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
Almeno una delle manipolazioni vocali alle quali sei iscritto è scaduta.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
|
||||
Se sei un utente Premium, [[PREMIUM_URL] clic qui] per ricevere la tua offerta di manipolazioni vocali.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
Poiché la manipolazione vocale attiva è scaduta, sono state applicate le tue impostazioni normali.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
Poiché la manipolazione vocale attiva è scaduta, sono state applicate le tue impostazioni normali.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
|
||||
Se sei un utente Premium, [[PREMIUM_URL] clic qui] per ricevere la tua offerta di manipolazioni vocali.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Almeno una delle tue manipolazioni vocali scadrà tra meno di [INTERVAL] giorni.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
Almeno una delle tue manipolazioni vocali scadrà tra meno di [INTERVAL] giorni.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
|
||||
Se sei un utente Premium, [[PREMIUM_URL] clic qui] per ricevere la tua offerta di manipolazioni vocali.
|
||||
</notification>
|
||||
|
|
@ -3312,7 +3336,7 @@ Per sicurezza, verranno bloccati per alcuni secondi.
|
|||
Impossibile salvare la fotografia in [PATH]: il disco è pieno. Servono [NEED_MEMORY]KB ma ce ne sono solamente [FREE_MEMORY]KB .
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Errore nel salvataggio della foto in [PATH]: La cartella non esiste.
|
||||
Salvataggio istantanea in [PATH] non riuscito: La cartella non esiste.
|
||||
</notification>
|
||||
<notification name="PresetNotSaved">
|
||||
Errore nel salvataggio del preset [NAME].
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=it
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
http://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="Nome utente" name="username_combo" tool_tip="Il nome utente che hai scelto durante la registrazione, come roby12 o Stella Solare"/>
|
||||
|
|
@ -15,8 +21,8 @@
|
|||
</text>
|
||||
<combo_box label="Seleziona grid" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
Iscriviti
|
||||
</text>
|
||||
Registrati
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=it
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
http://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
|
|
@ -7,13 +13,13 @@
|
|||
<combo_box label="Nome utente" name="username_combo" tool_tip="Il nome utente che hai scelto durante la registrazione, come roby12 o Stella Solare"/>
|
||||
<line_editor label="Password" name="password_edit"/>
|
||||
<button label="Accedi" name="connect_btn"/>
|
||||
<check_box label="Ricorda" name="remember_check"/>
|
||||
<check_box label="Ricordami" name="remember_check"/>
|
||||
<text name="forgot_password_text">
|
||||
Password dimenticata
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
Iscriviti
|
||||
</text>
|
||||
Registrati
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="ACCESSO" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="GESTORI DELLE PROPRIETÀ IMMOBILIARI" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
Gestori delle proprietà immobiliari
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Aggiungi..." name="add_estate_manager_btn"/>
|
||||
<button label="Rimuovi..." name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="AMMESSO" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="Cerca agenti ammessi" name="allowed_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
Sempre ammesso:
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Aggiungi..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Rimuovi..." name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="GRUPPI AMMESSI" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="Cerca gruppi consentiti" name="allowed_group_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
Gruppi sempre consentiti:
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Aggiungi..." name="add_allowed_group_btn"/>
|
||||
<button label="Rimuovi..." name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="ESPULSI" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="Cerca agenti espulsi" name="banned_search_input"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
Sempre espulsi:
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
<columns label="Ultima data di accesso" name="last_login_date"/>
|
||||
<columns label="Data espulsione" name="ban_date"/>
|
||||
<columns label="Espulso da" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="Aggiungi..." name="add_banned_avatar_btn"/>
|
||||
<button label="Rimuovi..." name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
(sconosciuto)
|
||||
</text>
|
||||
<radio_group name="externally_visible_radio">
|
||||
<radio_item label="Accesso ai gruppi e utenti sottoelencati" name="estate_restricted_access" />
|
||||
<radio_item label="Consenti accesso solo ai residenti e ai gruppi elencati nella scheda di Accesso" name="estate_restricted_access"/>
|
||||
<radio_item label="Accesso libero" name="estate_public_access" />
|
||||
</radio_group>
|
||||
<check_box label="Hanno almeno 18 anni" name="limit_age_verified" tool_tip="Per poter visitare questa proprietà immobiliare gli utenti devono avere almeno 18 anni. Vedi [SUPPORT_SITE] per maggiori informazioni."/>
|
||||
|
|
|
|||
|
|
@ -107,6 +107,24 @@
|
|||
<text name="pathfinding_attributes_label">
|
||||
Attributi pathfinding:
|
||||
</text>
|
||||
<text name="B:">
|
||||
B:
|
||||
</text>
|
||||
<text name="O:">
|
||||
O:
|
||||
</text>
|
||||
<text name="G:">
|
||||
G:
|
||||
</text>
|
||||
<text name="E:">
|
||||
E:
|
||||
</text>
|
||||
<text name="N:">
|
||||
N:
|
||||
</text>
|
||||
<text name="F:">
|
||||
F:
|
||||
</text>
|
||||
</panel>
|
||||
</scroll_container>
|
||||
<layout_stack name="buttons_ls">
|
||||
|
|
|
|||
|
|
@ -2361,6 +2361,18 @@ Se il messaggio persiste, contattare il supporto Second Life per assistenza http
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
utenti sempre banditi
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
tutte le proprietà immobiliari
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
proprietà immobiliari che gestisci
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
questa proprietà immobiliare
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
e [EXTRA_COUNT] ancora
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
Memoria script del lotto
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="floater_auction" title="リンデンランドの販売開始">
|
||||
<floater.string name="already for sale">
|
||||
売り出し中の区画は、オークションに出品できません。
|
||||
販売中の区画をオークションに出品することはできません。
|
||||
</floater.string>
|
||||
<check_box initial_value="true" label="黄色の選択フェンスを含める" name="fence_check"/>
|
||||
<check_box initial_value="true" label="黄色のセレクションフェンスを含める" name="fence_check"/>
|
||||
<button label="スナップショット" label_selected="スナップショット" name="snapshot_btn"/>
|
||||
<button label="誰にでも販売" label_selected="誰にでも販売" name="sell_to_anyone_btn"/>
|
||||
<button label="設定をクリア" label_selected="設定をクリア" name="reset_parcel_btn"/>
|
||||
|
|
|
|||
|
|
@ -213,6 +213,7 @@
|
|||
<combo_box.item label="オブジェクトに支払う" name="Payobject"/>
|
||||
<combo_box.item label="開く" name="Open"/>
|
||||
<combo_box.item label="ズームする" name="Zoom"/>
|
||||
<combo_box.item label="なし" name="None"/>
|
||||
</combo_box>
|
||||
<check_box label="販売対象:" name="checkbox for sale"/>
|
||||
<spinner label="L$" name="Edit Cost"/>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
<menu label="ムーブメント" name="Movement">
|
||||
<menu_item_call label="座る" name="Sit Down Here"/>
|
||||
<menu_item_call label="立ち上がる" name="Stand up"/>
|
||||
<menu_item_check label="飛ぶ" name="Fly"/>
|
||||
<!-- added Mar.15, 2015 -->
|
||||
<menu_item_call label="着地する" name="Stop flying" />
|
||||
|
|
|
|||
|
|
@ -1655,6 +1655,30 @@ SHA1 フィンガープリント: [MD5_DIGEST]
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
追放された住人を不動産管理者リストに追加できません。
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
禁止リストに不動産マネージャー [AGENT] を追加できません。
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> はすでに許可されたグループのリストに追加されています。
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] はすでにあなたの [LIST_TYPE] リストに追加されています。
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] はすでにあなたの [LIST_TYPE] リストに追加されています。
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] が [ESTATE] の [LIST_TYPE] リストに追加されました。
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] が [ESTATE] の [LIST_TYPE] リストに追加されました。
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] が [ESTATE] の [LIST_TYPE] リストから削除されました。
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] が [ESTATE] の [LIST_TYPE] リストから削除されました。
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
衣類およびシェイプが読み込まれるまでは、容姿の変更はできません。
|
||||
</notification>
|
||||
|
|
@ -2011,7 +2035,7 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
|
|||
<usetemplate canceltext="取り消し" name="yesnocancelbuttons" notext="すべての不動産" yestext="この不動産"/>
|
||||
</notification>
|
||||
<notification label="不動産を選択" name="EstateBannedAgentRemove">
|
||||
この住人が、この不動産限定、または [ALL_ESTATES] にアクセスできるように、禁止リストから削除しますか?
|
||||
この住人をこの不動産の立入禁止リストからのみ削除しますか?それとも [ALL_ESTATES] の立入禁止リストから削除しますか?
|
||||
<usetemplate canceltext="取り消し" name="yesnocancelbuttons" notext="すべての不動産" yestext="この不動産"/>
|
||||
</notification>
|
||||
<notification label="不動産を選択" name="EstateManagerAdd">
|
||||
|
|
@ -3561,13 +3585,22 @@ M キーを押して変更します。
|
|||
[VOICE_CHANNEL_NAME] への接続に失敗しました。あとで再度お試しください。 「近くのボイスチャット」に再接続されます。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
ボイスモーフィング効果の1つまたは複数の有効期限が終了しました。期限を延長・更新するには[[URL]こちらをクリック]してください。
|
||||
ボイスモーフィング効果の1つまたは複数の有効期限が終了しました。
|
||||
期限を延長・更新するには [[URL] Click here] をクリックしてください。
|
||||
|
||||
プレミアム会員の方は、 [[PREMIUM_URL] click here] をクリックしてボイスモーフィング特典をお受け取りください。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
ボイスモーフィング効果の有効期限が終了したため、あなたの通常のボイス設定が適用されました。期限を延長・更新するには[[URL]こちらをクリック]してください。
|
||||
ボイスモーフィング効果の有効期限が終了したため、あなたの通常のボイス設定が適用されました。
|
||||
期限を延長・更新するには [[URL] Click here] をクリックしてください。
|
||||
|
||||
プレミアム会員の方は、 [[PREMIUM_URL] click here] をクリックしてボイスモーフィング特典をお受け取りください。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
ボイスモーフィング効果の1つまたは複数の有効期限が[INTERVAL]日以内に終了します。期限を延長・更新するには[[URL]こちらをクリック]してください。
|
||||
ボイスモーフィング効果の1つまたは複数の有効期限が [INTERVAL] 日以内に終了します。
|
||||
期限を延長・更新するには [[URL] Click here] をクリックしてください。
|
||||
|
||||
プレミアム会員の方は、 [[PREMIUM_URL] click here] をクリックしてボイスモーフィング特典をお受け取りください。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
新しいボイスモーフィング効果が登場!
|
||||
|
|
@ -3620,6 +3653,9 @@ M キーを押して変更します。
|
|||
<notification icon="notifytip.tga" name="SnapshotToComputerFailed">
|
||||
スナップショットを [PATH] に保存するのに失敗しました。ディスクが一杯です。[NEED_MEMORY]KB 必要ですが、空いているのは [FREE_MEMORY]KB です。
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
スナップショットを [PATH] に保存できませんでした:ディレクトリは存在しません。
|
||||
</notification>
|
||||
<notification name="PresetNotSaved">
|
||||
プリセット [NAME] の保存エラー。
|
||||
</notification>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">http://secondlife.com/account/request.php?lang=ja</panel.string>
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=ja
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="ユーザー名" name="username_combo" tool_tip="登録時に自分で選んだユーザー名(例:bobsmith12、Steller Sunshineなど)"/>
|
||||
|
|
@ -11,8 +16,13 @@
|
|||
</combo_box>
|
||||
<button label="ログイン" name="connect_btn"/>
|
||||
<check_box label="記憶する" name="remember_check"/>
|
||||
<text name="forgot_password_text">パスワードを忘れた場合</text>
|
||||
<text name="forgot_password_text">
|
||||
パスワードを忘れた場合
|
||||
</text>
|
||||
<combo_box label="グリッドを選択" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
登録
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=ja
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
|
|
@ -14,6 +17,9 @@
|
|||
<text name="forgot_password_text">
|
||||
パスワードを忘れた場合
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
登録
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="アクセス" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="不動産マネージャー" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
不動産マネージャー:
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="名前" name="name"/>
|
||||
</name_list>
|
||||
<button label="追加..." name="add_estate_manager_btn"/>
|
||||
<button label="削除…" name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="許可" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="許可されたエージェントを検索" name="allowed_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
常に許可:
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="名前" name="name"/>
|
||||
</name_list>
|
||||
<button label="追加..." name="add_allowed_avatar_btn"/>
|
||||
<button label="削除…" name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="許可されたグループ" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="許可されたグループを検索" name="allowed_group_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
常に許可されたグループ:
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="名前" name="name"/>
|
||||
</name_list>
|
||||
<button label="追加..." name="add_allowed_group_btn"/>
|
||||
<button label="削除…" name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="禁止" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="禁止されたエージェントを検索" name="banned_search_input"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
常に禁止:
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="名前" name="name"/>
|
||||
<columns label="最後にログインした日" name="last_login_date"/>
|
||||
<columns label="禁止された日付" name="ban_date"/>
|
||||
<columns label="禁止した人:" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="追加..." name="add_banned_avatar_btn"/>
|
||||
<button label="削除…" name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
(不明)
|
||||
</text>
|
||||
<radio_group name="externally_visible_radio">
|
||||
<radio_item label="下記の住人とグループのみ許可する" name="estate_restricted_access"/>
|
||||
<radio_item label="アクセスタブに記載された住人とグループのみ許可する" name="estate_restricted_access"/>
|
||||
<radio_item label="誰でも訪問可" name="estate_public_access"/>
|
||||
</radio_group>
|
||||
<check_box label="18 歳以上である必要があります" name="limit_age_verified" tool_tip="この不動産(エステート)にアクセスするには、18 才以上でなければなりません。詳細については、[SUPPORT_SITE] をご覧ください。"/>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="object properties" title="オブジェクトのプロフィール">
|
||||
<panel.string name="text deed continued">譲渡</panel.string>
|
||||
<panel.string name="text deed">譲渡</panel.string>
|
||||
<panel.string name="text modify info 1">このオブジェクトを修正できます</panel.string>
|
||||
<panel.string name="text modify info 2">これらのオブジェクトを修正できます</panel.string>
|
||||
<panel.string name="text modify info 3">このオブジェクトを修正できません</panel.string>
|
||||
<panel.string name="text modify info 4">これらのオブジェクトを修正できません</panel.string>
|
||||
<panel.string name="text modify info 5">地域(リージョン)の境界を越えてこのオブジェクトを修正できません</panel.string>
|
||||
<panel.string name="text modify info 6">地域(リージョン)の境界を越えてこれらのオブジェクトを修正できません</panel.string>
|
||||
<panel.string name="text modify warning">このオブジェクトには、パーツがリンクされています</panel.string>
|
||||
<panel.string name="Cost Default">価格: L$</panel.string>
|
||||
<panel.string name="Cost Total">合計価格: L$</panel.string>
|
||||
<panel.string name="Cost Per Unit">Price Per: L$</panel.string>
|
||||
<panel.string name="Cost Mixed">Mixed Price</panel.string>
|
||||
<panel.string name="Sale Mixed">Mixed Sale</panel.string>
|
||||
<panel.string name="text deed continued">
|
||||
譲渡
|
||||
</panel.string>
|
||||
<panel.string name="text deed">
|
||||
譲渡
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 1">
|
||||
このオブジェクトを修正できます
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 2">
|
||||
これらのオブジェクトを修正できます
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 3">
|
||||
このオブジェクトを修正できません
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 4">
|
||||
これらのオブジェクトを修正できません
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 5">
|
||||
地域(リージョン)の境界を越えてこのオブジェクトを修正できません
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 6">
|
||||
地域(リージョン)の境界を越えてこれらのオブジェクトを修正できません
|
||||
</panel.string>
|
||||
<panel.string name="text modify warning">
|
||||
このオブジェクトには、パーツがリンクされています
|
||||
</panel.string>
|
||||
<panel.string name="Cost Default">
|
||||
価格: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Total">
|
||||
合計価格: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Per Unit">
|
||||
Price Per: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Mixed">
|
||||
Mixed Price
|
||||
</panel.string>
|
||||
<panel.string name="Sale Mixed">
|
||||
Mixed Sale
|
||||
</panel.string>
|
||||
<text name="title" value="オブジェクトのプロフィール"/>
|
||||
<text name="where" value="(インワールド)"/>
|
||||
<scroll_container name="item_profile_scroll">
|
||||
<panel label="" name="properties_panel">
|
||||
<text name="Name:">名前:</text>
|
||||
<text name="Description:">説明:</text>
|
||||
<text name="CreatorNameLabel">制作者:</text>
|
||||
<text name="Owner:">所有者:</text>
|
||||
<text name="Group_label">グループ:</text>
|
||||
<text name="Name:">
|
||||
名前:
|
||||
</text>
|
||||
<text name="Description:">
|
||||
説明:
|
||||
</text>
|
||||
<text name="CreatorNameLabel">
|
||||
制作者:
|
||||
</text>
|
||||
<text name="Owner:">
|
||||
所有者:
|
||||
</text>
|
||||
<text name="Group_label">
|
||||
グループ:
|
||||
</text>
|
||||
<button name="button set group" tool_tip="このオブジェクト権限を共有するグループを選択します"/>
|
||||
<name_box initial_value="ローディング..." name="Group Name Proxy"/>
|
||||
<button label="譲渡" label_selected="譲渡" name="button deed" tool_tip="このアイテムを譲渡すると「次の所有者」の権限が適用されます。 グループ共有オブジェクトは、グループのオフィサーが譲渡できます。"/>
|
||||
<text name="label click action">クリックで:</text>
|
||||
<text name="label click action">
|
||||
クリックで:
|
||||
</text>
|
||||
<combo_box name="clickaction">
|
||||
<combo_box.item label="触る(デフォルト)" name="Touch/grab(default)"/>
|
||||
<combo_box.item label="オブジェクトに座る" name="Sitonobject"/>
|
||||
|
|
@ -34,15 +74,24 @@
|
|||
<combo_box.item label="オブジェクトに支払う" name="Payobject"/>
|
||||
<combo_box.item label="開く" name="Open"/>
|
||||
<combo_box.item label="ズーム" name="Zoom"/>
|
||||
<combo_box.item label="なし" name="None"/>
|
||||
</combo_box>
|
||||
<panel name="perms_inv">
|
||||
<text name="perm_modify">このオブジェクトを修正できます</text>
|
||||
<text name="Anyone can:">全員:</text>
|
||||
<text name="perm_modify">
|
||||
このオブジェクトを修正できます
|
||||
</text>
|
||||
<text name="Anyone can:">
|
||||
全員:
|
||||
</text>
|
||||
<check_box label="コピー" name="checkbox allow everyone copy"/>
|
||||
<check_box label="移動" name="checkbox allow everyone move"/>
|
||||
<text name="GroupLabel">グループ:</text>
|
||||
<text name="GroupLabel">
|
||||
グループ:
|
||||
</text>
|
||||
<check_box label="共有" name="checkbox share with group" tool_tip="設定したグループのメンバー全員にこのオブジェクトの修正権限を与えます。 譲渡しない限り、役割制限を有効にはできません。"/>
|
||||
<text name="NextOwnerLabel">次の所有者:</text>
|
||||
<text name="NextOwnerLabel">
|
||||
次の所有者:
|
||||
</text>
|
||||
<check_box label="修正" name="checkbox next owner can modify"/>
|
||||
<check_box label="コピー" name="checkbox next owner can copy"/>
|
||||
<check_box label="再販・プレゼント" name="checkbox next owner can transfer" tool_tip="次の所有者はこのオブジェクトを他人にあげたり再販できます"/>
|
||||
|
|
@ -55,13 +104,27 @@
|
|||
</combo_box>
|
||||
<spinner label="価格: L$" name="Edit Cost"/>
|
||||
<check_box label="検索に表示" name="search_check" tool_tip="このオブジェクトを検索結果に表示します"/>
|
||||
<text name="pathfinding_attributes_label">パスファインディング属性:</text>
|
||||
<text name="B:">B.</text>
|
||||
<text name="O:">O:</text>
|
||||
<text name="G:">G:</text>
|
||||
<text name="E:">E:</text>
|
||||
<text name="N:">N:</text>
|
||||
<text name="F:">F:</text>
|
||||
<text name="pathfinding_attributes_label">
|
||||
パスファインディング属性:
|
||||
</text>
|
||||
<text name="B:">
|
||||
B.
|
||||
</text>
|
||||
<text name="O:">
|
||||
O:
|
||||
</text>
|
||||
<text name="G:">
|
||||
G:
|
||||
</text>
|
||||
<text name="E:">
|
||||
E:
|
||||
</text>
|
||||
<text name="N:">
|
||||
N:
|
||||
</text>
|
||||
<text name="F:">
|
||||
F:
|
||||
</text>
|
||||
</panel>
|
||||
</scroll_container>
|
||||
<layout_stack name="buttons_ls">
|
||||
|
|
|
|||
|
|
@ -2202,6 +2202,18 @@ http://www.firestormviewer.org/support
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
常にバンさんれている住人
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
すべての不動産
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
管理されている不動産
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
この不動産
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
および [EXTRA_COUNT] つの不動産
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
区画スクリプトメモリ
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<floater name="Ban duration" title="Czas trwania bana" width="220">
|
||||
<text name="duration_textbox" width="110">
|
||||
Czas trwania bana:
|
||||
</text>
|
||||
<spinner name="ban_time" tool_tip="Ile czasu ma trwać ban, 0 banuje na zawsze"/>
|
||||
<text name="hours_textbox">
|
||||
godzin.
|
||||
</text>
|
||||
<text name="info_textbox">
|
||||
0 banuje na zawsze.
|
||||
</text>
|
||||
<button label="Anuluj" name="BanCancelButton" />
|
||||
</floater>
|
||||
|
|
@ -33,6 +33,7 @@
|
|||
<check_box label="Filtrowanie anizotropowe (wolniej, gdy włączone)" name="ani" />
|
||||
<check_box label="Włącz OpenGL Vertex Buffer Object (opis geometrii obiektów)" name="vbo" tool_tip="Włączenie tej opcji na nowoczesnym sprzęcie spowoduje wzrost wydajności. Starszy sprzęt jednak ma często słabe wsparcie dla VBO i mogą wystąpić na nim awarie." />
|
||||
<check_box label="Włącz stratną kompresję tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamięci wideo. Umożliwi to ładowanie tekstur w wyższej rozdzielczości / większej ich ilości, ale kosztem jakości obrazu." />
|
||||
<check_box label="Włącz wsparcie dla ekranów HiDPI (wymaga restartu)" name="use HiDPI" tool_tip="Włącz funkcje OpenGL dla rysowania w wysokich rozdzielczościach." />
|
||||
<text name="antialiasing label">
|
||||
Antyaliasing:
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -1548,10 +1548,6 @@ Jeśli ciągle widzisz tą wiadomość sprawdź [SUPPORT_SITE].
|
|||
Otwieranie stron internetowych z nieznanego źródła może narazić Twój komputer na niebezpieczeństwo.
|
||||
<usetemplate ignoretext="Uruchom przeglądarkę internetową by zobaczyć stronę" name="okcancelignore" notext="Anuluj" />
|
||||
</notification>
|
||||
<notification name="SystemUIScaleFactorChanged">
|
||||
Mnożnik systemowego skalowania interfejsu uległ zmianie od ostatniego uruchomienia. Czy chcesz otworzyć ustawienia i skorygować skalowanie interfejsu w przeglądarce?
|
||||
<usetemplate name="okcancelbuttons" notext="Anuluj" />
|
||||
</notification>
|
||||
<notification name="WebLaunchJoinNow">
|
||||
By dokonać zmian i aktualizacji swojego konta, odwiedź [http://secondlife.com/account/ Tablicę].
|
||||
<usetemplate ignoretext="Uruchom przeglądarkę internetową by dokonać zmian w konfiguracji mojego konta" name="okcancelignore" notext="Anuluj" />
|
||||
|
|
|
|||
|
|
@ -106,6 +106,7 @@
|
|||
<check_box label="Włącz OpenGL Vertex Buffer Object (opis geometrii obiektów)" name="vbo" tool_tip="Włączenie tej opcji na nowoczesnym sprzęcie spowoduje wzrost wydajności. Starszy sprzęt jednak ma często słabe wsparcie dla VBO i mogą wystąpić na nim awarie."/>
|
||||
<check_box label="Włącz strumieniowe VBO" name="vbo_stream" tool_tip="Wyłączenie tej opcji może zwiększyć wydajność, gdy VBO jest włączone. Odnotowano zauważalny wzrost wydajności na różnych GPU ze stajni AMD i Intela przy wyłączonej tej pozycji."/>
|
||||
<check_box label="Włącz stratną kompresję tekstur (wymaga restartu)" name="texture compression" tool_tip="Kompresuje tekstury w pamięci wideo. Umożliwi to ładowanie tekstur w wyższej rozdzielczości / większej ich ilości, ale kosztem jakości obrazu."/>
|
||||
<check_box label="Włącz wsparcie dla ekranów HiDPI (tylko Mac OSX; wymaga restartu)" name="use HiDPI" tool_tip="Włącz funkcje OpenGL dla rysowania w wysokich rozdzielczościach." />
|
||||
<text name="Antialiasing:" tool_tip="Zmiana tego ustawienia może wymagać ponownego uruchomienia na niektórych urządzeniach.">
|
||||
Antyaliasing (zalecany restart):
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="floater_auction" title="INICIAR VENDA DE TERRENO LINDEN START">
|
||||
<floater name="floater_auction" title="INICIAR VENDA DE TERRENO LINDEN">
|
||||
<floater.string name="already for sale">
|
||||
Você não pode leiloar terrenos que já estão configurados para venda.
|
||||
Você não pode leiloar terrenos que já estão para venda.
|
||||
</floater.string>
|
||||
<check_box initial_value="true" label="Incluir marcador de seleção amarelo" name="fence_check"/>
|
||||
<check_box initial_value="true" label="Incluir uma cerca de seleção amarela" name="fence_check"/>
|
||||
<button label="Foto" label_selected="Foto" name="snapshot_btn"/>
|
||||
<button label="Vender a qualquer um" label_selected="Vender a qualquer um" name="sell_to_anyone_btn"/>
|
||||
<button label="Clear Settings" label_selected="Limpar configurações" name="reset_parcel_btn"/>
|
||||
<button label="Iniciar Leilão" label_selected="Iniciar Leilão" name="start_auction_btn"/>
|
||||
<button label="Limpar configurações" label_selected="Limpar configurações" name="reset_parcel_btn"/>
|
||||
<button label="Iniciar leilão" label_selected="Iniciar leilão" name="start_auction_btn"/>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@
|
|||
<combo_box.item label="Pagar objeto" name="Payobject"/>
|
||||
<combo_box.item label="Abrir" name="Open"/>
|
||||
<combo_box.item label="Zoom" name="Zoom"/>
|
||||
<combo_box.item label="Nenhum" name="None"/>
|
||||
</combo_box>
|
||||
<check_box label="À venda" name="checkbox for sale"/>
|
||||
<spinner label="L$" name="Edit Cost"/>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
<menu_item_check label="Minha voz" name="ShowVoice"/>
|
||||
<menu label="Movimentos" name="Movement">
|
||||
<menu_item_call label="Sentar" name="Sit Down Here"/>
|
||||
<menu_item_call label="Ficar de pé" name="Stand up"/>
|
||||
<menu_item_check label="Voar" name="Fly"/>
|
||||
<menu_item_check label="Correr sempre" name="Always Run"/>
|
||||
<menu_item_call label="Parar minha animação" name="Stop Animating My Avatar"/>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@
|
|||
<global name="skipnexttime">
|
||||
Não exibir isto novamente
|
||||
</global>
|
||||
<global name="skipnexttimesessiononly">
|
||||
Não exibir isto novamente
|
||||
(para a sessão atual)
|
||||
</global>
|
||||
<global name="alwayschoose">
|
||||
Sempre escolher esta opção
|
||||
</global>
|
||||
|
|
@ -1508,6 +1512,30 @@ Ultrapassa o limite de [MAX_AGENTS] [LIST_TYPE] de [NUM_EXCESS].
|
|||
<notification name="ProblemAddingEstateManagerBanned">
|
||||
Não foi possível adicionar residentes banidos à lista de gerentes de propriedades.
|
||||
</notification>
|
||||
<notification name="ProblemBanningEstateManager">
|
||||
Não foi possível adicionar o gerente [AGENT] à lista de banimento.
|
||||
</notification>
|
||||
<notification name="GroupIsAlreadyInList">
|
||||
<nolink>[GROUP]</nolink> já está na lista de Grupos permitidos.
|
||||
</notification>
|
||||
<notification name="AgentIsAlreadyInList">
|
||||
[AGENT] já está na sua [LIST_TYPE] lista.
|
||||
</notification>
|
||||
<notification name="AgentsAreAlreadyInList">
|
||||
[AGENT] já está na sua [LIST_TYPE] lista.
|
||||
</notification>
|
||||
<notification name="AgentWasAddedToList">
|
||||
[AGENT] foi adicionado na [LIST_TYPE] lista de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereAddedToList">
|
||||
[AGENT] foi adicionado na [LIST_TYPE] lista de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentWasRemovedFromList">
|
||||
[AGENT] foi removido da [LIST_TYPE] lista de [ESTATE].
|
||||
</notification>
|
||||
<notification name="AgentsWereRemovedFromList">
|
||||
[AGENT] foi removido da [LIST_TYPE] lista de [ESTATE].
|
||||
</notification>
|
||||
<notification name="CanNotChangeAppearanceUntilLoaded">
|
||||
Não é possível alterar a aparência até que as roupas e formas estejam carregadas.
|
||||
</notification>
|
||||
|
|
@ -1799,7 +1827,7 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
|
|||
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todas as Propriedades" yestext="Esta Propriedade"/>
|
||||
</notification>
|
||||
<notification label="Selecione a propriedade" name="EstateBannedAgentRemove">
|
||||
Remover este residente da lista de banidos para acesso a esta propriedade apenas ou para [ALL_ESTATES]?
|
||||
Remover este Residente da lista de banimento para acessar este estado somente ou para [ALL_ESTATES]?
|
||||
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todas as Propriedades" yestext="Esta Propriedade"/>
|
||||
</notification>
|
||||
<notification label="Selecione a propriedade" name="EstateManagerAdd">
|
||||
|
|
@ -3109,16 +3137,22 @@ Clique em Aceitar para atender ou em Recusar para recusar este convite. Clique
|
|||
Falha de conexão com [VOICE_CHANNEL_NAME]. Tente novamente mais tarde. Agora você será reconectado ao bate-papo local.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpired">
|
||||
Um ou mais serviços de distorção de voz que você assinou veceu.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
Um ou mais serviços de distorção de voz que você assinou venceu.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
|
||||
Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu app de distorção de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
A Distorção de voz ativa expirou. Suas configurações de voz padrão foram ativadas.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
A Distorção de voz ativa expirou. Suas configurações de voz padrão foram ativadas.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
|
||||
Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu app de distorção de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Uma ou mais das suas distorções de voz tem vencimento em menos de [INTERVAL] dias.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
Uma ou mais das suas distorções de voz tem vencimento em menos de [INTERVAL] dias.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
|
||||
Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu app de distorção de voz.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
Novas Distorções de voz!
|
||||
|
|
@ -3167,6 +3201,9 @@ Para sua segurança, os SLurls serão bloqueados por alguns instantes.
|
|||
<notification name="AppearanceToXMLFailed">
|
||||
Falha ao salvar a aparência como XML.
|
||||
</notification>
|
||||
<notification name="SnapshotToLocalDirNotExist">
|
||||
Falha ao salvar fotografia em [PATH]: O diretório não existe.
|
||||
</notification>
|
||||
<notification name="PresetNotSaved">
|
||||
Erro ao salvar predefinição [NAME].
|
||||
</notification>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">http://secondlife.com/account/request.php?lang=pt</panel.string>
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=pt
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<combo_box label="Nome de usuário" name="username_combo" tool_tip="O nome de usuário que você escolheu ao fazer seu cadastro, como zecazc12 ou Magia Solar"/>
|
||||
|
|
@ -11,8 +16,13 @@
|
|||
</combo_box>
|
||||
<button label="Login" name="connect_btn"/>
|
||||
<check_box label="Lembrar-me" name="remember_check"/>
|
||||
<text name="forgot_password_text">Senha esquecida</text>
|
||||
<text name="forgot_password_text">
|
||||
Senha esquecida
|
||||
</text>
|
||||
<combo_box label="Selecionar grade" name="server_combo"/>
|
||||
<text name="sign_up_text">
|
||||
Cadastre-se
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=pt
|
||||
</panel.string>
|
||||
<panel.string name="sign_up_url">
|
||||
https://join.secondlife.com/
|
||||
</panel.string>
|
||||
<layout_stack name="logo_stack">
|
||||
<layout_panel name="parent_panel2">
|
||||
<layout_stack name="widget_stack">
|
||||
|
|
@ -14,6 +17,9 @@
|
|||
<text name="forgot_password_text">
|
||||
Senha esquecida
|
||||
</text>
|
||||
<text name="sign_up_text">
|
||||
Cadastre-se
|
||||
</text>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel label="Acesso" name="Access">
|
||||
<tab_container name="tabs">
|
||||
<panel label="GERENTES" name="estate_managers_panel">
|
||||
<text name="estate_manager_label">
|
||||
Gerentes:
|
||||
</text>
|
||||
<name_list name="estate_manager_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Adicionar..." name="add_estate_manager_btn"/>
|
||||
<button label="Remover..." name="remove_estate_manager_btn"/>
|
||||
</panel>
|
||||
<panel label="PERMITIDO" name="allowed_panel">
|
||||
<panel label="top_panel" name="allowed_search_panel">
|
||||
<filter_editor label="Buscar agentes permitidos" name="allowed_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_resident_label">
|
||||
Sempre permitido:
|
||||
</text>
|
||||
<name_list name="allowed_avatar_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Adicionar..." name="add_allowed_avatar_btn"/>
|
||||
<button label="Remover..." name="remove_allowed_avatar_btn"/>
|
||||
</panel>
|
||||
<panel label="GRUPOS PERMITIDOS" name="allowed_groups_panel">
|
||||
<panel label="top_panel" name="allowed_group_search_panel">
|
||||
<filter_editor label="Buscar grupos permitidos" name="allowed_group_search_input"/>
|
||||
</panel>
|
||||
<text name="allow_group_label">
|
||||
Grupos sempre permitidos:
|
||||
</text>
|
||||
<name_list name="allowed_group_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
</name_list>
|
||||
<button label="Adicionar..." name="add_allowed_group_btn"/>
|
||||
<button label="Remover..." name="remove_allowed_group_btn"/>
|
||||
</panel>
|
||||
<panel label="BANIDO" name="banned_panel">
|
||||
<panel label="top_panel" name="banned_search_panel">
|
||||
<filter_editor label="Buscar agentes banidos" name="banned_search_input"/>
|
||||
</panel>
|
||||
<text name="ban_resident_label">
|
||||
Sempre banido:
|
||||
</text>
|
||||
<name_list name="banned_avatar_name_list">
|
||||
<columns label="Nome" name="name"/>
|
||||
<columns label="Último acesso" name="last_login_date"/>
|
||||
<columns label="Data do banimento" name="ban_date"/>
|
||||
<columns label="Banido por" name="bannedby"/>
|
||||
</name_list>
|
||||
<button label="Adicionar..." name="add_banned_avatar_btn"/>
|
||||
<button label="Remover..." name="remove_banned_avatar_btn"/>
|
||||
</panel>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
(desconhecido)
|
||||
</text>
|
||||
<radio_group name="externally_visible_radio">
|
||||
<radio_item label="Permitir somente os residentes e os grupos listados abaixo" name="estate_restricted_access"/>
|
||||
<radio_item label="Permitir somente residentes e grupos listados na aba Acesso" name="estate_restricted_access"/>
|
||||
<radio_item label="Qualquer um pode visitar" name="estate_public_access"/>
|
||||
</radio_group>
|
||||
<check_box label="Deve ser maior de 18 anos" name="limit_age_verified" tool_tip="Os residentes devem ter 18 anos ou mais para acessar esta propriedade. Consulte o [SUPPORT_SITE] para obter mais informações."/>
|
||||
|
|
|
|||
|
|
@ -1,32 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="object properties" title="Perfil do objeto">
|
||||
<panel.string name="text deed continued">Doar</panel.string>
|
||||
<panel.string name="text deed">Doar</panel.string>
|
||||
<panel.string name="text modify info 1">Você pode modificar este objeto</panel.string>
|
||||
<panel.string name="text modify info 2">Você pode modificar estes objetos</panel.string>
|
||||
<panel.string name="text modify info 3">Você não pode modificar este objeto</panel.string>
|
||||
<panel.string name="text modify info 4">Você não pode modificar estes objetos</panel.string>
|
||||
<panel.string name="text modify info 5">Não é possível modificar este objeto através de uma demarcação da região</panel.string>
|
||||
<panel.string name="text modify info 6">Não é possível modificar estes objetos através de uma demarcação da região</panel.string>
|
||||
<panel.string name="text modify warning">O objeto contém links ligando suas partes</panel.string>
|
||||
<panel.string name="Cost Default">Preço: L$</panel.string>
|
||||
<panel.string name="Cost Total">Preço total: L$</panel.string>
|
||||
<panel.string name="Cost Per Unit">Preço unitário: L$</panel.string>
|
||||
<panel.string name="Cost Mixed">Preço misto</panel.string>
|
||||
<panel.string name="Sale Mixed">Venda mista</panel.string>
|
||||
<panel.string name="text deed continued">
|
||||
Doar
|
||||
</panel.string>
|
||||
<panel.string name="text deed">
|
||||
Doar
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 1">
|
||||
Você pode modificar este objeto
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 2">
|
||||
Você pode modificar estes objetos
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 3">
|
||||
Você não pode modificar este objeto
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 4">
|
||||
Você não pode modificar estes objetos
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 5">
|
||||
Não é possível modificar este objeto através de uma demarcação da região
|
||||
</panel.string>
|
||||
<panel.string name="text modify info 6">
|
||||
Não é possível modificar estes objetos através de uma demarcação da região
|
||||
</panel.string>
|
||||
<panel.string name="text modify warning">
|
||||
O objeto contém links ligando suas partes
|
||||
</panel.string>
|
||||
<panel.string name="Cost Default">
|
||||
Preço: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Total">
|
||||
Preço total: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Per Unit">
|
||||
Preço unitário: L$
|
||||
</panel.string>
|
||||
<panel.string name="Cost Mixed">
|
||||
Preço misto
|
||||
</panel.string>
|
||||
<panel.string name="Sale Mixed">
|
||||
Venda mista
|
||||
</panel.string>
|
||||
<text name="title" value="Perfil do objeto"/>
|
||||
<text name="where" value="(Inworld)"/>
|
||||
<scroll_container name="item_profile_scroll">
|
||||
<panel label="" name="properties_panel">
|
||||
<text name="Name:">Nome:</text>
|
||||
<text name="Description:">Descrição:</text>
|
||||
<text name="CreatorNameLabel">Criador:</text>
|
||||
<text name="Owner:">Proprietário:</text>
|
||||
<text name="Group_label">Grupo:</text>
|
||||
<text name="Name:">
|
||||
Nome:
|
||||
</text>
|
||||
<text name="Description:">
|
||||
Descrição:
|
||||
</text>
|
||||
<text name="CreatorNameLabel">
|
||||
Criador:
|
||||
</text>
|
||||
<text name="Owner:">
|
||||
Proprietário:
|
||||
</text>
|
||||
<text name="Group_label">
|
||||
Grupo:
|
||||
</text>
|
||||
<button name="button set group" tool_tip="Selecione o grupo que terá acesso à autorização do objeto"/>
|
||||
<name_box initial_value="Carregando..." name="Group Name Proxy"/>
|
||||
<button label="Doar" label_selected="Doar" name="button deed" tool_tip="Ao doar este item, o próximo dono terá permissões de próximo dono. Objetos de grupos podem ser doados por um oficial do grupo."/>
|
||||
<text name="label click action">Clique para:</text>
|
||||
<text name="label click action">
|
||||
Clique para:
|
||||
</text>
|
||||
<combo_box name="clickaction">
|
||||
<combo_box.item label="Tocar (padrão)" name="Touch/grab(default)"/>
|
||||
<combo_box.item label="Sentar em objeto" name="Sitonobject"/>
|
||||
|
|
@ -34,15 +74,24 @@
|
|||
<combo_box.item label="Pagar por objeto" name="Payobject"/>
|
||||
<combo_box.item label="Abrir" name="Open"/>
|
||||
<combo_box.item label="Zoom" name="Zoom"/>
|
||||
<combo_box.item label="Nenhum" name="None"/>
|
||||
</combo_box>
|
||||
<panel name="perms_inv">
|
||||
<text name="perm_modify">Você pode modificar este objeto</text>
|
||||
<text name="Anyone can:">Todos:</text>
|
||||
<text name="perm_modify">
|
||||
Você pode modificar este objeto
|
||||
</text>
|
||||
<text name="Anyone can:">
|
||||
Todos:
|
||||
</text>
|
||||
<check_box label="Copiar" name="checkbox allow everyone copy"/>
|
||||
<check_box label="Movimentar" name="checkbox allow everyone move"/>
|
||||
<text name="GroupLabel">Grupo:</text>
|
||||
<text name="GroupLabel">
|
||||
Grupo:
|
||||
</text>
|
||||
<check_box label="Compartilhar" name="checkbox share with group" tool_tip="Permitir que todos os membros do grupo tenham o seu nível de modificação para este objeto. Faça uma doação para ativar restrições de função."/>
|
||||
<text name="NextOwnerLabel">Próximo proprietário:</text>
|
||||
<text name="NextOwnerLabel">
|
||||
Próximo proprietário:
|
||||
</text>
|
||||
<check_box label="Modificar" name="checkbox next owner can modify"/>
|
||||
<check_box label="Copiar" name="checkbox next owner can copy"/>
|
||||
<check_box label="Transferir" name="checkbox next owner can transfer" tool_tip="O próximo dono poderá revender ou dar este objeto"/>
|
||||
|
|
@ -55,13 +104,27 @@
|
|||
</combo_box>
|
||||
<spinner label="Preço: L$" name="Edit Cost"/>
|
||||
<check_box label="Mostrar nos resultados de busca" name="search_check" tool_tip="Incluir o objeto nos resultados de busca"/>
|
||||
<text name="pathfinding_attributes_label">Atributos do pathfinding:</text>
|
||||
<text name="B:">B:</text>
|
||||
<text name="O:">O:</text>
|
||||
<text name="G:">G:</text>
|
||||
<text name="E:">E:</text>
|
||||
<text name="N:">N:</text>
|
||||
<text name="F:">F:</text>
|
||||
<text name="pathfinding_attributes_label">
|
||||
Atributos do pathfinding:
|
||||
</text>
|
||||
<text name="B:">
|
||||
B:
|
||||
</text>
|
||||
<text name="O:">
|
||||
O:
|
||||
</text>
|
||||
<text name="G:">
|
||||
G:
|
||||
</text>
|
||||
<text name="E:">
|
||||
E:
|
||||
</text>
|
||||
<text name="N:">
|
||||
N:
|
||||
</text>
|
||||
<text name="F:">
|
||||
F:
|
||||
</text>
|
||||
</panel>
|
||||
</scroll_container>
|
||||
<layout_stack name="buttons_ls">
|
||||
|
|
|
|||
|
|
@ -2154,6 +2154,18 @@ http://secondlife.com/support para ajuda ao resolver este problema.
|
|||
<string name="RegionInfoListTypeBannedAgents">
|
||||
Sempre banido
|
||||
</string>
|
||||
<string name="RegionInfoAllEstates">
|
||||
todos os terrenos
|
||||
</string>
|
||||
<string name="RegionInfoManagedEstates">
|
||||
administre terrenos
|
||||
</string>
|
||||
<string name="RegionInfoThisEstate">
|
||||
este terreno
|
||||
</string>
|
||||
<string name="AndNMore">
|
||||
e [EXTRA_COUNT] mais
|
||||
</string>
|
||||
<string name="ScriptLimitsParcelScriptMemory">
|
||||
Memória de scripts no lote
|
||||
</string>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue