libnick 2024.12.0
A cross-platform base for native Nickvision applications.
Loading...
Searching...
No Matches
Nickvision::Localization::Gettext Namespace Reference

Functions

bool init (const std::string &domainName)
 Initializes the gettext system. This function should only be called once, regardless of with different domain names.
 
const std::string & getDomainName ()
 Gets the domain name used for gettext translations.
 
const char * pgettext (const char *context, const char *msg)
 Translates a message for a given context.
 
const char * pngettext (const char *context, const char *msg, const char *msgPlural, unsigned long n)
 Translates a plural message for a given context.
 

Function Documentation

◆ getDomainName()

const std::string & Nickvision::Localization::Gettext::getDomainName ( )

Gets the domain name used for gettext translations.

Returns
The gettext domain name

◆ init()

bool Nickvision::Localization::Gettext::init ( const std::string & domainName)

Initializes the gettext system. This function should only be called once, regardless of with different domain names.

Parameters
domainNameThe domain name to use for gettext translations. Must be lowercase and contain no spaces.
Returns
True if initialized, else false

◆ pgettext()

const char * Nickvision::Localization::Gettext::pgettext ( const char * context,
const char * msg )

Translates a message for a given context.

Parameters
contextThe context of the message
msgThe message to translate
Returns
The translated message for the given context.

◆ pngettext()

const char * Nickvision::Localization::Gettext::pngettext ( const char * context,
const char * msg,
const char * msgPlural,
unsigned long n )

Translates a plural message for a given context.

Parameters
contextThe context of the message
msgThe message to translate
msgPluralThe plural version of the message to translate
nThe number of objects (used to determine whether or not to use the plural version of the message)
Returns
The translated message for the given context and number of objects.