]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | /* |
503b54c9 | 2 | * Private localization support for CUPS. |
ef416fc2 | 3 | * |
be3b49a3 MS |
4 | * Copyright © 2007-2018 by Apple Inc. |
5 | * Copyright © 1997-2006 by Easy Software Products. | |
ef416fc2 | 6 | * |
be3b49a3 MS |
7 | * Licensed under Apache License v2.0. See the file "LICENSE" for more |
8 | * information. | |
ef416fc2 | 9 | */ |
10 | ||
71e16022 MS |
11 | #ifndef _CUPS_LANGUAGE_PRIVATE_H_ |
12 | # define _CUPS_LANGUAGE_PRIVATE_H_ | |
ef416fc2 | 13 | |
14 | /* | |
15 | * Include necessary headers... | |
16 | */ | |
17 | ||
5a855d85 | 18 | # include "config.h" |
d6ae789d | 19 | # include <stdio.h> |
71e16022 | 20 | # include <cups/transcode.h> |
454708a4 MS |
21 | # ifdef __APPLE__ |
22 | # include <CoreFoundation/CoreFoundation.h> | |
23 | # endif /* __APPLE__ */ | |
ef416fc2 | 24 | |
25 | # ifdef __cplusplus | |
26 | extern "C" { | |
27 | # endif /* __cplusplus */ | |
28 | ||
29 | ||
30 | /* | |
31 | * Macro for localized text... | |
32 | */ | |
33 | ||
34 | # define _(x) x | |
35 | ||
36 | ||
89550f3f MS |
37 | /* |
38 | * Constants... | |
39 | */ | |
40 | ||
84de5e92 | 41 | # define _CUPS_MESSAGE_PO 0 /* Message file is in GNU .po format */ |
89550f3f MS |
42 | # define _CUPS_MESSAGE_UNQUOTE 1 /* Unescape \foo in strings? */ |
43 | # define _CUPS_MESSAGE_STRINGS 2 /* Message file is in Apple .strings format */ | |
72816492 | 44 | # define _CUPS_MESSAGE_EMPTY 4 /* Allow empty localized strings */ |
89550f3f MS |
45 | |
46 | ||
ef416fc2 | 47 | /* |
48 | * Types... | |
49 | */ | |
50 | ||
51 | typedef struct _cups_message_s /**** Message catalog entry ****/ | |
52 | { | |
89550f3f | 53 | char *msg, /* Original string */ |
ef416fc2 | 54 | *str; /* Localized string */ |
55 | } _cups_message_t; | |
56 | ||
57 | ||
58 | /* | |
59 | * Prototypes... | |
60 | */ | |
61 | ||
f8b3a85b | 62 | # ifdef __APPLE__ |
e3586875 MS |
63 | extern const char *_cupsAppleLanguage(const char *locale, char *language, size_t langsize) _CUPS_PRIVATE; |
64 | extern const char *_cupsAppleLocale(CFStringRef languageName, char *locale, size_t localesize) _CUPS_PRIVATE; | |
f8b3a85b | 65 | # endif /* __APPLE__ */ |
11ea1663 | 66 | extern void _cupsCharmapFlush(void) _CUPS_INTERNAL; |
fb863569 | 67 | extern const char *_cupsEncodingName(cups_encoding_t encoding) _CUPS_PRIVATE; |
e3586875 MS |
68 | extern void _cupsLangPrintError(const char *prefix, const char *message) _CUPS_PRIVATE; |
69 | extern int _cupsLangPrintFilter(FILE *fp, const char *prefix, const char *message, ...) _CUPS_FORMAT(3, 4) _CUPS_PRIVATE; | |
70 | extern int _cupsLangPrintf(FILE *fp, const char *message, ...) _CUPS_FORMAT(2, 3) _CUPS_PRIVATE; | |
71 | extern int _cupsLangPuts(FILE *fp, const char *message) _CUPS_PRIVATE; | |
72 | extern const char *_cupsLangString(cups_lang_t *lang, const char *message) _CUPS_PRIVATE; | |
73 | extern void _cupsMessageFree(cups_array_t *a) _CUPS_PRIVATE; | |
74 | extern cups_array_t *_cupsMessageLoad(const char *filename, int flags) _CUPS_PRIVATE; | |
75 | extern const char *_cupsMessageLookup(cups_array_t *a, const char *m) _CUPS_PRIVATE; | |
76 | extern cups_array_t *_cupsMessageNew(void *context) _CUPS_PRIVATE; | |
77 | extern int _cupsMessageSave(const char *filename, int flags, cups_array_t *a) _CUPS_PRIVATE; | |
78 | extern void _cupsSetLocale(char *argv[]) _CUPS_PRIVATE; | |
ef416fc2 | 79 | |
a603edef | 80 | |
ef416fc2 | 81 | # ifdef __cplusplus |
82 | } | |
83 | # endif /* __cplusplus */ | |
84 | ||
71e16022 | 85 | #endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */ |