diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 34596542e..f7ae5810e 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -6754,7 +6754,18 @@ This should be as low as possible, but too low may break functionality
RadarChatKeys
Comment
- Enable private chat alerts for avatars entering the region
+ Enable alerting scripts about avatars detected by the radar
+ Persist
+ 1
+ Type
+ Boolean
+ Value
+ 0
+
+ RadarChatKeysStopAsking
+
+ Comment
+ Do not ask if RadarChatKeys should be enabled when a script requests for the radar's keys.
Persist
1
Type
diff --git a/indra/newview/chatbar_as_cmdline.cpp b/indra/newview/chatbar_as_cmdline.cpp
index 7dcd34a59..6d19d693c 100644
--- a/indra/newview/chatbar_as_cmdline.cpp
+++ b/indra/newview/chatbar_as_cmdline.cpp
@@ -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::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)
{
diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp
index 0c6e71773..5a191551b 100644
--- a/indra/newview/llfloateravatarlist.cpp
+++ b/indra/newview/llfloateravatarlist.cpp
@@ -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 radar_alert_shout_range(gSavedSettings, "RadarAlertShoutRange");
static LLCachedControl radar_alert_chat_range(gSavedSettings, "RadarAlertChatRange");
static LLCachedControl radar_alert_age(gSavedSettings, "RadarAlertAge");
- static LLCachedControl 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 announce(gSavedSettings, "RadarChatKeys");
std::queue 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 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 on("RadarChatKeys");
+ static LLCachedControl 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;
}
diff --git a/indra/newview/skins/default/xui/en-us/notifications.xml b/indra/newview/skins/default/xui/en-us/notifications.xml
index b76a3e958..44851bac6 100644
--- a/indra/newview/skins/default/xui/en-us/notifications.xml
+++ b/indra/newview/skins/default/xui/en-us/notifications.xml
@@ -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).
+
+
+An object owned by you has requested keys from your radar.
+Would you like to enable announcing keys to objects in the sim?
+
+
+
diff --git a/indra/newview/skins/default/xui/es/floater_chat_history_barless.xml b/indra/newview/skins/default/xui/es/floater_chat_history_barless.xml
new file mode 100644
index 000000000..e0882ca49
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_chat_history_barless.xml
@@ -0,0 +1,82 @@
+
+
+
+ Conectándose con el Chat de Voz...
+
+
+ Conectado
+
+
+ El Chat de Voz no está disponible en esta ubicación
+
+
+ Desconectado del Chat de Voz
+
+
+ -- Habilitado el registro de Mensajes Instantáneos --
+
+
+ -- Fin del Registro --
+
+
+ '[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha concedido permiso para: [PERMISSIONS].
+
+
+ '[OBJECTNAME]', al objeto, propiedad de '[OWNERNAME]', ubicado en [REGIONNAME]: [REGIONPOS], se le ha denegado permiso para: [PERMISSIONS].
+
+
+ Transferir dinero ([CURRENCY]) de tu cuenta
+
+
+ Actuar en tus controles de entrada
+
+
+ Reconfigurar tus controles de entrada
+
+
+ Animar tu Avatar
+
+
+ Anexarse a tu Avatar
+
+
+ Liberar propiedad y volverse público
+
+
+ Enlazar y desenlazar de otros objetos
+
+
+ Agregar y quitar uniones con otros objetos
+
+
+ Cambiar sus propios permisos
+
+
+ Seguir tu cámara
+
+
+ Teleportarte
+
+
+ Controlar tu cámara
+
+
+
+
+
+ Gestos
+
+
+
+
+
+
+
+
+ Gestos
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/floater_instant_message_ad_hoc_concisebuttons.xml b/indra/newview/skins/default/xui/es/floater_instant_message_ad_hoc_concisebuttons.xml
new file mode 100644
index 000000000..6bf0781c2
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_instant_message_ad_hoc_concisebuttons.xml
@@ -0,0 +1,41 @@
+
+
+
+ Uniéndose al Chat de Voz...
+
+
+ Conectado, pulsa Terminar Llamada para colgar
+
+
+ Salida del Chat de Voz
+
+
+ Mensaje Instantáneo con [NAME]
+
+
+ [NAME] está escribiendo...
+
+
+ Iniciando sesión con [NAME], espera por favor.
+
+
+ Pulsa aquí para un Mensaje Instantáneo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *** 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 -=-=-
+
+
diff --git a/indra/newview/skins/default/xui/es/floater_instant_message_concisebuttons.xml b/indra/newview/skins/default/xui/es/floater_instant_message_concisebuttons.xml
new file mode 100644
index 000000000..8007323b7
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_instant_message_concisebuttons.xml
@@ -0,0 +1,53 @@
+
+
+
+ Conectando...
+
+
+ Llamando...
+
+
+ Conectado. Pulsa Terminar LLamada para colgar
+
+
+ Llamada terminada
+
+
+ Mensaje Instantáneo con [NAME]
+
+
+ [NAME] está escribiendo...
+
+
+ Iniciando sesión con [NAME], por favor espera.
+
+
+ Pulsa aquí para enviar un Mensaje Instantáneo.
+
+
+ El chat de texto no está disponible para esta llamada.
+
+
+ Ofrecido un Ítem de Inventario
+
+
+
+
+
+ Modo RP
+
+
+
+
+
+
+
+
+
+
+
+ *** 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 -=-=-
+
diff --git a/indra/newview/skins/default/xui/es/floater_instant_message_group_concisebuttons.xml b/indra/newview/skins/default/xui/es/floater_instant_message_group_concisebuttons.xml
new file mode 100644
index 000000000..de372daf8
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_instant_message_group_concisebuttons.xml
@@ -0,0 +1,45 @@
+
+
+
+ Uniéndose al Chat de Voz...
+
+
+ Conectado, pulsa Terminar Llamada para colgar
+
+
+ Salida Chat de Voz
+
+
+ Mensaje Instantáneo con [NAME]
+
+
+ [NAME] está escribiendo...
+
+
+ Iniciando sesión con [NAME], espera por favor.
+
+
+ Pulsa aquí para un Mensaje Instantáneo.
+
+
+ (Moderado: Voz Apagada por defecto)
+
+
+ Tu chat de texto ha sido deshabilitado por un Moderado del Grupo.
+
+
+
+
+
+
+
+
+
+
+
+ *** 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 -=-=-
+
+
diff --git a/indra/newview/skins/default/xui/es/floater_my_friends_horiz.xml b/indra/newview/skins/default/xui/es/floater_my_friends_horiz.xml
new file mode 100644
index 000000000..6d088ba77
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_my_friends_horiz.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/floater_settings_debug.xml b/indra/newview/skins/default/xui/es/floater_settings_debug.xml
index 21433b0ab..08fce3ef8 100644
--- a/indra/newview/skins/default/xui/es/floater_settings_debug.xml
+++ b/indra/newview/skins/default/xui/es/floater_settings_debug.xml
@@ -1,18 +1,20 @@
-
-
-
-
- VERDADERO
-
-
- FALSO
-
-
-
+
+
+
+
+
+ Verdadero
+
+
+ Falso
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index 2b4ae3fee..212be632e 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -49,6 +49,7 @@
+
@@ -195,6 +196,7 @@
+
diff --git a/indra/newview/skins/default/xui/es/panel_friends.xml b/indra/newview/skins/default/xui/es/panel_friends.xml
index 3164086db..e8dad99bb 100644
--- a/indra/newview/skins/default/xui/es/panel_friends.xml
+++ b/indra/newview/skins/default/xui/es/panel_friends.xml
@@ -31,7 +31,7 @@
Seleccionados:
-
+
0000
diff --git a/indra/newview/skins/default/xui/es/panel_friends_horiz.xml b/indra/newview/skins/default/xui/es/panel_friends_horiz.xml
new file mode 100644
index 000000000..59066dcc9
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_friends_horiz.xml
@@ -0,0 +1,33 @@
+
+
+ Multiples amigos...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conectados:
+ 0000
+ | Seleccionados:
+ 0000
+
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml
index 9705df045..c9a3264fc 100644
--- a/indra/newview/skins/default/xui/es/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml
@@ -54,7 +54,7 @@ realizarla.
-
+
Puedea añadir o quitar los roles asignados a los miembros.
diff --git a/indra/newview/skins/default/xui/es/panel_groups_horiz.xml b/indra/newview/skins/default/xui/es/panel_groups_horiz.xml
new file mode 100644
index 000000000..31ae40445
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_groups_horiz.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+ Tus grupos activos se muestran en Itálica.
+
+
+ Perteneces a [COUNT] grupos (de un máximo de [MAX]).
+
+
+
+
+
+
+
+
+
+
+ ninguno
+
+
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_ascent_chat.xml b/indra/newview/skins/default/xui/es/panel_preferences_ascent_chat.xml
index fed97bb93..7a515cf87 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_ascent_chat.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_ascent_chat.xml
@@ -5,17 +5,16 @@
Mensajes Instantáneos:
-
-
-
+
+
+
Chat:
-
-
+
Mostrar en el historial de chat links de chat de objetos para:
@@ -56,6 +55,7 @@
MM/DD/YYYY
+
@@ -76,6 +76,17 @@
#i tu tiempo inactivo. (p.e. "5 mins")
+
+
+
+
+
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_ascent_vanity.xml b/indra/newview/skins/default/xui/es/panel_preferences_ascent_vanity.xml
index f994779a7..85cda9bae 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_ascent_vanity.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_ascent_vanity.xml
@@ -52,6 +52,15 @@
+
+
+ Usar colores para chat:
+
+
+
+
+
+
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_voice.xml b/indra/newview/skins/default/xui/es/panel_preferences_voice.xml
index d7bf178a6..c160150ce 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_voice.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_voice.xml
@@ -3,7 +3,7 @@
El Chat de Voz no está Disponible
-
+
Oir el chat desde la posición de la cámara.
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 2bb878930..4e5e348ed 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -279,15 +279,16 @@
Susurra:
Grita:
- Conectando al Chat de Voz del Mundo...
+ Conectando al Chat de Voz...
Conectado
Chat de Voz no disponible en esta ubicación
- Desconectado del Chat de Voz del Mundo
+ Desconectado del Chat de Voz
Transferir moneda de tu cuenta
Actuar en tus controles de entrada
Remapear tus controles de entrada
Animar tu avatar
Anexar a tu avatar
+ un miembro del grupo de nombre
Liberar propiedad y hacer público
Enlazar y desenlazar de otros objetos
Agregar o remover uniones con otros objetos