Stellarium  0.16.1
List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes
StelTranslator Class Reference

Class used to translate strings to any language. More...

#include <StelTranslator.hpp>

+ Collaboration diagram for StelTranslator:

Public Member Functions

 StelTranslator (const QString &adomain, const QString &alangName)
 Create a translator from a language name. More...
 
QString qtranslate (const QString &s, const QString &c=QString()) const
 Translate input message and return it as a QString. More...
 
QString tryQtranslate (const QString &s, const QString &c=QString()) const
 Try to translate input message and return it as a QString. More...
 
const QString & getTrueLocaleName () const
 Get true translator locale name. More...
 
QStringList getAvailableLanguagesNamesNative (const QString &localeDir="", const QString &section="") const
 Get available language name in native language from passed locales directory. More...
 

Static Public Member Functions

static QString iso639_1CodeToNativeName (const QString &languageCode)
 Convert from ISO639-1 langage code to native language name. More...
 
static QString nativeNameToIso639_1Code (const QString &languageName)
 Convert from native language name to ISO639-1 2 letters langage code. More...
 
static void init (const QString &fileName)
 Initialize Translation. More...
 

Static Public Attributes

static StelTranslatorglobalTranslator
 Used as a global translator by the whole app. More...
 

Detailed Description

Class used to translate strings to any language.

Implements a nice interface to gettext which is UTF-8 compliant and is somewhat multiplateform All its operations do not modify the global locale. The purpose of this class is to remove all non-OO C locale functions from stellarium.

Author
Fabien Chereau

Definition at line 49 of file StelTranslator.hpp.

Constructor & Destructor Documentation

StelTranslator::StelTranslator ( const QString &  adomain,
const QString &  alangName 
)

Create a translator from a language name.

If the passed locale name cannot be handled by the system, default value will be used. The passed language name is a language code string like "fr" or "fr_FR". This class wrap gettext to simulate an object oriented multiplateform gettext UTF8 translator

Parameters
adomainThe name of the domain to use for translation
amoDirectoryThe directory where to look for the domain.mo translation files.
alangNameThe C locale name or language name like "fr" or "fr_FR". If string is "" or "system" it will use the system locale.

Member Function Documentation

QStringList StelTranslator::getAvailableLanguagesNamesNative ( const QString &  localeDir = "",
const QString &  section = "" 
) const

Get available language name in native language from passed locales directory.

const QString& StelTranslator::getTrueLocaleName ( ) const
inline

Get true translator locale name.

Actual locale, never "system".

Returns
Locale name e.g "fr_FR"

Definition at line 80 of file StelTranslator.hpp.

static void StelTranslator::init ( const QString &  fileName)
static

Initialize Translation.

Parameters
fileNamefile containing the list of language codes
static QString StelTranslator::iso639_1CodeToNativeName ( const QString &  languageCode)
static

Convert from ISO639-1 langage code to native language name.

Parameters
languageCodethe code to look up
static QString StelTranslator::nativeNameToIso639_1Code ( const QString &  languageName)
static

Convert from native language name to ISO639-1 2 letters langage code.

QString StelTranslator::qtranslate ( const QString &  s,
const QString &  c = QString() 
) const

Translate input message and return it as a QString.

If the string is not translated in the current locale, the input string is returned unchanged.

Parameters
sinput string in english.
cdisambiguation string (gettext "context" string).
Returns
The translated QString
QString StelTranslator::tryQtranslate ( const QString &  s,
const QString &  c = QString() 
) const

Try to translate input message and return it as a QString.

If no translation exist for the current StelTranslator language, a null string is returned.

Parameters
sinput string in english.
cdisambiguation string (gettext "context" string).
Returns
The translated QString

Member Data Documentation

StelTranslator* StelTranslator::globalTranslator
static

Used as a global translator by the whole app.

Definition at line 89 of file StelTranslator.hpp.


The documentation for this class was generated from the following file: