diff options
author | Johannes Schickel | 2010-11-28 02:12:33 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-11-28 02:12:33 +0000 |
commit | 1ad63b431ee031c0d4bb6d520d70103a60459d55 (patch) | |
tree | fb519ea3bf4a9f73ae832f57c0c08f62e7ecfd44 | |
parent | 5f7ac43a24094ce3fa87e3fc01d8f9f333233631 (diff) | |
download | scummvm-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.cpp | 12 | ||||
-rw-r--r-- | backends/platform/sdl/sdl.h | 2 | ||||
-rw-r--r-- | common/system.cpp | 4 | ||||
-rw-r--r-- | common/system.h | 16 | ||||
-rw-r--r-- | common/translation.cpp | 6 |
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(""); |