1 /*
2  * "streamable kanji code filter and converter"
3  * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
4  *
5  * LICENSE NOTICES
6  *
7  * This file is part of "streamable kanji code filter and converter",
8  * which is distributed under the terms of GNU Lesser General Public
9  * License (version 2) as published by the Free Software Foundation.
10  *
11  * This software is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with "streamable kanji code filter and converter";
18  * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
19  * Suite 330, Boston, MA  02111-1307  USA
20  *
21  * The author of this file:
22  *
23  */
24 /*
25  * The source code included in this files was separated from mbfilter.h
26  * by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file
27  * mbfilter.h is included in this package .
28  *
29  */
30 
31 #ifndef MBFL_LANGUAGE_H
32 #define MBFL_LANGUAGE_H
33 
34 #include "mbfl_defs.h"
35 #include "mbfl_encoding.h"
36 
37 enum mbfl_no_language {
38 	mbfl_no_language_invalid = -1,
39 	mbfl_no_language_neutral,
40 	mbfl_no_language_uni,
41 	mbfl_no_language_min,
42 	mbfl_no_language_catalan,		/* ca */
43 	mbfl_no_language_danish,		/* da */
44 	mbfl_no_language_german,		/* de */
45 	mbfl_no_language_english,		/* en */
46 	mbfl_no_language_estonian,		/* et */
47 	mbfl_no_language_greek,			/* el */
48 	mbfl_no_language_spanish,		/* es */
49 	mbfl_no_language_french,		/* fr */
50 	mbfl_no_language_italian,		/* it */
51 	mbfl_no_language_japanese,		/* ja */
52 	mbfl_no_language_korean,		/* ko */
53 	mbfl_no_language_dutch,			/* nl */
54 	mbfl_no_language_polish,		/* pl */
55 	mbfl_no_language_portuguese,	        /* pt */
56 	mbfl_no_language_swedish,		/* sv */
57 	mbfl_no_language_simplified_chinese,		/* zh-cn */
58 	mbfl_no_language_traditional_chinese,		/* zh-tw */
59 	mbfl_no_language_russian,		/* ru */
60 	mbfl_no_language_ukrainian,		/* ua */
61 	mbfl_no_language_armenian,		/* hy */
62 	mbfl_no_language_turkish,		/* tr */
63 	mbfl_no_language_max
64 };
65 
66 typedef enum mbfl_no_language mbfl_language_id;
67 
68 /*
69  * language
70  */
71 typedef struct _mbfl_language {
72 	enum mbfl_no_language no_language;
73 	const char *name;
74 	const char *short_name;
75 	const char *(*aliases)[];
76 	enum mbfl_no_encoding mail_charset;
77 	enum mbfl_no_encoding mail_header_encoding;
78 	enum mbfl_no_encoding mail_body_encoding;
79 } mbfl_language;
80 
81 MBFLAPI extern const mbfl_language * mbfl_name2language(const char *name);
82 MBFLAPI extern const mbfl_language * mbfl_no2language(enum mbfl_no_language no_language);
83 MBFLAPI extern enum mbfl_no_language mbfl_name2no_language(const char *name);
84 MBFLAPI extern const char * mbfl_no_language2name(enum mbfl_no_language no_language);
85 
86 
87 #endif /* MBFL_LANGUAGE_H */
88