mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Switched I18N to gettext
This commit is contained in:
51
i18n.h
51
i18n.h
@@ -4,25 +4,58 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: i18n.h 1.20 2007/05/28 11:43:14 kls Exp $
|
||||
* $Id: i18n.h 1.21 2007/08/10 13:53:57 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __I18N_H
|
||||
#define __I18N_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "tools.h"
|
||||
|
||||
const int I18nNumLanguages = 22;
|
||||
typedef const char *tI18nPhrase[22]; ///< obsolete - switch to 'gettext'!
|
||||
|
||||
typedef const char *tI18nPhrase[I18nNumLanguages];
|
||||
|
||||
void I18nRegister(const tI18nPhrase * const Phrases, const char *Plugin);
|
||||
#define I18N_DEFAULT_LOCALE "en_US"
|
||||
#define I18N_MAX_LOCALE_LEN 16 // for buffers that hold en_US etc.
|
||||
#define I18N_MAX_LANGUAGES 256 // for buffers that hold all available languages
|
||||
|
||||
void I18nInitialize(void);
|
||||
///< Detects all available locales and loads the language names and codes.
|
||||
void I18nRegister(const char *Plugin);
|
||||
///< Registers the named plugin, so that it can use internationalized texts.
|
||||
void I18nSetLocale(const char *Locale);
|
||||
///< Sets the current locale to Locale. The default locale is "en_US".
|
||||
///< If no such locale has been found in the call to I18nInitialize(),
|
||||
///< nothing happens.
|
||||
int I18nCurrentLanguage(void);
|
||||
///< Returns the index of the current language. This number stays the
|
||||
///< same for any given language while the program is running, but may
|
||||
///< be different when the program is run again (for instance because
|
||||
///< a locale has been added or removed). The default locale ("en_US")
|
||||
///< always has a zero index.
|
||||
void I18nSetLanguage(int Language);
|
||||
///< Sets the current language index to Language. If Language is outside
|
||||
///< the range of available languages, nothing happens.
|
||||
const cStringList *I18nLanguages(void);
|
||||
///< Returns the list of available languages. Values returned by
|
||||
///< I18nCurrentLanguage() are indexes into this list.
|
||||
const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1);
|
||||
|
||||
const char * const * I18nLanguages(void);
|
||||
const char *I18nLanguageCode(int Index);
|
||||
///< Translates the given string (with optional Plugin context) into
|
||||
///< the current language. If no translation is available, the original
|
||||
///< string will be returned.
|
||||
const char *I18nLocale(int Language);
|
||||
///< Returns the locale code of the given Language (which is an index as
|
||||
///< returned by I18nCurrentLanguage()). If Language is outside the range
|
||||
///< of available languages, NULL is returned.
|
||||
const char *I18nLanguageCode(int Language);
|
||||
///< Returns the three letter language code of the given Language (which
|
||||
///< is an index as returned by I18nCurrentLanguage()). If Language is
|
||||
///< outside the range of available languages, NULL is returned.
|
||||
///< The returned string may consist of several alternative three letter
|
||||
///< language codes, separated by commas (as in "deu,ger").
|
||||
int I18nLanguageIndex(const char *Code);
|
||||
///< Returns the index of the language with the given three letter
|
||||
///< language Code. If no suitable language is found, -1 is returned.
|
||||
const char *I18nNormalizeLanguageCode(const char *Code);
|
||||
///< Returns a 3 letter language code that may not be zero terminated.
|
||||
///< If no normalized language code can be found, the given Code is returned.
|
||||
@@ -44,4 +77,6 @@ bool I18nIsPreferredLanguage(int *PreferredLanguages, const char *LanguageCode,
|
||||
#define tr(s) I18nTranslate(s)
|
||||
#endif
|
||||
|
||||
#define trNOOP(s) (s)
|
||||
|
||||
#endif //__I18N_H
|
||||
|
Reference in New Issue
Block a user