Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Damian Zhaoying
2012-08-06 15:56:30 -03:00
36 changed files with 1178 additions and 321 deletions

View File

@@ -666,6 +666,7 @@ LLScrollListCtrl::LLScrollListCtrl(const std::string& name, const LLRect& rect,
mFgUnselectedColor( LLUI::sColorsGroup->getColor("ScrollUnselectedColor") ),
mFgDisabledColor( LLUI::sColorsGroup->getColor("ScrollDisabledColor") ),
mHighlightedColor( LLUI::sColorsGroup->getColor("ScrollHighlightedColor") ),
mDefaultListTextColor( LLUI::sColorsGroup->getColor("DefaultListText") ),
mBorderThickness( 2 ),
mOnDoubleClickCallback( NULL ),
mOnMaximumSelectCallback( NULL ),
@@ -3543,6 +3544,10 @@ LLScrollListItem* LLScrollListCtrl::addElement(const LLSD& value, EAddPosition p
{
cell->setColor(color);
}
else
{
cell->setColor(mDefaultListTextColor);
}
new_item->setColumn(index, cell);
if (columnp->mHeader && !value.asString().empty())
{

View File

@@ -697,6 +697,7 @@ private:
LLColor4 mFgUnselectedColor;
LLColor4 mFgDisabledColor;
LLColor4 mHighlightedColor;
LLColor4 mDefaultListTextColor;
S32 mBorderThickness;
void (*mOnDoubleClickCallback)(void* userdata);

View File

@@ -42,6 +42,7 @@
#include "llviewercontrol.h"
#include "NACLantispam.h"
#include "lgghunspell_wrapper.h"
#include "lltrans.h"
#include "llstartup.h"
@@ -85,11 +86,11 @@ LLPrefsAscentChat::LLPrefsAscentChat()
LLUUID itemid = (LLUUID)gSavedPerAccountSettings.getString("AscentInstantMessageResponseItemData");
LLViewerInventoryItem* item = gInventory.getItem(itemid);
if (item) childSetValue("im_give_disp_rect_txt","Currently set to: "+item->getName());
else if (itemid.isNull()) childSetValue("im_give_disp_rect_txt","Currently not set");
else childSetValue("im_give_disp_rect_txt","Currently set to an item not on this account");
if (item) childSetValue("im_give_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + " " +item->getName());
else if (itemid.isNull()) childSetValue("im_give_disp_rect_txt", LLTrans::getString("CurrentlyNotSet"));
else childSetValue("im_give_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + " " + LLTrans::getString("AnItemNotOnThisAccount"));
}
else childSetValue("im_give_disp_rect_txt","Not logged in");
else childSetValue("im_give_disp_rect_txt", LLTrans::getString("NotLoggedIn"));
childSetCommitCallback("im_response", onCommitAutoResponse, this);
@@ -240,7 +241,7 @@ void LLPrefsAscentChat::onCommitAutoResponse(LLUICtrl* ctrl, void* user_data)
void LLPrefsAscentChat::SinguIMResponseItemDrop(LLViewerInventoryItem* item)
{
gSavedPerAccountSettings.setString("AscentInstantMessageResponseItemData", item->getUUID().asString());
sInst->childSetValue("im_give_disp_rect_txt","Currently set to: "+item->getName());
sInst->childSetValue("im_give_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + " " +item->getName());
}
//static

View File

@@ -45,6 +45,7 @@
#include "lluictrlfactory.h"
#include "llviewercontrol.h"
#include "llstartup.h"
#include "lltrans.h"
LLDropTarget* mBuildDropTarget;
LLPrefsAscentSys* LLPrefsAscentSys::sInst;
@@ -102,11 +103,11 @@ LLPrefsAscentSys::LLPrefsAscentSys()
LLUUID itemid = (LLUUID)gSavedPerAccountSettings.getString("EmeraldBuildPrefs_Item");
LLViewerInventoryItem* item = gInventory.getItem(itemid);
if (item) childSetValue("build_item_add_disp_rect_txt", "Currently set to:\n"+item->getName());
else if (itemid.isNull()) childSetValue("build_item_add_disp_rect_txt", "Currently\nnot set");
else childSetValue("build_item_add_disp_rect_txt", "Currently set to\nan item not on this account");
if (item) childSetValue("build_item_add_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + "\n" +item->getName());
else if (itemid.isNull()) childSetValue("build_item_add_disp_rect_txt", LLTrans::getString("CurrentlyNotSet"));
else childSetValue("build_item_add_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + "\n" + LLTrans::getString("AnItemNotOnThisAccount"));
}
else childSetValue("build_item_add_disp_rect_txt", "You are\nnot logged in");
else childSetValue("build_item_add_disp_rect_txt", LLTrans::getString("NotLoggedIn"));
refreshValues();
refresh();
@@ -165,7 +166,7 @@ void LLPrefsAscentSys::onCommitCheckBox(LLUICtrl* ctrl, void* user_data)
gAudiop->triggerSound(LLUUID("58a38e89-44c6-c52b-deb8-9f1ddc527319"), gAgent.getID(), 1.0f, LLAudioEngine::AUDIO_TYPE_UI, lpos_global);
LLChat chat;
chat.mSourceType = CHAT_SOURCE_SYSTEM;
chat.mText = llformat("You are bestowed with powers beyond mortal comprehension.\nUse your newfound abilities wisely.\nUnlocked:\n- Animation Priority up to 7 - Meant for animations that should override anything and everything at all times. DO NOT USE THIS FOR GENERAL ANIMATIONS.\n- Right click > Destroy objects - Permanently deletes an object immediately, when you don't feel like waiting for the server to respond.\n- Right Click > Explode objects - Turns an object physical, temporary, and delinks it.");
chat.mText = LLTrans::getString("PowerUser1") + "\n" + LLTrans::getString("PowerUser2") + "\n" + LLTrans::getString("Unlocked:") + "\n" + LLTrans::getString("PowerUser3") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser4") + "\n- " + LLTrans::getString("RightClick") + " > " + LLTrans::getString("PowerUser5");
LLFloaterChat::addChat(chat);
}
}
@@ -247,7 +248,7 @@ void LLPrefsAscentSys::onCommitTexturePicker(LLUICtrl* ctrl, void* userdata)
void LLPrefsAscentSys::SinguBuildItemDrop(LLViewerInventoryItem* item)
{
gSavedPerAccountSettings.setString("EmeraldBuildPrefs_Item", item->getUUID().asString());
sInst->childSetValue("build_item_add_disp_rect_txt","Currently set to:\n"+item->getName());
sInst->childSetValue("build_item_add_disp_rect_txt", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + "\n" + item->getName());
}
void LLPrefsAscentSys::refreshValues()

View File

@@ -22,6 +22,7 @@
#include "chatbar_as_cmdline.h"
//#include "llfloaterchat.h"
#include "llfirstuse.h"
#include "lltrans.h"
#include "llinventory.h"
#include "llinventoryfunctions.h"
@@ -330,20 +331,20 @@ BOOL LLFloaterAO::postBuild()
LLViewerInventoryItem* itemimport = gInventory.getItem(itemidimport);
if(itemimport)
{
childSetValue("ao_nc_text","Currently set to: "+itemimport->getName());
childSetValue("ao_nc_text", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + " " +itemimport->getName());
}
else if(itemidimport.isNull())
{
childSetValue("ao_nc_text","Currently not set");
childSetValue("ao_nc_text", LLTrans::getString("CurrentlyNotSet"));
}
else
{
childSetValue("ao_nc_text","Currently set to a item not on this account");
childSetValue("ao_nc_text", LLTrans::getString("CurrentlySetTo") + " " + LLTrans::getString("AnItemNotOnThisAccount"));
}
}
else
{
childSetValue("ao_nc_text","Not logged in");
childSetValue("ao_nc_text", LLTrans::getString("NotLoggedIn"));
}
childSetAction("more_btn", onClickMore, this);
childSetAction("less_btn", onClickLess, this);
@@ -794,7 +795,7 @@ void LLFloaterAO::setCurrentStandId(const LLUUID& id)
void LLFloaterAO::AOItemDrop(LLViewerInventoryItem* item)
{
gSavedPerAccountSettings.setString("AOConfigNotecardID", item->getUUID().asString());
sInstance->childSetValue("ao_nc_text","Currently set to: "+item->getName());
sInstance->childSetValue("ao_nc_text", LLTrans::getString("CurrentlySetTo") + LLTrans::getString(":") + " " +item->getName());
}
LLUUID LLFloaterAO::GetAnimID(const LLUUID& id)

View File

@@ -61,6 +61,7 @@
#include "llfloaterchat.h"
#include "llviewerstats.h"
#include "lluictrlfactory.h"
#include "lltrans.h"
#include "llselectmgr.h"
@@ -68,16 +69,6 @@
/// Local function declarations, constants, enums, and typedefs
///----------------------------------------------------------------------------
// *TODO:Translate
const std::string COMPILE_QUEUE_TITLE("Recompilation Progress");
const std::string COMPILE_START_STRING("recompile");
const std::string RESET_QUEUE_TITLE("Reset Progress");
const std::string RESET_START_STRING("reset");
const std::string RUN_QUEUE_TITLE("Set Running Progress");
const std::string RUN_START_STRING("set running");
const std::string NOT_RUN_QUEUE_TITLE("Set Not Running Progress");
const std::string NOT_RUN_START_STRING("set not running");
struct LLScriptQueueData
{
LLUUID mQueueID;
@@ -211,8 +202,11 @@ BOOL LLFloaterScriptQueue::start()
n_objects = selectHandle->getRootObjectCount();
}
buffer = llformat("Starting %s of %d items.", mStartString.c_str(), n_objects); // *TODO: Translate
LLStringUtil::format_map_t args;
args["[START]"] = mStartString;
args["[COUNT]"] = llformat ("%d", mObjectIDs.count());
buffer = getString ("Starting", args);
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("queue output");
list->addCommentText(buffer);
@@ -250,8 +244,7 @@ BOOL LLFloaterScriptQueue::nextObject()
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("queue output");
mDone = TRUE;
std::string buffer = "Done."; // *TODO: Translate
list->addCommentText(buffer);
list->addCommentText(getString("Done"));
childSetEnabled("close",TRUE);
}
return successful_start;
@@ -346,7 +339,7 @@ LLFloaterCompileQueue* LLFloaterCompileQueue::create(BOOL mono)
}
LLFloaterCompileQueue::LLFloaterCompileQueue(const std::string& name, const LLRect& rect)
: LLFloaterScriptQueue(name, rect, COMPILE_QUEUE_TITLE, COMPILE_START_STRING)
: LLFloaterScriptQueue(name, rect, LLTrans::getString("CompileQueueTitle"), LLTrans::getString("CompileQueueStart"))
{ }
LLFloaterCompileQueue::~LLFloaterCompileQueue()
@@ -454,7 +447,7 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id,
else
{
// It's now in the file, now compile it.
buffer = std::string("Downloaded, now compiling: ") + data->mScriptName; // *TODO: Translate
buffer = LLTrans::getString("CompileQueueDownloadedCompiling") + (": ") + data->mScriptName;
// Write script to local file for compilation.
LLFILE *fp = LLFile::fopen(filename, "wb"); /*Flawfinder: ignore*/
@@ -493,19 +486,21 @@ void LLFloaterCompileQueue::scriptArrived(LLVFS *vfs, const LLUUID& asset_id,
if( LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE == status )
{
LLChat chat(std::string("Script not found on server.")); // *TODO: Translate
LLChat chat(LLTrans::getString("CompileQueueScriptNotFound"));
LLFloaterChat::addChat(chat);
buffer = std::string("Problem downloading: ") + data->mScriptName; // *TODO: Translate
buffer = LLTrans::getString("CompileQueueProblemDownloading") + LLTrans::getString(":") + " " + data->mScriptName;
}
else if (LL_ERR_INSUFFICIENT_PERMISSIONS == status)
{
LLChat chat(std::string("Insufficient permissions to download a script.")); // *TODO: Translate
LLChat chat(LLTrans::getString("CompileQueueInsufficientPermDownload"));
LLFloaterChat::addChat(chat);
buffer = std::string("Insufficient permissions for: ") + data->mScriptName; // *TODO: Translate
buffer = LLTrans::getString("CompileQueueInsufficientPermFor") + LLTrans::getString(":") + " " + data->mScriptName;
}
else
{
buffer = std::string("Unknown failure to download ") + data->mScriptName; // *TODO: Translate
buffer = LLTrans::getString("CompileQueueUnknownFailure") + (" ") + data->mScriptName;
}
llwarns << "Problem downloading script asset." << llendl;
@@ -671,7 +666,7 @@ LLFloaterResetQueue* LLFloaterResetQueue::create()
}
LLFloaterResetQueue::LLFloaterResetQueue(const std::string& name, const LLRect& rect)
: LLFloaterScriptQueue(name, rect, RESET_QUEUE_TITLE, RESET_START_STRING)
: LLFloaterScriptQueue(name, rect, LLTrans::getString("ResetQueueTitle"), LLTrans::getString("ResetQueueStart"))
{ }
LLFloaterResetQueue::~LLFloaterResetQueue()
@@ -698,7 +693,7 @@ void LLFloaterResetQueue::handleInventory(LLViewerObject* viewer_obj,
LLInventoryItem* item = (LLInventoryItem*)((LLInventoryObject*)(*it));
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("queue output");
std::string buffer;
buffer = std::string("Resetting: ") + item->getName(); // *TODO: Translate
buffer = getString("Resetting") + LLTrans::getString(":") + " " + item->getName();
list->addCommentText(buffer);
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_ScriptReset);
@@ -733,7 +728,7 @@ LLFloaterRunQueue* LLFloaterRunQueue::create()
}
LLFloaterRunQueue::LLFloaterRunQueue(const std::string& name, const LLRect& rect)
: LLFloaterScriptQueue(name, rect, RUN_QUEUE_TITLE, RUN_START_STRING)
: LLFloaterScriptQueue(name, rect, LLTrans::getString("RunQueueTitle"), LLTrans::getString("RunQueueStart"))
{ }
LLFloaterRunQueue::~LLFloaterRunQueue()
@@ -741,7 +736,7 @@ LLFloaterRunQueue::~LLFloaterRunQueue()
}
void LLFloaterRunQueue::handleInventory(LLViewerObject* viewer_obj,
LLInventoryObject::object_list_t* inv)
LLInventoryObject::object_list_t* inv)
{
// find all of the lsl, leaving off duplicates. We'll remove
// all matching asset uuids on compilation success.
@@ -760,7 +755,7 @@ void LLFloaterRunQueue::handleInventory(LLViewerObject* viewer_obj,
LLInventoryItem* item = (LLInventoryItem*)((LLInventoryObject*)(*it));
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("queue output");
std::string buffer;
buffer = std::string("Running: ") + item->getName(); // *TODO: Translate
buffer = getString("Running") + LLTrans::getString(":") + " " + item->getName();
list->addCommentText(buffer);
LLMessageSystem* msg = gMessageSystem;
@@ -797,7 +792,7 @@ LLFloaterNotRunQueue* LLFloaterNotRunQueue::create()
}
LLFloaterNotRunQueue::LLFloaterNotRunQueue(const std::string& name, const LLRect& rect)
: LLFloaterScriptQueue(name, rect, NOT_RUN_QUEUE_TITLE, NOT_RUN_START_STRING)
: LLFloaterScriptQueue(name, rect, LLTrans::getString("NotRunQueueTitle"), LLTrans::getString("NotRunQueueStart"))
{ }
LLFloaterNotRunQueue::~LLFloaterNotRunQueue()
@@ -824,7 +819,7 @@ void LLFloaterNotRunQueue::handleInventory(LLViewerObject* viewer_obj,
LLInventoryItem* item = (LLInventoryItem*)((LLInventoryObject*)(*it));
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("queue output");
std::string buffer;
buffer = std::string("Not running: ") +item->getName(); // *TODO: Translate
buffer = getString("NotRunning") + LLTrans::getString(":") + " " + item->getName();
list->addCommentText(buffer);
LLMessageSystem* msg = gMessageSystem;

View File

@@ -531,15 +531,18 @@ void LLPanelActiveSpeakers::refreshSpeakers()
LLScrollListCell* name_cell = itemp->getColumn(1);
if (name_cell)
{
//FIXME: remove hard coding of font colors
if (speakerp->mStatus == LLSpeaker::STATUS_NOT_IN_CHANNEL)
{
// draw inactive speakers in gray
name_cell->setColor(LLColor4::grey4);
// draw inactive speakers in different color
static LLCachedControl<LLColor4> sSpeakersInactive(gColors, "SpeakersInactive");
name_cell->setColor(sSpeakersInactive);
}
else
{
name_cell->setColor(LLColor4::black);
static LLCachedControl<LLColor4> sDefaultListText(gColors, "DefaultListText");
name_cell->setColor(sDefaultListText);
}
// <edit>
if(!mShowTextChatters && !(speakerp->mStatus == LLSpeaker::STATUS_NOT_IN_CHANNEL) && speakerp->mID != gAgent.getID())
@@ -560,7 +563,11 @@ void LLPanelActiveSpeakers::refreshSpeakers()
}
}
if(!found)
name_cell->setColor(LLColor4::red);
{
static LLCachedControl<LLColor4> sSpeakersGhost(gColors, "SpeakersGhost");
name_cell->setColor(sSpeakersGhost);
}
}
// </edit>

View File

@@ -74,43 +74,55 @@ extern U32 gFrameCount;
typedef enum e_radar_alert_type
{
ALERT_TYPE_SIM = 0,
ALERT_TYPE_DRAW = 1,
ALERT_TYPE_SHOUTRANGE = 2,
ALERT_TYPE_CHATRANGE = 3
ALERT_TYPE_SIM = 1,
ALERT_TYPE_DRAW = 2,
ALERT_TYPE_SHOUTRANGE = 4,
ALERT_TYPE_CHATRANGE = 8,
} ERadarAlertType;
void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool entering)
{
if (gSavedSettings.getBOOL("RadarChatAlerts"))
static LLCachedControl<bool> radar_chat_alerts(gSavedSettings, "RadarChatAlerts");
static LLCachedControl<bool> radar_alert_sim(gSavedSettings, "RadarAlertSim");
static LLCachedControl<bool> radar_alert_draw(gSavedSettings, "RadarAlertDraw");
static LLCachedControl<bool> radar_alert_shout_range(gSavedSettings, "RadarAlertShoutRange");
static LLCachedControl<bool> radar_alert_chat_range(gSavedSettings, "RadarAlertChatRange");
static LLCachedControl<bool> radar_chat_keys(gSavedSettings, "RadarChatKeys");
if (radar_chat_alerts)
{
LLChat chat;
LLFloaterAvatarList* self = LLFloaterAvatarList::getInstance();
std::string message = name + " " + self->getString(entering ? "has_entered" : "has_left") + " ";
switch(type)
{
case ALERT_TYPE_SIM:
if (gSavedSettings.getBOOL("RadarAlertSim"))
{
chat.mText = name+" has "+(entering ? "entered" : "left")+" the sim.";
}
break;
case ALERT_TYPE_DRAW:
if (gSavedSettings.getBOOL("RadarAlertDraw"))
{
chat.mText = name+" has "+(entering ? "entered" : "left")+" draw distance.";
}
break;
case ALERT_TYPE_SHOUTRANGE:
if (gSavedSettings.getBOOL("RadarAlertShoutRange"))
{
chat.mText = name+" has "+(entering ? "entered" : "left")+" shout range.";
}
break;
case ALERT_TYPE_CHATRANGE:
if (gSavedSettings.getBOOL("RadarAlertChatRange"))
{
chat.mText = name+" has "+(entering ? "entered" : "left")+" chat range.";
}
break;
case ALERT_TYPE_SIM:
if (radar_alert_sim)
{
chat.mText = message + self->getString("the_sim") + ".";
}
break;
case ALERT_TYPE_DRAW:
if (radar_alert_draw)
{
chat.mText = message + self->getString("draw_distance") + ".";
}
break;
case ALERT_TYPE_SHOUTRANGE:
if (radar_alert_shout_range)
{
chat.mText = message + self->getString("shout_range") + ".";
}
break;
case ALERT_TYPE_CHATRANGE:
if (radar_alert_chat_range)
{
chat.mText = message + self->getString("chat_range") + ".";
}
break;
}
if (chat.mText != "")
{
@@ -309,6 +321,7 @@ BOOL LLFloaterAvatarList::postBuild()
// Hide them until some other way is found
// Users may not expect to find a Ban feature on the Eject button
// Perhaps turn it into a FlyOutButton?
childSetVisible("estate_ban_btn", false);
// Set callbacks
@@ -471,7 +484,7 @@ void LLFloaterAvatarList::updateAvatarList()
LLAvatarName avatar_name;
if (LLAvatarNameCache::get(avatarp->getID(), &avatar_name))
{
static const LLCachedControl<S32> phoenix_name_system("PhoenixNameSystem", 0);
static LLCachedControl<S32> phoenix_name_system("PhoenixNameSystem", 0);
switch (phoenix_name_system)
{
case 0 : name = avatar_name.getLegacyName(); break;
@@ -662,7 +675,7 @@ void LLFloaterAvatarList::refreshAvatarList()
LLUUID av_id;
std::string av_name;
LLAvatarListEntry *entry = &iter->second;
LLAvatarListEntry* entry = &iter->second;
// Skip if avatar hasn't been around
if (entry->isDead())
@@ -738,9 +751,13 @@ void LLFloaterAvatarList::refreshAvatarList()
estate_owner = parent_estate->getOwner();
}
static const LLCachedControl<LLColor4> unselected_color(gColors, "ScrollUnselectedColor",LLColor4(LLColor4U(0, 0, 0, 204)) );
static const LLCachedControl<LLColor4> unselected_color(gColors, "ScrollUnselectedColor",LLColor4(0.f, 0.f, 0.f, 0.8f));
LLColor4 name_color = unselected_color;
static LLCachedControl<LLColor4> sDefaultListText(gColors, "DefaultListText");
static LLCachedControl<LLColor4> sRadarTextChatRange(gColors, "RadarTextChatRange");
static LLCachedControl<LLColor4> sRadarTextShoutRange(gColors, "RadarTextShoutRange");
static LLCachedControl<LLColor4> sRadarTextDrawDist(gColors, "RadarTextDrawDist");
LLColor4 name_color = sDefaultListText;
//Lindens are always more Linden than your friend, make that take precedence
if(LLMuteList::getInstance()->isLinden(av_name))
@@ -772,7 +789,7 @@ void LLFloaterAvatarList::refreshAvatarList()
element["columns"][LIST_AVATAR_NAME]["color"] = name_color.getValue();
char temp[32];
LLColor4 color = LLColor4::black;
LLColor4 color = sDefaultListText;
element["columns"][LIST_DISTANCE]["column"] = "distance";
element["columns"][LIST_DISTANCE]["type"] = "text";
if (UnknownAltitude)
@@ -780,28 +797,28 @@ void LLFloaterAvatarList::refreshAvatarList()
strcpy(temp, "?");
if (entry->isDrawn())
{
color = LLColor4::green2;
color = sRadarTextDrawDist;
}
}
else
{
if (distance < 100.0)
if (distance <= 96.0)
{
snprintf(temp, sizeof(temp), "%.1f", distance);
if (distance > 20.0f)
{
color = LLColor4::yellow1;
color = sRadarTextShoutRange;
}
else
{
color = LLColor4::red;
color = sRadarTextChatRange;
}
}
else
{
if (entry->isDrawn())
{
color = LLColor4::green2;
color = sRadarTextDrawDist;
}
snprintf(temp, sizeof(temp), "%d", (S32)distance);
}
@@ -893,9 +910,9 @@ void LLFloaterAvatarList::refreshAvatarList()
//element["columns"][LIST_METADATA]["column"] = "metadata";
//element["columns"][LIST_METADATA]["type"] = "text";
static const LLCachedControl<LLColor4> avatar_name_color(gColors, "AvatarNameColor",LLColor4(LLColor4U(251, 175, 93, 255)) );
static const LLCachedControl<LLColor4> avatar_name_color(gColors, "AvatarNameColor",LLColor4(0.98f, 0.69f, 0.36f, 1.f));
LLColor4 client_color(avatar_name_color);
LLVOAvatar *avatarp = gObjectList.findAvatar(av_id);
LLVOAvatar* avatarp = gObjectList.findAvatar(av_id);
if(avatarp)
{
std::string client = SHClientTagMgr::instance().getClientName(avatarp, false);
@@ -971,9 +988,9 @@ void LLFloaterAvatarList::onClickIM(void* userdata)
}
}
void LLFloaterAvatarList::onClickTeleportOffer(void *userdata)
void LLFloaterAvatarList::onClickTeleportOffer(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLDynamicArray<LLUUID> ids = self->mAvatarList->getSelectedIDs();
if (ids.size() > 0)
@@ -982,11 +999,11 @@ void LLFloaterAvatarList::onClickTeleportOffer(void *userdata)
}
}
void LLFloaterAvatarList::onClickTrack(void *userdata)
void LLFloaterAvatarList::onClickTrack(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (!item) return;
LLUUID agent_id = item->getUUID();
@@ -1054,15 +1071,15 @@ LLAvatarListEntry * LLFloaterAvatarList::getAvatarEntry(LLUUID avatar)
}
//static
void LLFloaterAvatarList::onClickMark(void *userdata)
void LLFloaterAvatarList::onClickMark(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLDynamicArray<LLUUID> ids = self->mAvatarList->getSelectedIDs();
for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr)
{
LLUUID avid = *itr;
LLAvatarListEntry *entry = self->getAvatarEntry(avid);
LLAvatarListEntry* entry = self->getAvatarEntry(avid);
if (entry != NULL)
{
entry->toggleMark();
@@ -1070,11 +1087,38 @@ void LLFloaterAvatarList::onClickMark(void *userdata)
}
}
void LLFloaterAvatarList::onClickFocus(void *userdata)
BOOL LLFloaterAvatarList::handleKeyHere(KEY key, MASK mask)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = getInstance();
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if(item)
{
LLUUID agent_id = item->getUUID();
if (( KEY_RETURN == key ) && (MASK_NONE == mask))
{
self->mFocusedAvatar = agent_id;
self->focusOnCurrent();
return TRUE;
}
else if (( KEY_RETURN == key ) && (MASK_CONTROL == mask))
{
LLAvatarListEntry* entry = self->getAvatarEntry(agent_id);
if (entry)
{
// llinfos << "Trying to teleport to " << entry->getName() << " at " << entry->getPosition() << llendl;
gAgent.teleportViaLocation(entry->getPosition());
}
return TRUE;
}
}
return LLPanel::handleKeyHere(key, mask);
}
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
void LLFloaterAvatarList::onClickFocus(void* userdata)
{
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (item)
{
self->mFocusedAvatar = item->getUUID();
@@ -1088,7 +1132,7 @@ void LLFloaterAvatarList::removeFocusFromAll()
for (iter = mAvatars.begin(); iter != mAvatars.end(); iter++)
{
LLAvatarListEntry *entry = &iter->second;
LLAvatarListEntry* entry = &iter->second;
entry->setFocus(FALSE);
}
}
@@ -1096,7 +1140,7 @@ void LLFloaterAvatarList::removeFocusFromAll()
void LLFloaterAvatarList::focusOnCurrent()
{
std::map<LLUUID, LLAvatarListEntry>::iterator iter;
LLAvatarListEntry *entry;
LLAvatarListEntry* entry;
if (mAvatars.size() == 0)
{
@@ -1123,8 +1167,8 @@ void LLFloaterAvatarList::focusOnCurrent()
void LLFloaterAvatarList::focusOnPrev(BOOL marked_only)
{
std::map<LLUUID, LLAvatarListEntry>::iterator iter;
LLAvatarListEntry *prev = NULL;
LLAvatarListEntry *entry;
LLAvatarListEntry* prev = NULL;
LLAvatarListEntry* entry;
if (mAvatars.size() == 0)
{
@@ -1162,8 +1206,8 @@ void LLFloaterAvatarList::focusOnNext(BOOL marked_only)
{
std::map<LLUUID, LLAvatarListEntry>::iterator iter;
BOOL found = FALSE;
LLAvatarListEntry *next = NULL;
LLAvatarListEntry *entry;
LLAvatarListEntry* next = NULL;
LLAvatarListEntry* entry;
if (mAvatars.size() == 0)
{
@@ -1220,38 +1264,38 @@ void LLFloaterAvatarList::lookAtAvatar(LLUUID &uuid)
}
//static
void LLFloaterAvatarList::onClickPrevInList(void *userdata)
void LLFloaterAvatarList::onClickPrevInList(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
self->focusOnPrev(FALSE);
}
//static
void LLFloaterAvatarList::onClickNextInList(void *userdata)
void LLFloaterAvatarList::onClickNextInList(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
self->focusOnNext(FALSE);
}
//static
void LLFloaterAvatarList::onClickPrevMarked(void *userdata)
void LLFloaterAvatarList::onClickPrevMarked(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
self->focusOnPrev(TRUE);
}
//static
void LLFloaterAvatarList::onClickNextMarked(void *userdata)
void LLFloaterAvatarList::onClickNextMarked(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
self->focusOnNext(TRUE);
}
//static
void LLFloaterAvatarList::onClickGetKey(void *userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (NULL == item) return;
@@ -1337,7 +1381,7 @@ void LLFloaterAvatarList::sound_trigger_hook(LLMessageSystem* msg,void **)
msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_OwnerID, owner_id);
if(owner_id == gAgent.getID() && sound_id == LLUUID("76c78607-93f9-f55a-5238-e19b1a181389"))
{
//lets ask if they want to turn it on.
//let's ask if they want to turn it on.
if(gSavedSettings.getBOOL("RadarChatKeys"))
{
LLFloaterAvatarList::getInstance()->sendKeys();
@@ -1412,13 +1456,13 @@ static void send_eject(const LLUUID& avatar_id, bool ban)
msg->nextBlock("Data");
msg->addUUID("TargetID", avatar_id);
msg->addU32("Flags", flags);
msg->sendReliable( avatarp->getRegion()->getHost());
msg->sendReliable(avatarp->getRegion()->getHost());
}
}
static void send_estate_message(
const char* request,
const LLUUID &target)
const LLUUID& target)
{
LLMessageSystem* msg = gMessageSystem;
@@ -1449,21 +1493,21 @@ static void send_estate_message(
msg->sendReliable(gAgent.getRegion()->getHost());
}
static void cmd_freeze(const LLUUID& avatar, const std::string &name) { send_freeze(avatar, true); }
static void cmd_unfreeze(const LLUUID& avatar, const std::string &name) { send_freeze(avatar, false); }
static void cmd_eject(const LLUUID& avatar, const std::string &name) { send_eject(avatar, false); }
static void cmd_ban(const LLUUID& avatar, const std::string &name) { send_eject(avatar, true); }
static void cmd_profile(const LLUUID& avatar, const std::string &name) { LLFloaterAvatarInfo::showFromDirectory(avatar); }
static void cmd_estate_eject(const LLUUID &avatar, const std::string &name){ send_estate_message("teleporthomeuser", avatar); }
static void cmd_freeze(const LLUUID& avatar, const std::string& name) { send_freeze(avatar, true); }
static void cmd_unfreeze(const LLUUID& avatar, const std::string& name) { send_freeze(avatar, false); }
static void cmd_eject(const LLUUID& avatar, const std::string& name) { send_eject(avatar, false); }
static void cmd_ban(const LLUUID& avatar, const std::string& name) { send_eject(avatar, true); }
static void cmd_profile(const LLUUID& avatar, const std::string& name) { LLFloaterAvatarInfo::showFromDirectory(avatar); }
static void cmd_estate_eject(const LLUUID& avatar, const std::string& name){ send_estate_message("teleporthomeuser", avatar); }
void LLFloaterAvatarList::doCommand(void (*func)(const LLUUID &avatar, const std::string &name))
void LLFloaterAvatarList::doCommand(void (*func)(const LLUUID& avatar, const std::string& name))
{
LLDynamicArray<LLUUID> ids = mAvatarList->getSelectedIDs();
for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr)
{
LLUUID avid = *itr;
LLAvatarListEntry *entry = getAvatarEntry(avid);
LLAvatarListEntry* entry = getAvatarEntry(avid);
if (entry != NULL)
{
llinfos << "Executing command on " << entry->getName() << llendl;
@@ -1480,7 +1524,7 @@ std::string LLFloaterAvatarList::getSelectedNames(const std::string& separator)
for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr)
{
LLUUID avid = *itr;
LLAvatarListEntry *entry = getAvatarEntry(avid);
LLAvatarListEntry* entry = getAvatarEntry(avid);
if (entry != NULL)
{
if (!ret.empty()) ret += separator;
@@ -1494,7 +1538,7 @@ std::string LLFloaterAvatarList::getSelectedNames(const std::string& separator)
std::string LLFloaterAvatarList::getSelectedName()
{
LLUUID id = getSelectedID();
LLAvatarListEntry *entry = getAvatarEntry(id);
LLAvatarListEntry* entry = getAvatarEntry(id);
if (entry)
{
return entry->getName();
@@ -1504,7 +1548,7 @@ std::string LLFloaterAvatarList::getSelectedName()
LLUUID LLFloaterAvatarList::getSelectedID()
{
LLScrollListItem *item = mAvatarList->getFirstSelected();
LLScrollListItem* item = mAvatarList->getFirstSelected();
if (item) return item->getUUID();
return LLUUID::null;
}
@@ -1516,11 +1560,11 @@ void LLFloaterAvatarList::callbackFreeze(const LLSD& notification, const LLSD& r
if (option == 0)
{
getInstance()->doCommand( cmd_freeze );
getInstance()->doCommand(cmd_freeze);
}
else if (option == 1)
{
getInstance()->doCommand( cmd_unfreeze );
getInstance()->doCommand(cmd_unfreeze);
}
}
@@ -1531,11 +1575,11 @@ void LLFloaterAvatarList::callbackEject(const LLSD& notification, const LLSD& re
if (option == 0)
{
getInstance()->doCommand( cmd_eject );
getInstance()->doCommand(cmd_eject);
}
else if (option == 1)
{
getInstance()->doCommand( cmd_ban );
getInstance()->doCommand(cmd_ban);
}
}
@@ -1546,16 +1590,16 @@ void LLFloaterAvatarList::callbackEjectFromEstate(const LLSD& notification, cons
if (option == 0)
{
getInstance()->doCommand( cmd_estate_eject );
getInstance()->doCommand(cmd_estate_eject);
}
}
//static
void LLFloaterAvatarList::callbackIdle(void *userdata)
void LLFloaterAvatarList::callbackIdle(void* userdata)
{
if (instanceExists())
{
// Do not update at every frame: this would be insane !
// Do not update at every frame: this would be insane!
if (gFrameCount % getInstance()->mUpdateRate == 0)
{
getInstance()->updateAvatarList();
@@ -1563,7 +1607,7 @@ void LLFloaterAvatarList::callbackIdle(void *userdata)
}
}
void LLFloaterAvatarList::onClickFreeze(void *userdata)
void LLFloaterAvatarList::onClickFreeze(void* userdata)
{
LLSD args;
LLSD payload;
@@ -1572,7 +1616,7 @@ void LLFloaterAvatarList::onClickFreeze(void *userdata)
}
//static
void LLFloaterAvatarList::onClickEject(void *userdata)
void LLFloaterAvatarList::onClickEject(void* userdata)
{
LLSD args;
LLSD payload;
@@ -1581,9 +1625,9 @@ void LLFloaterAvatarList::onClickEject(void *userdata)
}
//static
void LLFloaterAvatarList::onClickMute(void *userdata)
void LLFloaterAvatarList::onClickMute(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLDynamicArray<LLUUID> ids = self->mAvatarList->getSelectedIDs();
if (ids.size() > 0)
@@ -1611,7 +1655,7 @@ void LLFloaterAvatarList::onClickMute(void *userdata)
}
//static
void LLFloaterAvatarList::onClickEjectFromEstate(void *userdata)
void LLFloaterAvatarList::onClickEjectFromEstate(void* userdata)
{
LLSD args;
LLSD payload;
@@ -1620,14 +1664,14 @@ void LLFloaterAvatarList::onClickEjectFromEstate(void *userdata)
}
//static
void LLFloaterAvatarList::onClickAR(void *userdata)
void LLFloaterAvatarList::onClickAR(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (item)
{
LLUUID agent_id = item->getUUID();
LLAvatarListEntry *entry = self->getAvatarEntry(agent_id);
LLAvatarListEntry* entry = self->getAvatarEntry(agent_id);
if (entry)
{
LLFloaterReporter::showFromObject(entry->getID());
@@ -1638,19 +1682,19 @@ void LLFloaterAvatarList::onClickAR(void *userdata)
// static
void LLFloaterAvatarList::onClickProfile(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
self->doCommand(cmd_profile);
}
//static
void LLFloaterAvatarList::onClickTeleport(void* userdata)
{
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (item)
{
LLUUID agent_id = item->getUUID();
LLAvatarListEntry *entry = self->getAvatarEntry(agent_id);
LLAvatarListEntry* entry = self->getAvatarEntry(agent_id);
if (entry)
{
// llinfos << "Trying to teleport to " << entry->getName() << " at " << entry->getPosition() << llendl;
@@ -1663,11 +1707,11 @@ void LLFloaterAvatarList::onSelectName(LLUICtrl*, void* userdata)
{
LLFloaterAvatarList* self = (LLFloaterAvatarList*)userdata;
LLScrollListItem *item = self->mAvatarList->getFirstSelected();
LLScrollListItem* item = self->mAvatarList->getFirstSelected();
if (item)
{
LLUUID agent_id = item->getUUID();
LLAvatarListEntry *entry = self->getAvatarEntry(agent_id);
LLAvatarListEntry* entry = self->getAvatarEntry(agent_id);
if (entry)
{
BOOL enabled = entry->isDrawn();

View File

@@ -171,6 +171,8 @@ private:
public:
~LLFloaterAvatarList();
virtual BOOL handleKeyHere(KEY key, MASK mask);
/*virtual*/ void onClose(bool app_quitting);
/*virtual*/ void onOpen();
/*virtual*/ BOOL postBuild();

View File

@@ -80,6 +80,7 @@
#include "llviewercontrol.h"
#include "roles_constants.h"
#include "llworld.h"
#include "lltrans.h"
#include "hippogridmanager.h"
@@ -1498,7 +1499,7 @@ void LLPanelLandObjects::onClickRefresh(void* userdata)
// ready the list for results
self->mOwnerList->deleteAllItems();
self->mOwnerList->addCommentText(std::string("Searching...")); // *TODO: Translate
self->mOwnerList->addCommentText(LLTrans::getString("Searching"));
self->mOwnerList->setEnabled(FALSE);
self->mFirstReply = TRUE;
@@ -1612,7 +1613,7 @@ void LLPanelLandObjects::processParcelObjectOwnersReply(LLMessageSystem *msg, vo
// check for no results
if (0 == self->mOwnerList->getItemCount())
{
self->mOwnerList->addCommentText(std::string("None found.")); // *TODO: Translate
self->mOwnerList->addCommentText(LLTrans::getString("None_found"));
}
else
{
@@ -2446,7 +2447,6 @@ void LLPanelLandAccess::refresh()
childSetToolTipArg("AccessList", "[LISTED]", llformat("%d",count));
childSetToolTipArg("AccessList", "[MAX]", llformat("%d",PARCEL_MAX_ACCESS_LIST));
// *TODO: Translate
for (access_map_const_iterator cit = parcel->mAccessList.begin();
cit != parcel->mAccessList.end(); ++cit)
{
@@ -2460,19 +2460,23 @@ void LLPanelLandAccess::refresh()
suffix.assign(" (");
if (seconds >= 120)
{
std::string buf = llformat("%d minutes", (seconds/60));
std::string buf = llformat("%d ", (seconds/60)) + getString("minutes");
suffix.append(buf);
}
else if (seconds >= 60)
{
suffix.append("1 minute");
suffix.append(getString("1_minute"));
}
else if (seconds == 1)
{
suffix.append(getString("1_second"));
}
else
{
std::string buf = llformat("%d seconds", seconds);
std::string buf = llformat("%d ", seconds) + getString("seconds");
suffix.append(buf);
}
suffix.append(" remaining)");
suffix.append(" " + getString("remaining") + ")");
}
if (mListAccess)
mListAccess->addNameItem(entry.mID, ADD_SORTED, TRUE, suffix);
@@ -2499,19 +2503,23 @@ void LLPanelLandAccess::refresh()
suffix.assign(" (");
if (seconds >= 120)
{
std::string buf = llformat("%d minutes", (seconds/60));
std::string buf = llformat("%d ", (seconds/60)) + getString("minutes");
suffix.append(buf);
}
else if (seconds >= 60)
{
suffix.append("1 minute");
suffix.append(getString("1_minute"));
}
else if (seconds == 1)
{
suffix.append(getString("1_second"));
}
else
{
std::string buf = llformat("%d seconds", seconds);
std::string buf = llformat("%d ", seconds) + getString("seconds");
suffix.append(buf);
}
suffix.append(" remaining)");
suffix.append(" " + getString("remaining") + ")");
}
mListBanned->addNameItem(entry.mID, ADD_SORTED, TRUE, suffix);
}

View File

@@ -959,11 +959,16 @@ void LLFolderView::draw()
static LLCachedControl<LLColor4> sSearchStatusColor(gColors, "InventorySearchStatusColor", LLColor4::white );
if (LLInventoryModelBackgroundFetch::instance().folderFetchActive() || mCompletedFilterGeneration < mFilter->getMinRequiredGeneration())
{
mStatusText = std::string("Searching..."); // *TODO:translate
mStatusText = LLTrans::getString("Searching");
}
else
{
mStatusText = std::string("No matching items found in inventory."); // *TODO:translate
// if(getFilter())
// {
// LLStringUtil::format_map_t args;
// args["[SEARCH_TERM]"] = LLURI::escape(getFilter()->getFilterSubStringOrig());
mStatusText = LLTrans::getString("InventoryNoMatchingItems"); //, args);
// }
}
mStatusTextBox->setWrappedText(mStatusText);
mStatusTextBox->setVisible( TRUE );

View File

@@ -48,6 +48,7 @@
#include "llfloatergroupinfo.h"
#include "llinventoryicon.h"
#include "llinventory.h"
#include "lltrans.h"
#include "llglheaders.h"
#include "llagent.h"
@@ -143,14 +144,14 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
};
// Title
addChild(new NoticeText(std::string("title"),LLRect(x,y,RIGHT - HPAD,y - LINE_HEIGHT),std::string("Group Notice"),LLFontGL::getFontSansSerifHuge()));
addChild(new NoticeText(std::string("title"),LLRect(x,y,RIGHT - HPAD,y - LINE_HEIGHT),LLTrans::getString("GroupNotifyGroupNotice"),LLFontGL::getFontSansSerifHuge()));
y -= llfloor(1.5f*LINE_HEIGHT);
x += HPAD + HPAD + ICON_WIDTH;
std::stringstream from;
from << "Sent by " << from_name << ", " << group_name;
from << LLTrans::getString("GroupNotifySentBy") << " " + from_name << LLTrans::getString(",") + " " << group_name;
addChild(new NoticeText(std::string("group"),LLRect(x,y,RIGHT - HPAD,y - LINE_HEIGHT),from.str(),LLFontGL::getFontSansSerif()));
@@ -216,7 +217,7 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
if (mHasInventory)
{
addChild(new NoticeText(std::string("subjecttitle"),LLRect(x,y,x + LABEL_WIDTH,y - LINE_HEIGHT),std::string("Attached: "),LLFontGL::getFontSansSerif()));
addChild(new NoticeText(std::string("subjecttitle"),LLRect(x,y,x + LABEL_WIDTH,y - LINE_HEIGHT),LLTrans::getString("GroupNotifyAttached"),LLFontGL::getFontSansSerif()));
LLUIImagePtr item_icon = LLInventoryIcon::getIcon(mInventoryOffer->mType,
LLInventoryType::IT_TEXTURE,
@@ -244,7 +245,7 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
}
LLButton* btn;
btn = new LLButton(std::string("next"),
btn = new LLButton(LLTrans::getString("next"),
LLRect(getRect().getWidth()-26, BOTTOM_PAD + 20, getRect().getWidth()-2, BOTTOM_PAD),
std::string("notify_next.png"),
std::string("notify_next.png"),
@@ -252,7 +253,7 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
onClickNext,
this,
LLFontGL::getFontSansSerif());
btn->setToolTip(std::string("Next")); // *TODO: Translate
btn->setToolTip(LLTrans::getString("next"));
btn->setScaleImage(TRUE);
addChild(btn);
mNextBtn = btn;
@@ -267,7 +268,7 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
btn_width,
BTN_HEIGHT);
btn = new LLButton(std::string("OK"), btn_rect, LLStringUtil::null, onClickOk, this);
btn = new LLButton(LLTrans::getString("ok"), btn_rect, LLStringUtil::null, onClickOk, this);
addChild(btn, -1);
setDefaultBtn(btn);
@@ -279,8 +280,8 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
wide_btn_width,
BTN_HEIGHT);
btn = new LLButton(std::string("Group Notices"), btn_rect, LLStringUtil::null, onClickGroupInfo, this);
btn->setToolTip(std::string("View past notices or opt-out of receiving these messages here.")); // TODO: Translate
btn = new LLButton(LLTrans::getString("GroupNotifyGroupNotices"), btn_rect, LLStringUtil::null, onClickGroupInfo, this);
btn->setToolTip(LLTrans::getString("GroupNotifyViewPastNotices"));
addChild(btn, -1);
if (mHasInventory)
@@ -295,11 +296,11 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
std::string btn_lbl("");
if(is_openable(mInventoryOffer->mType))
{
btn_lbl = "Open Attachment";
btn_lbl = LLTrans::getString("GroupNotifyOpenAttachment");
}
else
{
btn_lbl = "Save Attachment";
btn_lbl = LLTrans::getString("GroupNotifySaveAttachment");
}
mSaveInventoryBtn = new LLButton(btn_lbl, btn_rect, LLStringUtil::null, onClickSaveInventory, this);
mSaveInventoryBtn->setVisible(mHasInventory);

View File

@@ -665,133 +665,156 @@ const std::string& LLInventoryFilter::getFilterText()
if (isFilterObjectTypesWith(LLInventoryType::IT_ANIMATION))
{
filtered_types += " Animations,";
//filtered_types += " Animations,";
filtered_types += LLTrans::getString("Animations");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Animations,";
//not_filtered_types += " Animations,";
not_filtered_types += LLTrans::getString("Animations");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_CALLINGCARD))
{
filtered_types += " Calling Cards,";
//filtered_types += " Calling Cards,";
filtered_types += LLTrans::getString("Calling Cards");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Calling Cards,";
//not_filtered_types += " Calling Cards,";
not_filtered_types += LLTrans::getString("Calling Cards");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_WEARABLE))
{
filtered_types += " Clothing,";
//filtered_types += " Clothing,";
filtered_types += LLTrans::getString("Clothing");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Clothing,";
//not_filtered_types += " Clothing,";
not_filtered_types += LLTrans::getString("Clothing");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_GESTURE))
{
filtered_types += " Gestures,";
//filtered_types += " Gestures,";
filtered_types += LLTrans::getString("Gestures");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Gestures,";
//not_filtered_types += " Gestures,";
not_filtered_types += LLTrans::getString("Gestures");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_LANDMARK))
{
filtered_types += " Landmarks,";
//filtered_types += " Landmarks,";
filtered_types += LLTrans::getString("Landmarks");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Landmarks,";
//not_filtered_types += " Landmarks,";
not_filtered_types += LLTrans::getString("Landmarks");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_NOTECARD))
{
filtered_types += " Notecards,";
//filtered_types += " Notecards,";
filtered_types += LLTrans::getString("Notecards");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Notecards,";
//not_filtered_types += " Notecards,";
not_filtered_types += LLTrans::getString("Notecards");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_OBJECT) && isFilterObjectTypesWith(LLInventoryType::IT_ATTACHMENT))
{
filtered_types += " Objects,";
//filtered_types += " Objects,";
filtered_types += LLTrans::getString("Objects");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Objects,";
//not_filtered_types += " Objects,";
not_filtered_types += LLTrans::getString("Objects");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_LSL))
{
filtered_types += " Scripts,";
//filtered_types += " Scripts,";
filtered_types += LLTrans::getString("Scripts");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Scripts,";
//not_filtered_types += " Scripts,";
not_filtered_types += LLTrans::getString("Scripts");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_SOUND))
{
filtered_types += " Sounds,";
//filtered_types += " Sounds,";
filtered_types += LLTrans::getString("Sounds");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Sounds,";
//not_filtered_types += " Sounds,";
not_filtered_types += LLTrans::getString("Sounds");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_TEXTURE))
{
filtered_types += " Textures,";
//filtered_types += " Textures,";
filtered_types += LLTrans::getString("Textures");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Textures,";
//not_filtered_types += " Textures,";
not_filtered_types += LLTrans::getString("Textures");
filtered_by_all_types = FALSE;
}
if (isFilterObjectTypesWith(LLInventoryType::IT_SNAPSHOT))
{
filtered_types += " Snapshots,";
//filtered_types += " Snapshots,";
filtered_types += LLTrans::getString("Snapshots");
filtered_by_type = TRUE;
num_filter_types++;
}
else
{
not_filtered_types += " Snapshots,";
//not_filtered_types += " Snapshots,";
not_filtered_types += LLTrans::getString("Snapshots");
filtered_by_all_types = FALSE;
}
@@ -806,7 +829,8 @@ const std::string& LLInventoryFilter::getFilterText()
}
else
{
mFilterText += "No ";
//mFilterText += "No ";
mFilterText += LLTrans::getString("No Filters");
mFilterText += not_filtered_types;
}
// remove the ',' at the end
@@ -815,12 +839,14 @@ const std::string& LLInventoryFilter::getFilterText()
if (isSinceLogoff())
{
mFilterText += " - Since Logoff";
//mFilterText += " - Since Logoff";
mFilterText += LLTrans::getString("Since Logoff");
}
if (getFilterWorn())
{
mFilterText += " - Worn";
//mFilterText += " - Worn";
mFilterText += LLTrans::getString("Worn");
}
return mFilterText;

View File

@@ -65,6 +65,7 @@
#include "pipeline.h"
#include "lldrawable.h"
#include "llglheaders.h"
#include "lltrans.h"
const F32 RADIUS_PIXELS = 100.f; // size in screen space
const F32 SQ_RADIUS = RADIUS_PIXELS * RADIUS_PIXELS;
@@ -152,6 +153,7 @@ void LLManipRotate::render()
gGL.pushMatrix();
{
// are we in the middle of a constrained drag?
if (mManipPart >= LL_ROT_X && mManipPart <= LL_ROT_Z)
{
@@ -292,6 +294,7 @@ void LLManipRotate::render()
// First pass: centers. Second pass: sides.
for( S32 i=0; i<2; i++ )
{
gGL.pushMatrix();
{
if (mHighlightedPart == LL_ROT_Z)
@@ -350,6 +353,7 @@ void LLManipRotate::render()
{
mManipulatorScales = lerp(mManipulatorScales, LLVector4(1.f, 1.f, 1.f, SELECTED_MANIPULATOR_SCALE), LLCriticalDamp::getInterpolant(MANIPULATOR_SCALE_HALF_LIFE));
}
}
}
@@ -363,6 +367,7 @@ void LLManipRotate::render()
gGL.popMatrix();
gGL.popMatrix();
LLVector3 euler_angles;
LLQuaternion object_rot = first_object->getRotationEdit();
object_rot.getEulerAngles(&(euler_angles.mV[VX]), &(euler_angles.mV[VY]), &(euler_angles.mV[VZ]));
@@ -922,7 +927,6 @@ void LLManipRotate::renderSnapGuides()
}
gGL.end();
// *TODO: Translate
//RN: text rendering does own shadow pass, so only render once
if (pass == 1 && render_text && i % 16 == 0)
{
@@ -930,32 +934,32 @@ void LLManipRotate::renderSnapGuides()
{
if (i == 0)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Forward") : std::string("East"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Forward" : "Direction_East"), LLColor4::white);
}
else if (i == 16)
{
if (constraint_axis.mV[VZ] > 0.f)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Left") : std::string("North"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Left" : "Direction_North"), LLColor4::white);
}
else
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Right") : std::string("South"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Right" : "Direction_South"), LLColor4::white);
}
}
else if (i == 32)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Back") : std::string("West"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Back" : "Direction_West"), LLColor4::white);
}
else
{
if (constraint_axis.mV[VZ] > 0.f)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Right") : std::string("South"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Right" : "Direction_South"), LLColor4::white);
}
else
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Left") : std::string("North"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Left" : "Direction_North"), LLColor4::white);
}
}
}
@@ -963,32 +967,32 @@ void LLManipRotate::renderSnapGuides()
{
if (i == 0)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Left") : std::string("North"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Left" : "Direction_North"), LLColor4::white);
}
else if (i == 16)
{
if (constraint_axis.mV[VX] > 0.f)
{
renderTickText(text_point, std::string("Up"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Up"), LLColor4::white);
}
else
{
renderTickText(text_point, std::string("Down"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Down"), LLColor4::white);
}
}
else if (i == 32)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Right") : std::string("South"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Right" : "Direction_South"), LLColor4::white);
}
else
{
if (constraint_axis.mV[VX] > 0.f)
{
renderTickText(text_point, std::string("Down"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Down"), LLColor4::white);
}
else
{
renderTickText(text_point, std::string("Up"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Up"), LLColor4::white);
}
}
}
@@ -996,32 +1000,32 @@ void LLManipRotate::renderSnapGuides()
{
if (i == 0)
{
renderTickText(text_point, std::string("Up"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Up"), LLColor4::white);
}
else if (i == 16)
{
if (constraint_axis.mV[VY] > 0.f)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Forward") : std::string("East"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Forward" : "Direction_East"), LLColor4::white);
}
else
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Back") : std::string("West"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Back" : "Direction_West"), LLColor4::white);
}
}
else if (i == 32)
{
renderTickText(text_point, std::string("Down"), LLColor4::white);
renderTickText(text_point, LLTrans::getString("Direction_Down"), LLColor4::white);
}
else
{
if (constraint_axis.mV[VY] > 0.f)
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Back") : std::string("West"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Back" : "Direction_West"), LLColor4::white);
}
else
{
renderTickText(text_point, mObjectSelection->isAttachment() ? std::string("Forward") : std::string("East"), LLColor4::white);
renderTickText(text_point, LLTrans::getString(mObjectSelection->isAttachment() ? "Direction_Forward" : "Direction_East"), LLColor4::white);
}
}
}

View File

@@ -327,7 +327,7 @@ LLNotifyBox::LLNotifyBox(LLNotificationPtr notification,
this,
sFont);
btn->setScaleImage(TRUE);
btn->setToolTip(std::string("Next")); // *TODO: Translate
btn->setToolTip(LLTrans::getString("next"));
addChild(btn);
mNextBtn = btn;

View File

@@ -320,7 +320,7 @@ void LLPanelAvatarSecondLife::processProperties(void* data, EAvatarProcessorType
// }
if (0 == pAvatarGroups->group_list.size())
{
group_list->addCommentText(std::string("None")); // *TODO: Translate
group_list->addCommentText(getString("None"));
}
for(LLAvatarGroups::group_list_t::const_iterator it = pAvatarGroups->group_list.begin();
@@ -571,11 +571,6 @@ BOOL LLPanelAvatarSecondLife::postBuild(void)
childSetVisible("online_yes",FALSE);
// These are cruft but may still exist in some xml files
// TODO: remove the following 2 lines once translators grab these changes
childSetVisible("online_unknown",FALSE);
childSetVisible("online_no",FALSE);
childSetAction("Find on Map", LLPanelAvatar::onClickTrack, getPanelAvatar());
childSetAction("Instant Message...", LLPanelAvatar::onClickIM, getPanelAvatar());
childSetAction("GroupInvite_Button", LLPanelAvatar::onClickGroupInvite, getPanelAvatar());

View File

@@ -212,7 +212,7 @@ void LLPanelDirBrowser::updateResultCount()
// add none found response
if (list->getItemCount() == 0)
{
list->addCommentText(std::string("None found.")); // *TODO: Translate
list->addCommentText(LLTrans::getString("NoneFound"));
list->operateOnAll(LLCtrlListInterface::OP_DESELECT);
}
}
@@ -1222,7 +1222,7 @@ void LLPanelDirBrowser::setupNewSearch()
// ready the list for results
list->operateOnAll(LLCtrlListInterface::OP_DELETE);
list->addCommentText(std::string("Searching...")); // *TODO: Translate
list->addCommentText(LLTrans::getString("Searching"));
childDisable("results");
mResultsReceived = 0;

View File

@@ -707,14 +707,13 @@ void LLTaskInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
return;
}
// *TODO: Translate
if(gAgent.allowOperation(PERM_OWNER, item->getPermissions(),
GP_OBJECT_MANIPULATE)
&& item->getSaleInfo().isForSale())
{
items.push_back(std::string("Task Buy"));
std::string label("Buy");
std::string label= LLTrans::getString("Buy");
// Check the price of the item.
S32 price = getPrice();
if (-1 == price)
@@ -1072,13 +1071,12 @@ void LLTaskSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
std::vector<std::string> items;
std::vector<std::string> disabled_items;
// *TODO: Translate
if(item->getPermissions().getOwner() != gAgent.getID()
&& item->getSaleInfo().isForSale())
{
items.push_back(std::string("Task Buy"));
std::string label("Buy");
std::string label= LLTrans::getString("Buy");
// Check the price of the item.
S32 price = getPrice();
if (-1 == price)
@@ -1905,24 +1903,23 @@ void LLPanelObjectInventory::draw()
if(mIsInventoryEmpty)
{
// *TODO: Translate
if((LLUUID::null != mTaskUUID) && (!mHaveInventory))
{
LLFontGL::getFontSansSerif()->renderUTF8(std::string("Loading contents..."), 0,
(S32)(getRect().getWidth() * 0.5f),
10,
LLColor4( 1, 1, 1, 1 ),
LLFontGL::HCENTER,
LLFontGL::BOTTOM);
LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("LoadingContents"), 0,
(S32)(getRect().getWidth() * 0.5f),
10,
LLColor4( 1, 1, 1, 1 ),
LLFontGL::HCENTER,
LLFontGL::BOTTOM);
}
else if(mHaveInventory)
{
LLFontGL::getFontSansSerif()->renderUTF8(std::string("No contents"), 0,
(S32)(getRect().getWidth() * 0.5f),
10,
LLColor4( 1, 1, 1, 1 ),
LLFontGL::HCENTER,
LLFontGL::BOTTOM);
LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("NoContents"), 0,
(S32)(getRect().getWidth() * 0.5f),
10,
LLColor4( 1, 1, 1, 1 ),
LLFontGL::HCENTER,
LLFontGL::BOTTOM);
}
}
}

View File

@@ -1290,9 +1290,8 @@ LLPreviewLSL::LLPreviewLSL(const std::string& name, const LLRect& rect,
void LLPreviewLSL::callbackLSLCompileSucceeded()
{
llinfos << "LSL Bytecode saved" << llendl;
// *TODO: Translate
mScriptEd->mErrorList->addCommentText(std::string("Compile successful!"));
mScriptEd->mErrorList->addCommentText(std::string("Save complete."));
mScriptEd->mErrorList->addCommentText(LLTrans::getString("CompileSuccessful"));
mScriptEd->mErrorList->addCommentText(LLTrans::getString("SaveComplete"));
closeIfNeeded();
}
@@ -1890,9 +1889,8 @@ void LLLiveLSLEditor::callbackLSLCompileSucceeded(const LLUUID& task_id,
bool is_script_running)
{
lldebugs << "LSL Bytecode saved" << llendl;
// *TODO: Translate
mScriptEd->mErrorList->addCommentText(std::string("Compile successful!"));
mScriptEd->mErrorList->addCommentText(std::string("Save complete."));
mScriptEd->mErrorList->addCommentText(LLTrans::getString("CompileSuccessful"));
mScriptEd->mErrorList->addCommentText(LLTrans::getString("SaveComplete"));
closeIfNeeded();
}
@@ -2244,8 +2242,7 @@ void LLLiveLSLEditor::draw()
{
// HACK: Display this information in the title bar.
// Really ought to put in main window.
// *TODO: Translate
setTitle(std::string("Script (object out of range)"));
setTitle(LLTrans::getString("ObjectOutOfRange"));
runningCheckbox->setEnabled(FALSE);
// object may have fallen out of range.
mHaveRunningInfo = FALSE;
@@ -2468,8 +2465,7 @@ void LLLiveLSLEditor::uploadAssetLegacy(const std::string& filename,
else
{
llinfos << "Compile worked!" << llendl;
// *TODO: Translate
mScriptEd->mErrorList->addCommentText(std::string("Compile successful, saving..."));
mScriptEd->mErrorList->addCommentText(LLTrans::getString("CompileSuccessfulSaving"));
if(gAssetStorage)
{
llinfos << "LLLiveLSLEditor::saveAsset "
@@ -2543,8 +2539,7 @@ void LLLiveLSLEditor::onSaveBytecodeComplete(const LLUUID& asset_uuid, void* use
if(self)
{
// Tell the user that the compile worked.
// *TODO: Translate
self->mScriptEd->mErrorList->addCommentText(std::string("Save complete."));
self->mScriptEd->mErrorList->addCommentText(LLTrans::getString("SaveComplete"));
// close the window if this completes both uploads
self->getWindow()->decBusyCount();
self->mPendingUploads--;

View File

@@ -77,9 +77,8 @@ LLScrollingPanelParam::LLScrollingPanelParam( const std::string& name,
mHintMin->setAllowsUpdates( FALSE );
mHintMax->setAllowsUpdates( FALSE );
// *TODO::translate
std::string min_name = param->getMinDisplayName();
std::string max_name = param->getMaxDisplayName();
std::string min_name = LLTrans::getString(param->getMinDisplayName());
std::string max_name = LLTrans::getString(param->getMaxDisplayName());
childSetValue("min param text", min_name);
childSetValue("max param text", max_name);
mLess = getChild<LLButton>("less");

View File

@@ -1099,7 +1099,7 @@ LLTextureCtrl::LLTextureCtrl(
LLRect(
0, image_middle + line_height / 2,
getRect().getWidth(), image_middle - line_height / 2 ),
std::string("Multiple"),
LLTrans::getString("multiple_textures"),
LLFontGL::getFontSansSerifSmall() );
mTentativeLabel->setHAlign( LLFontGL::HCENTER );
mTentativeLabel->setFollowsAll();

View File

@@ -40,7 +40,6 @@
#include "llagent.h"
#include "llagentcamera.h"
#include "llviewercontrol.h"
#include "llfocusmgr.h"
#include "llfirstuse.h"
#include "llfloateravatarinfo.h"
@@ -56,8 +55,10 @@
#include "lltoolgrab.h"
#include "lltoolmgr.h"
#include "lltoolselect.h"
#include "lltrans.h"
#include "llviewercamera.h"
#include "llviewerparcelmedia.h"
#include "llviewercontrol.h"
#include "llviewermenu.h"
#include "llviewerobjectlist.h"
#include "llviewerobject.h"
@@ -65,8 +66,8 @@
#include "llviewerwindow.h"
#include "llwindow.h"
#include "llviewermedia.h"
#include "llviewermediafocus.h"
#include "llvoavatarself.h"
#include "llviewermediafocus.h"
#include "llworld.h"
#include "llui.h"
#include "llweb.h"
@@ -401,12 +402,12 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
std::string name = avatar->getFullname();
if (LLMuteList::getInstance()->isMuted(avatar->getID(), name))
{
gMenuHolder->childSetText("Avatar Mute", std::string("Unmute")); // *TODO:Translate
gMenuHolder->childSetText("Avatar Mute", LLTrans::getString("UnmuteAvatar"));
//gMutePieMenu->setLabel("Unmute");
}
else
{
gMenuHolder->childSetText("Avatar Mute", std::string("Mute")); // *TODO:Translate
gMenuHolder->childSetText("Avatar Mute", LLTrans::getString("MuteAvatar"));
//gMutePieMenu->setLabel("Mute");
}
@@ -451,12 +452,12 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
}
if (LLMuteList::getInstance()->isMuted(object->getID(), name))
{
gMenuHolder->childSetText("Object Mute", std::string("Unmute")); // *TODO:Translate
gMenuHolder->childSetText("Object Mute", LLTrans::getString("UnmuteObject"));
//gMuteObjectPieMenu->setLabel("Unmute");
}
else
{
gMenuHolder->childSetText("Object Mute", std::string("Mute")); // *TODO:Translate
gMenuHolder->childSetText("Object Mute", LLTrans::getString("MuteObject2"));
//gMuteObjectPieMenu->setLabel("Mute");
}

View File

@@ -440,7 +440,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
case LLAgent::TELEPORT_START_ARRIVAL:
// Transition to ARRIVING. Viewer has received avatar update, etc., from destination simulator
gTeleportArrivalTimer.reset();
gViewerWindow->setProgressCancelButtonVisible(FALSE, std::string("Cancel")); //TODO: Translate
gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel"));
gViewerWindow->setProgressPercent(75.f);
gAgent.setTeleportState( LLAgent::TELEPORT_ARRIVING );
gAgent.setTeleportMessage(
@@ -459,7 +459,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
LLFirstUse::useTeleport();
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
}
gViewerWindow->setProgressCancelButtonVisible(FALSE, std::string("Cancel")); //TODO: Translate
gViewerWindow->setProgressCancelButtonVisible(FALSE, LLTrans::getString("Cancel"));
gViewerWindow->setProgressPercent( arrival_fraction * 25.f + 75.f);
gViewerWindow->setProgressString(message);
}

View File

@@ -46,6 +46,7 @@
#include "llsdserialize.h"
#include "llsdutil.h"
#include "llstring.h"
#include "lltrans.h"
#include "lltransactiontypes.h"
#include "lluictrlfactory.h"
#include "lluuid.h"
@@ -94,6 +95,7 @@
#include "lllocalinventory.h"
// </edit>
#include "hippogridmanager.h"
#include "importtracker.h"
using namespace LLOldEvents;
@@ -855,8 +857,7 @@ void upload_new_resource(const std::string& src_filename, std::string name,
else
{
// Unknown extension
// *TODO: Translate?
error_message = llformat("Unknown file extension .%s\nExpected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh", exten.c_str());
error_message = llformat(LLTrans::getString("UnknownFileExtension").c_str(), exten.c_str());
error = TRUE;;
}
@@ -1021,10 +1022,11 @@ void upload_done_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt
if(!(can_afford_transaction(expected_upload_cost)))
{
LLFloaterBuyCurrency::buyCurrency(
llformat("Uploading %s costs",
data->mAssetInfo.getName().c_str()), // *TODO: Translate
expected_upload_cost);
LLStringUtil::format_map_t args;
args["[NAME]"] = data->mAssetInfo.getName();
args["[CURRENCY]"] = gHippoGridManager->getConnectedGrid()->getCurrencySymbol();
args["[AMOUNT]"] = llformat("%d", expected_upload_cost);
LLFloaterBuyCurrency::buyCurrency( LLTrans::getString("UploadingCosts", args), expected_upload_cost );
is_balance_sufficient = FALSE;
}
else if(region)

View File

@@ -1410,7 +1410,6 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
itemp = (LLViewerInventoryItem*)gInventory.getItem(mObjectID);
}
// *TODO:translate
std::string from_string; // Used in the pop-up.
std::string chatHistory_string; // Used in chat history.
if (mFromObject == TRUE)
@@ -1420,13 +1419,18 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
std::string group_name;
if (gCacheName->getGroupName(mFromID, group_name))
{
from_string = std::string("An object named '") + mFromName + "' owned by the group '" + group_name + "'";
chatHistory_string = mFromName + " owned by the group '" + group_name + "'";
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " " + LLTrans::getString("'")
+ mFromName + LLTrans::getString("'") + " " + LLTrans::getString("InvOfferOwnedByGroup")
+ " " + LLTrans::getString("'") + group_name + LLTrans::getString("'");
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedByGroup")
+ " " + group_name + + LLTrans::getString("'") + LLTrans::getString(".");
}
else
{
from_string = std::string("An object named '") + mFromName + "' owned by an unknown group";
chatHistory_string = mFromName + " owned by an unknown group";
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " " + LLTrans::getString("'")
+ mFromName + LLTrans::getString("'") + " " + LLTrans::getString("InvOfferOwnedByUnknownGroup");
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedByUnknownGroup" + LLTrans::getString("."));
}
}
else
@@ -1439,16 +1443,19 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
{
full_name = RlvStrings::getAnonym(full_name);
}
from_string = std::string("An object named '") + mFromName + "' owned by " + full_name;
chatHistory_string = mFromName + " owned by " + full_name;
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " " + LLTrans::getString("'") + mFromName
+ LLTrans::getString("'") +" " + LLTrans::getString("InvOfferOwnedBy") + full_name;
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedBy") + " " + full_name + LLTrans::getString(".");
// [/RLVa:KB]
//from_string = std::string("An object named '") + mFromName + "' owned by " + first_name + " " + last_name;
//chatHistory_string = mFromName + " owned by " + first_name + " " + last_name;
}
else
{
from_string = std::string("An object named '") + mFromName + "' owned by an unknown user";
chatHistory_string = mFromName + " owned by an unknown user";
from_string = LLTrans::getString("InvOfferAnObjectNamed") + " " + LLTrans::getString("'")
+ mFromName + LLTrans::getString("'") + " " + LLTrans::getString("InvOfferOwnedByUnknownUser");
chatHistory_string = mFromName + " " + LLTrans::getString("InvOfferOwnedByUnknownUser") + LLTrans::getString(".");
}
}
}
@@ -1504,7 +1511,7 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
//don't spam them if they are getting flooded
if (check_offer_throttle(mFromName, true))
{
log_message = chatHistory_string + " gave you " + mDesc + ".";
log_message = chatHistory_string + " " + LLTrans::getString("InvOfferGaveYou") + " " + mDesc + LLTrans::getString(".");
chat.mText = log_message;
LLFloaterChat::addChatHistory(chat);
}
@@ -1590,7 +1597,10 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
}
// [/RLVa:KB]
log_message = "You decline " + mDesc + " from " + mFromName + ".";
LLStringUtil::format_map_t log_message_args;
log_message_args["[DESC]"] = mDesc;
log_message_args["[NAME]"] = mFromName;
log_message = LLTrans::getString("InvOfferDecline", log_message_args);
chat.mText = log_message;
if( LLMuteList::getInstance()->isMuted(mFromID ) && ! LLMuteList::getInstance()->isLinden(mFromName) ) // muting for SL-42269
{
@@ -2035,7 +2045,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
computed_session_id,
from_id,
name,
llformat("%s has begun an IM session with you.",name.c_str()),
llformat("%s ",name.c_str()) + LLTrans::getString("IM_announce_incoming"),
name,
IM_NOTHING_SPECIAL,
parent_estate_id,
@@ -2099,7 +2109,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
computed_session_id,
from_id,
SYSTEM_FROM,
llformat("Autoresponse sent to %s.",name.c_str()),
LLTrans::getString("IM_autoresponded_to") + llformat(" %s.",name.c_str()),
LLStringUtil::null,
IM_NOTHING_SPECIAL,
parent_estate_id,
@@ -2217,7 +2227,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
computed_session_id,
from_id,
SYSTEM_FROM,
llformat("Sent %s auto-response item \"%s\"",name.c_str(),item->getName().c_str()),
llformat("%s %s \"%s\"",name.c_str(), LLTrans::getString("IM_autoresponse_sent_item").c_str(), item->getName().c_str()),
LLStringUtil::null,
IM_NOTHING_SPECIAL,
parent_estate_id,
@@ -2368,7 +2378,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
std::string saved;
if(offline == IM_OFFLINE)
{
saved = llformat("(Saved %s) ", formatted_time(timestamp).c_str());
LLStringUtil::format_map_t args;
args["[LONG_TIMESTAMP]"] = formatted_time(timestamp);
saved = LLTrans::getString("Saved_message", args);
}
buffer = separator_string + saved + message.substr(message_offset);
@@ -3902,7 +3914,7 @@ void process_teleport_start(LLMessageSystem *msg, void**)
}
else
{
gViewerWindow->setProgressCancelButtonVisible(TRUE, std::string("Cancel")); // *TODO: Translate
gViewerWindow->setProgressCancelButtonVisible(TRUE, LLTrans::getString("Cancel"));
}
// Freeze the UI and show progress bar
@@ -3941,7 +3953,7 @@ void process_teleport_progress(LLMessageSystem* msg, void**)
}
else
{
gViewerWindow->setProgressCancelButtonVisible(TRUE, std::string("Cancel")); //TODO: Translate
gViewerWindow->setProgressCancelButtonVisible(TRUE, LLTrans::getString("Cancel"));
}
std::string buffer;
msg->getString("Info", "Message", buffer);
@@ -6405,7 +6417,7 @@ void container_inventory_arrived(LLViewerObject* object,
LLUUID cat_id;
cat_id = gInventory.createNewCategory(gInventory.getRootFolderID(),
LLFolderType::FT_NONE,
std::string("Acquired Items")); //TODO: Translate
LLTrans::getString("AcquiredItems"));
LLInventoryObject::object_list_t::const_iterator it = inventory->begin();
LLInventoryObject::object_list_t::const_iterator end = inventory->end();

View File

@@ -256,24 +256,23 @@ BOOL LLVOAvatarSelf::buildMenus()
//-------------------------------------------------------------------------
if(gNoRender)
return TRUE;
// *TODO: Translate
gAttachBodyPartPieMenus[0] = NULL;
gAttachBodyPartPieMenus[1] = new LLPieMenu(std::string("Right Arm >"));
gAttachBodyPartPieMenus[2] = new LLPieMenu(std::string("Head >"));
gAttachBodyPartPieMenus[3] = new LLPieMenu(std::string("Left Arm >"));
gAttachBodyPartPieMenus[1] = new LLPieMenu(LLTrans::getString("BodyPartsRightArm") + " >");
gAttachBodyPartPieMenus[2] = new LLPieMenu(LLTrans::getString("BodyPartsHead") + " >");
gAttachBodyPartPieMenus[3] = new LLPieMenu(LLTrans::getString("BodyPartsLeftArm") + " >");
gAttachBodyPartPieMenus[4] = NULL;
gAttachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >"));
gAttachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >"));
gAttachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >"));
gAttachBodyPartPieMenus[5] = new LLPieMenu(LLTrans::getString("BodyPartsLeftLeg") + " >");
gAttachBodyPartPieMenus[6] = new LLPieMenu(LLTrans::getString("BodyPartsTorso") + " >");
gAttachBodyPartPieMenus[7] = new LLPieMenu(LLTrans::getString("BodyPartsRightLeg") + " >");
gDetachBodyPartPieMenus[0] = NULL;
gDetachBodyPartPieMenus[1] = new LLPieMenu(std::string("Right Arm >"));
gDetachBodyPartPieMenus[2] = new LLPieMenu(std::string("Head >"));
gDetachBodyPartPieMenus[3] = new LLPieMenu(std::string("Left Arm >"));
gDetachBodyPartPieMenus[1] = new LLPieMenu(LLTrans::getString("BodyPartsRightArm") + " >");
gDetachBodyPartPieMenus[2] = new LLPieMenu(LLTrans::getString("BodyPartsHead") + " >");
gDetachBodyPartPieMenus[3] = new LLPieMenu(LLTrans::getString("BodyPartsLeftArm") + " >");
gDetachBodyPartPieMenus[4] = NULL;
gDetachBodyPartPieMenus[5] = new LLPieMenu(std::string("Left Leg >"));
gDetachBodyPartPieMenus[6] = new LLPieMenu(std::string("Torso >"));
gDetachBodyPartPieMenus[7] = new LLPieMenu(std::string("Right Leg >"));
gDetachBodyPartPieMenus[5] = new LLPieMenu(LLTrans::getString("BodyPartsLeftLeg") + " >");
gDetachBodyPartPieMenus[6] = new LLPieMenu(LLTrans::getString("BodyPartsTorso") + " >");
gDetachBodyPartPieMenus[7] = new LLPieMenu(LLTrans::getString("BodyPartsRightLeg") + " >");
for (S32 i = 0; i < 8; i++)
{
@@ -2744,4 +2743,4 @@ void LLVOAvatarSelf::setInvisible(bool invisible)
requestLayerSetUploads();
gAgent.sendAgentSetAppearance();
}
}
}

View File

@@ -70,6 +70,7 @@
<ScrollHighlightedColor value="183, 184, 188, 128"/> <!-- Hover color -->
<ScrollbarThumbColor value="100, 100, 100, 255"/>
<ScrollbarTrackColor value="153, 154, 158, 255"/>
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="62, 62, 62, 255"/>

View File

@@ -70,6 +70,7 @@
<ScrollHighlightedColor value="145, 90, 0, 28" /> <!-- Hover color -->
<ScrollbarThumbColor value="200, 0, 0, 255" />
<ScrollbarTrackColor value="70, 0, 0, 255" />
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="0, 0, 0, 130" />

View File

@@ -72,6 +72,7 @@
<ScrollHighlightedColor value="183, 184, 188, 128" /> <!-- Hover color -->
<ScrollbarThumbColor value="255, 187, 55, 255" /> <!-- Scroll bar-->
<ScrollbarTrackColor value="167, 156, 139, 255" /> <!-- Scroll bar background-->
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="62, 62, 62, 255" />

View File

@@ -73,6 +73,7 @@
<ScrollHighlightedColor value="183, 184, 188, 128" /> <!-- Hover color -->
<ScrollbarThumbColor value="60, 76, 124, 255" /> <!-- Scroll bar-->
<ScrollbarTrackColor value="153, 154, 158, 255" /> <!-- Scroll bar background-->
<DefaultListText value="0, 0, 0, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="62, 62, 62, 255" />
@@ -149,6 +150,13 @@
<RadarLinden value="0, 0, 128, 255" />
<RadarEstateOwner value="204, 102, 10, 255" />
<RadarMuted value="128, 128, 128, 255" />
<RadarTextChatRange value="255, 0, 0, 255"/>
<RadarTextShoutRange value="255, 255, 0, 128"/>
<RadarTextDrawDist value="0, 153, 0, 255"/>
<!-- SPEAKERS -->
<SpeakersInactive value="76, 76, 76, 255"/>
<SpeakersGhost value="255, 0, 0, 255"/>
<!-- MINI-MAP -->
<NetMapBackgroundColor value="0, 0, 0, 77" />

View File

@@ -1345,6 +1345,11 @@ Select the thumbnail to choose a different texture.
<string name="estate_override">
One or more of these options is set at the estate level
</string>
<string name="minutes"/>minutes</string>
<string name="1_minute"/>1 minute</string>
<string name="1_second"/>1 second</string>
<string name="seconds"/>seconds</string>
<string name="remaining"/>remaining</string>
<check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Allow Group Access: [GROUP]"
left="8" mouse_opaque="true" name="GroupCheck" radio_style="false"

View File

@@ -82,7 +82,7 @@
<button
name="teleport_btn"
label="TP to"
tool_tip="Teleport to avatar's position"
tool_tip="Teleport to avatar's position (Ctrl-Enter)"
left_delta="90"
bottom_delta="0"
width="80"
@@ -128,7 +128,7 @@
<button
name="focus_btn"
label="Focus"
tool_tip="Focus camera on this avatar in the list"
tool_tip="Focus camera on this avatar in the list (Enter)"
left="10"
bottom_delta="-22"
width="80"
@@ -326,4 +326,10 @@
/>
</panel>
</tab_container>
<string name="has_entered">has entered</string>
<string name="has_left">has left</string>
<string name="the_sim">the sim</string>
<string name="draw_distance">draw distance</string>
<string name="shout_range">shout range</string>
<string name="chat_range">chat range</string>
</floater>

View File

@@ -3,6 +3,11 @@
can_resize="true" enabled="true" height="400" left="408" min_height="100"
min_width="100" mouse_opaque="true" name="queue" title="Reset Progress"
width="300" border_bevel="none" border_thickness="0">
<string name="Starting">Starting [START] of [COUNT] items.</string>
<string name="Done">Done.</string>
<string name="Resetting">Resetting</string>
<string name="Running">Running</string>
<string name="NotRunning">Not Running</string>
<button bottom="-392" enabled="true" follows="right|bottom" font="SansSerif"
halign="center" height="24" label="Close" label_selected="Close" left="220"
mouse_opaque="true" name="close" width="64" />

View File

@@ -146,6 +146,7 @@
<scroll_list background_visible="true" bottom="-282" column_padding="5" draw_border="true"
follows="left|top" height="90" left="79" mouse_opaque="false"
multi_select="false" name="groups" width="321" />
<string name="None">None</string>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-304" drop_shadow_visible="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="right" height="16" left="4"

View File

@@ -38,6 +38,7 @@
<!-- progress -->
<string name="ProgressRestoring">Restoring...</string>
<string name="ProgressChangingResolution">Changing Resolution...</string>
<!-- Login -->
<string name="LoginInProgress">Logging in. [APP_NAME] may appear frozen. Please wait.</string>
<string name="LoginInProgressNoFrozen">Logging in...</string>
@@ -111,6 +112,10 @@
<string name="TooltipDragOntoOwnChild">You can't move a folder into its child</string>
<string name="TooltipDragOntoSelf">You can't move a folder into itself</string>
<!-- searching - generic -->
<string name="Searching">Searching...</string>
<string name="NoneFound">None found.</string>
<!-- Indicates that an avatar's name or other similar datum is being retrieved. General usage. -->
<string name="RetrievingData">Retrieving...</string>
@@ -223,6 +228,10 @@
<string name="anim_yes_happy">Yes (Happy)</string>
<string name="anim_yes_head">Yes</string>
<!-- build floater -->
<string name="multiple_textures">Multiple</string>
<!-- world map -->
<string name="texture_loading">Loading...</string>
<string name="worldmap_offline">Offline</string>
@@ -2742,6 +2751,12 @@ Where tag = tag string to match. Removes bot's matching the tag.
</string>
<!-- *** END OF OpenSimulator & Aurora-Sim syntax section *** -->
<!-- Strings needed by drop targets -->
<string name="CurrentlyNotSet">Currently not set</string>
<string name="CurrentlySetTo">Currently set to</string>
<string name="AnItemNotOnThisAccount">an item not on this account</string>
<string name="NotLoggedIn">Not logged in</string>
<!-- Avatar busy/away mode -->
<string name="AvatarSetNotAway">Not Away</string>
<string name="AvatarSetAway">Away</string>
@@ -2749,10 +2764,32 @@ Where tag = tag string to match. Removes bot's matching the tag.
<string name="AvatarSetBusy">Busy</string>
<!-- LLGroupNotify -->
<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
<string name="next">Next</string>
<string name="ok">OK</string>
<string name="GroupNotifyGroupNotice">Group Notice</string>
<string name="GroupNotifyGroupNotices">Group Notices</string>
<string name="GroupNotifySentBy">Sent by</string>
<string name="GroupNotifyAttached">Attached:</string>
<string name="GroupNotifyViewPastNotices">View past notices or opt-out of receiving these messages here.</string>
<string name="GroupNotifyOpenAttachment">Open Attachment</string>
<string name="GroupNotifySaveAttachment">Save Attachment</string>
<!-- body parts -->
<string name="BodyPartsRightArm">Right Arm</string>
<string name="BodyPartsHead">Head</string>
<string name="BodyPartsLeftArm">Left Arm</string>
<string name="BodyPartsLeftLeg">Left Leg</string>
<string name="BodyPartsTorso">Torso</string>
<string name="BodyPartsRightLeg">Right Leg</string>
<!-- mouselook -->
<string name="LeaveMouselook">Press ESC to return to World View</string>
<!-- inventory -->
<string name="InventoryNoMatchingItems">No matching items found in inventory.</string>
<!-- use value="" because they have preceding spaces -->
<string name="no_transfer" value=" (no transfer)" />
<string name="no_modify" value=" (no modify)" />
@@ -2779,6 +2816,29 @@ Where tag = tag string to match. Removes bot's matching the tag.
<string name="HelloAvatar" value=" Hello, avatar! " />
<string name="ViewAllGestures" value=" View All &gt;&gt;" />
<string name="GetMoreGestures" value=" Get More &gt;&gt;" />
<!-- inventory filter -->
<!-- use value="" because they have preceding spaces -->
<string name="Animations" value=" Animations," />
<string name="Calling Cards" value=" Calling Cards," />
<string name="Clothing" value=" Clothing," />
<string name="Gestures" value=" Gestures," />
<string name="Landmarks" value=" Landmarks," />
<string name="Notecards" value=" Notecards," />
<string name="Objects" value=" Objects," />
<string name="Scripts" value=" Scripts," />
<string name="Sounds" value=" Sounds," />
<string name="Textures" value=" Textures," />
<string name="Snapshots" value=" Snapshots," />
<string name="No Filters" value="No " />
<string name="Since Logoff" value=" - Since Logoff" />
<string name="Worn" value=" - Worn" />
<!-- inventory FVBridge -->
<!-- This is used in llpanelinventory.cpp when constructing a context menu for an item for Sale -->
<string name="Buy">Buy</string>
<string name="Stone">Stone</string>
<string name="Metal">Metal</string>
<string name="Glass">Glass</string>
@@ -2787,12 +2847,59 @@ Where tag = tag string to match. Removes bot's matching the tag.
<string name="Plastic">Plastic</string>
<string name="Rubber">Rubber</string>
<string name="Light">Light</string>
<!-- compile queue-->
<string name="CompileQueueDownloadedCompiling">Downloaded, now compiling</string>
<string name="CompileQueueScriptNotFound">Script not found on server.</string>
<string name="CompileQueueProblemDownloading">Problem downloading</string>
<string name="CompileQueueInsufficientPermDownload">Insufficient permissions to download a script.</string>
<string name="CompileQueueInsufficientPermFor">Insufficient permissions for</string>
<string name="CompileQueueUnknownFailure">Unknown failure to download</string>
<string name="CompileQueueTitle">Recompilation Progress</string>
<string name="CompileQueueStart">recompile</string>
<string name="ResetQueueTitle">Reset Progress</string>
<string name="ResetQueueStart">reset</string>
<string name="RunQueueTitle">Set Running Progress</string>
<string name="RunQueueStart">set running</string>
<string name="NotRunQueueTitle">Set Not Running Progress</string>
<string name="NotRunQueueStart">set not running</string>
<!-- compile comment text-->
<string name="CompileSuccessful">Compile successful!</string>
<string name="CompileSuccessfulSaving">Compile successful, saving...</string>
<string name="SaveComplete">Save complete.</string>
<string name="ObjectOutOfRange">Script (object out of range)</string>
<string name="Unknown">(Unknown)</string>
<!-- Environment settings -->
<string name="Local">Local</string>
<string name="LocalSettings">Local Settings</string>
<string name="Region">Region</string>
<string name="RegionSettings">Region Settings</string>
<!-- inventory offer -->
<string name="InvOfferAnObjectNamed">An object named</string>
<string name="InvOfferOwnedByGroup">owned by the group</string>
<string name="InvOfferOwnedByUnknownGroup">owned by an unknown group</string>
<string name="InvOfferOwnedBy">owned by</string>
<string name="InvOfferOwnedByUnknownUser">owned by an unknown user</string>
<string name="InvOfferGaveYou">gave you</string>
<string name="InvOfferDecline">You decline [DESC] from [NAME].</string>
<!-- Viewer menu -->
<string name="AcquiredItems">Acquired Items</string>
<string name="Cancel">Cancel</string>
<string name="UploadingCosts">Uploading [NAME] costs [CURRENCY] [AMOUNT]</string>
<string name="UnknownFileExtension">
Unknown file extension .%s
Expected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
</string>
<string name="MuteObject2">Mute</string>
<string name="MuteAvatar">Mute</string>
<string name="UnmuteObject">Unmute</string>
<string name="UnmuteAvatar">Unmute</string>
<!-- menu accelerators -->
<string name="accel-mac-control">Ctrl-</string>
<string name="accel-mac-command">Cmd-</string>
@@ -2801,6 +2908,32 @@ Where tag = tag string to match. Removes bot's matching the tag.
<string name="accel-win-control">Ctrl-</string>
<string name="accel-win-alt">Alt-</string>
<string name="accel-win-shift">Shift-</string>
<!-- Directions, HUD -->
<string name="Direction_Forward">Forward</string>
<string name="Direction_Left">Left</string>
<string name="Direction_Right">Right</string>
<string name="Direction_Back">Back</string>
<string name="Direction_North">North</string>
<string name="Direction_South">South</string>
<string name="Direction_West">West</string>
<string name="Direction_East">East</string>
<string name="Direction_Up">Up</string>
<string name="Direction_Down">Down</string>
<string name="None">None</string>
<!-- punctuations -->
<string name=":">:</string>
<string name=",">,</string>
<string name="...">...</string>
<string name="***">***</string>
<string name="(">(</string>
<string name=")">)</string>
<string name=".">.</string>
<string name="'">'</string>
<string name="---">---</string>
<!-- OSMessageBox messages -->
<string name="MBCmdLineError">
An error was found parsing the command line.
@@ -2862,12 +2995,594 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
If you continue to receive this message, contact the [SUPPORT_SITE].
</string>
<!-- Avatar Shape Information -->
<string name="5 O'Clock Shadow">5 O'Clock Shadow</string>
<string name="All White">All White</string>
<string name="Anime Eyes">Anime Eyes</string>
<string name="Arced">Arched</string>
<string name="Arm Length">Arm Length</string>
<string name="Attached">Attached</string>
<string name="Attached Earlobes">Attached Earlobes</string>
<string name="Back Fringe">Back Fringe</string>
<string name="Baggy">Baggy</string>
<string name="Bangs">Bangs</string>
<string name="Beady Eyes">Beady Eyes</string>
<string name="Belly Size">Belly Size</string>
<string name="Big">Big</string>
<string name="Big Butt">Big Butt</string>
<string name="Big Hair Back">Big Hair: Back</string>
<string name="Big Hair Front">Big Hair: Front</string>
<string name="Big Hair Top">Big Hair: Top</string>
<string name="Big Head">Big Head</string>
<string name="Big Pectorals">Big Pectorals</string>
<string name="Big Spikes">Big Spikes</string>
<string name="Black">Black</string>
<string name="Blonde">Blonde</string>
<string name="Blonde Hair">Blonde Hair</string>
<string name="Blush">Blush</string>
<string name="Blush Color">Blush Color</string>
<string name="Blush Opacity">Blush Opacity</string>
<string name="Body Definition">Body Definition</string>
<string name="Body Fat">Body Fat</string>
<string name="Body Freckles">Body Freckles</string>
<string name="Body Thick">Body Thick</string>
<string name="Body Thickness">Body Thickness</string>
<string name="Body Thin">Body Thin</string>
<string name="Bow Legged">Bow Legged</string>
<string name="Breast Buoyancy">Breast Buoyancy</string>
<string name="Breast Cleavage">Breast Cleavage</string>
<string name="Breast Size">Breast Size</string>
<string name="Bridge Width">Bridge Width</string>
<string name="Broad">Broad</string>
<string name="Brow Size">Brow Size</string>
<string name="Bug Eyes">Bug Eyes</string>
<string name="Bugged Eyes">Bugged Eyes</string>
<string name="Bulbous">Bulbous</string>
<string name="Bulbous Nose">Bulbous Nose</string>
<string name="Breast Physics Mass">Breast Mass</string>
<string name="Breast Physics Smoothing">Breast Smoothing</string>
<string name="Breast Physics Gravity">Breast Gravity</string>
<string name="Breast Physics Drag">Breast Drag</string>
<string name="Breast Physics InOut Max Effect">Max Effect</string>
<string name="Breast Physics InOut Spring">Spring</string>
<string name="Breast Physics InOut Gain">Gain</string>
<string name="Breast Physics InOut Damping">Damping</string>
<string name="Breast Physics UpDown Max Effect">Max Effect</string>
<string name="Breast Physics UpDown Spring">Spring</string>
<string name="Breast Physics UpDown Gain">Gain</string>
<string name="Breast Physics UpDown Damping">Damping</string>
<string name="Breast Physics LeftRight Max Effect">Max Effect</string>
<string name="Breast Physics LeftRight Spring">Spring</string>
<string name="Breast Physics LeftRight Gain">Gain</string>
<string name="Breast Physics LeftRight Damping">Damping</string>
<string name="Belly Physics Mass">Belly Mass</string>
<string name="Belly Physics Smoothing">Belly Smoothing</string>
<string name="Belly Physics Gravity">Belly Gravity</string>
<string name="Belly Physics Drag">Belly Drag</string>
<string name="Belly Physics UpDown Max Effect">Max Effect</string>
<string name="Belly Physics UpDown Spring">Spring</string>
<string name="Belly Physics UpDown Gain">Gain</string>
<string name="Belly Physics UpDown Damping">Damping</string>
<string name="Butt Physics Mass">Butt Mass</string>
<string name="Butt Physics Smoothing">Butt Smoothing</string>
<string name="Butt Physics Gravity">Butt Gravity</string>
<string name="Butt Physics Drag">Butt Drag</string>
<string name="Butt Physics UpDown Max Effect">Max Effect</string>
<string name="Butt Physics UpDown Spring">Spring</string>
<string name="Butt Physics UpDown Gain">Gain</string>
<string name="Butt Physics UpDown Damping">Damping</string>
<string name="Butt Physics LeftRight Max Effect">Max Effect</string>
<string name="Butt Physics LeftRight Spring">Spring</string>
<string name="Butt Physics LeftRight Gain">Gain</string>
<string name="Butt Physics LeftRight Damping">Damping</string>
<string name="Bushy Eyebrows">Bushy Eyebrows</string>
<string name="Bushy Hair">Bushy Hair</string>
<string name="Butt Size">Butt Size</string>
<string name="Butt Gravity">Butt Gravity</string>
<string name="bustle skirt">Bustle Skirt</string>
<string name="no bustle">No Bustle</string>
<string name="more bustle">More Bustle</string>
<string name="Chaplin">Chaplin</string>
<string name="Cheek Bones">Cheek Bones</string>
<string name="Chest Size">Chest Size</string>
<string name="Chin Angle">Chin Angle</string>
<string name="Chin Cleft">Chin Cleft</string>
<string name="Chin Curtains">Chin Curtains</string>
<string name="Chin Depth">Chin Depth</string>
<string name="Chin Heavy">Chin Heavy</string>
<string name="Chin In">Chin In</string>
<string name="Chin Out">Chin Out</string>
<string name="Chin-Neck">Chin-Neck</string>
<string name="Clear">Clear</string>
<string name="Cleft">Cleft</string>
<string name="Close Set Eyes">Close Set Eyes</string>
<string name="Closed">Closed</string>
<string name="Closed Back">Closed Back</string>
<string name="Closed Front">Closed Front</string>
<string name="Closed Left">Closed Left</string>
<string name="Closed Right">Closed Right</string>
<string name="Coin Purse">Coin Purse</string>
<string name="Collar Back">Collar Back</string>
<string name="Collar Front">Collar Front</string>
<string name="Corner Down">Corner Down</string>
<string name="Corner Up">Corner Up</string>
<string name="Creased">Creased</string>
<string name="Crooked Nose">Crooked Nose</string>
<string name="Cuff Flare">Cuff Flare</string>
<string name="Dark">Dark</string>
<string name="Dark Green">Dark Green</string>
<string name="Darker">Darker</string>
<string name="Deep">Deep</string>
<string name="Default Heels">Default Heels</string>
<string name="Dense">Dense</string>
<string name="Double Chin">Double Chin</string>
<string name="Downturned">Downturned</string>
<string name="Duffle Bag">Duffle Bag</string>
<string name="Ear Angle">Ear Angle</string>
<string name="Ear Size">Ear Size</string>
<string name="Ear Tips">Ear Tips</string>
<string name="Egg Head">Egg Head</string>
<string name="Eye Bags">Eye Bags</string>
<string name="Eye Color">Eye Color</string>
<string name="Eye Depth">Eye Depth</string>
<string name="Eye Lightness">Eye Lightness</string>
<string name="Eye Opening">Eye Opening</string>
<string name="Eye Pop">Eye Pop</string>
<string name="Eye Size">Eye Size</string>
<string name="Eye Spacing">Eye Spacing</string>
<string name="Eyebrow Arc">Eyebrow Arc</string>
<string name="Eyebrow Density">Eyebrow Density</string>
<string name="Eyebrow Height">Eyebrow Height</string>
<string name="Eyebrow Points">Eyebrow Points</string>
<string name="Eyebrow Size">Eyebrow Size</string>
<string name="Eyelash Length">Eyelash Length</string>
<string name="Eyeliner">Eyeliner</string>
<string name="Eyeliner Color">Eyeliner Color</string>
<string name="Eyes Bugged">Eyes Bugged</string>
<string name="Face Shear">Face Shear</string>
<string name="Facial Definition">Facial Definition</string>
<string name="Far Set Eyes">Far Set Eyes</string>
<string name="Fat Lips">Fat Lips</string>
<string name="Female">Female</string>
<string name="Fingerless">Fingerless</string>
<string name="Fingers">Fingers</string>
<string name="Flared Cuffs">Flared Cuffs</string>
<string name="Flat">Flat</string>
<string name="Flat Butt">Flat Butt</string>
<string name="Flat Head">Flat Head</string>
<string name="Flat Toe">Flat Toe</string>
<string name="Foot Size">Foot Size</string>
<string name="Forehead Angle">Forehead Angle</string>
<string name="Forehead Heavy">Forehead Heavy</string>
<string name="Freckles">Freckles</string>
<string name="Front Fringe">Front Fringe</string>
<string name="Full Back">Full Back</string>
<string name="Full Eyeliner">Full Eyeliner</string>
<string name="Full Front">Full Front</string>
<string name="Full Hair Sides">Full Hair Sides</string>
<string name="Full Sides">Full Sides</string>
<string name="Glossy">Glossy</string>
<string name="Glove Fingers">Glove Fingers</string>
<string name="Glove Length">Glove Length</string>
<string name="Hair">Hair</string>
<string name="Hair Back">Hair: Back</string>
<string name="Hair Front">Hair: Front</string>
<string name="Hair Sides">Hair: Sides</string>
<string name="Hair Sweep">Hair Sweep</string>
<string name="Hair Thickess">Hair Thickness</string>
<string name="Hair Thickness">Hair Thickness</string>
<string name="Hair Tilt">Hair Tilt</string>
<string name="Hair Tilted Left">Hair Tilted Left</string>
<string name="Hair Tilted Right">Hair Tilted Right</string>
<string name="Hair Volume">Hair: Volume</string>
<string name="Hand Size">Hand Size</string>
<string name="Handlebars">Handlebars</string>
<string name="Head Length">Head Length</string>
<string name="Head Shape">Head Shape</string>
<string name="Head Size">Head Size</string>
<string name="Head Stretch">Head Stretch</string>
<string name="Heel Height">Heel Height</string>
<string name="Heel Shape">Heel Shape</string>
<string name="Height">Height</string>
<string name="High">High</string>
<string name="High Heels">High Heels</string>
<string name="High Jaw">High Jaw</string>
<string name="High Platforms">High Platforms</string>
<string name="High and Tight">High and Tight</string>
<string name="Higher">Higher</string>
<string name="Hip Length">Hip Length</string>
<string name="Hip Width">Hip Width</string>
<string name="In">In</string>
<string name="In Shdw Color">Inner Shadow Color</string>
<string name="In Shdw Opacity">Inner Shadow Opacity</string>
<string name="Inner Eye Corner">Inner Eye Corner</string>
<string name="Inner Eye Shadow">Inner Eye Shadow</string>
<string name="Inner Shadow">Inner Shadow</string>
<string name="Jacket Length">Jacket Length</string>
<string name="Jacket Wrinkles">Jacket Wrinkles</string>
<string name="Jaw Angle">Jaw Angle</string>
<string name="Jaw Jut">Jaw Jut</string>
<string name="Jaw Shape">Jaw Shape</string>
<string name="Join">Join</string>
<string name="Jowls">Jowls</string>
<string name="Knee Angle">Knee Angle</string>
<string name="Knock Kneed">Knock Kneed</string>
<string name="Large">Large</string>
<string name="Large Hands">Large Hands</string>
<string name="Left Part">Left Part</string>
<string name="Leg Length">Leg Length</string>
<string name="Leg Muscles">Leg Muscles</string>
<string name="Less">Less</string>
<string name="Less Body Fat">Less Body Fat</string>
<string name="Less Curtains">Less Curtains</string>
<string name="Less Freckles">Less Freckles</string>
<string name="Less Full">Less Full</string>
<string name="Less Gravity">Less Gravity</string>
<string name="Less Love">Less Love</string>
<string name="Less Muscles">Less Muscles</string>
<string name="Less Muscular">Less Muscular</string>
<string name="Less Rosy">Less Rosy</string>
<string name="Less Round">Less Round</string>
<string name="Less Saddle">Less Saddle</string>
<string name="Less Square">Less Square</string>
<string name="Less Volume">Less Volume</string>
<string name="Less soul">Less soul</string>
<string name="Lighter">Lighter</string>
<string name="Lip Cleft">Lip Cleft</string>
<string name="Lip Cleft Depth">Lip Cleft Depth</string>
<string name="Lip Fullness">Lip Fullness</string>
<string name="Lip Pinkness">Lip Pinkness</string>
<string name="Lip Ratio">Lip Ratio</string>
<string name="Lip Thickness">Lip Thickness</string>
<string name="Lip Width">Lip Width</string>
<string name="Lipgloss">Lipgloss</string>
<string name="Lipstick">Lipstick</string>
<string name="Lipstick Color">Lipstick Color</string>
<string name="Long">Long</string>
<string name="Long Head">Long Head</string>
<string name="Long Hips">Long Hips</string>
<string name="Long Legs">Long Legs</string>
<string name="Long Neck">Long Neck</string>
<string name="Long Pigtails">Long Pigtails</string>
<string name="Long Ponytail">Long Ponytail</string>
<string name="Long Torso">Long Torso</string>
<string name="Long arms">Long arms</string>
<string name="Loose Pants">Loose Pants</string>
<string name="Loose Shirt">Loose Shirt</string>
<string name="Loose Sleeves">Loose Sleeves</string>
<string name="Love Handles">Love Handles</string>
<string name="Low">Low</string>
<string name="Low Heels">Low Heels</string>
<string name="Low Jaw">Low Jaw</string>
<string name="Low Platforms">Low Platforms</string>
<string name="Low and Loose">Low and Loose</string>
<string name="Lower">Lower</string>
<string name="Lower Bridge">Lower Bridge</string>
<string name="Lower Cheeks">Lower Cheeks</string>
<string name="Male">Male</string>
<string name="Middle Part">Middle Part</string>
<string name="More">More</string>
<string name="More Blush">More Blush</string>
<string name="More Body Fat">More Body Fat</string>
<string name="More Curtains">More Curtains</string>
<string name="More Eyeshadow">More Eyeshadow</string>
<string name="More Freckles">More Freckles</string>
<string name="More Full">More Full</string>
<string name="More Gravity">More Gravity</string>
<string name="More Lipstick">More Lipstick</string>
<string name="More Love">More Love</string>
<string name="More Lower Lip">More Lower Lip</string>
<string name="More Muscles">More Muscles</string>
<string name="More Muscular">More Muscular</string>
<string name="More Rosy">More Rosy</string>
<string name="More Round">More Round</string>
<string name="More Saddle">More Saddle</string>
<string name="More Sloped">More Sloped</string>
<string name="More Square">More Square</string>
<string name="More Upper Lip">More Upper Lip</string>
<string name="More Vertical">More Vertical</string>
<string name="More Volume">More Volume</string>
<string name="More soul">More soul</string>
<string name="Moustache">Moustache</string>
<string name="Mouth Corner">Mouth Corner</string>
<string name="Mouth Position">Mouth Position</string>
<string name="Mowhawk">Mohawk</string>
<string name="Muscular">Muscular</string>
<string name="Mutton Chops">Mutton Chops</string>
<string name="Nail Polish">Nail Polish</string>
<string name="Nail Polish Color">Nail Polish Color</string>
<string name="Narrow">Narrow</string>
<string name="Narrow Back">Narrow Back</string>
<string name="Narrow Front">Narrow Front</string>
<string name="Narrow Lips">Narrow Lips</string>
<string name="Natural">Natural</string>
<string name="Neck Length">Neck Length</string>
<string name="Neck Thickness">Neck Thickness</string>
<string name="No Blush">No Blush</string>
<string name="No Eyeliner">No Eyeliner</string>
<string name="No Eyeshadow">No Eyeshadow</string>
<string name="No Lipgloss">No Lipgloss</string>
<string name="No Lipstick">No Lipstick</string>
<string name="No Part">No Part</string>
<string name="No Polish">No Polish</string>
<string name="No Red">No Red</string>
<string name="No Spikes">No Spikes</string>
<string name="No White">No White</string>
<string name="No Wrinkles">No Wrinkles</string>
<string name="Normal Lower">Normal Lower</string>
<string name="Normal Upper">Normal Upper</string>
<string name="Nose Left">Nose Left</string>
<string name="Nose Right">Nose Right</string>
<string name="Nose Size">Nose Size</string>
<string name="Nose Thickness">Nose Thickness</string>
<string name="Nose Tip Angle">Nose Tip Angle</string>
<string name="Nose Tip Shape">Nose Tip Shape</string>
<string name="Nose Width">Nose Width</string>
<string name="Nostril Division">Nostril Division</string>
<string name="Nostril Width">Nostril Width</string>
<string name="Opaque">Opaque</string>
<string name="Open">Open</string>
<string name="Open Back">Open Back</string>
<string name="Open Front">Open Front</string>
<string name="Open Left">Open Left</string>
<string name="Open Right">Open Right</string>
<string name="Orange">Orange</string>
<string name="Out">Out</string>
<string name="Out Shdw Color">Outer Shadow Color</string>
<string name="Out Shdw Opacity">Outer Shadow Opacity</string>
<string name="Outer Eye Corner">Outer Eye Corner</string>
<string name="Outer Eye Shadow">Outer Eye Shadow</string>
<string name="Outer Shadow">Outer Shadow</string>
<string name="Overbite">Overbite</string>
<string name="Package">Package</string>
<string name="Painted Nails">Painted Nails</string>
<string name="Pale">Pale</string>
<string name="Pants Crotch">Pants Crotch</string>
<string name="Pants Fit">Pants Fit</string>
<string name="Pants Length">Pants Length</string>
<string name="Pants Waist">Pants Waist</string>
<string name="Pants Wrinkles">Pants Wrinkles</string>
<string name="Part">Part</string>
<string name="Part Bangs">Part Bangs</string>
<string name="Pectorals">Pectorals</string>
<string name="Pigment">Pigment</string>
<string name="Pigtails">Pigtails</string>
<string name="Pink">Pink</string>
<string name="Pinker">Pinker</string>
<string name="Platform Height">Platform Height</string>
<string name="Platform Width">Platform Width</string>
<string name="Pointy">Pointy</string>
<string name="Pointy Heels">Pointy Heels</string>
<string name="Ponytail">Ponytail</string>
<string name="Poofy Skirt">Poofy Skirt</string>
<string name="Pop Left Eye">Pop Left Eye</string>
<string name="Pop Right Eye">Pop Right Eye</string>
<string name="Puffy">Puffy</string>
<string name="Puffy Eyelids">Puffy Eyelids</string>
<string name="Rainbow Color">Rainbow Color</string>
<string name="Red Hair">Red Hair</string>
<string name="Regular">Regular</string>
<string name="Right Part">Right Part</string>
<string name="Rosy Complexion">Rosy Complexion</string>
<string name="Round">Round</string>
<string name="Ruddiness">Ruddiness</string>
<string name="Ruddy">Ruddy</string>
<string name="Rumpled Hair">Rumpled Hair</string>
<string name="Saddle Bags">Saddle Bags</string>
<string name="Scrawny Leg">Scrawny Leg</string>
<string name="Separate">Separate</string>
<string name="Shallow">Shallow</string>
<string name="Shear Back">Shear Back</string>
<string name="Shear Face">Shear Face</string>
<string name="Shear Front">Shear Front</string>
<string name="Shear Left Up">Shear Left Up</string>
<string name="Shear Right Up">Shear Right Up</string>
<string name="Sheared Back">Sheared Back</string>
<string name="Sheared Front">Sheared Front</string>
<string name="Shift Left">Shift Left</string>
<string name="Shift Mouth">Shift Mouth</string>
<string name="Shift Right">Shift Right</string>
<string name="Shirt Bottom">Shirt Bottom</string>
<string name="Shirt Fit">Shirt Fit</string>
<string name="Shirt Wrinkles">Shirt Wrinkles</string>
<string name="Shoe Height">Shoe Height</string>
<string name="Short">Short</string>
<string name="Short Arms">Short Arms</string>
<string name="Short Legs">Short Legs</string>
<string name="Short Neck">Short Neck</string>
<string name="Short Pigtails">Short Pigtails</string>
<string name="Short Ponytail">Short Ponytail</string>
<string name="Short Sideburns">Short Sideburns</string>
<string name="Short Torso">Short Torso</string>
<string name="Short hips">Short hips</string>
<string name="Shoulders">Shoulders</string>
<string name="Side Fringe">Side Fringe</string>
<string name="Sideburns">Sideburns</string>
<string name="Sides Hair">Sides Hair</string>
<string name="Sides Hair Down">Sides Hair Down</string>
<string name="Sides Hair Up">Sides Hair Up</string>
<string name="Skinny Neck">Skinny Neck</string>
<string name="Skirt Fit">Skirt Fit</string>
<string name="Skirt Length">Skirt Length</string>
<string name="Slanted Forehead">Slanted Forehead</string>
<string name="Sleeve Length">Sleeve Length</string>
<string name="Sleeve Looseness">Sleeve Looseness</string>
<string name="Slit Back">Slit: Back</string>
<string name="Slit Front">Slit: Front</string>
<string name="Slit Left">Slit: Left</string>
<string name="Slit Right">Slit: Right</string>
<string name="Small">Small</string>
<string name="Small Hands">Small Hands</string>
<string name="Small Head">Small Head</string>
<string name="Smooth">Smooth</string>
<string name="Smooth Hair">Smooth Hair</string>
<string name="Socks Length">Socks Length</string>
<string name="Soulpatch">Soulpatch</string>
<string name="Sparse">Sparse</string>
<string name="Spiked Hair">Spiked Hair</string>
<string name="Square">Square</string>
<string name="Square Toe">Square Toe</string>
<string name="Squash Head">Squash Head</string>
<string name="Stretch Head">Stretch Head</string>
<string name="Sunken">Sunken</string>
<string name="Sunken Chest">Sunken Chest</string>
<string name="Sunken Eyes">Sunken Eyes</string>
<string name="Sweep Back">Sweep Back</string>
<string name="Sweep Forward">Sweep Forward</string>
<string name="Tall">Tall</string>
<string name="Taper Back">Taper Back</string>
<string name="Taper Front">Taper Front</string>
<string name="Thick Heels">Thick Heels</string>
<string name="Thick Neck">Thick Neck</string>
<string name="Thick Toe">Thick Toe</string>
<string name="Thin">Thin</string>
<string name="Thin Eyebrows">Thin Eyebrows</string>
<string name="Thin Lips">Thin Lips</string>
<string name="Thin Nose">Thin Nose</string>
<string name="Tight Chin">Tight Chin</string>
<string name="Tight Cuffs">Tight Cuffs</string>
<string name="Tight Pants">Tight Pants</string>
<string name="Tight Shirt">Tight Shirt</string>
<string name="Tight Skirt">Tight Skirt</string>
<string name="Tight Sleeves">Tight Sleeves</string>
<string name="Toe Shape">Toe Shape</string>
<string name="Toe Thickness">Toe Thickness</string>
<string name="Torso Length">Torso Length</string>
<string name="Torso Muscles">Torso Muscles</string>
<string name="Torso Scrawny">Torso Scrawny</string>
<string name="Unattached">Unattached</string>
<string name="Uncreased">Uncreased</string>
<string name="Underbite">Underbite</string>
<string name="Unnatural">Unnatural</string>
<string name="Upper Bridge">Upper Bridge</string>
<string name="Upper Cheeks">Upper Cheeks</string>
<string name="Upper Chin Cleft">Upper Chin Cleft</string>
<string name="Upper Eyelid Fold">Upper Eyelid Fold</string>
<string name="Upturned">Upturned</string>
<string name="Very Red">Very Red</string>
<string name="Waist Height">Waist Height</string>
<string name="Well-Fed">Well-Fed</string>
<string name="White Hair">White Hair</string>
<string name="Wide">Wide</string>
<string name="Wide Back">Wide Back</string>
<string name="Wide Front">Wide Front</string>
<string name="Wide Lips">Wide Lips</string>
<string name="Wild">Wild</string>
<string name="Wrinkles">Wrinkles</string>
<!-- IM system messages -->
<string name="IM_announce_incoming">has begun an IM session with you.</string>
<string name="IM_autoresponded_to">Autoresponse sent to</string>
<string name="IM_autoresponse_sent_item">was sent auto-response item</string>
<string name="Unnamed">(Unnamed)</string>
<string name="Saved_message">(Saved [LONG_TIMESTAMP])</string>
<string name="PowerUser1">You are bestowed with powers beyond mortal comprehension.</string>
<string name="PowerUser2">Use your newfound abilities wisely.</string>
<string name="Unlocked:">Unlocked:</string>
<string name="PowerUser3">- Animation Priority up to 7 - Meant for animations that should override anything and everything at all times. DO NOT USE THIS FOR GENERAL ANIMATIONS.</string>
<string name="RightClick">Right click</string>
<string name="PowerUser4">Destroy objects - Permanently deletes an object immediately, when you don't feel like waiting for the server to respond.</string>
<string name="PowerUser5">Explode objects - Turns an object physical, temporary, and delinks it.</string>
<string name="group_role_everyone">Everyone</string>
<string name="group_role_officers">Officers</string>
<string name="group_role_owners">Owners</string>
<string name="group_role_owners">Owners</string>
<string name="group_member_status_online">Online</string>
<string name="Chat">Chat</string>
<string name="DefaultMimeType">none/none</string>
@@ -2880,4 +3595,7 @@ Try enclosing path to the editor with double quotes.
<string name="ExternalEditorCommandParseError">Error parsing the external editor command.</string>
<string name="ExternalEditorFailedToRun">External editor failed to run.</string>
<string name="Left">Left</string>
<string name="Right">Right</string>
</strings>

View File

@@ -72,6 +72,7 @@
<ScrollHighlightedColor value="222, 222, 222, 80" /> <!-- Hover color -->
<ScrollbarThumbColor value="66, 66, 66, 80" /> <!-- Scroll bar-->
<ScrollbarTrackColor value="10, 10, 10, 80" /> <!-- Scroll bar background-->
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="33, 33, 33, 255" />
@@ -140,6 +141,21 @@
<MapLinden value="0, 128, 255, 255" />
<MapMuted value="110, 110, 110, 220" />
<!-- RADAR -->
<RadarAvatar value="255, 255, 255, 255" />
<RadarFriend value="70, 128, 70, 255" />
<RadarLinden value="0, 0, 128, 255" />
<RadarEstateOwner value="204, 102, 10, 255" />
<RadarMuted value="33, 33, 33, 255" />
<RadarTextChatRange value="255, 66, 66, 128"/>
<RadarTextShoutRange value="255, 255, 66, 128"/>
<RadarTextDrawDist value="66, 153, 66, 128"/>
<!-- SPEAKERS -->
<SpeakersInactive value="76, 76, 76, 255"/>
<SpeakersGhost value="255, 0, 0, 255"/>
<!-- MINI-MAP -->
<NetMapBackgroundColor value="0, 0, 0, 77" />
<NetMapYouOwnAboveWater value="0, 255, 255, 255" />
@@ -181,17 +197,11 @@
<FilterTextColor value="255, 255, 255, 128" />
<InventoryItemSuffixColor value="128, 128, 128, 255" /> <!-- "worn", "no modify", etc-->
<InventorySearchStatusColor value="255, 255, 255, 128" />
<ComboBoxBg value="11, 11, 11, 255"/>
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="255, 255, 255, 128"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="11, 11, 11, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<ComboBoxBg value="11, 11, 11, 255"/>
<AvatarListTextDistNormalRange value="255, 255, 255, 255"/>
<AvatarListTextDistShoutRange value="255, 255, 255, 128"/>
<AvatarListTextDistOver value="255, 66, 66, 128"/>
<AvatarListTextAgeYoung value="255, 0, 0, 255"/>
<AvatarListTextAgeNormal value="255, 255, 255, 255"/>
<!-- Alert box colors -->
<AlertBoxColor value="33, 33, 33, 255" /> <!-- Warnings floaters, like when returning objects -->