summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-03-29 16:22:12 +0300
committerAndrei Karas <akaras@inbox.ru>2011-03-29 17:18:48 +0300
commit0cd441867adedc5add8b65a42d0f156e906ab25e (patch)
treedd133bd5396f74c5ece8b1b92b6c60747400379e /src/main.cpp
parentc36fbf56e9adc9de97e96acab753ddbb939c0b8b (diff)
downloadmv-0cd441867adedc5add8b65a42d0f156e906ab25e.tar.gz
mv-0cd441867adedc5add8b65a42d0f156e906ab25e.tar.bz2
mv-0cd441867adedc5add8b65a42d0f156e906ab25e.tar.xz
mv-0cd441867adedc5add8b65a42d0f156e906ab25e.zip
Add fixes for localisation dir in linux portable build and error detection.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 6efa736e7..beb23a72c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -196,8 +196,13 @@ static void initInternationalization()
// mingw doesn't like LOCALEDIR to be defined for some reason
bindtextdomain("manaplus", "translations/");
#else
+#if ENABLE_PORTABLE
+ bindtextdomain("manaplus", (std::string(PHYSFS_getBaseDir())
+ + "../locale/").c_str());
+#else
bindtextdomain("manaplus", LOCALEDIR);
#endif
+#endif
setlocale(LC_MESSAGES, "");
bind_textdomain_codeset("manaplus", "UTF-8");
textdomain("manaplus");
@@ -244,8 +249,6 @@ int main(int argc, char *argv[])
return 0;
}
- initInternationalization();
-
// Initialize PhysicsFS
if (!PHYSFS_init(argv[0]))
{
@@ -253,6 +256,9 @@ int main(int argc, char *argv[])
<< PHYSFS_getLastError() << std::endl;
return 1;
}
+
+ initInternationalization();
+
atexit((void(*)()) PHYSFS_deinit);
initXML();