Rev 197 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "Languages.h"
#include <stdarg.h>
CLanguages *CLanguages::_pInstance = NULL;
CLanguages::CLanguages() : m_iLanguage(-1)
{
_lLanguages = new std::vector<SLanguageTexts>();
}
CLanguages::~CLanguages()
{
delete _lLanguages;
}
CLanguages *CLanguages::Instance()
{
if ( !_pInstance ) {
_pInstance = new CLanguages();
}
return _pInstance;
}
void CLanguages::Release()
{
if ( _pInstance ) {
delete _pInstance;
_pInstance = NULL;
}
}
Utils::String CLanguages::findText(int section, int id)
{
SLanguageTexts *text = _findLanguageText();
if ( text )
{
LANGMAP::iterator itr = text->texts.find(Utils::String::Number(section) + ":" + Utils::String::Number(id));
if ( itr != text->texts.end() )
return itr->second;
}
return GetText(section, id);
}
SLanguageTexts *CLanguages::_findLanguageText(int id)
{
if ( id == -1 ) id = m_iLanguage;
if ( _lLanguages ) {
for ( int i = 0; i < (int)_lLanguages->size(); i++ )
{
if ( _lLanguages->at(i).iLang == id )
return &_lLanguages->at(i);
}
}
return NULL;
}