10 Commits
v.2.2 ... v.2.4

Author SHA1 Message Date
333bb3b995 Hungarian translation, move current login image to usr/share/pixmaps 2024-02-15 19:58:53 +01:00
77db85cc71 Bugfix for locations near the dateline 2024-02-15 18:31:32 +01:00
1c6060d8d5 Small fixes, changlelog 2024-02-15 17:34:07 +01:00
TobiZog
8da056350a Merge pull request #16 from blogdron/main
Add Russian translation
2024-02-15 17:24:25 +01:00
0ab3297054 Adding support for Login screen wallpaper 2024-02-15 17:04:20 +01:00
blogdron
6ac34770ff Add Russian translation 2024-02-15 16:46:46 +03:00
45e95d0e2b Readme 2024-02-15 13:20:59 +01:00
d2d954b25f Small fix 2024-02-12 12:17:33 +01:00
72144f76c6 Bugfixes, translation 2024-02-12 12:15:45 +01:00
755664230a Adding dutch, german and spanish (rcalixte) translation 2024-02-11 19:34:58 +01:00
20 changed files with 1933 additions and 92 deletions

1
.gitignore vendored
View File

@@ -2,6 +2,7 @@
*.glade# *.glade#
*.txt *.txt
*.json *.json
*.tar.gz
extracted_images/ extracted_images/
selected/ selected/
__pycache__ __pycache__

View File

@@ -1,3 +1,14 @@
# Version 2.4
- Adding Login window support
- Adding Russian translation (Thanks to blogdron)
- Adding Hungarian translation (Thanks to vajdao)
- Bugfix: Time period calculation on locations near the dateline, like Japan
# Version 2.3
- Adding Dutch translation
- Adding German translation
- Adding Spanish translation (Thanks to rcalixte)
# Version 2.2 # Version 2.2
- Bugfixes - Bugfixes
- Migrate code to MVVM pattern - Migrate code to MVVM pattern

View File

@@ -59,6 +59,17 @@ Because of the lack of configuration options in the standard Cinnamon configurat
All configuration will be handled there. You can choose between included image sets, a HEIC file or a folder source and set the image to ten different daytime periods. Time periods will be estimated via network, custom coordinations or custom time periods. Some behaviour preferences (strech image, fill empty background with gradient color) are also here. All configuration will be handled there. You can choose between included image sets, a HEIC file or a folder source and set the image to ten different daytime periods. Time periods will be estimated via network, custom coordinations or custom time periods. Some behaviour preferences (strech image, fill empty background with gradient color) are also here.
![](res/image_configurator.png) ![](res/image_configurator.png)
---
## Contribute
### Translation
You want to contribute a language which isn't supported yet? Here is how to do:
1. Fork the cinnamon-spices-extensions project: https://github.com/linuxmint/cinnamon-spices-extensions
2. Pull the repository
3. Open `cinnamon-dynamic-wallpaper@TobiZog/files/cinnamon-dynamic-wallpaper@TobiZog/po/cinnamon-dynamic-wallpaper@TobiZog.pot` with a po-tool like poedit (https://poedit.net/).
4. Create a new translation in your language
5. Push the changes to your repository
6. Create a pull request
--- ---
## Included image sets ## Included image sets

View File

@@ -1,7 +1,7 @@
/** /**
* @name Cinnamon-Dynamic-Wallpaper * @name Cinnamon-Dynamic-Wallpaper
* @alias TobiZog * @alias TobiZog
* @since 2023-05-17 * @since 2023-05-17
* *
* @description Main application file * @description Main application file
*/ */
@@ -17,7 +17,8 @@ const Gio = imports.gi.Gio;
const MessageTray = imports.ui.messageTray; const MessageTray = imports.ui.messageTray;
const St = imports.gi.St; const St = imports.gi.St;
const Main = imports.ui.main; const Main = imports.ui.main;
const Gettext = imports.gettext;
const GLib = imports.gi.GLib;
/******************** Constants ********************/ /******************** Constants ********************/
@@ -44,6 +45,15 @@ function CinnamonDynamicWallpaperExtension(uuid) {
} }
function _(str) {
let customTranslation = Gettext.dgettext(UUID, str);
if (customTranslation !== str) {
return customTranslation;
}
return Gettext.gettext(str);
}
CinnamonDynamicWallpaperExtension.prototype = { CinnamonDynamicWallpaperExtension.prototype = {
/******************** Lifecycle ********************/ /******************** Lifecycle ********************/
@@ -56,16 +66,18 @@ CinnamonDynamicWallpaperExtension.prototype = {
_init: function(uuid) { _init: function(uuid) {
this.settings = new Settings.ExtensionSettings(this, uuid); this.settings = new Settings.ExtensionSettings(this, uuid);
Gettext.bindtextdomain(UUID, GLib.get_home_dir() + '/.local/share/locale');
// Check for the first startup // Check for the first startup
if (this.settings.getValue("first_start")) { if (this.settings.getValue("first_start")) {
// Welcome notification // Welcome notification
this.showNotification("Welcome to Cinnamon Dynamic Wallpaper", this.showNotification(_("Welcome to Cinnamon Dynamic Wallpaper"),
"Check the preferences to choose a dynamic wallpaper", true) _("Check the preferences to choose a dynamic wallpaper"), true)
// Hide the notification on system restart // Hide the notification on system restart
this.settings.setValue("first_start", false) this.settings.setValue("first_start", false)
this.settings.setValue("source_folder", DIRECTORY["path"] + "/images/included_image_sets/lakeside/") this.settings.setValue("source_folder", DIRECTORY["path"] + "/res/images/included_image_sets/lakeside/")
} }
// Start the main loop, checks in fixed time periods the // Start the main loop, checks in fixed time periods the
@@ -98,8 +110,8 @@ CinnamonDynamicWallpaperExtension.prototype = {
try { try {
Util.spawnCommandLine("/usr/bin/env python3 " + DIRECTORY.path + "/src/main.py loop") Util.spawnCommandLine("/usr/bin/env python3 " + DIRECTORY.path + "/src/main.py loop")
} catch(e) { } catch(e) {
this.showNotification("Error!", this.showNotification(_("Error!"),
"Cinnamon Dynamic Wallpaper got an error while running the loop script. Please create an issue on GitHub.") _("Cinnamon Dynamic Wallpaper got an error while running the loop script. Please create an issue on GitHub."))
} }
// Refresh every 60 seconds // Refresh every 60 seconds

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -461,7 +461,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-top">16</property> <property name="margin-top">16</property>
<property name="label" translatable="yes">label</property> <property name="label">label</property>
<attributes> <attributes>
<attribute name="style" value="italic"/> <attribute name="style" value="italic"/>
</attributes> </attributes>
@@ -517,7 +517,7 @@
<object class="GtkLabel" id="etr_period_1"> <object class="GtkLabel" id="etr_period_1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">00:00 - 00:59</property> <property name="label">00:00 - 00:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -531,7 +531,7 @@
<object class="GtkLabel" id="etr_period_3"> <object class="GtkLabel" id="etr_period_3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">02:00 - 02:59</property> <property name="label">02:00 - 02:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -545,7 +545,7 @@
<object class="GtkLabel" id="etr_period_5"> <object class="GtkLabel" id="etr_period_5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">04:00 - 04:59</property> <property name="label">04:00 - 04:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -559,7 +559,7 @@
<object class="GtkLabel" id="etr_period_7"> <object class="GtkLabel" id="etr_period_7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">06:00 - 06:59</property> <property name="label">06:00 - 06:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -573,7 +573,7 @@
<object class="GtkLabel" id="etr_period_9"> <object class="GtkLabel" id="etr_period_9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">08:00 - 08:59</property> <property name="label">08:00 - 08:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -789,7 +789,7 @@
<object class="GtkLabel" id="etr_period_2"> <object class="GtkLabel" id="etr_period_2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">01:00 - 01:59</property> <property name="label">01:00 - 01:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -803,7 +803,7 @@
<object class="GtkLabel" id="etr_period_4"> <object class="GtkLabel" id="etr_period_4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">03:00 - 03:59</property> <property name="label">03:00 - 03:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -817,7 +817,7 @@
<object class="GtkLabel" id="etr_period_6"> <object class="GtkLabel" id="etr_period_6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">05:00 - 05:59</property> <property name="label">05:00 - 05:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -831,7 +831,7 @@
<object class="GtkLabel" id="etr_period_8"> <object class="GtkLabel" id="etr_period_8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">07:00 - 07:59</property> <property name="label">07:00 - 07:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -845,7 +845,7 @@
<object class="GtkLabel" id="etr_period_10"> <object class="GtkLabel" id="etr_period_10">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">09:00 - 09:59</property> <property name="label">09:00 - 09:59</property>
<attributes> <attributes>
<attribute name="size" value="15360"/> <attribute name="size" value="15360"/>
</attributes> </attributes>
@@ -1245,7 +1245,7 @@
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="margin-top">8</property> <property name="margin-top">8</property>
<property name="margin-bottom">8</property> <property name="margin-bottom">8</property>
<property name="label" translatable="yes">label</property> <property name="label">label</property>
<attributes> <attributes>
<attribute name="style" value="italic"/> <attribute name="style" value="italic"/>
</attributes> </attributes>
@@ -1432,7 +1432,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours5</property> <property name="adjustment">adjustment_hours5</property>
<property name="value">23</property> <property name="value">23</property>
@@ -1452,7 +1452,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1467,7 +1467,7 @@
<object class="GtkSpinButton" id="spb_period_5_minute"> <object class="GtkSpinButton" id="spb_period_5_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes5</property> <property name="adjustment">adjustment_minutes5</property>
<property name="value">59</property> <property name="value">59</property>
@@ -1483,7 +1483,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1502,7 +1502,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1529,7 +1529,7 @@
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours6</property> <property name="adjustment">adjustment_hours6</property>
<property name="value">23</property> <property name="value">23</property>
@@ -1549,7 +1549,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1564,7 +1564,7 @@
<object class="GtkSpinButton" id="spb_period_6_minute"> <object class="GtkSpinButton" id="spb_period_6_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes6</property> <property name="adjustment">adjustment_minutes6</property>
<property name="value">59</property> <property name="value">59</property>
@@ -1580,7 +1580,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1599,7 +1599,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1626,7 +1626,7 @@
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours7</property> <property name="adjustment">adjustment_hours7</property>
<property name="value">23</property> <property name="value">23</property>
@@ -1646,7 +1646,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1661,7 +1661,7 @@
<object class="GtkSpinButton" id="spb_period_7_minute"> <object class="GtkSpinButton" id="spb_period_7_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes7</property> <property name="adjustment">adjustment_minutes7</property>
<property name="value">59</property> <property name="value">59</property>
@@ -1677,7 +1677,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1696,7 +1696,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1721,7 +1721,7 @@
<object class="GtkSpinButton" id="spb_period_8_hour"> <object class="GtkSpinButton" id="spb_period_8_hour">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours8</property> <property name="adjustment">adjustment_hours8</property>
<property name="value">23</property> <property name="value">23</property>
@@ -1741,7 +1741,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1756,7 +1756,7 @@
<object class="GtkSpinButton" id="spb_period_8_minute"> <object class="GtkSpinButton" id="spb_period_8_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes8</property> <property name="adjustment">adjustment_minutes8</property>
<property name="value">59</property> <property name="value">59</property>
@@ -1772,7 +1772,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1791,7 +1791,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1820,7 +1820,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours9</property> <property name="adjustment">adjustment_hours9</property>
<property name="value">23</property> <property name="value">23</property>
@@ -1840,7 +1840,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1855,7 +1855,7 @@
<object class="GtkSpinButton" id="spb_period_9_minute"> <object class="GtkSpinButton" id="spb_period_9_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">57</property> <property name="text">57</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes9</property> <property name="adjustment">adjustment_minutes9</property>
<property name="value">57</property> <property name="value">57</property>
@@ -1871,7 +1871,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1890,7 +1890,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">23:59</property> <property name="label">23:59</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -1989,7 +1989,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2004,7 +2004,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2023,7 +2023,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2052,7 +2052,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours2</property> <property name="adjustment">adjustment_hours2</property>
<property name="value">23</property> <property name="value">23</property>
@@ -2072,7 +2072,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2087,7 +2087,7 @@
<object class="GtkSpinButton" id="spb_period_2_minute"> <object class="GtkSpinButton" id="spb_period_2_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes2</property> <property name="adjustment">adjustment_minutes2</property>
<property name="value">59</property> <property name="value">59</property>
@@ -2103,7 +2103,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2122,7 +2122,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2151,7 +2151,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours3</property> <property name="adjustment">adjustment_hours3</property>
<property name="value">23</property> <property name="value">23</property>
@@ -2171,7 +2171,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2186,7 +2186,7 @@
<object class="GtkSpinButton" id="spb_period_3_minute"> <object class="GtkSpinButton" id="spb_period_3_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes3</property> <property name="adjustment">adjustment_minutes3</property>
<property name="value">59</property> <property name="value">59</property>
@@ -2202,7 +2202,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2221,7 +2221,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2250,7 +2250,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours4</property> <property name="adjustment">adjustment_hours4</property>
<property name="value">23</property> <property name="value">23</property>
@@ -2270,7 +2270,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2285,7 +2285,7 @@
<object class="GtkSpinButton" id="spb_period_4_minute"> <object class="GtkSpinButton" id="spb_period_4_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes4</property> <property name="adjustment">adjustment_minutes4</property>
<property name="value">59</property> <property name="value">59</property>
@@ -2301,7 +2301,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2320,7 +2320,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2345,7 +2345,7 @@
<object class="GtkSpinButton" id="spb_period_1_hour"> <object class="GtkSpinButton" id="spb_period_1_hour">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">23</property> <property name="text">23</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_hours1</property> <property name="adjustment">adjustment_hours1</property>
<property name="value">23</property> <property name="value">23</property>
@@ -2365,7 +2365,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">:</property> <property name="label">:</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2380,7 +2380,7 @@
<object class="GtkSpinButton" id="spb_period_1_minute"> <object class="GtkSpinButton" id="spb_period_1_minute">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="text" translatable="yes">59</property> <property name="text">59</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="adjustment">adjustment_minutes1</property> <property name="adjustment">adjustment_minutes1</property>
<property name="value">59</property> <property name="value">59</property>
@@ -2396,7 +2396,7 @@
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">-</property> <property name="label">-</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2415,7 +2415,7 @@
<property name="margin-right">8</property> <property name="margin-right">8</property>
<property name="margin-start">8</property> <property name="margin-start">8</property>
<property name="margin-end">8</property> <property name="margin-end">8</property>
<property name="label" translatable="yes">00:00</property> <property name="label">00:00</property>
<attributes> <attributes>
<attribute name="size" value="20480"/> <attribute name="size" value="20480"/>
</attributes> </attributes>
@@ -2553,7 +2553,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="label" translatable="yes">Dynamic Background color</property> <property name="label" translatable="yes">Login Screen</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
</attributes> </attributes>
@@ -2564,6 +2564,80 @@
<property name="position">2</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkListBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<property name="activate-on-single-click">False</property>
<child>
<object class="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">12</property>
<property name="margin-right">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Set the background image as Login Screen background</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="sw_login_image">
<property name="visible">True</property>
<property name="can-focus">True</property>
<signal name="state-set" handler="on_sw_login_image_state_set" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Dynamic Background color</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
@@ -2602,6 +2676,7 @@
<object class="GtkSwitch" id="sw_dynamic_background_color"> <object class="GtkSwitch" id="sw_dynamic_background_color">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<signal name="state-set" handler="on_sw_dynamic_background_color_state_set" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@@ -2618,7 +2693,7 @@
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="padding">3</property> <property name="padding">3</property>
<property name="position">3</property> <property name="position">5</property>
</packing> </packing>
</child> </child>
<child> <child>
@@ -2630,7 +2705,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">4</property> <property name="position">6</property>
</packing> </packing>
</child> </child>
</object> </object>
@@ -2850,7 +2925,7 @@
<property name="margin-end">12</property> <property name="margin-end">12</property>
<property name="margin-top">12</property> <property name="margin-top">12</property>
<property name="margin-bottom">12</property> <property name="margin-bottom">12</property>
<property name="label" translatable="yes">Do you find an issue? Or want a new feature? Go to the GitHub repository and create a new issue. If you find an error message in the logs above, add it to the issue report.</property> <property name="label" translatable="yes">Do you find an issue? Or want a new feature? Go to the GitHub repository and create a new issue.</property>
</object> </object>
</child> </child>
</object> </object>

View File

@@ -5,7 +5,7 @@
}, },
"picture_aspect": { "picture_aspect": {
"type": "generic", "type": "generic",
"default": "scaled" "default": "zoom"
}, },
"dynamic_background_color": { "dynamic_background_color": {
"type": "generic", "type": "generic",
@@ -130,5 +130,9 @@
"period_9_custom_start_time": { "period_9_custom_start_time": {
"type": "generic", "type": "generic",
"default": "21:00" "default": "21:00"
},
"login_image": {
"type": "generic",
"default": false
} }
} }

View File

@@ -1,6 +1,6 @@
#!/usr/bin/python3 #!/usr/bin/python3
import sys, datetime import sys
from view.main_window import * from view.main_window import *
from model.main_view_model import * from model.main_view_model import *
@@ -13,5 +13,6 @@ if __name__ == "__main__":
elif sys.argv[1] == "loop": elif sys.argv[1] == "loop":
# Run the methods which updates the data # Run the methods which updates the data
view_model = Main_View_Model() view_model = Main_View_Model()
view_model.set_login_image()
view_model.refresh_image() view_model.refresh_image()
view_model.set_background_gradient() view_model.set_background_gradient()

View File

@@ -1,13 +1,18 @@
import os, time # GTK
from PIL import Image
from gi.repository import Gio, Gdk from gi.repository import Gio, Gdk
# Packages
import os, time, locale, subprocess, getpass
from PIL import Image
# Local scripts
from service.cinnamon_pref_handler import * from service.cinnamon_pref_handler import *
from service.suntimes import * from service.suntimes import *
from service.time_bar_chart import * from service.time_bar_chart import *
from service.location import * from service.location import *
from enums.PeriodSourceEnum import * from enums.PeriodSourceEnum import *
class Main_View_Model: class Main_View_Model:
""" The main ViewModel for the application """ The main ViewModel for the application
""" """
@@ -38,6 +43,13 @@ class Main_View_Model:
self.background_settings = Gio.Settings.new("org.cinnamon.desktop.background") self.background_settings = Gio.Settings.new("org.cinnamon.desktop.background")
# Language support
self.UUID = "cinnamon-dynamic-wallpaper@TobiZog"
self.localeDir = os.path.expanduser("~") + "/.local/share/locale"
locale.bindtextdomain(self.UUID, self.localeDir)
# Other Variables # Other Variables
self.display = Gdk.Display.get_default() self.display = Gdk.Display.get_default()
self.screen_height = self.display.get_monitor(0).get_geometry().height self.screen_height = self.display.get_monitor(0).get_geometry().height
@@ -109,8 +121,6 @@ class Main_View_Model:
hour = raw_str[0:raw_str.find(":")] hour = raw_str[0:raw_str.find(":")]
minute = raw_str[raw_str.find(":") + 1:] minute = raw_str[raw_str.find(":") + 1:]
time(1, 2)
return time(hour=int(hour), minute=int(minute)) return time(hour=int(hour), minute=int(minute))
@@ -171,9 +181,20 @@ class Main_View_Model:
self.current_image_uri = self.cinnamon_prefs.source_folder + self.cinnamon_prefs.period_images[i] self.current_image_uri = self.cinnamon_prefs.source_folder + self.cinnamon_prefs.period_images[i]
break break
# Set the background # Update the background
self.background_settings['picture-uri'] = "file://" + self.current_image_uri self.background_settings['picture-uri'] = "file://" + self.current_image_uri
# Update the login_image
if self.cinnamon_prefs.login_image:
# Create the folder in /tmp
directory = '/usr/share/pixmaps/cinnamon_dynamic_wallpaper'
if not os.path.isdir(directory):
subprocess.run(['pkexec', 'install', '-o', getpass.getuser(), '-d', directory])
# Copy the current image to the temp folder for the login screen
os.system("cp " + self.current_image_uri + " " + directory + "/login_image.jpg")
# Set background stretching # Set background stretching
self.background_settings['picture-options'] = self.cinnamon_prefs.picture_aspect self.background_settings['picture-options'] = self.cinnamon_prefs.picture_aspect
@@ -257,3 +278,43 @@ class Main_View_Model:
except: except:
self.background_settings['primary-color'] = "#000000" self.background_settings['primary-color'] = "#000000"
self.background_settings['secondary-color'] = "#000000" self.background_settings['secondary-color'] = "#000000"
def set_login_image(self):
""" Writes a path to file in /tmp/cinnamon_dynamic_wallpaper to display the wallpaper on the login screen
"""
# New config file content
file_content = ""
# Location of the config file
file_location = self.WORKING_DIR + "/slick-greeter.conf"
if self.cinnamon_prefs.login_image:
self.refresh_image()
if os.path.isfile("/etc/lightdm/slick-greeter.conf"):
# File already exists, make a copy of the config
with open("/etc/lightdm/slick-greeter.conf", "r") as conf_file:
for line in conf_file.readlines():
if not line.startswith("background"):
file_content += line
elif line.endswith("cinnamon_dynamic_wallpaper/login_image.jpg"):
# Skip the configuration. It's already perfect!
return
else:
# File doesn't exists
file_content = "[Greeter]\n"
file_content += "background=/usr/share/pixmaps/cinnamon_dynamic_wallpaper/login_image.jpg"
# Create the file
with open(file_location, "w") as conf_file:
conf_file.write(file_content)
conf_file.close()
# Move it to /etc/lightdm
if os.path.isfile("/etc/lightdm/slick-greeter.conf"):
subprocess.call(['pkexec', 'rm', '/etc/lightdm/slick-greeter.conf', 'mv', file_location, '/etc/lightdm/'])
else:
subprocess.call(['pkexec', 'mv', file_location, '/etc/lightdm/'])

View File

@@ -11,7 +11,7 @@ class Cinnamon_Pref_Handler:
self.load_preferences() self.load_preferences()
def extract_json(self, parameter: str) -> str: def extract_json(self, parameter: str) -> any:
""" Get a parameter from the json dictionary safely """ Get a parameter from the json dictionary safely
Args: Args:
@@ -32,6 +32,7 @@ class Cinnamon_Pref_Handler:
with open(self.pref_location, "r") as pref_file: with open(self.pref_location, "r") as pref_file:
self.pref_data = json.load(pref_file) self.pref_data = json.load(pref_file)
self.first_start = self.extract_json('first_start')
self.picture_aspect = self.extract_json('picture_aspect') self.picture_aspect = self.extract_json('picture_aspect')
self.dynamic_background_color = self.extract_json('dynamic_background_color') self.dynamic_background_color = self.extract_json('dynamic_background_color')
self.image_source = self.extract_json('image_source') self.image_source = self.extract_json('image_source')
@@ -51,13 +52,13 @@ class Cinnamon_Pref_Handler:
self.extract_json('period_9_image') self.extract_json('period_9_image')
] ]
self.period_source =self.extract_json('period_source') self.period_source = self.extract_json('period_source')
self.location_refresh_intervals =self.extract_json('location_refresh_intervals') self.location_refresh_intervals = self.extract_json('location_refresh_intervals')
self.network_location_provider =self.extract_json('network_location_provider') self.network_location_provider = self.extract_json('network_location_provider')
self.latitude_auto =self.extract_json('latitude_auto') self.latitude_auto = self.extract_json('latitude_auto')
self.longitude_auto =self.extract_json('longitude_auto') self.longitude_auto = self.extract_json('longitude_auto')
self.latitude_custom =self.extract_json('latitude_custom') self.latitude_custom = self.extract_json('latitude_custom')
self.longitude_custom =self.extract_json('longitude_custom') self.longitude_custom = self.extract_json('longitude_custom')
self.period_custom_start_time = [ self.period_custom_start_time = [
self.extract_json('period_0_custom_start_time'), self.extract_json('period_0_custom_start_time'),
@@ -72,6 +73,8 @@ class Cinnamon_Pref_Handler:
self.extract_json('period_9_custom_start_time') self.extract_json('period_9_custom_start_time')
] ]
self.login_image = self.extract_json('login_image')
def value_to_json(self, parameter: str, value: str): def value_to_json(self, parameter: str, value: str):
""" Storing safely a value to the dictionary """ Storing safely a value to the dictionary
@@ -93,6 +96,7 @@ class Cinnamon_Pref_Handler:
def store_preferences(self): def store_preferences(self):
""" Store the values of the Preference object to the JSON file """ Store the values of the Preference object to the JSON file
""" """
self.value_to_json('first_start', self.first_start)
self.value_to_json('picture_aspect', self.picture_aspect) self.value_to_json('picture_aspect', self.picture_aspect)
self.value_to_json('dynamic_background_color', self.dynamic_background_color) self.value_to_json('dynamic_background_color', self.dynamic_background_color)
self.value_to_json('image_source', self.image_source) self.value_to_json('image_source', self.image_source)
@@ -125,6 +129,7 @@ class Cinnamon_Pref_Handler:
self.value_to_json('period_7_custom_start_time', self.period_custom_start_time[7]) self.value_to_json('period_7_custom_start_time', self.period_custom_start_time[7])
self.value_to_json('period_8_custom_start_time', self.period_custom_start_time[8]) self.value_to_json('period_8_custom_start_time', self.period_custom_start_time[8])
self.value_to_json('period_9_custom_start_time', self.period_custom_start_time[9]) self.value_to_json('period_9_custom_start_time', self.period_custom_start_time[9])
self.value_to_json('login_image', self.login_image)
# Write to file # Write to file

View File

@@ -1,5 +1,5 @@
from math import pi, sin, asin, acos, cos, floor, atan, tan from math import pi, sin, asin, acos, cos, floor, atan, tan
from datetime import datetime, timezone, time from datetime import datetime, timezone, time, timedelta
class Suntimes: class Suntimes:
@@ -55,7 +55,7 @@ class Suntimes:
civial_dusk_start = self.calc_sunrise_sunset_time(False) civial_dusk_start = self.calc_sunrise_sunset_time(False)
night_start = self.calc_sunrise_sunset_time(False, 96) night_start = self.calc_sunrise_sunset_time(False, 96)
light_period_duration = (sunset_start - morning_start) / 8 light_period_duration = timedelta(seconds=(sunset_start - morning_start).seconds / 8)
noon_start = morning_start + 3 * light_period_duration noon_start = morning_start + 3 * light_period_duration
afternoon_start = morning_start + 5 * light_period_duration afternoon_start = morning_start + 5 * light_period_duration

View File

@@ -9,7 +9,7 @@ from gi.repository import Gtk, GdkPixbuf
# Packages # Packages
import subprocess, threading, time import subprocess, threading, time
from datetime import timedelta, datetime, date from datetime import timedelta, datetime
# Local scripts # Local scripts
from model.main_view_model import * from model.main_view_model import *
@@ -34,6 +34,7 @@ class Main_Window:
# Glade # Glade
self.builder = Gtk.Builder() self.builder = Gtk.Builder()
self.builder.set_translation_domain(self.view_model.UUID)
self.builder.add_from_file(self.view_model.GLADE_URI) self.builder.add_from_file(self.view_model.GLADE_URI)
self.builder.connect_signals(self) self.builder.connect_signals(self)
@@ -149,6 +150,7 @@ class Main_Window:
# Page 3: Behaviour # Page 3: Behaviour
self.cb_picture_aspect: Gtk.ComboBox = self.builder.get_object("cb_picture_aspect") self.cb_picture_aspect: Gtk.ComboBox = self.builder.get_object("cb_picture_aspect")
self.sw_dynamic_background_color: Gtk.Switch = self.builder.get_object("sw_dynamic_background_color") self.sw_dynamic_background_color: Gtk.Switch = self.builder.get_object("sw_dynamic_background_color")
self.sw_login_image: Gtk.Switch = self.builder.get_object("sw_login_image")
def show(self): def show(self):
@@ -177,6 +179,7 @@ class Main_Window:
self.add_items_to_combo_box(self.cb_picture_aspect, self.view_model.picture_aspects) self.add_items_to_combo_box(self.cb_picture_aspect, self.view_model.picture_aspects)
self.set_active_combobox_item(self.cb_picture_aspect, self.view_model.cinnamon_prefs.picture_aspect) self.set_active_combobox_item(self.cb_picture_aspect, self.view_model.cinnamon_prefs.picture_aspect)
self.sw_dynamic_background_color.set_active(self.view_model.cinnamon_prefs.dynamic_background_color) self.sw_dynamic_background_color.set_active(self.view_model.cinnamon_prefs.dynamic_background_color)
self.sw_login_image.set_active(self.view_model.cinnamon_prefs.login_image)
# Show the main window # Show the main window
@@ -693,6 +696,16 @@ class Main_Window:
self.view_model.cinnamon_prefs.dynamic_background_color = state self.view_model.cinnamon_prefs.dynamic_background_color = state
def on_sw_login_image_state_set(self, _: Gtk.Switch, state: bool):
""" User switches login background image on or off
Args:
_ (Gtk.Switch): Used Switch
state (bool): Current state
"""
self.view_model.cinnamon_prefs.login_image = state
# About # About
def on_cinnamon_spices_website_button_clicked(self, _: Gtk.Button): def on_cinnamon_spices_website_button_clicked(self, _: Gtk.Button):
@@ -746,6 +759,7 @@ class Main_Window:
# Use the new settings # Use the new settings
self.view_model.refresh_image() self.view_model.refresh_image()
self.view_model.set_background_gradient() self.view_model.set_background_gradient()
self.view_model.set_login_image()
def on_destroy(self, *args): def on_destroy(self, *args):

View File

@@ -3,7 +3,7 @@
"uuid": "cinnamon-dynamic-wallpaper@TobiZog", "uuid": "cinnamon-dynamic-wallpaper@TobiZog",
"name": "Cinnamon Dynamic Wallpaper", "name": "Cinnamon Dynamic Wallpaper",
"description": "Cinnamon extension for dynamic desktop backgrounds based on time and location", "description": "Cinnamon extension for dynamic desktop backgrounds based on time and location",
"version": "2.2", "version": "2.4",
"multiversion": true, "multiversion": true,
"cinnamon-version": [ "cinnamon-version": [
"5.4", "5.4",

View File

@@ -0,0 +1,263 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: cinnamon-dynamic-wallpaper@TobiZog 2.4\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-15 18:38+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr ""
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr ""
#: 5.4/extension.js:113
msgid "Error!"
msgstr ""
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
#: 5.4/extension.js:139
msgid "Open settings"
msgstr ""
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr ""
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr ""
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr ""
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr ""
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr ""
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr ""
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr ""
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr ""
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr ""
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr ""
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr ""
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr ""
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr ""
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr ""
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr ""
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr ""
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr ""
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr ""
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr ""
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr ""
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr ""
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr ""
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr ""
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr ""
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr ""
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr ""
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr ""
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr ""
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr ""
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr ""
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr ""
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr ""
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr ""
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr ""
#: 5.4/res/preferences.glade:2556
msgid "Login Screen"
msgstr ""
#: 5.4/res/preferences.glade:2593
msgid "Set the background image as Login Screen background"
msgstr ""
#: 5.4/res/preferences.glade:2630
msgid "Dynamic Background color"
msgstr ""
#: 5.4/res/preferences.glade:2667
msgid "Use dynamic Background color to create a gradient"
msgstr ""
#: 5.4/res/preferences.glade:2714
msgid "Behaviour"
msgstr ""
#: 5.4/res/preferences.glade:2733
msgid "About the project"
msgstr ""
#: 5.4/res/preferences.glade:2762
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
#: 5.4/res/preferences.glade:2781
msgid "Developed by TobiZog"
msgstr ""
#: 5.4/res/preferences.glade:2798
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
#: 5.4/res/preferences.glade:2809
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr ""
#: 5.4/res/preferences.glade:2834
msgid "Source Code"
msgstr ""
#: 5.4/res/preferences.glade:2863
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
#: 5.4/res/preferences.glade:2874
msgid "Source Code on GitHub"
msgstr ""
#: 5.4/res/preferences.glade:2899
msgid "Issues and Enhancements"
msgstr ""
#: 5.4/res/preferences.glade:2928
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
#: 5.4/res/preferences.glade:2939
msgid "Create a new issue on GitHub"
msgstr ""
#: 5.4/res/preferences.glade:2964
msgid "About"
msgstr ""
#: 5.4/res/preferences.glade:2992
msgid "Apply and close this window"
msgstr ""
#: 5.4/res/preferences.glade:3004
msgid "Apply the settings without closing this window"
msgstr ""

View File

@@ -0,0 +1,281 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: cinnamon-dynamic-wallpaper@TobiZog 2.2\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-15 18:38+0100\n"
"PO-Revision-Date: 2024-02-15 18:39+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr "Willkommen zu Cinnamon Dynamic Wallpaper"
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr "Öffne die Einstellungen und konfiguriere die Erweiterung"
#: 5.4/extension.js:113
msgid "Error!"
msgstr "Fehler!"
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
"Cinnamon Dynamic Wallpaper hat ein Problem beim Aufruf des loop-Skripts "
"festgestellt. Bitte wende dich an den Entwickler via GitHub."
#: 5.4/extension.js:139
msgid "Open settings"
msgstr "Einstellungen öffnen"
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr "Cinnamon Dynamic Wallpaper"
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr ""
"Cinnamon Erweiterung für dynamische Desktop Hintergründe basierend auf Zeit "
"und Ort"
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr "Bildquelle"
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr "Bildset"
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr "HEIC-Datei"
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr "Quell-Ordner"
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr "Wähle ein Bildset aus"
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr "Wähle eine HEIC-Datei zum importieren aus"
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr "Wähle einen Quell-Ordner aus"
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr "Öffne Datei-Auswahl Dialog"
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr "Bildauswahl"
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr "Bild-Konfigurator"
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr "Zeit-Slot-Bestimmung"
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr "Netzwerk-Standort verwenden"
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr "Benutzerdefinierter Standort"
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr "Benutzerdefinierte Zeit-Slots"
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr "Standort-Bestimmung"
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr "Standort-Update-Zeit (in min)"
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr "Standort-Anbieter"
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr "Breitengrad"
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr "Längengrad"
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr "Periode 1"
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr "Periode 2"
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr "Periode 3"
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr "Periode 4"
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr "Periode 5"
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr "Periode 6"
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr "Periode 7"
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr "Periode 9"
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr "Periode 8"
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr "Periode 10"
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr "Ort und Zeit"
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr "Skalierung"
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr "Bild Skalierung"
#: 5.4/res/preferences.glade:2556
msgid "Login Screen"
msgstr "Anmeldefenster"
#: 5.4/res/preferences.glade:2593
msgid "Set the background image as Login Screen background"
msgstr "Verwende das Desktop-Hintergrundbild auch für den Anmeldebildschirm"
#: 5.4/res/preferences.glade:2630
msgid "Dynamic Background color"
msgstr "Dynamische Hintergrundfarbe"
#: 5.4/res/preferences.glade:2667
msgid "Use dynamic Background color to create a gradient"
msgstr ""
"Verwende eine dynamische Hintergrundfarbe um einen Farbgradienten zu "
"erstellen"
#: 5.4/res/preferences.glade:2714
msgid "Behaviour"
msgstr "Verhalten"
#: 5.4/res/preferences.glade:2733
msgid "About the project"
msgstr "Über das Projekt"
#: 5.4/res/preferences.glade:2762
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
"Basierend auf dem Standort oder selbst-definierten Zeitslots berechnet diese "
"Extension die Tagesabschnitte und tauscht das Hintergrundbild auf dem "
"Cinnamon Desktop aus. Die Extension bietet als Bildquelle mehrere "
"vorkonfigurierte Wallpaper-Sets, die Möglichkeit eigene HEIC-Dateien zu "
"importieren oder beliebige Bilder aus einem Ordner zu verwenden."
#: 5.4/res/preferences.glade:2781
msgid "Developed by TobiZog"
msgstr "Entwickelt von TobiZog"
#: 5.4/res/preferences.glade:2798
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
"Für weitere Informationen oder wenn du die Erweiterung bewerten willst, "
"kannst du die Cinnamon Spices Webseite besuchen."
#: 5.4/res/preferences.glade:2809
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr "Cinnamon Dynamic Wallpaper auf der Cinnamon Spices Webseite"
#: 5.4/res/preferences.glade:2834
msgid "Source Code"
msgstr "Quellcode"
#: 5.4/res/preferences.glade:2863
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
"Dieses Projekt ist quelloffen (Open Source). Du kannst den kompletten Code "
"auf GitHub einsehen."
#: 5.4/res/preferences.glade:2874
msgid "Source Code on GitHub"
msgstr "Quellcode auf GitHub"
#: 5.4/res/preferences.glade:2899
msgid "Issues and Enhancements"
msgstr "Probleme und Verbesserungen"
#: 5.4/res/preferences.glade:2928
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
"Hast du ein Problem entdeckt? Oder hättest du gerne ein Feature "
"implementiert? Besuche das GitHub Repository und erstelle ein Ticket."
#: 5.4/res/preferences.glade:2939
msgid "Create a new issue on GitHub"
msgstr "Erstelle ein Ticket auf GitHub (auf Englisch)"
#: 5.4/res/preferences.glade:2964
msgid "About"
msgstr "Über"
#: 5.4/res/preferences.glade:2992
msgid "Apply and close this window"
msgstr "Anwenden und das Fenster schließen"
#: 5.4/res/preferences.glade:3004
msgid "Apply the settings without closing this window"
msgstr "Anwenden ohne das Fenster zu schließen"

View File

@@ -0,0 +1,274 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-12 12:12+0100\n"
"PO-Revision-Date: 2024-02-12 10:34-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.2\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr "Bienvenido al Fondo de pantalla dinámico de Cinnamon"
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr "Compruebe las preferencias para elegir un fondo de pantalla dinámico"
#: 5.4/extension.js:113
msgid "Error!"
msgstr "¡Error!"
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
"Fondo de pantalla dinámico de Cinnamon obtuvo un error al ejecutar el script "
"de bucle. Por favor, cree una incidencia en GitHub."
#: 5.4/extension.js:139
msgid "Open settings"
msgstr "Abrir configuración"
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr "Fondo de pantalla dinámico de Cinnamon"
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr ""
"Extensión de Cinnamon para fondos de pantalla dinámicos según la hora y la "
"ubicación"
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr "Fuente de la imagen"
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr "Conjunto de imágenes"
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr "Archivo HEIC"
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr "Carpeta de origen"
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr "Seleccione un conjunto de imágenes"
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr "Seleccione un archivo heic para importar"
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr "Seleccione una carpeta de origen"
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr "Abrir cuadro de diálogo de selección de archivos"
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr "Selección de imagen"
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr "Configuración de las imágenes"
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr "Estimación de los periodos"
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr "Utilizar la ubicación de la red"
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr "Ubicación personalizada"
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr "Periodos de tiempo personalizados"
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr "Estimación de ubicación"
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr ""
"Intervalo de tiempo para actualizar la ubicación a través de la red (min)"
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr "Proveedor de la ubicación"
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr "Latitud"
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr "Longitud"
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr "Periodo 1"
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr "Periodo 2"
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr "Periodo 3"
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr "Periodo 4"
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr "Periodo 5"
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr "Periodo 6"
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr "Periodo 7"
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr "Periodo 8"
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr "Periodo 9"
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr "Periodo 10"
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr "Ubicación y Horarios"
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr "Escalado"
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr "Aspecto de la imagen"
#: 5.4/res/preferences.glade:2556
msgid "Dynamic Background color"
msgstr "Color de fondo dinámico"
#: 5.4/res/preferences.glade:2593
msgid "Use dynamic Background color to create a gradient"
msgstr "Utilice un color de fondo dinámico para crear un degradado"
#: 5.4/res/preferences.glade:2639
msgid "Behaviour"
msgstr "Comportamiento"
#: 5.4/res/preferences.glade:2658
msgid "About the project"
msgstr "Acerca del proyecto"
#: 5.4/res/preferences.glade:2687
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
"Basándose en una ubicación o por elección del usuario, esta extensión "
"calcula los periodos de un día y cambia la imagen de fondo de su escritorio "
"Cinnamon. La extensión ofrece como fuentes de imagen un conjunto de fondos "
"de pantalla preconfigurados, una imagen heic importada por el usuario o una "
"carpeta personalizada con imágenes individuales."
#: 5.4/res/preferences.glade:2706
msgid "Developed by TobiZog"
msgstr "Desarrollado por TobiZog"
#: 5.4/res/preferences.glade:2723
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
"Si necesita más información o desea valorar la extensión, puede visitar el "
"sitio web de Cinnamon Spices."
#: 5.4/res/preferences.glade:2734
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr ""
"Fondo de pantalla dinámico de Cinnamon en el sitio web de Cinnamon Spices"
#: 5.4/res/preferences.glade:2759
msgid "Source Code"
msgstr "Código fuente"
#: 5.4/res/preferences.glade:2788
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
"Este proyecto es de código abierto. Puede echar un vistazo al código fuente "
"completo de esta extensión en GitHub."
#: 5.4/res/preferences.glade:2799
msgid "Source Code on GitHub"
msgstr "Código fuente en GitHub"
#: 5.4/res/preferences.glade:2824
msgid "Issues and Enhancements"
msgstr "Problemas y mejoras"
#: 5.4/res/preferences.glade:2853
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
"¿Ha encontrado algún problema? ¿O quieres una nueva funcionalidad? Ve al "
"repositorio de GitHub y crea una nueva incidencia. Si encuentras un mensaje "
"de error en los registros anteriores, añádelo al informe de incidencias."
#: 5.4/res/preferences.glade:2864
msgid "Create a new issue on GitHub"
msgstr "Crear una nueva incidencia en GitHub"
#: 5.4/res/preferences.glade:2889
msgid "About"
msgstr "Acerca de"
#: 5.4/res/preferences.glade:2917
msgid "Apply and close this window"
msgstr "Aplicar y cerrar esta ventana"
#: 5.4/res/preferences.glade:2929
msgid "Apply the settings without closing this window"
msgstr "Aplicar los ajustes sin cerrar esta ventana"

View File

@@ -0,0 +1,269 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: cinnamon-dynamic-wallpaper@TobiZog 2.3\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-12 12:12+0100\n"
"PO-Revision-Date: 2024-02-15 15:38+0100\n"
"Last-Translator: Vajda Örs <ors0092@gmail.com>\n"
"Language-Team: \n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr "Üdvözöljük a Cinnamon Dinamikus Háttérkép alkalmazásban"
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr "Ellenőrizze a beállításokat a dinamikus háttér kiválasztásához"
#: 5.4/extension.js:113
msgid "Error!"
msgstr "Hiba!"
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
"A Cinnamon Dinamikus Háttérkép hibába ütközött a ciklusszkript futtatása "
"során. Kérem készítsen egy hibajegyet a GitHub-on."
#: 5.4/extension.js:139
msgid "Open settings"
msgstr "Beállítások megnyitása"
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr "Cinnamon Dinamikus Háttérkép"
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr "Cinnamon bővítmény dinamikus asztali hátterekhez idő és hely alapján"
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr "Képforrás"
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr "Kép kollekció"
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr "HEIC fájl"
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr "Forrás Könyvtár"
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr "Válasszon ki egy kép kollekciót"
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr "Válasszon ki egy heic fájlt az importáláshoz"
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr "Válassza ki a forrás könyvtárat"
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr "fájlkiválasztó párbeszédpanel megnyitása"
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr "Kép Kiválasztása"
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr "Kép Beállítások"
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr "Periódus becslés"
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr "Hálózati helyzetfelismerés használata"
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr "Egyéni helyszín"
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr "Egyéni idő periódusok"
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr "Helyzet becslése"
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr "Helyzet frissítésének időköze (perc)"
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr "Helyszolgáltató"
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr "Szélességi kör"
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr "Hosszúság"
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr "Időszak 1"
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr "Időszak 2"
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr "Időszak 3"
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr "Időszak 4"
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr "Időszak 5"
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr "Időszak 6"
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr "Időszak 7"
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr "Időszak 9"
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr "Időszak 8"
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr "Időszak 10"
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr "Hely és idő"
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr "Skálázás"
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr "Képarány"
#: 5.4/res/preferences.glade:2556
msgid "Dynamic Background color"
msgstr "Dinamikus háttérszín"
#: 5.4/res/preferences.glade:2593
msgid "Use dynamic Background color to create a gradient"
msgstr "Használjon dinamikus háttérszínt színátmenet létrehozásához"
#: 5.4/res/preferences.glade:2639
msgid "Behaviour"
msgstr "Viselkedés"
#: 5.4/res/preferences.glade:2658
msgid "About the project"
msgstr "A projektről"
#: 5.4/res/preferences.glade:2687
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
"Egy adott hely alapján, vagy a felhasználó által választott hely szerint ez "
"az bővítmény kiszámítja a nap különböző időszakait, és megváltoztatja a "
"háttérképet a Cinnamon asztalon. A bővítmény lehetőséget biztosít előre "
"beállított háttérképek, a felhasználó által importált heic képek vagy egyéni "
"mappában található egyedi képek használatára, háttérképként."
#: 5.4/res/preferences.glade:2706
msgid "Developed by TobiZog"
msgstr "TobiZog által fejlesztve"
#: 5.4/res/preferences.glade:2723
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
"Ha további információra van szüksége, vagy értékelni szeretné a bővítményt, "
"keresse fel a Cinnamon Spices webhelyet."
#: 5.4/res/preferences.glade:2734
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr "Cinnamon Dinamikus Háttérkép a Cinnamon Spices webhelyen"
#: 5.4/res/preferences.glade:2759
msgid "Source Code"
msgstr "Forráskód"
#: 5.4/res/preferences.glade:2788
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
"Ez a projekt nyílt forráskódú. A GitHubon megtekintheti a bővítmény teljes "
"forráskódját."
#: 5.4/res/preferences.glade:2799
msgid "Source Code on GitHub"
msgstr "Forráskód a GitHubon"
#: 5.4/res/preferences.glade:2824
msgid "Issues and Enhancements"
msgstr "Problémák és fejlesztések"
#: 5.4/res/preferences.glade:2853
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
"Problémát talált? Vagy új funkciót szeretne? Nyissa meg a GitHub-tárat, és "
"hozzon létre egy új bejelentést."
#: 5.4/res/preferences.glade:2864
msgid "Create a new issue on GitHub"
msgstr "Hozzon létre egy új bejentést a GitHubon"
#: 5.4/res/preferences.glade:2889
msgid "About"
msgstr "Névjegy"
#: 5.4/res/preferences.glade:2917
msgid "Apply and close this window"
msgstr "Alkalmazza és zárja be ezt az ablakot"
#: 5.4/res/preferences.glade:2929
msgid "Apply the settings without closing this window"
msgstr "Alkalmazza a beállításokat az ablak bezárása nélkül"

View File

@@ -0,0 +1,280 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: cinnamon-dynamic-wallpaper@TobiZog 2.2\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-15 18:38+0100\n"
"PO-Revision-Date: 2024-02-15 18:42+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr "Welkom op Cinnamon Dynamic Wallpaper"
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr "Controleer de voorkeuren om een dynamische achtergrond te kiezen"
#: 5.4/extension.js:113
msgid "Error!"
msgstr "Fout!"
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
"Cinnamon Dynamic Wallpaper kreeg een fout tijdens het uitvoeren van het loop-"
"script. Maak een ticket aan op GitHub."
#: 5.4/extension.js:139
msgid "Open settings"
msgstr "Instellingen openen"
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr "Cinnamon Dynamic Wallpaper"
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr ""
"Cinnamon extensie voor dynamische bureaublad achtergronden op basis van tijd "
"en locatie"
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr "Afbeeldingsbron"
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr "Afbeeldingset"
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr "HEIC-bestand"
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr "Bronmap"
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr "Selecteer een afbeeldingsset"
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr "Selecteer een heic-bestand om te importeren"
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr "Selecteer een bronmap"
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr "Dialoogvenster voor bestandsselectie openen"
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr "Beeldselectie"
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr "Afbeeldingsconfiguratie"
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr "Periodeschatting"
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr "Gebruik netwerklocatie"
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr "Aangepaste locatie"
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr "Aangepaste tijdsperioden"
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr "Schatting van locatie"
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr "Intervaltijd voor het vernieuwen van de locatie via netwerk (min)"
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr "Locatieaanbieder"
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr "Breedtegraad"
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr "Lengtegraad"
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr "Periode 1"
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr "Periode 2"
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr "Periode 3"
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr "Periode 4"
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr "Periode 5"
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr "Periode 6"
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr "Periode 7"
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr "Periode 9"
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr "Periode 8"
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr "Periode 10"
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr "Locatie & Tijden"
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr "Schaalvergroting"
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr "Beeldaspect"
#: 5.4/res/preferences.glade:2556
msgid "Login Screen"
msgstr "Log in scherm"
#: 5.4/res/preferences.glade:2593
msgid "Set the background image as Login Screen background"
msgstr "Stel de achtergrondafbeelding in als achtergrond van het inlogscherm"
#: 5.4/res/preferences.glade:2630
msgid "Dynamic Background color"
msgstr "Dynamische achtergrond kleur"
#: 5.4/res/preferences.glade:2667
msgid "Use dynamic Background color to create a gradient"
msgstr ""
"Gebruik een dynamische achtergrondkleur om een kleur verloop te creëren"
#: 5.4/res/preferences.glade:2714
msgid "Behaviour"
msgstr "Gedrag"
#: 5.4/res/preferences.glade:2733
msgid "About the project"
msgstr "Over het project"
#: 5.4/res/preferences.glade:2762
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
"Op basis van een locatie of gebruikerskeuze berekent deze extensie de "
"perioden van een dag en verandert de achtergrondafbeelding van uw Cinnamon-"
"bureaublad. De extensie biedt als afbeeldingsbronnen een reeks vooraf "
"geconfigureerde achtergronden, een heic-afbeeldingsimport door de gebruiker "
"of een aangepaste map met afzonderlijke afbeeldingen."
#: 5.4/res/preferences.glade:2781
msgid "Developed by TobiZog"
msgstr "Ontwikkeld door TobiZog"
#: 5.4/res/preferences.glade:2798
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
"Als u meer informatie nodig heeft of de extensie wilt beoordelen, kunt u de "
"website van Cinnamon Spices bezoeken."
#: 5.4/res/preferences.glade:2809
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr "Cinnamon Dynamic Wallpaper op Cinnamon Spices Website"
#: 5.4/res/preferences.glade:2834
msgid "Source Code"
msgstr "Broncode"
#: 5.4/res/preferences.glade:2863
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
"Dit project is Open Source. Je kunt de volledige broncode van deze extensie "
"op GitHub bekijken."
#: 5.4/res/preferences.glade:2874
msgid "Source Code on GitHub"
msgstr "Broncode op GitHub"
#: 5.4/res/preferences.glade:2899
msgid "Issues and Enhancements"
msgstr "Problemen en Verbeteringen"
#: 5.4/res/preferences.glade:2928
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
"Vindt jij een probleem? Of wil je een nieuwe functie? Ga naar de GitHub-"
"repository en maak een nieuw ticket."
#: 5.4/res/preferences.glade:2939
msgid "Create a new issue on GitHub"
msgstr "Maak een nieuw ticket op GitHub"
#: 5.4/res/preferences.glade:2964
msgid "About"
msgstr "Over"
#: 5.4/res/preferences.glade:2992
msgid "Apply and close this window"
msgstr "Toepassen en sluit dit venster"
#: 5.4/res/preferences.glade:3004
msgid "Apply the settings without closing this window"
msgstr "Pas de instellingen toe zonder dit venster te sluiten"

View File

@@ -0,0 +1,279 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# blogdron <EMAIL@ADDRESS>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: cinnamon-dynamic-wallpaper@TobiZog 2.3\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-"
"extensions/issues\n"
"POT-Creation-Date: 2024-02-15 18:38+0100\n"
"PO-Revision-Date: 2024-02-15 16:46+0300\n"
"Last-Translator: blogdron\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.4.2\n"
#: 5.4/extension.js:75
msgid "Welcome to Cinnamon Dynamic Wallpaper"
msgstr "Добро пожаловать в Динамические обои"
#: 5.4/extension.js:76
msgid "Check the preferences to choose a dynamic wallpaper"
msgstr "Проверьте настройки, чтобы выбрать динамические обои"
#: 5.4/extension.js:113
msgid "Error!"
msgstr "Ошибка!"
#: 5.4/extension.js:114
msgid ""
"Cinnamon Dynamic Wallpaper got an error while running the loop script. "
"Please create an issue on GitHub."
msgstr ""
"В Динамических Обоях Cinnamon возникла ошибка при запуске сценария цикла. "
"Создайте сообщение на GitHub."
#: 5.4/extension.js:139
msgid "Open settings"
msgstr "Открыть настройки"
#. metadata.json->name
msgid "Cinnamon Dynamic Wallpaper"
msgstr "Динамические Обои (Cinnamon Dynamic Wallpaper)"
#. metadata.json->description
msgid ""
"Cinnamon extension for dynamic desktop backgrounds based on time and location"
msgstr ""
"Расширение Cinnamon для динамических обоев рабочего стола в зависимости от "
"времени суток и местоположения"
#: 5.4/res/preferences.glade:135
msgid "Image Source"
msgstr "Источник изображений"
#: 5.4/res/preferences.glade:186
msgid "Image Set"
msgstr "Установить изображение"
#: 5.4/res/preferences.glade:236
msgid "HEIC file"
msgstr "HEIC файл"
#: 5.4/res/preferences.glade:286
msgid "Source Folder"
msgstr "Каталог изображений"
#: 5.4/res/preferences.glade:336
msgid "Select an image set"
msgstr "Выберите набор изображений"
#: 5.4/res/preferences.glade:379
msgid "Select a heic file to import"
msgstr "Выберите файл heic для импорта"
#: 5.4/res/preferences.glade:430
msgid "Select a source folder"
msgstr "Выберите каталог изображений"
#: 5.4/res/preferences.glade:440
msgid "Open file selection dialog"
msgstr "Открыть диалог выбора файла"
#: 5.4/res/preferences.glade:492
msgid "Image Selection"
msgstr "Выбор изображений"
#: 5.4/res/preferences.glade:930
msgid "Image Configuration"
msgstr "Настройки Изображений"
#: 5.4/res/preferences.glade:948
msgid "Period estimation"
msgstr "Периодичность"
#: 5.4/res/preferences.glade:1001
msgid "Use Network Location"
msgstr "Определить местоположение по сети"
#: 5.4/res/preferences.glade:1051
msgid "Custom Location"
msgstr "Задать местоположение"
#: 5.4/res/preferences.glade:1103
msgid "Custom Time Periods"
msgstr "Задать периодичность"
#: 5.4/res/preferences.glade:1132
msgid "Location estimation"
msgstr "Расчёт местоположения"
#: 5.4/res/preferences.glade:1167
msgid "Interval time to refresh location via network (min)"
msgstr "Интервал обновления местоположения через сеть (мин)."
#: 5.4/res/preferences.glade:1212
msgid "Location provider"
msgstr "Источник определяющий местоположения"
#: 5.4/res/preferences.glade:1274
msgid "Latitude"
msgstr "Широта"
#: 5.4/res/preferences.glade:1317
msgid "Longitude"
msgstr "Долгота"
#: 5.4/res/preferences.glade:1357
msgid "Period 1"
msgstr "Период 1"
#: 5.4/res/preferences.glade:1371
msgid "Period 2"
msgstr "Период 2"
#: 5.4/res/preferences.glade:1385
msgid "Period 3"
msgstr "Период 3"
#: 5.4/res/preferences.glade:1399
msgid "Period 4"
msgstr "Период 4"
#: 5.4/res/preferences.glade:1413
msgid "Period 5"
msgstr "Период 5"
#: 5.4/res/preferences.glade:1914
msgid "Period 6"
msgstr "Период 6"
#: 5.4/res/preferences.glade:1928
msgid "Period 7"
msgstr "Период 7"
#: 5.4/res/preferences.glade:1942
msgid "Period 9"
msgstr "Период 9"
#: 5.4/res/preferences.glade:1956
msgid "Period 8"
msgstr "Период 8"
#: 5.4/res/preferences.glade:1970
msgid "Period 10"
msgstr "Период 10"
#: 5.4/res/preferences.glade:2461
msgid "Location & Times"
msgstr "Местоположение и Время"
#: 5.4/res/preferences.glade:2480
msgid "Scaling"
msgstr "Масштабирование"
#: 5.4/res/preferences.glade:2519
msgid "Picture aspect"
msgstr "Соотношение сторон"
#: 5.4/res/preferences.glade:2556
msgid "Login Screen"
msgstr ""
#: 5.4/res/preferences.glade:2593
msgid "Set the background image as Login Screen background"
msgstr ""
#: 5.4/res/preferences.glade:2630
msgid "Dynamic Background color"
msgstr "Динамический Фоновый цвет"
#: 5.4/res/preferences.glade:2667
msgid "Use dynamic Background color to create a gradient"
msgstr "Используйте динамический цвет фона для создания градиента"
#: 5.4/res/preferences.glade:2714
msgid "Behaviour"
msgstr "Поведение"
#: 5.4/res/preferences.glade:2733
msgid "About the project"
msgstr "О проекте"
#: 5.4/res/preferences.glade:2762
msgid ""
"Based on a location or by user choice, this extensions calculates the "
"periods of a day and switches the background image of your Cinnamon desktop. "
"The extension offers as image sources a set of preconfigured wallpapers, a "
"heic image import by the user or a custom folder with single images."
msgstr ""
"В зависимости от местоположения или по выбору пользователя это расширение "
"рассчитывает периоды дня и переключает фоновое изображение рабочего стола "
"Cinnamon. Расширение предлагает в качестве источников изображений набор "
"предварительно настроенных обоев, импорт изображений Heic пользователем или "
"пользовательский каталог с отдельными изображениями."
#: 5.4/res/preferences.glade:2781
msgid "Developed by TobiZog"
msgstr "Разработано TobiZog"
#: 5.4/res/preferences.glade:2798
msgid ""
"If you need more information or want to rate the extension, you can visit "
"the Cinnamon Spices Website."
msgstr ""
"Если вам нужна дополнительная информация или вы хотите оценить расширение, "
"посетите веб-сайт Cinnamon Spices."
#: 5.4/res/preferences.glade:2809
msgid "Cinnamon Dynamic Wallpaper at Cinnamon Spices Website"
msgstr "Cinnamon Dynamic Wallpaper в Cinnamon Spices Веб-сайт"
#: 5.4/res/preferences.glade:2834
msgid "Source Code"
msgstr "Исходный код"
#: 5.4/res/preferences.glade:2863
msgid ""
"This project is Open Source. You can take a look inside the whole source "
"code of this extension on GitHub."
msgstr ""
"Этот проект с открытым исходным кодом. Вы можете просмотреть весь исходный "
"код этого расширения на GitHub."
#: 5.4/res/preferences.glade:2874
msgid "Source Code on GitHub"
msgstr "Исходный код на GitHub"
#: 5.4/res/preferences.glade:2899
msgid "Issues and Enhancements"
msgstr "Проблемы и улучшения"
#: 5.4/res/preferences.glade:2928
msgid ""
"Do you find an issue? Or want a new feature? Go to the GitHub repository and "
"create a new issue."
msgstr ""
"Вы обнаружили проблему или хотите новую функцию? Перейдите в репозиторий "
"GitHub и создайте новую задачу (issue). Если вы обнаружите сообщение об "
"ошибке в журналах выше, добавьте его в отчет о проблеме."
#: 5.4/res/preferences.glade:2939
msgid "Create a new issue on GitHub"
msgstr "Создайте новую задачу (issue) на GitHub"
#: 5.4/res/preferences.glade:2964
msgid "About"
msgstr "О проекте"
#: 5.4/res/preferences.glade:2992
msgid "Apply and close this window"
msgstr "Применить и закрыть это окно"
#: 5.4/res/preferences.glade:3004
msgid "Apply the settings without closing this window"
msgstr "Применить настройки, не закрывая это окно"