/* * Private localization support for CUPS. * * Copyright © 2007-2018 by Apple Inc. * Copyright © 1997-2006 by Easy Software Products. * * Licensed under Apache License v2.0. See the file "LICENSE" for more * information. */ #ifndef _CUPS_LANGUAGE_PRIVATE_H_ # define _CUPS_LANGUAGE_PRIVATE_H_ /* * Include necessary headers... */ # include "config.h" # include # include # ifdef __APPLE__ # include # endif /* __APPLE__ */ # ifdef __cplusplus extern "C" { # endif /* __cplusplus */ /* * Macro for localized text... */ # define _(x) x /* * Constants... */ # define _CUPS_MESSAGE_PO 0 /* Message file is in GNU .po format */ # define _CUPS_MESSAGE_UNQUOTE 1 /* Unescape \foo in strings? */ # define _CUPS_MESSAGE_STRINGS 2 /* Message file is in Apple .strings format */ /* * Types... */ typedef struct _cups_message_s /**** Message catalog entry ****/ { char *msg, /* Original string */ *str; /* Localized string */ } _cups_message_t; /* * Prototypes... */ # ifdef __APPLE__ extern const char *_cupsAppleLanguage(const char *locale, char *language, size_t langsize) _CUPS_PRIVATE; extern const char *_cupsAppleLocale(CFStringRef languageName, char *locale, size_t localesize) _CUPS_PRIVATE; # endif /* __APPLE__ */ extern void _cupsCharmapFlush(void) _CUPS_INTERNAL; extern const char *_cupsEncodingName(cups_encoding_t encoding) _CUPS_PRIVATE; extern void _cupsLangPrintError(const char *prefix, const char *message) _CUPS_PRIVATE; extern int _cupsLangPrintFilter(FILE *fp, const char *prefix, const char *message, ...) _CUPS_FORMAT(3, 4) _CUPS_PRIVATE; extern int _cupsLangPrintf(FILE *fp, const char *message, ...) _CUPS_FORMAT(2, 3) _CUPS_PRIVATE; extern int _cupsLangPuts(FILE *fp, const char *message) _CUPS_PRIVATE; extern const char *_cupsLangString(cups_lang_t *lang, const char *message) _CUPS_PRIVATE; extern void _cupsMessageFree(cups_array_t *a) _CUPS_PRIVATE; extern cups_array_t *_cupsMessageLoad(const char *filename, int flags) _CUPS_PRIVATE; extern const char *_cupsMessageLookup(cups_array_t *a, const char *m) _CUPS_PRIVATE; extern cups_array_t *_cupsMessageNew(void *context) _CUPS_PRIVATE; extern int _cupsMessageSave(const char *filename, int flags, cups_array_t *a) _CUPS_PRIVATE; extern void _cupsSetLocale(char *argv[]) _CUPS_PRIVATE; # ifdef __cplusplus } # endif /* __cplusplus */ #endif /* !_CUPS_LANGUAGE_PRIVATE_H_ */