Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
63 lines (53 sloc)
1.27 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Copyright (c) 2010-2011 Ævar Arnfjörð Bjarmason | |
* | |
* This is a skeleton no-op implementation of gettext for Git. | |
* You can replace it with something that uses libintl.h and wraps | |
* gettext() to try out the translations. | |
*/ | |
#ifndef GETTEXT_H | |
#define GETTEXT_H | |
#if defined(_) || defined(Q_) | |
#error "namespace conflict: '_' or 'Q_' is pre-defined?" | |
#endif | |
#ifndef NO_GETTEXT | |
# include <libintl.h> | |
#else | |
# ifdef gettext | |
# undef gettext | |
# endif | |
# define gettext(s) (s) | |
# ifdef ngettext | |
# undef ngettext | |
# endif | |
# define ngettext(s, p, n) ((n == 1) ? (s) : (p)) | |
#endif | |
#define FORMAT_PRESERVING(n) __attribute__((format_arg(n))) | |
#ifndef NO_GETTEXT | |
void git_setup_gettext(void); | |
int gettext_width(const char *s); | |
#else | |
static inline void git_setup_gettext(void) | |
{ | |
} | |
static inline int gettext_width(const char *s) | |
{ | |
return strlen(s); | |
} | |
#endif | |
static inline FORMAT_PRESERVING(1) const char *_(const char *msgid) | |
{ | |
if (!*msgid) | |
return ""; | |
return gettext(msgid); | |
} | |
static inline FORMAT_PRESERVING(1) FORMAT_PRESERVING(2) | |
const char *Q_(const char *msgid, const char *plu, unsigned long n) | |
{ | |
return ngettext(msgid, plu, n); | |
} | |
/* Mark msgid for translation but do not translate it. */ | |
#define N_(msgid) msgid | |
const char *get_preferred_languages(void); | |
int is_utf8_locale(void); | |
#endif |