|
|
/*
|
|
|
* 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_ */
|