lyx_mirror/src/gettext.C
Lars Gullik Bjønnes 8254b16fd1 more latex conversion cases fixed, patch from Andre, more more funcs to lowercase, some debug output to look at...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2406 a592a061-630c-0410-9148-cb99ea01b6c8
2001-08-02 18:46:53 +00:00

79 lines
1.4 KiB
C

/* This file is part of
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
#include <config.h>
#include "LString.h"
#ifdef ENABLE_NLS
# if HAVE_GETTEXT
# include <libintl.h> // use the header already in the system *EK*
# ifdef HAVE_LOCALE_H
# include <locale.h> // for LC_MESSAGES
# endif
# else
# include "../intl/libintl.h"
# endif
char const * _(char const * str)
{
// I'd rather have an Assert on str, we should not allow
// null pointers here. Lgb
// Assert(str);
if (str && str[0])
return gettext(str);
else
return "";
}
string const _(string const & str)
{
if (!str.empty()) {
int const s = str.length();
char * tmp = new char[s + 1];
str.copy(tmp, s);
tmp[s] = '\0';
string const ret(gettext(tmp));
delete [] tmp;
return ret;
} else {
return string();
}
}
void locale_init()
{
# ifdef HAVE_LC_MESSAGES
setlocale(LC_MESSAGES, "");
setlocale(LC_CTYPE, "");
setlocale(LC_NUMERIC, "C");
# endif
}
void gettext_init(string const & localedir)
{
bindtextdomain(PACKAGE, localedir.c_str());
textdomain(PACKAGE);
}
#else // ENABLE_NLS
void locale_init()
{
}
void gettext_init(string const &)
{
}
#endif