From: Michael Prager Date: Thu, 28 Jan 2010 12:17:28 +0000 (+0100) Subject: * added backgroundImageLocation option X-Git-Url: https://code.delx.au/comingnext/commitdiff_plain/d3c853b665996c7543a61ff1de1120a7267cff4f * added backgroundImageLocation option * added translation support for ENUM options * added Skin Fetcher tool v1.1 to package * updated readme --- diff --git a/ComingNext_SkinFetcher_v1.1.sisx b/ComingNext_SkinFetcher_v1.1.sisx new file mode 100644 index 0000000..a937836 Binary files /dev/null and b/ComingNext_SkinFetcher_v1.1.sisx differ diff --git a/Readme.txt b/Readme.txt index b7416e4..959b11c 100644 --- a/Readme.txt +++ b/Readme.txt @@ -12,22 +12,16 @@ http://sourceforge.net/projects/comingnext http://www.symbian-freak.com/forum/viewtopic.php?t=38045 You can change the appearance (background color, font color, font size etc.) -and settings from within the widget now. Only if you want to use a custom -background image or fake transparency, you still need to modify the widget, -following these steps: +and settings from within the widget now. Even if you want to use a custom +background image to fake transparency, you don't have to modify the widget +anymore. Follow these steps to give your ComingNext widget a transparent +background: - 1. rename comingNext.wgz to comingNext.zip - 2. replace comingNext.zip/comingNext/background_landscape.png and - background_portrait.png with your desired background. - 3. rename comingNext.zip back to comingNext.wgz - 4. do the same for comingNextB.wgz - 5. in the widget settings enable "use background image" - -I recommend to use a program to make a screenshot of your current -homescreen background, then use a painting program like GIMP to -cut out the pieces you need. Use background_mask_landscape.png and -background_mask_portrait.png for guidance on what parts of the screen are -used by widgets. + 1. install "ComingNext Skin Fetcher" on your phone + 2. start it on your phone and click on "Generate". It will ask you for the + positions of the ComingNext widgets on the homescreen. + 3. In the ComingNext widget, enable the "use background image" option and set + "background image location" to "external" known limitations: @@ -184,3 +178,7 @@ Changelog: 1.25 () by Michael Prager - fixed reoccurring events not beeing shown - added "check for updates" feature + - added "ComingNext Skin Fetcher v1.1" tool + - support for external background images (useful in combination with the + new skin fetcher tool). With this, you won't need to modify the widget + anymore to use a custom background image diff --git a/background_mask_landscape.png b/background_mask_landscape.png deleted file mode 100644 index 311e23b..0000000 Binary files a/background_mask_landscape.png and /dev/null differ diff --git a/background_mask_portrait.png b/background_mask_portrait.png deleted file mode 100644 index 1bbd21d..0000000 Binary files a/background_mask_portrait.png and /dev/null differ diff --git a/build.bat b/build.bat index 732d2d7..96f35c2 100644 --- a/build.bat +++ b/build.bat @@ -8,4 +8,4 @@ zip -9 -r comingNext.zip comingNext zip -9 -r comingNextB.zip comingNextB ren comingNext.zip comingNext.wgz ren comingNextB.zip comingNextB.wgz -zip -9 comingNext_v%VERSION%.zip comingNext.wgz comingNextB.wgz Readme.txt License.txt background_mask_landscape.png background_mask_portrait.png \ No newline at end of file +zip -9 comingNext_v%VERSION%.zip comingNext.wgz comingNextB.wgz Readme.txt License.txt ComingNext_SkinFetcher_v1.1.sisx \ No newline at end of file diff --git a/comingNext/de.lproj/localizedTextStrings.js b/comingNext/de.lproj/localizedTextStrings.js index 753988c..ce00212 100644 --- a/comingNext/de.lproj/localizedTextStrings.js +++ b/comingNext/de.lproj/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Aufgaben anzeigen'; localizedText['settings.info.includeTodos'] = 'ausschalten, um Aufgaben aus der Ereignisliste zu entfernen'; localizedText['settings.name.useBackgroundImage'] = 'Benutze Hintergrundbild'; localizedText['settings.info.useBackgroundImage'] = 'benutze background_portrait.png und background_landscape.png um Transparenz vorzutäuschen. Um einen einfarbigen Hintergrund zu erzeugen, muss diese Einstellung deaktiviert werden.'; +localizedText['settings.name.backgroundImageLocation'] = 'Speicherort des Hinterbrundbildes'; +localizedText['settings.info.backgroundImageLocation'] = 'definiert, wo das Hintergrundbild zu finden ist. "intern" benutzt das eingebaute Hintergrundbild, "extern" benutzt das Hintergrundbild unter C:\\Data\\. Falls Sie Hintergrundbilder mit dem "ComingNext Skin Fetcher" Tool generiert haben, sollten Sie diese Einstellung auf "extern" setzen.'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'intern'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'extern'; localizedText['settings.name.showCombinedDateTime'] = 'Zeige Datum/Uhrzeit kombiniert an'; localizedText['settings.info.showCombinedDateTime'] = 'zeigt nur die Zeit an für Ereignisse, die heute stattfinden. Andernfalls wird nur das Datum angezeigt'; localizedText['settings.name.showLocation'] = 'Zeige Ort'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'Trennzeichen zwischen den einzel localizedText['settings.default.dateSeparator'] = '.'; localizedText['settings.name.dateFormat'] = 'Datumsformat'; localizedText['settings.info.dateFormat'] = 'legt fest, wie Daten angezeigt werden. \'auto\' übernimmt die Telefoneinstellung. \'MMDD\' stellt den Monat nach vorne, \'DDMM\' den Tag'; +localizedText['settings.validValues.dateFormat.auto'] = 'automatisch erkennen'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'Tag.Monat.Jahr'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'Monat.Tag.Jahr'; localizedText['settings.name.weekDayLength'] = 'Länge des Wochentags'; localizedText['settings.info.weekDayLength'] = 'legt fest, wie viele Buschstaben des Wochentags eingezeigt werden sollen. Z.B. wird bei 2 aus "Freitag" to "Fr"'; localizedText['settings.name.updateDataInterval'] = 'Updateinterval'; diff --git a/comingNext/fr.lproj/localizedTextStrings.js b/comingNext/fr.lproj/localizedTextStrings.js index dd0e4d7..d7eb569 100644 --- a/comingNext/fr.lproj/localizedTextStrings.js +++ b/comingNext/fr.lproj/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Ajouter ToDos'; localizedText['settings.info.includeTodos'] = 'Décocher pour ne pas afficher ToDos dans la liste d\'événements'; localizedText['settings.name.useBackgroundImage'] = 'Utiliser Background Image'; localizedText['settings.info.useBackgroundImage'] = 'Utiliser background_portrait.png et background_landscape.png pour simuler la transparence. Décocher pour utiliser une couleur de fond'; +localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location'; +localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'external'; localizedText['settings.name.showCombinedDateTime'] = 'Afficher date & heure'; localizedText['settings.info.showCombinedDateTime'] = 'Afficher seulement l\'heure pour les événements de la journée, sinon seulement date'; localizedText['settings.name.showLocation'] = 'Afficher le lieu'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'Séparateur pour les dates localizedText['settings.default.dateSeparator'] = '/'; localizedText['settings.name.dateFormat'] = 'Format des dates'; localizedText['settings.info.dateFormat'] = 'Comment les dates doivent être affichées. \'auto\' format de votre téléphone. \'MMDD\' mois en premier, \'DDMM\' jour en premier'; +localizedText['settings.validValues.dateFormat.auto'] = 'autodetect'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year'; localizedText['settings.name.weekDayLength'] = 'Nombre de caractère pour le jour'; localizedText['settings.info.weekDayLength'] = 'Définit le nombre de caractères pour afficher le jour de la semaine : 2 coupera "Lundi" à "Lu"'; localizedText['settings.name.updateDataInterval'] = 'Interval de mise à jour'; diff --git a/comingNext/index.html b/comingNext/index.html index 09e6658..5d7245e 100644 --- a/comingNext/index.html +++ b/comingNext/index.html @@ -27,6 +27,7 @@ var config = { monthRange: { Type: 'Int', Default: 2, Value: 2,}, includeTodos: { Type: 'Bool', Default: true, Value: true,}, useBackgroundImage: { Type: 'Bool', Default: true, Value: true,}, + backgroundImageLocation: { Type: 'Enum', Default: 'internal', Value: 'internal', ValidValues: ['internal', 'external']}, showCombinedDateTime: { Type: 'Bool', Default: false, Value: false,}, showLocation: { Type: 'Bool', Default: true, Value: true,}, showTodayAsText: { Type: 'Bool', Default: true, Value: true,}, @@ -763,7 +764,7 @@ function showSettings() else if (config[key].Type == 'Enum') { settingsHtml += '' + printHintBox(getLocalizedText('settings.info.' + key)) + '
'; } } @@ -882,6 +883,16 @@ function showFullscreen() updateData(); } +function getBackgroundImage() +{ + var bgImage; + if (config['backgroundImageLocation'].Value == config['backgroundImageLocation'].ValidValues[0]) // internal + bgImage = 'background_' + orientation + '.png'; + else + bgImage = 'C:/Data/background_' + panelNum + '_' + orientation + '.png'; + return bgImage; +} + function updateHomescreen() { if (config['useBackgroundImage'].Value) { @@ -889,19 +900,19 @@ function updateHomescreen() if (orientation != 'portrait' && screen.width == 360 && screen.height == 640) { window.widget.prepareForTransition("fade"); orientation = 'portrait'; - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; document.getElementById('body').style.backgroundColor = 'none'; window.widget.performTransition(); } else if (orientation != 'landscape' && screen.width == 640 && screen.height == 360) { window.widget.prepareForTransition("fade"); orientation = 'landscape'; - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; document.getElementById('body').style.backgroundColor = 'none'; window.widget.performTransition(); } else if (document.getElementById('body').style.backgroundImage == "") { - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; } } } @@ -958,7 +969,6 @@ function checkForUpdateCallback() { if (reqV.readyState == 4) { if (reqV.status == 200) { - // little overhead here, one could use also string for version info var resultXml = reqV.responseText; if (resultXml) { var div = document.getElementById("tmp"); diff --git a/comingNext/localizedTextStrings.js b/comingNext/localizedTextStrings.js index 881942e..6c93cfc 100644 --- a/comingNext/localizedTextStrings.js +++ b/comingNext/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Include ToDos'; localizedText['settings.info.includeTodos'] = 'disable to remove ToDos from event list'; localizedText['settings.name.useBackgroundImage'] = 'Use Background Image'; localizedText['settings.info.useBackgroundImage'] = 'use background_portrait.png and background_landscape.png to fake transparency. Disable to use a solid background color'; +localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location'; +localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'external'; localizedText['settings.name.showCombinedDateTime'] = 'Show Combined Date/Time'; localizedText['settings.info.showCombinedDateTime'] = 'only show the time for events happening today, otherwise just show the date'; localizedText['settings.name.showLocation'] = 'Show Location'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'separator for dates. e.g. "31.12 localizedText['settings.default.dateSeparator'] = '.'; localizedText['settings.name.dateFormat'] = 'Date Format'; localizedText['settings.info.dateFormat'] = 'how dates will be displayed. \'auto\' will autodetect your phone\'s date format setting. \'MMDD\' will write month first, \'DDMM\' will write day first'; +localizedText['settings.validValues.dateFormat.auto'] = 'autodetect'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year'; localizedText['settings.name.weekDayLength'] = 'Weekday Length'; localizedText['settings.info.weekDayLength'] = 'defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"'; localizedText['settings.name.updateDataInterval'] = 'Update Data Interval'; diff --git a/comingNextB/de.lproj/localizedTextStrings.js b/comingNextB/de.lproj/localizedTextStrings.js index 753988c..ce00212 100644 --- a/comingNextB/de.lproj/localizedTextStrings.js +++ b/comingNextB/de.lproj/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Aufgaben anzeigen'; localizedText['settings.info.includeTodos'] = 'ausschalten, um Aufgaben aus der Ereignisliste zu entfernen'; localizedText['settings.name.useBackgroundImage'] = 'Benutze Hintergrundbild'; localizedText['settings.info.useBackgroundImage'] = 'benutze background_portrait.png und background_landscape.png um Transparenz vorzutäuschen. Um einen einfarbigen Hintergrund zu erzeugen, muss diese Einstellung deaktiviert werden.'; +localizedText['settings.name.backgroundImageLocation'] = 'Speicherort des Hinterbrundbildes'; +localizedText['settings.info.backgroundImageLocation'] = 'definiert, wo das Hintergrundbild zu finden ist. "intern" benutzt das eingebaute Hintergrundbild, "extern" benutzt das Hintergrundbild unter C:\\Data\\. Falls Sie Hintergrundbilder mit dem "ComingNext Skin Fetcher" Tool generiert haben, sollten Sie diese Einstellung auf "extern" setzen.'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'intern'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'extern'; localizedText['settings.name.showCombinedDateTime'] = 'Zeige Datum/Uhrzeit kombiniert an'; localizedText['settings.info.showCombinedDateTime'] = 'zeigt nur die Zeit an für Ereignisse, die heute stattfinden. Andernfalls wird nur das Datum angezeigt'; localizedText['settings.name.showLocation'] = 'Zeige Ort'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'Trennzeichen zwischen den einzel localizedText['settings.default.dateSeparator'] = '.'; localizedText['settings.name.dateFormat'] = 'Datumsformat'; localizedText['settings.info.dateFormat'] = 'legt fest, wie Daten angezeigt werden. \'auto\' übernimmt die Telefoneinstellung. \'MMDD\' stellt den Monat nach vorne, \'DDMM\' den Tag'; +localizedText['settings.validValues.dateFormat.auto'] = 'automatisch erkennen'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'Tag.Monat.Jahr'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'Monat.Tag.Jahr'; localizedText['settings.name.weekDayLength'] = 'Länge des Wochentags'; localizedText['settings.info.weekDayLength'] = 'legt fest, wie viele Buschstaben des Wochentags eingezeigt werden sollen. Z.B. wird bei 2 aus "Freitag" to "Fr"'; localizedText['settings.name.updateDataInterval'] = 'Updateinterval'; diff --git a/comingNextB/fr.lproj/localizedTextStrings.js b/comingNextB/fr.lproj/localizedTextStrings.js index dd0e4d7..d7eb569 100644 --- a/comingNextB/fr.lproj/localizedTextStrings.js +++ b/comingNextB/fr.lproj/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Ajouter ToDos'; localizedText['settings.info.includeTodos'] = 'Décocher pour ne pas afficher ToDos dans la liste d\'événements'; localizedText['settings.name.useBackgroundImage'] = 'Utiliser Background Image'; localizedText['settings.info.useBackgroundImage'] = 'Utiliser background_portrait.png et background_landscape.png pour simuler la transparence. Décocher pour utiliser une couleur de fond'; +localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location'; +localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'external'; localizedText['settings.name.showCombinedDateTime'] = 'Afficher date & heure'; localizedText['settings.info.showCombinedDateTime'] = 'Afficher seulement l\'heure pour les événements de la journée, sinon seulement date'; localizedText['settings.name.showLocation'] = 'Afficher le lieu'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'Séparateur pour les dates localizedText['settings.default.dateSeparator'] = '/'; localizedText['settings.name.dateFormat'] = 'Format des dates'; localizedText['settings.info.dateFormat'] = 'Comment les dates doivent être affichées. \'auto\' format de votre téléphone. \'MMDD\' mois en premier, \'DDMM\' jour en premier'; +localizedText['settings.validValues.dateFormat.auto'] = 'autodetect'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year'; localizedText['settings.name.weekDayLength'] = 'Nombre de caractère pour le jour'; localizedText['settings.info.weekDayLength'] = 'Définit le nombre de caractères pour afficher le jour de la semaine : 2 coupera "Lundi" à "Lu"'; localizedText['settings.name.updateDataInterval'] = 'Interval de mise à jour'; diff --git a/comingNextB/index.html b/comingNextB/index.html index ff19473..f5551af 100644 --- a/comingNextB/index.html +++ b/comingNextB/index.html @@ -27,6 +27,7 @@ var config = { monthRange: { Type: 'Int', Default: 2, Value: 2,}, includeTodos: { Type: 'Bool', Default: true, Value: true,}, useBackgroundImage: { Type: 'Bool', Default: true, Value: true,}, + backgroundImageLocation: { Type: 'Enum', Default: 'internal', Value: 'internal', ValidValues: ['internal', 'external']}, showCombinedDateTime: { Type: 'Bool', Default: false, Value: false,}, showLocation: { Type: 'Bool', Default: true, Value: true,}, showTodayAsText: { Type: 'Bool', Default: true, Value: true,}, @@ -763,7 +764,7 @@ function showSettings() else if (config[key].Type == 'Enum') { settingsHtml += '
' + getLocalizedText('settings.name.' + key) + '
' + printHintBox(getLocalizedText('settings.info.' + key)) + '
'; } } @@ -882,6 +883,16 @@ function showFullscreen() updateData(); } +function getBackgroundImage() +{ + var bgImage; + if (config['backgroundImageLocation'].Value == config['backgroundImageLocation'].ValidValues[0]) // internal + bgImage = 'background_' + orientation + '.png'; + else + bgImage = 'C:/Data/background_' + panelNum + '_' + orientation + '.png'; + return bgImage; +} + function updateHomescreen() { if (config['useBackgroundImage'].Value) { @@ -889,19 +900,19 @@ function updateHomescreen() if (orientation != 'portrait' && screen.width == 360 && screen.height == 640) { window.widget.prepareForTransition("fade"); orientation = 'portrait'; - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; document.getElementById('body').style.backgroundColor = 'none'; window.widget.performTransition(); } else if (orientation != 'landscape' && screen.width == 640 && screen.height == 360) { window.widget.prepareForTransition("fade"); orientation = 'landscape'; - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; document.getElementById('body').style.backgroundColor = 'none'; window.widget.performTransition(); } else if (document.getElementById('body').style.backgroundImage == "") { - document.getElementById('body').style.backgroundImage = 'url(background_' + orientation + '.png)'; + document.getElementById('body').style.backgroundImage = 'url(' + getBackgroundImage() + ')'; } } } @@ -958,7 +969,6 @@ function checkForUpdateCallback() { if (reqV.readyState == 4) { if (reqV.status == 200) { - // little overhead here, one could use also string for version info var resultXml = reqV.responseText; if (resultXml) { var div = document.getElementById("tmp"); diff --git a/comingNextB/localizedTextStrings.js b/comingNextB/localizedTextStrings.js index 881942e..6c93cfc 100644 --- a/comingNextB/localizedTextStrings.js +++ b/comingNextB/localizedTextStrings.js @@ -18,6 +18,10 @@ localizedText['settings.name.includeTodos'] = 'Include ToDos'; localizedText['settings.info.includeTodos'] = 'disable to remove ToDos from event list'; localizedText['settings.name.useBackgroundImage'] = 'Use Background Image'; localizedText['settings.info.useBackgroundImage'] = 'use background_portrait.png and background_landscape.png to fake transparency. Disable to use a solid background color'; +localizedText['settings.name.backgroundImageLocation'] = 'Background Image Location'; +localizedText['settings.info.backgroundImageLocation'] = 'defines where the image is located that is displayed in the background. "Internal" will use the buildin image, "external" will use the image located in C:\\Data\\. If you\'ve generated images with "ComingNext Skin Fetcher", you should set this to "external".'; +localizedText['settings.validValues.backgroundImageLocation.internal'] = 'internal'; +localizedText['settings.validValues.backgroundImageLocation.external'] = 'external'; localizedText['settings.name.showCombinedDateTime'] = 'Show Combined Date/Time'; localizedText['settings.info.showCombinedDateTime'] = 'only show the time for events happening today, otherwise just show the date'; localizedText['settings.name.showLocation'] = 'Show Location'; @@ -40,6 +44,9 @@ localizedText['settings.info.dateSeparator'] = 'separator for dates. e.g. "31.12 localizedText['settings.default.dateSeparator'] = '.'; localizedText['settings.name.dateFormat'] = 'Date Format'; localizedText['settings.info.dateFormat'] = 'how dates will be displayed. \'auto\' will autodetect your phone\'s date format setting. \'MMDD\' will write month first, \'DDMM\' will write day first'; +localizedText['settings.validValues.dateFormat.auto'] = 'autodetect'; +localizedText['settings.validValues.dateFormat.DDMM'] = 'day/month/year'; +localizedText['settings.validValues.dateFormat.MMDD'] = 'month/day/year'; localizedText['settings.name.weekDayLength'] = 'Weekday Length'; localizedText['settings.info.weekDayLength'] = 'defines how many characters of the weekday will be shown. E.g. 2 will cut "Friday" to "Fr"'; localizedText['settings.name.updateDataInterval'] = 'Update Data Interval';
' + getLocalizedText('settings.name.' + key) + '