Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

LocaleMgr Class Reference

The LocaleMgr class handles all the different locales of Sword. More...

#include <localemgr.h>

Collaboration diagram for LocaleMgr:

Collaboration graph
[legend]
List of all members.

Public Methods

 LocaleMgr (const char *iConfigPath=0)
 Default constructor of LocaleMgr You do normally not need this constructor, use LocaleMgr::systemLocaleMgr instead.

virtual ~LocaleMgr ()
 Default destructor of LocaleMgr.

virtual SWLocalegetLocale (const char *name)
 Get the locale connected with the name "name". More...

virtual list< string > getAvailableLocales ()
 Get the list of available locales. More...

virtual const char * translate (const char *text, const char *localeName=0)
 Returns translated text. More...

virtual const char * getDefaultLocaleName ()
 Get the default locale name. More...

virtual void setDefaultLocaleName (const char *name)
 Set the new standard locale of Sword. More...

virtual void loadConfigDir (const char *ipath)
 Augment this localmgr with all locale.conf files in a directory.


Static Public Attributes

LocaleMgr systemLocaleMgr
 The LocaleMgr object used globally in the Sword world. More...


Protected Attributes

LocaleMap locales

Private Methods

void deleteLocales ()

Private Attributes

char * defaultLocaleName

Detailed Description

The LocaleMgr class handles all the different locales of Sword.

It provides functions to get a list of all available locales, to get the default locale name and to get it. The other functions are not interesting for frontend programmers.

To get the default locale name use

See also:
getDefaultLocaleName To set the default locale name use , setDefaultLocaleName To get the locale for a language name use , getLocale To get a list of availble locales use , getAvailableLocales

Definition at line 49 of file localemgr.h.


Member Function Documentation

list< string > LocaleMgr::getAvailableLocales   [virtual]
 

Get the list of available locales.

@ret Returns a list of strings, which contains the names of the available locales.

Definition at line 156 of file localemgr.cpp.

00156                                              {
00157         list <string> retVal;
00158         for (LocaleMap::iterator it = locales.begin(); it != locales.end(); it++) 
00159                 retVal.push_back((*it).second->getName());
00160 
00161         return retVal;
00162 }

const char * LocaleMgr::getDefaultLocaleName   [virtual]
 

Get the default locale name.

To set it use

See also:
setDefaultLocaleName
@ret Returns the default locale name

Definition at line 177 of file localemgr.cpp.

Referenced by translate().

00177                                             {
00178         return defaultLocaleName;
00179 }

SWLocale * LocaleMgr::getLocale const char *    name [virtual]
 

Get the locale connected with the name "name".

Parameters:
name  The name of the locale you want to have. For example use getLocale("de") to get the locale for the German language.
Returns:
Returns the locale object if the locale with the name given as parameter was found. If it wasn't found return NULL.

Definition at line 145 of file localemgr.cpp.

Referenced by translate().

00145                                                {
00146         LocaleMap::iterator it;
00147 
00148         it = locales.find(name);
00149         if (it != locales.end())
00150                 return (*it).second;
00151 
00152         return 0;
00153 }

void LocaleMgr::setDefaultLocaleName const char *    name [virtual]
 

Set the new standard locale of Sword.

Parameters:
name  The name of the new default locale

Definition at line 182 of file localemgr.cpp.

Referenced by LocaleMgr().

00182                                                      {
00183         stdstr(&defaultLocaleName, name);
00184 }

const char * LocaleMgr::translate const char *    text,
const char *    localeName = 0
[virtual]
 

Returns translated text.

This function uses both parameters to return the translated version of the given text.

Parameters:
The  text to translate into the language given by the first parameter.
localeName  The name of the locale Sword should use
Returns:
Returns the translated text.

Definition at line 165 of file localemgr.cpp.

References getDefaultLocaleName(), getLocale(), and SWLocale::translate().

00165                                                                          {
00166         SWLocale *target;
00167         if (!localeName) {
00168                 localeName = getDefaultLocaleName();
00169         }
00170         target = getLocale(localeName);
00171         if (target)
00172                 return target->translate(text);
00173         return text;
00174 }


Member Data Documentation

LocaleMgr LocaleMgr::systemLocaleMgr [static]
 

The LocaleMgr object used globally in the Sword world.

Do not create your own LocaleMgr, use this static object instead.

Definition at line 43 of file localemgr.cpp.

Referenced by VerseKey::init().


The documentation for this class was generated from the following files:
Generated on Thu Jun 20 22:13:02 2002 for The Sword Project by doxygen1.2.15