diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp index 16cbf815e0b4872782c2eb6145cecc09b8561c29..8f26f980d15dc094c44d8609e6c34798757e65b0 100644 --- a/indra/llwindow/llkeyboard.cpp +++ b/indra/llwindow/llkeyboard.cpp @@ -343,6 +343,13 @@ std::string LLKeyboard::stringFromKey(KEY key) buffer[1] = '\0'; res = std::string(buffer); } + + LLKeyStringTranslatorFunc *trans = gKeyboard->mStringTranslator; + if (trans != NULL) + { + res = trans(res.c_str()); + } + return res; } diff --git a/indra/llxuixml/lltrans.h b/indra/llxuixml/lltrans.h index 856b9e04fc73dfb32fda42d6f7651fede0b74bb8..6c8d28b346a91a89aba405262a93ce57773943c6 100644 --- a/indra/llxuixml/lltrans.h +++ b/indra/llxuixml/lltrans.h @@ -103,11 +103,12 @@ class LLTrans return findString(result, xml_desc, empty); } - static std::string getKeyboardString(const char* keystring) - { - // These map directly - no need to specialize - return getString( ll_safe_string(keystring) ); - } + static std::string getKeyboardString(const char* keystring) + { + std::string key_str(keystring); + std::string trans_str; + return findString(trans_str, "Key_" + key_str) ? trans_str : key_str; + } // get the default args static const LLStringUtil::format_map_t& getDefaultArgs() diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 2aa34b746bdb2e60ec6dd1582b515f6fc1e9b2bb..7a292ab943f70bbe0bf4a7afa7ec85e7790e4e42 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -2282,6 +2282,9 @@ Expected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh <string name="accel-win-alt">Alt+</string> <string name="accel-win-shift">Shift+</string> + <string name="Key_Esc">Esc</string> + <string name="Key_Home">Home</string> + <!-- Previews --> <string name="FileSaved">File Saved</string> <string name="Receiving">Receiving</string>