#include "support/environment.h"
#include "support/filetools.h"
#include "support/package.h"
-#include "support/types.h"
+#include "support/unicode.h"
#include <boost/current_function.hpp>
#include <boost/regex.hpp>
using support::setEnv;
-#ifdef WORDS_BIGENDIAN
- char const * codeset = "UCS-4BE";
-#else
- char const * codeset = "UCS-4LE";
-#endif
-
// This version use the traditional gettext.
Messages::Messages(string const & l)
: lang_(l), warned_(false)
// strip off any encoding suffix, i.e., assume 8-bit po files
string::size_type i = lang_.find(".");
lang_ = lang_.substr(0, i);
- lyxerr[Debug::DEBUG] << BOOST_CURRENT_FUNCTION
+ LYXERR(Debug::DEBUG) << BOOST_CURRENT_FUNCTION
<< ": language(" << lang_ << ")" << endl;
}
setlocale(LC_CTYPE, lang_.c_str());
errno = 0;
- char const * c = bindtextdomain(PACKAGE, package().locale_dir().c_str());
+ string const locale_dir = package().locale_dir().toFilesystemEncoding();
+ char const * c = bindtextdomain(PACKAGE, locale_dir.c_str());
int e = errno;
if (e) {
- lyxerr[Debug::DEBUG]
+ LYXERR(Debug::DEBUG)
<< BOOST_CURRENT_FUNCTION << '\n'
<< "Error code: " << errno << '\n'
<< "Lang, mess: " << lang_ << " " << m << '\n'
- << "Directory : " << package().locale_dir() << '\n'
+ << "Directory : " << package().locale_dir().absFilename() << '\n'
<< "Rtn value : " << c << endl;
}
- if (!bind_textdomain_codeset(PACKAGE, codeset)) {
- lyxerr[Debug::DEBUG]
+ if (!bind_textdomain_codeset(PACKAGE, ucs4_codeset)) {
+ LYXERR(Debug::DEBUG)
<< BOOST_CURRENT_FUNCTION << '\n'
<< "Error code: " << errno << '\n'
- << "Codeset : " << codeset << '\n'
+ << "Codeset : " << ucs4_codeset << '\n'
<< endl;
}
else
translated = from_ascii(tmp);
} else {
- lyxerr[Debug::DEBUG] << "We got a translation" << endl;
+ LYXERR(Debug::DEBUG) << "We got a translation" << endl;
char_type const * ucs4 = reinterpret_cast<char_type const *>(msg);
translated = ucs4;
}
//lyxerr << "Messages: language(" << l
// << ") in dir(" << dir << ")" << endl;
- cat_gl = mssg_gl.open(PACKAGE, loc_gl, package().locale_dir().c_str());
+ string const locale_dir = package().locale_dir().toFilesystemEncoding();
+ cat_gl = mssg_gl.open(PACKAGE, loc_gl, locale_dir.c_str());
}