diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 062baa8b5..dd5685bca 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2240,6 +2240,20 @@ void autoresponder_finish(bool show_autoresponded, const LLUUID& session_id, con
}
}
+const std::string NOT_ONLINE_MSG("User not online - message will be stored and delivered later.");
+const std::string NOT_ONLINE_INVENTORY("User not online - inventory has been saved.");
+void translate_if_needed(std::string& message)
+{
+ if (message == NOT_ONLINE_MSG)
+ {
+ message = LLTrans::getString("not_online_msg");
+ }
+ else if (message == NOT_ONLINE_INVENTORY)
+ {
+ message = LLTrans::getString("not_online_inventory");
+ }
+}
+
void process_improved_im(LLMessageSystem *msg, void **user_data)
{
if (gNoRender)
@@ -2308,6 +2322,12 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
return;
// NaCl End
+ // Singu TODO: LLIMProcessing goes here
+ if (chat.mSourceType == CHAT_SOURCE_SYSTEM)
+ { // Translate server message if required (MAINT-6109)
+ translate_if_needed(message);
+ }
+
// make sure that we don't have an empty or all-whitespace name
LLStringUtil::trim(name);
if (name.empty())
diff --git a/indra/newview/skins/default/xui/en-us/strings.xml b/indra/newview/skins/default/xui/en-us/strings.xml
index f871b3fab..634d5c761 100644
--- a/indra/newview/skins/default/xui/en-us/strings.xml
+++ b/indra/newview/skins/default/xui/en-us/strings.xml
@@ -4234,6 +4234,8 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
Explode objects - Turns an object physical, temporary, and delinks it.
Online
Offline
+ User not online - message will be stored and delivered later.
+ User not online - inventory has been saved.