blob: 7c304dfca7369fa7dd57d7063fb34ace43e2d580 [file] [log] [blame]
/*
* 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 <stdio.h>
# include <cups/transcode.h>
# ifdef __APPLE__
# include <CoreFoundation/CoreFoundation.h>
# 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 */
# define _CUPS_MESSAGE_EMPTY 4 /* Allow empty localized strings */
/*
* 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_ */