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