Browse Source

Throw out more error string concating

Adam Johnson 12 years ago
parent
commit
165e79fa64
  1. 43
      Sources/Plasma/FeatureLib/pfLocalizationMgr/pfLocalizationDataMgr.cpp

43
Sources/Plasma/FeatureLib/pfLocalizationMgr/pfLocalizationDataMgr.cpp

@ -443,7 +443,6 @@ class LocalizationDatabase
{ {
protected: protected:
std::string fDirectory; // the directory we're supposed to parse std::string fDirectory; // the directory we're supposed to parse
std::wstring fErrorString; // total sum of all errors encountered (also has warnings and status messages)
std::vector<LocalizationXMLFile> fFiles; // the various XML files in that directory std::vector<LocalizationXMLFile> fFiles; // the various XML files in that directory
@ -463,8 +462,6 @@ public:
LocalizationDatabase() {} LocalizationDatabase() {}
void Parse(const std::string & directory); void Parse(const std::string & directory);
void ResetOutput() {fErrorString = L"";}
std::wstring GetOutput() {return fErrorString;}
LocalizationXMLFile::ageMap GetData() {return fData;} LocalizationXMLFile::ageMap GetData() {return fData;}
}; };
@ -482,7 +479,10 @@ LocalizationXMLFile::element LocalizationDatabase::IMergeElementData(Localizatio
for (curTranslation = secondElement.begin(); curTranslation != secondElement.end(); curTranslation++) for (curTranslation = secondElement.begin(); curTranslation != secondElement.end(); curTranslation++)
{ {
if (firstElement.find(curTranslation->first) != firstElement.end()) if (firstElement.find(curTranslation->first) != firstElement.end())
fErrorString += L"Duplicate " + curTranslation->first + L" translation for " + path + L" found in file " + fileName + L" Ignoring second translation\n"; {
pfLocalizationDataMgr::GetLog()->AddLineF("Duplicate %S translation for %S found in file %S Ignoring second translation",
curTranslation->first.c_str(), path.c_str(), fileName.c_str());
}
else else
firstElement[curTranslation->first] = curTranslation->second; firstElement[curTranslation->first] = curTranslation->second;
} }
@ -586,8 +586,8 @@ void LocalizationDatabase::IVerifyElement(const std::wstring &ageName, const std
if (!languageExists) if (!languageExists)
{ {
fErrorString += L"ERROR: The language " + curTranslation->first + L" used by " + ageName + L"." + setName + L"."; pfLocalizationDataMgr::GetLog()->AddLineF("ERROR: The language %S used by %S.%S.%S is not supported, discarding translation",
fErrorString += elementName + L" is not supported, discarding translation\n"; curTranslation->first.c_str(), ageName.c_str(), setName.c_str(), elementName.c_str());
curTranslation = theElement.erase(curTranslation); curTranslation = theElement.erase(curTranslation);
} }
else else
@ -598,8 +598,8 @@ void LocalizationDatabase::IVerifyElement(const std::wstring &ageName, const std
{ {
if (theElement.find(languageNames[i]) == theElement.end()) if (theElement.find(languageNames[i]) == theElement.end())
{ {
fErrorString += L"WARNING: Language " + languageNames[i] + L" is missing from the translations in element "; pfLocalizationDataMgr::GetLog()->AddLineF("WARNING: Language %S is missing from the translations in element %S.%S.%S, you'll want to get translations for that!",
fErrorString += ageName + L"." + setName + L"." + elementName + L", you'll want to get translations for that!\n"; languageNames[i].c_str(), ageName.c_str(), setName.c_str(), elementName.c_str());
} }
} }
} }
@ -619,8 +619,8 @@ void LocalizationDatabase::IVerifySet(const std::wstring &ageName, const std::ws
// Check that we at least have a default language translation for fallback // Check that we at least have a default language translation for fallback
if (curElement->second.find(defaultLanguage) == curElement->second.end()) if (curElement->second.find(defaultLanguage) == curElement->second.end())
{ {
fErrorString += L"ERROR: Default language " + defaultLanguage + L" is missing from the translations in element "; pfLocalizationDataMgr::GetLog()->AddLineF("ERROR: Default language %S is missing from the translations in element %S.%S.%S, deleting element",
fErrorString += ageName + L"." + setName + L"." + curElement->first + L", deleting element\n"; defaultLanguage.c_str(), ageName.c_str(), setName.c_str(), curElement->first.c_str());
curElement = theSet.erase(curElement); curElement = theSet.erase(curElement);
} }
else else
@ -656,7 +656,6 @@ void LocalizationDatabase::Parse(const std::string & directory)
{ {
fDirectory = directory; fDirectory = directory;
fFiles.clear(); fFiles.clear();
fErrorString = L"";
char filename[255]; char filename[255];
hsFolderIterator xmlFolder((directory+PATH_SEPARATOR_STR).c_str()); hsFolderIterator xmlFolder((directory+PATH_SEPARATOR_STR).c_str());
@ -664,18 +663,13 @@ void LocalizationDatabase::Parse(const std::string & directory)
{ {
xmlFolder.GetPathAndName(filename); xmlFolder.GetPathAndName(filename);
wchar_t *buff = hsStringToWString(filename);
std::wstring wFilename = buff;
delete [] buff;
LocalizationXMLFile newFile; LocalizationXMLFile newFile;
bool retVal = newFile.Parse(filename); bool retVal = newFile.Parse(filename);
if (!retVal) if (!retVal)
fErrorString += L"WARNING: Errors in file " + wFilename; pfLocalizationDataMgr::GetLog()->AddLineF("WARNING: Errors in file %s", filename);
fFiles.push_back(newFile); fFiles.push_back(newFile);
pfLocalizationDataMgr::GetLog()->AddLineF("File %s parsed and added to database", filename);
fErrorString += L"File " + wFilename + L" parsed and added to database\n";
} }
IMergeData(); IMergeData();
@ -929,12 +923,7 @@ void pfLocalizationDataMgr::IConvertElement(LocElementInfo *elementInfo, const s
if (numArgs == -1) // just started if (numArgs == -1) // just started
numArgs = argCount; numArgs = argCount;
else if (argCount != numArgs) else if (argCount != numArgs)
{ fLog->AddLineF("WARNING: Argument number mismatch in element %S for %S", curPath.c_str(), curTranslation->first.c_str());
std::wstring errorStr = L"WARNING: Argument number mismatch in element " + curPath + L" for " + curTranslation->first;
char* cErrorStr = hsWStringToString(errorStr.c_str());
fLog->AddLine(cErrorStr);
delete [] cErrorStr;
}
} }
fLocalizedElements[curPath] = newElement; fLocalizedElements[curPath] = newElement;
@ -1093,10 +1082,6 @@ void pfLocalizationDataMgr::SetupData()
fDatabase = new LocalizationDatabase(); fDatabase = new LocalizationDatabase();
fDatabase->Parse(fDataPath); fDatabase->Parse(fDataPath);
char *temp = hsWStringToString(fDatabase->GetOutput().c_str());
fLog->AddLine(temp);
delete [] temp;
fLog->AddLine("File reading complete, converting to native data format"); fLog->AddLine("File reading complete, converting to native data format");
// and now we read all the data out of the database and convert it to our native formats // and now we read all the data out of the database and convert it to our native formats
@ -1165,7 +1150,7 @@ WStringVector pfLocalizationDataMgr::GetLanguages(const std::wstring & ageName,
for (curLanguage = elem.begin(); curLanguage != elem.end(); curLanguage++) for (curLanguage = elem.begin(); curLanguage != elem.end(); curLanguage++)
{ {
std::wstring language = curLanguage->first; std::wstring language = curLanguage->first;
if (language != L"") // somehow blank language names sneak in... so don't return them if (!language.empty()) // somehow blank language names sneak in... so don't return them
retVal.push_back(curLanguage->first); retVal.push_back(curLanguage->first);
} }
} }

Loading…
Cancel
Save