mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-27 06:19:36 +00:00
fix handling of locales with LyX/Mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8807 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
80fbee4eba
commit
384da17690
@ -1,3 +1,13 @@
|
|||||||
|
2004-05-10 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||||
|
|
||||||
|
* lyxrc.C: do not set user_email to a default value but use empty
|
||||||
|
instead. The entry used to be translated, which does not work
|
||||||
|
since at the point where lyxrc is constructed there is no
|
||||||
|
translation service available
|
||||||
|
|
||||||
|
* messages.C (getLocaleDir): remove and use directly
|
||||||
|
lyx_localedir() instead
|
||||||
|
|
||||||
2004-06-02 Angus Leeming <leeming@lyx.org>
|
2004-06-02 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
Fix crash caused by dereferencing null pointer 'exportdata' in
|
Fix crash caused by dereferencing null pointer 'exportdata' in
|
||||||
|
@ -272,9 +272,6 @@ void LyXRC::setDefaults() {
|
|||||||
user_name = lyx::support::user_name();
|
user_name = lyx::support::user_name();
|
||||||
|
|
||||||
user_email = lyx::support::user_email();
|
user_email = lyx::support::user_email();
|
||||||
|
|
||||||
if (user_email.empty())
|
|
||||||
user_email = _("email address unknown");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,21 +21,6 @@ using std::string;
|
|||||||
|
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
string const & getLocaleDir()
|
|
||||||
{
|
|
||||||
static string locale_dir;
|
|
||||||
|
|
||||||
if (locale_dir.empty()) {
|
|
||||||
locale_dir = GetEnvPath("LYX_LOCALEDIR");
|
|
||||||
if (locale_dir.empty())
|
|
||||||
locale_dir = lyx_localedir();
|
|
||||||
}
|
|
||||||
return locale_dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // anon namespace
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
@ -55,7 +40,7 @@ public:
|
|||||||
//lyxerr << "Messages: language(" << l
|
//lyxerr << "Messages: language(" << l
|
||||||
// << ") in dir(" << dir << ")" << std::endl;
|
// << ") in dir(" << dir << ")" << std::endl;
|
||||||
|
|
||||||
cat_gl = mssg_gl.open(PACKAGE, loc_gl, getLocaleDir().c_str());
|
cat_gl = mssg_gl.open(PACKAGE, loc_gl, lyx_localedir().c_str());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,8 +84,6 @@ public:
|
|||||||
//lyxerr << "Messages: language(" << l
|
//lyxerr << "Messages: language(" << l
|
||||||
// << ") in dir(" << dir << ")" << std::endl;
|
// << ") in dir(" << dir << ")" << std::endl;
|
||||||
|
|
||||||
bindtextdomain(PACKAGE, getLocaleDir().c_str());
|
|
||||||
textdomain(PACKAGE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~Pimpl() {}
|
~Pimpl() {}
|
||||||
@ -112,6 +95,8 @@ public:
|
|||||||
|
|
||||||
char * old = strdup(setlocale(LC_ALL, 0));
|
char * old = strdup(setlocale(LC_ALL, 0));
|
||||||
char * n = setlocale(LC_ALL, lang_.c_str());
|
char * n = setlocale(LC_ALL, lang_.c_str());
|
||||||
|
bindtextdomain(PACKAGE, lyx_localedir().c_str());
|
||||||
|
textdomain(PACKAGE);
|
||||||
const char* msg = gettext(m.c_str());
|
const char* msg = gettext(m.c_str());
|
||||||
setlocale(LC_ALL, old);
|
setlocale(LC_ALL, old);
|
||||||
free(old);
|
free(old);
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2004-05-04 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||||
|
|
||||||
|
* path_defines.C.in (setLyxPaths): make sure that LyX/Mac can find
|
||||||
|
its po files when moved around; set default user directory to
|
||||||
|
~/Library/Preferences/LyX/ for LyX/Mac.
|
||||||
|
(lyx_localedir): return the value that may have been computed in
|
||||||
|
setLyXPaths
|
||||||
|
|
||||||
2004-05-27 Kayvan Sylvan <kayvan@sylvan.com>
|
2004-05-27 Kayvan Sylvan <kayvan@sylvan.com>
|
||||||
|
|
||||||
* Makefile.am (libsupport_la_SOURCES): remove reference to
|
* Makefile.am (libsupport_la_SOURCES): remove reference to
|
||||||
|
@ -40,6 +40,8 @@ string build_lyxdir_;
|
|||||||
// Store for the path to the user-level support files.
|
// Store for the path to the user-level support files.
|
||||||
string user_lyxdir_;
|
string user_lyxdir_;
|
||||||
|
|
||||||
|
// Store for the path to the locale directory.
|
||||||
|
string localedir_;
|
||||||
|
|
||||||
/* The absolute path to the system-level lyx support files.
|
/* The absolute path to the system-level lyx support files.
|
||||||
* (Make-time value.)
|
* (Make-time value.)
|
||||||
@ -73,7 +75,10 @@ string const & top_srcdir()
|
|||||||
string const & lyx_localedir()
|
string const & lyx_localedir()
|
||||||
{
|
{
|
||||||
static string const ll = "%LOCALEDIR%";
|
static string const ll = "%LOCALEDIR%";
|
||||||
return ll;
|
if (localedir_.empty())
|
||||||
|
return ll;
|
||||||
|
else
|
||||||
|
return localedir_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -287,6 +292,15 @@ bool setLyxPaths()
|
|||||||
lyxerr[Debug::INIT] << "System directory: '"
|
lyxerr[Debug::INIT] << "System directory: '"
|
||||||
<< system_lyxdir_ << '\'' << endl;
|
<< system_lyxdir_ << '\'' << endl;
|
||||||
|
|
||||||
|
// This is true when we are running from a Mac OS X bundle
|
||||||
|
// (for LyX/Mac)
|
||||||
|
bool const inOSXBundle =
|
||||||
|
system_lyxdir_ == NormalizePath(AddPath(binpath, "../Resources/")
|
||||||
|
+ OnlyFilename(binname));
|
||||||
|
if (inOSXBundle)
|
||||||
|
lyxerr[Debug::INIT] << "Running from LyX/Mac bundle."
|
||||||
|
<< endl;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Set PATH for LyX/Mac
|
// Set PATH for LyX/Mac
|
||||||
// LyX/Mac is a relocatable application bundle; here we add to
|
// LyX/Mac is a relocatable application bundle; here we add to
|
||||||
@ -295,14 +309,32 @@ bool setLyxPaths()
|
|||||||
// needs to run latex, previewers, etc.
|
// needs to run latex, previewers, etc.
|
||||||
//
|
//
|
||||||
|
|
||||||
if (system_lyxdir_ == NormalizePath(AddPath(binpath, "../Resources/")
|
if (inOSXBundle) {
|
||||||
+ OnlyFilename(binname))) {
|
const string newpath = GetEnv("PATH") + ":" + binpath
|
||||||
const string newpath = GetEnv("PATH") + ":" + binpath
|
+ ":/sw/bin:/usr/local/bin"
|
||||||
+ ":/sw/bin:/usr/local/bin"
|
+ ":/usr/local/teTeX/bin/powerpc-apple-darwin-current";
|
||||||
+ ":/usr/local/teTeX/bin/powerpc-apple-darwin-current";
|
lyx::support::putenv("PATH", newpath);
|
||||||
lyx::support::putenv("PATH", newpath);
|
lyxerr[Debug::INIT] << "LyX/Mac: setting PATH to: "
|
||||||
lyxerr[Debug::INIT] << "Running from LyX/Mac bundle. "
|
<< GetEnv("PATH") << endl;
|
||||||
"Setting PATH to: " << GetEnv("PATH") << endl;
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Determine locale directory
|
||||||
|
//
|
||||||
|
if (!GetEnv("LYX_LOCALEDIR").empty()) {
|
||||||
|
localedir_ = GetEnv("LYX_LOCALEDIR");
|
||||||
|
lyxerr[Debug::INIT] << "LYX_LOCALEDIR=" << localedir_ << endl;
|
||||||
|
} else if (inOSXBundle) {
|
||||||
|
string const maybe_localedir =
|
||||||
|
NormalizePath(AddPath(system_lyxdir_, "../locale"));
|
||||||
|
FileInfo fi(maybe_localedir);
|
||||||
|
if (fi.isOK() && fi.isDir()) {
|
||||||
|
lyxerr[Debug::INIT]
|
||||||
|
<< "LyX/Mac: setting locale directory to "
|
||||||
|
<< maybe_localedir << endl;
|
||||||
|
localedir_ = maybe_localedir;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -323,9 +355,13 @@ bool setLyxPaths()
|
|||||||
|
|
||||||
// default behaviour
|
// default behaviour
|
||||||
if (user_lyxdir_.empty())
|
if (user_lyxdir_.empty())
|
||||||
user_lyxdir_ = AddPath(GetEnvPath("HOME"),
|
if (inOSXBundle)
|
||||||
string(".") + PACKAGE);
|
user_lyxdir_ = AddPath(GetEnvPath("HOME"),
|
||||||
explicit_userdir = false;
|
"Library/Preferences/LyX");
|
||||||
|
else
|
||||||
|
user_lyxdir_ = AddPath(GetEnvPath("HOME"),
|
||||||
|
string(".") + PACKAGE);
|
||||||
|
explicit_userdir = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
lyxerr[Debug::INIT] << "User LyX directory: '"
|
lyxerr[Debug::INIT] << "User LyX directory: '"
|
||||||
|
Loading…
Reference in New Issue
Block a user