diff options
author | Andrew Dyukov <adyukov@productengine.com> | 2010-08-11 20:39:34 +0300 |
---|---|---|
committer | Andrew Dyukov <adyukov@productengine.com> | 2010-08-11 20:39:34 +0300 |
commit | d4f12f2630d41b0dc534c0d3d0d8ae7b3881c680 (patch) | |
tree | f9707d9342904db845cfacc6653efdf99be60aa1 | |
parent | 3b4385fe559b5a05d09463d920a8d28a64bc2e03 (diff) |
EXT-8425 FIXED Translated names of "Home" and "Esc" keys shown in shortcuts.
Each key has KEY (typedef of U8) represantation which is paired with text version of key.
To get strings corresponding to keys LLKeyboard::stringFromKey() is used.
- Added translation of keys into LLKeyboard::stringFromKey().
- Added corresponding strings into strings.xml.
- Changed LLTrans::getKeyboardString() so that it correctly process key names that are not found in strings.xml(returns English name instead of "MissingString").
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/845/
--HG--
branch : product-engine
-rw-r--r-- | indra/llwindow/llkeyboard.cpp | 7 | ||||
-rw-r--r-- | indra/llxuixml/lltrans.h | 11 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 3 |
3 files changed, 16 insertions, 5 deletions
diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp index 16cbf815e0..8f26f980d1 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 856b9e04fc..6c8d28b346 100644 --- a/indra/llxuixml/lltrans.h +++ b/indra/llxuixml/lltrans.h @@ -103,11 +103,12 @@ public: 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 2aa34b746b..7a292ab943 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> |