]>
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 | 41 | typedef enum { |
9a6f746f LP |
42 | SPECIAL_GLYPH_TREE_VERTICAL, |
43 | SPECIAL_GLYPH_TREE_BRANCH, | |
44 | SPECIAL_GLYPH_TREE_RIGHT, | |
45 | SPECIAL_GLYPH_TREE_SPACE, | |
46 | SPECIAL_GLYPH_TRIANGULAR_BULLET, | |
47 | SPECIAL_GLYPH_BLACK_CIRCLE, | |
48 | SPECIAL_GLYPH_BULLET, | |
49 | SPECIAL_GLYPH_ARROW, | |
50 | SPECIAL_GLYPH_MDASH, | |
51 | SPECIAL_GLYPH_ELLIPSIS, | |
52 | SPECIAL_GLYPH_MU, | |
53 | SPECIAL_GLYPH_CHECK_MARK, | |
54 | SPECIAL_GLYPH_CROSS_MARK, | |
5f1b0cc6 | 55 | _SPECIAL_GLYPH_FIRST_SMILEY, |
9a6f746f LP |
56 | SPECIAL_GLYPH_ECSTATIC_SMILEY = _SPECIAL_GLYPH_FIRST_SMILEY, |
57 | SPECIAL_GLYPH_HAPPY_SMILEY, | |
58 | SPECIAL_GLYPH_SLIGHTLY_HAPPY_SMILEY, | |
59 | SPECIAL_GLYPH_NEUTRAL_SMILEY, | |
60 | SPECIAL_GLYPH_SLIGHTLY_UNHAPPY_SMILEY, | |
61 | SPECIAL_GLYPH_UNHAPPY_SMILEY, | |
62 | SPECIAL_GLYPH_DEPRESSED_SMILEY, | |
323b7dc9 ZJS |
63 | _SPECIAL_GLYPH_MAX |
64 | } SpecialGlyph; | |
8752c575 | 65 | |
dff4bf93 | 66 | const char *special_glyph(SpecialGlyph code) _const_; |
8752c575 | 67 | |
a3428668 MS |
68 | const char* locale_variable_to_string(LocaleVariable i) _const_; |
69 | LocaleVariable locale_variable_from_string(const char *s) _pure_; | |
ed457f13 | 70 | |
e520e0fc LP |
71 | static inline void freelocalep(locale_t *p) { |
72 | if (*p == (locale_t) 0) | |
73 | return; | |
74 | ||
75 | freelocale(*p); | |
76 | } | |
e6755a33 LP |
77 | |
78 | void locale_variables_free(char* l[_VARIABLE_LC_MAX]); | |
79 | static inline void locale_variables_freep(char*(*l)[_VARIABLE_LC_MAX]) { | |
80 | locale_variables_free(*l); | |
81 | } |