]>
Commit | Line | Data |
---|---|---|
53e1b683 | 1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
75683450 LP |
2 | #pragma once |
3 | ||
8752c575 | 4 | #include <libintl.h> |
81a12ba6 | 5 | #include <stdbool.h> |
e520e0fc | 6 | #include <locale.h> |
81a12ba6 RC |
7 | |
8 | #include "macro.h" | |
9 | ||
a3428668 MS |
10 | typedef enum LocaleVariable { |
11 | /* We don't list LC_ALL here on purpose. People should be | |
12 | * using LANG instead. */ | |
13 | ||
14 | VARIABLE_LANG, | |
15 | VARIABLE_LANGUAGE, | |
16 | VARIABLE_LC_CTYPE, | |
17 | VARIABLE_LC_NUMERIC, | |
18 | VARIABLE_LC_TIME, | |
19 | VARIABLE_LC_COLLATE, | |
20 | VARIABLE_LC_MONETARY, | |
21 | VARIABLE_LC_MESSAGES, | |
22 | VARIABLE_LC_PAPER, | |
23 | VARIABLE_LC_NAME, | |
24 | VARIABLE_LC_ADDRESS, | |
25 | VARIABLE_LC_TELEPHONE, | |
26 | VARIABLE_LC_MEASUREMENT, | |
27 | VARIABLE_LC_IDENTIFICATION, | |
28 | _VARIABLE_LC_MAX, | |
29 | _VARIABLE_LC_INVALID = -1 | |
30 | } LocaleVariable; | |
31 | ||
75683450 LP |
32 | int get_locales(char ***l); |
33 | bool locale_is_valid(const char *name); | |
a3428668 | 34 | |
8752c575 LP |
35 | #define _(String) gettext(String) |
36 | #define N_(String) String | |
37 | void init_gettext(void); | |
38 | ||
39 | bool is_locale_utf8(void); | |
40 | ||
323b7dc9 ZJS |
41 | typedef enum { |
42 | TREE_VERTICAL, | |
43 | TREE_BRANCH, | |
44 | TREE_RIGHT, | |
45 | TREE_SPACE, | |
46 | TRIANGULAR_BULLET, | |
47 | BLACK_CIRCLE, | |
48 | ARROW, | |
49 | MDASH, | |
b77f5e27 | 50 | ELLIPSIS, |
3f1c1287 | 51 | MU, |
323b7dc9 ZJS |
52 | _SPECIAL_GLYPH_MAX |
53 | } SpecialGlyph; | |
8752c575 | 54 | |
dff4bf93 | 55 | const char *special_glyph(SpecialGlyph code) _const_; |
8752c575 | 56 | |
a3428668 MS |
57 | const char* locale_variable_to_string(LocaleVariable i) _const_; |
58 | LocaleVariable locale_variable_from_string(const char *s) _pure_; | |
ed457f13 TB |
59 | |
60 | int get_keymaps(char ***l); | |
61 | bool keymap_is_valid(const char *name); | |
e520e0fc LP |
62 | |
63 | static inline void freelocalep(locale_t *p) { | |
64 | if (*p == (locale_t) 0) | |
65 | return; | |
66 | ||
67 | freelocale(*p); | |
68 | } |