rllib  1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Functions
rlinifile.h File Reference
#include "rldefine.h"
#include "rlstring.h"
Include dependency graph for rlinifile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rlIniFile
 
struct  rlIniFile::_rlSectionName_
 
struct  rlIniFile::_rlSection_
 

Macros

#define rltr(txt)   rltranslate(txt)
 
#define pvtr(txt)   rltranslate2(p->lang_section,txt,&p->mytext2)
 

Functions

int rlSetTranslator (const char *language, const char *inifile=NULL)
 
const char * rltranslate (const char *txt, const char **mytext=NULL)
 
const char * rltranslate2 (const char *section, const char *txt, char **mytext=NULL)
 

Macro Definition Documentation

#define pvtr (   txt)    rltranslate2(p->lang_section,txt,&p->mytext2)

Definition at line 123 of file rlinifile.h.

#define rltr (   txt)    rltranslate(txt)

Definition at line 118 of file rlinifile.h.

Function Documentation

int rlSetTranslator ( const char *  language,
const char *  inifile = NULL 
)

Definition at line 508 of file rlinifile.cpp.

{
if(inifile != NULL)
{
if(trIniFile == NULL) trIniFile = new rlIniFile();
if(trIniFile->read(inifile) < 0) return -1;
}
return 0;
}
const char* rltranslate ( const char *  txt,
const char **  mytext = NULL 
)
const char* rltranslate2 ( const char *  section,
const char *  txt,
char **  mytext = NULL 
)

Definition at line 549 of file rlinifile.cpp.

{
//printf("rltranslate2(%s,%s) mytext=%s\n", section, txt, *mytext);
if(trIniFile == NULL) return fixquote(txt,mytext); // use original language because translator is not initalized
if(*section == '\0') return rltranslate(txt,mytext); // user did not call pvSelectLanguage()
const char *text = trIniFile->text(section,txt); // translate
if(text[0] == '\0') return fixquote(txt,mytext); // use original language because there is no tranlation available
return fixquote(text,mytext); // return the translated text
}