Merge remote-tracking branch 'lirusato/master'

This commit is contained in:
Latif Khalifa
2013-01-15 18:36:39 +01:00
19 changed files with 421 additions and 98 deletions

View File

@@ -6754,7 +6754,18 @@ This should be as low as possible, but too low may break functionality</string>
<key>RadarChatKeys</key>
<map>
<key>Comment</key>
<string>Enable private chat alerts for avatars entering the region</string>
<string>Enable alerting scripts about avatars detected by the radar</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>RadarChatKeysStopAsking</key>
<map>
<key>Comment</key>
<string>Do not ask if RadarChatKeys should be enabled when a script requests for the radar's keys.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>

View File

@@ -461,7 +461,7 @@ bool cmd_line_chat(std::string revised_text, EChatType type)
return true;
}
//case insensative search for avatar in draw distance
//case insensitive search for avatar in draw distance
//TODO: make this use the avatar list floaters list so we have EVERYONE
// even if they are out of draw distance.
LLUUID cmdline_partial_name2key(std::string partial_name)
@@ -471,7 +471,7 @@ LLUUID cmdline_partial_name2key(std::string partial_name)
LLStringUtil::toLower(partial_name);
LLWorld::getInstance()->getAvatars(&avatars);
typedef std::vector<LLUUID>::const_iterator av_iter;
bool has_avatarlist = (LLFloaterAvatarList::getInstance() ? true : false);
bool has_avatarlist = LLFloaterAvatarList::instanceExists();
if(has_avatarlist)
LLFloaterAvatarList::getInstance()->updateAvatarList();
for(av_iter i = avatars.begin(); i != avatars.end(); ++i)
@@ -511,7 +511,7 @@ void cmdline_tp2name(std::string target)
cmdline_printchat("Avatar not found.");
return;
}
LLFloaterAvatarList* avlist = LLFloaterAvatarList::getInstance();
LLFloaterAvatarList* avlist = LLFloaterAvatarList::instanceExists() ? LLFloaterAvatarList::getInstance() : NULL;
LLVOAvatar* avatarp = gObjectList.findAvatar(avkey);
if(avatarp)
{

View File

@@ -84,6 +84,8 @@ typedef enum e_radar_alert_type
ALERT_TYPE_AGE = 16,
} ERadarAlertType;
namespace
{
void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool entering)
{
if(gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) return; //RLVa:LF Don't announce people are around when blind, that cheats the system.
@@ -94,7 +96,6 @@ void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool
static LLCachedControl<bool> radar_alert_shout_range(gSavedSettings, "RadarAlertShoutRange");
static LLCachedControl<bool> radar_alert_chat_range(gSavedSettings, "RadarAlertChatRange");
static LLCachedControl<bool> radar_alert_age(gSavedSettings, "RadarAlertAge");
static LLCachedControl<bool> radar_chat_keys(gSavedSettings, "RadarChatKeys");
LLFloaterAvatarList* self = LLFloaterAvatarList::getInstance();
LLStringUtil::format_map_t args;
@@ -153,6 +154,21 @@ void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool
}
}
void send_keys_message(const int transact_num, const int num_ids, const std::string ids)
{
gMessageSystem->newMessage("ScriptDialogReply");
gMessageSystem->nextBlock("AgentData");
gMessageSystem->addUUID("AgentID", gAgent.getID());
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
gMessageSystem->nextBlock("Data");
gMessageSystem->addUUID("ObjectID", gAgent.getID());
gMessageSystem->addS32("ChatChannel", -777777777);
gMessageSystem->addS32("ButtonIndex", 1);
gMessageSystem->addString("ButtonLabel", llformat("%d,%d", transact_num, num_ids) + ids);
gAgent.sendReliableMessage();
}
} //namespace
LLAvatarListEntry::LLAvatarListEntry(const LLUUID& id, const std::string &name, const LLVector3d &position) :
mID(id), mName(name), mPosition(position), mDrawPosition(), mMarked(false), mFocused(false),
mUpdateTimer(), mFrame(gFrameCount), mInSimFrame(U32_MAX), mInDrawFrame(U32_MAX),
@@ -567,7 +583,7 @@ void LLFloaterAvatarList::updateAvatarList()
size_t i;
size_t count = avatar_ids.size();
bool announce = gSavedSettings.getBOOL("RadarChatKeys");
static LLCachedControl<bool> announce(gSavedSettings, "RadarChatKeys");
std::queue<LLUUID> announce_keys;
for (i = 0; i < count; ++i)
@@ -659,8 +675,9 @@ void LLFloaterAvatarList::updateAvatarList()
}
}
//let us send the keys in a more timely fashion
if(announce && !announce_keys.empty())
if (announce && !announce_keys.empty())
{
// NOTE: This fragment is repeated in sendKey
std::ostringstream ids;
int transact_num = (int)gFrameCount;
int num_ids = 0;
@@ -672,37 +689,17 @@ void LLFloaterAvatarList::updateAvatarList()
ids << "," << id.asString();
++num_ids;
if(ids.tellp() > 200)
if (ids.tellp() > 200)
{
gMessageSystem->newMessage("ScriptDialogReply");
gMessageSystem->nextBlock("AgentData");
gMessageSystem->addUUID("AgentID", gAgent.getID());
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
gMessageSystem->nextBlock("Data");
gMessageSystem->addUUID("ObjectID", gAgent.getID());
gMessageSystem->addS32("ChatChannel", -777777777);
gMessageSystem->addS32("ButtonIndex", 1);
gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str());
gAgent.sendReliableMessage();
send_keys_message(transact_num, num_ids, ids.str());
num_ids = 0;
ids.seekp(0);
ids.str("");
}
}
if(num_ids > 0)
{
gMessageSystem->newMessage("ScriptDialogReply");
gMessageSystem->nextBlock("AgentData");
gMessageSystem->addUUID("AgentID", gAgent.getID());
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
gMessageSystem->nextBlock("Data");
gMessageSystem->addUUID("ObjectID", gAgent.getID());
gMessageSystem->addS32("ChatChannel", -777777777);
gMessageSystem->addS32("ButtonIndex", 1);
gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str());
gAgent.sendReliableMessage();
}
if (num_ids > 0)
send_keys_message(transact_num, num_ids, ids.str());
}
}
@@ -1396,19 +1393,17 @@ void LLFloaterAvatarList::onClickGetKey()
void LLFloaterAvatarList::sendKeys()
{
// This would break for send_keys_btn callback, check this beforehand, if it matters.
//static LLCachedControl<bool> radar_chat_keys(gSavedSettings, "RadarChatKeys");
//if (radar_chat_keys) return;
LLViewerRegion* regionp = gAgent.getRegion();
if(!regionp)return;//ALWAYS VALIDATE DATA
std::ostringstream ids;
if (!regionp) return;//ALWAYS VALIDATE DATA
static int last_transact_num = 0;
int transact_num = (int)gFrameCount;
int num_ids = 0;
if(!gSavedSettings.getBOOL("RadarChatKeys"))
{
return;
}
if(transact_num > last_transact_num)
if (transact_num > last_transact_num)
{
last_transact_num = transact_num;
}
@@ -1419,7 +1414,9 @@ void LLFloaterAvatarList::sendKeys()
return;
}
if (!regionp) return; // caused crash if logged out/connection lost
std::ostringstream ids;
int num_ids = 0;
for (int i = 0; i < regionp->mMapAvatarIDs.count(); i++)
{
const LLUUID &id = regionp->mMapAvatarIDs.get(i);
@@ -1428,67 +1425,54 @@ void LLFloaterAvatarList::sendKeys()
++num_ids;
if(ids.tellp() > 200)
if (ids.tellp() > 200)
{
gMessageSystem->newMessage("ScriptDialogReply");
gMessageSystem->nextBlock("AgentData");
gMessageSystem->addUUID("AgentID", gAgent.getID());
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
gMessageSystem->nextBlock("Data");
gMessageSystem->addUUID("ObjectID", gAgent.getID());
gMessageSystem->addS32("ChatChannel", -777777777);
gMessageSystem->addS32("ButtonIndex", 1);
gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str());
gAgent.sendReliableMessage();
send_keys_message(transact_num, num_ids, ids.str());
num_ids = 0;
ids.seekp(0);
ids.str("");
}
}
if(num_ids > 0)
{
gMessageSystem->newMessage("ScriptDialogReply");
gMessageSystem->nextBlock("AgentData");
gMessageSystem->addUUID("AgentID", gAgent.getID());
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
gMessageSystem->nextBlock("Data");
gMessageSystem->addUUID("ObjectID", gAgent.getID());
gMessageSystem->addS32("ChatChannel", -777777777);
gMessageSystem->addS32("ButtonIndex", 1);
gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str());
gAgent.sendReliableMessage();
}
if (num_ids > 0)
send_keys_message(transact_num, num_ids, ids.str());
}
//static
void LLFloaterAvatarList::sound_trigger_hook(LLMessageSystem* msg,void **)
{
if (!LLFloaterAvatarList::instanceExists()) return; // Don't bother if we're closed.
LLUUID sound_id,owner_id;
msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_SoundID, sound_id);
msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_OwnerID, owner_id);
if(owner_id == gAgent.getID() && sound_id == LLUUID("76c78607-93f9-f55a-5238-e19b1a181389"))
if (owner_id == gAgent.getID() && sound_id == LLUUID("76c78607-93f9-f55a-5238-e19b1a181389"))
{
//let's ask if they want to turn it on.
if(gSavedSettings.getBOOL("RadarChatKeys"))
{
static LLCachedControl<bool> on("RadarChatKeys");
static LLCachedControl<bool> do_not_ask("RadarChatKeysStopAsking");
if (on)
LLFloaterAvatarList::getInstance()->sendKeys();
}else
{
LLSD args;
args["MESSAGE"] = "An object owned by you has request the keys from your radar.\nWould you like to enable announcing keys to objects in the sim?";
LLNotificationsUtil::add("GenericAlertYesCancel", args, LLSD(), onConfirmRadarChatKeys);
}
else if (!do_not_ask) // Let's ask if they want to turn it on, but not pester them.
LLNotificationsUtil::add("RadarChatKeysRequest", LLSD(), LLSD(), onConfirmRadarChatKeys);
}
}
// static
bool LLFloaterAvatarList::onConfirmRadarChatKeys(const LLSD& notification, const LLSD& response )
{
S32 option = LLNotification::getSelectedOption(notification, response);
if(option == 0) // yes
if (option == 1) // no
{
gSavedSettings.setBOOL("RadarChatKeys",TRUE);
return false;
}
else if (option == 0) // yes
{
gSavedSettings.setBOOL("RadarChatKeys", true);
LLFloaterAvatarList::getInstance()->sendKeys();
}
else if (option == 2) // No, and stop asking!!
{
gSavedSettings.setBOOL("RadarChatKeysStopAsking", true);
}
return false;
}

View File

@@ -7622,4 +7622,18 @@ AntiSpam: Blocked [SOURCE] for spamming [TYPE]s [AMOUNT] times in [TIME] seconds
AntiSpam: Blocked newline flood from [SOURCE] (over [AMOUNT] newlines).
</notification>
<notification
icon="alertmodal.tga"
name="RadarChatKeysRequest"
type="alertmodal">
An object owned by you has requested keys from your radar.
Would you like to enable announcing keys to objects in the sim?
<usetemplate
name="yesnocancelbuttons"
yestext="Yes"
notext="No"
canceltext="No, don't ask again!"/>
</notification>
</notifications>

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="chat floater" title="Chat Local">
<string name="ringing">
Conectándose con el Chat de Voz...
</string>
<string name="connected">
Conectado
</string>
<string name="unavailable">
El Chat de Voz no está disponible en esta ubicación
</string>
<string name="hang_up">
Desconectado del Chat de Voz
</string>
<string name="IM_logging_string">
-- Habilitado el registro de Mensajes Instantáneos --
</string>
<string name="IM_end_log_string">
-- Fin del Registro --
</string>
<string name="ScriptQuestionCautionChatGranted">
'[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha concedido permiso para: [PERMISSIONS].
</string>
<string name="ScriptQuestionCautionChatDenied">
'[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha denegado permiso para: [PERMISSIONS].
</string>
<string name="ScriptTakeMoney">
Transferir dinero ([CURRENCY]) de tu cuenta
</string>
<string name="ActOnControlInputs">
Actuar en tus controles de entrada
</string>
<string name="RemapControlInputs">
Reconfigurar tus controles de entrada
</string>
<string name="AnimateYourAvatar">
Animar tu Avatar
</string>
<string name="AttachToYourAvatar">
Anexarse a tu Avatar
</string>
<string name="ReleaseOwnership">
Liberar propiedad y volverse público
</string>
<string name="LinkAndDelink">
Enlazar y desenlazar de otros objetos
</string>
<string name="AddAndRemoveJoints">
Agregar y quitar uniones con otros objetos
</string>
<string name="ChangePermissions">
Cambiar sus propios permisos
</string>
<string name="TrackYourCamera">
Seguir tu cámara
</string>
<string name="TeleportYourAgent">
Teleportarte
</string>
<string name="ControlYourCamera">
Controlar tu cámara
</string>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<combo_box label="Gestos" name="Gesture">
<combo_item name="Gestures">
Gestos
</combo_item>
</combo_box>
<check_box label="Mostrar Texto Ignorado" left_delta="124" name="show mutes" width="116"/>
<!--check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall" height="20" initial_value="false" label="Translate Chat (powered by Google)" name="translate chat" width="100"/-->
<button label="Abrir Historial" name="chat_history_open" tool_tip="Pulsa aquí para abrir el historial en un editor externo."/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" name="toggle_active_speakers_btn" tool_tip="Pulsa aquí para mostrar/ocultar la lista de participantes activos en esta sesión de MI." width="80"/>
<panel name="chat_panel">
<string name="gesture_label">
Gestos
</string>
</panel>
</layout_panel>
<layout_panel name="active_speakers_panel"/>
</layout_stack>
</floater>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater label="(desconocido)" name="im_floater" title="(desconocido)">
<string name="ringing">
Uniéndose al Chat de Voz...
</string>
<string name="connected">
Conectado, pulsa Terminar Llamada para colgar
</string>
<string name="hang_up">
Salida del Chat de Voz
</string>
<string name="title_string">
Mensaje Instantáneo con [NAME]
</string>
<string name="typing_start_string">
[NAME] está escribiendo...
</string>
<string name="session_start_string">
Iniciando sesión con [NAME], espera por favor.
</string>
<string name="default_text_label">
Pulsa aquí para un Mensaje Instantáneo.
</string>
<button label="Historial" name="history_btn"/>
<button label="Llamar" name="start_call_btn"/>
<button label="Terminar Llamada" name="end_call_btn" width="90"/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" left="420" right="450" tool_tip="Pulsa aquí para mostrar/ocultar la lista de participantes activos en esta sesión de MI."/>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<line_editor label="Pulsa para un Mensaje Instantáneo" name="chat_editor"/>
<button label="Enviar" left="435" name="send_btn" width="60"/>
</layout_panel>
<layout_panel name="active_speakers_panel"/>
</layout_stack>
<string name="live_help_dialog">
*** Bienvenido a la Petición de Ayuda ***
Por favor, primero revisa nuestras páginas de ayuda presionando F1 o yendo a la Base de Conocimientos en http://secondlife.com/knowledgebase/
Si la respuesta no está ahi, por favor, ingresa tu consulta y espera un momento a que uno de nuestros soportistas esté disponible para responderte.
-=-=- El tiempo de respuesta puede variar, especialmente en horas pico -=-=-
</string>
</floater>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater label="(desconocido)" name="im_floater" title="(desconocido)">
<string name="answering">
Conectando...
</string>
<string name="ringing">
Llamando...
</string>
<string name="connected">
Conectado. Pulsa Terminar LLamada para colgar
</string>
<string name="hang_up">
Llamada terminada
</string>
<string name="title_string">
Mensaje Instantáneo con [NAME]
</string>
<string name="typing_start_string">
[NAME] está escribiendo...
</string>
<string name="session_start_string">
Iniciando sesión con [NAME], por favor espera.
</string>
<string name="default_text_label">
Pulsa aquí para enviar un Mensaje Instantáneo.
</string>
<string name="unavailable_text_label">
El chat de texto no está disponible para esta llamada.
</string>
<string name="inventory_item_offered">
Ofrecido un Ítem de Inventario
</string>
<button label="Perfil" left="135" name="profile_callee_btn" width="60"/>
<button label="Historial" left_delta="60" name="history_btn" width="60"/>
<button label="Teleportar" name="profile_tele_btn" width="70"/>
<check_box left_delta="70" name="rp_mode">
Modo RP
</check_box>
<button label="Llamar" left_delta="67" name="start_call_btn" width="60"/>
<button label="Finalizar" name="end_call_btn" width="24"/>
<panel left_delta="16" name="speaker_controls" width="60">
<volume_slider name="speaker_volume" width="48"/>
<button label="" left_delta="42" name="mute_btn" tool_tip="Ignorar Voz" width="25"/>
</panel>
<text_editor left="5" name="im_history" width="488"/>
<line_editor label="Pulsa aquí para enviar un Mensaje Instantáneo" name="chat_editor" width="423"/>
<button label="Enviar" left="433" name="send_btn" width="60"/>
<string name="live_help_dialog">
*** Bienvenido a la Petición de Ayuda ***
Por favor, primero revisa nuestras páginas de ayuda presionando F1 o yendo a la Base de Conocimientos en http://secondlife.com/knowledgebase/
Si la respuesta no está ahi, por favor, ingresa tu consulta y espera un momento a que uno de nuestros soportistas esté disponible para responderte.
-=-=- El tiempo de respuesta puede variar, especialmente en horas pico -=-=-</string>
</floater>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater label="(desconocido)" name="im_floater" title="(desconocido)">
<string name="ringing">
Uniéndose al Chat de Voz...
</string>
<string name="connected">
Conectado, pulsa Terminar Llamada para colgar
</string>
<string name="hang_up">
Salida Chat de Voz
</string>
<string name="title_string">
Mensaje Instantáneo con [NAME]
</string>
<string name="typing_start_string">
[NAME] está escribiendo...
</string>
<string name="session_start_string">
Iniciando sesión con [NAME], espera por favor.
</string>
<string name="default_text_label">
Pulsa aquí para un Mensaje Instantáneo.
</string>
<string name="moderated_chat_label">
(Moderado: Voz Apagada por defecto)
</string>
<string name="muted_text_label">
Tu chat de texto ha sido deshabilitado por un Moderado del Grupo.
</string>
<button label="Información Grupo" right="-245" name="group_info_btn" width="80"/>
<button label="Historial" left_delta="80" name="history_btn" width="80"/>
<button label="Unirse a Llamada" left_delta="80" name="start_call_btn" width="80"/>
<button label="Terminar Llamada" name="end_call_btn" width="80"/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" left="420" name="toggle_active_speakers_btn" right="450" tool_tip="Pulsa aquí para mostrar/ocultar la lista de participantes activos en esta sesión de MI." width="80"/>
<layout_stack name="panels">
<layout_panel name="im_contents_panel" width="495">
<button label="Enviar" left="435" name="send_btn" width="60"/>
</layout_panel>
<string name="live_help_dialog">
*** Bienvenido a la Petición de Ayuda ***
Por favor, en primer lugar revisa nuestras páginas de ayuda de SL pulsando F1, o accede a la Base de Conocimientos http://secondlife.com/knowledgebase/
Si no encuentras allí la respuesta que buscas, por favor, empieza el proceso escribiendo tu pregunta, y espera unos momentos a que responda algunos de los ayudantes disponibles.
-=-=- El tiempo de respuesta puede variar, especialmente durante las horas punta -=-=-
</string>
</floater>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_my_friends" title="Contactos">
<tab_container name="friends_and_groups" >
<panel label="Amigos" name="friends_panel"/>
<panel label="Grupos" name="groups_panel"/>
</tab_container>
</floater>

View File

@@ -1,18 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="settings_debug" title="Configurar del Depurador">
<combo_box name="settings_combo" />
<combo_box name="boolean_combo">
<combo_item name="TRUE">
VERDADERO
</combo_item>
<combo_item name="FALSE">
FALSO
</combo_item>
</combo_box>
<color_swatch label="Color" name="color_swatch"/>
<floater name="settings_debug" title="Configurar Depurador">
<search_editor label="Buscar" name="search_settings_input" tool_tip="Escribe aquí el término que estás buscando. Los resultados mostrarán las coincidencias parciales del texto buscado ya sea en los nombres de clave o en los comentarios."/>
<radio_group name="boolean_combo">
<radio_item name="TRUE">
Verdadero
</radio_item>
<radio_item name="FALSE">
Falso
</radio_item>
</radio_group>
<color_swatch label="Color" name="val_color_swatch"/>
<spinner label="x" name="val_spinner_1"/>
<spinner label="x" name="val_spinner_2"/>
<spinner label="x" name="val_spinner_3"/>
<spinner label="x" name="val_spinner_4"/>
<button label="Copiar Nombre" name="copy_btn" tool_tip="Copiar el nombre de esta clave." width="130" />
<button label="Restablecer" name="default_btn"/>
</floater>

View File

@@ -49,6 +49,7 @@
<menu_item_call label="Gestos..." name="Gestures..."/>
<menu_item_call label="Perfil..." name="Profile..."/>
<menu_item_call label="Apariencia..." name="Appearance..."/>
<menu_item_call label="Crear Vestuario..." name="Make Outfit..."/>
<menu_item_call label="Nombre a Mostrar..." name="Display Name..."/>
<menu_item_check label="Amigos..." name="Friends..."/>
<menu_item_call label="Grupos..." name="Groups..."/>
@@ -195,6 +196,7 @@
<menu_item_call label="Wiki de QA..." name="QA Wiki..."/>
<menu_item_call label="Informar Fallos..." name="Report Bug..."/>
<menu_item_call label="Informar Fallos de Singularity..." name="Report Singularity Bug..."/>
<menu_item_call label="Solicitar Nueva Característica..." name="Request New Feature..."/>
</menu>
<menu_item_call label="Acerca de Singularity..." name="About Second Life..."/>
</menu>

View File

@@ -31,7 +31,7 @@
<text name="sel">
Seleccionados:
</text>
<text name="s_num">
<text name="s_num" left_delta="75">
0000
</text>
</panel>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel border="true" name="friends">
<string name="Multiple">Multiples amigos...</string>
<scroll_list name="friend_list" tool_tip="Mantén presionadas las teclas Mayús o control mientras pulsas en la lista para seleccionar múltiples amigos">
<column name="icon_online_status" tool_tip="Estado En Línea"/>
<column label="Nombre" name="friend_name" tool_tip="Nombre"/>
<column name="icon_visible_online" tool_tip="Tu amigo puede ver tu estado en línea"/>
<column name="icon_visible_map" tool_tip="Tu amigo puede localizarte en el mapa"/>
<column name="icon_edit_mine" tool_tip="Tu amigo puede editar, borrar o tomar tus objetos"/>
<column name="icon_visible_online_theirs" tool_tip="Puedes ver si tu amigo está en línea (Sólo se actualiza al iniciar sesión)"/>
<column name="icon_visible_map_theirs" tool_tip="Puedes localizar a tu amigo en el mapa"/>
<column name="icon_edit_theirs" tool_tip="Puedes editar los objetos de tu amigo"/>
<column name="friend_last_update_generation" width="0"/>
</scroll_list>
<!--text bottom_delta="-40" follows="left|top" font="SansSerifSmall" height="16" name="friends" width="110">Contact Group:</text-->
<!--combo_box allow_text_entry="false" enabled="true" follows="right|top" bottom_delta="20" height="18" hidden="false" left="-255" max_chars="20" tool_tip="Buddy group" name="buddy_group_combobox" width="130">
<combo_item type="string" length="20" enabled="true" name="All" value="All">All</combo_item>
</combo_box-->
<!--text bottom_delta="-40" follows="left|top" font="SansSerifSmall" height="16" name="Contact Search:" width="110">Contact Search:</text-->
<search_editor name="buddy_search_lineedit" label="Buscar Contactos" tool_tip="El nombre del contacto que estás buscando"/>
<button label="0" name="expand_collapse_btn" tool_tip="Expandir/Retraer información extra"/>
<!--button bottom_delta="-25" follows="top|right" height="22" label="Set Contact" name="assign_btn" tool_tip="Assign a friend to a Contact Group" width="80"/-->
<text name="friends">Conectados:</text>
<text name="f_num" width="95">0000</text>
<text name="sel" width="95">| Seleccionados:</text>
<text name="s_num" width="95">0000</text>
<button label="IM/Llamar" name="im_btn" tool_tip="Abrir sesión de Mensaje Instantáneo" width="80"/>
<button label="Perfil" name="profile_btn" tool_tip="Mostrar foto, grupos y otra información"/>
<button label="Teleportar..." name="offer_teleport_btn" tool_tip="Ofrece a este amigo teleportarse a tu posición"/>
<button label="Pagar..." name="pay_btn" tool_tip="Dar dinero ([CURRENCY]) a este contacto"/>
<button label="Quitar..." name="remove_btn" tool_tip="Quitar a este usuario de tu lista de contactos"/>
<button label="Agregar..." name="add_btn" tool_tip="Ofrecer amistad a un residente"/>
</panel>

View File

@@ -54,7 +54,7 @@ realizarla.
<column label="Cuotas Donadas" name="donated"/>
<column label="Última Conexión" name="online"/>
</name_list>
<button label="Invitar a un Nuevo Miembro..." name="member_invite"/>
<button label="Invitar a un Nuevo Miembro..." name="member_invite" width="176"/>
<button label="Expulsar del Grupo" name="member_eject"/>
<string name="help_text">
Puedea añadir o quitar los roles asignados a los miembros.

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel name="groups">
<scroll_list name="group list">
<column label="Nombre" name="name" tool_tip="Nombre" />
<!--<column label="Active" name="is_active_group"
tool_tip="Group is set as active" width="40" />-->
<column name="is_listed_group" tool_tip="El Grupo es visible en tu perfil"/>
<column name="is_chattable_group" tool_tip="Recibir chat del grupo"/>
<column name="is_notice_group" tool_tip="Recibir Avisos del Grupo"/>
</scroll_list>
<text name="groupdesc">
Tus grupos activos se muestran en Itálica.
</text>
<text name="groupcount">
Perteneces a [COUNT] grupos (de un máximo de [MAX]).
</text>
<button label="IM/Llamar" name="IM" tool_tip="Abrir sesión de Mensaje Instantáneo" width="85"/>
<button label="Información" name="Info" left_delta="87" width="85"/>
<button label="Activar" left_delta="87" name="Activate"/>
<button label="Abandonar" name="Leave" width="85" />
<button label="Crear..." left_delta="87" name="Create" width="85" />
<button label="Buscar..." left_delta="87" name="Search..." width="85"/>
<button label="Invitar..." name="Invite..." width="85"/>
<button label="Títulos..." left_delta="87" name="Titles..." width="85"/>
<string name="none">
ninguno
</string>
</panel>

View File

@@ -5,17 +5,16 @@
<text name="objects_link_text_box">
Mensajes Instantáneos:
</text>
<check_box label="Usar Pestañas Verticales (Requiere reiniciar)" name="use_vertical_ims_check"/>
<check_box label="Anunciar Mensajes Instantáneos Entrantes" tool_tip="Abre una ventana de MI cuando alguien comienza a escribirte un MI. Esto te permite conocer cuando alguien te abre un MI antes de enviartelo." name="quickstart_im_check"/>
<check_box label="No enviar '[nombre] está escribiendo...' en MIs" tool_tip="Tu contacto de MI no verá '______ está escribiendo...' cuando le respondes." name="hide_typing_check"/>
<check_box label="Mostrar nombre del grupo en el chat" tool_tip="El nombre del grupo también será mostrado si el MI es de un chat de grupo." name="append_group_name_check"/>
<text name="objects_link_text_box2">
<check_box label="Permitir Método MU pose." tool_tip="Permite el uso de /me y : para enviar emotes." name="allow_mu_pose_check"/>
<check_box label="Cerrar Automáticamente comentarios OOC." tool_tip="Agregar automáticamente al final '))' en cualquier mensaje que comience con '((', o viseversa." name="close_ooc_check"/>
<text name="objects_link_text_box2" left="265" >
Chat:
</text>
<check_box label="Ejecutar sonido de escritura en chat local" tool_tip="Silencia el sonido de escritura, haciendo que determinadas cosas sean mas tranquilas, como las actuaciones en vivo." name="play_typing_sound_check"/>
<check_box label="No Mostrar/registrar notificaciones en chat" name="hide_notifications_in_chat_check"/>
<check_box label="Permitir Método MU pose." tool_tip="Permite el uso de /me y : para enviar emotes." name="allow_mu_pose_check"/>
<check_box label="Cerrar Automáticamente comentarios OOC." tool_tip="Agregar automáticamente al final '))' en cualquier mensaje que comience con '((', o viseversa." name="close_ooc_check"/>
<check_box label="Mostrar nombre del grupo en el chat" tool_tip="El nombre del grupo también será mostrado si el MI es de un chat de grupo." name="append_group_name_check"/>
<text name="objects_link_text_box3">
Mostrar en el historial de chat links de chat de objetos para:
</text>
@@ -56,6 +55,7 @@
MM/DD/YYYY
</combo_item>
</combo_box>
<check_box bottom_delta="0" left="240" follows="top" control_name="SecondsInLog" label="Segundos en el registro de tiempo" name="seconds_in_log"/>
<!-- Auto-responder -->
<check_box label="Habilitar Respuesta Automática" name="AscentInstantMessageResponseAnyone" tool_tip=" Envia un mensaje pre-grabado de tu elección cuando alguien te abre un IM. (Escribe tu mensaje en el área de texto de la Ventana Texto de Respuesta."/>
<check_box label="Responder a no amigos" name="AscentInstantMessageResponseFriends" tool_tip="Envia un mensaje pre-grabado de tu elección cuando alguien te abre un IM. (Escribe tu mensaje en el área de texto de la Ventana Texto de Respuesta."/>
@@ -76,6 +76,17 @@
#i tu tiempo inactivo. (p.e. "5 mins")
</text>
</panel>
<!-- ============================== -->
<panel height="525" label="Chat UI" left="1" name="ChatUI" width="418">
<check_box label="Usar Pestañas Verticales (Requiere reiniciar)" name="use_vertical_ims_check"/>
<check_box label="Abrir nuevos MIs en ventanas separadas" name="chats_torn_off"/>
<check_box label="Mostrar barra de chat local en ventana flotante (Requiere reiniciar)" tool_tip="Mostrar o no la barra de entrada de texto inferior en la barra flotante de chat." name="show_local_chat_floater_bar"/>
<check_box label="Usar botones horizontales para la ventana de contactos (Requiere Reiniciar)" tool_tip="Habilitado, los botones en los paneles de Amigos y Grupos se colocarán en la parte inferior del panel, ordendados horizontalmente, en vez de verticales a la derecha." name="horiz_butt"/>
<check_box label="Colocar los Botones en la misma línea del nombre en los IMs (Sólo afecta en Nuevos MIs)" name="im_concise_butt"/>
<check_box label="Botones en chat de grupo en la línea del nombre del grupo (Afecta nuevos chats de grupo)" name="group_concise_butt"/>
<check_box label="Botones en la misma línea de título de conferencia (Afecta nuevas conferencias de Chat)" name="conf_concise_butt"/>
<check_box label="Deshabilitar apertura atajo de Comunicación fuera de la lista de amigos" control_name="CommunicateSpecificShortcut" name="only_comm"/>
</panel>
<!-- ============================== -->
<panel label="Spam" name="Spam">
<check_box control_name="AntiSpamEnabled" label="Habilitar Antispam" name="enable_as"/>

View File

@@ -52,6 +52,15 @@
<color_swatch label="Estado" name="estate_owner_color_swatch" tool_tip="Color para Administrador de Regiones"/>
<color_swatch label="Lindens" name="linden_color_swatch" tool_tip="Color para empleados de Linden Lab"/>
<color_swatch label="Ignorados" name="muted_color_swatch" tool_tip="Color para usuarios ignorados o bloqueados"/>
<color_swatch label="Pers.(Minimapa)" name="custom_color_swatch" tool_tip="Color solamente para usuarios marcados en el minimapa"/>
<text name="chat_color_text" bottom_delta="-13" >
Usar colores para chat:
</text>
<check_box bottom_delta="-11" label="" name="color_friend_check" tool_tip="Color de Amigos en Chat"/>
<check_box label="" name="color_estate_owner_check" tool_tip="Color en Chat de Administradores de Estado"/>
<check_box label="" name="color_linden_check" tool_tip="Color en Chat de Empleado Linden"/>
<check_box label="" name="color_muted_check" tool_tip="Color en Chat de Usuarios Ignorados"/>
<!--check_box bottom_delta="0" control_name="ColorCustomChat" follows="top" height="20" label="" left_delta="54" name="color_custom_check" width="44" tool_tip="Color Custom Chat"/ Not implemented, yet.-->
</panel>
<panel label="Fiísica de Avatar" name="Body Dynamics">
<check_box label="Activar física avanzada de los senos del avatar" name="EmBreastsToggle" tool_tip="Deberás seleccionar Aplicar para activar o desactivar estos controles"/>

View File

@@ -3,7 +3,7 @@
<text name="voice_unavailable">
El Chat de Voz no está Disponible
</text>
<check_box bottom_delta="0" follows="top" height="16" initial_value="false" label="Enable voice chat" left="8" name="enable_voice_check"/>
<check_box bottom_delta="0" follows="top" height="16" initial_value="false" label="Habilitar Chat de Voz" left="8" name="enable_voice_check"/>
<radio_group bottom_delta="-46" draw_border="false" follows="top" height="40" left_delta="20" name="ear_location" width="364">
<radio_item name="0">
Oir el chat desde la posición de la cámara.

View File

@@ -279,15 +279,16 @@
<!-- Chat -->
<string name="whisper">Susurra:</string>
<string name="shout">Grita:</string>
<string name="ringing">Conectando al Chat de Voz del Mundo...</string>
<string name="ringing">Conectando al Chat de Voz...</string>
<string name="connected">Conectado</string>
<string name="unavailable">Chat de Voz no disponible en esta ubicación</string>
<string name="hang_up">Desconectado del Chat de Voz del Mundo</string>
<string name="hang_up">Desconectado del Chat de Voz</string>
<string name="ScriptTakeMoney">Transferir moneda de tu cuenta</string>
<string name="ActOnControlInputs">Actuar en tus controles de entrada</string>
<string name="RemapControlInputs">Remapear tus controles de entrada</string>
<string name="AnimateYourAvatar">Animar tu avatar</string>
<string name="AttachToYourAvatar">Anexar a tu avatar</string>
<string name="AGroupMemberNamed">un miembro del grupo de nombre</string>
<string name="ReleaseOwnership">Liberar propiedad y hacer público</string>
<string name="LinkAndDelink">Enlazar y desenlazar de otros objetos</string>
<string name="AddAndRemoveJoints">Agregar o remover uniones con otros objetos</string>