Code Refactoring: Language Class
This commit is contained in:
parent
a59c7ee634
commit
1014e1106a
|
@ -2,8 +2,9 @@
|
||||||
|
|
||||||
CLanguage * _Lang = NULL;
|
CLanguage * _Lang = NULL;
|
||||||
|
|
||||||
void CLanguage::LoadDefaultStrings (void) {
|
void CLanguage::LoadDefaultStrings (void)
|
||||||
#define DEF_STR(ID,str) DefaultStrings.insert(LANG_STRINGS::value_type(ID,str))
|
{
|
||||||
|
#define DEF_STR(ID,str) m_DefaultStrings.insert(LANG_STRINGS::value_type(ID,str))
|
||||||
|
|
||||||
DEF_STR(EMPTY_STRING, "" );
|
DEF_STR(EMPTY_STRING, "" );
|
||||||
DEF_STR(INI_CURRENT_LANG, "Current Language" );
|
DEF_STR(INI_CURRENT_LANG, "Current Language" );
|
||||||
|
@ -465,7 +466,7 @@ void CLanguage::LoadCurrentStrings ( bool ShowSelectDialog )
|
||||||
stdstr Filename;
|
stdstr Filename;
|
||||||
|
|
||||||
//clear all the current strings loaded
|
//clear all the current strings loaded
|
||||||
CurrentStrings.clear();
|
m_CurrentStrings.clear();
|
||||||
|
|
||||||
//Find the file name of the current language
|
//Find the file name of the current language
|
||||||
for (LanguageList::iterator Language = LangList.begin(); Language != LangList.end(); Language++) {
|
for (LanguageList::iterator Language = LangList.begin(); Language != LangList.end(); Language++) {
|
||||||
|
@ -494,7 +495,7 @@ void CLanguage::LoadCurrentStrings ( bool ShowSelectDialog )
|
||||||
//String;
|
//String;
|
||||||
while(!feof(file))
|
while(!feof(file))
|
||||||
{
|
{
|
||||||
CurrentStrings.insert(GetNextLangString(file));
|
m_CurrentStrings.insert(GetNextLangString(file));
|
||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
|
@ -844,14 +845,15 @@ LanguageList & CLanguage::GetLangList (void)
|
||||||
return m_LanguageList;
|
return m_LanguageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
const stdstr &CLanguage::GetString (LanguageStringID StringID) {
|
const stdstr &CLanguage::GetString (LanguageStringID StringID)
|
||||||
LANG_STRINGS::iterator CurrentString = CurrentStrings.find(StringID);
|
{
|
||||||
if (CurrentString != CurrentStrings.end()) {
|
LANG_STRINGS::iterator CurrentString = m_CurrentStrings.find(StringID);
|
||||||
|
if (CurrentString != m_CurrentStrings.end()) {
|
||||||
return CurrentString->second;
|
return CurrentString->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
LANG_STRINGS::iterator DefString = DefaultStrings.find(StringID);
|
LANG_STRINGS::iterator DefString = m_DefaultStrings.find(StringID);
|
||||||
if (DefString != DefaultStrings.end()) {
|
if (DefString != m_DefaultStrings.end()) {
|
||||||
return DefString->second;
|
return DefString->second;
|
||||||
}
|
}
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
@ -860,7 +862,8 @@ const stdstr &CLanguage::GetString (LanguageStringID StringID) {
|
||||||
return m_emptyString;
|
return m_emptyString;
|
||||||
}
|
}
|
||||||
|
|
||||||
stdstr CLanguage::GetLangString ( const char * FileName, LanguageStringID ID ) {
|
stdstr CLanguage::GetLangString ( const char * FileName, LanguageStringID ID )
|
||||||
|
{
|
||||||
FILE *file = fopen(FileName, "rb");
|
FILE *file = fopen(FileName, "rb");
|
||||||
if (file == NULL) { return stdstr(""); }
|
if (file == NULL) { return stdstr(""); }
|
||||||
|
|
||||||
|
@ -877,7 +880,8 @@ stdstr CLanguage::GetLangString ( const char * FileName, LanguageStringID ID )
|
||||||
return stdstr("");
|
return stdstr("");
|
||||||
}
|
}
|
||||||
|
|
||||||
LANG_STR CLanguage::GetNextLangString (void * OpenFile) {
|
LANG_STR CLanguage::GetNextLangString (void * OpenFile)
|
||||||
|
{
|
||||||
enum { MAX_STRING_LEN = 400 };
|
enum { MAX_STRING_LEN = 400 };
|
||||||
int StringID;
|
int StringID;
|
||||||
char szString[MAX_STRING_LEN]; //temp store the string from the file
|
char szString[MAX_STRING_LEN]; //temp store the string from the file
|
||||||
|
|
|
@ -15,7 +15,8 @@ typedef struct {
|
||||||
|
|
||||||
typedef std::list<LanguageFile> LanguageList;
|
typedef std::list<LanguageFile> LanguageList;
|
||||||
|
|
||||||
class CLanguage {
|
class CLanguage
|
||||||
|
{
|
||||||
public:
|
public:
|
||||||
CLanguage ( );
|
CLanguage ( );
|
||||||
const stdstr & GetString ( LanguageStringID StringID );
|
const stdstr & GetString ( LanguageStringID StringID );
|
||||||
|
@ -31,7 +32,7 @@ private:
|
||||||
stdstr m_SelectedLanguage;
|
stdstr m_SelectedLanguage;
|
||||||
const stdstr m_emptyString;
|
const stdstr m_emptyString;
|
||||||
|
|
||||||
LANG_STRINGS CurrentStrings, DefaultStrings;
|
LANG_STRINGS m_CurrentStrings, m_DefaultStrings;
|
||||||
LanguageList m_LanguageList;
|
LanguageList m_LanguageList;
|
||||||
|
|
||||||
stdstr GetLangString ( const char * FileName, LanguageStringID ID );
|
stdstr GetLangString ( const char * FileName, LanguageStringID ID );
|
||||||
|
|
Loading…
Reference in New Issue