From 2a8f32b87ecd40c1d81624ebc4ea483eabb349fd Mon Sep 17 00:00:00 2001 From: Sergey Starosek Date: Sat, 28 Jun 2014 14:56:40 +0400 Subject: Fix date and time l10n QDateTime::toString(const QString & format) uses system locale for month and day names. In order to get localized month and day names for user-choosen locale use QLocale::toString(const QDateTime & datetime, const QString & format) instead. Signed-off-by: Sergey Starosek Signed-off-by: Dirk Hohndel --- qt-gui.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/qt-gui.cpp b/qt-gui.cpp index eeb43b899..23dc8b75f 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -50,6 +50,7 @@ const char *existing_filename; static QString shortDateFormat; static QString dateFormat; static QString timeFormat; +static QLocale loc; #if defined(Q_OS_WIN) && QT_VERSION < 0x050000 static QByteArray encodeUtf8(const QString &fname) @@ -72,10 +73,11 @@ QString uiLanguage(QLocale *callerLoc) { QSettings s; s.beginGroup("Language"); - QLocale loc; if (!s.value("UseSystemLanguage", true).toBool()) { loc = QLocale(s.value("UiLanguage", QLocale().uiLanguages().first()).toString()); + } else { + loc = QLocale(QLocale().uiLanguages().first()); } QString uiLang = loc.uiLanguages().first(); @@ -392,14 +394,14 @@ QString get_dive_date_string(timestamp_t when) { QDateTime ts; ts.setMSecsSinceEpoch(when * 1000); - return ts.toUTC().toString(dateFormat + " " + timeFormat); + return loc.toString(ts.toUTC(), dateFormat + " " + timeFormat); } QString get_short_dive_date_string(timestamp_t when) { QDateTime ts; ts.setMSecsSinceEpoch(when * 1000); - return ts.toUTC().toString(shortDateFormat + " " + timeFormat); + return loc.toString(ts.toUTC(), shortDateFormat + " " + timeFormat); } QString get_trip_date_string(timestamp_t when, int nr) -- cgit v1.2.3-70-g09d2