1 /* 2 * Private localization support for CUPS. 3 * 4 * Copyright 2007-2018 by Apple Inc. 5 * Copyright 1997-2006 by Easy Software Products. 6 * 7 * These coded instructions, statements, and computer programs are the 8 * property of Apple Inc. and are protected by Federal copyright 9 * law. Distribution and use rights are outlined in the file "LICENSE.txt" 10 * which should have been included with this file. If this file is 11 * missing or damaged, see the license at "http://www.cups.org/". 12 * 13 * This file is subject to the Apple OS-Developed Software exception. 14 */ 15 16 #ifndef _CUPS_LANGUAGE_PRIVATE_H_ 17 # define _CUPS_LANGUAGE_PRIVATE_H_ 18 19 /* 20 * Include necessary headers... 21 */ 22 23 # include "config.h" 24 # include <stdio.h> 25 # include <cups/transcode.h> 26 # ifdef __APPLE__ 27 # include <CoreFoundation/CoreFoundation.h> 28 # endif /* __APPLE__ */ 29 30 # ifdef __cplusplus 31 extern "C" { 32 # endif /* __cplusplus */ 33 34 35 /* 36 * Macro for localized text... 37 */ 38 39 # define _(x) x 40 41 42 /* 43 * Types... 44 */ 45 46 typedef struct _cups_message_s /**** Message catalog entry ****/ 47 { 48 char *id, /* Original string */ 49 *str; /* Localized string */ 50 } _cups_message_t; 51 52 53 /* 54 * Prototypes... 55 */ 56 57 # ifdef __APPLE__ 58 extern const char *_cupsAppleLanguage(const char *locale, char *language, size_t langsize); 59 extern const char *_cupsAppleLocale(CFStringRef languageName, char *locale, size_t localesize); 60 # endif /* __APPLE__ */ 61 extern void _cupsCharmapFlush(void); 62 extern const char *_cupsEncodingName(cups_encoding_t encoding); 63 extern void _cupsLangPrintError(const char *prefix, const char *message); 64 extern int _cupsLangPrintFilter(FILE *fp, const char *prefix, const char *message, ...) _CUPS_FORMAT(3, 4); 65 extern int _cupsLangPrintf(FILE *fp, const char *message, ...) _CUPS_FORMAT(2, 3); 66 extern int _cupsLangPuts(FILE *fp, const char *message); 67 extern const char *_cupsLangString(cups_lang_t *lang, const char *message); 68 extern void _cupsMessageFree(cups_array_t *a); 69 extern cups_array_t *_cupsMessageLoad(const char *filename, int unquote); 70 extern const char *_cupsMessageLookup(cups_array_t *a, const char *m); 71 extern cups_array_t *_cupsMessageNew(void *context); 72 extern void _cupsSetLocale(char *argv[]); 73 74 75 # ifdef __cplusplus 76 } 77 # endif /* __cplusplus */ 78 79 #endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */ 80