Add definitions for new categories.
[kopensolaris-gnu/glibc.git] / locale / categories.def
1 /* Definition of all available locale categories and their items.  -*- C -*-
2    Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public License as
6    published by the Free Software Foundation; either version 2 of the
7    License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public
15    License along with the GNU C Library; see the file COPYING.LIB.  If not,
16    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17    Boston, MA 02111-1307, USA.  */
18
19 /* These definitions are used by the locale-related files in the C library
20    and the programs `localedef' and `locale'.
21
22    The general format of the descriptions is like this:
23
24      DEFINE_CATEGORY (ID, name, ( items ), setlocale-postload)
25
26    where items itself is an array of entries in the form
27
28      { ID, name, standard, value-type, min, max }
29
30    The usage of the load, check, output functions depends on the individual
31    program code which loads this file.
32
33    The various value types for the items are `string', `stringarray', `byte'
34    `bytearray', and `word'.  These cover all possible values in the current
35    locale definitions.  `min' and `max' can be individually used again.  */
36
37 #ifndef NO_POSTLOAD
38 #define NO_POSTLOAD NULL
39 #endif
40
41 DEFINE_CATEGORY
42 (
43  LC_COLLATE, "LC_COLLATE",
44  (
45   DEFINE_ELEMENT (_NL_COLLATE_NRULES,         "collate-nrules",           std, word)
46   DEFINE_ELEMENT (_NL_COLLATE_RULES,          "collate-rules",            std, string)
47   DEFINE_ELEMENT (_NL_COLLATE_HASH_SIZE,      "collate-hash-size",        std, word)
48   DEFINE_ELEMENT (_NL_COLLATE_HASH_LAYERS,    "collate-hash-layers",      std, word)
49   DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EB,     "collate-tablewc-eb",       std, string)
50   DEFINE_ELEMENT (_NL_COLLATE_TABLEWC_EL,     "collate-tablewc-el",       std, string)
51   DEFINE_ELEMENT (_NL_COLLATE_UNDEFINED_WC,   "collate-undefined-wc",     std, word)
52   DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EB,     "collate-extrawc-eb",       std, string)
53   DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC_EL,     "collate-extrawc-el",       std, string)
54   DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_SIZE, "collate-elem-hash-size",   std, word)
55   DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EB,   "collate-elem-hash-eb",     std, string)
56   DEFINE_ELEMENT (_NL_COLLATE_ELEM_HASH_EL,   "collate-elem-hash-el",     std, string)
57   DEFINE_ELEMENT (_NL_COLLATE_ELEM_STR_POOL,  "collate-elem-str-pool",    std, string)
58   DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EB,    "collate-elem-val-eb",      std, string)
59   DEFINE_ELEMENT (_NL_COLLATE_ELEM_VAL_EL,    "collate-elem-val-el",      std, string)
60   DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_SIZE, "collate-symb-hash-size",   std, word)
61   DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EB,   "collate-symb-hash-eb",     std, string)
62   DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_EL,   "collate-symb-hash-el",     std, string)
63   DEFINE_ELEMENT (_NL_COLLATE_SYMB_STR_POOL,  "collate-symb-str-pool",    std, string)
64   DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EB, "collate-symb-classwc-eb", std, string)
65   DEFINE_ELEMENT (_NL_COLLATE_SYMB_CLASSWC_EL, "collate-symb-classwc-el", std, string)
66   ), _nl_postload_collate)
67
68
69 /* The actual definition of ctype is meaningless here.  It is hard coded in
70    the code because it has to be handled very specially.  Only the names of
71    the functions and the value types are important.  */
72 DEFINE_CATEGORY
73 (
74  LC_CTYPE, "LC_CTYPE",
75  (
76   DEFINE_ELEMENT (_NL_CTYPE_CLASS,          "ctype-class",          std, string)
77   DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EB,     "ctype-toupper-eb",     std, string)
78   DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EB,     "ctype-tolower-eb",     std, string)
79   DEFINE_ELEMENT (_NL_CTYPE_TOUPPER_EL,     "ctype-toupper-el",     std, string)
80   DEFINE_ELEMENT (_NL_CTYPE_TOLOWER_EL,     "ctype-tolower-el",     std, string)
81   DEFINE_ELEMENT (_NL_CTYPE_CLASS32,        "ctype-class32",        std, string)
82   DEFINE_ELEMENT (_NL_CTYPE_NAMES_EB,       "ctype-names-eb",       std, string)
83   DEFINE_ELEMENT (_NL_CTYPE_NAMES_EL,       "ctype-names-el",       std, string)
84   DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EB,   "ctype-hash-size-eb",   std, word)
85   DEFINE_ELEMENT (_NL_CTYPE_HASH_SIZE_EL,   "ctype-hash-size-el",   std, word)
86   DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EB, "ctype-hash-layers-eb", std, word)
87   DEFINE_ELEMENT (_NL_CTYPE_HASH_LAYERS_EL, "ctype-hash-layers-el", std, word)
88   DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES,    "ctype-class-names",    std, stringlist)
89   DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES,      "ctype-map-names",      std, stringlist)
90   DEFINE_ELEMENT (_NL_CTYPE_WIDTH,          "ctype-width",          std, bytearray)
91   DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX,     "ctype-mb-cur-max",     std, word)
92   DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME,   "charmap",              std, string)
93   ), _nl_postload_ctype)
94
95
96 #if __BYTE_ORDER == __BIG_ENDIAN
97 # define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EB
98 #else
99 # define _NL_MONETARY_CONVERSION_RATE _NL_MONETARY_CONVERSION_RATE_EL
100 #endif
101 DEFINE_CATEGORY
102 (
103  LC_MONETARY, "LC_MONETARY",
104  (
105   DEFINE_ELEMENT (INT_CURR_SYMBOL,                     "int_curr_symbol",        std, string)
106   DEFINE_ELEMENT (CURRENCY_SYMBOL,                     "currency_symbol",        std, string)
107   DEFINE_ELEMENT (MON_DECIMAL_POINT,                   "mon_decimal_point",      std, string)
108   DEFINE_ELEMENT (MON_THOUSANDS_SEP,                   "mon_thousands_sep",      std, string)
109   DEFINE_ELEMENT (MON_GROUPING,                        "mon_grouping",           std, bytearray)
110   DEFINE_ELEMENT (POSITIVE_SIGN,                       "positive_sign",          std, string)
111   DEFINE_ELEMENT (NEGATIVE_SIGN,                       "negative_sign",          std, string)
112   DEFINE_ELEMENT (INT_FRAC_DIGITS,                     "int_frac_digits",        std, byte)
113   DEFINE_ELEMENT (FRAC_DIGITS,                         "frac_digits",            std, byte)
114   DEFINE_ELEMENT (P_CS_PRECEDES,                       "p_cs_precedes",          std, byte, 0, 1)
115   DEFINE_ELEMENT (P_SEP_BY_SPACE,                      "p_sep_by_space",         std, byte, 0, 2)
116   DEFINE_ELEMENT (N_CS_PRECEDES,                       "n_cs_precedes",          std, byte, 0, 1)
117   DEFINE_ELEMENT (N_SEP_BY_SPACE,                      "n_sep_by_space",         std, byte, 0, 2)
118   DEFINE_ELEMENT (P_SIGN_POSN,                         "p_sign_posn",            std, byte, 0, 4)
119   DEFINE_ELEMENT (N_SIGN_POSN,                         "n_sign_posn",            std, byte, 0, 4)
120   DEFINE_ELEMENT (_NL_MONETARY_INT_P_CS_PRECEDES,      "int_p_cs_precedes",      std, byte, 0, 1)
121   DEFINE_ELEMENT (_NL_MONETARY_INT_P_SEP_BY_SPACE,     "int_p_sep_by_space",     std, byte, 0, 2)
122   DEFINE_ELEMENT (_NL_MONETARY_INT_N_CS_PRECEDES,      "int_n_cs_precedes",      std, byte, 0, 1)
123   DEFINE_ELEMENT (_NL_MONETARY_INT_N_SEP_BY_SPACE,     "int_n_sep_by_space",     std, byte, 0, 2)
124   DEFINE_ELEMENT (_NL_MONETARY_INT_P_SIGN_POSN,        "int_p_sign_posn",        std, byte, 0, 4)
125   DEFINE_ELEMENT (_NL_MONETARY_INT_N_SIGN_POSN,        "int_n_sign_posn",        std, byte, 0, 4)
126   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_CURR_SYMBOL,    "duo_int_curr_symbol",    std, string)
127   DEFINE_ELEMENT (_NL_MONETARY_DUO_CURRENCY_SYMBOL,    "duo_currency_symbol",    std, string)
128   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_FRAC_DIGITS,    "duo_int_frac_digits",    std, byte)
129   DEFINE_ELEMENT (_NL_MONETARY_DUO_FRAC_DIGITS,        "duo_frac_digits",        std, byte)
130   DEFINE_ELEMENT (_NL_MONETARY_DUO_P_CS_PRECEDES,      "duo_p_cs_precedes",      std, byte, 0, 1)
131   DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SEP_BY_SPACE,     "duo_p_sep_by_space",     std, byte, 0, 2)
132   DEFINE_ELEMENT (_NL_MONETARY_DUO_N_CS_PRECEDES,      "duo_n_cs_precedes",      std, byte, 0, 1)
133   DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SEP_BY_SPACE,     "duo_n_sep_by_space",     std, byte, 0, 2)
134   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_CS_PRECEDES,  "duo_int_p_cs_precedes",  std, byte, 0, 1)
135   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, "duo_int_p_sep_by_space", std, byte, 0, 2)
136   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_CS_PRECEDES,  "duo_int_n_cs_precedes",  std, byte, 0, 1)
137   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, "duo_int_n_sep_by_space", std, byte, 0, 2)
138   DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SIGN_POSN,        "duo_p_sign_posn",        std, byte, 0, 4)
139   DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SIGN_POSN,        "duo_n_sign_posn",        std, byte, 0, 4)
140   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SIGN_POSN,    "duo_int_p_sign_posn",    std, byte, 0, 4)
141   DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SIGN_POSN,    "duo_int_n_sign_posn",    std, byte, 0, 4)
142   DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_FROM,         "uno_valid_from",         std, word)
143   DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_TO,           "uno_valid_to",           std, word)
144   DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_FROM,         "duo_valid_from",         std, word)
145   DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_TO,           "duo_valid_to",           std, word)
146   DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EB,     "conversion_rate-eb",      std, wordarray, 2, 2)
147   DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE_EL,     "conversion_rate-el",      std, wordarray, 2, 2)
148   ), NO_POSTLOAD)
149
150
151 DEFINE_CATEGORY
152 (
153  LC_NUMERIC, "LC_NUMERIC",
154  (
155   DEFINE_ELEMENT (DECIMAL_POINT, "decimal_point", std, string)
156   DEFINE_ELEMENT (THOUSANDS_SEP, "thousands_sep", std, string)
157   DEFINE_ELEMENT (GROUPING,      "grouping",      std, bytearray)
158   ), NO_POSTLOAD)
159
160
161 DEFINE_CATEGORY
162 (
163  LC_TIME, "LC_TIME",
164  (
165   DEFINE_ELEMENT (ABDAY_1,     "abday",       std, stringarray,  7,  7)
166   DEFINE_ELEMENT (DAY_1,       "day",         std, stringarray,  7,  7)
167   DEFINE_ELEMENT (ABMON_1,     "abmon",       std, stringarray, 12, 12)
168   DEFINE_ELEMENT (MON_1,       "mon",         std, stringarray, 12, 12)
169   DEFINE_ELEMENT (AM_STR,      "am_pm",       std, stringarray,  2,  2)
170   DEFINE_ELEMENT (D_T_FMT,     "d_t_fmt",     std, string)
171   DEFINE_ELEMENT (D_FMT,       "d_fmt",       std, string)
172   DEFINE_ELEMENT (T_FMT,       "t_fmt",       std, string)
173   DEFINE_ELEMENT (T_FMT_AMPM,  "t_fmt_ampm",  std, string)
174   DEFINE_ELEMENT (ERA,         "era",         opt, stringarray)
175   DEFINE_ELEMENT (ERA_YEAR,    "era_year",    opt, string)
176   DEFINE_ELEMENT (ERA_D_FMT,   "era_d_fmt",   opt, string)
177   DEFINE_ELEMENT (ALT_DIGITS,  "alt_digits",  opt, stringarray,  0, 100)
178   DEFINE_ELEMENT (ERA_D_T_FMT, "era_d_t_fmt", opt, string)
179   DEFINE_ELEMENT (ERA_T_FMT,   "era_t_fmt",   opt, string)
180   DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EB, "time-era-num-entries-eb", opt, word)
181   DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES_EL, "time-era-num-entries-el", opt, word)
182   DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EB,  "time-era-entries-eb", opt, string)
183   DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES_EL,  "time-era-entries-el", opt, string)
184   DEFINE_ELEMENT (_NL_WABDAY_1_EB,  "wide-abday-eb",    std, stringarray,  7,  7)
185   DEFINE_ELEMENT (_NL_WABDAY_1_EL,  "wide-abday-el",    std, stringarray,  7,  7)
186   DEFINE_ELEMENT (_NL_WDAY_1_EB,    "wide-day-eb",      std, stringarray,  7,  7)
187   DEFINE_ELEMENT (_NL_WDAY_1_EL,    "wide-day-el",      std, stringarray,  7,  7)
188   DEFINE_ELEMENT (_NL_WABMON_1_EB,  "wide-abmon-eb",    std, stringarray, 12, 12)
189   DEFINE_ELEMENT (_NL_WABMON_1_EL,  "wide-abmon-el",    std, stringarray, 12, 12)
190   DEFINE_ELEMENT (_NL_WMON_1_EB,    "wide-mon-eb",      std, stringarray, 12, 12)
191   DEFINE_ELEMENT (_NL_WMON_1_EL,    "wide-mon-el",      std, stringarray, 12, 12)
192   DEFINE_ELEMENT (_NL_WAM_STR_EB,   "wide-am_pm-eb",    std, stringarray,  2,  2)
193   DEFINE_ELEMENT (_NL_WAM_STR_EL,   "wide-am_pm-el",    std, stringarray,  2,  2)
194   DEFINE_ELEMENT (_NL_WD_T_FMT_EB,  "wide-d_t_fmt-eb",  std, string)
195   DEFINE_ELEMENT (_NL_WD_T_FMT_EL,  "wide-d_t_fmt-el",  std, string)
196   DEFINE_ELEMENT (_NL_WD_FMT_EB,    "wide-d_fmt-eb",    std, string)
197   DEFINE_ELEMENT (_NL_WD_FMT_EL,    "wide-d_fmt-el",    std, string)
198   DEFINE_ELEMENT (_NL_WT_FMT_EB,    "wide-t_fmt-eb",    std, string)
199   DEFINE_ELEMENT (_NL_WT_FMT_EL,    "wide-t_fmt-el",    std, string)
200   DEFINE_ELEMENT (_NL_WT_FMT_AMPM_EB, "wide-t_fmt_ampm-eb", std, string)
201   DEFINE_ELEMENT (_NL_WT_FMT_AMPM_EL, "wide-t_fmt_ampm-el", std, string)
202   DEFINE_ELEMENT (_NL_WERA_YEAR_EB,   "wide-era_year-eb",    opt, string)
203   DEFINE_ELEMENT (_NL_WERA_YEAR_EL,   "wide-era_year-el",    opt, string)
204   DEFINE_ELEMENT (_NL_WERA_D_FMT_EB,  "wide-era_d_fmt-eb",   opt, string)
205   DEFINE_ELEMENT (_NL_WERA_D_FMT_EL,  "wide-era_d_fmt-el",   opt, string)
206   DEFINE_ELEMENT (_NL_WALT_DIGITS_EB,  "wide-alt_digits-eb",  opt, stringarray,  0, 100)
207   DEFINE_ELEMENT (_NL_WALT_DIGITS_EL,  "wide-alt_digits-el",  opt, stringarray,  0, 100)
208   DEFINE_ELEMENT (_NL_WERA_D_T_FMT_EB, "wide-era_d_t_fmt-eb", opt, string)
209   DEFINE_ELEMENT (_NL_WERA_D_T_FMT_EL, "wide-era_d_t_fmt-el", opt, string)
210   DEFINE_ELEMENT (_NL_WERA_T_FMT_EB,   "wide-era_t_fmt-eb",   opt, string)
211   DEFINE_ELEMENT (_NL_WERA_T_FMT_EL,   "wide-era_t_fmt-el",   opt, string)
212   DEFINE_ELEMENT (_NL_TIME_WEEK_NDAYS,      "week-ndays",          std, byte)
213   DEFINE_ELEMENT (_NL_TIME_WEEK_1STDAY,     "week-1stday",         std, word)
214   DEFINE_ELEMENT (_NL_TIME_WEEK_1STWEEK,    "week-1stweek",        std, byte)
215   DEFINE_ELEMENT (_NL_TIME_FIRST_WEEKDAY,   "first_weekday",       std, byte)
216   DEFINE_ELEMENT (_NL_TIME_FIRST_WORKDAY,   "first_workday",       std, byte)
217   DEFINE_ELEMENT (_NL_TIME_CAL_DIRECTION,   "cal_direction",       std, byte)
218   DEFINE_ELEMENT (_NL_TIME_TIMEZONE,        "timezone",            std, string)
219   ), _nl_postload_time)
220
221
222 DEFINE_CATEGORY
223 (
224  LC_MESSAGES, "LC_MESSAGES",
225  (
226   DEFINE_ELEMENT (YESEXPR, "yesexpr", std, string)
227   DEFINE_ELEMENT (NOEXPR,  "noexpr",  std, string)
228   DEFINE_ELEMENT (YESSTR,  "yesstr",  opt, string)
229   DEFINE_ELEMENT (NOSTR,   "nostr",   opt, string)
230   ), NO_POSTLOAD)
231
232 DEFINE_CATEGORY
233 (
234  LC_PAPER, "LC_PAPER",
235  (
236   DEFINE_ELEMENT (_NL_PAPER_HEIGHT_EB, "height-eb", std, word)
237   DEFINE_ELEMENT (_NL_PAPER_HEIGHT_EL, "height-el", std, word)
238   DEFINE_ELEMENT (_NL_PAPER_WIDTH_EB,  "width-eb",  std, word)
239   DEFINE_ELEMENT (_NL_PAPER_WIDTH_EL,  "width-el",  std, word)
240   ), NO_POSTLOAD)
241
242 DEFINE_CATEGORY
243 (
244  LC_NAME, "LC_NAME",
245  (
246   DEFINE_ELEMENT (_NL_NAME_NAME_FMT,  "name_fmt",  std, string)
247   DEFINE_ELEMENT (_NL_NAME_NAME_GEN,  "name_gen",  std, string)
248   DEFINE_ELEMENT (_NL_NAME_NAME_MR,   "name_mr",   std, string)
249   DEFINE_ELEMENT (_NL_NAME_NAME_MRS,  "name_mrs",  std, string)
250   DEFINE_ELEMENT (_NL_NAME_NAME_MISS, "name_miss", std, string)
251   DEFINE_ELEMENT (_NL_NAME_NAME_MS,   "name_ms",   std, string)
252   ), NO_POSTLOAD)
253
254 DEFINE_CATEGORY
255 (
256  LC_ADDRESS, "LC_ADDRESS",
257  (
258   DEFINE_ELEMENT (_NL_ADDRESS_POSTAL_FMT,      "postal_fmt",      std, string)
259   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NAME,    "country_name",    std, string)
260   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_POST,    "country_post",    std, string)
261   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB2,     "country_ab2",     std, string)
262   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB3,     "country_ab3",     std, string)
263   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_CAR,     "country_car",     std, string)
264   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM_EB,  "country_num-eb",  std, word)
265   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM_EL,  "country_num-el",  std, word)
266   DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_ISBN,    "country_isbn",    std, string)
267   DEFINE_ELEMENT (_NL_ADDRESS_LANG_NAME,       "lang_name",       std, string)
268   DEFINE_ELEMENT (_NL_ADDRESS_LANG_AB,         "lang_ab",         std, string)
269   DEFINE_ELEMENT (_NL_ADDRESS_LANG_TERM,       "lang_term",       std, string)
270   DEFINE_ELEMENT (_NL_ADDRESS_LANG_LIB,        "lang_lib",        std, string)
271   ), NO_POSTLOAD)
272
273 DEFINE_CATEGORY
274 (
275  LC_TELEPHONE, "LC_TELEPHONE",
276  (
277   DEFINE_ELEMENT (_NL_TELEPHONE_TEL_INT_FMT, "tel_int_fmt", std, string)
278   DEFINE_ELEMENT (_NL_TELEPHONE_TEL_DOM_FMT, "tel_dom_fmt", std, string)
279   DEFINE_ELEMENT (_NL_TELEPHONE_INT_SELECT,  "int_select",  std, string)
280   DEFINE_ELEMENT (_NL_TELEPHONE_INT_PREFIX,  "int_prefix",  std, string)
281   ), NO_POSTLOAD)
282
283 DEFINE_CATEGORY
284 (
285  LC_MEASUREMENT, "LC_MEASUREMENT",
286  (
287   DEFINE_ELEMENT (_NL_MEASUREMENT_MEASUREMENT, "measurement", std, byte)
288   ), NO_POSTLOAD)
289
290 DEFINE_CATEGORY
291 (
292  LC_IDENTIFICATION, "LC_IDENTIFICATION",
293  (
294   DEFINE_ELEMENT (_NL_IDENTIFICATION_TITLE,        "title",        std, string)
295   DEFINE_ELEMENT (_NL_IDENTIFICATION_SOURCE,       "source",       std, string)
296   DEFINE_ELEMENT (_NL_IDENTIFICATION_ADDRESS,      "address",      std, string)
297   DEFINE_ELEMENT (_NL_IDENTIFICATION_CONTACT,      "contact",      std, string)
298   DEFINE_ELEMENT (_NL_IDENTIFICATION_EMAIL,        "email",        std, string)
299   DEFINE_ELEMENT (_NL_IDENTIFICATION_TEL,          "tel",          std, string)
300   DEFINE_ELEMENT (_NL_IDENTIFICATION_FAX,          "fax",          std, string)
301   DEFINE_ELEMENT (_NL_IDENTIFICATION_LANGUAGE,     "language",     std, string)
302   DEFINE_ELEMENT (_NL_IDENTIFICATION_TERRITORY,    "territory",    std, string)
303   DEFINE_ELEMENT (_NL_IDENTIFICATION_AUDIENCE,     "audience",     std, string)
304   DEFINE_ELEMENT (_NL_IDENTIFICATION_APPLICATION,  "applcation",   std, string)
305   DEFINE_ELEMENT (_NL_IDENTIFICATION_ABBREVIATION, "abbreviation", std, string)
306   DEFINE_ELEMENT (_NL_IDENTIFICATION_REVISION,     "revision",     std, string)
307   DEFINE_ELEMENT (_NL_IDENTIFICATION_DATE,         "date",         std, string)
308   DEFINE_ELEMENT (_NL_IDENTIFICATION_CATEGORY,      "category",    std, stringarray, 13, 13)
309   ), NO_POSTLOAD)