LLViewerRegion WIP: brought LLTrans up to speed with V3.
This commit is contained in:
@@ -113,6 +113,69 @@ std::string LLTrans::getString(const std::string &xml_desc, const LLStringUtil::
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//static
|
||||||
|
std::string LLTrans::getString(const std::string &xml_desc, const LLSD& msg_args)
|
||||||
|
{
|
||||||
|
// Don't care about time as much as call count. Make sure we're not
|
||||||
|
// calling LLTrans::getString() in an inner loop. JC
|
||||||
|
//V3: LLFastTimer timer(FTM_GET_TRANS);
|
||||||
|
|
||||||
|
template_map_t::iterator iter = sStringTemplates.find(xml_desc);
|
||||||
|
if (iter != sStringTemplates.end())
|
||||||
|
{
|
||||||
|
std::string text = iter->second.mText;
|
||||||
|
LLStringUtil::format(text, msg_args);
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LL_WARNS_ONCE("configuration") << "Missing String in strings.xml: [" << xml_desc << "]" << LL_ENDL;
|
||||||
|
return "MissingString("+xml_desc+")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//static
|
||||||
|
bool LLTrans::findString(std::string &result, const std::string &xml_desc, const LLStringUtil::format_map_t& msg_args)
|
||||||
|
{
|
||||||
|
//V3: LLFastTimer timer(FTM_GET_TRANS);
|
||||||
|
|
||||||
|
template_map_t::iterator iter = sStringTemplates.find(xml_desc);
|
||||||
|
if (iter != sStringTemplates.end())
|
||||||
|
{
|
||||||
|
std::string text = iter->second.mText;
|
||||||
|
LLStringUtil::format_map_t args = sDefaultArgs;
|
||||||
|
args.insert(msg_args.begin(), msg_args.end());
|
||||||
|
LLStringUtil::format(text, args);
|
||||||
|
result = text;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LL_WARNS_ONCE("configuration") << "Missing String in strings.xml: [" << xml_desc << "]" << LL_ENDL;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//static
|
||||||
|
bool LLTrans::findString(std::string &result, const std::string &xml_desc, const LLSD& msg_args)
|
||||||
|
{
|
||||||
|
//V3: LLFastTimer timer(FTM_GET_TRANS);
|
||||||
|
|
||||||
|
template_map_t::iterator iter = sStringTemplates.find(xml_desc);
|
||||||
|
if (iter != sStringTemplates.end())
|
||||||
|
{
|
||||||
|
std::string text = iter->second.mText;
|
||||||
|
LLStringUtil::format(text, msg_args);
|
||||||
|
result = text;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LL_WARNS_ONCE("configuration") << "Missing String in strings.xml: [" << xml_desc << "]" << LL_ENDL;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void LLTrans::setDefaultArg(const std::string& name, const std::string& value)
|
void LLTrans::setDefaultArg(const std::string& name, const std::string& value)
|
||||||
{
|
{
|
||||||
sDefaultArgs[name] = value;
|
sDefaultArgs[name] = value;
|
||||||
|
|||||||
@@ -60,12 +60,14 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Parses the xml file that holds the strings. Used once on startup
|
* @brief Parses the xml file that holds the strings. Used once on startup
|
||||||
* @param xml_filename Filename to parse
|
// *FIXME * @param xml_filename Filename to parse
|
||||||
* @param default_args Set of strings (expected to be in the file) to use as default replacement args, e.g. "SECOND_LIFE"
|
* @param default_args Set of strings (expected to be in the file) to use as default replacement args, e.g. "SECOND_LIFE"
|
||||||
* @returns true if the file was parsed successfully, true if something went wrong
|
* @returns true if the file was parsed successfully, true if something went wrong
|
||||||
*/
|
*/
|
||||||
static bool parseStrings(const std::string& xml_filename, const std::set<std::string>& default_args);
|
static bool parseStrings(const std::string& xml_filename, const std::set<std::string>& default_args);
|
||||||
|
|
||||||
|
//V3: static bool parseLanguageStrings(LLPointer<LLXMLNode> & root);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns a translated string
|
* @brief Returns a translated string
|
||||||
* @param xml_desc String's description
|
* @param xml_desc String's description
|
||||||
@@ -73,6 +75,9 @@ public:
|
|||||||
* @returns Translated string
|
* @returns Translated string
|
||||||
*/
|
*/
|
||||||
static std::string getString(const std::string &xml_desc, const LLStringUtil::format_map_t& args);
|
static std::string getString(const std::string &xml_desc, const LLStringUtil::format_map_t& args);
|
||||||
|
static std::string getString(const std::string &xml_desc, const LLSD& args);
|
||||||
|
static bool findString(std::string &result, const std::string &xml_desc, const LLStringUtil::format_map_t& args);
|
||||||
|
static bool findString(std::string &result, const std::string &xml_desc, const LLSD& args);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns a translated string
|
* @brief Returns a translated string
|
||||||
@@ -84,7 +89,20 @@ public:
|
|||||||
LLStringUtil::format_map_t empty;
|
LLStringUtil::format_map_t empty;
|
||||||
return getString(xml_desc, empty);
|
return getString(xml_desc, empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool findString(std::string &result, const std::string &xml_desc)
|
||||||
|
{
|
||||||
|
LLStringUtil::format_map_t empty;
|
||||||
|
return findString(result, xml_desc, empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
static std::string getKeyboardString(const char* keystring)
|
||||||
|
{
|
||||||
|
std::string key_str(keystring);
|
||||||
|
std::string trans_str;
|
||||||
|
return findString(trans_str, key_str) ? trans_str : key_str;
|
||||||
|
}
|
||||||
|
|
||||||
// get the default args
|
// get the default args
|
||||||
static const LLStringUtil::format_map_t& getDefaultArgs()
|
static const LLStringUtil::format_map_t& getDefaultArgs()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user