/* Include file for multi-language support.
*
* IRC Services is copyright (c) 1996-2007 Andrew Church.
* E-mail: <achurch@achurch.org>
* Parts written by Andrew Kempe and others.
* This program is free but copyrighted software; see the file COPYING for
* details.
*/
#ifndef LANGUAGE_H
#define LANGUAGE_H
/*************************************************************************/
/* Languages. Never insert anything in (or delete anything from) the
* middle of this list, or everybody will start getting the wrong language!
* If you want to change the order the languages are displayed in for
* NickServ HELP SET LANGUAGE, do it in language.c.
*/
#define LANG_EN_US 0 /* United States English */
#define LANG_UNUSED1 1 /* Unused; was Japanese (JIS encoding) */
#define LANG_JA_EUC 2 /* Japanese (EUC encoding) */
#define LANG_JA_SJIS 3 /* Japanese (SJIS encoding) */
#define LANG_ES 4 /* Spanish */
#define LANG_PT 5 /* Portugese */
#define LANG_FR 6 /* French */
#define LANG_TR 7 /* Turkish */
#define LANG_IT 8 /* Italian */
#define LANG_DE 9 /* German */
#define LANG_NL 10 /* Dutch */
#define LANG_HU 11 /* Hungarian */
#define LANG_RU 12 /* Russian */
#define NUM_LANGS 13 /* Number of languages */
#define LANG_DEFAULT -1 /* "Use the default" setting */
/* Sanity-check on default language value */
#if DEF_LANGUAGE < 0 || DEF_LANGUAGE >= NUM_LANGS
# error Invalid value for DEF_LANGUAGE: must be >= 0 and < NUM_LANGS
#endif
/*************************************************************************/
/* Flags for maketime() `flags' parameter. */
#define MT_DUALUNIT 0x0001 /* Allow two units (e.g. X hours Y mins) */
#define MT_SECONDS 0x0002 /* Allow seconds (default minutes only) */
/*************************************************************************/
/* External symbol declarations (see language.c for documentation). */
extern int langlist[NUM_LANGS+1];
extern int lang_init(void);
extern void lang_cleanup(void);
extern int have_language(int language);
extern const char *getstring(const NickGroupInfo *ngi, int index);
extern const char *getstring_lang(int language, int index);
extern int setstring(int old, int new);
extern int strftime_lang(char *buf, int size, const NickGroupInfo *ngi,
int format, time_t time);
extern char *maketime(const NickGroupInfo *ngi, time_t time, int flags);
extern void expires_in_lang(char *buf, int size, const NickGroupInfo *ngi,
time_t seconds);
extern void syntax_error(const char *service, const User *u,
const char *command, int msgnum);
/*************************************************************************/
/* Definitions of language string constants. */
#include "langstrs.h"
/*************************************************************************/
#endif /* LANGUAGE_H */
syntax highlighted by Code2HTML, v. 0.9.1