From 19cc3db24208470e8576915dffb2285710beffea Mon Sep 17 00:00:00 2001 From: Yvo Wiskerke Date: Sat, 8 May 2021 18:05:22 +0200 Subject: [PATCH] Added Dutch Language for text clock and locale for leftLabel Clock --- settings_functions.py | 2 +- start.py | 63 ++++++++++++++++++++++++++++++------------- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/settings_functions.py b/settings_functions.py index c5d6c86..8ff3165 100644 --- a/settings_functions.py +++ b/settings_functions.py @@ -99,7 +99,7 @@ def __init__(self, oacmode=False): Ui_Settings.__init__(self) # available text clock languages - self.textClockLanguages = ["English", "German"] + self.textClockLanguages = ["English", "German", "Dutch"] # available Weather Widget languages # self.owmLanguages = {"Arabic": "ar", "Bulgarian": "bg", "Catalan": "ca", "Czech": "cz", "German": "de", diff --git a/start.py b/start.py index 0430056..d3ca679 100755 --- a/start.py +++ b/start.py @@ -45,7 +45,7 @@ from urllib.parse import unquote import ntplib -from PyQt5.QtCore import Qt, QSettings, QCoreApplication, QTimer, QVariant, QDate, QThread, pyqtSignal +from PyQt5.QtCore import Qt, QSettings, QCoreApplication, QTimer, QVariant, QDate, QLocale, QThread, pyqtSignal from PyQt5.QtGui import QCursor, QPalette, QKeySequence, QIcon, QPixmap, QFont from PyQt5.QtNetwork import QUdpSocket, QNetworkInterface from PyQt5.QtWidgets import QApplication, QWidget, QShortcut, QDialog, QLineEdit, QVBoxLayout, QLabel @@ -60,6 +60,9 @@ class MainScreen(QWidget, Ui_MainScreen): getTimeWindow: QDialog ntpHadWarning: bool ntpWarnMessage: str + textLocale: str # for text language + languages = { "German": 'de_DE', + "Dutch" : 'nl_NL'} def __init__(self): QWidget.__init__(self) @@ -678,6 +681,7 @@ def restore_settings_from_config(self): settings.beginGroup("Formatting") self.clockWidget.setAmPm(settings.value('isAmPm', False, type=bool)) + self.textLocale=settings.value('textClockLanguage', 'English') settings.endGroup() settings.beginGroup("WeatherWidget") @@ -752,7 +756,9 @@ def constant_update(self): def update_date(self): settings = QSettings(QSettings.UserScope, "astrastudio", "OnAirScreen") settings.beginGroup("Formatting") - self.set_left_text(QDate.currentDate().toString(settings.value('dateFormat', 'dddd, dd. MMMM yyyy'))) + set_language = settings.value('textClockLanguage', 'English') + lang=QLocale(self.languages[set_language] if set_language in self.languages else 'en_US') + self.set_left_text(lang.toString(QDate.currentDate(),settings.value('dateFormat', 'dddd, dd. MMMM yyyy'))) settings.endGroup() def update_backtiming_text(self): @@ -786,23 +792,42 @@ def update_backtiming_text(self): string = '%d:00 Uhr' % hour else: - # english textclock - if is_am_pm: - if hour > 12: - hour -= 12 - if minute == 0: - string = "it's %d o'clock" % hour - if (0 < minute < 15) or (16 <= minute <= 29): - string = "it's %d minute%s past %d:00" % (minute, 's' if minute > 1 else '', hour) - if minute == 15: - string = "it's a quarter past %d:00" % hour - if minute == 30: - string = "it's half past %d:00" % hour - if minute == 45: - string = "it's a quarter to %d:00" % hour - if (31 <= minute <= 44) or (46 <= minute <= 59): - string = "it's %d minute%s to %d:00" % ( - remain_min, 's' if remain_min > 1 else '', 1 if hour == 12 else hour + 1) + # Dutch textclock + if text_clock_language == "Dutch": + if is_am_pm: + if hour > 12: + hour -= 12 + if minute == 0: + string = "Het is %d uur" % hour + if (0 < minute < 15) or (16 <= minute <= 29): + string = "Het is %d minute%s over %d:00" % (minute, 'n' if minute > 1 else '', hour) + if minute == 15: + string = "Het is kwart over %d:00" % hour + if minute == 30: + string = "Het is half %d:00" % (hour + 1) + if minute == 45: + string = "Het is kwart voor %d:00" % hour + if (31 <= minute <= 44) or (46 <= minute <= 59): + string = "Het is %d minute%s voor %d:00" % ( + remain_min, 'n' if remain_min > 1 else '', 1 if hour == 12 else hour + 1) + else: + # english textclock + if is_am_pm: + if hour > 12: + hour -= 12 + if minute == 0: + string = "it's %d o'clock" % hour + if (0 < minute < 15) or (16 <= minute <= 29): + string = "it's %d minute%s past %d:00" % (minute, 's' if minute > 1 else '', hour) + if minute == 15: + string = "it's a quarter past %d:00" % hour + if minute == 30: + string = "it's half past %d:00" % hour + if minute == 45: + string = "it's a quarter to %d:00" % hour + if (31 <= minute <= 44) or (46 <= minute <= 59): + string = "it's %d minute%s to %d:00" % ( + remain_min, 's' if remain_min > 1 else '', 1 if hour == 12 else hour + 1) self.set_right_text(string)