aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schickel2010-11-28 02:12:33 +0000
committerJohannes Schickel2010-11-28 02:12:33 +0000
commit1ad63b431ee031c0d4bb6d520d70103a60459d55 (patch)
treefb519ea3bf4a9f73ae832f57c0c08f62e7ecfd44
parent5f7ac43a24094ce3fa87e3fc01d8f9f333233631 (diff)
downloadscummvm-rg350-1ad63b431ee031c0d4bb6d520d70103a60459d55.tar.gz
scummvm-rg350-1ad63b431ee031c0d4bb6d520d70103a60459d55.tar.bz2
scummvm-rg350-1ad63b431ee031c0d4bb6d520d70103a60459d55.zip
BACKEND: Switch OSystem::getSystemLanguage return type to Common::String.
This is done as discussed on -devel. svn-id: r54516
-rw-r--r--backends/platform/sdl/sdl.cpp12
-rw-r--r--backends/platform/sdl/sdl.h2
-rw-r--r--common/system.cpp4
-rw-r--r--common/system.h16
-rw-r--r--common/translation.cpp6
5 files changed, 17 insertions, 23 deletions
diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp
index 978f394963..da6542f9e2 100644
--- a/backends/platform/sdl/sdl.cpp
+++ b/backends/platform/sdl/sdl.cpp
@@ -699,7 +699,7 @@ void OSystem_SDL::logMessage(LogMessageType::Type type, const char *message) {
#endif
}
-Common::Language OSystem_SDL::getSystemLanguage() const {
+Common::String OSystem_SDL::getSystemLanguage() const {
#ifdef USE_DETECTLANG
#ifdef WIN32
// We can not use "setlocale" (at least not for MSVC builds), since it
@@ -727,9 +727,9 @@ Common::Language OSystem_SDL::getSystemLanguage() const {
localeName += "_";
localeName += ctryName;
- return Common::parseLanguageFromLocale(localeName.c_str());
+ return localeName;
} else {
- return Common::UNK_LANG;
+ return BaseBackend::getSystemLanguage();
}
#else // WIN32
// Activating current locale settings
@@ -737,7 +737,7 @@ Common::Language OSystem_SDL::getSystemLanguage() const {
// Detect the language from the locale
if (!locale) {
- return Common::UNK_LANG;
+ return BaseBackend::getSystemLanguage();
} else {
int length = 0;
@@ -752,11 +752,11 @@ Common::Language OSystem_SDL::getSystemLanguage() const {
break;
}
- return Common::parseLanguageFromLocale(Common::String(locale, length).c_str());
+ return Common::String(locale, length);
}
#endif // WIN32
#else // USE_DETECTLANG
- return Common::UNK_LANG;
+ return BaseBackend::getSystemLanguage();
#endif // USE_DETECTLANG
}
diff --git a/backends/platform/sdl/sdl.h b/backends/platform/sdl/sdl.h
index 7fc46dacb1..48797ab238 100644
--- a/backends/platform/sdl/sdl.h
+++ b/backends/platform/sdl/sdl.h
@@ -195,7 +195,7 @@ public:
// Logging
virtual void logMessage(LogMessageType::Type type, const char *message);
- virtual Common::Language getSystemLanguage() const;
+ virtual Common::String getSystemLanguage() const;
void deinit();
diff --git a/common/system.cpp b/common/system.cpp
index 1da5367f22..81fe761f1d 100644
--- a/common/system.cpp
+++ b/common/system.cpp
@@ -90,7 +90,7 @@ void OSystem::logMessage(LogMessageType::Type type, const char *message) {
fflush(output);
}
-Common::Language OSystem::getSystemLanguage() const {
- return Common::UNK_LANG;
+Common::String OSystem::getSystemLanguage() const {
+ return "en_US";
}
diff --git a/common/system.h b/common/system.h
index 4870efc854..54c6fa8df7 100644
--- a/common/system.h
+++ b/common/system.h
@@ -30,7 +30,6 @@
#include "common/noncopyable.h"
#include "common/rect.h"
#include "common/list.h" // For OSystem::getSupportedFormats()
-#include "common/util.h" // For Common::Language
#include "graphics/pixelformat.h"
@@ -1057,18 +1056,17 @@ public:
* This returns the currently set up locale of the system, on which
* ScummVM is run.
*
- * In case the locale can not be prepresented by Common::Language the
- * backend should return Common::UNK_LANG.
- *
- * @see Common::Language
- * @see Common::UNK_LANG
- *
- * The default implementation returns Common::UNK_LANG.
+ * The format of the locale is language_country. These should match
+ * the POSIX locale values.
*
+ * For information about POSIX locales read here:
+ * http://en.wikipedia.org/wiki/Locale#POSIX-type_platforms
+ *
+ * The default implementation returns "en_US".
*
* @return locale of the system
*/
- virtual Common::Language getSystemLanguage() const;
+ virtual Common::String getSystemLanguage() const;
//@}
};
diff --git a/common/translation.cpp b/common/translation.cpp
index d47e0f98d2..69824dd299 100644
--- a/common/translation.cpp
+++ b/common/translation.cpp
@@ -53,11 +53,7 @@ bool operator<(const TLanguage &l, const TLanguage &r) {
TranslationManager::TranslationManager() : _currentLang(-1) {
loadTranslationsInfoDat();
- const char *locale = getLanguageLocale(g_system->getSystemLanguage());
- if (!locale)
- _syslang = "C";
- else
- _syslang = locale;
+ _syslang = g_system->getSystemLanguage();
// Set the default language
setLanguage("");