summaryrefslogtreecommitdiffstats
path: root/src/app/app.cpp
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2012-12-14 11:17:42 +0100
committerDidier Raboud <odyx@debian.org>2012-12-14 15:17:23 +0100
commit6946155a5686f19a62157af00746f834bec47448 (patch)
tree34985f9fb7e25509a14599edd9f8f3c0cfbab6ee /src/app/app.cpp
parent2173e86025f03cc19af833f99c786391bd32718e (diff)
downloadcolobot-6946155a5686f19a62157af00746f834bec47448.tar.gz
colobot-6946155a5686f19a62157af00746f834bec47448.tar.bz2
colobot-6946155a5686f19a62157af00746f834bec47448.zip
Inherit translation setting from environment.
This ensures that users with a correctly-defined locale don't need to explicitely set the locale. - By dropping the setlocale content, it fixes the loading of translations. - Add a Debug log message to check what is put in the environment.
Diffstat (limited to 'src/app/app.cpp')
-rw-r--r--src/app/app.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
index 81d874d..751ff21 100644
--- a/src/app/app.cpp
+++ b/src/app/app.cpp
@@ -132,7 +132,7 @@ CApplication::CApplication()
m_dataPath = "./data";
- m_language = LANGUAGE_ENGLISH;
+ m_language = LANGUAGE_ENV;
m_lowCPU = true;
@@ -290,9 +290,14 @@ bool CApplication::Create()
/* Gettext initialization */
- std::string locale = "C";
+ std::string locale = "";
switch (m_language)
{
+ default:
+ case LANGUAGE_ENV:
+ locale = "";
+ break;
+
case LANGUAGE_ENGLISH:
locale = "en_US.utf8";
break;
@@ -314,7 +319,8 @@ bool CApplication::Create()
langStr += locale;
strcpy(S_LANGUAGE, langStr.c_str());
putenv(S_LANGUAGE);
- setlocale(LC_ALL, locale.c_str());
+ setlocale(LC_ALL, "");
+ GetLogger()->Debug("Set locale to '%s'\n", locale.c_str());
std::string trPath = m_dataPath + "/" + m_dataDirs[DIR_I18N];
bindtextdomain("colobot", trPath.c_str());